/* Liturgy Apps Brand Kit 2026-10-14 · shared by staff and parish pages. */
@font-face{font-family:Lato;src:url('/fonts/lato/lato-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/fonts/lato/lato-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/fonts/lato/lato-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/fonts/lato/lato-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/fonts/lato/lato-black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:Lato;src:url('/fonts/lato/lato-normal-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
:root{
 --la-navy-900:#1a2e4a;--la-navy-700:#284a70;--la-gold:#a98543;--la-gold-text:#7d5f28;--la-gold-on-navy:#efc572;
 --la-ink:#102033;--la-slate:#5a6b80;--la-line:#dfe5ec;--la-cloud:#f0f2f5;--la-cream:#f7f2e9;--la-white:#fff;
 --la-font:'Lato','Helvetica Neue',Arial,sans-serif;--la-radius-card:22px;--la-radius-input:14px;--la-radius-pill:999px;
 --public-navy:var(--la-navy-900);--public-ink:var(--la-ink);--public-gold:var(--la-gold);--public-cream:var(--la-cream);--public-line:var(--la-line);
 --ink:var(--la-ink);--muted:var(--la-slate);--line:var(--la-line);--brand:var(--la-navy-700);--brand-deep:var(--la-navy-900);--brand-soft:#e9eef5;--bg:var(--la-cloud);--radius:22px;
 --bs-body-font-family:var(--la-font);--bs-body-color:var(--la-ink);--bs-primary:#284a70;--bs-primary-rgb:40,74,112;--bs-link-color:#284a70;--bs-link-hover-color:#1a2e4a;--bs-border-color:#dfe5ec;
 --bs-success-rgb:12,90,72;--bs-danger-rgb:152,45,45;--bs-warning-rgb:122,83,0;
}
body,body.admin-body,body.auth-body,input,button,select,textarea{font-family:var(--la-font)}
body{font-size:16px;line-height:1.55;color:var(--la-ink);background:var(--la-cream)}
h1,h2,h3,h4,h5,h6{font-family:var(--la-font);color:var(--la-ink);font-weight:700;line-height:1.2;letter-spacing:-.02em}
h1,.h1{font-size:clamp(2rem,3.5vw,2.75rem)}h2,.h2{font-size:1.75rem}h3,.h3{font-size:1.375rem}
a{color:var(--la-navy-700);text-underline-offset:.2em}a:hover{color:var(--la-navy-900)}
.text-muted,.text-secondary,.form-text{color:var(--la-slate)!important}.form-text{font-size:.9375rem}
.la-eyebrow,.page-kicker,.public-kicker,.admin-card__meta{color:var(--la-gold-text);font-weight:700;letter-spacing:.12em;font-size:.8125rem;text-transform:uppercase}
.btn,.public-btn-primary,button.btn{border-radius:999px;min-height:46px;padding:10px 24px;font-size:15px;line-height:24px;font-weight:700;box-shadow:none;transition:background-color .18s ease-out,border-color .18s ease-out}
.btn-primary,.public-btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#284a70;--bs-btn-border-color:#284a70;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#1a2e4a;--bs-btn-hover-border-color:#1a2e4a;--bs-btn-active-color:#fff;--bs-btn-active-bg:#1a2e4a;--bs-btn-active-border-color:#1a2e4a;background:#284a70;color:#fff;border-color:#284a70}
.btn-primary:hover,.public-btn-primary:hover{background:#1a2e4a;color:#fff;border-color:#1a2e4a}
.btn-outline-primary,.btn-outline-secondary,.btn-secondary{--bs-btn-color:#284a70;--bs-btn-bg:#fff;--bs-btn-border-color:#dfe5ec;--bs-btn-hover-color:#1a2e4a;--bs-btn-hover-bg:#e9eef5;--bs-btn-hover-border-color:#284a70;--bs-btn-active-color:#fff;--bs-btn-active-bg:#284a70;background:#fff;color:#284a70;border-color:#dfe5ec}
.btn-danger,.btn-outline-danger{--bs-btn-color:#982d2d;--bs-btn-bg:#fdeaea;--bs-btn-border-color:#e8baba;--bs-btn-hover-bg:#982d2d;--bs-btn-hover-color:#fff;--bs-btn-hover-border-color:#982d2d;background:#fdeaea;color:#982d2d;border-color:#e8baba}
.btn-danger:hover,.btn-outline-danger:hover{background:#982d2d;color:#fff}
:focus-visible{outline:3px solid var(--la-navy-700);outline-offset:3px}
.form-control,.form-select,textarea.form-control{border:1px solid var(--la-line);border-radius:14px;min-height:46px;font-size:16px;color:var(--la-ink);background-color:#fff;padding:10px 14px}
.form-control:focus,.form-select:focus{border-color:var(--la-navy-700);box-shadow:0 0 0 4px rgba(40,74,112,.14)}
.form-label{font-weight:700;color:var(--la-ink);margin-bottom:8px}.form-check-input{accent-color:var(--la-navy-700)}
.form-check-input:checked{background-color:var(--la-navy-700);border-color:var(--la-navy-700)}
input[type=checkbox],input[type=radio]{accent-color:var(--la-navy-700)}
.form-check{min-height:44px;display:flex;align-items:center;gap:8px}.form-check .form-check-input{flex-shrink:0}.form-check-label{padding:8px 0}
.card,.admin-card,.public-form-card,.auth-card,.secure-upload-card{background:#fff;border:1px solid var(--la-line);border-radius:22px;box-shadow:0 18px 45px rgba(26,46,74,.07)}
.badge,.status-pill,.workspace-badge{border-radius:999px;font-weight:700}
.alert-success,.text-bg-success,.status-pill--success,.auth-notice--success{color:#0c5a48!important;background:#e5f6ef!important;border-color:#c8e6d8}
.alert-warning,.text-bg-warning{color:#7a5300!important;background:#fdf3dc!important;border-color:#efdfb9}
.alert-danger,.text-bg-danger,.auth-notice--danger{color:#982d2d!important;background:#fdeaea!important;border-color:#e8baba}
.alert-info,.alert-primary,.text-bg-primary,.text-bg-info,.text-bg-secondary{color:#284a70!important;background:#e9eef5!important;border-color:var(--la-line)}
.alert{border-radius:14px}.text-success{color:#0c5a48!important}.text-danger{color:#982d2d!important}
body.admin-body,.admin-layout{background:var(--la-cloud);color:var(--la-ink)}
.sidebar{background:var(--la-navy-900)!important;color:#fff}.sidebar a{color:#fff}.sidebar-brand{padding:24px 20px}
.sidebar-brand__vault{background:none;border:0;box-shadow:none;padding:0;border-radius:0}
.sidebar-brand__vault-mark{width:190px;height:auto;max-width:100%;filter:none}
.sidebar-brand__title{font-family:var(--la-font);font-size:24px;font-weight:700;color:#fff;margin:0}
.sidebar-brand__subtitle{font-size:14px;line-height:1.5;color:#dfe5ec}.sidebar-brand__partner{background:none;box-shadow:none;border:0;padding:0}
.sidebar-brand__partner img{width:144px;max-width:100%;filter:none}.sidebar-brand__eyebrow,.sidebar-section{color:var(--la-gold-on-navy)}
.sidebar-link{min-height:44px;border-radius:10px;font-size:16px}.sidebar-link:hover,.sidebar-link.active{color:var(--la-gold-on-navy);background:rgba(255,255,255,.08);box-shadow:inset 3px 0 var(--la-gold-on-navy)}
.sidebar-link i{font-size:20px;color:inherit}.workspace-badge--super{color:#efc572;background:rgba(239,197,114,.1);border-color:rgba(239,197,114,.3)}
.sidebar .admin-nav__meta{color:#dfe5ec;overflow-wrap:anywhere}.page-header{background:#fff;border-bottom:1px solid var(--la-line)}
.page-header__title{font-size:28px;color:var(--la-ink)}.page-hero{color:var(--la-ink)}.admin-card h2{font-size:24px}
body.auth-body{background:var(--la-navy-900);color:#fff;background-image:none}
.auth-shell{min-height:calc(100vh - 100px);padding:48px 24px;display:flex;align-items:center}
.auth-stage{width:min(100%,1080px);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,440px);gap:64px;align-items:center}
.auth-brand-mark-shell{background:none;border:0;box-shadow:none;border-radius:0;padding:0;margin-bottom:24px;display:block}
.auth-brand-mark{width:260px;max-width:100%;height:auto;margin:0}.auth-brand-copy{max-width:440px;padding:0}
.auth-brand-copy h1{color:#fff;font-size:48px;margin:0 0 24px}.auth-brand-copy p{font-size:18px;line-height:1.65;color:#dfe5ec}.auth-brand-copy .la-eyebrow{color:#efc572;font-size:13px}
.auth-card{padding:32px;color:var(--la-ink)}.auth-card h1{font-size:32px;color:var(--la-ink);margin:0 0 16px}.auth-card p{color:var(--la-slate);font-size:16px}.auth-card .form-label{color:var(--la-ink)}
.auth-inline-link{margin-top:24px;text-align:center}.auth-inline-link a{color:var(--la-navy-700);font-size:16px}
.auth-notice{padding:16px;border-radius:14px;display:flex;gap:12px}.auth-notice__title{font-weight:700;margin:0}.auth-notice__message{margin:4px 0 0}.auth-notice__icon{display:none}
.public-shell::before,.public-shell::after{display:none}.public-body{background:var(--la-cream)}
.public-topbar{background:#fff!important;border-bottom:1px solid var(--la-line)}.public-topbar-inner{min-height:88px;padding:16px 24px;gap:24px}.public-topbar-brand{gap:24px;flex-wrap:wrap}.public-topbar-brand a{color:var(--la-navy-700);font-weight:700}
.public-topbar-logo{max-height:64px;width:auto;object-fit:contain}.public-hero-scene{background:linear-gradient(130deg,#1a2e4a,#284a70);color:#fff}
.public-hero-copy h1,.public-hero-copy .public-brand{color:#fff;font-size:clamp(32px,5vw,56px);line-height:1.12;letter-spacing:-.025em}
.public-hero-copy .public-eyebrow{color:var(--la-gold-on-navy)}.public-hero-text{color:#fff;font-size:18px;line-height:1.65}
.public-hero-copy .public-btn-primary{background:#fff;color:var(--la-navy-900);border-color:#fff}.public-hero-copy .public-btn-primary:hover{background:var(--la-cream)}
.public-form-title{font-size:32px}.public-kicker:before{background:var(--la-gold)}.public-form-card{padding:32px}
.upload-id-choice,.upload-id-source-tab,.upload-id-panel,.upload-id-header,.upload-id-device-card{border-color:var(--la-line)}
.upload-id-choice.is-active{border-color:var(--la-navy-700);background:#e9eef5;box-shadow:0 0 0 1px var(--la-navy-700)}
.upload-id-choice-badge{background:#f1ece4;color:var(--la-gold-text)}.upload-id-choice-art,.upload-id-header__icon{color:var(--la-navy-700);background:#e9eef5}
.secure-upload-card{padding:8px}.secure-upload-badge{color:var(--la-navy-700);background:#e9eef5}.secure-upload-note{color:var(--la-slate)}
body.la-upload-body{background:var(--la-cream)}.secure-upload-shell{min-height:calc(100vh - 100px)}
.la-public-header{background:#fff;border-bottom:1px solid var(--la-line)}.la-public-header>div{max-width:1100px;margin:auto;min-height:88px;padding:16px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px}
.la-parish-logo{max-width:240px;max-height:64px;object-fit:contain}.la-parish-name{font-size:20px;font-weight:700;color:var(--la-navy-900)}
.la-staff-link{font-size:14px;font-weight:700;padding:12px 0;white-space:nowrap}
.la-endorsement{display:flex;align-items:center;justify-content:center;gap:8px;padding:24px;background:#fff;border-top:1px solid var(--la-line);color:var(--la-slate);font-size:14px;min-height:88px}
.la-endorsement a{display:inline-flex;align-items:center;min-height:44px}.la-endorsement img{width:144px;height:auto;display:block;filter:none}
.table{--bs-table-color:var(--la-ink);--bs-table-border-color:var(--la-line)}.table th{font-weight:700}.pagination{--bs-pagination-color:#284a70;--bs-pagination-active-bg:#284a70;--bs-pagination-active-border-color:#284a70}
@media(max-width:991.98px){.auth-stage{grid-template-columns:1fr;gap:32px;max-width:600px}.auth-brand-copy h1{font-size:36px}.auth-brand-mark{width:220px}.auth-brand-copy{max-width:100%}.auth-shell{padding:32px 24px}.sidebar{width:100%;min-height:auto}.sidebar-nav{display:flex;flex-wrap:wrap;gap:4px}.sidebar-link{flex:1 1 150px}.sidebar-brand__stack{gap:8px}.sidebar-footer__brand{display:none}}
@media(max-width:575.98px){.auth-shell{padding:24px 16px}.auth-card,.public-form-card{padding:24px 16px}.public-topbar-inner{padding:16px}.public-topbar-brand{gap:16px}.public-hero-copy h1{font-size:32px}.la-public-header>div{padding:16px}.la-parish-name{font-size:18px}.la-parish-logo{max-width:180px}.la-endorsement{padding:16px}.page-header__title{font-size:24px}.btn{white-space:normal}.upload-id-choice{min-width:0}.auth-stage{gap:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important;animation:none!important}}
@media print{body{background:#fff!important;color:#102033}.la-endorsement{border:0}.btn{box-shadow:none}.sidebar{display:none!important}}

.sidebar-brand__subtitle{text-transform:none;letter-spacing:0;font-weight:400}
.page-header .workspace-badge--super{color:var(--la-gold-text);background:#f7f2e9;border-color:#dfe5ec}
.auth-card .form-control{background:#fff;color:var(--la-ink);border:1px solid var(--la-line)}
.auth-card .btn-primary{background:var(--la-navy-700);border-color:var(--la-navy-700);box-shadow:none;color:#fff}
.auth-card .btn-primary:hover{background:var(--la-navy-900)}
.auth-card>p{color:var(--la-slate)}

/* Original Vault office artwork, requested for staff authentication. */
body.auth-body .auth-shell{
 background:linear-gradient(rgba(16,32,51,.62),rgba(16,32,51,.62)),url('/assets/vault-office.jpg') center/cover no-repeat;
}
