:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--background:#f5f7fb;--foreground:#15181d;--muted:#667085;--line:#e5e8ef;--panel:#fff;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-soft:#eef4ff;--success:#079455;--success-soft:#ecfdf3;--warning:#dc6803;--warning-soft:#fff6ed;--danger:#d92d20;--danger-soft:#fef3f2;--shadow:0 18px 50px #0f172a14}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:Arial,Apple SD Gothic Neo,Malgun Gothic,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.shell{width:min(960px,100% - 32px);margin:0 auto;padding:64px 0}.intro{margin-bottom:32px}.eyebrow,.section-label{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:13px;font-weight:700}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:16px;font-size:clamp(40px,7vw,72px);line-height:1}h2{letter-spacing:0;margin-bottom:20px;font-size:24px}.lead{max-width:680px;color:var(--muted);font-size:18px;line-height:1.7}.panel{border:1px solid var(--line);background:var(--panel);border-radius:8px;padding:24px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.entry-card{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;gap:8px;padding:22px;display:grid}.entry-card span{color:var(--accent);font-size:14px;font-weight:800}.entry-card strong{letter-spacing:0;font-size:22px}.entry-card.disabled{color:var(--muted);box-shadow:none}.login-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:var(--panel);width:min(440px,100%);box-shadow:var(--shadow);border-radius:8px;padding:32px}.login-panel h1{font-size:36px}.login-form{gap:12px;display:grid}.login-form label{color:var(--foreground);font-size:14px;font-weight:800}.login-context{color:var(--muted);margin:-6px 0 18px;font-weight:800}.login-form input,.login-form select{border:1px solid var(--line);width:100%;height:52px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 14px}.login-form input:focus,.login-form select:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.form-error{color:var(--danger);margin:0;font-size:14px;font-weight:700}.setup-warning{background:#fffcf5;border:1px solid #fedf89;border-radius:8px;padding:16px}.setup-warning strong{color:#93370d;margin-bottom:8px;display:block}.setup-warning p{color:#7a2e0e;margin:0;line-height:1.6}.admin-app{grid-template-columns:260px minmax(0,1fr);min-height:100vh;display:grid}.admin-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.admin-brand{align-items:center;gap:12px;min-height:52px;margin-bottom:28px;display:flex}.brand-mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.admin-brand span:last-child{gap:2px;display:grid}.admin-brand strong{font-size:16px}.admin-brand small{color:var(--muted);font-weight:700}.admin-nav{gap:6px;margin:0;padding:0;display:grid}.admin-nav a,.admin-logout button{color:#344054;border-radius:6px;align-items:center;gap:10px;min-height:44px;padding:0 12px;font-weight:700;display:flex}.admin-nav a:hover,.admin-logout button:hover{background:#f2f4f7}.admin-logout{margin-top:auto}.admin-logout button{background:0 0;border:0;width:100%}.admin-main{min-width:0}.admin-topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffdb;justify-content:space-between;align-items:center;gap:18px;min-height:96px;padding:22px 32px;display:flex}.admin-topbar h1{margin:0;font-size:30px}.topbar-chip{border:1px solid var(--line);color:#344054;background:#fff;border-radius:999px;align-items:center;gap:8px;min-height:40px;padding:0 14px;font-weight:800;display:inline-flex}.admin-content{width:min(1180px,100% - 48px);margin:0 auto;padding:28px 0 56px}.dashboard-hero,.page-heading{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;padding:26px;display:flex}.dashboard-hero h2,.page-heading h2{margin-bottom:8px;font-size:34px}.dashboard-hero p:last-child{color:var(--muted);margin:0;font-weight:700}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.primary-button,.secondary-button,.text-button,.secondary-link{letter-spacing:0;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-weight:900;display:inline-flex}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.secondary-button,.secondary-link{border:1px solid var(--line);color:#344054;background:#fff}.text-button{min-height:38px;color:var(--accent);padding:0}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;padding:20px;display:grid}.metric-card svg{color:var(--accent)}.metric-card span{color:var(--muted);font-size:14px;font-weight:800}.metric-card strong{letter-spacing:0;font-size:42px;line-height:1}.metric-card.success svg{color:var(--success)}.metric-card.warning svg{color:var(--warning)}.metric-card.danger svg{color:var(--danger)}.dashboard-grid,.settings-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.admin-section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:22px}.admin-section.compact{padding:20px}.side-stack{gap:18px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading h2,.admin-section h2{margin-bottom:0;font-size:22px}.table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:560px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;padding:16px 8px}.admin-table th{color:var(--muted);font-size:13px;font-weight:900}.admin-table td{font-weight:800}.status-badge{border-radius:999px;align-items:center;min-height:30px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.status-badge.submitted{background:var(--success-soft);color:var(--success)}.status-badge.draft{background:var(--warning-soft);color:var(--warning)}.status-badge.missing{background:var(--danger-soft);color:var(--danger)}.empty-state{background:#f8fafc;border:1px dashed #cfd5df;border-radius:8px;padding:24px}.empty-state.small{padding:16px}.empty-state strong{margin-bottom:6px;font-size:17px;display:block}.empty-state p{color:var(--muted);margin:0;line-height:1.6}.setting-row{border-bottom:1px solid var(--line);gap:6px;padding:14px 0;display:grid}.setting-row span,.setting-card span,.send-item span{color:var(--muted);font-size:13px;font-weight:800}.setting-row strong,.setting-card strong{overflow-wrap:anywhere}.secondary-link{width:100%;margin-top:16px}.send-list{gap:12px;display:grid}.send-item{align-items:flex-start;gap:10px;display:flex}.send-item svg{color:var(--accent);flex:none}.send-item div{gap:3px;display:grid}.season-list{gap:14px;display:grid}.season-row{border:1px solid var(--line);background:#fff;border-radius:8px;padding:22px}.season-summary{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.season-summary h3{letter-spacing:0;margin:0 0 6px;font-size:24px}.season-summary p{color:var(--muted);margin:0;font-weight:700}.season-meta{flex-wrap:wrap;gap:12px;margin-bottom:14px;display:flex}.season-meta span{color:#344054;align-items:center;gap:6px;font-weight:800;display:inline-flex}.fam-pill-list{flex-wrap:wrap;gap:8px;display:flex}.fam-pill-list span{border:1px solid var(--line);background:#f8fafc;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-weight:800;display:inline-flex}.fam-pill-list span.inactive{color:var(--muted);text-decoration:line-through}.setting-card-list{gap:12px;display:grid}.setting-card{border:1px solid var(--line);border-radius:8px;align-items:flex-start;gap:14px;padding:18px;display:flex}.setting-card svg{color:var(--accent);flex:none}.setting-card div{gap:5px;min-width:0;display:grid}.admin-form{gap:14px;display:grid}.admin-form.nested{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.form-grid{align-items:end;gap:12px;display:grid}.form-grid.three{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.form-grid.four{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) auto}.admin-form label,.member-row label{gap:7px;min-width:0;display:grid}.admin-form label span,.member-row label span{color:var(--muted);font-size:13px;font-weight:900}.admin-form input,.admin-form select,.member-row input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 12px}.admin-form input:focus,.admin-form select:focus,.member-row input:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.checkbox-field{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;min-height:44px;padding:0 12px;gap:9px!important;display:flex!important}.checkbox-field input{width:18px;height:18px;min-height:18px;accent-color:var(--accent);padding:0}.subsection-heading{margin-top:22px;margin-bottom:10px}.subsection-heading.compact{margin-top:0}.subsection-heading h4,.fam-manager-header h4{letter-spacing:0;margin:0;font-size:19px}.fam-manager-list{gap:14px;margin-top:18px;display:grid}.fam-manager{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;padding:18px}.fam-manager-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.fam-manager-header p{color:var(--muted);margin:5px 0 0;font-weight:800}.member-block{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.member-list{gap:8px;margin-top:12px;display:grid}.member-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) 110px 108px 44px;align-items:end;gap:10px;padding:12px;display:grid}.icon-button{border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.settings-form{margin-bottom:4px}.settings-layout.single-side{grid-template-columns:340px minmax(0,1fr);margin-top:18px}.report-shell{width:min(1060px,100% - 40px);margin:0 auto;padding:32px 0 64px}.report-topbar{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;padding:24px;display:flex}.report-topbar h1{margin-bottom:8px;font-size:34px}.report-topbar p:last-child{color:var(--muted);margin:0;font-weight:800}.success-banner{background:var(--success-soft);min-height:46px;color:var(--success);border:1px solid #abefc6;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:0 16px;font-weight:900;display:flex}.report-layout,.report-form{gap:16px;display:grid}.report-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:22px}.report-card h2{margin-bottom:16px}.report-card label{gap:7px;min-width:0;display:grid}.report-card label span,.attendance-row label span{color:var(--muted);font-size:13px;font-weight:900}.report-card input,.report-card select,.report-card textarea,.attendance-row input,.attendance-row select{border:1px solid var(--line);width:100%;min-height:44px;color:var(--foreground);background:#fff;border-radius:8px;padding:0 12px}.report-card textarea{resize:vertical;min-height:112px;padding:12px;line-height:1.6}.report-card input:focus,.report-card select:focus,.report-card textarea:focus,.attendance-row input:focus,.attendance-row select:focus{outline:3px solid var(--accent-soft);border-color:var(--accent)}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-even{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-list{gap:10px;display:grid}.attendance-row{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;grid-template-columns:150px 150px minmax(0,1fr);align-items:end;gap:12px;padding:12px;display:grid}.attendance-row strong{align-items:center;min-height:44px;font-size:16px;display:flex}.prayer-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.report-actions{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:#ffffffeb;border-radius:8px;justify-content:flex-end;gap:10px;padding:14px;display:flex;position:sticky;bottom:0}.preview-shell{width:min(980px,100% - 32px);margin:0 auto;padding:24px 0 56px}.preview-toolbar{justify-content:space-between;gap:12px;margin-bottom:18px;display:flex}.pdf-preview-page{width:794px;min-height:1123px;box-shadow:var(--shadow);background:#fff;margin:0 auto;padding:42px 30px}.pdf-report-table{border-collapse:collapse;color:#000;width:100%;font-family:AppleMyungjo,Batang,Apple SD Gothic Neo,serif}.pdf-report-table th,.pdf-report-table td{vertical-align:top;border:1px solid #111}.pdf-title{letter-spacing:0;text-align:center;height:34px;font-size:22px}.pdf-section-title{text-align:center;height:24px;font-size:18px}.pdf-meta-row td{text-align:center;min-height:28px;padding:4px 10px;font-size:18px;font-weight:800}.pdf-body-cell{white-space:pre-wrap;min-height:70px;padding:8px;font-size:16px;line-height:1.75}.pdf-body-cell p{margin:0 0 4px}.pdf-prayer-item{margin-bottom:20px}.pdf-prayer-item strong{margin-bottom:4px;display:block}.pdf-prayer-item p{margin:0 0 4px}.pdf-footer{text-align:center;padding:8px;font-size:18px;font-style:italic;font-weight:900}.multiline{white-space:pre-wrap}@media print{body{background:#fff}.preview-toolbar{display:none}.preview-shell{width:auto;padding:0}.pdf-preview-page{width:auto;min-height:auto;box-shadow:none;margin:0;padding:0}}@media (max-width:960px){.admin-app{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:16px;position:static}.admin-brand{margin-bottom:14px}.admin-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-logout{margin-top:12px}.admin-topbar,.dashboard-hero,.page-heading{flex-direction:column;align-items:flex-start}.admin-content{width:min(100% - 32px,760px)}.metric-grid,.dashboard-grid,.settings-layout,.settings-layout.single-side,.form-grid.three,.form-grid.four,.form-grid.two,.form-grid.three-even,.member-row,.attendance-row,.prayer-list{grid-template-columns:1fr}.report-topbar{flex-direction:column}.report-actions,.preview-toolbar{flex-wrap:wrap}.pdf-preview-page{width:100%;min-height:auto;overflow-x:auto}}@media (max-width:640px){.shell{width:min(100% - 28px,960px);padding:38px 0}h1{font-size:42px}.entry-grid{grid-template-columns:1fr}.login-panel{padding:24px}.admin-topbar{padding:18px}.admin-topbar h1,.dashboard-hero h2,.page-heading h2{font-size:28px}.admin-nav a{justify-content:center;padding:0 8px}.metric-card strong{font-size:36px}}
