:root{color-scheme:light;font-family:Manrope,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.45;font-weight:500}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{color:#17222c;background:#fff}.oauth-login-page{min-height:100vh;width:100%;padding:1.35rem 1rem 2rem;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:1rem;background:#fff;overflow-y:auto}.oauth-brand-logo{width:min(208px,56vw);height:auto;animation:oauthLogoIntro .92s cubic-bezier(.16,.84,.24,1) 1 both;transform-origin:center center;will-change:transform,opacity}@keyframes oauthLogoIntro{0%{opacity:0;transform:translate(120px) scale(.92);filter:blur(2px)}68%{opacity:1;transform:translate(-6px) scale(1.01);filter:blur(0)}to{opacity:1;transform:translate(0) scale(1);filter:blur(0)}}.oauth-login-card{width:min(438px,100%);border:0;border-radius:15px;padding:1.45rem 1.5rem;background:#fff;box-shadow:0 0 0 1px #0f172a08,0 9px 24px #0f172a1f,0 -1px 8px #0f172a08;display:grid;gap:.78rem}.oauth-title{text-align:center;margin:0;font-size:1.68rem;line-height:1.15;font-weight:700;color:#1f2937}.oauth-subtitle{text-align:center;margin:0;color:#4b5563;font-size:.98rem;font-weight:500}.oauth-alert{border-radius:8px;padding:.55rem .7rem;text-align:center;font-weight:600;font-size:.9rem}.oauth-alert-error{border:1px solid #fecaca;background:#ef4444;color:#fff}.oauth-alert-warning{border:1px solid #f59e0b;background:#eab308;color:#fff}.oauth-alert-success{border:1px solid #34d399;background:#059669;color:#fff}.oauth-provider-icon-row{display:flex;justify-content:center;gap:.85rem;margin:.08rem 0 .12rem}.oauth-provider-icon-button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;border:0;background:#fff;box-shadow:0 2px 8px #1118271c;padding:0;transform:scale(1);transition:transform .12s ease,box-shadow .12s ease}.oauth-provider-icon-button.apple{background:#000}.oauth-provider-icon-button:hover:not(:disabled){transform:scale(1.05);box-shadow:0 5px 12px #11182724}.oauth-provider-icon{width:22px;height:22px;display:block;color:#1f2937}.oauth-provider-icon-apple{color:#fff}.oauth-provider-icon-google{color:#2563eb}.oauth-provider-icon-google-image{width:20px;height:20px}.oauth-divider{display:flex;align-items:center;gap:.72rem;color:#64748b;font-weight:500;margin:.28rem 0 .32rem}.oauth-divider:before,.oauth-divider:after{content:"";flex:1;height:1px;background:#bfcbda}.oauth-divider span{font-size:.86rem}.oauth-email-form{display:grid;gap:.52rem}.oauth-field{display:grid;gap:.2rem}.oauth-field span{font-size:.88rem;color:#374151;font-weight:500}.oauth-input{width:100%;border:1px solid #d1d5db;border-radius:8px;padding:.58rem .8rem;background:#f9fafb;color:#1f2937;font-size:.92rem;box-shadow:none}.oauth-input:focus{outline:none;border-color:#7dd3fc;box-shadow:0 0 0 2px #7dd3fc59}.oauth-password-wrap{position:relative}.oauth-input-password{padding-right:2.45rem}.oauth-password-toggle{border:0;outline:none;box-shadow:none;appearance:none;background:transparent;color:#6b7280;width:30px;height:30px;border-radius:8px;padding:0;position:absolute;right:.3rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center}.oauth-password-toggle:hover:not(:disabled){transform:translateY(-50%);background:transparent;color:#4b5563}.oauth-password-toggle:focus,.oauth-password-toggle:focus-visible,.oauth-password-toggle:active{transform:translateY(-50%);outline:none;box-shadow:none;background:transparent}.oauth-forgot-row{display:flex;justify-content:flex-end;margin-top:.1rem}.oauth-forgot-link{border:0;background:transparent;color:#0ea5e9;font-size:.84rem;font-weight:600;padding:0;transform:translateY(0)}.oauth-forgot-link:hover:not(:disabled){transform:translateY(0);text-decoration:underline}.oauth-submit-button{width:100%;border:0;border-radius:8px;padding:.62rem 1rem;background:#0ea5e9;color:#fff;font-size:.98rem;font-weight:700;margin-top:.24rem}.oauth-submit-button:hover:not(:disabled){transform:translateY(0);background:#0284c7}.oauth-register-text{text-align:center;margin:.18rem 0 0;color:#4b5563;font-size:.9rem}.oauth-register-link{color:#0ea5e9;text-decoration:none;font-weight:700}.oauth-register-link:hover{text-decoration:underline}.oauth-recovery-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1200;padding:1rem}.oauth-recovery-card{width:min(460px,100%);border:0;border-radius:16px;background:#fff;box-shadow:0 20px 45px #00000038;padding:1.2rem;display:grid;gap:.8rem}.oauth-recovery-card h2{margin:0;text-align:center}.oauth-recovery-subtitle{margin:0;text-align:center;color:#4b5563;font-size:.9rem}.oauth-recovery-form{display:grid;gap:.65rem}.oauth-recovery-link-button{border:0;background:transparent;color:#0284c7;font-size:.88rem;font-weight:600;padding:0;width:fit-content;transform:translateY(0)}.oauth-recovery-link-button:hover:not(:disabled){transform:translateY(0);text-decoration:underline}.oauth-recovery-actions{display:flex;gap:.5rem}.oauth-recovery-secondary,.oauth-recovery-primary{width:100%;border-radius:8px;padding:.68rem .8rem;font-size:.95rem;font-weight:700;transform:translateY(0)}.oauth-recovery-secondary{border:0;background:#f3f4f6;color:#1f2937}.oauth-recovery-secondary:hover:not(:disabled){transform:translateY(0);background:#e5e7eb}.oauth-recovery-primary{border:0;background:#0ea5e9;color:#fff}.oauth-recovery-primary:hover:not(:disabled){transform:translateY(0);background:#0284c7}h1,h2,h3{margin:0;color:#0d1b2a}p{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid #1f78f0;border-radius:10px;padding:.55rem 1rem;color:#fff;background:#1f78f0;cursor:pointer;transition:transform .12s ease,opacity .12s ease}button:disabled{cursor:not-allowed;opacity:.65}button:hover:not(:disabled){transform:translateY(-1px)}button.secondary{background:#fff;color:#15407a;border-color:#97b9ea}input,select,textarea{width:100%;border:1px solid #c6d8f1;border-radius:10px;padding:.55rem .65rem;background:#fff;color:#17222c}select[multiple]{min-height:8rem}textarea{resize:vertical}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:1.25rem}.auth-loading{display:grid;justify-items:center;gap:.85rem;color:#1f2937;font-size:1rem;font-weight:600}.auth-spinner{width:40px;height:40px;border-radius:50%;border:4px solid #d5e8ff;border-top-color:#1f78f0;animation:authSpinnerRotate .68s linear infinite}@keyframes authSpinnerRotate{to{transform:rotate(360deg)}}.dashboard-shell{--sidebar-width: 286px;--sidebar-collapsed-width: 92px;--mobile-shell-gap: 10px;--mobile-viewport-inset-bottom: 0px;--mobile-bottom-bar-bottom: calc( .38rem + env(safe-area-inset-bottom) + var(--mobile-viewport-inset-bottom) );--mobile-bottom-bar-height: calc(48px + .9rem) ;--mobile-drawer-gap: var(--mobile-shell-gap);--mobile-bottom-bar-offset: calc( var(--mobile-bottom-bar-bottom) + var(--mobile-bottom-bar-height) + var(--mobile-drawer-gap) );--dashboard-border: #e5e7eb;--dashboard-surface: #ffffff;--dashboard-surface-soft: #f9fafb;--dashboard-text-main: #10243d;--dashboard-text-muted: #63788f;--dashboard-primary: #111111;--dashboard-primary-soft: #f3f4f6;min-height:100vh;background:#fff}.dashboard-shell.sidebar-collapsed{--sidebar-width: var(--sidebar-collapsed-width)}.dashboard-sidebar{position:fixed;inset:10px auto 10px 10px;z-index:40;width:calc(var(--sidebar-width) - 18px);border:1px solid #e5e7eb;border-radius:24px;padding:1rem .82rem .82rem;background:#fff;box-shadow:0 14px 30px #0f172a1a;display:grid;gap:.62rem;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden;transition:width .18s ease}.dashboard-sidebar:before,.dashboard-sidebar:after{content:"";position:absolute;pointer-events:none}.dashboard-sidebar:before{width:70%;height:70%;right:-28%;top:6%;background:radial-gradient(circle,rgba(31,41,55,.03) 0%,transparent 68%)}.dashboard-sidebar:after{inset:0;background:linear-gradient(125deg,transparent 0%,rgba(17,24,39,.03) 30%,transparent 56%)}.dashboard-sidebar-header{display:flex;align-items:center;justify-content:center;gap:0;padding-bottom:.12rem;border-bottom:0;position:relative;z-index:1}.dashboard-brand{display:grid;justify-items:center;gap:0}.dashboard-brand-logo{width:min(146px,100%);height:auto;max-height:54px;display:block;object-fit:contain;filter:none}.dashboard-brand-divider{height:1px;width:100%;background:linear-gradient(90deg,#94a3b800,#94a3b8b8,#94a3b800);margin:.02rem 0 .08rem}.dashboard-brand-subtitle{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#dcdcdcc2}.dashboard-collapse-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#111827;box-shadow:none;transform:none;position:relative;z-index:1}.dashboard-collapse-button:hover:not(:disabled){background:#f9fafb;border-color:#cbd5e1;transform:none}.dashboard-collapse-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dashboard-collapse-button-footer{margin:0 0 .08rem}.dashboard-avatar-shell{flex:0 0 auto;width:44px;height:44px;position:relative}.dashboard-user-avatar{width:100%;height:100%;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#1f78f0,#0da6d9);color:#fff;font-size:1rem;font-weight:700}.dashboard-user-photo{width:100%;height:100%;display:block;border-radius:999px;object-fit:cover;border:1px solid rgba(255,255,255,.34)}.dashboard-avatar-edit-button{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:999px;border:1px solid #4a4a4a;background:#1f1f1f;color:#f3f4f6;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem;padding:0;transform:none}.dashboard-avatar-edit-button:hover:not(:disabled){transform:none;background:#292929;border-color:#616161}.dashboard-avatar-edit-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dashboard-avatar-input{position:fixed;width:1px;height:1px;opacity:0;pointer-events:none}.dashboard-nav{min-height:0;display:grid;align-content:start;gap:.52rem;padding-right:.1rem;overflow-y:auto;position:relative;z-index:1}.dashboard-nav-group{display:grid;gap:.42rem}.dashboard-nav-divider{display:flex;align-items:center;gap:.52rem;margin:.35rem 0 .1rem;color:#6b7280;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}.dashboard-nav-divider:before,.dashboard-nav-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(148,163,184,.4),transparent)}.dashboard-nav-link{text-decoration:none;border:0;border-radius:12px;padding:.5rem .52rem;display:inline-flex;align-items:center;gap:.72rem;color:#1f2937;font-weight:400;font-size:1rem;background:transparent;transition:background-color .12s ease,color .12s ease}.dashboard-nav-link:hover{background:#f3f4f6}.dashboard-nav-link.active{border:0;background:#f3f4f6;color:#111827;font-weight:400}.dashboard-nav-link:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dashboard-nav-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;color:#374151}.dashboard-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-nav-badge{margin-left:auto;min-width:1.15rem;height:1.15rem;border-radius:999px;padding:0 .28rem;background:#dc2626;color:#fff;font-size:.67rem;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center}.dashboard-sidebar-footer{padding-top:.35rem;display:grid;gap:.55rem;position:relative;z-index:1}.dashboard-profile-divider{margin:.02rem 0 .08rem}.dashboard-profile-footer{border:0;border-radius:0;padding:.1rem .14rem;background:transparent;display:flex;align-items:center;gap:.62rem}.dashboard-user-meta{min-width:0;display:grid;gap:.1rem}.dashboard-user-name,.dashboard-user-role{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-sidebar .dashboard-user-name,.dashboard-mobile-drawer .dashboard-user-name{font-size:.92rem;font-weight:700;color:#111827}.dashboard-sidebar .dashboard-user-role,.dashboard-mobile-drawer .dashboard-user-role{font-size:.76rem;color:#6b7280}.dashboard-profile-open-button{width:24px;height:24px;border-radius:999px;border:0;background:transparent;color:#4b5563;display:inline-flex;align-items:center;justify-content:center;padding:0;margin-left:auto;transform:none}.dashboard-profile-open-button:hover:not(:disabled){transform:none;background:#f3f4f6;color:#111827}.dashboard-profile-open-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dashboard-logout-button{width:100%;border-radius:12px;border:1px solid #e5e7eb;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;gap:.48rem;padding:.62rem .75rem;font-weight:700;transform:none}.dashboard-logout-button:hover:not(:disabled){transform:none;background:#f9fafb;border-color:#cbd5e1}.dashboard-logout-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-brand-subtitle,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-user-meta,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-nav-label,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-nav-badge,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-nav-divider,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-profile-open-button,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-logout-button span:last-child{display:none}.dashboard-shell.sidebar-collapsed .dashboard-sidebar{padding-left:.56rem;padding-right:.56rem}.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-brand{width:100%;justify-items:center}.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-brand-logo{width:38px}.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-sidebar-header,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-nav-link,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-profile-footer,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-logout-button,.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-collapse-button-footer{justify-content:center}.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-nav-divider{margin:.15rem 0 .05rem}.dashboard-shell.sidebar-collapsed .dashboard-sidebar .dashboard-avatar-edit-button{display:none}.dashboard-main{min-height:100vh;margin-left:var(--sidebar-width);padding:1.2rem 1.25rem 2rem;overflow-x:hidden;transition:margin-left .18s ease}.dashboard-main>.content-shell{max-width:1700px;margin:0 auto}.audit-page{gap:1rem}.audit-view-toggle,.audit-filter-actions,.audit-pagination-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.audit-view-toggle{padding:.25rem;border:1px solid #d7dee8;border-radius:8px;background:#f8fafc}.audit-view-toggle button,.audit-filter-actions button,.audit-pagination-actions button,.audit-session-meta button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem}.audit-view-toggle button{min-height:2.25rem;border:0;border-radius:6px;background:transparent;color:#44556b;font-weight:700}.audit-view-toggle button.active{background:#0f172a;color:#fff}.audit-filter-panel{padding:1rem}.audit-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;align-items:end}.audit-activity-filter-grid{grid-template-columns:minmax(240px,1fr) minmax(160px,220px) auto}.audit-filter-grid label{display:flex;min-width:0;flex-direction:column;gap:.35rem;color:#52657a;font-size:.78rem;font-weight:800;text-transform:uppercase}.audit-filter-grid input,.audit-filter-grid select{min-height:2.45rem;width:100%;min-width:0;border:1px solid #d6dee8;border-radius:8px;background:#fff;color:#122033;font:inherit;text-transform:none}.audit-search-field{grid-column:span 2}.audit-filter-actions{align-self:end}.audit-filter-actions button{min-height:2.45rem;border-radius:8px}.audit-table-panel{padding:0;overflow:hidden}.audit-table-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid #e3eaf2;background:#f8fafc}.audit-table-head>div{display:flex;align-items:baseline;gap:.35rem}.audit-table-head strong{color:#0f172a;font-size:1.1rem}.audit-table-head span{color:#64748b;font-size:.85rem}.audit-loading{margin-left:auto;font-weight:800}.audit-table-wrap{width:100%;overflow:auto}.audit-table{width:100%;min-width:980px;border-collapse:collapse;font-size:.88rem}.audit-table th,.audit-table td{padding:.7rem .75rem;border-bottom:1px solid #edf1f6;text-align:left;vertical-align:top}.audit-table th{position:sticky;top:0;z-index:1;background:#fff;color:#52657a;font-size:.74rem;font-weight:900;text-transform:uppercase}.audit-table tr.selected td{background:#eef6ff}.audit-row-summary{display:inline-flex;max-width:34rem;min-height:0;padding:0;border:0;background:transparent;color:#0f3a68;font:inherit;font-weight:700;line-height:1.35;text-align:left}.audit-row-summary span{display:block;color:#64748b;font-size:.78rem;font-weight:500}.audit-result-pill,.audit-activity-pill{display:inline-flex;align-items:center;min-height:1.65rem;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;font-weight:900}.audit-result-success{background:#dcfce7;color:#166534}.audit-result-failed{background:#fee2e2;color:#991b1b}.audit-activity-online{background:#d1fae5;color:#065f46}.audit-activity-session_active{background:#e0f2fe;color:#075985}.audit-activity-disconnected{background:#f1f5f9;color:#475569}.audit-activity-logged_out{background:#fef3c7;color:#92400e}.audit-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;color:#52657a;font-weight:700}.audit-detail-panel{padding:1rem}.audit-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.audit-detail-head h2{margin:0;color:#0f172a;font-size:1rem;line-height:1.35}.audit-detail-head p{margin:.25rem 0 0;color:#64748b}.audit-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.audit-detail-grid div{min-width:0;padding:.75rem;border:1px solid #e3eaf2;border-radius:8px;background:#f8fafc}.audit-detail-grid span,.audit-detail-grid strong{display:block}.audit-detail-grid span{color:#64748b;font-size:.76rem;font-weight:800;text-transform:uppercase}.audit-detail-grid strong{overflow-wrap:anywhere;color:#122033;font-size:.9rem}.audit-changes{margin-bottom:1rem}.audit-changes h3,.audit-error-box h3{margin:0 0 .6rem;color:#122033;font-size:.9rem}.audit-changes ul{display:grid;gap:.45rem;margin:0;padding:0;list-style:none}.audit-changes li{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:.75rem;padding:.65rem .75rem;border:1px solid #e3eaf2;border-radius:8px;background:#fff}.audit-changes li span{color:#52657a;font-weight:800}.audit-changes li strong{overflow-wrap:anywhere;color:#0f172a}.audit-error-box{margin-bottom:1rem;padding:.8rem;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b}.audit-error-box p{margin:0;font-weight:800}.audit-json-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.audit-json-grid details{min-width:0;border:1px solid #e3eaf2;border-radius:8px;background:#fff}.audit-json-grid summary{cursor:pointer;padding:.7rem .8rem;color:#122033;font-weight:900}.audit-json{max-height:260px;margin:0;padding:.8rem;overflow:auto;border-top:1px solid #e3eaf2;color:#1f2937;font-size:.78rem;white-space:pre-wrap}.audit-empty-detail{margin:0;color:#64748b;font-weight:700}.audit-session-list{display:grid;gap:.65rem}.audit-session-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem;border:1px solid #e3eaf2;border-radius:8px;background:#fff}.audit-session-item strong,.audit-session-item span,.audit-session-item small{display:block}.audit-session-item strong{color:#122033}.audit-session-item span,.audit-session-item small,.audit-session-meta{color:#64748b}.audit-session-meta{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;text-align:right}.audit-icon-button{width:2rem;height:2rem;padding:0;border-radius:8px}.audit-icon-button.danger{border-color:#fecaca;background:#fff1f2;color:#b91c1c}@media(max-width:1024px){.audit-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-search-field,.audit-filter-actions{grid-column:span 2}.audit-activity-filter-grid,.audit-detail-grid,.audit-json-grid{grid-template-columns:1fr}.audit-activity-filter-grid .audit-search-field,.audit-activity-filter-grid .audit-filter-actions{grid-column:auto}.audit-detail-head,.audit-pagination,.audit-session-item{align-items:stretch;flex-direction:column}.audit-session-meta{justify-content:space-between;text-align:left}}@media(max-width:360px){.audit-filter-grid{grid-template-columns:1fr}.audit-search-field,.audit-filter-actions{grid-column:auto}}.dashboard-mobile-backdrop,.dashboard-mobile-drawer,.dashboard-mobile-bottom-bar,.dashboard-quick-menu{display:none}.dashboard-mobile-backdrop{position:fixed;inset:0;z-index:55;background:#0d17256b;opacity:0;pointer-events:none;transition:opacity .16s ease}.dashboard-mobile-backdrop.is-open{opacity:1;pointer-events:auto}.dashboard-mobile-drawer{position:fixed;top:calc(var(--mobile-shell-gap) + env(safe-area-inset-top));left:0;bottom:var(--mobile-bottom-bar-offset);z-index:60;width:min(300px,84vw);border-right:1px solid #e5e7eb;border-radius:0 22px 22px 0;padding:.95rem .85rem;background:#fff;box-shadow:14px 0 34px #0f172a2e;display:none;gap:.85rem;grid-template-rows:auto auto minmax(0,1fr) auto;transform:translate(-105%);transition:transform .18s ease}.dashboard-mobile-drawer.is-open{transform:translate(0)}.dashboard-mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.2rem;border-bottom:0}.dashboard-mobile-drawer-title{margin:0;font-size:1.02rem;font-weight:700;color:#111827}.dashboard-brand-logo-mobile{width:142px}.dashboard-mobile-close-button{width:34px;height:34px;border-radius:10px;border:1px solid #d1d5db;background:#fff;color:#111827;display:inline-flex;align-items:center;justify-content:center;transform:none}.dashboard-mobile-close-button:hover:not(:disabled){transform:none;background:#f9fafb}.dashboard-mobile-close-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.dashboard-user-card{border:0;border-radius:0;padding:.1rem .14rem;display:flex;align-items:center;gap:.68rem;background:transparent}.dashboard-quick-menu{position:fixed;right:.75rem;bottom:calc(4.8rem + env(safe-area-inset-bottom) + var(--mobile-viewport-inset-bottom));z-index:65;width:min(280px,calc(100vw - 1.5rem));border:1px solid var(--dashboard-border);border-radius:16px;background:#fff;box-shadow:0 18px 36px #14294229;padding:.78rem;opacity:0;pointer-events:none;transform:translateY(10px) scale(.98);transition:opacity .15s ease,transform .15s ease}.dashboard-quick-menu.is-open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.dashboard-quick-menu-header{display:grid;gap:.64rem}.dashboard-quick-menu-profile{display:flex;align-items:center;gap:.62rem}.dashboard-avatar-shell-large{width:56px;height:56px}.dashboard-quick-menu-profile-meta{min-width:0;display:grid;gap:.08rem}.dashboard-quick-menu-title,.dashboard-quick-menu-subtitle,.dashboard-quick-menu-roles{margin:0}.dashboard-quick-menu-title{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#5b6f84}.dashboard-quick-menu-subtitle{font-size:.96rem;font-weight:700;color:#143756}.dashboard-quick-menu-roles{font-size:.8rem;color:#70849a}.dashboard-quick-menu-actions{display:flex;gap:.46rem;flex-wrap:wrap}.dashboard-quick-action-button{border:1px solid #d1e0f7;border-radius:10px;background:#f8fbff;color:#1c3f64;display:inline-flex;align-items:center;gap:.32rem;font-size:.78rem;font-weight:700;padding:.36rem .52rem;transform:none}.dashboard-quick-action-button:hover:not(:disabled){transform:none;background:#edf4ff}.dashboard-quick-action-button.danger{border-color:#fecaca;background:#fff5f5;color:#b42318}.dashboard-quick-action-button:focus-visible{outline:2px solid #8fbcff;outline-offset:2px}.dashboard-photo-error{margin:0;border-radius:10px;border:1px solid #fecaca;background:#fff1f1;color:#b42318;padding:.4rem .52rem;font-size:.78rem;font-weight:600}.dashboard-profile-modal-backdrop{position:fixed;inset:0;z-index:90;background:#0f172a4d;display:grid;place-items:center;padding:.8rem}.dashboard-profile-modal{width:min(340px,calc(100vw - 1.2rem));border:1px solid #e5e7eb;border-radius:14px;background:#f4f4f5;box-shadow:0 16px 36px #0f172a33;display:grid;gap:.95rem;padding:1.05rem .9rem}.dashboard-profile-sheet-header{display:grid;gap:.36rem}.dashboard-profile-sheet-header h2{margin:0;font-size:2.05rem;line-height:1.04;letter-spacing:-.02em;color:#18181b}.dashboard-profile-sheet-header p{margin:0;font-size:1.02rem;line-height:1.4;color:#3f3f46}.dashboard-profile-sheet-section{display:grid;gap:.62rem}.dashboard-profile-sheet-section h3{margin:0;font-size:1.08rem;color:#27272a}.dashboard-profile-sheet-list{display:grid;gap:.25rem}.dashboard-profile-sheet-item{width:100%;border:0;border-radius:10px;background:transparent;color:#27272a;padding:.56rem .24rem;display:flex;align-items:center;gap:.62rem;transform:none}.dashboard-profile-sheet-item:hover:not(:disabled),.dashboard-profile-sheet-item.is-active{background:#e5e7eb;transform:none}.dashboard-profile-sheet-item:focus-visible{outline:2px solid #8fbcff;outline-offset:2px}.dashboard-profile-sheet-icon{width:22px;height:22px;color:#52525b;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.dashboard-profile-sheet-copy{min-width:0;display:grid;gap:.08rem;text-align:left}.dashboard-profile-sheet-value{font-size:1.06rem;color:#27272a;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-profile-sheet-caption{font-size:.9rem;color:#71717a;line-height:1.15}.dashboard-profile-sheet-right{margin-left:auto;display:flex;align-items:center;gap:.28rem;color:#a1a1aa}.dashboard-profile-sheet-status{width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.72rem}.dashboard-profile-sheet-status.is-ok{background:#16a34a}.dashboard-profile-sheet-status.is-pending{background:#f97316}.dashboard-profile-editor-card{border:1px solid #d4d4d8;border-radius:12px;background:#fff;padding:.68rem;display:grid;gap:.52rem}.dashboard-profile-editor-card h4{margin:0;font-size:.95rem;color:#27272a}.dashboard-profile-editor-card label{display:grid;gap:.18rem}.dashboard-profile-editor-card label span{font-size:.79rem;color:#52525b;font-weight:600}.dashboard-profile-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.dashboard-profile-editor-actions{display:flex;justify-content:flex-end;gap:.4rem}.dashboard-profile-sheet-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.dashboard-profile-logout-button{margin-right:0;border:1px solid #fecaca;background:#fef2f2;color:#b42318;transform:none;font-weight:700}.dashboard-profile-logout-button:hover:not(:disabled){transform:none;background:#fee2e2;border-color:#fca5a5}.dashboard-quick-links{display:grid;gap:.34rem;margin:.72rem 0}.dashboard-quick-link{text-decoration:none;border:1px solid #d3e2f7;border-radius:10px;background:#f8fbff;color:#1c3f64;font-weight:600;padding:.45rem .58rem}.dashboard-quick-link.active{border-color:#bed6ff;background:#eaf2ff;color:#0d4ea8}.dashboard-quick-link:focus-visible{outline:2px solid #8fbcff;outline-offset:2px}.dashboard-quick-menu .dashboard-logout-button{border:1px solid #fecaca;background:#fef2f2;color:#b42318}.dashboard-quick-menu .dashboard-logout-button:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.dashboard-mobile-bottom-bar{position:fixed;left:0;right:0;margin-inline:auto;bottom:var(--mobile-bottom-bar-bottom);z-index:70;width:min(460px,calc(100vw - 1rem));border:1px solid #e5e7eb;border-radius:999px;background:#fafafbf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 16px 34px #0f172a29;display:none;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem;padding:.45rem .82rem}.dashboard-mobile-action,.dashboard-mobile-home{border-radius:12px;border:1px solid transparent;background:transparent;color:#111827;text-decoration:none;min-height:46px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;padding:.35rem .56rem;font-size:.7rem;font-weight:700;line-height:1;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.dashboard-mobile-action:hover:not(:disabled),.dashboard-mobile-action:active:not(:disabled),.dashboard-mobile-home:hover,.dashboard-mobile-home:active{background:transparent;color:#111827}.dashboard-mobile-action:focus-visible,.dashboard-mobile-home:focus-visible,.dashboard-mobile-qr:focus-visible{outline:2px solid #8fbcff;outline-offset:2px}.dashboard-mobile-home{min-width:86px;justify-self:start;color:#111827;box-shadow:none}.dashboard-mobile-more{min-width:80px;justify-self:end;border-color:transparent;color:#4b5563;background:transparent!important;box-shadow:none!important}.dashboard-mobile-more svg{border:1.5px solid transparent;border-radius:10px;padding:.16rem;transition:border-color .16s ease,color .16s ease}.dashboard-mobile-home.active{border-color:transparent;background:transparent;color:#111827}.dashboard-mobile-action.dashboard-mobile-more.is-open{background:transparent;color:#111827;box-shadow:none}.dashboard-mobile-action.dashboard-mobile-more:hover:not(:disabled),.dashboard-mobile-action.dashboard-mobile-more:active:not(:disabled){background:transparent;color:#111827;box-shadow:none}.dashboard-mobile-action.dashboard-mobile-more.is-open svg,.dashboard-mobile-action.dashboard-mobile-more:hover:not(:disabled) svg,.dashboard-mobile-action.dashboard-mobile-more:active:not(:disabled) svg{border-color:#6b7280;color:#111827}.dashboard-mobile-action.dashboard-mobile-more:focus-visible{outline:none}.dashboard-mobile-action.dashboard-mobile-more:focus,.dashboard-mobile-action.dashboard-mobile-more:active{outline:none;background:transparent!important;box-shadow:none!important}.dashboard-mobile-action.dashboard-mobile-more:focus-visible svg{outline:2px solid #8fbcff;outline-offset:2px}.dashboard-mobile-home span,.dashboard-mobile-action span{letter-spacing:.01em}.dashboard-mobile-home svg,.dashboard-mobile-action svg{font-size:1.34rem}.dashboard-mobile-qr{width:64px;height:64px;border-radius:999px;border:4px solid #ffffff;background:#111;color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;justify-self:center;margin-top:-28px;position:relative;box-shadow:0 14px 24px #0f172a38;-webkit-tap-highlight-color:transparent}.dashboard-mobile-qr:after{content:"";position:absolute;inset:-8px;border-radius:inherit;background:#1111111f;z-index:-1}.dashboard-mobile-qr:hover,.dashboard-mobile-qr:active{background:#111;color:#fff}.dashboard-mobile-qr svg{font-size:1.95rem}.content-shell{display:grid;gap:1rem;align-content:start}.section-head{display:grid;gap:.3rem}.panel{border:1px solid #d2e0f5;border-radius:16px;padding:1rem;background:#fffffff0;box-shadow:0 10px 24px #182c4514;display:grid;gap:.85rem}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.metric-card{border:1px solid #dae7f8;border-radius:14px;padding:.85rem;background:#f8fbff;display:grid;gap:.4rem}.metric-value{font-size:1.5rem;font-weight:800;color:#0d1b2a}.metric-delta{font-weight:600;font-size:.92rem}.metric-delta.positive{color:#0f7a39}.metric-delta.negative{color:#b42318}.metric-delta.neutral{color:#3c4b5c}.dashboard-page{--dashboard-accent: #0f766e;--dashboard-ink: #0f172a;--dashboard-border-soft: #dbe5f2;--dashboard-surface: #f8fbff;position:relative;isolation:isolate;gap:1.1rem;padding:.2rem}.dashboard-page:before,.dashboard-page:after{content:"";position:absolute;border-radius:999px;pointer-events:none;z-index:-1}.dashboard-page:before{width:min(42vw,460px);aspect-ratio:1;background:radial-gradient(circle,#0891b238,#0891b200);top:-140px;right:-60px}.dashboard-page:after{width:min(44vw,500px);aspect-ratio:1;background:radial-gradient(circle,#38bdf829,#38bdf800);bottom:-220px;left:-120px}.dashboard-page .panel{border-color:var(--dashboard-border-soft);background:linear-gradient(150deg,#fff,#f8fbff);box-shadow:0 1px #0f172a0a,0 18px 28px #0f172a17}.dashboard-panel-title{display:grid;gap:.35rem}.dashboard-panel-title h2{margin:0;font-size:1.16rem;font-family:Sora,Manrope,Segoe UI,sans-serif;letter-spacing:-.02em;color:#0f172a}.dashboard-panel-title .muted{margin:0}.dashboard-hero{position:relative;overflow:hidden;grid-template-columns:1.5fr minmax(220px,320px);gap:1rem;align-items:stretch;padding:1.15rem}.dashboard-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 20%,rgba(20,184,166,.22),transparent 48%),radial-gradient(circle at 88% 82%,rgba(8,145,178,.2),transparent 55%);pointer-events:none;z-index:0}.dashboard-hero-content,.dashboard-hero-metric{position:relative;z-index:1}.dashboard-hero-content{display:grid;align-content:start;gap:.62rem}.dashboard-hero-kicker{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.73rem;font-weight:700;color:#155e75}.dashboard-hero-content h1{margin:0;font-size:clamp(1.55rem,2.4vw,2.2rem);font-family:Sora,Manrope,Segoe UI,sans-serif;letter-spacing:-.03em;color:#0b1327}.dashboard-hero-content .muted{margin:0;max-width:64ch}.dashboard-hero-metric{border:1px solid rgba(8,145,178,.22);border-radius:16px;background:linear-gradient(150deg,#0f172a,#1e293b);color:#e2e8f0;padding:.95rem;display:grid;align-content:start;gap:.4rem}.dashboard-hero-metric p,.dashboard-hero-metric span{margin:0}.dashboard-hero-metric p{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:#93c5fd}.dashboard-hero-metric strong{font-size:2rem;line-height:1;letter-spacing:-.03em;font-family:Sora,Manrope,Segoe UI,sans-serif}.dashboard-hero-metric span{font-size:.86rem;color:#cbd5e1}.dashboard-hero-progress{margin-top:.35rem;height:9px;border-radius:999px;background:#94a3b847;overflow:hidden}.dashboard-hero-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2dd4bf,#22d3ee);transition:width .28s ease}.dashboard-filter-panel{gap:.82rem}.dashboard-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.dashboard-kpi-card{border:1px solid #d8e1ee;border-radius:15px;padding:.95rem;background:radial-gradient(circle at 100% 0,rgba(45,212,191,.12),transparent 42%),linear-gradient(180deg,#fff,#f7fbff);box-shadow:0 12px 20px #0f172a14;display:grid;gap:.35rem;animation:dashboardCardIntro .56s cubic-bezier(.15,.76,.23,1) both}.dashboard-kpi-card h3{margin:0;font-size:.84rem;text-transform:uppercase;letter-spacing:.08em;color:#475569;font-weight:800}.dashboard-kpi-value{margin:0;font-size:1.7rem;font-family:Sora,Manrope,Segoe UI,sans-serif;letter-spacing:-.03em;color:#0f172a}.dashboard-kpi-delta{margin:0;font-size:.82rem;font-weight:700}.dashboard-kpi-delta.positive{color:#0f766e}.dashboard-kpi-delta.negative{color:#dc2626}.dashboard-kpi-delta.neutral{color:#475569}.dashboard-kpi-hint{margin:0;font-size:.8rem;color:#64748b}.dashboard-kpi-card.is-placeholder{opacity:.76}@keyframes dashboardCardIntro{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.dashboard-core-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:.95rem}.dashboard-chart-card,.dashboard-team-card{gap:.82rem}.dashboard-team-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.dashboard-team-item{border:1px solid #d9e3ef;border-radius:13px;padding:.72rem;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.62rem}.dashboard-team-avatar{width:37px;height:37px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:#155e75;background:linear-gradient(140deg,#c7f9f1,#ccfbf1);border:1px solid #99f6e4}.dashboard-team-copy{display:grid;gap:.17rem}.dashboard-team-copy strong{color:#0f172a}.dashboard-team-copy span{color:#0369a1;font-size:.79rem;font-weight:700}.dashboard-team-copy p{margin:0;color:#475569;font-size:.8rem}.dashboard-team-item b{font-size:.78rem;color:#0f766e;white-space:nowrap;align-self:center}.kpi-period-bars{display:grid;gap:.6rem}.dashboard-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.dashboard-chart-controls{display:inline-flex;align-items:center;gap:.45rem;flex-wrap:wrap}.dashboard-period-switch{display:inline-flex;gap:.26rem;background:#e2e8f0;border-radius:999px;padding:.2rem}.dashboard-period-option{border:0;border-radius:999px;padding:.34rem .8rem;background:transparent;color:#475569;font-size:.76rem;font-weight:700;cursor:pointer}.dashboard-period-option.is-active{background:linear-gradient(135deg,#0f766e,#14b8a6);color:#f8fafc}.dashboard-period-option:focus-visible{outline:2px solid #0f766e;outline-offset:1px}.dashboard-year-filter{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #cbd5e1;border-radius:999px;padding:.24rem .56rem;background:#fff}.dashboard-year-filter span{font-size:.74rem;color:#64748b;font-weight:700}.dashboard-year-filter select{border:0;background:transparent;color:#0f172a;font-size:.78rem;font-weight:700;min-width:72px}.dashboard-year-filter select:focus{outline:none}.kpi-period-plot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem}.kpi-period-axis{min-height:230px;display:grid;align-content:stretch;justify-items:end;gap:0}.kpi-period-axis span{font-size:.72rem;color:#64748b;font-weight:700;line-height:1}.kpi-period-columns{position:relative;min-height:230px;display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:.46rem;align-items:end;padding:.5rem .45rem .4rem;border:1px solid #dbe5f1;border-radius:12px;background:linear-gradient(180deg,#f1f5f9cc,#ffffffe6)}.kpi-period-columns.is-monthly{grid-template-columns:repeat(12,minmax(0,1fr))}.kpi-period-grid{position:absolute;inset:0;pointer-events:none}.kpi-period-grid span{position:absolute;left:0;right:0;border-top:1px dashed #cbd5e1}.kpi-period-item{position:relative;display:grid;align-content:end;justify-items:center;gap:.3rem;z-index:1}.kpi-period-stack{width:100%;min-height:5px;max-height:172px;display:flex;flex-direction:column;align-items:end;justify-content:flex-end;overflow:hidden;border-radius:12px 12px 4px 4px;border:1px solid #cbd5e1;background:#e2e8f0;box-shadow:inset 0 1px #ffffff73}.kpi-period-stack.is-peak{border-color:#0f766e;box-shadow:0 8px 16px #0f766e33}.kpi-period-bar{width:100%;min-height:4px;transition:height .18s ease}.kpi-period-stack .kpi-period-bar:first-child{border-radius:0}.kpi-period-stack .kpi-period-bar:last-child{border-radius:3px 3px 0 0}.kpi-period-stack.is-peak .kpi-period-bar.is-present{background:linear-gradient(180deg,#0f766e,#115e59)}.kpi-period-stack.is-peak .kpi-period-bar.is-absent{background:linear-gradient(180deg,#fb7185,#e11d48)}.kpi-period-bar.is-present{background:linear-gradient(180deg,#14b8a6,#0f766e)}.kpi-period-bar.is-absent{background:linear-gradient(180deg,#fda4af,#fb7185)}.kpi-period-label{font-size:.71rem;font-weight:800;letter-spacing:.02em;color:#334155}.kpi-period-meta{font-size:.67rem;color:#64748b;text-align:center}.kpi-period-meta{display:none}.kpi-point-list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}.kpi-point-row{border:1px solid #dbe5f1;border-radius:12px;padding:.58rem .64rem;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) minmax(96px,1fr) auto;align-items:center;gap:.55rem}.kpi-point-copy{display:grid;gap:.08rem}.kpi-point-copy strong{color:#0f172a;font-size:.82rem}.kpi-point-copy span{color:#64748b;font-size:.75rem}.kpi-point-track{height:9px;border-radius:999px;background:#e2e8f0;overflow:hidden}.kpi-point-fill{display:block;height:100%;border-radius:inherit}.kpi-point-fill.positive{background:linear-gradient(90deg,#14b8a6,#0f766e)}.kpi-point-fill.negative{background:linear-gradient(90deg,#f87171,#dc2626)}.kpi-point-fill.neutral{background:#94a3b8}.kpi-point-value{font-size:.78rem;white-space:nowrap}.kpi-point-value.positive{color:#0f766e}.kpi-point-value.negative{color:#dc2626}.kpi-point-value.neutral{color:#475569}.dashboard-analytics-grid>article{display:grid;gap:.7rem;align-content:start}.kpi-chart-shell{display:grid;gap:.5rem}.kpi-chart-svg{width:100%;height:auto;border:1px solid #d7e2ee;border-radius:12px;background:#fff}.kpi-chart-axis-label{fill:#64748b;font-size:11px;font-weight:700}.kpi-legend{display:flex;flex-wrap:wrap;gap:.9rem;font-size:.82rem;color:#334155;font-weight:700}.kpi-legend span{display:inline-flex;align-items:center;gap:.42rem}.dot{width:10px;height:10px;border-radius:999px;display:inline-block}.dot-present{background:#0f766e}.dot-absent{background:#dc2626}.dot-justified{background:#d97706}.kpi-yearly-bars{display:grid;gap:.56rem}.kpi-yearly-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:.65rem}.kpi-yearly-label{font-size:.83rem;color:#334155;font-weight:700}.kpi-yearly-track{display:grid;gap:.35rem}.kpi-yearly-bar{height:10px;border-radius:999px}.kpi-yearly-bar.is-present{background:#0f766e}.kpi-yearly-bar.is-absent{background:#dc2626}.kpi-yearly-value{font-size:.79rem;color:#475569;font-weight:700}.kpi-split{display:grid;gap:.72rem}.kpi-split-track{display:flex;overflow:hidden;border:1px solid #d7e2ee;border-radius:999px;height:18px;background:#edf2f7}.kpi-split-segment{height:100%}.kpi-split-segment.is-present{background:#0f766e}.kpi-split-segment.is-absent{background:#dc2626}.kpi-split-segment.is-justified{background:#d97706}.kpi-split-legend{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.kpi-split-legend li{display:inline-flex;align-items:center;gap:.42rem;color:#334155;font-size:.85rem;font-weight:700}.kpi-sex{display:grid;gap:.68rem;border:1px solid #d7e2ee;border-radius:14px;padding:.78rem;background:linear-gradient(180deg,#fbfdff,#f3f9ff)}.kpi-sex-summary{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border:1px solid #e2e8f0;border-radius:10px;padding:.44rem .58rem;background:#fff}.kpi-sex-summary span{font-size:.79rem;font-weight:700;color:#475569}.kpi-sex-summary strong{font-size:.94rem;color:#0f172a}.kpi-sex-bars{display:grid;gap:.7rem}.kpi-sex-row{display:grid;gap:.38rem}.kpi-sex-row-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.kpi-sex-label{display:inline-flex;align-items:center;gap:.45rem;font-size:.84rem;font-weight:800;color:#1e293b}.kpi-sex-dot{width:9px;height:9px;border-radius:999px;display:inline-block;background:#64748b}.kpi-sex-row.is-male .kpi-sex-dot{background:#2563eb;box-shadow:0 0 0 3px #2563eb29}.kpi-sex-row.is-female .kpi-sex-dot{background:#e11d48;box-shadow:0 0 0 3px #e11d4829}.kpi-sex-meta{font-size:.78rem;font-weight:700;color:#334155;white-space:nowrap}.kpi-sex-track{height:13px;border-radius:999px;background:#e2e8f0;overflow:hidden;border:1px solid #d7e2ee}.kpi-sex-fill{height:100%;border-radius:999px;transition:width .22s ease;background:linear-gradient(90deg,#3b82f6,#2563eb)}.kpi-sex-row.is-female .kpi-sex-fill{background:linear-gradient(90deg,#fb7185,#e11d48)}.kpi-sex-footnote{margin:0;text-align:right;font-size:.78rem;color:#64748b}.kpi-sex-footnote strong{color:#1e293b}.kpi-rank-list{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}.kpi-rank-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.62rem;border:1px solid #d7e2ee;border-radius:13px;padding:.65rem .72rem;background:#fbfdff}.kpi-rank-order{min-width:34px;height:34px;border-radius:10px;border:1px solid #cbd5e1;background:#eff6ff;color:#1e3a8a;font-size:.74rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.kpi-rank-content{display:grid;gap:.3rem}.kpi-rank-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.kpi-rank-header strong{color:#0f172a}.kpi-rank-header span{font-size:.84rem;font-weight:800;color:#0f172a}.kpi-rank-track{height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.kpi-rank-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#14b8a6)}.kpi-rank-row .muted{margin:0;font-size:.79rem}.filters-grid,.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.form-grid-single{grid-template-columns:1fr}.field{display:grid;gap:.35rem}.field span{font-size:.88rem;color:#243649;font-weight:600}.actions-row{display:flex;gap:.6rem;align-items:center}.table-action-icon-button{width:26px;height:26px;border:0;border-radius:999px;padding:0;background:transparent;color:#4b5563;display:inline-flex;align-items:center;justify-content:center;transform:none}.table-action-icon-button:hover:not(:disabled){background:#f3f4f6;transform:none}.table-action-icon-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.table-action-icon-button:disabled{opacity:.45;background:transparent}.table-action-icon-button-edit{color:#4b5563}.table-action-icon-button-approve{color:#16a34a}.table-action-icon-button-reject,.table-action-icon-button-delete{color:#dc2626}.table-action-icon-button-map{color:#111827}.table-action-icon-button-whatsapp{color:#16a34a}.children-contact-cell{display:inline-flex;align-items:center;gap:.4rem}.children-profile-completion-cell{display:flex;align-items:center;justify-content:center}.children-profile-completion{position:relative;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#f8fbff;border:1px solid #dbeafe}.children-profile-completion-svg{display:block}.children-profile-completion-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.64rem;font-weight:800;letter-spacing:-.02em;color:#0f172a;pointer-events:none}.attendance-quick-actions{gap:.35rem}.table-action-mini-button{min-width:36px;height:30px;border:1px solid #d1d5db;border-radius:8px;padding:0 .45rem;background:#fff;color:#1f2937;font-weight:700;transform:none}.table-action-mini-button:hover:not(:disabled){transform:none;background:#f9fafb}.table-action-mini-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.attendance-status-present{border-color:#bbf7d0;background:#f0fdf4;color:#15803d}.attendance-status-present:hover:not(:disabled){background:#dcfce7}.attendance-status-absent{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.attendance-status-absent:hover:not(:disabled){background:#fee2e2}.attendance-status-justified{border-color:#fde68a;background:#fffbeb;color:#b45309}.attendance-status-justified:hover:not(:disabled){background:#fef3c7}.notifications-panel{display:grid;gap:1rem}.notifications-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.notifications-toolbar .muted{margin:0}.notifications-empty{margin:0;padding:.3rem 0}.notifications-day-group{display:grid;gap:.65rem}.notifications-day-title{margin:0;font-size:1rem;font-weight:600;color:#4b5563}.notifications-list{display:grid;gap:.55rem}.notification-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.8rem;align-items:center;border-radius:14px;border:1px solid #e5e7eb;background:#fff;padding:.78rem .88rem}.notification-row.unread{border-color:#fecaca;background:#fff7f7}.notification-icon-shell{width:44px;height:44px;border-radius:999px;background:#f3f4f6;color:#374151;display:inline-flex;align-items:center;justify-content:center}.notification-copy{min-width:0;display:grid;gap:.2rem}.notification-title,.notification-message{margin:0}.notification-title{font-size:1rem;font-weight:700;color:#111827;line-height:1.2}.notification-message{font-size:.95rem;color:#4b5563;line-height:1.32}.notification-meta{display:grid;justify-items:end;gap:.36rem;min-width:122px}.notification-time{color:#6b7280;font-size:.9rem;font-weight:500}.notification-mark-read-button{border:0;background:transparent;color:#2563eb;font-size:.84rem;font-weight:700;padding:0;transform:none}.notification-mark-read-button:hover:not(:disabled){transform:none;text-decoration:underline;background:transparent}.notification-mark-read-button:focus-visible{outline:2px solid #60a5fa;outline-offset:2px;border-radius:4px}.notification-read-label{color:#9ca3af;font-size:.8rem;font-weight:600}.attendance-table-toolbar{display:flex;align-items:flex-end;gap:.65rem;flex-wrap:wrap}.attendance-table-toolbar-field{min-width:180px;max-width:230px}.attendance-table-toolbar-field span{font-size:.8rem}.attendance-table-toolbar-summary{margin:0;padding-bottom:.25rem;font-size:.84rem;font-weight:600}.attendance-map-shell{gap:.85rem}.attendance-map-controls{display:grid;grid-template-columns:170px 170px minmax(240px,1.35fr) minmax(170px,1fr) minmax(170px,1fr) 170px;gap:.65rem;align-items:end}.attendance-map-control-item{min-width:0}.attendance-map-control-item span{font-size:.8rem}.attendance-map-control-item input,.attendance-map-control-item select{width:100%}.attendance-map-filter-group{display:inline-flex;border:1px solid #d1d5db;border-radius:10px;overflow:hidden;height:41px}.attendance-map-filter-button{border:0;border-radius:0;background:#fff;color:#1f2937;min-width:96px;padding:0 .65rem;transform:none}.attendance-map-filter-button:not(:last-child){border-right:1px solid #e5e7eb}.attendance-map-filter-button:hover:not(:disabled){transform:none;background:#f8fafc}.attendance-map-filter-button.is-active{background:#111827;color:#fff}.attendance-map-search-box{display:flex;align-items:center;gap:.45rem;border:1px solid #c6d8f1;border-radius:10px;padding:0 .55rem;background:#fff;color:#4b5563}.attendance-map-search-box input{border:0;border-radius:0;padding:.52rem 0}.attendance-map-search-box input:focus{outline:none}.attendance-map-toggle,.attendance-map-refresh{height:41px;display:inline-flex;align-items:center;justify-content:center;gap:.38rem;padding:0 .8rem;transform:none}.attendance-map-toggle{border-color:#f9d18b;background:#fff8e7;color:#a04711}.attendance-map-toggle:hover:not(:disabled){transform:none;background:#ffefc6}.attendance-map-toggle.is-active{border-color:#fdba74;background:#f97316;color:#fff}.attendance-map-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}.attendance-map-stats p{margin:0;border:1px solid #dde7f5;border-radius:10px;padding:.6rem .66rem;background:#f8fbff;font-size:.9rem}.attendance-map-stat-present strong{color:#15803d}.attendance-map-stat-absent strong{color:#b91c1c}.attendance-map-stat-norecord strong{color:#4b5563}.attendance-map-panel{gap:.65rem}.attendance-map-topbar{display:flex;align-items:center;justify-content:space-between;gap:.65rem;flex-wrap:wrap}.attendance-map-legend{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.attendance-map-legend-item{display:inline-flex;align-items:center;gap:.32rem;font-size:.84rem;color:#374151}.attendance-map-legend-item i{width:11px;height:11px;border-radius:999px;display:inline-block}.attendance-map-icon-actions{display:inline-flex;align-items:center;gap:.36rem}.attendance-map-icon-button{width:34px;height:34px;border:1px solid #d1d5db;border-radius:9px;background:#fff;color:#374151;display:inline-flex;align-items:center;justify-content:center;padding:0;transform:none}.attendance-map-icon-button:hover:not(:disabled){transform:none;background:#f8fafc;border-color:#94a3b8}.attendance-map-icon-button:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.attendance-map-icon-button.is-active{background:#eff6ff;border-color:#60a5fa;color:#1d4ed8}.attendance-map-icon-button:disabled{opacity:.6;cursor:not-allowed}.attendance-map-canvas{display:grid;gap:.45rem;position:relative}.attendance-map-canvas.is-fullscreen{padding:.55rem;background:#0f172a;align-content:stretch}.attendance-map-canvas-actions{position:absolute;top:.8rem;right:.8rem;z-index:650;padding:.38rem;border-radius:12px;border:1px solid #d1d5db;background:#fffffff0;box-shadow:0 8px 22px #0f172a33}.attendance-map-leaflet{width:100%;height:560px;border:1px solid #d7e3f5;border-radius:14px;overflow:hidden}.attendance-map-canvas.is-fullscreen .attendance-map-leaflet{height:calc(100vh - 1.1rem);border-radius:12px;border-color:#334155}.attendance-map-canvas:fullscreen{padding:.55rem;background:#0f172a}.attendance-map-canvas:fullscreen .attendance-map-leaflet{height:calc(100vh - 1.1rem);border-radius:12px;border-color:#334155}.attendance-map-popup{min-width:220px;display:grid;gap:.2rem}.attendance-map-popup p{margin:0;font-size:.84rem}.attendance-map-popup-name{font-weight:700;color:#111827}.attendance-map-missing-panel{gap:.6rem}.attendance-map-missing-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.attendance-map-missing-head h2{font-size:1rem}.attendance-map-missing-head span{border:1px solid #e5e7eb;border-radius:999px;padding:.18rem .55rem;font-size:.82rem;font-weight:700;color:#374151;background:#f9fafb}.attendance-map-missing-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.attendance-map-missing-list li{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:.5rem .58rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;gap:.55rem;align-items:center}.attendance-map-missing-name{min-width:0;display:inline-flex;align-items:center;gap:.35rem;font-weight:600;color:#1f2937}.attendance-map-missing-meta{min-width:0;color:#6b7280;font-size:.82rem;text-align:right}.attendance-map-help p{display:inline-flex;align-items:center;gap:.35rem;color:#4b5f74;font-size:.86rem}.attendance-map-print-summary{display:none}.inline-check{display:inline-flex;gap:.45rem;align-items:center;font-weight:600;color:#253c53}.inline-check input{width:auto}.span-2{grid-column:span 2}.muted{color:#4b5f74}.error-message{border:1px solid #ffc9c5;border-radius:10px;background:#fff2f0;color:#842029;padding:.55rem .7rem}.success-message{border:1px solid #badbcc;border-radius:10px;background:#f0fff4;color:#0f5132;padding:.55rem .7rem}.budget-page{max-width:1360px;margin:0 auto}.budget-page h1,.budget-page h2,.budget-page h3{font-family:Sora,Manrope,Segoe UI,sans-serif;letter-spacing:-.02em}.budget-page input,.budget-page select,.budget-page textarea{width:100%;border:1px solid #c9d8eb;border-radius:12px;padding:.72rem .8rem;background:#fff;color:#17222c;font:inherit}.budget-page input:focus,.budget-page select:focus,.budget-page textarea:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa2e}.budget-page textarea{resize:vertical;min-height:96px}.budget-filter-panel,.budget-form-panel,.budget-site-form{gap:1rem}.budget-actions-wrap{flex-wrap:wrap}.budget-module-tabs{margin:1rem 0 1.1rem}.budget-tab-button{min-width:148px}.budget-primary-button,.budget-secondary-button,.budget-ghost-button{min-height:42px;border-radius:12px;padding:0 .9rem;display:inline-flex;align-items:center;justify-content:center;gap:.45rem;font-weight:700;font-family:inherit;transform:none}.budget-primary-button{border:1px solid #0ea5e9;background:linear-gradient(135deg,#0ea5e9,#2563eb);color:#fff}.budget-primary-button:hover:not(:disabled){transform:none;filter:brightness(1.03)}.budget-secondary-button{border:1px solid #d3dfef;background:#fff;color:#183153}.budget-secondary-button:hover:not(:disabled),.budget-ghost-button:hover:not(:disabled){transform:none;background:#f8fbff}.budget-ghost-button{border:1px dashed #c4d4e7;background:#f8fbff;color:#45617f}.budget-primary-button:disabled,.budget-secondary-button:disabled,.budget-ghost-button:disabled{opacity:.6;cursor:not-allowed}.budget-hero-card{grid-template-columns:1.55fr minmax(240px,320px)}.budget-chip-row{display:flex;flex-wrap:wrap;gap:.45rem}.budget-chip{border:1px solid rgba(125,211,252,.38);border-radius:999px;padding:.28rem .62rem;background:#ffffff14;color:#dbeafe;font-size:.82rem;font-weight:700}.budget-summary-grid{align-items:start}.budget-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.budget-account-item,.budget-assigned-item{border:1px solid #dce7f4;border-radius:14px;padding:.8rem .9rem;background:#f8fbff;display:grid;gap:.2rem}.budget-account-item span{font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;color:#60758e;font-weight:800}.budget-account-item strong,.budget-assigned-item strong{color:#102a43}.budget-assigned-item span{color:#5a6f86;font-size:.9rem}.budget-assigned-list{display:grid;gap:.7rem}.budget-chart-card{align-content:start}.budget-bar-list,.budget-cumulative-list{display:grid;gap:.85rem}.budget-bar-row,.budget-cumulative-row{display:grid;gap:.36rem}.budget-bar-head,.budget-cumulative-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.92rem}.budget-bar-head strong,.budget-cumulative-head strong{color:#102a43}.budget-bar-head span,.budget-cumulative-head span{color:#36506b;font-weight:700}.budget-bar-track{height:11px;border-radius:999px;background:#e6eef8;overflow:hidden}.budget-bar-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--budget-bar-accent, #0ea5e9),color-mix(in srgb,var(--budget-bar-accent, #0ea5e9) 60%,#ffffff))}.budget-cumulative-row small{color:#64748b;font-size:.82rem}.budget-progress-panel{gap:.95rem}.budget-empty-state{justify-items:start;gap:.7rem}.budget-empty-state h2{margin:0}.budget-site-form-actions{margin-top:1rem}.events-tabs{display:flex;flex-wrap:wrap;gap:.55rem}.events-access-panel{gap:1rem}.events-access-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem;align-items:end}.events-camera-shell{border:1px solid #dbe4f0;border-radius:12px;overflow:hidden;background:#0f172a}.events-camera-video{width:100%;max-height:340px;object-fit:cover;display:block}.events-access-result{border:1px solid #dbe4f0;border-radius:12px;padding:.8rem;background:#f8fbff;display:grid;gap:.35rem}.events-access-result h3{margin:0;font-size:1.1rem}.events-access-result.success{border-color:#c8e6c9;background:#f0fff4}.events-access-result.already{border-color:#bbf7d0;background:#f5fff8}.events-access-result.warning{border-color:#ffe4b5;background:#fffaf0}.events-access-result.error{border-color:#fbcaca;background:#fff5f5}.events-access-status-chip{width:fit-content;display:inline-flex;align-items:center;gap:.35rem;margin:0;border-radius:999px;border:1px solid transparent;padding:.24rem .62rem;font-size:.79rem;font-weight:700}.events-access-status-chip.is-approved,.events-access-status-chip.is-already{color:#166534;background:#dcfce7;border-color:#86efac}.events-access-status-chip.is-warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.events-access-status-chip.is-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.events-access-status-burst{width:84px;height:84px;margin:0 auto .15rem;border-radius:999px;display:grid;place-items:center;color:#fff;background:#16a34a;box-shadow:0 16px 34px #16a34a47}.events-access-status-burst svg{font-size:2.4rem}.events-access-status-burst.is-approved{animation:eventsAccessApproveBurst .56s cubic-bezier(.16,.84,.24,1)}@keyframes eventsAccessApproveBurst{0%{transform:scale(.28);opacity:.05}62%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}.events-door-form{border:1px solid #dbe4f0;border-radius:12px;padding:.75rem;background:#fcfdff}.events-sale-tickets-block{display:grid;gap:.7rem;border:1px solid #dbe4f0;border-radius:12px;padding:.75rem;background:#fcfdff}.events-sale-tickets-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.events-sale-ticket-item{display:grid;gap:.55rem;border:1px dashed #c7d6ea;border-radius:10px;padding:.7rem;background:#fff}.events-sale-ticket-index{font-weight:700;color:#1f2937}.events-sales-panel{display:grid;gap:.9rem}.events-payment-progress-cell{display:inline-flex;align-items:center;gap:.7rem}.events-payment-progress-copy{display:grid;gap:.12rem}.events-payment-progress-copy strong{font-size:.84rem;color:#0f172a}.events-payment-progress-copy span{font-size:.76rem;color:#516274;line-height:1.25}.events-payment-progress-ring{position:relative;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#fff}.events-payment-progress-ring-svg{display:block}.events-payment-progress-ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.62rem;font-weight:800;color:#0f172a}.events-sale-detail-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.events-sale-detail-summary-card{display:grid;gap:.18rem;padding:.85rem .9rem;border:1px solid #dbe4f0;border-radius:14px;background:#f8fbff}.events-sale-detail-summary-card span{font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#5b6d84}.events-sale-detail-summary-card strong{font-size:1rem;color:#0f172a}.events-sale-detail-summary-card small{color:#516274}.events-sale-detail-summary-card-progress{grid-template-columns:auto 1fr;align-items:center;gap:.8rem}.events-sale-detail-actions{flex-wrap:wrap}.events-sale-payments-block{display:grid;gap:.75rem}.events-sale-payments-head{display:grid;gap:.15rem}.events-sale-payments-head h3{margin:0;font-size:1rem}.events-sale-payments-table-wrap{overflow-x:auto;border:1px solid #dbe4f0;border-radius:12px}.events-sale-payments-table{width:100%;border-collapse:collapse;background:#fff}.events-sale-payments-table th,.events-sale-payments-table td{text-align:left;padding:.7rem .8rem;border-bottom:1px solid #e7eef7;vertical-align:top}.events-sale-payments-table th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:#5b6d84;background:#f8fbff}.events-sale-payments-table tbody tr:last-child td{border-bottom:0}.events-payment-modal{width:min(720px,calc(100vw - 1.2rem))}.field-error-inline{margin:0;font-size:.78rem;font-weight:600;color:#b91c1c}.events-public-ticket-shell{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(150deg,#f8fbff,#eef5ff)}.events-public-ticket-card{width:min(760px,100%)}.events-public-ticket-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1rem}.events-public-ticket-grid p{margin:0}.events-public-ticket-qr{display:grid;justify-content:center;padding:.5rem 0}.events-public-ticket-qr img{width:240px;height:240px;border:1px solid #dbe4f0;border-radius:10px;padding:.45rem;background:#fff}.events-public-ticket-link{color:#0f4ea8;text-decoration:none;font-weight:600}.events-ticket-qr-thumb{width:74px;height:74px;border:1px solid #d6deea;border-radius:8px;padding:.2rem;background:#fff}.table-action-icon-link{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#4b5563;text-decoration:none}.table-action-icon-link:hover{background:#f3f4f6}.stat-list{margin:0;padding-left:1rem;display:grid;gap:.35rem}.profile-page-shell{max-width:1080px;margin:0 auto;gap:.9rem}.profile-page-header{gap:.42rem}.profile-page-header h1{margin:0;font-size:clamp(1.6rem,2.4vw,2.7rem);letter-spacing:-.02em;color:#18181b}.profile-page-breadcrumb{margin:0;color:#6b7280;font-size:.92rem;display:inline-flex;align-items:center;gap:.16rem}.profile-page-breadcrumb .current{color:#2563eb;font-weight:700}.profile-page-panel{background:#f5f5f5;border:1px solid #d4d4d8;box-shadow:none;gap:0;padding:0;overflow:hidden}.profile-page-panel h2{margin:0;padding:1rem 1.12rem .78rem;font-size:1.02rem;color:#18181b}.profile-page-list{border-top:1px solid #d4d4d8}.profile-page-item{width:100%;border:0;border-radius:0;border-bottom:1px solid #d4d4d8;background:transparent;color:#18181b;padding:.86rem 1.1rem;display:inline-flex;align-items:center;gap:.82rem;text-align:left;transform:none}.profile-page-list .profile-page-item:last-child{border-bottom:0}.profile-page-item:hover:not(:disabled),.profile-page-item.is-active{transform:none;background:#ebebed}.profile-page-item:focus-visible{outline:2px solid #60a5fa;outline-offset:-2px}.profile-page-item-icon{width:22px;height:22px;color:#52525b;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center}.profile-page-item-copy{min-width:0;display:grid;gap:.18rem}.profile-page-item-title{font-size:1rem;line-height:1.24;color:#111827;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-page-item-subtitle{font-size:.8rem;line-height:1.2;color:#6b7280}.profile-page-item-tail{margin-left:auto;color:#9ca3af;display:inline-flex;align-items:center;gap:.3rem;flex:0 0 auto}.profile-page-status{width:18px;height:18px;border-radius:999px;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.72rem}.profile-page-status.is-ok{background:#16a34a}.profile-page-status.is-pending{background:#f97316}.profile-editor-backdrop{z-index:120}.profile-editor-modal{width:min(560px,calc(100vw - 1.2rem));max-height:calc(100vh - 1.6rem);overflow-y:auto;border-color:#d4d4d8;background:#f5f5f5;gap:.82rem}.profile-editor-modal h3{margin:0;font-size:1.05rem;color:#111827}.profile-editor-modal .actions-row{justify-content:flex-end}.children-create-backdrop{position:fixed;inset:0;z-index:120;background:#0f172a52;display:grid;place-items:center;padding:.9rem}.children-create-modal{width:min(980px,calc(100vw - 1.2rem));max-height:calc(100vh - 1.8rem);overflow-y:auto;border-color:#d4dbe8;box-shadow:0 16px 34px #0f172a2e}.children-create-actions{grid-column:1 / -1;justify-content:flex-end;margin-top:.2rem}@media(max-width:1100px){.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-hero{grid-template-columns:1fr}.dashboard-kpi-grid,.filters-grid,.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-map-controls{grid-template-columns:repeat(3,minmax(0,1fr))}.attendance-map-search{grid-column:span 3}.attendance-map-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-hero-card{grid-template-columns:1fr}}@media(max-width:980px){.dashboard-sidebar{display:none}.dashboard-main{margin-left:0;padding:.95rem .85rem calc(7.1rem + env(safe-area-inset-bottom))}.dashboard-mobile-backdrop,.dashboard-quick-menu{display:block}.dashboard-mobile-drawer,.dashboard-mobile-bottom-bar{display:grid}.children-create-modal .filters-grid{grid-template-columns:1fr}.children-create-modal .span-2{grid-column:auto}.budget-account-grid{grid-template-columns:1fr}}@media(max-width:760px){.dashboard-shell{--mobile-bottom-bar-height: calc(42px + .8rem) }.oauth-brand-logo{width:min(190px,54vw)}.oauth-login-card{width:min(438px,100%);padding:1.2rem .92rem 1.06rem}.oauth-provider-icon-row{gap:.72rem}.oauth-title{font-size:1.56rem}.oauth-subtitle{font-size:.9rem}.oauth-provider-icon-button{width:43px;height:43px}.oauth-divider span{font-size:.82rem}.oauth-field span{font-size:.85rem}.oauth-input{font-size:.9rem}.oauth-submit-button{font-size:.95rem}.oauth-register-text{font-size:.88rem}.dashboard-main{padding:.78rem .62rem calc(6.95rem + env(safe-area-inset-bottom))}.dashboard-page{gap:.9rem;padding:0}.dashboard-hero{padding:.92rem}.dashboard-core-grid,.two-columns{grid-template-columns:1fr}.dashboard-team-item{grid-template-columns:auto minmax(0,1fr)}.dashboard-team-item b{grid-column:2;justify-self:start}.dashboard-chart-head{align-items:stretch}.dashboard-chart-controls{width:100%;display:grid;gap:.4rem}.dashboard-period-switch{width:100%;justify-content:space-between}.dashboard-period-option{flex:1;text-align:center}.kpi-period-plot{grid-template-columns:1fr}.kpi-period-axis{display:none}.dashboard-year-filter{width:100%;border-radius:12px;justify-content:space-between}.kpi-period-columns{grid-template-columns:repeat(auto-fit,minmax(54px,1fr));min-height:198px}.kpi-period-columns.is-monthly{grid-template-columns:repeat(12,minmax(0,1fr))}.kpi-point-row{grid-template-columns:1fr;align-items:start}.dashboard-mobile-drawer{width:min(290px,88vw)}.dashboard-brand-logo-mobile{width:130px}.dashboard-mobile-action,.dashboard-mobile-home{min-height:40px;padding:.3rem .5rem;font-size:.72rem}.dashboard-mobile-home{min-width:82px}.dashboard-mobile-more{min-width:74px}.dashboard-mobile-bottom-bar{width:min(420px,calc(100vw - .85rem));padding:.4rem .7rem}.dashboard-mobile-qr{width:58px;height:58px;margin-top:-24px}.dashboard-mobile-qr svg{font-size:1.72rem}.dashboard-quick-menu{right:.5rem;width:min(272px,calc(100vw - 1rem))}.dashboard-profile-modal{width:min(520px,calc(100vw - 1rem));border-radius:14px;padding:.85rem}.children-create-modal{width:min(640px,calc(100vw - 1rem));border-radius:14px;padding:.9rem}.dashboard-profile-sheet-header h2{font-size:1.72rem}.dashboard-profile-editor-grid{grid-template-columns:1fr}.dashboard-profile-sheet-footer{display:grid;grid-template-columns:1fr}.attendance-table-toolbar{align-items:stretch}.attendance-table-toolbar-field{min-width:100%;max-width:100%}.attendance-table-toolbar-summary{padding-bottom:0}.attendance-map-controls{grid-template-columns:1fr}.attendance-map-search{grid-column:auto}.attendance-map-topbar{align-items:flex-start}.attendance-map-icon-actions{width:100%;justify-content:flex-end}.attendance-map-leaflet{height:440px}.attendance-map-stats{grid-template-columns:1fr}.attendance-map-missing-list li{grid-template-columns:1fr;gap:.25rem}.attendance-map-missing-meta{text-align:left}.notification-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.notification-meta{grid-column:1 / -1;justify-items:start;margin-left:calc(44px + .8rem)}.metrics-grid,.dashboard-kpi-grid,.filters-grid,.form-grid{grid-template-columns:1fr}.budget-bar-head,.budget-cumulative-head{flex-direction:column;align-items:flex-start}.kpi-yearly-row,.kpi-rank-row{grid-template-columns:1fr;gap:.3rem}.kpi-sex-row-head{flex-direction:column;align-items:flex-start;gap:.3rem}.kpi-rank-order{width:fit-content}.span-2{grid-column:auto}}@media(max-width:980px){.events-access-toolbar{grid-template-columns:1fr}.events-sale-tickets-head{flex-direction:column;align-items:flex-start}.events-sale-detail-summary,.events-public-ticket-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.oauth-brand-logo,.dashboard-kpi-card{animation:none}}@media print{body.attendance-map-print-mode .dashboard-sidebar,body.attendance-map-print-mode .dashboard-mobile-bottom-bar,body.attendance-map-print-mode .dashboard-mobile-drawer,body.attendance-map-print-mode .dashboard-mobile-backdrop,body.attendance-map-print-mode .dashboard-quick-menu{display:none!important}body.attendance-map-print-mode .dashboard-main{margin:0!important;padding:0!important}body.attendance-map-print-mode .dashboard-main>*{display:none!important}body.attendance-map-print-mode .dashboard-main .attendance-map-shell{display:block!important;padding:0!important}body.attendance-map-print-mode .attendance-map-shell>*{display:none!important}body.attendance-map-print-mode .attendance-map-shell .attendance-map-panel{display:block!important;border:0!important;box-shadow:none!important;padding:0!important;background:#fff!important;max-width:980px!important;margin:0 auto!important}body.attendance-map-print-mode .attendance-map-shell .attendance-map-print-summary{display:grid!important;gap:.45rem;margin-bottom:.65rem}body.attendance-map-print-mode .attendance-map-print-summary h2{margin:0;font-size:1.2rem;text-align:center}body.attendance-map-print-mode .attendance-map-print-meta{display:grid;grid-template-columns:1fr;gap:.22rem;font-size:.92rem;justify-items:start}body.attendance-map-print-mode .attendance-map-print-meta p{margin:0;text-align:left}body.attendance-map-print-mode .attendance-map-print-locality,body.attendance-map-print-mode .attendance-map-print-locality-breakdown{grid-column:auto;text-align:left}body.attendance-map-print-mode .attendance-map-topbar,body.attendance-map-print-mode .attendance-map-canvas-actions{display:none!important}body.attendance-map-print-mode .attendance-map-canvas{border:1px solid #d1d5db!important;border-radius:8px!important;overflow:hidden!important;min-height:72vh!important}body.attendance-map-print-mode .attendance-map-canvas .attendance-map-leaflet,body.attendance-map-print-mode .attendance-map-canvas .leaflet-container{height:72vh!important;min-height:72vh!important}}
