@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_d8ebd1{font-family:Inter,Inter Fallback;font-style:normal}.__variable_d8ebd1{--font-inter:"Inter","Inter Fallback"}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/f11ffaf03a80bc19-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/b818b0ea116ed117-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/ed89fb4fc238c6bf-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/e115bc1b6e48400d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/fc9d3723ce3bfccb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/_next/static/media/597b6a5d799c44de-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Source Serif 4 Fallback";src:local("Times New Roman");ascent-override:87.87%;descent-override:28.41%;line-gap-override:0.00%;size-adjust:117.91%}.__className_704693{font-family:"Source Serif 4","Source Serif 4 Fallback";font-style:normal}.__variable_704693{--font-serif:"Source Serif 4","Source Serif 4 Fallback"}:root{--bg:#f8f9fb;--bg-card:#ffffff;--bg-sidebar:#0f1a2e;--bg-sidebar-hover:#1a2a45;--bg-sidebar-active:#1e3a5f;--bg-input:#ffffff;--bg-muted:#f1f3f7;--bg-skeleton:#e8eaef;--fg:#1a1d23;--fg-secondary:#5a6070;--fg-muted:#8b90a0;--fg-sidebar:#94a3b8;--fg-sidebar-active:#ffffff;--fg-on-accent:#ffffff;--accent:#1e3a5f;--accent-hover:#2a4f7a;--accent-solid:#1e3a5f;--accent-solid-hover:#2a4f7a;--accent-light:#e8eef6;--border:#e2e5eb;--border-focus:#1e3a5f;--green:#16a34a;--green-bg:#f0fdf4;--amber:#d97706;--amber-bg:#fffbeb;--red:#dc2626;--red-bg:#fef2f2;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);--shadow-lg:0 4px 12px rgba(0,0,0,.1);--sidebar-w:240px;--topbar-h:56px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111318;--bg-card:#1a1d24;--bg-sidebar:#0d0f14;--bg-sidebar-hover:#1a1d24;--bg-sidebar-active:#1e3a5f;--bg-input:#22252d;--bg-muted:#1e2028;--bg-skeleton:#2a2d36;--fg:#e8eaef;--fg-secondary:#d0d5e0;--fg-muted:#b7beca;--fg-sidebar:#d5dbe6;--fg-sidebar-active:#ffffff;--accent:#9ec4ef;--accent-hover:#b7d4f5;--accent-solid:#2c649e;--accent-solid-hover:#3d7eb8;--accent-light:#1a2a3f;--border:#2a2d36;--border-focus:#4a7db5;--green:#22c55e;--green-bg:#0a1f10;--amber:#f59e0b;--amber-bg:#1a1608;--red:#ef4444;--red-bg:#1f0a0a;--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow:0 1px 3px rgba(0,0,0,.3);--shadow-lg:0 4px 12px rgba(0,0,0,.4);color-scheme:dark}}:root[data-theme=dark]{--bg:#111318;--bg-card:#1a1d24;--bg-sidebar:#0d0f14;--bg-sidebar-hover:#1a1d24;--bg-sidebar-active:#1e3a5f;--bg-input:#22252d;--bg-muted:#1e2028;--bg-skeleton:#2a2d36;--fg:#e8eaef;--fg-secondary:#d0d5e0;--fg-muted:#b7beca;--fg-sidebar:#d5dbe6;--fg-sidebar-active:#ffffff;--accent:#9ec4ef;--accent-hover:#b7d4f5;--accent-solid:#2c649e;--accent-solid-hover:#3d7eb8;--accent-light:#1a2a3f;--border:#2a2d36;--border-focus:#4a7db5;--green:#22c55e;--green-bg:#0a1f10;--amber:#f59e0b;--amber-bg:#1a1608;--red:#ef4444;--red-bg:#1f0a0a;--shadow-sm:0 1px 2px rgba(0,0,0,.2);--shadow:0 1px 3px rgba(0,0,0,.3);--shadow-lg:0 4px 12px rgba(0,0,0,.4);color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}a{color:var(--accent);text-decoration:none}.checkin-name a,.mobile-nav a,.settings-nav a,.sidebar a,.td-name a{color:inherit}button,input,select,textarea{font-family:inherit}.muted{color:var(--fg-muted);font-size:13px}.stack{display:flex;flex-direction:column;gap:16px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.inline-form{display:flex;flex-wrap:wrap;gap:8px;align-items:end}.group-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.group-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px 18px;box-shadow:var(--shadow-sm)}.group-card h3{font-size:15px;font-weight:600;margin-bottom:4px}.steps{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.step{font-size:12px;font-weight:600;color:var(--fg-muted);padding:6px 10px;border-radius:999px;background:var(--bg-muted)}.step.active{background:var(--accent-solid);color:#fff}.step.done{background:var(--green-bg);color:var(--green)}body{background:var(--bg);color:var(--fg);font-family:var(--font-inter),Inter,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;margin:0}.screen-nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--bg-sidebar);padding:8px max(16px,env(safe-area-inset-left,0px));display:flex;align-items:center;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch}.screen-nav::-webkit-scrollbar{height:0}.screen-nav-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding-right:8px;border-right:1px solid rgba(255,255,255,.1);margin-right:4px}.screen-btn,.screen-nav-label{color:var(--fg-sidebar);white-space:nowrap}.screen-btn{background:transparent;border:1px solid transparent;font-family:inherit;font-size:12px;font-weight:500;padding:5px 10px;border-radius:6px;cursor:pointer;transition:all .15s}.screen-btn:hover{background:var(--bg-sidebar-hover);color:#cbd5e1}.screen-btn.active{background:var(--bg-sidebar-active);color:#fff;border-color:rgba(255,255,255,.15)}.screen{display:none;padding-top:0;min-height:100vh}.screen.active{display:block}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px 0}.auth-card{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 32px}.auth-logo{display:flex;align-items:center;gap:10px;margin-bottom:32px;width:-moz-fit-content;width:fit-content;color:inherit;text-decoration:none}a.auth-logo:hover .auth-logo-text{color:var(--accent)}.auth-logo-icon{width:44px;height:44px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.auth-logo-icon img{width:40px;height:40px;-o-object-fit:contain;object-fit:contain;display:block}.auth-logo-text{font-family:var(--font-serif),Georgia,serif;font-weight:600}.auth-heading,.auth-logo-text{font-size:22px;color:var(--fg)}.auth-heading{font-weight:700;margin-bottom:4px;text-wrap:balance}.auth-subhead{color:var(--fg-secondary);margin-bottom:28px;font-size:14px}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--fg);margin-bottom:6px}.form-input{width:100%;height:42px;padding:0 14px;background-color:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--fg);font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s;outline:none}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.form-input::-moz-placeholder{color:var(--fg-muted)}.form-input::placeholder{color:var(--fg-muted)}.form-input-lg{height:46px;font-size:16px}textarea.form-input{height:auto;padding:10px 14px;resize:vertical;min-height:80px}.form-hint{color:var(--fg-muted)}.form-error,.form-hint{font-size:12px;margin-top:4px}.form-error{color:var(--red)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:480px){.form-row{grid-template-columns:1fr}}.form-checkbox{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.form-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin-top:1px;flex-shrink:0}.form-checkbox-label{font-size:13px;color:var(--fg-secondary);line-height:1.4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:42px;padding:0 20px;border-radius:var(--radius);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all .15s;text-decoration:none;white-space:nowrap}.btn-primary{background:var(--accent-solid);color:var(--fg-on-accent);border-color:var(--accent-solid)}.btn-primary:hover{background:var(--accent-solid-hover);border-color:var(--accent-solid-hover)}.btn-secondary{background:var(--bg-card);color:var(--fg);border-color:var(--border)}.btn-secondary:hover{background:var(--bg-muted)}.btn-ghost{background:transparent;color:var(--accent);border:none;padding:0 12px}.btn-ghost:hover{background:var(--accent-light)}.btn-danger{background:var(--red);color:#fff;border-color:var(--red)}.btn-sm{height:34px;padding:0 14px;font-size:13px}.btn-full{width:100%}.btn svg{width:16px;height:16px;flex-shrink:0}.btn:disabled{opacity:.55;cursor:not-allowed}select.form-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23b7beca' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}:root[data-theme=light] select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235a6070' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E")}.badge{display:inline-flex;align-items:center;padding:2px 10px;border-radius:100px;font-size:12px;font-weight:500;line-height:1.6}.badge-green{background:var(--green-bg);color:var(--green)}.badge-amber{background:var(--amber-bg);color:var(--amber)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-muted{background:var(--bg-muted);color:var(--fg-muted)}.dashboard{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);background:var(--bg-sidebar);position:fixed;top:0;left:0;bottom:0;display:flex;flex-direction:column;padding:16px 0;overflow-y:auto;z-index:50}.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 20px;margin-bottom:24px;width:-moz-fit-content;width:fit-content;color:inherit;text-decoration:none}a.sidebar-logo:hover .sidebar-logo-text{opacity:.8}.sidebar-logo-icon{width:36px;height:36px;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.sidebar-logo-icon img{width:32px;height:32px;-o-object-fit:contain;object-fit:contain;display:block}.sidebar-logo-text{font-family:var(--font-serif),Georgia,serif;font-size:17px;font-weight:600;color:#fff}.sidebar-section{padding:0 12px;margin-bottom:8px}.sidebar-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#c5d0e0;padding:8px 8px 4px}.sidebar-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:6px;color:var(--fg-sidebar);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s;text-decoration:none;border:none;background:none;width:100%;text-align:left}.sidebar-item:hover{background:var(--bg-sidebar-hover);color:#cbd5e1}.sidebar a.sidebar-item{color:var(--fg-sidebar)}.sidebar a.sidebar-item.active,.sidebar-item.active{background:var(--bg-sidebar-active);color:var(--fg-sidebar-active)}.sidebar-item svg{width:18px;height:18px;flex-shrink:0;opacity:.7}.sidebar-item.active svg{opacity:1}.sidebar-item-badge{margin-left:auto;background:var(--accent-solid);color:#fff;font-size:10px;font-weight:700;padding:1px 7px;border-radius:10px;min-width:20px;text-align:center}.sidebar-footer{margin-top:auto;padding:12px;border-top:1px solid rgba(255,255,255,.06)}.sidebar-user{gap:10px;padding:8px;border-radius:8px}.sidebar-avatar,.sidebar-user{display:flex;align-items:center}.sidebar-avatar{width:34px;height:34px;border-radius:50%;background:var(--accent-solid);justify-content:center;color:#fff;font-size:13px;font-weight:600;flex-shrink:0}.sidebar-user-name{color:#e2e8f0;font-size:13px;font-weight:500}.sidebar-user-role{color:#b7c3d4;font-size:11px}.topbar{height:var(--topbar-h);background:var(--bg-card);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:40}.topbar-title{font-size:18px;font-weight:700;color:var(--fg)}.topbar-breadcrumb{color:var(--fg-muted);font-size:13px}.topbar-right{margin-left:auto;gap:12px}.topbar-icon-btn,.topbar-right{display:flex;align-items:center}.topbar-icon-btn{width:36px;height:36px;border-radius:8px;justify-content:center;color:var(--fg-secondary);background:transparent;border:none;cursor:pointer;transition:all .12s;position:relative}.topbar-icon-btn:hover{background:var(--bg-muted);color:var(--fg)}.topbar-icon-btn svg{width:20px;height:20px}.notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:var(--red);border-radius:50%;border:2px solid var(--bg-card)}.main-content{margin-left:var(--sidebar-w);flex:1;min-width:0}.content-area{padding:24px;max-width:1200px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.stat-card-label{font-size:12px;font-weight:500;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.stat-card-value{font-size:28px;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums;line-height:1.1}.stat-card-change{font-size:12px;font-weight:500;margin-top:6px;display:flex;align-items:center;gap:4px}.stat-up{color:var(--green)}.stat-down{color:var(--red)}.table-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);gap:12px;flex-wrap:wrap}.table-title{font-size:15px;font-weight:600;color:var(--fg)}.table-search{height:36px;width:240px;max-width:100%;padding:0 12px 0 36px;background:var(--bg-muted);border:1px solid transparent;border-radius:var(--radius);color:var(--fg);font-family:inherit;font-size:13px;outline:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%238b90a0' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='m11 11 3 3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px;transition:border-color .15s}.table-search:focus{border-color:var(--border-focus);background-color:var(--bg-input)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 16px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);background:var(--bg-muted)}td,th{border-bottom:1px solid var(--border);white-space:nowrap}td{padding:12px 16px;color:var(--fg)}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg-muted)}.td-name{font-weight:500}.table-pagination{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--border);font-size:13px;color:var(--fg-muted)}.table-pagination-btns{display:flex;gap:4px}.page-btn{height:32px;min-width:32px;padding:0 8px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--fg-secondary);font-family:inherit;font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center}.page-btn:hover{background:var(--bg-muted)}.page-btn.active{background:var(--accent-solid);color:#fff;border-color:var(--accent-solid)}.chart-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}.chart-card-title{font-size:15px;font-weight:600;color:var(--fg);margin-bottom:4px}.chart-card-subtitle{font-size:12px;color:var(--fg-muted);margin-bottom:16px}.chart-area{width:100%;height:200px;display:flex;align-items:flex-end;gap:6px;padding-top:16px;position:relative}.chart-bar{flex:1;background:var(--accent);border-radius:4px 4px 0 0;min-width:0;opacity:.85;transition:opacity .15s}.chart-bar:hover{opacity:1}.chart-labels{display:flex;gap:6px;margin-top:8px}.chart-label{flex:1;text-align:center;font-size:10px;color:var(--fg-muted);min-width:0;overflow:hidden;text-overflow:ellipsis}.visitor-page{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:32px 0;background:#e8eef6}:root:not([data-theme=light]) .visitor-page,:root[data-theme=dark] .visitor-page{background:#111318}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .visitor-page{background:#111318}}.visitor-card{width:100%;max-width:520px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.visitor-header{background:var(--accent-solid);padding:28px 32px;text-align:center}.visitor-church-logo{width:64px;height:64px;background:#fff;border-radius:14px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;overflow:hidden}.visitor-church-logo img{width:56px;height:56px;-o-object-fit:contain;object-fit:contain;display:block}.visitor-church-name{font-family:var(--font-serif),Georgia,serif;font-size:18px;font-weight:600;color:#fff;margin-bottom:2px}.visitor-form-title{font-size:14px;color:rgba(255,255,255,.75)}.visitor-body{padding:28px 32px}.visitor-section-title{font-size:13px;font-weight:600;color:var(--fg);text-transform:uppercase;letter-spacing:.06em;margin:24px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}.visitor-section-title:first-child{margin-top:0}.radio-group{display:flex;flex-wrap:wrap;gap:8px}.radio-pill{display:flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid var(--border);border-radius:100px;font-size:13px;color:var(--fg-secondary);cursor:pointer;transition:all .12s;background:var(--bg-input)}.radio-pill.selected,.radio-pill:hover{border-color:var(--accent)}.radio-pill.selected{background:var(--accent-light);color:var(--accent);font-weight:500}.radio-dot{width:14px;height:14px;border-radius:50%;border:2px solid var(--border);position:relative;flex-shrink:0}.radio-pill.selected .radio-dot{border-color:var(--accent)}.radio-pill.selected .radio-dot:after{content:"";position:absolute;inset:2px;border-radius:50%;background:var(--accent)}.child-row{display:grid;grid-template-columns:1fr 60px 60px auto;gap:8px;align-items:end;margin-bottom:8px}.child-row .form-input{height:38px;font-size:13px}.add-child-btn{background:none;border:1px dashed var(--border);border-radius:var(--radius);padding:8px;color:var(--accent);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;width:100%;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .12s}.add-child-btn:hover{background:var(--accent-light);border-color:var(--accent)}.consent-box{background:var(--bg-muted);border-radius:var(--radius);padding:14px;margin-top:20px}.visitor-footer{padding:0 32px 28px}.usher-mobile{max-width:400px;margin:0 auto;padding-bottom:80px}.usher-event-card{background:var(--accent-solid);border-radius:var(--radius-lg);padding:20px;color:#fff;margin-bottom:20px}.usher-event-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.usher-event-name{font-size:20px;font-weight:700;margin:4px 0}.usher-event-meta{font-size:13px;opacity:.8;display:flex;gap:16px}.usher-count-strip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px}.usher-count-box{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px;text-align:center}.usher-count-num{font-size:24px;font-weight:700;color:var(--fg);font-variant-numeric:tabular-nums}.usher-count-label{font-size:10px;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em}.usher-search-bar{position:relative;margin-bottom:16px}.usher-search-bar .form-input{height:48px;font-size:16px;padding-left:44px;border-radius:var(--radius-lg)}.usher-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--fg-muted)}.usher-search-icon svg{width:20px;height:20px}.checkin-list{display:flex;flex-direction:column;gap:6px}.checkin-person{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .12s}.checkin-person:hover{border-color:var(--accent)}.checkin-person.checked{background:var(--green-bg);border-color:var(--green)}.checkin-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-muted);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;color:var(--fg-secondary);flex-shrink:0}.checkin-person.checked .checkin-avatar{background:var(--green);color:#fff}.checkin-name{font-weight:500;color:var(--fg);font-size:14px}.checkin-meta{font-size:12px;color:var(--fg-muted)}.checkin-check{margin-left:auto;width:28px;height:28px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .12s}.checkin-person.checked .checkin-check{background:var(--green);border-color:var(--green)}.usher-fab{position:fixed;bottom:24px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--accent-solid);color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;transition:transform .15s}.usher-fab:hover{transform:scale(1.08)}.usher-fab svg{width:24px;height:24px}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;background:var(--bg-card);border-top:1px solid var(--border);padding:0 max(8px,env(safe-area-inset-left,0px)) env(safe-area-inset-bottom,0);z-index:50}.mobile-nav-inner{display:flex;height:100%;align-items:center;justify-content:space-around}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;background:none;border:none;cursor:pointer;color:var(--fg-muted);font-size:10px;font-family:inherit;font-weight:500;transition:color .12s}.mobile-nav-item.active{color:var(--accent)}.mobile-nav-item svg{width:22px;height:22px}.welfare-tabs{display:flex;gap:4px;margin-bottom:20px;background:var(--bg-muted);border-radius:var(--radius);padding:3px}.welfare-tab{flex:1;padding:8px 16px;border-radius:6px;background:transparent;border:none;font-family:inherit;font-size:13px;font-weight:500;color:var(--fg-secondary);cursor:pointer;text-align:center;transition:all .12s}.welfare-tab.active{background:var(--bg-card);color:var(--fg);box-shadow:var(--shadow-sm)}.welfare-tab:hover:not(.active){color:var(--fg)}.ft-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;align-items:flex-start;gap:14px;margin-bottom:10px}.ft-card-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex-shrink:0}.ft-card-body{flex:1;min-width:0}.ft-card-name{font-weight:600;color:var(--fg);margin-bottom:2px}.ft-card-detail{font-size:12px;color:var(--fg-muted);margin-bottom:8px}.ft-card-actions{display:flex;gap:6px}.birthday-row{display:flex;align-items:center;gap:14px;padding:14px 16px;border-bottom:1px solid var(--border)}.birthday-row:last-child{border-bottom:none}.birthday-date{width:48px;height:48px;border-radius:var(--radius);background:var(--accent-light);color:var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:16px;line-height:1}.birthday-date span{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.birthday-info{flex:1;min-width:0}.birthday-name{font-weight:500;color:var(--fg)}.birthday-phone{font-size:12px;color:var(--fg-muted)}.person-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.person-avatar-lg{width:72px;height:72px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;color:#fff;font-size:26px;font-weight:700;flex-shrink:0}.person-name{font-size:22px;font-weight:700;color:var(--fg)}.person-meta-row{font-size:13px;color:var(--fg-secondary);display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.person-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}.person-tab{padding:10px 16px;font-size:13px;font-weight:500;color:var(--fg-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;font-family:inherit;transition:all .12s}.person-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.person-tab:hover:not(.active){color:var(--fg)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);font-weight:600;margin-bottom:2px}.detail-value{font-size:14px;color:var(--fg)}.settings-layout{display:grid;grid-template-columns:200px 1fr;gap:24px}.settings-nav{display:flex;flex-direction:column;gap:2px}.settings-nav-item{padding:8px 14px;border-radius:6px;font-size:13px;font-weight:500;color:var(--fg-secondary);cursor:pointer;transition:all .12s;background:none;border:none;text-align:left;font-family:inherit}.settings-nav-item.active{background:var(--accent-light);color:var(--accent)}.settings-nav-item:hover:not(.active){background:var(--bg-muted)}.settings-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px}.settings-section-title{font-size:16px;font-weight:600;color:var(--fg);margin-bottom:4px}.settings-section-desc{font-size:13px;color:var(--fg-secondary);margin-bottom:20px}.settings-divider{border:none;border-top:1px solid var(--border);margin:24px 0}@media (max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-grid,.settings-layout{grid-template-columns:1fr}}@media (max-width:768px){.sidebar{display:none}.main-content{margin-left:0}.mobile-nav{display:block}.topbar{padding:0 16px;top:0}.content-area{padding:16px 16px 96px}.stats-grid{grid-template-columns:1fr 1fr}.person-header{flex-direction:column;text-align:center}.person-meta-row{justify-content:center}.table-header{flex-direction:column;align-items:stretch}.table-search{width:100%}.auth-card{padding:28px 20px}.visitor-body{padding:20px}.visitor-header{padding:24px 20px}.child-row{grid-template-columns:1fr 50px 50px auto}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.usher-count-strip{grid-template-columns:1fr 1fr 1fr}.form-grid,.form-row{grid-template-columns:1fr}}.skeleton{background:var(--bg-skeleton);border-radius:4px;position:relative;overflow:hidden}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);animation:shimmer 1.5s infinite}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.toast-demo{position:fixed;bottom:24px;right:24px;background:var(--fg);color:var(--bg);padding:12px 20px;border-radius:var(--radius);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:10px;z-index:200;animation:slideIn .3s ease;max-width:320px}.toast-demo.hidden{display:none}@keyframes slideIn{0%{transform:translateY(16px);opacity:0}}.toast-check{color:var(--green)}.chart-grid-line{stroke:var(--border);stroke-dasharray:3 3}.chart-line{stroke:var(--accent);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-area-fill{fill:var(--accent);opacity:.08}.chart-dot{fill:var(--accent);stroke:var(--bg-card);stroke-width:2}.chart-axis-label{fill:var(--fg-muted);font-size:11px;font-family:var(--font-inter),Inter,sans-serif}button.checkin-person{width:100%;text-align:left;color:inherit}.usher-search-bar{display:flex;gap:8px;align-items:center}.usher-search-bar .form-input{flex:1;width:auto}.page-btn:disabled{opacity:.45;cursor:not-allowed}@media (max-width:768px){.usher-fab{bottom:88px;right:16px}}