@import url("https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Lora:ital,wght@0,600;0,700;1,500&display=swap");

:root{--font-body:"Be Vietnam Pro",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--font-display:"Lora",Georgia,"Times New Roman",serif;--type-brand:31px;--type-hero:39px;--type-section:30px;--type-panel:19px;--type-card:17px;--type-body:14px;--type-meta:12px;--wine-950:#3D0C14;--wine-900:#54101B;--wine-800:#681924;--wine-700:#7A2633;--wine-500:#A64F54;--wine-100:#F5E7E8;--gold-700:#A87925;--gold-500:#C99A38;--gold-300:#E5C477;--gold-100:#FFF4D8;--cream:#FBF7EF;--paper:#FFFDF9;--surface:#FFFFFF;--text-primary:#292524;--text-secondary:#706967;--border:#E8E1DC;--primary:var(--wine-900);--primary-dark:var(--wine-950);--primary-medium:var(--wine-700);--navy:var(--wine-900);--navy-2:var(--wine-700);--gold:var(--gold-500);--ink:var(--text-primary);--text:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--bg:var(--paper);--card:var(--surface);--soft:var(--wine-100);--white:#fff;--green:#21865A;--good:#21865A;--warn:#B7791F;--red:#C43E3E;--danger:#C43E3E;--info:#356A9A;--shadow:0 10px 30px rgba(61,12,20,.05)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.6}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.layout{display:grid;grid-template-columns:248px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;background:var(--navy);color:#fff;padding:30px 18px;display:flex;flex-direction:column;z-index:20}
.brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.brand-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.3);color:var(--gold-300);font-size:25px;border-radius:10px;overflow:hidden}.brand-mark img,.logo img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}.brand b,.brand small{display:block}.brand b{font-family:var(--font-display);font-size:20px;letter-spacing:.06em}.brand small{color:var(--gold-300);margin-top:2px}
.sidebar nav p{font-size:10px;letter-spacing:.18em;color:#7995af;margin:26px 12px 8px}.sidebar nav button{border:0;background:transparent;color:#b9c9d8;width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;border-radius:8px;margin:3px 0}.sidebar nav button span{font-size:18px;width:22px;text-align:center}.sidebar nav button:hover,.sidebar nav button.active{color:#fff;background:rgba(255,255,255,.1)}.sidebar nav button.active{box-shadow:inset 3px 0 var(--gold)}
.sidebar-foot{margin-top:auto;padding:14px 12px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;color:#9eb3c8}.dot{display:inline-block;width:7px;height:7px;background:#6dd6a4;border-radius:50%;margin-right:8px}
main{min-width:0}.topbar{height:86px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px}.topbar h1{font-family:var(--font-display);font-size:25px;margin:2px 0}.topbar>div>small,.eyebrow{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:700}.user-chip{display:flex;align-items:center;gap:10px}.user-chip>span,.avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:var(--wine-100);color:var(--navy);font-weight:700}.user-chip b,.user-chip small{display:block}.user-chip small{font-size:10px;color:var(--muted);margin-top:3px}.mobile-menu{display:none}.content{padding:34px 38px;max-width:1500px;margin:auto}
.hero{min-height:320px;background:linear-gradient(115deg,var(--wine-900),var(--wine-700));border-radius:18px;color:#fff;padding:52px 58px;display:flex;justify-content:space-between;overflow:hidden;position:relative;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-80px;top:-120px}.hero h2{font:700 40px/1.18 var(--font-display);margin:12px 0}.hero p{max-width:560px;color:#E6DCDD;line-height:1.7}.hero-cross{font:110px var(--font-display);color:rgba(229,196,119,.18);align-self:center;margin-right:60px}.btn{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:10px;padding:10px 16px;font-weight:700}.btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(61,12,20,.08)}.btn.primary{background:var(--wine-700);color:#fff;border-color:var(--wine-700)}.btn.gold{background:var(--gold);border-color:var(--gold);color:#2F1B00;margin-top:12px}.btn.small{padding:8px 12px;font-size:12px}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:20px 0}.metric{background:#fff;border-radius:11px;padding:21px;box-shadow:var(--shadow);position:relative;border-top:3px solid var(--wine-500)}.metric.green{border-color:var(--green)}.metric.gold{border-color:var(--gold)}.metric.purple{border-color:var(--wine-700)}.metric small,.metric span,.person-row small,td small,.family-card small{display:block;color:var(--muted)}.metric strong{font:700 29px var(--font-display);display:block;margin:7px 0}.metric-icon{position:absolute;right:18px;top:16px;color:var(--wine-500)}
.two-col{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.panel,.form-panel,.table-card,.profile-card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow)}.panel{padding:24px}.panel-head,.page-actions{display:flex;align-items:center;justify-content:space-between}.panel-head h3{font:700 22px var(--font-display);margin:5px 0 14px}.link{border:0;background:none;color:var(--navy);font-weight:700}.person-row{width:100%;display:grid;grid-template-columns:42px 1fr auto;align-items:center;text-align:left;gap:12px;border:0;border-top:1px solid var(--line);background:#fff;padding:13px 2px}.person-row:hover{background:var(--wine-100)}.status{display:inline-block;width:max-content;border-radius:20px;padding:5px 9px;font-size:10px;font-weight:700;background:#edf1f5;color:#536477}.status.dang_sinh_hoat{background:#e7f5ee;color:#277556}.status.chuyen_xu{background:#fff4df;color:#9a6a1d}.status.qua_doi{background:#f3e9e9;color:#8d4545}
.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid button{border:1px solid var(--line);background:#fafbfc;border-radius:9px;text-align:left;padding:17px}.quick-grid button span{font-size:21px;color:var(--gold)}.quick-grid b,.quick-grid small{display:block;margin-top:7px}.quick-grid small{color:var(--muted);font-size:10px}
.page-actions{margin-bottom:20px}.page-actions p{margin:4px 0;color:var(--muted)}.page-actions>div{display:flex;gap:8px;align-items:center}.filters{display:grid;grid-template-columns:2fr repeat(3,1fr) auto;gap:10px;margin-bottom:16px}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.repeat-row input,.repeat-row select,.sacrament-fields input{width:100%;border:1px solid #dce2e8;border-radius:7px;background:#fff;padding:11px 12px;outline:none}.filters input:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:#7797b5;box-shadow:0 0 0 3px #e9f0f6}.search{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;padding-left:12px}.search input{border:0}
.table-card{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;background:#f8fafb;color:#6d7884;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:13px 16px}td{padding:15px 16px;border-top:1px solid var(--line)}.actions{white-space:nowrap}.actions button{border:0;background:#f0f3f6;border-radius:5px;margin:0 2px;width:30px;height:30px}.actions button:last-child{color:var(--red)}.empty{text-align:center;color:var(--muted);padding:40px}
.form-shell{max-width:1120px;margin:auto}.form-panel{padding:28px;margin-bottom:18px}.section-heading{display:flex;gap:14px;align-items:center;padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:22px}.section-heading>span{font:700 20px var(--font-display);color:var(--gold);border-right:1px solid var(--line);padding-right:14px}.section-heading h3,.section-heading p{margin:0}.section-heading h3{font:700 21px var(--font-display)}.section-heading p{color:var(--muted);font-size:11px;margin-top:4px}.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.form-grid label{font-size:11px;font-weight:600}.form-grid label input,.form-grid label select,.form-grid label textarea{display:block;margin-top:7px}.form-grid em{color:var(--red)}.span-2{grid-column:span 2}.span-4{grid-column:span 4}.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}.col-5{grid-column:span 5}.col-6{grid-column:span 6}.col-7{grid-column:span 7}.col-8{grid-column:span 8}.col-9{grid-column:span 9}.col-10{grid-column:span 10}.col-11{grid-column:span 11}.col-12{grid-column:span 12}.form-grid textarea{min-height:80px;resize:vertical}
.sacrament-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.sacrament-grid.two-checks{grid-template-columns:repeat(2,1fr)}.check-card{display:grid;grid-template-columns:20px 30px 1fr;align-items:center;border:1px solid var(--line);border-radius:8px;padding:13px}.check-card small{grid-column:3;color:var(--muted);font-size:10px}.sacrament-fields{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;background:#f7f9fb;padding:18px;border-radius:8px;border-left:3px solid var(--gold)}.sacrament-fields.hidden{display:none}.sacrament-fields h4{grid-column:1/-1;margin:0;color:var(--navy)}.sacrament-fields label{font-size:10px}.sacrament-fields label input,.sacrament-fields label select,.sacrament-fields label textarea{display:block;margin-top:6px}.wide-field{grid-column:1/-1}.nested-table{overflow:auto}.nested-table table{background:#fff}.nested-table input{min-width:140px}.row-heading{display:flex;justify-content:space-between;align-items:center;margin:18px 0 10px}.row-heading h4{margin:0;color:var(--navy)}.repeat-list{display:grid;gap:9px;margin-bottom:10px}.repeat-row{display:grid;gap:9px}.family-row{grid-template-columns:180px 1fr 38px}.group-row{grid-template-columns:1.3fr 1fr 1fr 1fr .7fr 1fr 1fr 38px}.vow-row{grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 38px}.clergy-row{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr 38px}.catechism-row{grid-template-columns:1fr 1fr 1.2fr .8fr .8fr .8fr 1fr 38px}.repeat-row button{border:0;border-radius:6px;background:#f9e8e8;color:var(--red);font-size:18px}.form-footer{position:sticky;bottom:0;z-index:5;display:flex;justify-content:flex-end;gap:8px;background:rgba(244,246,248,.95);padding:14px 0 4px;backdrop-filter:blur(8px)}
.profile-card{max-width:1050px;margin:auto;padding:35px}.profile-card>header{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:25px}.profile-card>header h2{font:700 30px var(--font-display);margin:4px 0}.profile-card>header p{margin:0;color:var(--muted)}.profile-card>header .status{margin-left:auto}.profile-avatar{display:grid;place-items:center;width:75px;height:75px;border-radius:50%;background:var(--navy);color:#fff;font:700 24px var(--font-display)}.profile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.profile-grid>div{background:var(--wine-100);padding:14px;border-radius:7px}.profile-grid small,.profile-grid b{display:block}.profile-grid small{color:var(--muted);margin-bottom:5px}.profile-grid .wide{grid-column:span 2}.profile-card section{border-top:1px solid var(--line);padding:22px 0}.profile-card section h3{font:700 20px var(--font-display);color:var(--navy)}.detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.detail-cards>div{border-left:3px solid var(--gold);background:var(--cream);padding:13px}.detail-cards b,.detail-cards span,.detail-cards small{display:block}.detail-cards span{margin:6px 0}.detail-cards small{color:var(--muted)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{background:var(--wine-100);padding:7px 10px;border-radius:20px}.qr-section{display:flex;align-items:center;gap:20px}.qr-pattern{width:105px;height:105px;display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:7px;background:#fff;border:1px solid var(--line)}.qr-pattern i{background:#fff}.qr-pattern i.on{background:var(--navy)}.qr-section strong{font-size:22px;color:var(--navy)}
.catalog-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.catalog-grid article{background:#fff;padding:23px;border-radius:10px;border:1px solid var(--line)}.catalog-grid article>span{color:var(--gold);font:700 22px var(--font-display)}.catalog-grid h3{font-family:var(--font-display)}.catalog-grid p{color:var(--muted)}.family-card{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:14px 0}.toast{position:fixed;right:25px;bottom:25px;background:var(--navy);color:#fff;padding:13px 18px;border-radius:8px;box-shadow:var(--shadow);transform:translateY(80px);opacity:0;transition:.25s;z-index:100}.toast.show{transform:none;opacity:1}
@media(max-width:1050px){.metrics{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.search{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr}.span-4{grid-column:span 2}.sacrament-grid{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr 1fr}.group-row,.vow-row,.clergy-row,.catechism-row{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.layout{grid-template-columns:1fr}.sidebar{position:fixed;transform:translateX(-100%);transition:.2s;width:248px}.sidebar.open{transform:none}.topbar{height:75px;padding:0 18px}.mobile-menu{display:block;border:0;background:none;font-size:20px}.user-chip div{display:none}.content{padding:20px 14px}.hero{padding:35px 25px;min-height:280px}.hero h2{font-size:31px}.hero-cross{display:none}.metrics,.form-grid,.profile-grid,.detail-cards,.catalog-grid,.sacrament-grid,.sacrament-grid.two-checks{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.span-2,.span-4,.profile-grid .wide{grid-column:auto}.sacrament-fields{grid-template-columns:1fr}.group-row,.family-row,.vow-row,.clergy-row,.catechism-row{grid-template-columns:1fr}.repeat-row button{height:36px}.profile-card{padding:20px}.profile-card>header{align-items:flex-start;flex-wrap:wrap}.profile-card>header .status{margin-left:0}.table-card{font-size:12px}.quick-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.no-print,.toast{display:none!important}.layout{display:block}.content{padding:0}.profile-card{box-shadow:none;border:0;max-width:none}.profile-card section{break-inside:avoid}}
/* ===== SUPABASE AUTH + CỔNG DỮ LIỆU THẬT ===== */
.auth-restricted{display:none!important}.auth-session-button{border:1px solid rgba(255,255,255,.34)!important;background:rgba(255,255,255,.1)!important}.auth-dialog{width:min(460px,calc(100vw - 28px));padding:0;border:0;border-radius:18px;box-shadow:0 26px 80px rgba(20,8,11,.35)}.auth-dialog::backdrop{background:rgba(20,25,32,.62);backdrop-filter:blur(4px)}.auth-card{position:relative;padding:30px;display:grid;gap:15px}.auth-card h2{margin:0;color:var(--primary);font-size:28px}.auth-card p{margin:0;color:var(--muted);line-height:1.55}.auth-card label{display:grid;gap:7px;font-size:13px;font-weight:750}.auth-card input{width:100%;padding:12px;border:1px solid #ccd4dc;border-radius:10px}.auth-mark{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:var(--soft);color:var(--primary);font-size:28px}.auth-card>small{color:var(--primary);font-weight:850;letter-spacing:.08em}.auth-close{position:absolute;right:14px;top:12px;border:0;background:#f1f3f5;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:20px}.auth-error{min-height:19px;color:var(--danger);font-size:13px;font-weight:700}.auth-submit{justify-content:center}.secure-portal-page{min-height:70vh}.secure-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;padding:25px;border-radius:18px;background:linear-gradient(125deg,#65121f,#9c2436);color:#fff}.secure-head span{font-size:12px;font-weight:850;letter-spacing:.1em;opacity:.8}.secure-head h2{margin:8px 0 5px;font-size:29px}.secure-head p{margin:0;opacity:.88}.permission-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.permission-summary>div{padding:17px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 17px rgba(30,40,50,.05)}.permission-summary small{display:block;color:var(--muted);font-weight:700}.permission-summary strong{display:block;margin-top:7px;color:var(--primary);font-size:27px}.secure-section{margin-bottom:16px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow)}.secure-title{display:flex;justify-content:space-between;gap:15px;margin-bottom:14px}.secure-title h3{margin:0;color:var(--primary)}.secure-title p{margin:5px 0 0;color:var(--muted)}.secure-qr-search{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px}.secure-qr-search input{padding:11px 12px;border:1px solid #ccd4dc;border-radius:10px;text-transform:uppercase}.secure-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.secure-person{display:grid;grid-template-columns:78px minmax(0,1fr) 108px;gap:14px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:14px}.secure-photo{width:78px;height:92px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--soft);color:var(--primary);font-size:22px;font-weight:850}.secure-photo img{width:100%;height:100%;object-fit:cover}.secure-person-main{min-width:0}.secure-person-main small{color:var(--muted);font-weight:800}.secure-person-main h3{margin:4px 0;color:var(--primary);font-size:18px}.secure-person-main p{margin:0 0 8px;color:var(--muted);font-size:13px}.secure-person-qr{width:108px;height:108px}.secure-class-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#edf4ff;color:#315d9b;font-size:12px;font-weight:750}.secure-upload{display:block;margin-top:9px;color:var(--primary);font-size:12px;font-weight:750}.secure-upload input{display:block;margin-top:5px;max-width:100%;font-size:11px}.secure-class{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.secure-class:first-of-type{border-top:0}.secure-class span{color:var(--muted)}.secure-empty{display:grid;gap:5px;padding:24px;border:1px dashed #cbd2d9;border-radius:12px;text-align:center;color:var(--muted)}.qr-auth-result{display:grid;gap:4px;margin-top:12px;padding:13px;border-radius:11px}.qr-auth-result.allowed{background:#eaf7ef;color:#1c6b43}.qr-auth-result.denied{background:#fff0f2;color:#a9293b}#secureQrVideo{display:block;width:min(520px,100%);margin:13px auto;border-radius:13px;background:#111}
.secure-audit-log{display:grid;gap:8px}.secure-audit-log>div{display:flex;justify-content:space-between;gap:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.secure-audit-log b{color:var(--primary)}.secure-audit-log span{color:var(--muted);font-size:12px;text-align:right}
.teacher-gradebook form{display:grid;gap:12px}.teacher-session-label{display:grid;max-width:420px;gap:6px;color:var(--muted);font-size:12px;font-weight:750}.teacher-session-label select,.teacher-gradebook input,.teacher-gradebook select{padding:9px 10px;border:1px solid #ccd4dc;border-radius:8px;background:#fff}.teacher-table-wrap{overflow:auto}.teacher-gradebook table{width:100%;border-collapse:collapse}.teacher-gradebook th,.teacher-gradebook td{padding:10px;border-bottom:1px solid var(--line);text-align:left}.teacher-gradebook th{color:var(--muted);font-size:12px}.teacher-gradebook input[type="number"]{width:110px}.teacher-gradebook .btn{justify-self:start}.teacher-save-status{color:var(--primary);font-size:13px;font-weight:750}
.request-submit-form{display:grid;grid-template-columns:220px 1fr auto;gap:10px;margin-bottom:14px}.request-submit-form textarea{grid-column:1/3;min-height:90px}.request-submit-form input,.request-submit-form select,.request-submit-form textarea,[data-request-manage] input,[data-request-manage] select{padding:10px;border:1px solid #ccd4dc;border-radius:10px}.request-list{display:grid;gap:12px}.request-card{padding:15px;border:1px solid var(--line);border-radius:13px}.request-card h4{margin:5px 0;color:var(--primary)}.request-card p{color:var(--muted)}.request-history{display:flex;justify-content:space-between;gap:12px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);font-size:12px}.request-history span{color:var(--muted)}[data-request-manage]{display:grid;grid-template-columns:180px 1fr auto;gap:9px;margin-top:12px}
.online-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.online-service-card{border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden}.online-service-card summary{display:flex;align-items:center;gap:12px;padding:15px;cursor:pointer;list-style:none}.online-service-card summary::-webkit-details-marker{display:none}.online-service-card summary>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:var(--wine-100);color:var(--wine-700);font-size:20px}.online-service-card summary b,.online-service-card summary small{display:block}.online-service-card summary b{color:var(--wine-900);font-family:var(--font-display);font-size:17px}.online-service-card summary small{margin-top:3px;color:var(--muted)}.online-service-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:15px;border-top:1px solid var(--line);background:#fff}.online-service-form label{display:grid;gap:6px;color:var(--text-secondary);font-size:12px;font-weight:700}.online-service-form input,.online-service-form select,.online-service-form textarea{width:100%;padding:10px 11px;border:1px solid #ccd4dc;border-radius:9px;background:#fff;color:var(--text-primary)}.online-service-form textarea{min-height:82px;resize:vertical}.online-service-form .service-wide{grid-column:1/-1}.service-pastoral-note{margin:0;padding:10px 12px;border-left:3px solid var(--gold-500);background:var(--gold-100);color:#6b4c13;font-size:12px;line-height:1.55}.online-service-form [role="status"]{align-self:center;color:var(--wine-700);font-size:12px;font-weight:700}@media(max-width:760px){.online-service-grid,.online-service-form{grid-template-columns:1fr}.online-service-form .service-wide{grid-column:auto}}
@media(max-width:950px){.permission-summary{grid-template-columns:repeat(2,1fr)}.secure-people{grid-template-columns:1fr}}@media(max-width:680px){.secure-head{flex-direction:column}.permission-summary{grid-template-columns:1fr 1fr}.secure-qr-search,.request-submit-form,[data-request-manage]{grid-template-columns:1fr}.request-submit-form textarea{grid-column:auto}.secure-person{grid-template-columns:68px 1fr}.secure-photo{width:68px;height:82px}.secure-person-qr{grid-column:1/-1;justify-self:center}}
.secure-upload [data-upload-status]{display:block;margin-top:5px;color:var(--muted);font-weight:600;line-height:1.35}
.auth-role-hidden{display:none!important}#secureAdminPanel .secure-head,#securePortalPanel .secure-head{margin-top:0}#securePortalPanel #securePortalContent,#secureAdminPanel #securePortalContent{width:100%}

/* ===== DESIGN SYSTEM V2: TYPOGRAPHY + BRAND COLOR ===== */
.site-header{background:linear-gradient(135deg,var(--wine-900),var(--wine-700))}
.site-header .brand h1,
.hero h2,
.home-story-content h2,
.home-section-heading h3,
.section-title h3,
.p1-col-head h4,
.feed-column-head h4,
.article-reader h1,
.article-related h2,
.public-footer [data-footer-parish-name],
.software-login-intro h1{font-family:var(--font-display)}
.site-header .brand h1{font-size:var(--type-brand);line-height:1.15;font-weight:700}
.home-story-content h2{font-size:clamp(31px,3vw,var(--type-hero));line-height:1.18;font-weight:700}
.home-section-heading h3,.section-title h3{font-size:var(--type-section);line-height:1.22;font-weight:700}
.p1-col-head h4,.feed-column-head h4{font-size:var(--type-panel);line-height:1.35;font-weight:700}

/* Home typography hierarchy: display / section / panel / card / body / metadata. */
#homePage .home-side-feature h3,
#homePage .daily-word-title{font-family:var(--font-display);font-size:var(--type-panel)!important;font-weight:700!important;line-height:1.35!important}
#homePage .mass-week-head h3{font-family:var(--font-body);font-size:var(--type-panel)!important;font-weight:700!important;line-height:1.35}
#homePage .daily-word-track-title,
#homePage .home-big-news-body h4,
#homePage .feed-featured-title{font-size:var(--type-card);font-weight:700;line-height:1.4}
#homePage .p1-notice-content h5,
#homePage .p1-event-info h5,
#homePage .p1-obituary-info h5,
#homePage .feed-item-title,
#homePage .home-quick-action b{font-family:var(--font-body);font-size:var(--type-body);font-weight:700;line-height:1.45}
#homePage .home-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1100px){#homePage .home-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){#homePage .home-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:420px){#homePage .home-quick-grid{grid-template-columns:1fr}}
#homePage .home-story-content p,
#homePage .home-side-feature p,
#homePage .daily-word-sub,
#homePage .feed-featured-summary,
#homePage .feed-item-summary{font-family:var(--font-body);font-size:var(--type-body);line-height:1.6}
#homePage .meta,
#homePage .pill,
#homePage .pill-tag,
#homePage .feed-item-meta,
#homePage .feed-featured-meta{font-family:var(--font-body);font-size:var(--type-meta);line-height:1.45}
.brand small,.site-header .brand small{color:var(--gold-300)}
.nav-btn:hover{background:var(--wine-100);color:var(--wine-700)}
.nav-btn.active{background:var(--wine-900);color:#fff;box-shadow:inset 0 -2px var(--gold-500)}
.btn-primary{background:var(--wine-900);border-color:var(--wine-900);color:#fff}
.btn-primary:hover{background:var(--wine-700);border-color:var(--wine-700)}
.card,.p1-col,.feed-column-card,.home-big-news-card,.home-quick-action,.mass-week-card{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}
.pill,.news-tag{background:var(--wine-100);color:var(--wine-700)}
.mass-week-head{background:linear-gradient(135deg,var(--wine-900),var(--wine-700))}
.mass-tab.active{background:var(--wine-900);border-color:var(--wine-900)}
.mass-time-card strong{color:var(--wine-700)}
.public-footer{background:linear-gradient(135deg,var(--wine-900),#350810)}
.public-footer h4{color:var(--gold-300)}
.public-footer p,.public-footer li{color:#E6DCDD}
.portal-sidebar,.admin-sidebar{background:var(--wine-900)}
.admin-menu button:hover,.admin-menu button.active,.portal-menu button:hover,.portal-menu button.active{background:var(--wine-700)}
.software-access-gate{background:radial-gradient(circle at 18% 18%,rgba(229,196,119,.2),transparent 30%),linear-gradient(145deg,var(--wine-950),var(--wine-900))}
.software-login-intro{background:linear-gradient(145deg,var(--wine-950),var(--wine-700))}
.home-side-feature.emergency{background:linear-gradient(135deg,var(--wine-900),var(--wine-800))}
.home-side-feature.obituary.is-bishop,
.home-side-feature.emergency.is-pastoral-year{border-color:var(--wine-100);box-shadow:0 10px 30px rgba(61,12,20,.08),inset 0 3px 0 var(--wine-500)}
.home-side-feature.emergency.is-pastoral-year{background:linear-gradient(145deg,#FFF9EC,var(--gold-100));color:var(--text-primary)}
.home-side-feature.emergency.is-pastoral-year h3{color:var(--wine-900)!important}
.home-side-feature.emergency.is-pastoral-year p{color:var(--text-secondary);opacity:1}
.home-side-feature.emergency.is-pastoral-year .pill{background:#fff!important;color:var(--gold-700)!important;border-color:var(--gold-300)!important}
.home-side-feature.emergency.is-pastoral-year .home-pastoral-verse-wrap{background:rgba(255,255,255,.72)!important;border-color:var(--gold-300)!important}
.home-side-feature.emergency.is-pastoral-year .home-pastoral-verse-wrap div{color:var(--wine-700)!important}
.home-side-feature.emergency.is-pastoral-year .home-emergency-photo{border-color:var(--gold-500);box-shadow:0 6px 18px rgba(168,121,37,.13)}
.daily-word-card{background:linear-gradient(145deg,#FFFDF9,#F8EFF0);color:var(--text-primary);border-color:var(--wine-100);box-shadow:0 10px 30px rgba(61,12,20,.08),inset 0 3px 0 var(--wine-500)}
.daily-word-card::before{background:radial-gradient(circle,rgba(201,154,56,.12) 0%,transparent 70%)}
.daily-word-title{color:var(--wine-900)}
.daily-word-sub{color:var(--text-secondary)}
.daily-word-card .daily-word-head .pill{background:var(--gold-100)!important;color:var(--wine-900)!important;border-color:var(--gold-500)!important;font-weight:700}
.daily-word-play-btn{background:var(--gold-500);color:#2F1B00;box-shadow:0 4px 12px rgba(201,154,56,.3)}
.daily-word-play-btn:hover{background:var(--gold-300)}
.daily-word-progress::-webkit-slider-thumb{background:var(--gold-500)}
.daily-word-player{background:#fff;border-color:var(--border);box-shadow:0 5px 18px rgba(61,12,20,.05)}
.daily-word-track-title{color:var(--wine-900)}
.daily-word-track-meta,.daily-word-time{color:var(--text-secondary)}
.daily-word-progress{background:var(--wine-100)}
.daily-word-day-select{background:var(--paper);border-color:var(--border);color:var(--wine-900)}
.daily-word-day-select option{background:#fff;color:var(--text-primary)}
.daily-word-reading{align-items:flex-start}
.daily-word-scripture-mark{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:var(--wine-100);color:var(--wine-700);font:700 25px var(--font-display)}
.daily-word-reading-source #dailyWordAudioElement{display:none!important}
.daily-word-reading-source:not(.has-daily-audio) #dailyWordPlayBtn,.daily-word-reading-source:not(.has-daily-audio) .daily-word-progress-wrap,.daily-word-reading-source:not(.has-daily-audio) #dailyWordRewindBtn,.daily-word-reading-source:not(.has-daily-audio) #dailyWordForwardBtn{display:none!important}
.daily-word-reading-source:not(.has-daily-audio) .daily-word-track-info{min-width:100%;padding-left:0}
.daily-word-reading-source.has-daily-audio .daily-word-track-info{flex:1;min-width:200px;padding-left:12px}
.daily-word-reading-source .daily-word-track-title{font-size:17px;white-space:normal}
.daily-word-reading-source .daily-word-track-meta{margin-top:7px;line-height:1.55}
.daily-word-reading-source .daily-word-head{margin-bottom:8px}
.daily-word-reading-source .daily-word-head-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.daily-word-reading-source .daily-word-head-tools .btn{padding:3px 8px;font-size:11px;line-height:1.35}
.daily-word-reading-source .daily-word-player{padding:11px 13px;gap:9px}
.daily-word-reading-source .daily-word-progress-wrap{gap:7px;margin-top:4px}
.daily-word-reading-source .daily-word-progress-wrap .btn{flex:0 0 auto;padding:4px 8px;font-size:11px;line-height:1.3}
.daily-word-reading-source .daily-word-actions{display:block;margin-top:5px}
.daily-word-reading-source .daily-word-date-row{display:flex!important;align-items:center;gap:7px;width:100%;min-width:0;flex-wrap:nowrap}
.daily-word-reading-source .daily-word-date-row label{flex:0 0 auto;white-space:nowrap}
.daily-word-reading-source .daily-word-day-select{flex:1 1 auto;min-width:0;width:auto;padding:5px 8px}
.daily-word-reading-source .daily-word-actions label{color:var(--text-secondary)!important}
#homePage .daily-faith-grid{grid-template-columns:1.35fr 1fr .95fr}
#homePage .daily-faith-grid .mass-week-head{padding:14px 20px}
#homePage .daily-faith-grid .mass-tabs{padding:7px 14px}
#homePage .daily-faith-grid .mass-day-panel{padding:10px 20px}
#homePage .daily-faith-grid .mass-time-card{padding:11px 14px}
#homePage .daily-faith-grid .daily-word-card{padding:14px 16px;justify-content:flex-start}
#homePage .daily-faith-grid .daily-word-player{margin-top:auto;padding:9px 12px}
#homePage .daily-faith-grid .daily-word-play-btn{width:44px;height:44px}
@media(max-width:1024px){#homePage .daily-faith-grid{grid-template-columns:1fr}}
.p1-col-head{background:var(--cream);border-color:var(--border)}
.p1-col-head h4{color:var(--wine-900)}
.p1-col-body{background:var(--surface)}
.p1-notice-card{background:var(--surface);border-color:var(--border)}
.p1-notice-card.featured{border-left-color:var(--gold-500)}
.p1-notice-card:hover{border-color:var(--wine-500);box-shadow:var(--shadow)}
.p1-notice-thumb{background:var(--cream)}
.p1-notice-content h5,.p1-event-info h5{color:var(--text-primary)}
.pill-tag{background:var(--wine-100);color:var(--wine-700)}
.p1-event-item{background:var(--surface);border-color:var(--border)}
.p1-event-item:hover{background:var(--cream);border-color:var(--wine-500)}
.p1-date-box{background:var(--wine-900);border-color:var(--wine-900);border-top-color:var(--gold-500)}
.p1-date-box strong{color:#fff}
.p1-date-box small{color:var(--gold-300)}
.p1-prayer-card{background:#F8F4F5;border-color:var(--wine-100);border-left:3px solid var(--wine-500)}
.p1-prayer-card small{color:var(--wine-700)}
.p1-prayer-card p{color:#514A48}
.p1-obituary-mini{background:#F5F4F2;border-color:#D6D0CB}
.p1-obituary-cross{background:#E8E1DC;color:var(--text-secondary)}
.p1-obituary-info h5{color:#3B3635}
.btn-see-all{background:var(--surface);border-color:var(--border);color:var(--wine-700)}
.btn-see-all:hover{background:var(--wine-100);border-color:var(--wine-500)}
.home-quick-action:hover{background:var(--wine-100);border-color:var(--wine-500)}
.editorial-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:20px;align-items:start}
.editorial-main{min-width:0}
.editorial-card-grid,.editorial-main .notice-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.editorial-news-host{min-width:0}
.editorial-news-feed .feed-items-list{padding:20px}
.editorial-news-feed .feed-item-featured{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}
.editorial-news-feed .feed-featured-thumb-wrap{height:270px;cursor:pointer}
.editorial-news-feed .feed-featured-title{color:var(--text-primary);font-size:clamp(21px,2.2vw,30px);line-height:1.25;cursor:pointer}
.editorial-news-feed .feed-featured-summary{font-size:14px;line-height:1.6;-webkit-line-clamp:4}
.editorial-news-feed .feed-item{padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer}
.editorial-news-feed .feed-item:last-child{border-bottom:0}
.editorial-news-feed .feed-item-thumb{width:112px;height:74px}
.editorial-news-feed .feed-item-title{color:var(--text-primary);font-size:15px;-webkit-line-clamp:2}
.editorial-news-feed [data-public-article-id]:hover .feed-item-title,.editorial-news-feed [data-public-article-id]:hover .feed-featured-title{color:var(--wine-700)}
.editorial-feed-count{color:var(--text-secondary);font-size:12px;font-weight:700}
.editorial-main .notice-featured-banner{grid-template-columns:minmax(220px,38%) 1fr}
.editorial-sidebar{display:grid;gap:16px;position:sticky;top:94px}
.editorial-widget{overflow:hidden;padding:17px;border:1px solid var(--wine-100);border-radius:16px;background:linear-gradient(145deg,#fff,var(--paper));box-shadow:var(--shadow)}
.editorial-widget h4{margin:0 0 12px;color:var(--wine-900);font-family:var(--font-display);font-size:17px}
.editorial-widget button{width:100%;padding:0;border:0;background:none;color:var(--text-primary);text-align:left}
.editorial-widget button b,.editorial-widget button span{display:block}
.editorial-widget button span,.editorial-widget>span{margin-top:5px;color:var(--text-secondary);font-size:12px;line-height:1.5}
.editorial-ad{min-height:180px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(145deg,rgba(84,16,27,.9),rgba(122,38,51,.82)),linear-gradient(135deg,var(--wine-900),var(--wine-700));color:#fff;border-color:var(--wine-500)}
.editorial-ad small{color:var(--gold-300);font-weight:800;letter-spacing:.12em}
.editorial-ad strong{margin-top:7px;font-family:var(--font-display);font-size:21px;line-height:1.3}
.editorial-ad>span{color:rgba(255,255,255,.78)}
.editorial-mass-row{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}
.editorial-mass-row strong{color:var(--wine-700);font-size:18px}
.editorial-mass-row span{color:var(--text-secondary)}
.editorial-video-placeholder{min-height:116px;display:grid;place-items:center;align-content:center;gap:5px;border-radius:12px;background:linear-gradient(145deg,var(--wine-900),var(--wine-700));color:#fff}
.editorial-video-placeholder span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--gold-500);color:#2F1B00}
.editorial-media a{display:inline-block;margin-top:10px;color:var(--wine-700);font-weight:700;text-decoration:none}
.editorial-youtube-frame{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;border-radius:12px;background:var(--wine-950);box-shadow:0 5px 16px rgba(61,12,20,.13)}
.editorial-youtube-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.editorial-media p{margin:10px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}
.editorial-main>#noticeFeaturedHost{display:none}
.editorial-main .editorial-notice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.editorial-notice-grid .notice-page-card{height:100%}
.editorial-notice-grid .notice-page-thumb{height:190px}
.editorial-notice-grid .notice-page-body{min-height:205px}
.editorial-category-list{display:grid;gap:28px}
.editorial-category-section{min-width:0}
.editorial-category-title{margin:0 0 16px;padding:13px 18px;background:linear-gradient(135deg,var(--wine-900),var(--wine-700));color:#fff;font:700 22px/1.25 var(--font-display);text-transform:uppercase;border-radius:3px;box-shadow:inset 4px 0 var(--gold-500)}
.editorial-category-feature{margin-bottom:16px}
.editorial-category-small-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.editorial-category-section .home-big-news-card,.editorial-category-section .notice-page-card{height:100%}
.editorial-category-section .editorial-feature-card{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:275px}
.editorial-category-section .editorial-feature-card .home-big-news-thumb,.editorial-category-section .editorial-feature-card .notice-page-thumb{height:100%;min-height:275px}
.editorial-category-section .editorial-feature-card .home-big-news-body,.editorial-category-section .editorial-feature-card .notice-page-body{justify-content:center;padding:24px}
.editorial-category-section .editorial-feature-card h4{font-size:clamp(20px,2.1vw,29px);line-height:1.25}
.editorial-category-small-grid .home-big-news-thumb,.editorial-category-small-grid .notice-page-thumb{height:145px}
.editorial-category-small-grid .home-big-news-body,.editorial-category-small-grid .notice-page-body{padding:13px}
.editorial-category-small-grid h4{font-size:15px;line-height:1.35}
@media(max-width:980px){.editorial-layout{grid-template-columns:1fr}.editorial-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-ad{min-height:150px}}
@media(max-width:760px){.editorial-category-small-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.editorial-card-grid,.editorial-main .notice-page-grid,.editorial-main .editorial-notice-grid,.editorial-sidebar,.editorial-category-small-grid{grid-template-columns:1fr}.editorial-main .notice-featured-banner,.editorial-category-section .editorial-feature-card,.editorial-news-feed .feed-item-featured{grid-template-columns:1fr}.editorial-main .notice-featured-poster{height:180px}.editorial-category-section .editorial-feature-card .home-big-news-thumb,.editorial-category-section .editorial-feature-card .notice-page-thumb{height:210px;min-height:210px}.editorial-news-feed .feed-featured-thumb-wrap{height:210px}.editorial-news-feed .feed-item-thumb{width:86px;height:62px}}
@media(max-width:760px){.site-header .brand h1{font-size:24px}.home-story-content h2{font-size:29px}.home-section-heading h3,.section-title h3{font-size:clamp(24px,6vw,27px)}}
.cms-cloudflare-state{margin-bottom:14px;padding:12px 14px;border:1px solid #cfe0ef;border-radius:11px;background:#f1f7fc;color:#315d78}.cms-editor,.cms-media-form{margin-bottom:15px}.cms-editor.hidden{display:none}.cms-editor textarea{min-height:120px}.cms-media-form h3{margin-top:0;color:var(--primary)}.cms-media-form .field:last-child{display:flex;align-items:end}.cms-form-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}@media(max-width:760px){.cms-form-actions{justify-content:stretch}.cms-form-actions .btn{flex:1}}
.cms-media-list{display:grid;gap:7px;margin-top:14px}.cms-media-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:10px}.cms-media-list span,.cms-media-list small{display:block}.cms-media-list small{margin-top:3px;color:var(--muted)}
.cms-title-field{grid-column:span 9!important}.cms-category-field{grid-column:span 3!important}.cms-title-field input{min-height:50px;font-size:18px;font-weight:700}.cms-summary-field textarea{min-height:72px!important}.cms-content-field textarea{min-height:430px!important;line-height:1.75}.cms-category-form{margin-bottom:15px}.cms-category-form h3{margin-top:0;color:var(--primary)}.cms-category-row{display:grid;grid-template-columns:1fr 1.5fr auto;gap:12px;align-items:end}.cms-category-row label{display:grid;gap:7px;font-size:12px;font-weight:750}.cms-category-row input{width:100%;padding:11px 12px;border:1px solid #ccd4dc;border-radius:9px}.cms-category-list{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;color:var(--muted)}.cms-category-list span{padding:6px 10px;border-radius:999px;background:var(--soft);color:var(--primary);font-weight:700}.cms-preview-dialog{width:min(900px,calc(100vw - 28px));max-height:92vh;padding:0;border:0;border-radius:18px;box-shadow:0 25px 80px rgba(20,8,11,.35)}.cms-preview-dialog::backdrop{background:rgba(20,25,32,.62)}.cms-preview-dialog article{padding:42px 48px}.cms-preview-dialog article>img{width:100%;max-height:430px;margin-bottom:22px;border-radius:14px;object-fit:cover}.cms-preview-dialog article>span{color:var(--primary);font-size:12px;font-weight:850;text-transform:uppercase}.cms-preview-dialog h1{margin:9px 0 14px;color:var(--primary);font-size:36px;line-height:1.2}.cms-preview-summary{padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:17px;line-height:1.6}.cms-preview-content{font-size:16px;line-height:1.85}@media(max-width:760px){.cms-title-field,.cms-category-field{grid-column:1/-1!important}.cms-category-row{grid-template-columns:1fr}.cms-preview-dialog article{padding:34px 20px}.cms-preview-dialog h1{font-size:27px}}
.remote-parishioner-name{display:flex;align-items:center;gap:10px}.remote-parishioner-name .record-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:#edf1f5}.remote-parishioner-name .record-avatar img{width:100%;height:100%;object-fit:cover}.uses-authorized-data .admin-toolbar h2::after{content:"Dữ liệu trực tuyến";display:inline-flex;margin-left:10px;padding:4px 9px;border-radius:999px;background:#e7f6ed;color:#137442;font-size:11px;font-weight:800;vertical-align:middle}
.auth-account-menu{position:relative}.auth-account-dropdown{position:absolute;right:0;top:calc(100% + 8px);z-index:80;width:190px;padding:7px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 16px 38px rgba(20,8,11,.24)}.auth-account-dropdown button{display:block;width:100%;padding:10px 12px;border:0;border-radius:8px;background:#fff;color:var(--text);text-align:left;font-weight:700;cursor:pointer}.auth-account-dropdown button:hover,.auth-account-dropdown button:focus{background:var(--soft);color:var(--primary)}
.software-access-gate{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 18% 18%,rgba(222,174,111,.2),transparent 30%),linear-gradient(145deg,#341018,#851d2d);overflow:auto}.software-access-gate .software-login-shell{width:min(920px,100%);display:grid;grid-template-columns:1fr 1fr;overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.38)}.software-login-intro{display:flex;flex-direction:column;justify-content:center;padding:52px;color:#fff;background:linear-gradient(145deg,rgba(63,10,20,.94),rgba(133,29,45,.9))}.software-login-intro .auth-mark{margin-bottom:24px;background:rgba(255,255,255,.14);color:#fff}.software-login-intro small{font-weight:850;letter-spacing:.12em;opacity:.8}.software-login-intro h1{margin:12px 0;font-size:38px;line-height:1.15}.software-login-intro p{margin:0;line-height:1.7;opacity:.86}.software-login-security{margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2);font-size:12px;opacity:.78}.software-login-form{padding:46px}.software-login-form h2{margin:0}.software-login-form p{margin-bottom:4px}.software-login-request{display:flex;justify-content:center;gap:5px;color:var(--muted);font-size:13px}.software-login-request button{padding:0;border:0;background:none;color:var(--primary);font-weight:800;cursor:pointer}@media(max-width:720px){.software-access-gate{padding:14px}.software-access-gate .software-login-shell{grid-template-columns:1fr}.software-login-intro{padding:28px}.software-login-intro h1{font-size:29px}.software-login-security{display:none}.software-login-form{padding:28px}}
.account-request-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.account-request-dialog{max-height:calc(100vh - 28px);overflow:auto}.account-request-dialog select{width:100%;padding:12px;border:1px solid #ccd4dc;border-radius:10px;background:#fff}.account-request-consent{grid-template-columns:20px 1fr!important;align-items:start;font-weight:600!important;line-height:1.45}.account-request-consent input{width:18px!important;margin:2px 0 0}.account-request-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0}.account-request-success{color:#187346}
.auth-environment{padding:8px 10px;border:1px solid #d8dee5;border-radius:8px;background:#f7f8fa;color:var(--muted);font-size:12px}.auth-environment b{color:var(--primary)}
.auth-portal-heading{display:flex;align-items:center;gap:14px;padding-right:38px}.auth-portal-heading .auth-mark{flex:0 0 54px;width:54px;height:54px;background:linear-gradient(145deg,#f7e8ea,#f1d7da);border:1px solid #eccdd1;color:#711522;font-size:29px}.auth-portal-heading small{display:block;color:#a06e12;font-size:11px;font-weight:900;letter-spacing:.09em}.auth-portal-heading h2{margin:4px 0 0;font-size:26px}.auth-portal-features{display:grid;grid-template-columns:1fr 1fr;gap:7px}.auth-portal-features span{padding:8px 10px;border:1px solid #eadfd6;border-radius:9px;background:#fffaf3;color:#68121b;font-size:11px;font-weight:750}.auth-portal-features span:last-child{grid-column:1/-1}.auth-privacy-note{display:block!important;padding-top:2px;color:#7a6c67!important;font-size:10px!important;font-weight:600!important;letter-spacing:0!important;text-align:center;line-height:1.45}.auth-dialog #realLoginForm{gap:13px}.auth-dialog #realLoginForm .auth-submit{min-height:44px}.auth-dialog #realLoginForm input:focus{outline:3px solid rgba(133,26,35,.12);border-color:#851a23}
.article-reader-shell{max-width:1180px;margin:0 auto;padding:28px 24px 60px}.article-reader-back{margin-bottom:18px}.article-reader{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.article-reader>header{max-width:860px;margin:auto;padding:48px 46px 30px}.article-reader h1{margin:14px 0 16px;color:var(--primary-dark);font-size:clamp(34px,5vw,58px);line-height:1.1;letter-spacing:-.025em}.article-reader-lead{margin:0;color:#56616d;font-size:20px;line-height:1.65}.article-reader-cover{aspect-ratio:16/7;overflow:hidden;background:#edf0f2}.article-reader-cover img{width:100%;height:100%;object-fit:cover}.article-reader-content{max-width:820px;margin:auto;padding:38px 46px 56px;color:#2d3742;font-family:Georgia,"Times New Roman",serif;font-size:19px;line-height:1.9}.article-reader-content p{margin:0 0 1.35em}.article-related{margin-top:30px}.article-related h2{color:var(--primary)}.article-related-card{display:flex;min-height:160px;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(31,41,55,.06);cursor:pointer}.article-related-card:hover{border-color:#bc8791;transform:translateY(-2px)}.article-related-card span,.article-related-card small{color:var(--muted)}.article-related-card b{color:var(--primary);font-size:18px;line-height:1.4}.news-card[data-public-article-id],.home-news-feature[data-public-article-id],.home-news-item[data-public-article-id]{cursor:pointer}.news-card[data-public-article-id]:hover,.home-news-item[data-public-article-id]:hover{transform:translateY(-2px)}
@media(max-width:760px){.article-reader-shell{padding:14px}.article-reader>header,.article-reader-content{padding:26px 20px}.article-reader h1{font-size:34px}.article-reader-lead{font-size:17px}.article-reader-content{font-size:17px}.article-reader-cover{aspect-ratio:4/3}}
.parish-history-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:470px;margin:0 0 18px;border:1px solid #e4c98d;border-radius:26px;overflow:hidden;background:#711522;box-shadow:0 20px 50px rgba(67,20,24,.18)}
.parish-history-hero:before{content:"";position:absolute;left:-120px;bottom:-190px;width:430px;height:430px;border:1px solid rgba(228,189,93,.18);border-radius:50%;box-shadow:0 0 0 55px rgba(228,189,93,.045),0 0 0 110px rgba(228,189,93,.03);pointer-events:none}
.parish-history-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;color:#fff;padding:52px 56px;background:linear-gradient(145deg,#811827 0%,#67101d 64%,#4f0c16 100%)}.parish-hero-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.parish-hero-brand>img,.parish-hero-cross{width:68px;height:68px;display:grid;place-items:center;object-fit:contain;padding:7px;border-radius:17px;background:#fff;color:#7b1421;font-size:36px;box-shadow:0 8px 22px rgba(30,0,5,.2)}.parish-hero-brand small{display:block;color:#edc665;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.parish-hero-brand b{display:block;margin-top:5px;color:#fff;font-size:13px;letter-spacing:.035em}.parish-history-hero h1{color:#fff;font-family:var(--font-display);font-size:clamp(38px,5vw,66px);line-height:1.02;margin:0 0 18px;text-shadow:0 2px 1px rgba(31,0,5,.2)}.parish-history-hero p{color:#f7e9e7;font-size:17px;line-height:1.7;margin:0;max-width:680px}.parish-history-hero blockquote{margin:22px 0 0;padding:12px 0 12px 18px;border-left:3px solid #e2b43f;color:#fff5d7;font-family:var(--font-display);font-size:18px;line-height:1.55}.parish-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.parish-hero-badges span{padding:8px 12px;border:1px solid rgba(246,214,133,.38);border-radius:999px;background:rgba(255,255,255,.08);color:#ffe8a8;font-size:12px;font-weight:700}.parish-history-visual{position:relative;min-height:470px;overflow:hidden;background:linear-gradient(150deg,#f8e8c7,#d8a73d)}.parish-history-visual>img{width:100%;height:100%;min-height:470px;object-fit:cover;display:block}.parish-history-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(35,4,8,.78))}.parish-history-visual-fallback{height:100%;min-height:470px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;color:#741522;background:radial-gradient(circle at 50% 38%,#fff8e9 0 18%,transparent 19%),linear-gradient(145deg,#faedcf,#dfb654)}.parish-history-visual-fallback span{font-size:92px}.parish-history-visual-fallback b{font-family:var(--font-display);font-size:20px}.parish-visual-caption{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}.parish-visual-caption small{display:block;color:#f2c958;text-transform:uppercase;font-size:10px;font-weight:800;letter-spacing:.12em}.parish-visual-caption strong{display:block;margin-top:5px;font-family:var(--font-display);font-size:22px}
.parish-history-nav{position:sticky;top:74px;z-index:5;display:flex;gap:8px;justify-content:center;padding:10px;margin-bottom:28px;background:rgba(255,252,247,.94);backdrop-filter:blur(12px);border:1px solid #eadfd6;border-radius:14px}.parish-history-nav a{color:#68121b;text-decoration:none;font-weight:700;padding:8px 16px;border-radius:9px}.parish-history-nav a:hover{background:#f6e9e7}
.parish-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:42px}.parish-facts article{padding:24px;text-align:center;border:1px solid #eadfd6;border-radius:16px;background:#fff}.parish-facts strong{display:block;color:#7f1620;font-family:var(--font-display);font-size:34px}.parish-facts span{color:#6f625e;font-size:13px}
.parish-story-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.75fr);gap:30px;align-items:start;margin-bottom:52px}.parish-story-grid h2,.parish-section-heading h2,.parish-contact-section h2{font-family:var(--font-display);color:#591018;font-size:clamp(28px,3vw,40px);line-height:1.2;margin:8px 0 22px}.parish-story-grid>div>p{font-size:16px;line-height:1.9;color:#544945}.parish-story-grid aside{background:#fbf3e5;border-top:4px solid #c9921e;border-radius:16px;padding:25px;box-shadow:0 12px 30px rgba(70,36,20,.08)}.parish-story-grid aside h3{margin-top:0;color:#68121b}.parish-story-grid dl{margin:0}.parish-story-grid dl div{padding:13px 0;border-bottom:1px solid #eadfd6}.parish-story-grid dt{color:#8a7770;font-size:12px;text-transform:uppercase;font-weight:700}.parish-story-grid dd{margin:4px 0 0;color:#401018;font-weight:700}
.parish-timeline-section{padding:42px;border-radius:22px;background:#68121b;color:#fff;margin-bottom:46px}.parish-timeline-section .parish-section-heading h2{color:#fff}.parish-timeline{position:relative;margin-top:28px}.parish-timeline:before{content:"";position:absolute;left:51px;top:12px;bottom:12px;width:2px;background:#c9921e}.parish-timeline article{position:relative;display:grid;grid-template-columns:105px 1fr;gap:26px;padding:0 0 28px}.parish-timeline time{position:relative;z-index:1;width:74px;padding:9px 4px;border-radius:999px;background:#c9921e;color:#321008;text-align:center;font-weight:900}.parish-timeline h3{margin:4px 0 6px;color:#fff}.parish-timeline p{margin:0;color:#eadbdd;line-height:1.7}.parish-source-note{font-size:12px;color:#d9c8ca;border-top:1px solid rgba(255,255,255,.18);padding-top:18px}.parish-source-note a{color:#f4cd70}
.parish-pastoral-section{margin-bottom:46px}.parish-pastoral-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.parish-pastoral-grid article{padding:24px;border-radius:17px;background:#fff;border:1px solid #eadfd6}.parish-pastoral-grid article>span{font-size:27px}.parish-pastoral-grid strong{display:block;color:#c18a18;font-family:var(--font-display);font-size:30px;margin-top:12px}.parish-pastoral-grid h3{color:#68121b;margin:4px 0 8px}.parish-pastoral-grid p{color:#756762;line-height:1.6;margin:0;font-size:13px}
.parish-places-section{margin:0 0 50px}.parish-places-section>.parish-section-heading{max-width:760px;margin-bottom:24px}.parish-places-section>.parish-section-heading p{color:#71635e;line-height:1.7}.parish-places-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.parish-place-card{overflow:hidden;border:1px solid #eadfd6;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(67,20,24,.08);transition:transform .2s,box-shadow .2s}.parish-place-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(67,20,24,.13)}.parish-place-photo{height:205px;overflow:hidden;background:#f5e9d3}.parish-place-photo img{width:100%;height:100%;display:block;object-fit:cover}.parish-place-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#7b1621;background:linear-gradient(145deg,#fff9ee,#ead09b)}.parish-place-placeholder span{font-size:58px}.parish-place-placeholder small{font-weight:800;text-transform:uppercase;letter-spacing:.1em}.parish-place-body{padding:20px}.parish-place-type{color:#b67b0c;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.parish-place-body h3{margin:7px 0 9px;color:#64121b;font-family:var(--font-display);font-size:21px}.parish-place-body p{min-height:38px;margin:0;color:#71645f;font-size:13px;line-height:1.55}.parish-place-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.parish-place-meta span{padding:6px 8px;border-radius:7px;background:#fbf3e5;color:#6b5242;font-size:11px}.parish-places-empty{display:flex;align-items:center;gap:18px;padding:25px;border:1px dashed #d6b165;border-radius:17px;background:#fff9ee}.parish-places-empty>span{font-size:42px}.parish-places-empty h3{margin:0 0 5px;color:#68121b}.parish-places-empty p{margin:0;color:#76665e}
.parish-activities-section{margin:0 0 50px;padding:38px;border:1px solid #eadfd6;border-radius:24px;background:linear-gradient(145deg,#fff,#fff9ef)}.parish-activities-section>.parish-section-heading{max-width:760px;margin-bottom:24px}.parish-activities-section>.parish-section-heading p{color:#71635e}.parish-activities-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:24px;align-items:start}.parish-activity-news{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.parish-activity-card{overflow:hidden;border:1px solid #eadfd6;border-radius:16px;background:#fff;cursor:pointer;transition:transform .2s,box-shadow .2s}.parish-activity-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(70,20,26,.11)}.parish-activity-card>img,.parish-activity-placeholder{width:100%;height:145px;display:grid;place-items:center;object-fit:cover;background:linear-gradient(145deg,#f7e8c7,#d9ad4d);color:#741522;font-size:42px}.parish-activity-card>div:last-child{padding:15px}.parish-activity-card span,.parish-event-row>div>span{color:#b07a12;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.parish-activity-card h3{margin:6px 0;color:#68121b;font-size:15px;line-height:1.4}.parish-activity-card p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;color:#746661;font-size:12px;line-height:1.55}.parish-activity-card time{display:block;margin-top:11px;color:#998983;font-size:10px}.parish-activities-layout>aside{padding:20px;border-radius:17px;background:#711522;color:#fff}.parish-activities-layout>aside>h3{margin:0 0 15px;color:#ffe29a;font-family:var(--font-display)}.parish-event-row{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.14)}.parish-event-row>time{display:flex;height:52px;flex-direction:column;align-items:center;justify-content:center;border-radius:10px;background:#e2b43f;color:#4b0d14}.parish-event-row>time strong{font-size:20px;line-height:1}.parish-event-row>time span{font-size:9px;font-weight:800}.parish-event-row h3{margin:4px 0;color:#fff;font-size:14px}.parish-event-row p{margin:0;color:#e6d4d6;font-size:11px;line-height:1.5}.parish-activity-empty{padding:18px;color:#8b7972;font-size:13px}
.parish-contact-section{display:flex;justify-content:space-between;gap:28px;align-items:center;padding:38px;border-radius:22px;background:#fff8ec;border:1px solid #e8d1aa}.parish-contact-links{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}.parish-contact-links span,.parish-contact-links a{padding:9px 12px;background:#fff;border:1px solid #e7d8c1;border-radius:9px;color:#5d171d;text-decoration:none}.parish-contact-actions{display:flex;gap:10px;flex-wrap:wrap}.parish-empty{text-align:center;padding:80px 20px}
@media(max-width:900px){.parish-history-hero{grid-template-columns:1fr}.parish-history-visual,.parish-history-visual>img,.parish-history-visual-fallback{min-height:300px;max-height:360px}.parish-facts,.parish-pastoral-grid{grid-template-columns:repeat(2,1fr)}.parish-places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parish-activities-layout{grid-template-columns:1fr}.parish-story-grid{grid-template-columns:1fr}.parish-history-hero-content{padding:38px}.parish-contact-section{display:block}.parish-contact-actions{margin-top:20px}}
@media(max-width:560px){.parish-history-hero{min-height:0;border-radius:16px}.parish-history-hero-content{padding:27px 23px}.parish-hero-brand{margin-bottom:22px}.parish-hero-brand>img,.parish-hero-cross{width:56px;height:56px}.parish-history-hero h1{font-size:39px}.parish-history-visual,.parish-history-visual>img,.parish-history-visual-fallback{min-height:235px;max-height:260px}.parish-history-nav{justify-content:flex-start;overflow-x:auto;top:62px}.parish-history-nav a{white-space:nowrap}.parish-facts,.parish-pastoral-grid{grid-template-columns:1fr 1fr}.parish-places-grid,.parish-activity-news{grid-template-columns:1fr}.parish-activities-section{padding:25px 18px}.parish-activity-card{display:grid;grid-template-columns:105px 1fr}.parish-activity-card>img,.parish-activity-placeholder{height:100%;min-height:140px}.parish-place-photo{height:210px}.parish-facts article,.parish-pastoral-grid article{padding:17px}.parish-timeline-section{padding:25px 18px}.parish-timeline:before{left:38px}.parish-timeline article{grid-template-columns:80px 1fr;gap:14px}.parish-timeline time{width:66px}.parish-contact-section{padding:25px 20px}}
.mass-print-dialog{width:min(1040px,calc(100vw - 32px))!important;max-width:1040px;overflow-x:hidden!important}.mass-print-dialog *{box-sizing:border-box}.mass-print-sheet{width:100%;overflow:hidden}.mass-print-table{width:100%!important;table-layout:fixed}.mass-print-table th,.mass-print-table td{min-width:0!important;overflow-wrap:anywhere;word-break:normal}.mass-print-table th:nth-child(1){width:13%}.mass-print-table th:nth-child(2){width:11%}.mass-print-table th:nth-child(3){width:29%}.mass-print-table th:nth-child(4){width:28%}.mass-print-table th:nth-child(5){width:19%}.mass-print-address{margin:4px 0 0;color:#475569;font-size:12px;line-height:1.45}
@media(max-width:700px){.mass-print-dialog{width:calc(100vw - 16px)!important;max-height:96vh!important}.mass-print-header-bar{align-items:flex-start!important;gap:10px;padding:12px!important}.mass-print-header-bar>div:last-child{flex-wrap:wrap;justify-content:flex-end}.mass-print-sheet{padding:18px 14px!important}.mass-print-table th,.mass-print-table td{padding:6px 5px!important;font-size:11px!important}.mass-print-table th:nth-child(1){width:17%}.mass-print-table th:nth-child(2){width:13%}.mass-print-table th:nth-child(3){width:27%}.mass-print-table th:nth-child(4){width:27%}.mass-print-table th:nth-child(5){width:16%}}
@media print{.mass-print-sheet{overflow:visible!important}.mass-print-table{table-layout:fixed!important}.mass-print-table th,.mass-print-table td{font-size:10.5pt!important;padding:5px 6px!important}.mass-print-address{color:#475569!important}}
.mobile-bottom-nav{display:none}
@media(max-width:760px){body{padding-bottom:72px}.mobile-bottom-nav{position:fixed;z-index:90;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:6px max(5px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) max(5px,env(safe-area-inset-left));border-top:1px solid #e4d9d2;background:rgba(255,253,249,.97);box-shadow:0 -8px 24px rgba(47,12,18,.13);backdrop-filter:blur(12px)}.mobile-bottom-nav .nav-btn{min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;border-radius:10px;color:#766864;font-size:17px}.mobile-bottom-nav .nav-btn b{max-width:100%;overflow:hidden;color:inherit;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobile-bottom-nav .nav-btn.active{background:#f6e8ea;color:var(--wine-800)}.mobile-bottom-nav .mobile-portal-entry{position:relative;margin-top:-18px;min-height:60px;border:4px solid #fffdf9;border-radius:18px;background:var(--wine-800);color:#fff;box-shadow:0 6px 16px rgba(84,16,27,.28)}.mobile-bottom-nav .mobile-portal-entry.active{background:var(--gold-500);color:#3d0c14}.portal-sidebar{position:static!important;margin-bottom:14px;padding:12px!important;border-radius:14px!important}.portal-sidebar .user-card{display:grid;grid-template-columns:46px 1fr;align-items:center;column-gap:10px;margin-bottom:8px;padding:3px 3px 10px;text-align:left}.portal-sidebar .user-card .avatar{grid-row:1/3;width:46px;height:46px;margin:0;border-radius:12px;font-size:17px}.portal-sidebar .user-card h3{align-self:end;font-size:14px}.portal-sidebar .user-card small{align-self:start;font-size:10px}.portal-menu{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin;scroll-snap-type:x proximity}.portal-menu button{width:auto!important;min-width:max-content;margin:0!important;padding:9px 11px!important;border:1px solid rgba(255,255,255,.18)!important;scroll-snap-align:start}.secure-head{flex-direction:column;padding:19px}.secure-head h2{font-size:24px}.permission-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.secure-section{padding:14px}.secure-title{display:block}.secure-qr-search{grid-template-columns:1fr}.secure-people{grid-template-columns:1fr}.secure-person{grid-template-columns:64px minmax(0,1fr);padding:11px}.secure-photo{width:64px;height:76px}.secure-person-qr{grid-column:1/-1;width:118px;height:118px;margin:auto}.auth-card{padding:22px}.auth-portal-features{grid-template-columns:1fr}}
.qr-profile-card{margin-top:14px;overflow:hidden;border:1px solid #c9e5d4;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(28,107,67,.09)}.qr-profile-verified{padding:11px 16px;background:#eaf7ef;color:#1c6b43;font-size:13px;font-weight:850;letter-spacing:.02em}.qr-profile-body{display:flex;align-items:center;gap:14px;padding:16px 16px 12px}.qr-profile-photo{width:72px;height:84px;flex:0 0 72px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:var(--soft);color:var(--primary);font-size:21px;font-weight:850}.qr-profile-photo img{width:100%;height:100%;object-fit:cover}.qr-profile-main{min-width:0}.qr-profile-main small{display:block;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.1em}.qr-profile-main h4{margin:4px 0;color:var(--primary);font-size:20px;line-height:1.25}.qr-profile-main strong{color:#1c6b43;font-size:13px}.qr-profile-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0 16px 16px;gap:9px}.qr-profile-grid>div{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:10px;background:#fafbfc}.qr-profile-grid dt{margin:0 0 4px;color:var(--muted);font-size:11px;font-weight:750}.qr-profile-grid dd{margin:0;color:#2e3338;font-size:13px;font-weight:750;overflow-wrap:anywhere}.qr-profile-status{display:inline-flex;padding:3px 7px;border-radius:999px;background:#eaf7ef;color:#1c6b43;font-size:11px}@media(max-width:680px){.qr-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.qr-profile-main h4{font-size:18px}}
.request-queue-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.request-queue-summary>div{padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}.request-queue-summary small{display:block;color:var(--muted);font-size:11px;font-weight:750}.request-queue-summary strong{display:block;margin-top:4px;color:var(--wine-900);font-size:24px}.request-other-box{margin:16px 0;padding:15px;border:1px solid var(--line);border-radius:13px;background:#fffaf3}.request-other-box h4{margin:0;color:var(--wine-900)}.request-other-box>p{margin:4px 0 12px;color:var(--muted);font-size:12px}
.p1-grid>.p1-col{border-color:var(--wine-100);box-shadow:0 10px 30px rgba(61,12,20,.08),inset 0 3px 0 var(--wine-500)}.p1-grid>.p1-col .p1-col-head{border-bottom-color:var(--wine-100);background:linear-gradient(180deg,#fffdf9,#fbf4f5)}
@media(max-width:900px){.admin-sidebar{position:static!important;margin-bottom:14px;padding:12px!important;border-radius:14px!important}.admin-brand{margin-bottom:8px;padding:3px 3px 10px}.admin-brand h3{font-size:15px}.admin-brand small{font-size:10px}.admin-menu{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 5px;scrollbar-width:thin;scroll-snap-type:x proximity}.admin-menu-title{display:none}.admin-menu button{width:auto!important;min-width:max-content;margin:0!important;padding:9px 11px!important;border:1px solid rgba(255,255,255,.18)!important;scroll-snap-align:start}.request-queue-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.request-inline-action{grid-template-columns:1fr!important}.request-inline-action label{display:grid;gap:5px}.request-history{align-items:flex-start;flex-direction:column}.admin-toolbar{align-items:flex-start}.admin-toolbar>div:last-child{display:flex;max-width:100%;flex-wrap:wrap;gap:7px}}
