:root{--bg-body:#faf4e8;--bg-card:#fff;--bg-sidebar:#2b0f14;--bg-input:#fbf6ec;--bg-input-focus:#fff;--bg-table-header:#2b0f14;--bg-table-hover:#fbf6ec;--bg-table-row-open:#fdf6dc;--bg-table-row-open-hover:#fdf0ce;--bg-chip:#fbf6ec;--bg-vp2-page:radial-gradient(1000px 300px at 80% -50px, #b453091f, transparent), linear-gradient(160deg, #faf4e8 0%, #fbf6ec 60%);--bg-vp2-topbar:#ffffffe0;--bg-vp2-card:#fff;--bg-vp2-cell:#fbf6ec;--bg-checkin:#ecfdf5;--bg-checkin-inactive:#fbf6ec;--bg-overlay:#ffffffb8;--bg-landing:linear-gradient(135deg, #2b0f14 0%, #3a1218 50%, #4a1219 100%);--bg-login:linear-gradient(135deg, #2b0f14 0%, #3a1218 50%, #4a1219 100%);--bg-volunteer-layout:linear-gradient(160deg, #faf4e8 0%, #fbf6ec 60%);--color-text:#2b0f14;--color-text-secondary:#5a4636;--color-text-muted:#8a7460;--color-text-soft:#a08a72;--color-text-faint:#a08a72;--color-text-sidebar:#c9b49b;--color-text-landing:#fff;--color-text-landing-muted:#c9b49b;--color-text-vp2:#3a2a22;--color-text-vp2-muted:#8a7460;--border-color:#e7d9c3;--border-color-soft:#f0e6d4;--border-color-darker:#d8c7ae;--border-color-vp2:#e7d9c3;--border-color-vp2-cell:#f0e6d4;--border-color-sidebar:#ffffff14;--border-color-otp:#d8c7ae;--border-color-chip:#e7d9c3;--border-color-checkin:#bbf7d0;--border-color-checkin-inactive:#f0e6d4;--border-color-alert-error:#fecaca;--border-color-alert-success:#bbf7d0;--shadow-card:0 1px 4px #0000000f, 0 2px 8px #0000000a;--shadow-stat:0 1px 3px #0000000d;--shadow-modal:0 20px 60px #00000040;--shadow-vp2-card:0 1px 3px #2b0f140d;--accent:#b45309;--accent-hover:#92400e;--accent-violet:#8c1d2f;--color-green:#166534;--color-green-bright:#4ade80;--color-green-active:#22c55e;--color-green-active-hover:#15803d;--color-green-checkin:#16a34a;--color-green-checkin-hover:#15803d;--color-green-dot-inactive:#d8c7ae;--color-danger:#dc2626;--color-danger-hover:#dc2626;--color-danger-dark:#b91c1c;--color-checkout:#dc2626;--color-checkout-hover:#b91c1c;--color-warning-bg:#fdf3e6;--color-warning-border:#eab308;--color-warning-text:#9a3412;--color-warning-icon:#ca8a04;--color-success-border:#15803d;--bg-badge-violet:#f6e4e7;--color-badge-violet:#7b1e2b;--bg-badge-blue:#fbf0dc;--color-badge-blue:#1e40af;--bg-badge-red:#fee2e2;--color-badge-red:#991b1b;--bg-badge-gray:#f7efe1;--color-badge-gray:#6b5747;--bg-badge-green:#dcfce7;--color-badge-green:#166534;--bg-area-tag:#f6e4e7;--color-area-tag:#7b1e2b;--bg-stat-chip-count:#fbf0dc;--color-stat-chip-count:#92400e;--bg-vp2-portal-tag:#fbf0dc;--color-vp2-portal-tag:#b45309;--color-spinner-border:#e7d9c3;--color-spinner-top:#b45309;--color-spinner-text:#8a7460;--border-color-pagination:#f0e6d4;--color-vp2-camera:#5a4636;--bg-vp2-camera:#fff;--bg-vp2-card-accent:linear-gradient(180deg, #fffbf2 0%, #fff 30%);--color-landing-subtitle:#c9b49b;--color-portal-card-desc:#c9b49b}[data-theme=dark]{--bg-body:#140c0a;--bg-card:#241a15;--bg-sidebar:#140c0a;--bg-input:#140c0a;--bg-input-focus:#241a15;--bg-table-header:#241a15;--bg-table-hover:#1c2333;--bg-table-row-open:#1a1f0e;--bg-table-row-open-hover:#22260e;--bg-chip:#241a15;--bg-vp2-page:radial-gradient(1000px 300px at 80% -50px, #b4530914, transparent), linear-gradient(160deg, #140c0a 0%, #140c0a 60%);--bg-vp2-topbar:#140c0ae0;--bg-vp2-card:#241a15;--bg-vp2-cell:#140c0a;--bg-checkin:#0c1f0c;--bg-checkin-inactive:#140c0a;--bg-overlay:#0a0403b8;--bg-landing:linear-gradient(135deg, #140c0a 0%, #241a15 50%, #241a15 100%);--bg-login:linear-gradient(135deg, #140c0a 0%, #241a15 50%, #241a15 100%);--bg-volunteer-layout:linear-gradient(160deg, #140c0a 0%, #140c0a 60%);--color-text:#f6eada;--color-text-secondary:#dcc9b4;--color-text-muted:#a08a72;--color-text-soft:#6e7681;--color-text-faint:#5a4636;--color-text-sidebar:#a08a72;--color-text-landing:#fff;--color-text-landing-muted:#a08a72;--color-text-vp2:#f6eada;--color-text-vp2-muted:#a08a72;--border-color:#3a2a22;--border-color-soft:#2a1c15;--border-color-darker:#3a2a22;--border-color-vp2:#3a2a22;--border-color-vp2-cell:#2a1c15;--border-color-sidebar:#8b949e26;--border-color-otp:#3a2a22;--border-color-chip:#3a2a22;--border-color-checkin:#1a4a1a;--border-color-checkin-inactive:#2a1c15;--border-color-alert-error:#5a1a1a;--border-color-alert-success:#1a4a1a;--shadow-card:0 1px 4px #0000004d, 0 2px 8px #0003;--shadow-stat:0 1px 3px #0000004d;--shadow-modal:0 20px 60px #00000080;--shadow-vp2-card:0 1px 3px #0000004d;--color-green:#4ade80;--color-green-bright:#4ade80;--color-green-active:#22c55e;--color-green-active-hover:#16a34a;--color-green-checkin:#22c55e;--color-green-checkin-hover:#16a34a;--color-green-dot-inactive:#5a4636;--color-danger:#f87171;--color-danger-hover:#dc2626;--color-danger-dark:#f87171;--color-checkout:#f87171;--color-checkout-hover:#dc2626;--color-warning-bg:#422006;--color-warning-border:#b45309;--color-warning-text:#fed7aa;--color-warning-icon:#ca8a04;--color-success-border:#22c55e;--bg-badge-violet:#9a341226;--color-badge-violet:#fcd34d;--bg-badge-blue:#0f766e26;--color-badge-blue:#93c5fd;--bg-badge-red:#dc262626;--color-badge-red:#fca5a5;--bg-badge-gray:#c9b49b26;--color-badge-gray:#a08a72;--bg-badge-green:#22c55e26;--color-badge-green:#86efac;--bg-area-tag:#9a341226;--color-area-tag:#fcd34d;--bg-stat-chip-count:#b4530926;--color-stat-chip-count:#fbbf24;--bg-vp2-portal-tag:#b4530926;--color-vp2-portal-tag:#93a4f4;--color-spinner-border:#3a2a22;--color-spinner-top:#58a6ff;--color-spinner-text:#a08a72;--border-color-pagination:#2a1c15;--color-vp2-camera:#dcc9b4;--bg-vp2-camera:#241a15;--bg-vp2-card-accent:linear-gradient(180deg, #241a15 0%, #241a15 30%);--color-landing-subtitle:#a08a72;--color-portal-card-desc:#a08a72}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-body);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}.landing{background:var(--bg-landing);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.landing-hero{text-align:center;margin-bottom:3rem}.landing-logo{background:var(--accent);border-radius:18px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 1.25rem;display:flex;box-shadow:0 8px 24px #b4530966}.logo-mark{color:#fff;letter-spacing:-1px;font-size:1.5rem;font-weight:800}.landing-title{color:#fff;letter-spacing:-.5px;margin-bottom:.5rem;font-size:2.2rem;font-weight:800}.landing-subtitle{color:var(--color-landing-subtitle);font-size:1rem}.landing-portals{flex-wrap:nowrap;justify-content:center;gap:.75rem;width:100%;max-width:1200px;display:flex}.portal-card{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;flex-direction:column;flex:1 1 0;gap:.35rem;min-width:0;padding:1.1rem .85rem;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;display:flex}.portal-card:hover{background:#ffffff1a;transform:translateY(-4px);box-shadow:0 12px 32px #0000004d}.portal-admin{border-top:3px solid var(--accent)}.portal-user{border-top:3px solid var(--color-green-active)}.portal-icon{margin-bottom:.1rem;font-size:1.4rem}.portal-card h2{font-size:.95rem;font-weight:700}.portal-card p{color:var(--color-portal-card-desc);font-size:.78rem;line-height:1.4}.portal-arrow{opacity:.7;margin-top:.4rem;font-size:.78rem;font-weight:600}.login-layout{background:var(--bg-login);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:5rem 1.5rem 1.5rem;display:flex}.login-navbar,.landing-navbar{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2b0f14eb;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:.85rem 1.25rem;display:flex;position:fixed;top:0;left:0;right:0}.login-navbar-brand,.landing-navbar-brand{color:#fff;align-items:center;gap:.6rem;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.login-navbar-logo,.landing-navbar-logo{background:var(--accent);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:800;display:flex}.theme-icon-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:1rem;transition:background .15s,transform .15s;display:flex}.theme-icon-btn:hover{background:#ffffff1f;transform:scale(1.05)}.landing{padding-top:5.5rem}.landing-navbar{background:#2b0f14e6}.volunteer-header{z-index:50;padding:.75rem 1rem;position:fixed;top:0;left:0;right:0}.volunteer-layout{padding-top:4.5rem}.volunteer-brand-logo{background:var(--accent);color:#fff;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;margin-right:.5rem;font-size:.72rem;font-weight:800;display:inline-flex}.login-card{background:var(--bg-card);border-radius:20px;width:100%;max-width:400px;padding:2.5rem 2.25rem;box-shadow:0 24px 64px #00000059}.login-brand{text-align:center;margin-bottom:2rem}.login-logo-mark{background:var(--accent);color:#fff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1rem;font-size:1.25rem;font-weight:800;display:flex;box-shadow:0 6px 18px #b4530966}.login-title{color:var(--color-text);margin-bottom:.25rem;font-size:1.4rem;font-weight:800}.login-subtitle{color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:500}.login-form{flex-direction:column;gap:1rem;display:flex}.login-field label{color:var(--color-text-secondary);font-size:.85rem;font-weight:600}.login-field input{border:1.5px solid var(--border-color);background:var(--bg-input);color:var(--color-text);border-radius:10px;outline:none;padding:.7rem .9rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.login-field input:focus{border-color:var(--accent);background:var(--bg-input-focus);box-shadow:0 0 0 3px #b453091a}.login-btn{border-radius:10px;margin-top:.25rem;padding:.75rem;font-size:.95rem}.login-footer{border-top:1px solid var(--border-color-soft);text-align:center;margin-top:2rem;padding-top:1.5rem}.login-footer p{color:var(--color-text-soft);margin-bottom:.4rem;font-size:.85rem}.login-volunteer-link{color:var(--accent);font-size:.9rem;font-weight:600;text-decoration:none;transition:color .15s}.login-volunteer-link:hover{color:var(--accent-hover);text-decoration:underline}.admin-layout{min-height:100vh;display:flex}.admin-sidebar{background:var(--bg-sidebar);z-index:50;flex-direction:column;width:220px;min-width:220px;height:100vh;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.admin-body{background:var(--bg-body);flex-direction:column;flex:1;min-width:0;margin-left:220px;display:flex}@media (width<=768px){.admin-sidebar{width:260px;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:4px 0 24px #00000040}.admin-sidebar.open{transform:translate(0)}.admin-body{margin-left:0}}.admin-sidebar-brand{color:#fff;border-bottom:1px solid var(--border-color-sidebar);align-items:center;gap:.6rem;margin-bottom:.5rem;padding:1.5rem 1.25rem 1rem;font-size:.95rem;font-weight:700;display:flex}.brand-dot{background:var(--accent);border-radius:3px;flex-shrink:0;width:10px;height:10px}.admin-nav-link{color:var(--color-text-sidebar);border-radius:8px;align-items:center;gap:.7rem;padding:.6rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.admin-nav-link.active{color:#fff;background:var(--accent)}.nav-icon{text-align:center;width:18px;font-size:1rem}.admin-sidebar-footer{border-top:1px solid var(--border-color-sidebar);padding:1rem 1.25rem}.sidebar-user{flex-direction:column;gap:.4rem;display:flex}.logout-btn{color:var(--color-text-sidebar);cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff26;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;transition:all .15s}.logout-btn:hover{color:#fff;background:#ffffff14;border-color:#ffffff40}.theme-toggle-btn{width:38px;height:38px;color:var(--color-text-sidebar);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;margin-top:.5rem;font-size:1rem;transition:all .15s;display:flex}.theme-toggle-btn:hover{color:#fff;background:#ffffff1f;border-color:#ffffff4d}.theme-toggle-inline{border:1px solid var(--border-color-vp2);width:34px;height:34px;color:var(--color-text-vp2);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .15s;display:flex}.theme-toggle-inline:hover{background:var(--bg-table-hover);border-color:var(--accent)}.admin-body{background:var(--bg-body);flex-direction:column;flex:1;min-width:0;display:flex}.admin-page-header{background:var(--bg-card);box-shadow:var(--shadow-card);border-left:4px solid var(--accent);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;padding:1.25rem 1.5rem;display:flex}.admin-page-header h2{color:var(--color-text);margin:0;font-size:1.35rem;font-weight:800}.admin-page-desc{color:var(--color-text-muted);margin-top:.2rem;font-size:.9rem}.page-header-count{color:var(--color-text-soft);background:var(--bg-input);border-radius:20px;padding:.35rem .8rem;font-size:.82rem;font-weight:600}.section-card{background:var(--bg-card);box-shadow:var(--shadow-card);border-radius:12px;padding:1.5rem}.section-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1rem;font-size:.95rem;font-weight:600}.section-title-row{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.record-count{color:var(--color-text-soft);font-size:.82rem;font-weight:500}.result-success{border-left:4px solid var(--color-success-border)}.result-fields{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.result-field{gap:.75rem;font-size:.9rem;display:flex}.result-field-label{color:var(--color-text-muted);min-width:60px;font-weight:600}.dashboard-page{padding-top:.5rem}.dashboard-welcome{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.dashboard-welcome-title{color:var(--color-text);letter-spacing:-.02em;margin:0;font-size:1.7rem;font-weight:800}.dashboard-welcome-desc{color:var(--color-text-muted);margin-top:.3rem;font-size:.95rem}.dashboard-date{color:var(--color-text-soft);background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-stat);border-radius:20px;padding:.4rem .8rem;font-size:.85rem;font-weight:500}.stat-grid{grid-template-columns:repeat(6,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--bg-card);box-shadow:var(--shadow-card);border-top:3px solid var(--accent);border-radius:14px;padding:1rem 1.1rem;position:relative;overflow:hidden}.stat-card:before{content:"";background:linear-gradient(135deg, var(--bg-sidebar) 0%, transparent 70%);opacity:.04;border-radius:0 0 0 80px;width:80px;height:80px;position:absolute;top:0;right:0}.stat-value{color:var(--color-text);margin-bottom:.35rem;font-size:1.65rem;font-weight:800;line-height:1.1}.stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.dash-chart-title{color:var(--color-text-secondary);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.95rem;font-weight:700;display:flex}.dash-chart-title:before{content:"";background:var(--accent);border-radius:2px;width:4px;height:18px}.dash-chart-card{flex-direction:column;display:flex}.dash-chart-body{flex:1;align-items:center;gap:.75rem;padding:.15rem 0;display:flex}.dash-chart-body--bar{flex-direction:column;align-items:stretch;gap:0}.donut-center{pointer-events:none;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.donut-center-value{color:var(--color-text);font-size:1.4rem;font-weight:800;line-height:1}.donut-center-label{color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.05em;margin-top:.2rem;font-size:.72rem}.chart-legend{flex-direction:column;gap:.5rem;display:flex}.chart-legend-item{align-items:center;gap:.5rem;display:flex}.chart-legend-label{color:var(--color-text-secondary);text-transform:capitalize;font-size:.85rem}.chart-legend-value{color:var(--color-text);margin-left:auto;font-size:.85rem;font-weight:700}.bar-chart{flex-direction:column;gap:.6rem;width:100%;display:flex}.bar-chart-label{color:var(--color-text-secondary);text-align:right;flex-shrink:0;width:36px;font-size:.82rem;font-weight:600}.bar-chart-track{background:var(--border-color-soft);border-radius:6px;flex:1;overflow:hidden}.bar-chart-fill{border-radius:6px;justify-content:flex-end;align-items:center;min-height:24px;padding:0 .5rem;transition:width .5s;display:flex}.stat-card-top{justify-content:flex-end;margin-bottom:.15rem;display:flex}.stat-card-icon{border-radius:6px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.65rem;display:inline-flex}.filter-field{flex-direction:column;gap:.35rem;display:flex}.filter-field label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.82rem;font-weight:600}.filter-field input,.filter-field select{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text);border-radius:8px;outline:none;padding:.55rem .75rem;font-size:.9rem;transition:border-color .15s,background .15s}.filter-field input:focus,.filter-field select:focus{border-color:var(--accent);background:var(--bg-input-focus)}.form label{color:var(--color-text-secondary);font-size:.88rem;font-weight:600}.form input,.form select{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text);border-radius:8px;outline:none;padding:.6rem .8rem;font-size:.95rem;transition:border-color .15s,background .15s}.form input:focus,.form select:focus{border-color:var(--accent);background:var(--bg-input-focus)}.form-inline{align-items:center;gap:.5rem;display:flex}.form-inline input{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text);border-radius:8px;outline:none;flex:1;padding:.6rem .8rem;font-size:.95rem;transition:border-color .15s}.form-inline input:focus{border-color:var(--accent);background:var(--bg-input-focus)}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .15s}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--border-color-soft);color:var(--color-text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--border-color)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn-sm{padding:.3rem .65rem;font-size:.8rem}.btn-full{justify-content:center;width:100%}.alert{border-radius:8px;padding:.75rem 1rem;font-size:.9rem}.alert-error{color:var(--color-danger);border:1px solid var(--border-color-alert-error);background:#fef2f214}.alert-success{color:var(--color-green-bright);border:1px solid var(--border-color-alert-success);background:#f0fdf414}.data-table{border-collapse:collapse;width:100%}.data-table th{background:var(--bg-table-header);color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.04em;padding:.7rem 1rem;font-size:.82rem;font-weight:600}.data-table th:first-child{border-radius:8px 0 0}.data-table th:last-child{border-radius:0 8px 0 0}.data-table td{border-bottom:1px solid var(--border-color-soft);color:var(--color-text-secondary);padding:.65rem 1rem;font-size:.9rem}.data-table tr:last-child td{border-bottom:none}.row-open td{background:var(--bg-table-row-open)!important}.row-open:hover td{background:var(--bg-table-row-open-hover)!important}.empty{text-align:center;color:var(--color-text-soft);font-style:italic;padding:2rem!important}.actions{flex-wrap:wrap;gap:.3rem;display:flex}.area-tag{background:var(--bg-area-tag);color:var(--color-area-tag);border-radius:20px;margin:.1rem .15rem .1rem 0;padding:.15rem .5rem;font-size:.78rem;font-weight:500;display:inline-block}.qr-image{border:1px solid var(--border-color);border-radius:10px;max-width:200px;margin:0 auto .5rem;display:block}.qr-hint{color:var(--color-text-muted);margin-top:.5rem;font-size:.82rem}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--bg-card);text-align:center;box-shadow:var(--shadow-modal);border-radius:16px;width:90%;min-width:300px;max-width:400px;padding:2rem}.modal h3{margin-bottom:1rem;font-size:1.1rem}.modal .qr-image{margin-bottom:.75rem}.modal-actions{justify-content:center;gap:.5rem;margin-top:1.25rem;display:flex}.hint{color:var(--color-text-soft);font-size:.85rem;font-style:italic}.hint-inline{color:var(--color-text-soft);font-size:.8rem;font-weight:400}.checkbox-label{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:flex}.checkbox-list{text-align:left;flex-direction:column;gap:.5rem;max-height:260px;margin:.75rem 0;display:flex;overflow-y:auto}.badge{border-radius:20px;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.loading-state{color:var(--color-text-soft);text-align:center;padding:2rem 0;font-style:italic}.volunteer-layout{background:var(--bg-volunteer-layout);flex-direction:column;min-height:100vh;display:flex}.volunteer-header{background:var(--bg-sidebar);text-align:center;padding:1rem 1.5rem}.volunteer-header-row{justify-content:center;align-items:center;gap:.75rem;display:flex}.volunteer-brand{color:#fff;font-size:1.1rem;font-weight:700}.volunteer-subtitle{color:var(--color-text-soft);margin-top:.1rem;font-size:.8rem}.volunteer-body{flex-direction:column;flex:1;align-items:center;gap:1rem;width:100%;max-width:480px;margin:0 auto;padding:2rem 1rem;display:flex}.volunteer-body-profile{max-width:760px}.volunteer-card{background:var(--bg-card);border-radius:16px;width:100%;padding:1.5rem;box-shadow:0 2px 12px #00000012}.lookup-card{text-align:center;padding:2rem 1.75rem}.lookup-icon{margin-bottom:.75rem;font-size:2.5rem}.lookup-card h2{margin-bottom:.4rem;font-size:1.3rem;font-weight:700}.lookup-form{text-align:left;flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.lookup-form input{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text);border-radius:10px;outline:none;padding:.75rem 1rem;font-size:1rem;transition:border-color .15s}.lookup-form input:focus{border-color:var(--accent)}.volunteer-profile-card{align-items:center;gap:1rem;padding:1.1rem 1.5rem;display:flex}.profile-avatar{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;font-weight:700;display:flex}.profile-info{flex:1}.profile-name{margin-bottom:.2rem;font-size:1.05rem;font-weight:700}.profile-meta{color:var(--color-text-soft);flex-wrap:wrap;gap:.35rem;font-size:.82rem;display:flex}.meta-dot{opacity:.4}.checkin-card{flex-direction:column;gap:1.25rem;display:flex}.checkin-status{border-radius:10px;align-items:center;gap:.75rem;padding:.85rem 1rem;display:flex}.checked-in-state{background:var(--bg-checkin);border:1px solid var(--border-color-checkin)}.checked-out-state{background:var(--bg-checkin-inactive);border:1px solid var(--border-color)}.status-indicator{border-radius:50%;flex-shrink:0;width:12px;height:12px}.status-indicator.active{background:var(--color-green-active);box-shadow:0 0 0 3px #22c55e33}.status-indicator.inactive{background:var(--color-green-dot-inactive)}.checkin-info{flex-direction:column;gap:.1rem;display:flex}.checkin-label{color:var(--color-text-muted);font-size:.82rem}.checkin-area{color:var(--color-green);font-size:1rem;font-weight:700}.checkin-since{color:var(--color-text-soft);font-size:.78rem}.checkin-form{flex-direction:column;gap:.85rem;display:flex}.field-group{flex-direction:column;gap:.35rem;display:flex}.field-group label{color:var(--color-text-secondary);font-size:.85rem;font-weight:600}.field-group input,.field-group select,.field-group textarea{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text);resize:vertical;border-radius:10px;outline:none;padding:.65rem .9rem;font-size:.95rem;transition:border-color .15s,box-shadow .15s,background .15s}.field-group textarea{min-height:96px;font-family:inherit;line-height:1.55}.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:var(--accent);background:var(--bg-input-focus);box-shadow:0 0 0 3px #b453091a}.btn-checkin{background:var(--color-green-checkin);color:#fff;border-radius:10px;padding:.8rem;font-size:1rem}.btn-checkin:hover:not(:disabled){background:var(--color-green-checkin-hover)}.btn-checkout{background:var(--color-checkout);color:#fff;border-radius:10px;padding:.8rem;font-size:1rem}.btn-checkout:hover:not(:disabled){background:var(--color-checkout-hover)}.history-card{padding:0;overflow:hidden}.history-toggle{width:100%;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:1rem 1.5rem;font-size:.9rem;font-weight:600;transition:background .15s;display:flex}.history-toggle:hover{background:var(--bg-table-hover)}.toggle-arrow{color:var(--color-text-soft);font-size:.7rem}.history-body{padding:0 0 .5rem;overflow-x:auto}.history-table th,.history-table td{font-size:.82rem}.vp-hero-card{background:var(--bg-card);border-radius:20px;width:100%;margin-bottom:1.25rem;position:relative;overflow:hidden;box-shadow:0 4px 24px #00000014}.vp-cover{background:linear-gradient(135deg, var(--accent) 0%, #4895ef 50%, #4cc9f0 100%);height:132px}.vp-hero-content{align-items:flex-end;gap:1.25rem;margin-top:-68px;padding:0 1.75rem 1.5rem;display:flex}.vp-avatar-wrap{flex-shrink:0;position:relative}.vp-avatar-label{cursor:pointer;border-radius:50%;transition:transform .15s;display:block;position:relative}.vp-avatar-label:hover{transform:scale(1.03)}.vp-avatar-label input{opacity:0;cursor:pointer;z-index:2;position:absolute;inset:0}.vp-hero-avatar{object-fit:cover;border:4px solid var(--bg-card);background:var(--border-color-soft);border-radius:50%;width:100px;height:100px;display:block;box-shadow:0 4px 12px #0000002e}.vp-hero-avatar-placeholder{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-hover) 100%);color:#fff;justify-content:center;align-items:center;font-size:2.6rem;font-weight:700;display:flex}.vp-camera-icon{background:var(--bg-card);border:1px solid var(--border-color);border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.8rem;display:flex;position:absolute;bottom:4px;right:4px;box-shadow:0 2px 8px #0003}.vp-hero-info{flex-direction:column;flex:1;align-items:flex-start;gap:.45rem;min-width:0;padding-bottom:.4rem;display:flex}.vp-hero-name{color:var(--color-text);letter-spacing:-.02em;overflow-wrap:break-word;margin:0;font-size:1.65rem;font-weight:700;line-height:1.15}.vp-hero-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.vp-logout{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text-muted);cursor:pointer;border-radius:8px;padding:.35rem .9rem;font-size:.8rem;font-weight:600;transition:all .15s}.vp-logout:hover{color:var(--color-danger);border-color:var(--border-color-alert-error);background:#dc26261a}.vp-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:.75rem;display:flex}.vp-edit-actions{flex-wrap:wrap;gap:.5rem;display:flex}.vp-attendance-link{text-decoration:none}.vp-section{margin-top:.25rem}.vp-section-title{color:var(--color-text);border-bottom:1px solid var(--border-color-soft);margin:0 0 1rem;padding-bottom:.75rem;font-size:.95rem;font-weight:700}.vp-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.vp-info-cell{flex-direction:column;gap:.25rem;display:flex}.vp-info-label{color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.02em;font-size:.78rem;font-weight:600}.vp-info-value{color:var(--color-text);font-size:.95rem;font-weight:500}.vp-field-group{margin:0}.vp-field-group input{padding:.55rem .75rem;font-size:.9rem}@media (width<=640px){.volunteer-body-profile{padding:1.25rem .75rem}.vp-cover{height:110px}.vp-hero-content{margin-top:-55px;padding:0 1.25rem 1.25rem}.vp-hero-avatar{width:86px;height:86px}.vp-hero-name{font-size:1.3rem}.vp-grid{grid-template-columns:1fr;gap:.85rem}.vp-toolbar{flex-direction:column;align-items:stretch}.vp-toolbar .btn{text-align:center}.vp-edit-actions{justify-content:stretch;width:100%}.vp-edit-actions .btn{flex:1}}.vp-info-row{border-bottom:1px solid var(--border-color-soft);gap:.75rem;padding:.5rem 0;display:flex}.vp-info-row .vp-info-label{min-width:140px;color:var(--color-text-muted);text-transform:none;flex-shrink:0;font-size:.85rem}@media (width<=768px){.admin-two-col{grid-template-columns:1fr}}@media (width<=480px){.landing-title{font-size:1.75rem}}.spinner-block{color:var(--color-spinner-text);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;display:flex}.spinner{border:4px solid var(--color-spinner-border);border-top-color:var(--color-spinner-top);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.spinner-inline{vertical-align:-2px;border-width:2px;border-color:#0000 currentColor currentColor;width:14px;height:14px;margin-right:.35rem;display:inline-block}.spinner-label{font-size:.9rem}.spinner-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:40;position:absolute;inset:0}@keyframes spin{to{transform:rotate(360deg)}}.pagination{border-top:1px solid var(--border-color-pagination);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.9rem;padding:.9rem .25rem .15rem;display:flex}.pagination-info{color:var(--color-text-muted);font-size:.85rem}.chip-row{background:var(--bg-card);border:1px solid var(--border-color-vp2);box-shadow:var(--shadow-vp2-card);border-radius:12px;flex-flow:wrap;align-items:stretch;gap:1rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.chip-group{border-right:1px dashed var(--border-color-chip);flex-wrap:wrap;align-items:center;gap:.45rem;padding-right:1rem;display:flex}.chip-group:last-child{border-right:none;padding-right:0}.chip-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);white-space:nowrap;font-size:.72rem;font-weight:700}.stat-chip{background:var(--bg-chip);border:1px solid var(--border-color-chip);white-space:nowrap;border-radius:20px;align-items:center;gap:.45rem;padding:.28rem .7rem;display:inline-flex}.stat-chip-label{color:var(--color-text-secondary);font-size:.8rem}.event-date-cell{white-space:nowrap;align-items:center;gap:.5rem;display:inline-flex}.event-desc{color:var(--color-text-muted);font-size:.88rem}.filter-inline{border:1px solid var(--border-color-darker);background:var(--bg-card);color:var(--color-text);border-radius:8px;padding:.42rem .6rem;font-size:.86rem}.otp-hint{color:var(--color-text-secondary);text-align:center;margin:0 0 1rem;font-size:.9rem}.link-btn{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.otp-row{justify-content:center;gap:.5rem;margin-bottom:1.1rem;display:flex}.otp-box{text-align:center;border:1.5px solid var(--border-color-otp);background:var(--bg-input);width:46px;height:54px;color:var(--color-text);border-radius:10px;outline:none;font-size:1.35rem;font-weight:700;transition:border-color .15s,box-shadow .15s}.otp-box:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b4530926}.modal-wide{max-width:560px}.import-help{color:var(--color-text-muted);border:1px dashed var(--border-color-otp);border-radius:8px;margin:.75rem 0;padding:.55rem .75rem;font-size:.84rem}html,body,#root{min-height:100vh;overflow-x:hidden}img,svg,video{max-width:100%;height:auto}.table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.modal{width:min(92vw,420px);max-height:90vh;overflow-y:auto}button,.btn,input,select,textarea{touch-action:manipulation}html,body{-webkit-user-select:text;user-select:text}img{-webkit-touch-callout:none}@media (width<=1100px){.landing-portals{flex-wrap:wrap;gap:.85rem;max-width:720px}.portal-card{flex:calc(50% - .5rem);min-width:220px}}@media (width<=640px){.landing{justify-content:flex-start;padding:5rem .9rem 1.25rem}.landing-hero{margin-bottom:2rem}.landing-logo{border-radius:15px;width:58px;height:58px}.logo-mark{font-size:1.25rem}.landing-title{font-size:1.65rem}.landing-subtitle{font-size:.9rem}.landing-portals{flex-direction:column;gap:.7rem}.portal-card{flex:100%;padding:1rem 1.1rem}.portal-card h2{font-size:1rem}.portal-card p{font-size:.82rem}}@media (width<=480px){.login-card{border-radius:16px;padding:1.6rem 1.2rem}.login-title{font-size:1.25rem}.login-form{gap:.85rem}.otp-row{gap:.35rem}.otp-box{border-radius:8px;width:40px;height:48px;font-size:1.2rem}}.admin-mobile-header{z-index:50;background:var(--bg-sidebar);color:#fff;border-bottom:1px solid var(--border-color-sidebar);justify-content:space-between;align-items:center;padding:.6rem .9rem;display:none;position:sticky;top:0}.admin-mobile-brand{align-items:center;gap:.5rem;font-size:.95rem;font-weight:700;display:flex}.admin-mobile-menu-btn{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:.35rem .65rem;font-size:1rem}@media (width<=768px){.admin-layout{flex-direction:column}.admin-sidebar{z-index:100;width:260px;height:100vh;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:4px 0 24px #00000040}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-backdrop{z-index:99;opacity:0;pointer-events:none;background:#00000073;transition:opacity .25s;position:fixed;inset:0}.admin-sidebar-backdrop.open{opacity:1;pointer-events:auto}.admin-mobile-header{display:flex}.admin-body{min-height:100vh}.admin-content{max-width:100%;padding:1rem .9rem 2rem}}@media (width>=769px){.admin-sidebar{transform:none!important}.admin-sidebar-backdrop{display:none}}@media (width<=768px){.admin-page-header{flex-direction:column;align-items:flex-start;gap:.75rem}.admin-page-header h2{font-size:1.3rem}.admin-page-desc{font-size:.85rem}.admin-two-col{grid-template-columns:1fr}}@media (width<=1200px){.stat-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card{border-radius:12px;padding:.85rem}.stat-value{font-size:1.35rem}.stat-label{font-size:.68rem}.stat-card-icon{width:22px;height:22px;font-size:.75rem}.dashboard-welcome{margin-bottom:1rem}.dashboard-welcome-title{font-size:1.35rem}.dashboard-date{font-size:.78rem}}@media (width<=1200px){.dash-charts-row{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dash-charts-row{grid-template-columns:1fr}.dash-chart-body{flex-direction:column;align-items:center;gap:1rem}.chart-legend{width:100%;max-width:280px}.bar-chart-label{width:46px;font-size:.78rem}.bar-chart-value{font-size:.72rem}.filter-grid{grid-template-columns:repeat(2,1fr)}.filter-grow{grid-column:span 2}.filter-action{grid-column:span 2;justify-content:stretch;gap:.5rem;display:flex}.filter-action .btn{flex:1}.filter-checkbox{justify-content:flex-start}}@media (width<=480px){.filter-grid{grid-template-columns:1fr}.filter-grow,.filter-action{grid-column:span 1}.filter-action .btn{flex:1}.filter-compact{flex-direction:column;align-items:stretch}.filter-compact .filter-inline,.filter-compact .btn{width:100%}.filter-compact .checkbox-compact{justify-content:flex-start}}@media (width<=768px){.data-table th,.data-table td{padding:.55rem .65rem;font-size:.84rem}.actions{gap:.25rem}.btn-sm{padding:.25rem .5rem;font-size:.75rem}.volunteer-body{padding:1.25rem .9rem}.volunteer-body-profile{max-width:100%}.volunteer-header-row{flex-wrap:wrap;gap:.5rem}.volunteer-brand{font-size:1rem}.volunteer-subtitle{font-size:.75rem}.vp2-main{padding:1rem .9rem 2rem}.vp2-hero{border-radius:14px;flex-direction:column;align-items:stretch;gap:1rem;padding:1.1rem}.vp2-hero-left{gap:.9rem;width:100%}.vp2-avatar{width:64px;height:64px;font-size:1.4rem}.vp2-hero-id{min-width:0}.vp2-hero-id h1{overflow-wrap:break-word;word-break:break-word;font-size:1.15rem}.vp2-badges{gap:.3rem}.vp2-badges .badge{padding:.12rem .4rem;font-size:.68rem}.vp2-hero-stats{justify-content:flex-start;gap:.5rem;width:100%}.vp2-stat{flex:0 calc(33.333% - .35rem);min-width:0;padding:.5rem .35rem}.vp2-stat-value{overflow-wrap:break-word;word-break:break-word;text-align:center;max-width:none;font-size:.85rem}.vp2-stat-areas,.vp2-stat-value-areas{text-align:center;font-size:.72rem;line-height:1.25}.vp2-topbar{flex-wrap:wrap;gap:.5rem;padding:.55rem .85rem}.vp2-brand{flex:1;gap:.4rem;font-size:.9rem}.vp2-logo{width:30px;height:30px;font-size:.75rem}.vp2-portal-tag{margin-left:.2rem;padding:.12rem .45rem;font-size:.65rem}.vp2-topbar-actions{justify-content:flex-end;width:100%}.vp2-card{border-radius:12px;padding:1rem 1.05rem}.vp2-card-head{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.vp2-card-head h3{font-size:.95rem}.vp2-actions{justify-content:flex-end;width:100%}.login-role-head,.personal-info-head{flex-direction:column;align-items:flex-start}.login-role-head .vp2-actions,.personal-info-head .vp2-actions{justify-content:stretch;width:100%}.vp2-actions .btn,.vp2-actions-bar .btn{text-align:center;flex:1}.vp2-actions-bar{flex-wrap:wrap}.cols-3{grid-template-columns:1fr}.vp2-cells{gap:.65rem}.vp2-form-grid{grid-template-columns:1fr}.vp2-checkin-active,.vp2-check-inactive{padding:.7rem .85rem}.vp2-checkin-area{font-size:.95rem}}@media (width<=380px){.vp2-hero-stats{flex-wrap:wrap}.vp2-stat{flex:calc(50% - .25rem)}}@media (width<=640px){.volunteer-body-profile{padding:1rem .75rem}.vp-cover{height:100px}.vp-hero-content{gap:.85rem;margin-top:-45px;padding:0 1rem 1rem}.vp-hero-avatar{width:72px;height:72px}.vp-hero-name{font-size:1.15rem}.vp-grid{grid-template-columns:1fr;gap:.75rem}.vp-toolbar{flex-direction:column;align-items:stretch;gap:.5rem}}@media (width<=768px){.admin-two-col{gap:1rem}.section-card{border-radius:10px;padding:1.1rem}.section-title{font-size:.9rem}}@media (width<=560px){.form-inline{flex-direction:column;align-items:stretch}.form-inline input,.form-inline select,.form-inline .btn{width:100%}}@media (width<=480px){.pagination{flex-direction:column;align-items:flex-start;gap:.5rem}.pagination-info{font-size:.8rem}.pagination-controls{justify-content:center;width:100%}}@media (width<=560px){.modal{border-radius:12px;padding:1.25rem}.modal h3{font-size:1rem}.modal-actions{flex-direction:column;gap:.5rem}.modal-actions .btn{text-align:center;width:100%}.checkbox-list{max-height:220px}.checkbox-label{font-size:.88rem}.import-skip-list{max-height:120px}}.vp2-page{background:var(--bg-vp2-page);min-height:100vh}.vp2-topbar{z-index:30;background:var(--bg-vp2-topbar);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color-vp2);justify-content:space-between;align-items:center;padding:.7rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}.vp2-brand{letter-spacing:-.01em;color:var(--color-text-vp2);align-items:center;gap:.6rem;font-weight:800;display:flex}.vp2-logo{background:linear-gradient(135deg, var(--accent), var(--accent-violet));color:#fff;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;font-size:.85rem;font-weight:800;display:inline-flex}.vp2-portal-tag{color:var(--color-vp2-portal-tag);background:var(--bg-vp2-portal-tag);border-radius:12px;margin-left:.35rem;padding:.18rem .6rem;font-size:.72rem;font-weight:600}.vp2-topbar-actions{gap:.5rem;display:flex}.vp2-main{max-width:1060px;margin:0 auto;padding:1.6rem clamp(1rem,4vw,2rem) 3rem}.vp2-hero{background:linear-gradient(135deg, var(--bg-sidebar) 0%, #6b1d2a 55%, var(--accent) 120%);color:#fff;border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.4rem;max-width:100%;padding:1.6rem 1.8rem;display:flex;overflow:hidden;box-shadow:0 12px 30px -12px #4a12198c}.vp2-hero-left{flex:1 1 0;align-items:center;gap:1.2rem;min-width:0;display:flex}.vp2-hero-id{flex:1;min-width:0}.vp2-hero-id h1{overflow-wrap:break-word;word-break:break-word;min-width:0}.vp2-avatar-wrap{cursor:pointer;flex-shrink:0;position:relative}.vp2-avatar{object-fit:cover;border:3px solid #ffffffd9;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:88px;height:88px;font-size:2rem;font-weight:800;display:flex;overflow:hidden}.vp2-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.vp2-avatar-placeholder{background:linear-gradient(135deg, var(--accent), #9a3412)}.vp2-avatar-img{object-fit:cover;border-radius:50%;width:100%;height:100%}.vp2-camera{background:var(--bg-vp2-camera);width:28px;height:28px;color:var(--color-vp2-camera);border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;display:flex;position:absolute;bottom:2px;right:2px;box-shadow:0 2px 6px #00000040}.vp2-camera.busy{pointer-events:none}.vp2-hero-id h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.5rem}.vp2-badges{flex-wrap:wrap;gap:.4rem;display:flex}.vp2-badges .badge{font-size:.75rem}.vp2-hero-stats{gap:1.6rem;display:flex}.vp2-stat{background:#ffffff14;border:1px solid #ffffff29;border-radius:12px;flex-direction:column;align-items:center;min-width:96px;padding:.65rem 1.05rem;display:flex}.vp2-stat-value{text-overflow:ellipsis;white-space:nowrap;max-width:130px;font-size:1.05rem;font-weight:800;overflow:hidden}.vp2-stat-label{text-transform:uppercase;letter-spacing:.06em;opacity:.75;margin-top:.2rem;font-size:.72rem}.vp2-stat-areas{min-width:160px;max-width:240px}.vp2-stat-value-areas{white-space:normal;text-align:center;max-width:none;font-size:.82rem;line-height:1.3}.vp2-main .alert{margin:1rem 0 0}.vp2-cards{flex-direction:column;gap:1.1rem;margin-top:1.1rem;display:flex}.vp2-card{background:var(--bg-vp2-card);border:1px solid var(--border-color-vp2);box-shadow:var(--shadow-vp2-card);border-radius:14px;padding:1.2rem 1.4rem}.vp2-card-accent{border-left:4px solid var(--accent);background:var(--bg-vp2-card-accent)}.vp2-card-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.9rem;display:flex}.vp2-card-head h3{color:var(--color-text-vp2);margin:0;font-size:1.02rem}.vp2-actions{gap:.45rem;display:flex}.vp2-alert-sm{margin:0 0 .8rem!important}.vp2-cells{gap:.85rem 1.2rem;display:grid}.cols-3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.vp2-cell{background:var(--bg-vp2-cell);border:1px solid var(--border-color-vp2-cell);border-radius:10px;flex-direction:column;gap:.18rem;padding:.6rem .8rem;display:flex}.vp2-cell-label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);font-size:.7rem;font-weight:700}.vp2-cell-value{color:var(--color-text-vp2);word-break:break-word;font-size:.95rem}.vp2-editing-cell{background:var(--bg-vp2-cell);border:1px solid var(--border-color-vp2-cell);border-radius:10px;padding:.5rem .8rem .7rem}.vp2-editing-cell label{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);font-size:.7rem;font-weight:700}.vp2-form-grid{gap:.85rem 1.2rem;display:grid}.vp2-note{color:var(--color-text-faint);margin:.8rem 0 0;font-size:.78rem}.vp2-actions-bar{gap:.5rem;margin-top:1rem;display:flex}.vp2-empty{color:var(--color-text-faint);font-style:italic}.vp2-area-list{flex-wrap:wrap;gap:.45rem;display:flex}.lookup-result-box{background:var(--bg-checkin);border:1px solid var(--border-color-checkin);color:var(--color-green-bright);border-radius:8px;margin-top:.5rem;padding:.5rem .75rem;font-size:.88rem}.vp2-hint{color:var(--color-text-faint);font-size:.78rem;font-weight:400}.vp2-checkin-active,.vp2-check-inactive{border-radius:10px;align-items:center;gap:.65rem;margin-bottom:1rem;padding:.85rem 1rem;display:flex}.vp2-checkin-active{background:var(--bg-checkin);border:1px solid var(--border-color-checkin)}.vp2-check-inactive{background:var(--bg-checkin-inactive);border:1px solid var(--border-color-checkin-inactive)}.vp2-checkin-dot{border-radius:50%;flex-shrink:0;width:12px;height:12px}.vp2-checkin-dot.active{background:var(--color-green-active);box-shadow:0 0 0 3px #22c55e33}.vp2-checkin-dot.inactive{background:var(--color-green-dot-inactive)}.vp2-checkin-detail{flex-direction:column;gap:.15rem;display:flex}.vp2-checkin-label{color:var(--color-text-muted);font-size:.82rem}.vp2-checkin-area{color:var(--color-green-bright);font-size:1.05rem;font-weight:700}.vp2-checkin-since{color:var(--color-text-soft);font-size:.78rem}.vp2-checkin-form{flex-direction:column;gap:.85rem;display:flex}.vp2-checkin-form .field-group label{color:var(--color-text-secondary);font-size:.85rem;font-weight:600}.vp2-checkin-form .field-group input,.vp2-checkin-form .field-group select{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text);border-radius:10px;outline:none;padding:.65rem .9rem;font-size:.95rem;transition:border-color .15s}.vp2-checkin-form .field-group input:focus,.vp2-checkin-form .field-group select:focus{border-color:var(--accent);background:var(--bg-input-focus)}.vp2-checkin-form .field-group input:disabled,.vp2-checkin-form .field-group select:disabled,.btn-checkin:disabled,.btn-checkout:disabled{opacity:.55;cursor:not-allowed}.vp2-no-event-banner{background:var(--color-warning-bg);border:1.5px solid var(--color-warning-border);color:var(--color-warning-text);border-radius:12px;align-items:flex-start;gap:.7rem;margin-bottom:1rem;padding:1rem 1.15rem;font-size:.92rem;font-weight:600;line-height:1.5;display:flex;box-shadow:0 2px 8px #ca8a0426}.vp2-no-event-icon{background:var(--color-warning-icon);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:.1rem;font-size:1rem;font-weight:800;display:flex;box-shadow:0 2px 6px #ca8a0440}.vp2-history-card{padding:1.2rem 1.4rem}.vp2-history-count{color:var(--color-text-faint);font-size:.78rem;font-weight:600}.vp2-history-table-wrap{overflow-x:auto}.vp2-history-table th{white-space:nowrap;font-size:.75rem}.vp2-history-table td{font-size:.85rem}.vp2-history-table tr.row-open td{background:var(--bg-table-row-open)}.vp2-remarks-cell{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.sr-page{background:var(--bg-vp2-page);min-height:100vh;color:var(--color-text-vp2);flex-direction:column;display:flex}.sr-topbar{z-index:100;background:var(--bg-vp2-topbar);-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--border-color-vp2);height:64px;transition:box-shadow .2s;position:fixed;top:0;left:0;right:0}.sr-topbar-scrolled{box-shadow:0 1px 6px #2b0f1414}.sr-topbar-inner{justify-content:space-between;align-items:center;max-width:960px;height:100%;margin:0 auto;padding:0 1rem;display:flex}.sr-brand{color:var(--color-text);align-items:center;gap:.55rem;font-size:1.05rem;font-weight:700;text-decoration:none;display:inline-flex}.sr-brand-logo{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:32px;height:32px;font-size:.85rem;font-weight:800;display:grid}.sr-main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:92px 1rem 2.5rem}.sr-hero{text-align:center;margin-bottom:1.5rem}.sr-hero-badge{background:var(--bg-badge-violet);color:var(--color-badge-violet);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;margin-bottom:.75rem;padding:.35rem .85rem;font-size:.72rem;font-weight:700;display:inline-block}.sr-hero-title{color:var(--color-text);margin-bottom:.35rem;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800}.sr-hero-subtitle{color:var(--color-text-vp2-muted);max-width:420px;margin:0 auto;font-size:.95rem}.sr-form,.sr-result{background:var(--bg-vp2-card);border:1px solid var(--border-color-vp2);box-shadow:var(--shadow-vp2-card);border-radius:16px;padding:1.5rem}.sr-field{flex-direction:column;gap:.35rem;display:flex}.sr-field label{color:var(--color-text-secondary);font-size:.8rem;font-weight:600}.sr-field input,.sr-field select{border:1px solid var(--border-color-darker);background:var(--bg-input);color:var(--color-text);border-radius:10px;width:100%;padding:.65rem .75rem;font-size:.9rem}.sr-field input:focus,.sr-field select:focus{border-color:var(--accent);background:var(--bg-input-focus);outline:none;box-shadow:0 0 0 3px #b453091f}.sr-result{text-align:center}.sr-result-icon{color:var(--color-green);margin-bottom:.75rem;font-size:2.5rem}.sr-result-title{color:var(--color-green);margin-bottom:.5rem;font-size:1.25rem;font-weight:700}.sr-result-text{color:var(--color-text-vp2-muted);margin-bottom:1.5rem;font-size:.9rem}.sr-qr{background:var(--bg-vp2-cell);border:1px solid var(--border-color-vp2-cell);border-radius:14px;padding:1rem;display:inline-block}.sr-qr img{border-radius:10px;width:100%;max-width:220px}.sr-qr-hint{color:var(--color-text-muted);max-width:220px;margin-top:.75rem;font-size:.8rem}.sr-result-actions .btn{justify-content:center}.sr-footer{text-align:center;margin-top:1.25rem}.sr-back-link{color:var(--accent);font-size:.85rem;font-weight:600;text-decoration:none}.sr-back-link:hover{text-decoration:underline}@media (width<=640px){.sr-form-grid{grid-template-columns:1fr}.sr-main{padding-top:84px}.sr-form,.sr-result{border-radius:14px;padding:1.15rem}.sr-brand-text{display:none}}:root{--bg-body:#faf4e8;--bg-card:#fffdf7;--bg-sidebar:#2b0f14;--bg-input:#fbf6ec;--bg-input-focus:#fffdf8;--bg-table-header:#f8f0e2;--bg-table-hover:#fcf6ea;--bg-table-row-open:#fdf3d8;--bg-table-row-open-hover:#fae9be;--bg-chip:#fbf5e9;--bg-overlay:#2b0f148c;--bg-vp2-page:radial-gradient(1100px 420px at 85% -120px, #d977061f, transparent 65%), linear-gradient(165deg, #faf4e8 0%, #fdf8ef 55%, #f6ebd8 100%);--bg-vp2-topbar:#fffdf7d9;--bg-vp2-card:#fffdf7;--bg-vp2-cell:#fbf6ec;--bg-vp2-card-accent:linear-gradient(180deg, #fffbf2 0%, #fffdf7 32%);--bg-checkin:#ecfdf5;--bg-checkin-inactive:#fbf6ec;--bg-landing:#faf4e8;--bg-login:#faf4e8;--bg-volunteer-layout:linear-gradient(165deg, #faf4e8 0%, #f4e6cf 100%);--color-text:#2a1a14;--color-text-secondary:#5a4636;--color-text-muted:#8a7460;--color-text-soft:#a08a72;--color-text-faint:#b09a82;--color-text-sidebar:#d9c3a9;--color-text-landing:#2a1a14;--color-text-landing-muted:#8a7460;--color-text-vp2:#2a1a14;--color-text-vp2-muted:#8a7460;--border-color:#e7d9c3;--border-color-soft:#f0e6d4;--border-color-darker:#d8c7ae;--border-color-vp2:#e7d9c3;--border-color-vp2-cell:#f0e6d4;--border-color-sidebar:#ffecd21f;--border-color-otp:#d8c7ae;--border-color-chip:#e7d9c3;--border-color-checkin:#a7f3d0;--border-color-checkin-inactive:#f0e6d4;--border-color-alert-error:#f5c2c7;--border-color-alert-success:#bbf7d0;--border-color-pagination:#f0e6d4;--shadow-card:0 1px 2px #4a12190a, 0 14px 30px -22px #4a121933;--shadow-stat:0 1px 2px #4a12190d;--shadow-modal:0 30px 80px -20px #2b0f148c;--shadow-vp2-card:0 1px 2px #4a12190a, 0 14px 30px -24px #4a12192e;--accent:#b45309;--accent-hover:#92400e;--accent-violet:#8c1d2f;--accent-soft:#fbf0dc;--accent-ink:#8a3e0b;--ring:0 0 0 3px #b4530938;--color-green:#047857;--color-green-bright:#34d399;--color-green-active:#10b981;--color-green-active-hover:#059669;--color-green-checkin:#10b981;--color-green-checkin-hover:#059669;--color-green-dot-inactive:#d8c7ae;--color-danger:#b91c1c;--color-danger-hover:#991b1b;--color-danger-dark:#7f1d1d;--color-checkout:#b91c1c;--color-checkout-hover:#991b1b;--color-warning-bg:#fdf6dc;--color-warning-border:#e9c46a;--color-warning-text:#7c4a03;--color-warning-icon:#b45309;--color-success-border:#10b981;--bg-badge-violet:#f6e4e7;--color-badge-violet:#7b1e2b;--bg-badge-blue:#e4f2f1;--color-badge-blue:#0f5e58;--bg-badge-red:#fbe4e4;--color-badge-red:#991b1b;--bg-badge-gray:#f3ebde;--color-badge-gray:#5a4636;--bg-badge-green:#d1fae5;--color-badge-green:#065f46;--bg-badge-amber:#fdf0ce;--color-badge-amber:#7c4a03;--bg-area-tag:#fbf0dc;--color-area-tag:#8a3e0b;--bg-stat-chip-count:#fbf0dc;--color-stat-chip-count:#8a3e0b;--bg-vp2-portal-tag:#fbf0dc;--color-vp2-portal-tag:#8a3e0b;--color-spinner-border:#e7d9c3;--color-spinner-top:#b45309;--color-spinner-text:#8a7460;--color-vp2-camera:#5a4636;--bg-vp2-camera:#fffdf7;--font-sans:"Plus Jakarta Sans", "Inter", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--radius-sm:10px;--radius:14px;--radius-lg:20px;--radius-xl:26px;--sidebar-w:268px;--topbar-h:68px;--gradient-brand:linear-gradient(135deg, #d97706 0%, #b45309 45%, #8c1d2f 100%);--gradient-hero:radial-gradient(900px 380px at 12% -30%, #8c1d2f8c, transparent 62%), linear-gradient(135deg, #2b0f14 0%, #4a1219 55%, #6b1d2a 100%);--gradient-text:linear-gradient(100deg, #b45309 0%, #c2410c 45%, #8c1d2f 100%);--gradient-primary:linear-gradient(135deg, #b45309 0%, #8c1d2f 100%);--gradient-success:linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-danger:linear-gradient(135deg, #dc2626 0%, #991b1b 100%)}[data-theme=dark]{--bg-body:#140c0a;--bg-card:#241a15;--bg-sidebar:#1a0d0b;--bg-input:#1e130f;--bg-input-focus:#2a1c15;--bg-table-header:#1e130f;--bg-table-hover:#2a1c15;--bg-table-row-open:#33240f;--bg-table-row-open-hover:#43300f;--bg-chip:#1e130f;--bg-overlay:#0a0403b8;--bg-vp2-page:radial-gradient(1100px 420px at 85% -120px, #f59e0b21, transparent 65%), linear-gradient(165deg, #140c0a 0%, #1e130f 60%, #241a15 100%);--bg-vp2-topbar:#140c0ad9;--bg-vp2-card:#241a15;--bg-vp2-cell:#1e130f;--bg-vp2-card-accent:linear-gradient(180deg, #2a1c15 0%, #241a15 32%);--bg-checkin:#06281f;--bg-checkin-inactive:#1e130f;--bg-landing:#140c0a;--bg-login:#140c0a;--bg-volunteer-layout:linear-gradient(165deg, #140c0a 0%, #1e130f 100%);--color-text:#f6eada;--color-text-secondary:#dcc9b4;--color-text-muted:#b39b84;--color-text-soft:#8a7460;--color-text-faint:#6b5747;--color-text-sidebar:#c9b49b;--color-text-landing:#f8efe2;--color-text-landing-muted:#b39b84;--color-text-vp2:#f6eada;--color-text-vp2-muted:#b39b84;--border-color:#3a2a22;--border-color-soft:#2a1c15;--border-color-darker:#4a372c;--border-color-vp2:#3a2a22;--border-color-vp2-cell:#32231b;--border-color-sidebar:#f6eada24;--border-color-otp:#4a372c;--border-color-chip:#3a2a22;--border-color-checkin:#065f46;--border-color-checkin-inactive:#3a2a22;--border-color-alert-error:#7f1d1d;--border-color-alert-success:#065f46;--border-color-pagination:#32231b;--shadow-card:0 1px 2px #00000059, 0 18px 36px -24px #000000b3;--shadow-stat:0 1px 2px #00000059;--shadow-modal:0 30px 80px -20px #000c;--shadow-vp2-card:0 1px 2px #00000059, 0 18px 36px -26px #000000b3;--accent:#f59e0b;--accent-hover:#fbbf24;--accent-violet:#f87171;--accent-soft:#3a2413;--accent-ink:#fcd34d;--ring:0 0 0 3px #f59e0b47;--color-green:#6ee7b7;--color-green-bright:#34d399;--color-green-active:#10b981;--color-green-active-hover:#34d399;--color-green-checkin:#10b981;--color-green-checkin-hover:#34d399;--color-green-dot-inactive:#4a372c;--color-danger:#fca5a5;--color-danger-hover:#fecaca;--color-danger-dark:#fee2e2;--color-checkout:#fca5a5;--color-checkout-hover:#fecaca;--color-warning-bg:#33240f;--color-warning-border:#854d0e;--color-warning-text:#fde68a;--color-warning-icon:#fbbf24;--bg-badge-violet:#43151c;--color-badge-violet:#f5b7c0;--bg-badge-blue:#0b3b38;--color-badge-blue:#99f6e4;--bg-badge-red:#450a0a;--color-badge-red:#fca5a5;--bg-badge-gray:#2a1c15;--color-badge-gray:#dcc9b4;--bg-badge-green:#064e3b;--color-badge-green:#6ee7b7;--bg-badge-amber:#422006;--color-badge-amber:#fde68a;--bg-area-tag:#3a2413;--color-area-tag:#fcd34d;--bg-stat-chip-count:#3a2413;--color-stat-chip-count:#fcd34d;--bg-vp2-portal-tag:#3a2413;--color-vp2-portal-tag:#fcd34d;--color-spinner-border:#3a2a22;--color-spinner-top:#f59e0b;--color-spinner-text:#b39b84;--color-vp2-camera:#dcc9b4;--bg-vp2-camera:#2a1c15;--gradient-hero:radial-gradient(900px 380px at 12% -30%, #8c1d2f73, transparent 62%), linear-gradient(135deg, #1a0d0b 0%, #3a1218 55%, #4a1219 100%);--gradient-text:linear-gradient(100deg, #fbbf24 0%, #f59e0b 45%, #f87171 100%)}@media (prefers-color-scheme:dark){html:not([data-theme]){--bg-body:#140c0a;--bg-card:#241a15;--bg-sidebar:#1a0d0b;--bg-input:#1e130f;--bg-input-focus:#2a1c15;--bg-vp2-card:#241a15;--bg-vp2-cell:#1e130f;--bg-vp2-topbar:#140c0ad9;--bg-landing:#140c0a;--color-text:#f6eada;--color-text-secondary:#dcc9b4;--color-text-muted:#b39b84;--border-color:#3a2a22;--border-color-soft:#2a1c15}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}html,body,#root{min-height:100%}body{font-family:var(--font-sans);color:var(--color-text);background:var(--bg-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:15px;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--color-text);letter-spacing:-.02em;font-weight:750;line-height:1.2}h1{font-size:clamp(1.7rem,3.2vw,2.35rem)}h2{font-size:clamp(1.35rem,2.4vw,1.7rem)}h3{font-size:1.08rem}p{margin:0 0 .85rem}p:last-child{margin-bottom:0}a{color:var(--accent);text-decoration:none;transition:color .16s,opacity .16s}a:hover{color:var(--accent-hover)}img,svg,video{max-width:100%}img{height:auto}button{font-family:inherit}::selection{color:var(--color-text);background:#b4530938}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}hr{border:0;border-top:1px solid var(--border-color);margin:1.25rem 0}*{scrollbar-width:thin;scrollbar-color:var(--border-color-darker) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color-darker);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:1000;color:#fffdf7;box-shadow:var(--shadow-card);background:#8c1d2f;border-radius:10px;padding:.65rem 1rem;font-size:.85rem;font-weight:700;transition:transform .18s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{color:#fffdf7;transform:translateY(0)}.icon{vertical-align:middle;flex-shrink:0}.text-gradient{background:var(--gradient-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.status-dot,.live-dot{background:var(--color-green-active);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 4px #10b98129}.live-dot{animation:2.2s ease-in-out infinite pulseDot}.brand{min-width:0;color:inherit;align-items:center;gap:.68rem;text-decoration:none;display:inline-flex}.brand-mark{background:var(--gradient-brand);color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;display:inline-grid;box-shadow:0 8px 20px -8px #b45309a6}.brand-copy{flex-direction:column;min-width:0;line-height:1.12;display:flex}.brand-name{letter-spacing:-.02em;color:inherit;white-space:nowrap;text-overflow:ellipsis;font-size:.97rem;font-weight:800;overflow:hidden}.brand-sub{letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-muted);opacity:.9;margin-top:.16rem;font-size:.64rem;font-weight:700}.btn{letter-spacing:-.005em;color:var(--color-text);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:.64rem 1.05rem;font-family:inherit;font-size:.875rem;font-weight:700;line-height:1.25;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s,color .16s,opacity .16s;display:inline-flex}.btn:hover{text-decoration:none}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 10px 22px -12px #b45309e6}.btn-primary:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#92400e 0%,#7b1e2b 100%);box-shadow:0 14px 26px -12px #b45309f2}.btn-secondary{background:var(--bg-card);color:var(--color-text-secondary);border-color:var(--border-color);box-shadow:0 1px 2px #2b0f140a}.btn-secondary:hover:not(:disabled){background:var(--bg-input);border-color:var(--border-color-darker);color:var(--color-text)}.btn-danger{background:var(--gradient-danger);color:#fff;box-shadow:0 10px 22px -14px #b91c1cd9}.btn-danger:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#991b1b 0%,#7f1d1d 100%)}.btn-success{background:var(--gradient-success);color:#fff;box-shadow:0 10px 22px -14px #10b981d9}.btn-success:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#059669 0%,#047857 100%)}.btn-ghost{color:var(--color-text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--bg-input);color:var(--color-text)}.btn-sm{border-radius:9px;gap:.35rem;padding:.42rem .72rem;font-size:.78rem}.btn-lg{border-radius:14px;padding:.82rem 1.35rem;font-size:.95rem}.btn-full{width:100%}.icon-btn{border:1px solid var(--border-color);background:var(--bg-card);width:38px;height:38px;color:var(--color-text-secondary);cursor:pointer;border-radius:11px;flex-shrink:0;place-items:center;padding:0;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-grid}.icon-btn:hover{background:var(--bg-input);border-color:var(--border-color-darker);color:var(--color-text)}.icon-btn:active{transform:translateY(1px)}.link-btn{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;padding:0;font-size:.82rem;font-weight:650;text-decoration:none;display:inline-flex}.link-btn:hover{color:var(--accent-hover);text-decoration:underline}input,select,textarea{width:100%;max-width:100%;color:var(--color-text);background:var(--bg-input);border:1px solid var(--border-color-darker);appearance:none;border-radius:10px;padding:.62rem .8rem;font-family:inherit;font-size:.88rem;line-height:1.4;transition:border-color .16s,box-shadow .16s,background .16s}input::placeholder,textarea::placeholder{color:var(--color-text-soft);opacity:1}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--color-text-soft)}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--bg-input-focus);box-shadow:var(--ring);outline:none}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-table-hover)}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:13px;padding-right:2.2rem}textarea{resize:vertical;min-height:96px}input[type=checkbox],input[type=radio]{width:1.05rem;min-width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer;appearance:auto;background:0 0;border:0;border-radius:5px;flex-shrink:0;margin:0;padding:0}input[type=file]{background:var(--bg-input);padding:.5rem;font-size:.82rem}input[type=date]{min-height:40px}label{color:var(--color-text-secondary);margin-bottom:.35rem;font-size:.78rem;font-weight:650;display:inline-block}.field-group{flex-direction:column;gap:.32rem;min-width:0;margin-bottom:.95rem;display:flex}.field-group>label{margin-bottom:0}.form{flex-direction:column;gap:.15rem;display:flex}.form>label{margin-top:.55rem}.form>input,.form>select,.form>textarea{width:100%}.form>.btn{align-self:flex-start;margin-top:1rem}.form-inline{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.form-inline input,.form-inline select{flex:170px;width:auto;min-width:0}.form-inline .btn{flex:none}.input-row{align-items:center;gap:.55rem;display:flex}.input-row input{flex:1}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>.icon{color:var(--color-text-soft);pointer-events:none;position:absolute;left:.85rem}.input-wrap input{padding-left:2.6rem;padding-right:2.85rem}.input-action{width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;padding:0;transition:color .16s,background .16s;display:inline-grid;position:absolute;right:.35rem}.input-action:hover{color:var(--color-text);background:var(--bg-table-hover)}.checkbox-label{color:var(--color-text-secondary);cursor:pointer;align-items:center;gap:.55rem;margin:0;font-size:.85rem;font-weight:550;line-height:1.4;display:inline-flex}.checkbox-list{flex-direction:column;gap:.45rem;max-height:280px;margin:.5rem 0;padding:.35rem;display:flex;overflow-y:auto}.checkbox-list .checkbox-label{border-radius:9px;padding:.45rem .55rem;transition:background .16s}.checkbox-list .checkbox-label:hover{background:var(--bg-table-hover)}.hint{color:var(--color-text-muted);margin:.35rem 0 0;font-size:.8rem;line-height:1.5}.edit-password-row{border-top:1px dashed var(--border-color);flex-direction:column;gap:.35rem;margin-top:1rem;padding-top:1rem;display:flex}.lookup-result-box{border:1px solid var(--border-color-checkin);background:var(--bg-checkin);color:var(--color-text-secondary);border-radius:11px;margin-top:.55rem;padding:.7rem .85rem;font-size:.84rem}.import-help{border:1px dashed var(--border-color-darker);color:var(--color-text-muted);border-radius:11px;margin:.85rem 0;padding:.7rem .85rem;font-size:.82rem}.import-help summary{cursor:pointer;color:var(--color-text-secondary);font-weight:700}.import-help p{margin:.5rem 0 0}.import-skip-list{text-align:left;max-height:150px;margin:.5rem 0 0 1.1rem;font-size:.8rem;overflow-y:auto}.card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);color:var(--color-text);padding:1.35rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:block}.card h3{margin:0 0 .35rem;font-size:1.02rem}.card p{color:var(--color-text-muted);margin:0;font-size:.86rem}a.card:hover{color:var(--color-text);border-color:#b4530966;transform:translateY(-3px);box-shadow:0 22px 40px -26px #2b0f1466}.section-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin:0;padding:clamp(1rem,2.2vw,1.5rem);position:relative}.section-title{letter-spacing:-.015em;margin:0 0 1rem;font-size:1.02rem;font-weight:750}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;display:flex}.section-head h3{margin:0}.section-sub{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.82rem}.page{width:100%;max-width:1120px;margin:0 auto;padding:clamp(1.25rem,4vw,2.5rem)}.page>h2{margin-top:0}.page-header-count{background:var(--bg-input);border:1px solid var(--border-color);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .75rem;font-size:.76rem;font-weight:700;display:inline-flex}.home{max-width:1080px;margin:0 auto;padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,2.5rem)}.home h1{margin:0 0 .5rem}.home .subtitle{color:var(--color-text-muted);margin-bottom:2rem;font-size:1.02rem}.home-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.alert{border:1px solid #0000;border-radius:12px;align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.75rem .95rem;font-size:.85rem;font-weight:550;line-height:1.5;display:flex}.alert .icon{margin-top:.1rem}.alert-error{border-color:var(--border-color-alert-error);color:#7f1d1d;background:#fef2f2}.alert-success{border-color:var(--border-color-alert-success);color:#047857;background:#ecfdf5}[data-theme=dark] .alert-error{color:#fecaca;background:#7f1d1d38}[data-theme=dark] .alert-success{color:#6ee7b7;background:#065f463d}.badge{letter-spacing:.01em;white-space:nowrap;border-radius:999px;align-items:center;gap:.28rem;padding:.2rem .58rem;font-size:.7rem;font-weight:750;line-height:1.45;display:inline-flex}.badge-violet{background:var(--bg-badge-violet);color:var(--color-badge-violet)}.badge-blue{background:var(--bg-badge-blue);color:var(--color-badge-blue)}.badge-red{background:var(--bg-badge-red);color:var(--color-badge-red)}.badge-gray{background:var(--bg-badge-gray);color:var(--color-badge-gray)}.badge-green{background:var(--bg-badge-green);color:var(--color-badge-green)}.badge-amber{background:var(--bg-badge-amber);color:var(--color-badge-amber)}.area-tag{background:var(--bg-area-tag);color:var(--color-area-tag);white-space:nowrap;border-radius:999px;align-items:center;margin:.1rem .25rem .1rem 0;padding:.16rem .52rem;font-size:.71rem;font-weight:700;display:inline-flex}.chip-row{flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1rem;display:flex}.chip-group{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.chip-group-title{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);margin-right:.15rem;font-size:.68rem;font-weight:800}.stat-chip{background:var(--bg-chip);border:1px solid var(--border-color-chip);color:var(--color-text-secondary);border-radius:999px;align-items:center;gap:.4rem;padding:.22rem .55rem;font-size:.74rem;display:inline-flex}.stat-chip-label{font-weight:550}.stat-chip-count{background:var(--bg-stat-chip-count);color:var(--color-stat-chip-count);border-radius:999px;padding:.02rem .4rem;font-size:.72rem;font-weight:800}.empty{text-align:center;color:var(--color-text-muted);font-size:.86rem;padding:2.25rem 1rem!important}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border-color);background:var(--bg-card);border-radius:14px;width:100%;overflow-x:auto}.section-card>.table-wrap{margin-top:.25rem}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:620px;font-size:.84rem}.data-table th{z-index:1;background:var(--bg-table-header);border-bottom:1px solid var(--border-color);color:var(--color-text-muted);letter-spacing:.09em;text-transform:uppercase;text-align:left;white-space:nowrap;padding:.7rem .85rem;font-size:.66rem;font-weight:800;position:sticky;top:0}.data-table td{border-bottom:1px solid var(--border-color-soft);color:var(--color-text-secondary);vertical-align:middle;padding:.72rem .85rem}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover td{background:var(--bg-table-hover)}.data-table tr.row-open td{background:var(--bg-table-row-open);box-shadow:inset 3px 0 0 var(--color-warning-icon)}.data-table tr.row-open:hover td{background:var(--bg-table-row-open-hover)}.data-table td.actions,.data-table .actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.data-table td.actions .btn{flex:none}.id-cell{color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace;font-size:.76rem}.event-date-cell{color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.event-desc{max-width:340px;color:var(--color-text-muted);font-size:.82rem}.pagination{border-top:1px solid var(--border-color-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:.95rem;display:flex}.pagination-info{color:var(--color-text-muted);font-size:.78rem;font-weight:550}.pagination-controls{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.pagination-ellipsis{color:var(--color-text-soft);padding:0 .15rem}.modal-overlay{z-index:200;-webkit-backdrop-filter:blur(6px);background:#0a04039e;place-items:center;padding:1rem;animation:.18s both fadeIn;display:grid;position:fixed;inset:0}.modal{background:var(--bg-card);border:1px solid var(--border-color);width:min(94vw,460px);max-height:min(90vh,860px);box-shadow:var(--shadow-modal);border-radius:22px;padding:clamp(1.15rem,3vw,1.6rem);animation:.2s both modalIn;overflow-y:auto}.modal-wide{width:min(94vw,600px)}.modal h3{letter-spacing:-.02em;margin:0 0 .75rem;font-size:1.12rem}.modal>.hint{margin-bottom:1rem}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;display:flex}.modal .qr-image{margin:0 auto 1rem}.qr-container{text-align:center;margin-top:1.1rem}.qr-container h4,.qr-container .section-title{margin:0 0 .75rem}.qr-image{border:1px solid var(--border-color);background:#fff;border-radius:14px;width:200px;max-width:100%;margin:0 auto;padding:.5rem;display:block}.qr-hint{max-width:320px;color:var(--color-text-muted);text-align:center;margin:.6rem auto 0;font-size:.78rem}.spinner{border:2.5px solid var(--color-spinner-border);border-top-color:var(--color-spinner-top);border-radius:50%;flex-shrink:0;width:20px;height:20px;animation:.7s linear infinite spin;display:inline-block}.spinner-inline{vertical-align:middle;border-width:2px;width:14px;height:14px}.spinner-light{border-color:#fff #ffffff59 #ffffff59}.spinner-block{color:var(--color-spinner-text);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem 1rem;font-size:.86rem;display:flex}.spinner-label{font-weight:550}.spinner-overlay{z-index:300;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0}.page-loader,.route-loader{min-height:100vh;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.9rem;padding:2rem;font-size:.9rem;font-weight:550;display:flex}.route-loader .spinner{width:26px;height:26px}.admin-layout{background:var(--bg-body);min-height:100vh;display:flex}.admin-sidebar-backdrop{z-index:99;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a04038c;transition:opacity .24s;position:fixed;inset:0}.admin-sidebar{z-index:100;width:var(--sidebar-w);min-width:var(--sidebar-w);color:#fff;border-right:1px solid var(--border-color-sidebar);background:radial-gradient(720px 340px at 20% -10%,#9a341247,#0000 62%),linear-gradient(#2b0f14 0%,#200d0a 100%);flex-direction:column;height:100vh;transition:transform .26s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-100%)}.admin-sidebar.open{transform:translate(0)}.admin-sidebar-head{border-bottom:1px solid var(--border-color-sidebar);justify-content:space-between;align-items:center;gap:.5rem;padding:1.15rem 1rem .9rem;display:flex}.admin-brand{color:#fff;align-items:center;min-width:0;text-decoration:none;display:inline-flex}.admin-brand:hover,.admin-sidebar .brand-name{color:#fff}.admin-sidebar .brand-sub{color:#f6eada9e}.admin-sidebar .brand-mark{box-shadow:0 8px 20px -8px #9a3412e6}.sidebar-close{color:#d8c7ae;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff29;border-radius:10px;place-items:center;width:34px;height:34px;padding:0;display:none}.sidebar-close:hover{color:#fff;background:#ffffff1f}.admin-nav{flex-direction:column;flex:1;gap:1.1rem;padding:1rem .8rem;display:flex}.admin-nav-group{flex-direction:column;gap:.22rem;display:flex}.admin-nav-label{letter-spacing:.15em;text-transform:uppercase;color:#c9b49b9e;padding:0 .7rem .35rem;font-size:.63rem;font-weight:800}.admin-nav-link{color:#c9b49b;border-radius:11px;align-items:center;gap:.68rem;padding:.6rem .7rem;font-size:.87rem;font-weight:600;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:flex;position:relative}.admin-nav-link .nav-icon{color:#c9b49be6;place-items:center;width:22px;transition:color .16s;display:inline-grid}.admin-nav-link:hover{color:#fff;background:#ffffff0f}.admin-nav-link:hover .nav-icon{color:#e7d9c3}.admin-nav-link.active{color:#fff;background:linear-gradient(135deg,#b45309e6,#9a3412c7);box-shadow:0 10px 22px -14px #b45309f2}.admin-nav-link.active .nav-icon{color:#fff}.admin-sidebar-footer{border-top:1px solid var(--border-color-sidebar);flex-direction:column;gap:.65rem;padding:.9rem .8rem 1.1rem;display:flex}.sidebar-user{background:#ffffff0a;border:1px solid #ffffff14;border-radius:13px;align-items:center;gap:.6rem;padding:.55rem;display:flex}.sidebar-avatar,.topbar-avatar{background:var(--gradient-brand);color:#fff;letter-spacing:.02em;border-radius:10px;flex-shrink:0;place-items:center;width:34px;height:34px;font-size:.72rem;font-weight:800;display:inline-grid}.sidebar-user-meta{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.sidebar-username{color:#f7efe1;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:700;overflow:hidden}.sidebar-role{color:#c9b49be6;white-space:nowrap;text-overflow:ellipsis;font-size:.68rem;font-weight:550;overflow:hidden}.sidebar-user .icon-btn{color:#c9b49b;background:0 0;border-color:#ffffff1f;width:30px;height:30px}.sidebar-user .icon-btn:hover{color:#fff;background:#ffffff1a;border-color:#fff3}.sidebar-home-link{color:#c9b49bd9;border-radius:8px;align-items:center;gap:.45rem;padding:.35rem .55rem;font-size:.75rem;font-weight:550;text-decoration:none;display:inline-flex}.sidebar-home-link:hover{color:#fff;background:#ffffff0d}.admin-body{min-width:0;min-height:100vh;margin-left:var(--sidebar-w);background:var(--bg-body);flex-direction:column;flex:1;display:flex}.admin-topbar{z-index:40;min-height:var(--topbar-h);background:var(--bg-vp2-topbar);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem clamp(1rem,3vw,2rem);display:flex;position:sticky;top:0}.admin-topbar-title{min-width:0}.topbar-kicker{letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-soft);font-size:.62rem;font-weight:800;display:block}.admin-topbar-title h2{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;margin:.08rem 0 0;font-size:1.04rem;font-weight:750;overflow:hidden}.admin-topbar-actions{flex-shrink:0;align-items:center;gap:.55rem;display:flex}.topbar-date{border:1px solid var(--border-color);background:var(--bg-card);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.73rem;font-weight:600;display:inline-flex}.topbar-user{border-left:1px solid var(--border-color);align-items:center;gap:.5rem;padding-left:.55rem;display:inline-flex}.topbar-avatar{border-radius:9px;width:30px;height:30px;font-size:.68rem}.topbar-username{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:140px;font-size:.8rem;font-weight:700;overflow:hidden}.admin-content{flex:1;width:100%;max-width:1320px;margin:0 auto;padding:clamp(1.1rem,2.6vw,2rem)}.admin-content:has(.admin-page--wide){max-width:1480px}.admin-content:has(.dashboard-page){max-width:1320px}.admin-footer{border-top:1px solid var(--border-color);color:var(--color-text-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem clamp(1rem,3vw,2rem);font-size:.73rem;display:flex}.admin-footer-secure{align-items:center;gap:.35rem;display:inline-flex}.admin-mobile-header{z-index:110;border-bottom:1px solid var(--border-color-sidebar);background:radial-gradient(600px 200px at 20% -40%,#9a34124d,#0000 60%),linear-gradient(#2b0f14,#200d0a);justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem .85rem;display:none;position:sticky;top:0}.admin-mobile-brand{align-items:center;min-width:0;display:inline-flex}.admin-mobile-brand .brand-name{color:#fff}.admin-mobile-brand .brand-sub{color:#f6eada99}.admin-mobile-brand .brand-mark{border-radius:10px;width:34px;height:34px}.admin-mobile-actions{flex-shrink:0;align-items:center;gap:.45rem;display:flex}.admin-mobile-actions .icon-btn{color:#d8c7ae;background:#ffffff0d;border-color:#ffffff24}.admin-mobile-actions .icon-btn:hover{color:#fff;background:#ffffff1f}.admin-mobile-menu-btn{color:#e7d9c3;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff29;border-radius:11px;place-items:center;width:38px;height:38px;padding:0;display:inline-grid}.admin-mobile-menu-btn:hover{color:#fff;background:#ffffff1f}.admin-page{flex-direction:column;gap:1.1rem;display:flex}.admin-page>.section-card{margin:0}.admin-page-header{box-shadow:none;background:0 0;border:0;border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 0 .15rem;padding:0;display:flex}.admin-page-header>div{min-width:0}.admin-page-header h2{letter-spacing:-.025em;margin:0;font-size:clamp(1.3rem,2.3vw,1.6rem);font-weight:800}.admin-page-desc{color:var(--color-text-muted);margin:.3rem 0 0;font-size:.86rem;line-height:1.5}.admin-two-col{grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);align-items:start;gap:1.1rem;display:grid}.admin-two-col>.section-card{min-width:0;margin:0}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(168px,1fr));align-items:end;gap:.8rem;display:grid}.filter-field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.filter-field>label{letter-spacing:.03em;color:var(--color-text-muted);text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.filter-field input:not([type=checkbox]):not([type=radio]),.filter-field select{width:100%}.filter-grow{grid-column:span 2}.filter-action{flex-flow:wrap;align-items:center;gap:.45rem}.filter-checkbox{justify-content:flex-end;padding-bottom:.45rem}.filter-checkbox .checkbox-label{white-space:nowrap;max-width:100%}.filter-field input[type=checkbox],.filter-field input[type=radio]{background:0 0;border:0;width:1.05rem;height:1.05rem;padding:0}.filter-action{justify-content:flex-end}.filter-compact{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.filter-inline{border-radius:9px;width:auto;min-width:120px;max-width:220px;padding:.45rem .6rem;font-size:.8rem}.filter-inline[type=date]{min-width:145px}.checkbox-compact{white-space:nowrap}.dashboard-page{gap:1.15rem}.dash-hero{border-radius:var(--radius-xl);color:#fff;background:var(--gradient-hero);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;padding:clamp(1.4rem,3vw,2.2rem);display:flex;position:relative;overflow:hidden;box-shadow:0 28px 55px -32px #4a1219d9}.dash-hero:after{content:"";pointer-events:none;background:radial-gradient(circle,#c2410c59,#0000 68%);border-radius:50%;width:320px;height:320px;position:absolute;top:-110px;right:-80px}.dash-hero-copy{z-index:1;min-width:0;position:relative}.dash-eyebrow{color:#e7d9c3;letter-spacing:.05em;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:.7rem;padding:.28rem .65rem;font-size:.7rem;font-weight:700;display:inline-flex}.dash-hero h1{color:#fff;letter-spacing:-.03em;margin:0 0 .45rem;font-size:clamp(1.5rem,3vw,2.05rem)}.dash-hero p{color:#f6eadad1;max-width:560px;margin:0;font-size:.9rem;line-height:1.6}.dash-hero-side{z-index:1;flex-wrap:wrap;align-items:center;gap:.6rem;display:flex;position:relative}.dash-date{color:#e7d9c3;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.dash-hero-btn{color:#6b1d2a;background:#fff;box-shadow:0 12px 24px -14px #0009}.dash-hero-btn:hover:not(:disabled){color:#6b1d2a;background:#fbf0dc}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:.85rem;margin:1.15rem 0;display:grid}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);box-shadow:var(--shadow-stat);border-radius:17px;align-items:center;gap:.85rem;padding:1rem 1.05rem;transition:transform .18s,box-shadow .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--stat-accent,var(--accent));opacity:.9;width:4px;position:absolute;inset:0 auto 0 0}.stat-card:hover{border-color:var(--border-color-darker);box-shadow:var(--shadow-card);transform:translateY(-2px)}.stat-card-icon{border-radius:13px;flex-shrink:0;place-items:center;width:42px;height:42px;display:inline-grid}.stat-card-body{flex-direction:column;min-width:0;line-height:1.15;display:flex}.stat-value{letter-spacing:-.03em;color:var(--color-text);font-size:1.5rem;font-weight:800}.stat-label{color:var(--color-text-muted);margin-top:.16rem;font-size:.74rem;font-weight:600}.dash-charts-row{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.15rem;display:grid}.dash-chart-card{margin:0}.dash-chart-title{margin:0;font-size:.98rem}.dash-chart-body{flex-wrap:wrap;align-items:center;gap:1.35rem;padding-top:.25rem;display:flex}.dash-chart-body--bar{display:block}.donut-chart{flex-shrink:0;position:relative}.donut-chart svg{display:block}.donut-chart svg circle:first-child{stroke:var(--border-color-soft)}.donut-center{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-center-value{letter-spacing:-.03em;color:var(--color-text);font-size:1.3rem;font-weight:800}.donut-center-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft);font-size:.65rem;font-weight:700}.chart-legend{flex-direction:column;flex:140px;gap:.42rem;min-width:130px;display:flex}.chart-legend-item{align-items:center;gap:.5rem;font-size:.8rem;display:flex}.chart-legend-dot{border-radius:3px;flex-shrink:0;width:9px;height:9px}.chart-legend-label{color:var(--color-text-secondary);flex:1;font-weight:550}.chart-legend-value{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:750}.bar-chart{flex-direction:column;gap:.8rem;padding:.35rem 0;display:flex}.bar-chart-row{align-items:center;gap:.7rem;display:flex}.bar-chart-label{color:var(--color-text-muted);flex:0 0 68px;font-size:.78rem;font-weight:650}.bar-chart-track{background:var(--bg-table-hover);border-radius:999px;flex:1;height:12px;overflow:hidden}.bar-chart-fill{border-radius:999px;justify-content:flex-end;align-items:center;min-width:34px;height:100%;padding-right:.45rem;transition:width .6s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.bar-chart-value{color:#fff;font-size:.64rem;font-weight:800}.landing{background:var(--bg-landing);min-height:100vh;color:var(--color-text);flex-direction:column;padding-top:0;display:flex;position:relative;overflow:hidden}.landing-aurora{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.landing-glow{filter:blur(70px);opacity:.55;border-radius:50%;display:block;position:absolute}.landing-glow--one{background:radial-gradient(circle,#b4530973,#0000 70%);width:520px;height:520px;top:-180px;left:-120px}.landing-glow--two{background:radial-gradient(circle,#c2410c61,#0000 70%);width:480px;height:480px;top:-120px;right:-140px}.landing-glow--three{background:radial-gradient(circle,#8c1d2f38,#0000 70%);width:520px;height:520px;bottom:-260px;left:40%}.landing-grid{opacity:.6;background-image:linear-gradient(90deg,#8a746017 1px,#0000 1px),linear-gradient(#8a746017 1px,#0000 1px);background-size:58px 58px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 60% at 50% 0,#000 35%,#0000 78%);mask-image:radial-gradient(80% 60% at 50% 0,#000 35%,#0000 78%)}[data-theme=dark] .landing-grid{background-image:linear-gradient(90deg,#c9b49b14 1px,#0000 1px),linear-gradient(#c9b49b14 1px,#0000 1px)}.landing-navbar{z-index:2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f6eada;background:#2b0f14eb;border:1px solid #ffecd224;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;width:calc(100% - 2rem);max-width:1180px;margin:.85rem auto 0;padding:.7rem clamp(.9rem,3vw,1.35rem);display:flex;position:relative;box-shadow:0 18px 40px -28px #2b0f14a6}.landing-brand{color:inherit;display:inline-flex}.landing-brand:hover{color:inherit}.landing-navbar .brand-sub{color:#f6eada9e}.landing-nav-actions{align-items:center;gap:.55rem;display:flex}.landing-theme-btn{color:#f6eada;background:#ffffff14;border-color:#ffecd22e}.landing-theme-btn:hover{color:#fffdf7;background:#ffffff29}.landing-main{z-index:1;flex:1;width:100%;max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem;position:relative}.landing-hero{text-align:center;max-width:880px;margin:0 auto;padding:clamp(2.6rem,7vw,5rem) 0 clamp(2.4rem,5vw,3.6rem)}.landing-eyebrow{color:var(--accent-ink);letter-spacing:.02em;background:#b4530914;border:1px solid #b4530947;border-radius:999px;align-items:center;gap:.45rem;margin-bottom:1.1rem;padding:.38rem .85rem;font-size:.74rem;font-weight:750;display:inline-flex}[data-theme=dark] .landing-eyebrow{background:#ca8a041f;border-color:#ca8a0452}.landing-title{letter-spacing:-.045em;max-width:860px;color:var(--color-text-landing);margin:0 auto 1.15rem;font-size:clamp(2.15rem,5.6vw,4rem);font-weight:800;line-height:1.06}.landing-lede{max-width:640px;color:var(--color-text-landing-muted);margin:0 auto 1.7rem;font-size:clamp(.95rem,1.6vw,1.08rem);line-height:1.7}.landing-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;margin-bottom:1.6rem;display:flex}.landing-points{color:var(--color-text-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.55rem 1.25rem;margin:0;padding:0;font-size:.8rem;font-weight:600;list-style:none;display:flex}.landing-points li{align-items:center;gap:.4rem;display:inline-flex}.landing-points .icon{color:var(--accent)}.landing-portals,.landing-steps{max-width:none;padding:clamp(1.6rem,4vw,2.6rem) 0;display:block}.landing-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.35rem;display:flex}.landing-section-head h2{letter-spacing:-.03em;margin:0;font-size:clamp(1.3rem,2.5vw,1.65rem)}.landing-section-head p{color:var(--color-text-muted);margin:.3rem 0 0;font-size:.87rem}.landing-section-note{border:1px solid var(--border-color);background:var(--bg-card);color:var(--color-text-muted);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .7rem;font-size:.73rem;font-weight:650;display:inline-flex}.portal-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:.95rem;display:grid}.portal-card{--tone:#b45309;--tone-soft:#b453091a;border:1px solid var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-card);color:var(--color-text);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:20px;flex-direction:column;gap:.9rem;padding:1.35rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.portal-card:before{content:"";background:var(--tone);opacity:.85;height:3px;position:absolute;inset:0 0 auto}.portal-card:hover{border-color:var(--tone);background:var(--bg-card);color:var(--color-text);transform:translateY(-4px);box-shadow:0 26px 46px -28px #2b0f1473}.portal-card--maroon{--tone:#8c1d2f;--tone-soft:#8c1d2f1a}.portal-card--saffron{--tone:#b45309;--tone-soft:#b453091a}.portal-card--teal{--tone:#0f766e;--tone-soft:#0f766e1a}.portal-card--green{--tone:#15803d;--tone-soft:#15803d1a}[data-theme=dark] .portal-card--maroon{--tone:#f5b7c0;--tone-soft:#f5b7c024}[data-theme=dark] .portal-card--saffron{--tone:#fbbf24;--tone-soft:#fbbf2424}[data-theme=dark] .portal-card--teal{--tone:#5eead4;--tone-soft:#5eead424}[data-theme=dark] .portal-card--green{--tone:#6ee7b7;--tone-soft:#6ee7b724}.portal-icon{background:var(--tone-soft);width:46px;height:46px;color:var(--tone);border-radius:14px;place-items:center;display:inline-grid}.portal-card-body{flex-direction:column;gap:.28rem;min-width:0;display:flex}.portal-meta{letter-spacing:.1em;text-transform:uppercase;color:var(--tone);font-size:.65rem;font-weight:800}.portal-card-body h3{letter-spacing:-.02em;margin:0;font-size:1.08rem}.portal-card-body p{color:var(--color-text-muted);margin:0;font-size:.83rem;line-height:1.55}.portal-arrow{color:var(--tone);opacity:.55;transition:transform .2s,opacity .2s;position:absolute;top:1.2rem;right:1.2rem}.portal-card:hover .portal-arrow{opacity:1;transform:translate(2px,-2px)}.steps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.95rem;margin:0;padding:0;list-style:none;display:grid}.step-card{border:1px solid var(--border-color);background:var(--bg-card);box-shadow:var(--shadow-stat);border-radius:18px;padding:1.35rem;position:relative;overflow:hidden}.step-index{letter-spacing:-.05em;color:var(--color-text);opacity:.07;font-size:2.1rem;font-weight:800;position:absolute;top:.65rem;right:.9rem}.step-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent-ink);border-radius:13px;place-items:center;margin-bottom:.8rem;display:inline-grid}.step-card h3{margin:0 0 .3rem;font-size:1rem}.step-card p{color:var(--color-text-muted);margin:0;font-size:.83rem;line-height:1.55}.landing-footer{z-index:1;border-top:1px solid var(--border-color);width:100%;max-width:1180px;color:var(--color-text-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;padding:1.15rem clamp(1rem,4vw,2rem) 1.6rem;font-size:.75rem;display:flex;position:relative}.landing-footer-right{align-items:center;gap:.35rem;display:inline-flex}.auth-shell{background:var(--bg-login);grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);min-height:100vh;display:grid}.auth-aside{color:#fff;background:radial-gradient(900px 420px at 18% -10%,#9a34127a,#0000 62%),linear-gradient(160deg,#2b0f14 0%,#3a1218 55%,#4a1219 100%);flex-direction:column;padding:clamp(1.4rem,3.2vw,2.6rem);display:flex;position:relative;overflow:hidden}.auth-aside-glow{filter:blur(30px);pointer-events:none;background:radial-gradient(circle,#b4530973,#0000 68%);border-radius:50%;width:520px;height:520px;position:absolute;bottom:-180px;right:-160px}.auth-brand{z-index:1;color:#fff;align-self:flex-start;text-decoration:none;display:inline-flex;position:relative}.auth-brand:hover,.auth-brand .brand-name{color:#fff}.auth-brand .brand-sub{color:#f6eada9e}.auth-aside-body{z-index:1;max-width:470px;margin:auto 0;padding:2.5rem 0;position:relative}.auth-badge{color:#e7d9c3;letter-spacing:.04em;text-transform:uppercase;background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.42rem;margin-bottom:1.1rem;padding:.34rem .75rem;font-size:.71rem;font-weight:750;display:inline-flex}.auth-aside-body h1{color:#fff;letter-spacing:-.035em;margin:0 0 .9rem;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.12}.auth-aside-body>p{color:#f6eadad1;max-width:430px;margin:0 0 1.5rem;font-size:.94rem;line-height:1.7}.auth-features{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.auth-features li{color:#f6eadae6;align-items:flex-start;gap:.65rem;font-size:.86rem;line-height:1.5;display:flex}.auth-features .icon{color:#fbbf24;flex-shrink:0;margin-top:.12rem}.auth-aside-foot{z-index:1;color:#c9b49bd9;align-items:center;gap:.45rem;font-size:.73rem;font-weight:550;display:inline-flex;position:relative}.auth-shell--volunteer .auth-aside{background:radial-gradient(900px 420px at 18% -10%,#10b98166,#0000 62%),linear-gradient(160deg,#07130f 0%,#0b2a24 55%,#064e3b 130%)}.auth-shell--volunteer .auth-features .icon{color:#6ee7b7}.auth-main{background:radial-gradient(900px 400px at 100% 0%, #b4530912, transparent 60%), var(--bg-login);flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100vh;padding:clamp(1.1rem,3vw,2.2rem);display:flex;position:relative}.auth-topbar{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:460px;display:flex}.auth-back{color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.8rem;font-weight:650;text-decoration:none;display:inline-flex}.auth-back:hover{color:var(--color-text)}.auth-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:440px;margin:auto;padding:clamp(1.35rem,3.4vw,2.15rem);box-shadow:0 30px 60px -34px #2b0f1452}.auth-icon-tile{background:var(--gradient-primary);color:#fff;border-radius:15px;place-items:center;width:48px;height:48px;margin-bottom:1rem;display:inline-grid;box-shadow:0 12px 24px -14px #b45309e6}.auth-icon-tile--green{background:var(--gradient-success);box-shadow:0 12px 24px -14px #10b981e6}.auth-card h2{letter-spacing:-.03em;margin:0 0 .3rem;font-size:clamp(1.4rem,2.6vw,1.7rem)}.auth-card-sub{color:var(--color-text-muted);margin:0;font-size:.87rem;line-height:1.55}.login-form{flex-direction:column;gap:.95rem;margin-top:1.4rem;display:flex}.login-field{flex-direction:column;gap:.35rem;display:flex}.login-field>label{color:var(--color-text-secondary);margin:0;font-size:.77rem;font-weight:700}.login-btn{margin-top:.15rem}.auth-divider{color:var(--color-text-soft);align-items:center;gap:.75rem;margin:1.35rem 0 1rem;font-size:.72rem;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-color);flex:1;height:1px}.auth-links{flex-direction:column;gap:.45rem;display:flex}.auth-links a{border:1px solid var(--border-color);background:var(--bg-input);color:var(--color-text-secondary);border-radius:12px;align-items:center;gap:.6rem;padding:.62rem .75rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:border-color .16s,background .16s,color .16s,transform .16s;display:flex}.auth-links a:hover{border-color:var(--border-color-darker);background:var(--bg-card);color:var(--color-text);transform:translate(2px)}.auth-links a>.icon:first-child{color:var(--accent)}.auth-link-chevron{color:var(--color-text-soft);margin-left:auto}.auth-legal{color:var(--color-text-soft);text-align:center;align-items:center;gap:.35rem;margin:auto 0 0;padding-top:.75rem;font-size:.72rem;display:inline-flex}.otp-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;margin-bottom:.25rem;display:grid}.otp-box{border:1.5px solid var(--border-color-otp);background:var(--bg-input);width:100%;height:56px;color:var(--color-text);text-align:center;letter-spacing:.02em;border-radius:12px;padding:0;font-size:1.3rem;font-weight:800}.otp-box:focus{border-color:var(--accent);background:var(--bg-input-focus);box-shadow:var(--ring)}.otp-actions{justify-content:center;margin-top:.15rem;display:flex}.sr-page{background:radial-gradient(1000px 420px at 50% -160px, #b4530921, transparent 65%), var(--bg-body);min-height:100vh}.sr-topbar{z-index:60;background:var(--bg-vp2-topbar);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid #0000;transition:border-color .2s,box-shadow .2s;position:sticky;top:0}.sr-topbar-scrolled{border-bottom-color:var(--border-color);box-shadow:0 12px 30px -28px #2b0f1480}.sr-topbar-inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1040px;margin:0 auto;padding:.75rem clamp(1rem,4vw,2rem);display:flex}.sr-brand{color:inherit;display:inline-flex}.sr-brand:hover{color:inherit}.sr-topbar-actions{align-items:center;gap:.5rem;display:flex}.sr-main{width:100%;max-width:880px;margin:0 auto;padding:clamp(2rem,5vw,3.4rem) clamp(1rem,4vw,2rem) 4rem}.sr-hero{text-align:center;max-width:640px;margin:0 auto 2rem}.sr-hero-badge{color:var(--accent-ink);letter-spacing:.04em;text-transform:uppercase;background:#b4530914;border:1px solid #b4530942;border-radius:999px;align-items:center;gap:.4rem;margin-bottom:.85rem;padding:.32rem .7rem;font-size:.7rem;font-weight:750;display:inline-flex}[data-theme=dark] .sr-hero-badge{background:#ca8a041f;border-color:#ca8a044d}.sr-hero-title{letter-spacing:-.04em;margin:0 0 .55rem;font-size:clamp(1.9rem,4.2vw,2.6rem)}.sr-hero-subtitle{max-width:540px;color:var(--color-text-muted);margin:0 auto;font-size:.92rem;line-height:1.65}.sr-form{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:clamp(1.2rem,3.2vw,2rem)}.sr-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.95rem;display:grid}.sr-field{flex-direction:column;gap:.32rem;min-width:0;display:flex}.sr-field>label{color:var(--color-text-secondary);margin:0;font-size:.77rem;font-weight:700}.sr-field-full{grid-column:1/-1}.sr-section-head{border-top:1px solid var(--border-color-soft);align-items:flex-start;gap:.8rem;margin-top:.9rem;padding-top:1.2rem;display:flex}.sr-form-grid>.sr-section-head:first-child{border-top:0;margin-top:0;padding-top:0}.sr-section-num{background:var(--accent-soft);width:32px;height:32px;color:var(--accent-ink);letter-spacing:.04em;border-radius:10px;flex-shrink:0;place-items:center;font-size:.7rem;font-weight:800;display:inline-grid}.sr-section-head h3{letter-spacing:-.015em;margin:0;font-size:1rem}.sr-section-head p{color:var(--color-text-muted);margin:.15rem 0 0;font-size:.8rem}.sr-submit{margin-top:1.4rem}.sr-form-note{color:var(--color-text-soft);align-items:center;gap:.35rem;margin:.75rem 0 0;font-size:.72rem;display:inline-flex}.sr-alert{margin-top:1.1rem}.sr-result{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);max-width:580px;box-shadow:var(--shadow-card);text-align:center;margin:0 auto;padding:clamp(1.5rem,4vw,2.4rem)}.sr-result-icon{background:var(--gradient-success);color:#fff;border-radius:50%;place-items:center;width:78px;height:78px;margin-bottom:1rem;display:inline-grid;box-shadow:0 18px 34px -18px #10b981cc}.sr-result-title{letter-spacing:-.03em;margin:0 0 .45rem;font-size:clamp(1.4rem,3vw,1.8rem)}.sr-result-text{max-width:440px;color:var(--color-text-muted);margin:0 auto 1.4rem;font-size:.88rem;line-height:1.65}.sr-qr{border:1px dashed var(--border-color-darker);background:var(--bg-input);border-radius:18px;flex-direction:column;align-items:center;padding:1.1rem;display:flex}.sr-qr img{border:1px solid var(--border-color);background:#fff;border-radius:14px;width:210px;max-width:100%;padding:.5rem}.sr-qr-hint{max-width:330px;color:var(--color-text-muted);margin:.75rem auto 0;font-size:.78rem;line-height:1.55}.sr-result-actions{flex-direction:column;gap:.55rem;margin-top:1.4rem;display:flex}.vol-page{background:var(--bg-vp2-page);min-height:100vh;color:var(--color-text-vp2);flex-direction:column;display:flex}.vol-topbar{z-index:50;background:var(--bg-vp2-topbar);border-bottom:1px solid var(--border-color-vp2);-webkit-backdrop-filter:blur(16px);flex-wrap:wrap;align-items:center;gap:.6rem;padding:.65rem clamp(1rem,4vw,2.5rem);display:flex;position:sticky;top:0}.vol-brand{min-width:0;color:var(--color-text-vp2);align-items:center;text-decoration:none;display:inline-flex}.vol-brand:hover,.vol-brand .brand-name{color:var(--color-text-vp2)}.vol-nav{border:1px solid var(--border-color-vp2);background:var(--bg-vp2-cell);border-radius:999px;align-items:center;gap:.15rem;margin-left:auto;padding:.18rem;display:flex}.vol-nav-link{color:var(--color-text-vp2-muted);border-radius:999px;align-items:center;gap:.38rem;padding:.38rem .78rem;font-size:.76rem;font-weight:700;text-decoration:none;transition:color .16s,background .16s,box-shadow .16s;display:inline-flex}.vol-nav-link:hover{color:var(--color-text-vp2)}.vol-nav-link.is-active{background:var(--bg-vp2-card);color:var(--color-text-vp2);box-shadow:0 1px 2px #2b0f141f}.vol-nav-link .icon{opacity:.75}.vol-nav-link.is-active .icon{color:var(--accent);opacity:1}.vol-top-actions{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.vol-logout .icon{color:var(--color-danger)}.vol-main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:clamp(1.1rem,3vw,2rem) clamp(1rem,4vw,2rem) 3rem}.vol-hero{color:#fff;background:radial-gradient(720px 320px at 88% -50%,#d9770661,#0000 66%),radial-gradient(520px 260px at 8% 120%,#8c1d2f73,#0000 70%),linear-gradient(135deg,#2b0f14 0%,#4a1219 55%,#6b1d2a 100%);border-radius:26px;flex-wrap:wrap;align-items:center;gap:1.35rem;padding:clamp(1.35rem,3.2vw,2.1rem);display:flex;position:relative;overflow:hidden;box-shadow:0 32px 64px -40px #2b0f14e6}.vol-hero:before{content:"";pointer-events:none;background-image:linear-gradient(90deg,#ffecd217 1px,#0000 1px),linear-gradient(#ffecd217 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 100% at 100% 0,#000 10%,#0000 75%);mask-image:radial-gradient(70% 100% at 100% 0,#000 10%,#0000 75%)}.vol-hero-glow{pointer-events:none;background:radial-gradient(circle,#fbbf2447,#0000 68%);border-radius:50%;width:340px;height:340px;position:absolute;top:-120px;right:-80px}.vol-hero-copy{z-index:1;flex:320px;min-width:0;position:relative}.vol-eyebrow{color:#f6eadad1;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.4rem;margin-bottom:.55rem;font-size:.68rem;font-weight:800;display:inline-flex}.vol-eyebrow .icon{color:#fbbf24}.vol-hero-copy h1{color:#fff;letter-spacing:-.035em;overflow-wrap:break-word;margin:0 0 .5rem;font-size:clamp(1.45rem,3.4vw,2rem);line-height:1.12}.vol-hero-sub{color:#f6eadacc;max-width:560px;margin:0;font-size:.88rem;line-height:1.6}.vol-badges{flex-wrap:wrap;gap:.35rem;margin-bottom:.55rem;display:flex}.vol-badges .badge{color:#fffdf7;background:#ffffff1a;border:1px solid #ffffff2e;font-size:.68rem}.vol-avatar-wrap{z-index:1;cursor:pointer;border-radius:28px;flex-shrink:0;width:104px;height:104px;display:inline-flex;position:relative}.vol-avatar{object-fit:cover;border:3px solid #ffffffd9;border-radius:28px;justify-content:center;align-items:center;width:100%;height:100%;font-size:2.2rem;font-weight:800;display:flex;overflow:hidden;box-shadow:0 18px 30px -18px #0009}.vol-avatar-placeholder{color:#fff;background:linear-gradient(135deg,#f59e0b,#c2410c)}.vol-avatar-edit{background:var(--bg-vp2-camera);width:32px;height:32px;color:var(--color-vp2-camera);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-6px;right:-6px;box-shadow:0 4px 10px #00000059}.vol-avatar-edit.is-busy{pointer-events:none}.vol-strength{z-index:1;background:#ffffff14;border:1px solid #ffffff29;border-radius:18px;align-items:center;gap:.75rem;margin-left:auto;padding:.7rem .9rem;display:flex;position:relative}.vol-ring{--pct:0;background:conic-gradient(#fbbf24 calc(var(--pct) * 1%), #ffffff2e 0);border-radius:50%;flex-shrink:0;place-items:center;width:54px;height:54px;display:grid;position:relative}.vol-ring:before{content:"";background:#3a1218;border-radius:50%;grid-area:1/1;width:42px;height:42px}.vol-ring span{color:#fffdf7;grid-area:1/1;font-size:.72rem;font-weight:800;position:relative}.vol-strength-copy{flex-direction:column;gap:.12rem;min-width:0;display:flex}.vol-strength-copy strong{color:#fff;font-size:.8rem}.vol-strength-copy span{color:#f6eadab8;font-size:.68rem}.vol-alert{margin-top:1rem}.vol-alert--sm{margin:0 0 .8rem;padding:.55rem .7rem;font-size:.8rem}.vol-profile-layout{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}.vol-sidebar{flex-direction:column;gap:1rem;min-width:0;display:flex;position:sticky;top:5.4rem}.vol-content{flex-direction:column;gap:1rem;min-width:0;display:flex}.vol-panel{background:var(--bg-vp2-card);border:1px solid var(--border-color-vp2);min-width:0;box-shadow:var(--shadow-vp2-card);border-radius:20px;padding:clamp(1rem,2.2vw,1.35rem)}.vol-panel--note{background:var(--bg-vp2-cell);box-shadow:none}.vol-panel--note h2{align-items:center;gap:.4rem;margin:0 0 .45rem;font-size:.86rem;display:flex}.vol-panel--note h2 .icon{color:var(--accent)}.vol-panel--note p{color:var(--color-text-vp2-muted);margin:0;font-size:.78rem;line-height:1.6}.vol-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.vol-panel-head h2{letter-spacing:-.015em;align-items:center;gap:.45rem;margin:0;font-size:.95rem;display:flex}.vol-panel-head h2 .icon{color:var(--accent)}.vol-panel-head p{color:var(--color-text-vp2-muted);margin:.24rem 0 0;font-size:.77rem;line-height:1.5}.vol-panel-head>.btn,.vol-panel-head>.vol-actions{flex-shrink:0}.vol-count{border:1px solid var(--border-color-vp2);background:var(--bg-vp2-cell);min-width:26px;height:26px;color:var(--color-text-vp2-muted);border-radius:999px;justify-content:center;align-items:center;padding:0 .5rem;font-size:.7rem;font-weight:800;display:inline-flex}.vol-action-list{flex-direction:column;gap:.35rem;display:flex}.vol-action-link{width:100%;color:var(--color-text-vp2);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;align-items:center;gap:.65rem;padding:.6rem;text-decoration:none;transition:background .16s,border-color .16s;display:flex}.vol-action-link:hover{border-color:var(--border-color-vp2-cell);background:var(--bg-vp2-cell);color:var(--color-text-vp2)}.vol-action-icon{background:var(--accent-soft);width:34px;height:34px;color:var(--accent-ink);border-radius:10px;flex-shrink:0;place-items:center;display:inline-grid}.vol-action-link.is-danger .vol-action-icon{background:var(--bg-badge-red);color:var(--color-badge-red)}.vol-action-link>span:nth-child(2){flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.vol-action-link strong{font-size:.82rem;font-weight:700}.vol-action-link small{color:var(--color-text-vp2-muted);font-size:.7rem}.vol-action-link>.icon:last-child{color:var(--color-text-vp2-muted);opacity:.7}.vol-area-list{flex-wrap:wrap;gap:.4rem;display:flex}.vol-area-chip{border:1px solid var(--border-color-vp2-cell);background:var(--bg-vp2-cell);color:var(--color-text-vp2);border-radius:999px;align-items:center;gap:.32rem;padding:.34rem .6rem;font-size:.74rem;font-weight:650;display:inline-flex}.vol-area-chip .icon{color:var(--accent)}.vol-facts{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 1.1rem;display:grid}.vol-fact{border-bottom:1px solid var(--border-color-vp2-cell);flex-direction:column;gap:.16rem;min-width:0;padding:.58rem 0 .66rem;display:flex}.vol-fact-label{color:var(--color-text-vp2-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.62rem;font-weight:800}.vol-fact-value{color:var(--color-text-vp2);overflow-wrap:break-word;word-break:break-word;font-size:.87rem;font-weight:650;line-height:1.45}.vol-fact--static{justify-content:flex-end}.vol-edit-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem;display:grid}.vol-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.vol-actions-bar{border-top:1px solid var(--border-color-vp2);flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:1.1rem;padding-top:1rem;display:flex}.vol-note{color:var(--color-text-vp2-muted);margin:.85rem 0 0;font-size:.74rem;line-height:1.55}.vol-hint{color:var(--color-text-vp2-muted);font-size:.72rem;font-weight:500}.vol-empty{border:1px dashed var(--border-color-vp2);background:var(--bg-vp2-cell);color:var(--color-text-vp2-muted);text-align:center;border-radius:15px;flex-direction:column;align-items:center;gap:.3rem;padding:1.8rem 1rem;font-size:.8rem;display:flex}.vol-empty .icon{color:var(--accent);opacity:.75}.vol-empty strong{color:var(--color-text-vp2);font-size:.85rem}.vol-empty--sm{text-align:left;align-items:flex-start;padding:.85rem}.vol-hero--attendance{align-items:center}.vol-hero-avatar{z-index:1;color:#fff;background:linear-gradient(135deg,#f59e0b,#c2410c);border:3px solid #ffffffd9;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:68px;font-size:1.5rem;font-weight:800;display:flex;position:relative;overflow:hidden}.vol-hero-avatar img{object-fit:cover;width:100%;height:100%}.vol-hero-meta{z-index:1;flex-wrap:wrap;align-items:center;gap:.4rem;margin-left:auto;display:flex;position:relative}.vol-hero-chip{color:#f6eadae6;background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:.38rem;padding:.42rem .7rem;font-size:.72rem;font-weight:650;display:inline-flex}.vol-hero-chip .icon{color:#fbbf24}.vol-live-dot{background:#fbbf24;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 0 4px #fbbf242e}.vol-live-dot.is-on{background:#34d399;animation:2.2s ease-in-out infinite pulseDot;box-shadow:0 0 0 4px #34d39938}.vol-att-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:start;gap:1rem;margin-top:1rem;display:grid}.vol-pill{border:1px solid var(--border-color-vp2);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .65rem;font-size:.7rem;font-weight:750;display:inline-flex}.vol-pill--live{background:var(--bg-badge-green);color:var(--color-badge-green);border-color:#0000}.vol-pill--idle{background:var(--bg-badge-gray);color:var(--color-badge-gray);border-color:#0000}.vol-pill--xs{padding:.14rem .42rem;font-size:.6rem}.vol-pill-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.vol-pill--live .vol-pill-dot{animation:2.2s ease-in-out infinite pulseDot}.vol-shift-live{border:1px solid var(--border-color-checkin);background:var(--bg-checkin);border-radius:16px;flex-wrap:wrap;align-items:center;gap:1.1rem;padding:1rem 1.1rem;display:flex}.vol-shift-clock{border-right:1px solid var(--border-color-checkin);flex-direction:column;gap:.05rem;min-width:100px;padding-right:1.1rem;display:flex}.vol-shift-clock strong{color:var(--color-green);letter-spacing:-.045em;font-size:1.55rem;font-weight:800;line-height:1.1}.vol-shift-clock span{color:var(--color-text-vp2-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.64rem;font-weight:800}.vol-shift-meta{flex-wrap:wrap;flex:1;gap:.55rem 1.4rem;min-width:0;display:flex}.vol-shift-meta>div{flex-direction:column;gap:.08rem;min-width:0;display:flex}.vol-meta-label{color:var(--color-text-vp2-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.6rem;font-weight:800}.vol-shift-meta strong{color:var(--color-text-vp2);overflow-wrap:break-word;font-size:.82rem;font-weight:700}.vol-shift-idle{border:1px dashed var(--border-color-vp2);background:var(--bg-vp2-cell);border-radius:16px;align-items:center;gap:.8rem;padding:.95rem 1rem;display:flex}.vol-shift-idle-icon{background:var(--accent-soft);width:42px;height:42px;color:var(--accent-ink);border-radius:12px;flex-shrink:0;place-items:center;display:inline-grid}.vol-shift-idle strong{font-size:.86rem;display:block}.vol-shift-idle p{color:var(--color-text-vp2-muted);margin:.1rem 0 0;font-size:.76rem}.vol-notice{border:1px solid var(--color-warning-border);background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:12px;align-items:flex-start;gap:.55rem;margin-top:.8rem;padding:.7rem .85rem;font-size:.78rem;line-height:1.5;display:flex}.vol-notice .icon{flex-shrink:0;margin-top:.1rem}.vol-shift-form{flex-direction:column;gap:.85rem;margin-top:1rem;display:flex}.vol-form-block{flex-direction:column;gap:.45rem;display:flex}.vol-form-label{color:var(--color-text-vp2-muted);letter-spacing:.09em;text-transform:uppercase;font-size:.66rem;font-weight:800}.vol-area-picker{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.5rem;display:grid}.vol-area-option{border:1px solid var(--border-color-vp2);background:var(--bg-vp2-card);color:var(--color-text-vp2);cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;padding:.62rem .7rem;font-size:.8rem;font-weight:650;transition:border-color .16s,background .16s,box-shadow .16s;display:flex;position:relative}.vol-area-option:hover{border-color:var(--accent)}.vol-area-option.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 3px #b453091f}.vol-area-option input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.vol-area-option-icon{background:var(--bg-vp2-cell);width:26px;height:26px;color:var(--accent);border-radius:8px;flex-shrink:0;place-items:center;display:inline-grid}.vol-area-option.is-selected .vol-area-option-icon{background:var(--bg-vp2-card)}.vol-area-option-name{overflow-wrap:break-word;min-width:0;line-height:1.3}.vol-area-check{border:1.5px solid var(--border-color-darker);color:#0000;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;margin-left:auto;transition:background .16s,border-color .16s,color .16s;display:inline-grid}.vol-area-option.is-selected .vol-area-check{border-color:var(--accent);background:var(--accent);color:#fff}[data-theme=dark] .vol-area-option.is-selected .vol-area-check{color:#2a1a14}.vol-shift-action{justify-content:center;gap:.45rem;padding:.78rem 1rem;font-size:.88rem}.vol-btn-checkin{background:var(--gradient-success);color:#fff;box-shadow:0 14px 26px -16px #10b981e6}.vol-btn-checkin:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#059669 0%,#047857 100%)}.vol-btn-checkout{background:var(--gradient-danger);color:#fff;box-shadow:0 14px 26px -16px #b91c1ce6}.vol-btn-checkout:hover:not(:disabled){color:#fff;background:linear-gradient(135deg,#991b1b 0%,#7f1d1d 100%)}.vol-history-panel .vol-panel-head{margin-bottom:.8rem}.vol-history-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.vol-history-item{border:1px solid var(--border-color-vp2-cell);background:var(--bg-vp2-card);border-radius:14px;align-items:flex-start;gap:.75rem;padding:.7rem;transition:border-color .16s,background .16s;display:flex}.vol-history-item:hover{border-color:var(--border-color-vp2);background:var(--bg-vp2-cell)}.vol-date-badge{background:var(--accent-soft);width:46px;height:46px;color:var(--accent-ink);border-radius:12px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;line-height:1.05;display:flex}.vol-date-badge span{letter-spacing:.09em;text-transform:uppercase;font-size:.56rem;font-weight:800}.vol-date-badge strong{font-size:1rem;font-weight:800}.vol-history-body{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.vol-history-top{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.vol-history-top strong{overflow-wrap:break-word;min-width:0;font-size:.84rem}.vol-history-duration{color:var(--color-text-vp2-muted);white-space:nowrap;margin-left:auto;font-size:.72rem;font-weight:750}.vol-history-sub{color:var(--color-text-vp2-muted);overflow-wrap:break-word;font-size:.72rem}.vol-history-times{color:var(--color-text-vp2);align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:flex}.vol-history-times .icon{color:var(--color-text-vp2-muted)}.vol-history-note{border-left:2px solid var(--border-color-vp2);color:var(--color-text-vp2-muted);overflow-wrap:break-word;margin:.15rem 0 0;padding-left:.5rem;font-size:.72rem;line-height:1.5}.vol-pager{border-top:1px solid var(--border-color-vp2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.85rem;padding-top:.8rem;display:flex}.vol-pager-info{color:var(--color-text-vp2-muted);font-size:.72rem}.vol-pager-actions{gap:.4rem;display:flex}.vol-pager-btn{border:1px solid var(--border-color-vp2);background:var(--bg-vp2-card);color:var(--color-text-vp2);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:.3rem;padding:.38rem .65rem;font-size:.74rem;font-weight:650;transition:border-color .16s,background .16s;display:inline-flex}.vol-pager-btn:hover:not(:disabled){border-color:var(--accent);background:var(--bg-vp2-cell)}.vol-pager-btn:disabled{opacity:.45;cursor:not-allowed}.vol-footer{border-top:1px solid var(--border-color-vp2);width:100%;max-width:1120px;color:var(--color-text-vp2-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin:0 auto;padding:1.1rem clamp(1rem,4vw,2rem) 1.6rem;font-size:.7rem;display:flex}.vol-footer-secure{align-items:center;gap:.35rem;display:inline-flex}@media (width<=980px){.vol-profile-layout{grid-template-columns:minmax(0,1fr)}.vol-sidebar{position:static}.vol-att-grid{grid-template-columns:minmax(0,1fr)}.vol-strength,.vol-hero-meta{margin-left:0}}@media (width<=768px){.vol-topbar{padding:.6rem 1rem}.vol-nav{order:3;justify-content:center;width:100%;margin-left:0}.vol-top-actions{margin-left:auto}.vol-main{padding:1rem 1rem 2.5rem}.vol-hero{border-radius:22px}.vol-hero-copy h1{font-size:1.5rem}.vol-facts,.vol-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vol-shift-clock{border-right:0;padding-right:0}.vol-shift-clock strong{font-size:1.4rem}}@media (width<=560px){.vol-avatar-wrap{width:86px;height:86px}.vol-avatar{border-radius:24px}.vol-avatar-edit{width:28px;height:28px}.vol-hero{gap:1rem}.vol-hero-copy{flex-basis:100%}.vol-strength{width:100%}.vol-facts,.vol-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .9rem}.vol-area-picker{grid-template-columns:minmax(0,1fr)}.vol-history-duration{margin-left:0}.vol-history-item{padding:.65rem}.vol-topbar .brand-sub,.vol-logout span{display:none}.vol-footer{flex-direction:column;align-items:flex-start}}@media (width<=400px){.vol-facts,.vol-edit-grid{grid-template-columns:minmax(0,1fr);gap:0 1.1rem}}.status-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-bottom:1.1rem;padding:1.15rem 1.25rem}.status-card p{color:var(--color-text-secondary);margin:.35rem 0;font-size:.87rem}.status-badge{border-radius:999px;align-items:center;gap:.35rem;margin-bottom:.7rem;padding:.28rem .7rem;font-size:.72rem;font-weight:750;display:inline-flex}.status-badge.checked-in{background:var(--bg-badge-green);color:var(--color-badge-green)}.status-badge.checked-out{background:var(--bg-badge-gray);color:var(--color-badge-gray)}.result-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-top:1.25rem;padding:1.35rem}.result-success{border-top:3px solid var(--color-green-active)}.result-fields{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.55rem;margin:1rem 0;display:grid}.result-field{border:1px solid var(--border-color-soft);background:var(--bg-input);border-radius:10px;flex-direction:column;gap:.1rem;padding:.55rem .7rem;font-size:.84rem;display:flex}.result-field-label{color:var(--color-text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.63rem;font-weight:750}.notfound{background:radial-gradient(900px 420px at 50% -140px, #b4530929, transparent 65%), var(--bg-body);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.notfound-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:520px;box-shadow:var(--shadow-card);text-align:center;padding:clamp(1.5rem,4vw,2.5rem)}.notfound-brand{color:inherit;margin-bottom:1.4rem;display:inline-flex}.notfound-code{letter-spacing:-.06em;background:var(--gradient-text);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(3.5rem,11vw,5.5rem);font-weight:800;line-height:1;display:block}.notfound-card h1{letter-spacing:-.03em;margin:.5rem 0 .6rem;font-size:clamp(1.3rem,3vw,1.65rem)}.notfound-card p{max-width:400px;color:var(--color-text-muted);margin:0 auto 1.4rem;font-size:.87rem;line-height:1.6}.notfound-actions{flex-wrap:wrap;justify-content:center;gap:.55rem;display:flex}@media (width>=769px){.admin-sidebar{transform:none}.admin-sidebar-backdrop{display:none}}@media (width<=1100px){.admin-two-col{grid-template-columns:minmax(0,1fr)}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=960px){.auth-shell{grid-template-columns:minmax(0,1fr)}.auth-aside{display:none}.auth-main{justify-content:flex-start}.auth-card{margin:0 auto auto}.landing-title{font-size:clamp(2rem,7vw,3rem)}.dash-hero{align-items:flex-start}.vp2-cards{grid-template-columns:minmax(0,1fr)}}@media (width<=768px){body{font-size:14.5px}.admin-mobile-header{display:flex}.admin-topbar{display:none}.admin-body{min-height:calc(100vh - 56px);margin-left:0}.admin-sidebar{width:min(84vw,300px);min-width:0}.sidebar-close{display:inline-grid}.admin-sidebar-backdrop.open{opacity:1;pointer-events:auto}.admin-content{max-width:100%;padding:1rem .9rem 2rem}.admin-footer{padding:.9rem .9rem 1.2rem}.admin-page-header{align-items:flex-start}.admin-page-header>div:last-child{width:100%}.filter-grow{grid-column:span 1}.filter-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.filter-action{grid-column:1/-1}.filter-inline{flex:140px;max-width:none}.section-card{border-radius:16px;padding:1rem}.data-table{min-width:560px}.dash-hero{border-radius:20px;padding:1.25rem}.dash-hero-side{width:100%}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-card{padding:.85rem}.stat-value{font-size:1.3rem}.landing-navbar{padding:.9rem 1rem}.landing-main{padding-left:1rem;padding-right:1rem}.landing-hero{padding-top:2.4rem}.landing-cta .btn{flex:200px}.portal-grid,.steps-grid{grid-template-columns:minmax(0,1fr)}.vp2-topbar{flex-wrap:wrap;padding:.65rem 1rem}.vp2-topbar .brand-sub{display:none}.vp2-topbar-actions{justify-content:flex-end;width:100%}.vp2-main{padding:1rem 1rem 2.5rem}.vp2-hero{border-radius:20px;padding:1.25rem}.vp2-hero-left{flex:100%}.vp2-hero-stats{width:100%}.vp2-stat{flex:120px}.vp2-stat-areas{max-width:none}.vp2-cells.cols-3,.vp2-form-grid.cols-3{grid-template-columns:minmax(0,1fr)}.sr-main{padding-top:1.8rem}.sr-form{border-radius:20px}.auth-main{padding:1rem}.auth-topbar{max-width:100%}.auth-card{border-radius:20px}.auth-legal{font-size:.68rem}}@media (width<=620px){.sr-form-grid{grid-template-columns:minmax(0,1fr)}.sr-field-full,.sr-section-head{grid-column:auto}.otp-row{gap:.35rem}.otp-box{border-radius:10px;height:50px;font-size:1.1rem}.topbar-date{display:none}.landing-section-head{align-items:flex-start}.landing-footer{flex-direction:column;align-items:flex-start}.dash-charts-row{grid-template-columns:minmax(0,1fr)}.dash-chart-body{gap:1rem}.pagination{flex-direction:column;align-items:flex-start}.pagination-controls{width:100%}.pagination-controls .btn{flex:auto}.vp2-card-head{align-items:flex-start}.vp2-hero-id h1{font-size:1.25rem}.vp2-avatar{width:76px;height:76px;font-size:1.6rem}.modal{border-radius:18px;padding:1.1rem}.modal-actions{justify-content:stretch}.modal-actions .btn{flex:auto}.notfound-actions .btn{flex:180px}}@media (width<=420px){.landing-nav-actions .btn{display:none}.landing-points{flex-direction:column;align-items:flex-start}.landing-cta{flex-direction:column;align-items:stretch}.landing-cta .btn{width:100%}.vp2-topbar-actions .btn{flex:auto}.vp2-stat{min-width:100%}.auth-links a{font-size:.78rem}.sr-topbar-actions .btn{display:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalIn{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.portal-card:hover,.stat-card:hover,a.card:hover,.auth-links a:hover{transform:none}}
