:root,[data-theme=light]{--bg-main: #f8fafc;--bg-body: #f1f5f9;--card-bg: white;--text-primary: #0f172a;--text-muted: #64748b;--input-bg: white;--input-border: #e2e8f0;--input-text: #0f172a}[data-theme=dark]{--bg-main: #0f172a;--bg-body: #0f172a;--card-bg: #1e293b;--text-primary: #f1f5f9;--text-muted: #94a3b8;--input-bg: #0f172a;--input-border: #334155;--input-text: #f1f5f9}[data-accent=blue]{--accent: #0ea5e9;--accent-hover: #0284c7}[data-accent=indigo]{--accent: #6366f1;--accent-hover: #4f46e5}[data-accent=cyan]{--accent: #06b6d4;--accent-hover: #0891b2}[data-accent=green]{--accent: #10b981;--accent-hover: #059669}[data-accent=purple]{--accent: #8b5cf6;--accent-hover: #7c3aed}[data-accent=rose]{--accent: #e11d48;--accent-hover: #be123c}[data-accent=orange]{--accent: #f59e0b;--accent-hover: #d97706}[data-accent=amber]{--accent: #ca8a04;--accent-hover: #a16207}[data-accent=teal]{--accent: #14b8a6;--accent-hover: #0d9488}[data-accent=slate]{--accent: #475569;--accent-hover: #334155}[data-accent=rosso]{--accent: #dc0000;--accent-hover: #b80000}[data-accent=giallo]{--accent: #c9a227;--accent-hover: #a68508}[data-accent=nero]{--accent: #1a1a1a;--accent-hover: #000000}[data-accent=blu]{--accent: #003b9e;--accent-hover: #002d75}[data-accent=verde]{--accent: #1b4d3e;--accent-hover: #0f342c}[data-accent=argento]{--accent: #5c636a;--accent-hover: #454a52}:root:not([data-accent]){--accent: #0ea5e9;--accent-hover: #0284c7}[data-accent=fuchsia]{--accent: #d946ef;--accent-hover: #c026d3}[data-accent=violet]{--accent: #7c3aed;--accent-hover: #6d28d9}[data-accent=sky]{--accent: #38bdf8;--accent-hover: #0ea5e9}[data-accent=lime]{--accent: #84cc16;--accent-hover: #65a30d}[data-accent=coral]{--accent: #fb7185;--accent-hover: #f43f5e}[data-accent=mint]{--accent: #2dd4bf;--accent-hover: #14b8a6}[data-accent=electric]{--accent: #6366f1;--accent-hover: #4f46e5}[data-accent=graphite]{--accent: #64748b;--accent-hover: #475569}:root{--card-radius: 12px;--card-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 12px rgba(15, 23, 42, .06);--z-modal-overlay: 10000;--z-toast: 11000}*{box-sizing:border-box}html{scrollbar-gutter:stable}html.scroll-locked,html.scroll-locked body{overflow:hidden}html,body{overflow-x:clip}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg-body);color:var(--text-primary)}#root{min-height:100vh;width:100%}.page{width:100%;max-width:100%}.page h1{margin:0 0 1rem;font-size:1.5rem;color:var(--text-primary)}.page-header:not(.page-header__main){display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem}.page-header:not(.page-header__main) h1{margin:0}.ui-card,.form-card{background:var(--card-bg, white);padding:1.5rem;border-radius:var(--card-radius, 12px);margin-bottom:1rem;box-shadow:var(--card-shadow, 0 1px 3px rgba(0, 0, 0, .1));border:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 85%,transparent)}.ui-card h3,.form-card h3{margin:0 0 1rem;font-size:1rem}.workspace-selection-banner{margin:0 0 1rem;padding:.625rem 1rem;border-radius:8px;background:color-mix(in srgb,var(--accent) 10%,var(--card-bg, white));border:1px solid color-mix(in srgb,var(--accent) 28%,var(--input-border));font-size:.875rem;color:var(--text-primary);line-height:1.45}.workspace-selection-banner strong{color:var(--accent);font-weight:600}.workspace-selection-banner .text-muted{color:var(--text-muted);font-weight:400}.mt-4{margin-top:1.5rem}.btn-primary{padding:.5rem 1rem;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:var(--card-bg, white);color:var(--text-muted);border:1px solid var(--input-border);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem}.btn-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.btn-link:hover{color:var(--accent-hover)}.btn-secondary:hover{background:var(--bg-main)}.btn-sm{padding:.25rem .5rem;font-size:.75rem;background:#64748b;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-secondary.btn-sm{background:var(--card-bg);color:var(--text-primary);border:1px solid var(--input-border)}.btn-secondary.btn-sm:hover{background:var(--bg-main)}.btn-primary.btn-sm{background:var(--accent);color:#fff;border:none}.btn-primary.btn-sm:hover{background:var(--accent-hover)}.tab-row{display:flex;flex-wrap:wrap;gap:.5rem}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-overlay);cursor:pointer}.modal-content{background:var(--card-bg);color:var(--text-primary);padding:1.5rem;border-radius:var(--card-radius, 12px);max-width:400px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000040;cursor:default;border:1px solid var(--input-border)}.modal-content .btn-secondary{padding:.5rem 1rem;border:1px solid var(--input-border);background:var(--card-bg);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem}.modal-content .btn-secondary:hover{background:var(--bg-main)}.cell-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.select-school{padding:.5rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;min-width:180px;background:var(--input-bg);color:var(--input-text)}.school-label{font-size:.875rem;padding:.5rem 0}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.875rem;font-weight:500;color:var(--text-muted)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.5rem;border:1px solid var(--input-border);border-radius:6px;font-size:.875rem;background:var(--input-bg);color:var(--input-text)}.form-group input[type=checkbox],.form-group input[type=radio]{width:auto;min-width:1rem;flex-shrink:0;padding:0}.form-row{display:flex;gap:1rem;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:150px}.filters-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end}.filters-row .form-group{margin-bottom:0;flex:0 1 auto}.checkbox-list label{display:flex;align-items:center;gap:.5rem;cursor:pointer;margin-bottom:0;font-weight:inherit;padding:.25rem 0;min-height:1.5rem}.checkbox-list label:first-child{font-weight:600}.assign-to-group .assign-to-options{display:flex;flex-direction:column;gap:.5rem}.assign-to-row{display:flex;align-items:center;gap:.5rem}.assign-to-row input[type=radio]{width:1rem;height:1rem;margin:0;flex-shrink:0;cursor:pointer}.assign-to-row input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;margin:0;flex-shrink:0;cursor:pointer}.assign-to-row label{margin:0;cursor:pointer;font-weight:inherit}.assign-to-row.checkbox-multiline{align-items:flex-start}.assign-to-row.checkbox-multiline input[type=checkbox]{margin-top:.2rem}.assign-to-nested{margin-left:1.5rem;padding-left:.75rem;border-left:2px solid #e2e8f0}.assign-to-nested input[type=text]{width:100%;border:1px solid #e2e8f0;border-radius:6px}.checkbox-list.student-list label:first-child{font-weight:inherit}.checkbox-list input[type=checkbox]{width:1rem;height:1rem;min-width:1rem;margin:0;flex-shrink:0;padding:0;cursor:pointer;vertical-align:middle}.text-muted{color:var(--text-muted);font-size:.875rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a)}.login-card{background:var(--card-bg, white);color:var(--text-primary, #0f172a);padding:2rem;border-radius:var(--card-radius, 12px);width:100%;max-width:400px;box-shadow:var(--card-shadow, 0 25px 50px -12px rgba(0, 0, 0, .25));border:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 60%,transparent)}.login-card .form-group input:focus,.login-card .form-group select:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px;border-color:var(--accent)}.login-card h1{margin:0 0 .25rem;font-size:1.5rem;color:#0f172a}.login-card .form-group label{color:#64748b}.login-subtitle{color:#64748b;margin:0 0 1.5rem;font-size:.875rem}.login-error{background:#fee2e2;color:#b91c1c;padding:.5rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.login-card .form-group{margin-bottom:1rem}.login-card .btn-primary{width:100%;padding:.75rem;margin-top:.5rem;background:var(--accent)}.login-card .btn-primary:hover{background:var(--accent-hover)}.public-page{max-width:640px;margin:0 auto;padding:2rem 1.25rem}.public-page .dashboard-section{margin-bottom:1.25rem}.alert{padding:.75rem;border-radius:6px;margin-bottom:1rem}.alert.success{background:#d1fae5;color:#065f46}.alert.error{background:#fee2e2;color:#b91c1c}.results-card{background:var(--card-bg, white);padding:1.5rem;border-radius:var(--card-radius, 12px);margin-top:1rem;box-shadow:var(--card-shadow, 0 1px 3px rgba(0, 0, 0, .1));border:1px solid color-mix(in srgb,var(--input-border) 85%,transparent)}.results-card h3{margin:0 0 1rem;font-size:1rem}.results-card .success{color:#059669}.results-card .error{color:#dc2626}.file-list,.attachment-list{list-style:none;margin:.5rem 0 0;padding:0}.file-list li,.attachment-list li{display:flex;align-items:center;gap:.5rem;margin-bottom:.35rem}.btn-download{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.875rem;padding:0;text-align:left}.btn-download:hover{text-decoration:underline}.btn-remove-attachment{background:#fee2e2;border:none;color:#b91c1c;cursor:pointer;font-size:1rem;line-height:1;padding:.15rem .4rem;border-radius:4px}.btn-remove-attachment:hover{background:#fecaca}.btn-remove-attachment:disabled{opacity:.6;cursor:not-allowed}.dashboard-notices{margin-top:1.5rem}.notice-download-list{list-style:none;margin:0;padding:0}.notice-download-list>li{margin-bottom:1rem}.notice-download-list>li>strong{display:block;margin-bottom:.25rem}.attachment-sublist{list-style:none;margin:.25rem 0 0;padding:0}.attachment-sublist li{margin-bottom:.25rem}.jobs-schedule-summary{margin-top:.35rem;padding:.35rem .5rem;font-size:.78rem;line-height:1.35;color:var(--text-muted);background:var(--bg-muted);border-radius:6px;border-left:3px solid var(--primary)}.data-table tbody tr.jobs-recent-row--skipped,.data-table tbody tr.jobs-recent-row--skipped:hover{opacity:.72;background:color-mix(in srgb,var(--text-muted) 8%,var(--card-bg, white))}[data-surface-intensity=subtle],[data-sidebar-intensity=subtle]{--pattern-opacity: .04}[data-surface-intensity=normal],[data-sidebar-intensity=normal]{--pattern-opacity: .08}[data-surface-intensity=bold],[data-sidebar-intensity=bold]{--pattern-opacity: .14}.main[data-surface-intensity=subtle]{--pattern-opacity: .06}.main[data-surface-intensity=normal]{--pattern-opacity: .11}.main[data-surface-intensity=bold]{--pattern-opacity: .18}[data-surface-pattern]:not([data-surface-pattern=none]),[data-sidebar-pattern]:not([data-sidebar-pattern=none]){--pattern-ink: color-mix(in srgb, var(--accent, #0ea5e9) 55%, var(--text-primary, #0f172a))}[data-theme=dark] .main[data-surface-pattern]:not([data-surface-pattern=none]),[data-theme=dark] .sidebar[data-sidebar-pattern]:not([data-sidebar-pattern=none]){--pattern-ink: color-mix(in srgb, var(--accent, #0ea5e9) 45%, #f1f5f9)}.main[data-surface-pattern]:not([data-surface-pattern=none]){position:relative;isolation:isolate}.sidebar[data-sidebar-pattern]:not([data-sidebar-pattern=none]){isolation:isolate}.main[data-surface-pattern]:not([data-surface-pattern=none]):before,.sidebar[data-sidebar-pattern]:not([data-sidebar-pattern=none]):before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--pattern-opacity, .08)}.main[data-surface-pattern]:not([data-surface-pattern=none])>*,.sidebar[data-sidebar-pattern]:not([data-sidebar-pattern=none])>*{position:relative;z-index:1}.main[data-surface-pattern=paper]:after,.main[data-surface-pattern=aurora]:after,.main[data-surface-pattern=horizon]:after,.main[data-surface-pattern=bubbles]:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}.main[data-surface-pattern=dots]:before{background-size:20px 20px}.main[data-surface-pattern=mesh]:before{opacity:calc(var(--pattern-opacity, .11) * 2.5)}.main[data-surface-pattern=dots]:before,.sidebar[data-sidebar-pattern=dots]:before{background-image:radial-gradient(circle,var(--pattern-ink) 1px,transparent 1px);background-size:18px 18px}.main[data-surface-pattern=grid]:before,.sidebar[data-sidebar-pattern=grid]:before{background-image:linear-gradient(var(--pattern-ink) 1px,transparent 1px),linear-gradient(90deg,var(--pattern-ink) 1px,transparent 1px);background-size:22px 22px}.main[data-surface-pattern=diagonal]:before,.sidebar[data-sidebar-pattern=diagonal]:before{background-image:repeating-linear-gradient(45deg,transparent,transparent 10px,var(--pattern-ink) 10px,var(--pattern-ink) 11px)}.main[data-surface-pattern=crosshatch]:before,.sidebar[data-sidebar-pattern=crosshatch]:before{background-image:repeating-linear-gradient(45deg,transparent,transparent 8px,var(--pattern-ink) 8px,var(--pattern-ink) 9px),repeating-linear-gradient(-45deg,transparent,transparent 8px,var(--pattern-ink) 8px,var(--pattern-ink) 9px)}.main[data-surface-pattern=mesh]:before,.sidebar[data-sidebar-pattern=mesh]:before{background:radial-gradient(at 20% 30%,color-mix(in srgb,var(--accent) 35%,transparent) 0%,transparent 55%),radial-gradient(at 80% 20%,color-mix(in srgb,var(--accent) 25%,#8b5cf6) 0%,transparent 50%),radial-gradient(at 60% 80%,color-mix(in srgb,var(--accent) 30%,#06b6d4) 0%,transparent 55%);opacity:calc(var(--pattern-opacity, .08) * 2.2)}.main[data-surface-pattern=stars]:before,.sidebar[data-sidebar-pattern=stars]:before{background-image:radial-gradient(circle,var(--pattern-ink) .5px,transparent .5px),radial-gradient(circle,var(--pattern-ink) .5px,transparent .5px);background-size:48px 48px,72px 72px;background-position:0 0,24px 36px}.main[data-surface-pattern=sparkle]:before,.sidebar[data-sidebar-pattern=sparkle]:before{background-image:radial-gradient(circle at 20% 30%,var(--pattern-ink) 1px,transparent 2px),radial-gradient(circle at 70% 60%,var(--pattern-ink) 1.5px,transparent 2.5px),radial-gradient(circle at 40% 80%,var(--pattern-ink) 1px,transparent 2px),radial-gradient(circle at 85% 15%,var(--pattern-ink) 1px,transparent 2px);background-size:100% 100%}.main[data-surface-pattern=paper]:before{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:180px 180px;opacity:calc(var(--pattern-opacity, .11) * 1.4)}.main[data-surface-pattern=paper]:after{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 8%,var(--bg-main)) 0%,transparent 55%);opacity:.9}[data-theme=dark] .main[data-surface-pattern=paper]:after{background:linear-gradient(165deg,color-mix(in srgb,var(--accent) 12%,var(--bg-main)) 0%,transparent 50%)}.sidebar[data-sidebar-pattern=paper]:before{background-image:radial-gradient(circle,var(--pattern-ink) 1px,transparent 1px);background-size:18px 18px}.main[data-surface-pattern=notebook]:before{background-image:linear-gradient(var(--pattern-ink) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pattern-ink) 180%,transparent) 1px,transparent 1px);background-size:100% 28px,100% 28px;background-position:0 20px,48px 0;mask-image:linear-gradient(to bottom,transparent 0,black 8%,black 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 8%,black 100%)}.sidebar[data-sidebar-pattern=notebook]:before{background-image:repeating-linear-gradient(0deg,transparent,transparent 16px,var(--pattern-ink) 16px,var(--pattern-ink) 17px)}.main[data-surface-pattern=blueprint]:before{background-image:radial-gradient(circle,var(--accent) 1.5px,transparent 1.5px),linear-gradient(color-mix(in srgb,var(--accent) 35%,var(--pattern-ink)) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 35%,var(--pattern-ink)) 1px,transparent 1px);background-size:24px 24px,24px 24px,24px 24px;opacity:calc(var(--pattern-opacity, .11) * 1.3)}.sidebar[data-sidebar-pattern=blueprint]:before{background-image:linear-gradient(var(--pattern-ink) 1px,transparent 1px),linear-gradient(90deg,var(--pattern-ink) 1px,transparent 1px);background-size:22px 22px}.main[data-surface-pattern=aurora]:before{background:radial-gradient(ellipse 80% 60% at 15% 20%,color-mix(in srgb,var(--accent) 40%,transparent) 0%,transparent 55%),radial-gradient(ellipse 70% 50% at 85% 15%,color-mix(in srgb,#8b5cf6 35%,transparent) 0%,transparent 50%),radial-gradient(ellipse 65% 55% at 60% 85%,color-mix(in srgb,#06b6d4 30%,transparent) 0%,transparent 55%);opacity:calc(var(--pattern-opacity, .11) * 2.8)}.main[data-surface-pattern=aurora]:after{background:radial-gradient(ellipse 90% 70% at 50% 100%,color-mix(in srgb,var(--bg-main) 85%,var(--accent)) 0%,transparent 70%);opacity:.75}.sidebar[data-sidebar-pattern=aurora]:before{background:radial-gradient(at 20% 30%,color-mix(in srgb,var(--accent) 35%,transparent) 0%,transparent 55%),radial-gradient(at 80% 20%,color-mix(in srgb,var(--accent) 25%,#8b5cf6) 0%,transparent 50%);opacity:calc(var(--pattern-opacity, .08) * 2.2)}.main[data-surface-pattern=horizon]:before{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 22%,transparent) 0%,color-mix(in srgb,var(--accent) 8%,transparent) 18%,transparent 55%);opacity:calc(var(--pattern-opacity, .11) * 2.5);mask-image:linear-gradient(to bottom,black 0%,black 40%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 0%,black 40%,transparent 100%)}.main[data-surface-pattern=horizon]:after{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 6%,var(--bg-main)) 0%,var(--bg-main) 45%);opacity:.85}.sidebar[data-sidebar-pattern=horizon]:before{background-image:repeating-linear-gradient(0deg,transparent,transparent 16px,var(--pattern-ink) 16px,var(--pattern-ink) 17px);mask-image:radial-gradient(ellipse 80% 50% at 50% 0%,black,transparent);-webkit-mask-image:radial-gradient(ellipse 80% 50% at 50% 0%,black,transparent)}.main[data-surface-pattern=bubbles]:before{background-image:radial-gradient(circle at 12% 25%,color-mix(in srgb,var(--accent) 35%,transparent) 0%,transparent 18px),radial-gradient(circle at 78% 18%,color-mix(in srgb,var(--accent) 25%,transparent) 0%,transparent 24px),radial-gradient(circle at 45% 72%,color-mix(in srgb,var(--accent) 30%,transparent) 0%,transparent 32px),radial-gradient(circle at 88% 68%,color-mix(in srgb,var(--accent) 20%,transparent) 0%,transparent 14px),radial-gradient(circle at 25% 85%,color-mix(in srgb,var(--accent) 22%,transparent) 0%,transparent 20px);background-size:100% 100%;opacity:calc(var(--pattern-opacity, .11) * 2.2)}.main[data-surface-pattern=bubbles]:after{background:radial-gradient(ellipse 100% 80% at 50% 100%,color-mix(in srgb,var(--bg-main) 90%,var(--accent)) 0%,transparent 65%);opacity:.6}.sidebar[data-sidebar-pattern=bubbles]:before{background-image:radial-gradient(circle at 20% 30%,var(--pattern-ink) 1px,transparent 2px),radial-gradient(circle at 70% 60%,var(--pattern-ink) 1.5px,transparent 2.5px);background-size:100% 100%}.dashboard-metric-card{background:linear-gradient(135deg,color-mix(in srgb,var(--metric-border, var(--accent)) 6%,var(--card-bg, white)) 0%,var(--card-bg, white) 55%);padding:1.25rem 1.35rem;border-radius:12px;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 85%,transparent);box-shadow:0 1px 2px #0f172a0a,0 4px 12px #0f172a0f;border-left:4px solid var(--metric-border, var(--accent, #0ea5e9));color:var(--text-primary, inherit);will-change:transform}.dashboard-metric-card__subtitle{margin:.35rem 0 .75rem;font-size:.8125rem;line-height:1.4;color:var(--text-muted)}.dashboard-metric-card__header .dashboard-metric-card__subtitle{margin-bottom:0}.dashboard-metric-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem;flex-wrap:wrap;margin-bottom:.85rem}.dashboard-metric-card__header .dashboard-metric-card__title{margin:0;flex:1;min-width:0;line-height:1.3}.dashboard-metric-card__title-row{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.dashboard-metric-card__title{margin:0 0 .85rem;font-size:1rem;font-weight:600;line-height:1.3;color:var(--text-primary, inherit)}.dashboard-metric-card__title-row .dashboard-metric-card__title{margin-bottom:0}.dashboard-metric-card__title:has(+.dashboard-metric-card__subtitle){margin-bottom:0}.dashboard-metric-card__header+.dashboard-metric-card__body{margin-top:0}.dashboard-metric-card__body{min-height:0;min-width:0;overflow-x:hidden}.dashboard-metric-card__footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 70%,transparent);display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem}.dashboard-metric-card__footer>span{flex:1 1 8rem;min-width:0;font-size:.85rem}.dashboard-metric-card__footer strong{flex:0 1 auto;min-width:0;font-variant-numeric:tabular-nums;text-align:right;overflow-wrap:anywhere}@media(hover:hover)and (pointer:fine){.dashboard-metric-card:hover{transform:translateY(-2px);box-shadow:0 2px 4px #0f172a0f,0 12px 28px #0f172a1a}.dashboard-metric-card:focus-within{outline:2px solid color-mix(in srgb,var(--accent) 40%,transparent);outline-offset:2px}}.dashboard-section{width:100%;background:linear-gradient(145deg,color-mix(in srgb,var(--section-border, var(--accent)) 5%,var(--card-bg, white)) 0%,var(--card-bg, white) 50%);padding:1.25rem 1.35rem;border-radius:12px;margin-bottom:1rem;border:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 85%,transparent);box-shadow:0 1px 2px #0f172a0a,0 4px 12px #0f172a0f;border-left:4px solid var(--section-border, var(--accent, #0ea5e9));color:var(--text-primary, inherit)}.dashboard-section__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}.dashboard-section__title-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.dashboard-section__title{margin:0;font-size:1.05rem;font-weight:600}.dashboard-section__subtitle{margin-top:.35rem;font-size:.9rem;line-height:1.45}.dashboard-section__actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.85rem}.dashboard-stat-grid--wide{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.dashboard-stat-card{background:color-mix(in srgb,var(--stat-tone, var(--accent)) 4%,var(--card-bg, white));border:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 80%,transparent);border-radius:10px;padding:1rem 1.15rem;position:relative;transition:box-shadow .2s ease,border-color .2s ease}.dashboard-stat-card__top{display:flex;align-items:flex-start;gap:.65rem}.dashboard-stat-card__icon{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:8px;background:color-mix(in srgb,var(--stat-tone) 14%,transparent);color:var(--stat-tone);flex-shrink:0}.dashboard-stat-card__meta{flex:1;min-width:0}.dashboard-stat-card__label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.dashboard-stat-card__help-dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--stat-tone) 55%,var(--text-muted));flex-shrink:0;opacity:.7;transition:opacity .15s ease,transform .15s ease}.dashboard-stat-card--has-help{cursor:help}.dashboard-stat-card__value{font-size:clamp(.95rem,2.5vw,1.15rem);font-weight:700;font-variant-numeric:tabular-nums;margin-top:.35rem;line-height:1.25;overflow-wrap:anywhere}.dashboard-stat-card__value-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.dashboard-stat-card__sparkline{display:flex;justify-content:flex-end;margin-top:.5rem;padding-top:.25rem;flex-shrink:0}.dashboard-stat-card__hint{display:block;font-size:.72rem;margin-top:.25rem}.dashboard-stat-card__link{display:inline-block;margin-top:.5rem;font-size:.8rem;text-decoration:none}@media(hover:hover)and (pointer:fine){.dashboard-stat-card:hover{box-shadow:0 8px 20px #0f172a14,0 0 0 1px color-mix(in srgb,var(--stat-tone) 22%,transparent);border-color:color-mix(in srgb,var(--stat-tone) 35%,var(--input-border))}.dashboard-stat-card--has-help:hover .dashboard-stat-card__help-dot{opacity:1;transform:scale(1.15)}.dashboard-stat-card:hover .dashboard-stat-card__icon{background:color-mix(in srgb,var(--stat-tone) 20%,transparent)}}.dashboard-attention-chips{display:flex;flex-wrap:wrap;gap:.65rem}.dashboard-attention-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-muted);border:1px solid color-mix(in srgb,var(--input-border) 70%,transparent);border-radius:999px;text-decoration:none;color:inherit;font-weight:500;font-size:.9rem;transition:transform .15s ease,box-shadow .15s ease}@media(hover:hover)and (pointer:fine){.dashboard-attention-chip:hover{transform:scale(1.02);box-shadow:0 4px 12px #0f172a14}}.dashboard-chart-tooltip{position:fixed;z-index:10000;pointer-events:none;padding:.6rem .75rem;border-radius:10px;background:color-mix(in srgb,var(--card-bg, #fff) 92%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 90%,transparent);box-shadow:0 4px 6px #0f172a0f,0 12px 32px #0f172a24;font-size:.8rem;max-width:280px;transform:translateY(-100%)}.dashboard-chart-tooltip--animate{animation:dashboard-tooltip-in .16s ease-out}@keyframes dashboard-tooltip-in{0%{opacity:0;transform:translateY(calc(-100% + 4px))}to{opacity:1;transform:translateY(-100%)}}@media(prefers-reduced-motion:reduce){.dashboard-chart-tooltip--animate{animation:none}}.dashboard-chart-tooltip__title{font-weight:600;color:var(--text-primary);line-height:1.3}.dashboard-chart-tooltip__summary{color:var(--text-muted);margin-top:.2rem;font-size:.75rem;line-height:1.4}.dashboard-chart-tooltip__value{font-variant-numeric:tabular-nums;font-weight:700;margin-top:.15rem}.dashboard-chart-tooltip__detail{color:var(--text-muted);margin-top:.2rem;font-size:.75rem;line-height:1.35}.dashboard-chart-tooltip__description{color:var(--text-muted);margin-top:.45rem;padding-top:.45rem;border-top:1px solid color-mix(in srgb,var(--input-border, #e2e8f0) 60%,transparent);font-size:.72rem;line-height:1.45}.metric-help-trigger{display:inline-flex;align-items:center;justify-content:center;padding:.15rem;margin:0;border:none;border-radius:999px;background:transparent;color:var(--text-muted);cursor:help;flex-shrink:0;transition:color .15s ease,background .15s ease}.metric-help-trigger:hover,.metric-help-trigger:focus-visible{color:var(--accent, #0ea5e9);background:color-mix(in srgb,var(--accent, #0ea5e9) 10%,transparent);outline:none}.dashboard-donut-chart{display:flex;flex-wrap:wrap;gap:1.25rem;align-items:flex-start}.dashboard-donut-chart__legend{list-style:none;margin:0;padding:0;flex:1;min-width:160px}.dashboard-donut-chart__legend li{display:grid;grid-template-columns:12px 1fr auto;gap:.5rem;align-items:center;margin-bottom:.4rem;font-size:.85rem}.dashboard-donut-chart__swatch{width:10px;height:10px;border-radius:2px}.dashboard-donut-chart__legend-value{font-variant-numeric:tabular-nums;font-weight:600}.dashboard-mini-bar-chart--vertical .dashboard-mini-bar-chart__bars{display:flex;align-items:flex-end;gap:.35rem;height:72px}.dashboard-mini-bar-chart__col{flex:1 1 36px;min-width:32px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:default}.dashboard-mini-bar-chart__col-track{width:100%;height:48px;display:flex;align-items:flex-end;justify-content:center}.dashboard-mini-bar-chart__col-fill{width:70%;min-height:3px;border-radius:4px 4px 0 0}.dashboard-mini-bar-chart__col-label{font-size:.65rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.dashboard-mini-bar-chart--horizontal{display:flex;flex-direction:column;gap:.55rem}.dashboard-mini-bar-chart__row{display:grid;grid-template-columns:minmax(100px,1fr) 1fr auto;gap:.65rem;align-items:center;padding:.25rem 0;border-radius:6px;transition:background .12s ease}.dashboard-mini-bar-chart__row--active{background:color-mix(in srgb,var(--accent) 8%,transparent)}.dashboard-mini-bar-chart__row-label{display:flex;flex-direction:column;font-size:.85rem;gap:.1rem}.dashboard-mini-bar-chart__track-h{height:10px;background:var(--input-border, #e2e8f0);border-radius:999px;overflow:hidden}.dashboard-mini-bar-chart__fill-h{height:100%;border-radius:999px;min-width:2px}.dashboard-mini-bar-chart__row-value{font-variant-numeric:tabular-nums;font-weight:600;font-size:.85rem;text-align:right}@keyframes dashboard-sparkline-draw{0%{stroke-dashoffset:120}to{stroke-dashoffset:0}}@keyframes dashboard-skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.dashboard-skeleton-pulse{animation:dashboard-skeleton-pulse 1.4s ease-in-out infinite}.animated-fee-bar-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.35rem .5rem;align-items:center;border-radius:6px;padding:.15rem 0;transition:background .12s ease}.animated-fee-bar-row__label{grid-column:1;grid-row:1;min-width:0;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.animated-fee-bar-row__amount{grid-column:2;grid-row:1;flex-shrink:0;font-size:clamp(.8rem,2.8vw,.9rem);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.animated-fee-bar-row__track{grid-column:1 / -1;grid-row:2;height:10px;background:var(--input-border, #e2e8f0);border-radius:999px;overflow:hidden;position:relative;min-width:0}.animated-fee-bar-row--hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.animated-fee-bar-row__fill{height:100%;border-radius:999px;background:var(--accent, #0ea5e9);transform-origin:left center}.dashboard-session-fee-panel{margin-top:0}.dashboard-clearance-pills{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.dashboard-clearance-pill{flex:1;min-width:140px;padding:.65rem .85rem;border-radius:8px;background:var(--bg-muted);border:1px solid color-mix(in srgb,var(--input-border) 70%,transparent);display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;transition:box-shadow .15s ease,border-color .15s ease,transform .15s ease}@media(hover:hover)and (pointer:fine){.dashboard-clearance-pill--has-help:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14;border-color:color-mix(in srgb,var(--accent) 25%,var(--input-border));cursor:help}}.dashboard-clearance-pill--cleared,.dashboard-clearance-pill--not-cleared{min-width:180px}.dashboard-clearance-pill__breakdown{display:flex;flex-wrap:wrap;gap:.35rem .75rem;font-size:.75rem;color:var(--text-muted, #64748b)}.dashboard-clearance-caption{margin:.5rem 0 0;font-size:.8125rem}.dashboard-clearance-modal-filters{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:.75rem}.dashboard-clearance-modal-filter{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none}.dashboard-session-fee-panel h3{color:var(--text-primary, inherit)}.dashboard-list-plain{list-style:none;padding:0;margin:0}.dashboard-list-plain__item{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.dashboard-section__footer-link{display:inline-block;margin-top:.5rem;font-size:.875rem}.collection-period-compare{margin-top:1rem}.collection-period-compare__presets{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.85rem}.collection-period-compare__preset{border:1px solid color-mix(in srgb,var(--accent, #4f46e5) 25%,var(--input-border, #e2e8f0));background:color-mix(in srgb,var(--accent, #4f46e5) 6%,var(--card-bg, white));color:var(--text-primary, inherit);border-radius:999px;padding:.35rem .75rem;font-size:.8rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.collection-period-compare__preset:hover{background:color-mix(in srgb,var(--accent, #4f46e5) 12%,var(--card-bg, white));border-color:color-mix(in srgb,var(--accent, #4f46e5) 45%,var(--input-border, #e2e8f0))}.collection-period-compare__pickers{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.85rem}.collection-period-compare__picker{border-radius:10px;padding:.85rem 1rem;border:1px solid var(--input-border, #e2e8f0);background:color-mix(in srgb,var(--card-bg, white) 92%,transparent)}.collection-period-compare__picker--a{border-left:3px solid #4f46e5}.collection-period-compare__picker--b{border-left:3px solid #7c3aed}.collection-period-compare__picker-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.5rem}.collection-period-compare__picker-fields{display:flex;flex-wrap:wrap;gap:.75rem}.collection-period-compare__body{margin-top:1rem}.collection-period-compare__summary{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:stretch;margin-bottom:1rem}.collection-period-compare__summary-card{border-radius:12px;padding:1rem 1.1rem;border:1px solid var(--input-border, #e2e8f0);background:linear-gradient(135deg,color-mix(in srgb,var(--card-bg, white) 88%,#eef2ff) 0%,var(--card-bg, white) 100%)}.collection-period-compare__summary-card--a{border-top:3px solid #4f46e5}.collection-period-compare__summary-card--b{border-top:3px solid #7c3aed}.collection-period-compare__summary-label{font-size:.8rem;color:var(--text-muted)}.collection-period-compare__summary-value{font-size:1.35rem;font-weight:700;margin-top:.2rem;line-height:1.2}.collection-period-compare__summary-meta{margin-top:.35rem;font-size:.78rem;color:var(--text-muted)}.collection-period-compare__delta{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:7rem;padding:.65rem .85rem;border-radius:999px;border:1px dashed var(--input-border, #e2e8f0);background:var(--card-bg, white);align-self:center}.collection-period-compare__delta--up{color:#059669;border-color:color-mix(in srgb,#059669 35%,var(--input-border, #e2e8f0));background:color-mix(in srgb,#059669 8%,var(--card-bg, white))}.collection-period-compare__delta--down{color:#dc2626;border-color:color-mix(in srgb,#dc2626 35%,var(--input-border, #e2e8f0));background:color-mix(in srgb,#dc2626 8%,var(--card-bg, white))}.collection-period-compare__delta-value{font-weight:700;font-size:.95rem}.collection-period-compare__delta-detail{font-size:.72rem;color:var(--text-muted)}.collection-period-compare__chart{position:relative;margin-top:.5rem}.collection-period-compare__donuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1rem}@media(max-width:720px){.collection-period-compare__summary{grid-template-columns:1fr}.collection-period-compare__delta{flex-direction:row;border-radius:10px;width:100%}}@media(max-width:480px){.dashboard-metric-card{padding:1rem}.dashboard-metric-card__footer{flex-direction:column;align-items:stretch;gap:.35rem}.dashboard-metric-card__footer strong{text-align:left}}@media(prefers-reduced-motion:reduce){.dashboard-skeleton-pulse{animation:none}.dashboard-mini-sparkline path{animation:none!important}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-header__main h1{margin:0;font-size:1.5rem;color:var(--text-primary)}.page-header__description{margin:.35rem 0 0;font-size:.9rem;line-height:1.45;max-width:42rem}.page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ui-filter-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem 1.25rem;align-items:end}.ui-filter-panel .form-group{margin-bottom:0;min-width:0}.ui-filter-panel .form-group input,.ui-filter-panel .form-group select,.ui-filter-panel .form-group textarea{max-width:100%}.ui-filter-panel__actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.ui-filter-panel__checkbox{display:flex;align-items:flex-end}.ui-filter-panel__checkbox label{display:flex;align-items:center;gap:.35rem;cursor:pointer;margin-bottom:0}@media(max-width:639px){.ui-filter-panel{grid-template-columns:1fr}}.dashboard-section--flush .dashboard-section__body{padding:0}.dashboard-section--flush .data-table-wrap{border:none;border-radius:0 0 10px 10px;box-shadow:none}.dashboard-stat-grid--list-metrics{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:1rem}.dashboard-stat-card--compact{padding:.75rem 1rem}.dashboard-stat-card--compact .dashboard-stat-card__value{font-size:1.15rem;margin-top:.3rem}.dashboard-stat-card--compact .dashboard-stat-card__top{gap:0}.dashboard-stat-card--compact .dashboard-stat-card__icon{display:none}.ui-status-badge{display:inline-block;padding:.2rem .5rem;border-radius:6px;font-size:.75rem;font-weight:600;line-height:1.3}.ui-status-timeline{display:flex;flex-direction:column;gap:.35rem;min-width:11rem}.ui-status-timeline__step{display:flex;gap:.4rem}.ui-status-timeline__dot{width:8px;height:8px;border-radius:50%;background:var(--input-border);margin-top:.35rem;flex-shrink:0}.ui-status-timeline__dot--pending,.ui-status-timeline__dot--warning{background:#f59e0b}.ui-status-timeline__dot--success{background:#22c55e}.ui-status-timeline__dot--danger{background:#ef4444}.ui-status-timeline__dot--neutral{background:var(--input-border)}.ui-status-timeline__content{display:flex;flex-direction:column;gap:.1rem}.ui-status-timeline__label{font-size:.8rem;color:var(--text-primary);font-weight:500}.ui-status-timeline__meta{font-size:.72rem;color:var(--text-muted);line-height:1.35}.ui-status-timeline__detail{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.app-modal-overlay{position:fixed;inset:0;z-index:var(--z-modal-overlay);display:flex;align-items:center;justify-content:center;padding:1rem;background:color-mix(in srgb,#0f172a 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);cursor:pointer;overflow-y:auto}.app-modal-overlay--align-start{align-items:flex-start;padding-top:1.5rem;padding-bottom:1.5rem}.app-modal{position:relative;width:min(var(--app-modal-width, 480px),94vw);max-height:min(92vh,56rem);display:flex;flex-direction:column;background:var(--card-bg, white);color:var(--text-primary);border-radius:var(--card-radius, 12px);border:1px solid color-mix(in srgb,var(--input-border) 85%,transparent);box-shadow:var(--card-shadow, 0 8px 32px rgba(15, 23, 42, .18));cursor:default;overflow:hidden}.app-modal--sm{--app-modal-width: 400px}.app-modal--md{--app-modal-width: 480px}.app-modal--lg{--app-modal-width: 720px}.app-modal--xl{--app-modal-width: 900px}.app-modal--2xl{--app-modal-width: 1100px;max-height:85vh}.app-modal--scrollable{overflow:hidden}.app-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid color-mix(in srgb,var(--input-border) 70%,transparent);border-left:4px solid var(--app-modal-accent, var(--accent, #0ea5e9));flex-shrink:0}.app-modal__header-text{min-width:0;flex:1}.app-modal__title{margin:0;font-size:1.1rem;font-weight:600;line-height:1.3;color:var(--text-primary)}.app-modal__subtitle{margin:.35rem 0 0;font-size:.875rem;color:var(--text-muted);line-height:1.45}.app-modal__close{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;flex-shrink:0;border:none;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.app-modal__close:hover{background:var(--bg-main);color:var(--text-primary)}.app-modal__body{padding:1.15rem 1.25rem;flex:1 1 auto;min-height:0}.app-modal--scrollable .app-modal__body{overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.app-modal__footer{flex-shrink:0;padding:.85rem 1.25rem 1.15rem;border-top:1px solid color-mix(in srgb,var(--input-border) 70%,transparent);background:color-mix(in srgb,var(--bg-main) 40%,var(--card-bg))}.app-modal__loading{padding:2rem 1.25rem;text-align:center;color:var(--text-muted)}.app-modal__fields{margin:0;display:flex;flex-direction:column;gap:.85rem}.app-modal__field{display:grid;grid-template-columns:minmax(100px,130px) 1fr;gap:.5rem 1rem;align-items:start}.app-modal__field dt{margin:0;font-size:.8rem;font-weight:500;color:var(--text-muted)}.app-modal__field dd{margin:0;font-size:.9rem;color:var(--text-primary);word-break:break-word}.app-modal__message{margin:0 0 1rem;font-size:.9rem;color:var(--text-muted);line-height:1.5;white-space:pre-line}.ui-form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem 1.25rem;align-items:end}.ui-form-grid .form-group{margin-bottom:0;min-width:0}.ui-form-grid--full{grid-column:1 / -1}.ui-form-section{margin-bottom:1.25rem}.ui-form-section:last-child{margin-bottom:0}.ui-form-section__title{margin:0 0 .75rem;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.modal-footer{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;align-items:center}.modal-footer--start{justify-content:flex-start}.detail-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.detail-list__item{padding:.4rem .65rem;border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--card-bg));border:1px solid color-mix(in srgb,var(--input-border) 60%,transparent);font-size:.875rem;line-height:1.4}.file-upload-field__hint{display:block;margin-top:.35rem;font-size:.75rem;color:var(--text-muted);word-break:break-all}@media(prefers-reduced-motion:no-preference){.app-modal{animation:app-modal-in .22s ease-out}@keyframes app-modal-in{0%{opacity:0;transform:scale(.98) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}}@media(max-width:520px){.app-modal__field,.ui-form-grid{grid-template-columns:1fr}}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%;max-width:100%}.table-scroll>.data-table{min-width:max(100%,36rem)}.page-toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.page-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.filters-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem;align-items:end}.filters-panel-dates{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.75rem,1fr));gap:1rem;align-items:end}.filters-panel .form-group{margin-bottom:0;min-width:0}.filters-panel-actions{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.5rem;align-items:stretch}.filters-panel-actions .btn-primary,.filters-panel-actions .btn-secondary{width:100%;justify-content:center;text-align:center}@media(max-width:1023px){.filters-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:639px){.page-toolbar{flex-direction:column;align-items:stretch}.page-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.page-toolbar-actions>.btn-primary:only-child,.page-toolbar-actions>.btn-secondary:only-of-type{grid-column:1 / -1}.filters-row{flex-direction:column;align-items:stretch}.filters-row .form-group{min-width:0;width:100%;flex:1 1 100%}.filters-row input,.filters-row select,.filters-row .select-school{width:100%;min-width:0}.filters-panel,.filters-panel-dates,.filters-panel-actions{grid-template-columns:1fr}.form-row .form-group{min-width:0;flex:1 1 100%}.page-header{flex-direction:column;align-items:stretch;gap:.75rem}.page-header h1{font-size:1.25rem}.page-header .select-school,.page-header .school-label{width:100%;max-width:100%}}.theme-selector{position:relative}.theme-trigger{display:flex;align-items:center;gap:.35rem;padding:.35rem .5rem;background:color-mix(in srgb,var(--sidebar-surface, #334155) 70%,transparent);border:1px solid var(--sidebar-border, #334155);border-radius:8px;cursor:pointer;color:var(--sidebar-text, #e2e8f0);font-size:1rem}.theme-trigger:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--sidebar-border))}.theme-trigger-icon{line-height:1}.theme-trigger-accent{width:.55rem;height:.55rem;border-radius:50%;box-shadow:0 0 0 1px #ffffff26}.theme-panel{position:absolute;bottom:100%;right:0;margin-bottom:.35rem;width:min(340px,calc(100vw - 1.5rem));max-height:min(520px,calc(100dvh - 8rem));display:flex;flex-direction:column;background:color-mix(in srgb,var(--sidebar-surface, #1e293b) 94%,#000);border:1px solid var(--sidebar-border, #334155);border-radius:14px;box-shadow:0 12px 40px #0f172a59;z-index:200;overflow:hidden}.sidebar-footer-theme .theme-selector{position:static}.sidebar-footer-card .theme-panel{left:.65rem;right:auto;width:calc(var(--sidebar-width, 280px) - 1.3rem);min-width:calc(var(--sidebar-width, 280px) - 1.3rem);max-width:calc(var(--sidebar-width, 280px) - 1.3rem);bottom:100%;margin-bottom:.35rem;background:var(--sidebar-surface, #0f172a);border-color:var(--sidebar-border, #334155)}.sidebar-footer-card .theme-panel-tabs{background:color-mix(in srgb,var(--sidebar-surface, #0f172a) 92%,#000)}.sidebar-footer-card .theme-variant-card,.sidebar-footer-card .theme-pattern-card{background:color-mix(in srgb,var(--sidebar-hover, #334155) 75%,var(--sidebar-surface, #0f172a))}.sidebar-footer-card .theme-accent-grid{grid-template-columns:repeat(6,1fr)}.sidebar-footer-card .theme-variant-grid,.sidebar-footer-card .theme-pattern-grid{grid-template-columns:repeat(2,1fr)}.sidebar-footer-card .theme-panel-body{background:var(--sidebar-surface, #0f172a)}.theme-pattern-group{margin-bottom:.65rem}.theme-pattern-group:last-of-type{margin-bottom:0}.theme-panel-sublabel{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:color-mix(in srgb,var(--sidebar-muted, #64748b) 90%,var(--sidebar-text));margin-bottom:.35rem}.theme-pattern-hint{font-size:.62rem;color:var(--sidebar-muted, #64748b);margin:-.15rem 0 .4rem;line-height:1.3}.theme-pattern-grid--page .theme-pattern-preview--page{height:2.75rem}.sidebar-footer-card .theme-panel-tab{padding:.5rem .35rem;font-size:.7rem}.sidebar[data-sidebar-collapsed=true] .sidebar-footer-card .theme-panel{left:calc(100% + .5rem);right:auto;width:min(300px,calc(100vw - 5rem));max-width:min(300px,calc(100vw - 5rem));bottom:0}.theme-panel-tabs{display:flex;gap:0;border-bottom:1px solid var(--sidebar-border, #334155);background:color-mix(in srgb,var(--sidebar-surface, #0f172a) 80%,transparent);flex-shrink:0}.theme-panel-tab{flex:1;padding:.55rem .5rem;font-size:.75rem;font-weight:600;color:var(--sidebar-muted, #94a3b8);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer}.theme-panel-tab:hover{color:var(--sidebar-text, #e2e8f0)}.theme-panel-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.theme-panel-body{padding:.75rem;overflow-y:auto}.theme-panel-section{margin-bottom:.75rem}.theme-panel-section:last-child{margin-bottom:0}.theme-panel-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sidebar-muted, #64748b);margin-bottom:.45rem}.theme-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.theme-chip{padding:.35rem .55rem;font-size:.75rem;font-weight:500;border-radius:8px;border:1px solid transparent;background:color-mix(in srgb,var(--sidebar-hover, #334155) 80%,transparent);color:var(--sidebar-text, #e2e8f0);cursor:pointer}.theme-chip:hover{border-color:color-mix(in srgb,var(--accent) 35%,transparent)}.theme-chip.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.theme-accent-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:.4rem}.theme-accent-swatch{width:100%;aspect-ratio:1;border-radius:50%;border:2px solid transparent;background:var(--swatch-color);cursor:pointer;padding:0}.theme-accent-swatch:hover{transform:scale(1.06)}.theme-accent-swatch.active{border-color:#fff;box-shadow:0 0 0 2px var(--accent),0 0 0 3px #0f172a80}.theme-variant-grid,.theme-pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem}.theme-variant-card,.theme-pattern-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.4rem;border-radius:10px;border:1px solid transparent;background:color-mix(in srgb,var(--sidebar-hover, #334155) 50%,transparent);cursor:pointer;color:var(--sidebar-text, #e2e8f0)}.theme-variant-card:hover,.theme-pattern-card:hover{border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.theme-variant-card.active,.theme-pattern-card.active{border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 40%,transparent)}.theme-variant-preview,.theme-pattern-preview{width:100%;height:2.25rem;border-radius:6px;border:1px solid rgba(255,255,255,.08)}.theme-variant-label,.theme-pattern-label{font-size:.65rem;font-weight:600;text-align:center;line-height:1.2}.theme-variant-preview--slate{background:linear-gradient(165deg,#1e293b,#172033)}.theme-variant-preview--midnight{background:linear-gradient(165deg,#0f172a,#020617)}.theme-variant-preview--surface{background:linear-gradient(165deg,#f8fafc,#f1f5f9)}.theme-variant-preview--accent{background:linear-gradient(165deg,#1e293b,#172033);border-right:3px solid var(--accent)}.theme-variant-preview--soft{background:linear-gradient(165deg,#2d3b4f,#243044)}.theme-variant-preview--glass{background:linear-gradient(165deg,#1e293bb3,#0f172ad9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.theme-variant-preview--aurora{background:linear-gradient(135deg,#312e81,#0f172a)}.theme-variant-preview--ocean{background:linear-gradient(165deg,#0c4a6e,#082f49)}.theme-variant-preview--sunset{background:linear-gradient(165deg,#c2410c,#431407)}.theme-pattern-preview--none{background:var(--sidebar-hover, #334155)}.theme-pattern-preview--dots{background-color:#334155;background-image:radial-gradient(circle,rgba(255,255,255,.35) 1px,transparent 1px);background-size:8px 8px}.theme-pattern-preview--grid{background-color:#334155;background-image:linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);background-size:10px 10px}.theme-pattern-preview--diagonal{background:repeating-linear-gradient(45deg,#334155,#334155 6px,#ffffff26 6px 7px)}.theme-pattern-preview--crosshatch{background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.12) 4px,rgba(255,255,255,.12) 5px),repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(255,255,255,.12) 4px,rgba(255,255,255,.12) 5px);background-color:#334155}.theme-pattern-preview--mesh{background:radial-gradient(at 30% 30%,rgba(139,92,246,.45),transparent 50%),radial-gradient(at 70% 60%,rgba(14,165,233,.35),transparent 50%),#334155}.theme-pattern-preview--stars{background-image:radial-gradient(circle,rgba(255,255,255,.5) .5px,transparent .5px);background-size:14px 14px;background-color:#334155}.theme-pattern-preview--sparkle{background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.5) 1px,transparent 2px),radial-gradient(circle at 70% 60%,rgba(255,255,255,.4) 1px,transparent 2px),#334155}.theme-pattern-preview--page.theme-pattern-preview--none{background:#f8fafc}[data-theme=dark] .theme-pattern-preview--page.theme-pattern-preview--none{background:#0f172a}.theme-pattern-preview--page.theme-pattern-preview--dots{background-color:#f8fafc;background-image:radial-gradient(circle,color-mix(in srgb,var(--accent) 40%,#64748b) 1px,transparent 1px);background-size:8px 8px}[data-theme=dark] .theme-pattern-preview--page.theme-pattern-preview--dots{background-color:#0f172a;background-image:radial-gradient(circle,color-mix(in srgb,var(--accent) 45%,#94a3b8) 1px,transparent 1px)}.theme-pattern-preview--page.theme-pattern-preview--grid{background-color:#f8fafc;background-image:linear-gradient(color-mix(in srgb,var(--accent) 30%,#cbd5e1) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 30%,#cbd5e1) 1px,transparent 1px);background-size:10px 10px}[data-theme=dark] .theme-pattern-preview--page.theme-pattern-preview--grid{background-color:#0f172a}.theme-pattern-preview--paper{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E"),linear-gradient(165deg,color-mix(in srgb,var(--accent) 12%,#f8fafc),#f1f5f9);background-size:80px 80px,100% 100%}[data-theme=dark] .theme-pattern-preview--paper{background:url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.35'/%3E%3C/svg%3E"),linear-gradient(165deg,color-mix(in srgb,var(--accent) 15%,#0f172a),#1e293b)}.theme-pattern-preview--notebook{background-color:#f8fafc;background-image:linear-gradient(#cbd5e1 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 50%,#fca5a5) 1px,transparent 1px);background-size:100% 10px,100% 10px;background-position:0 6px,14px 0}[data-theme=dark] .theme-pattern-preview--notebook{background-color:#0f172a;background-image:linear-gradient(#334155 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 40%,#64748b) 1px,transparent 1px)}.theme-pattern-preview--blueprint{background-color:#eff6ff;background-image:radial-gradient(circle,var(--accent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--accent) 35%,#93c5fd) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 35%,#93c5fd) 1px,transparent 1px);background-size:12px 12px,12px 12px,12px 12px}[data-theme=dark] .theme-pattern-preview--blueprint{background-color:#0f172a}.theme-pattern-preview--aurora{background:radial-gradient(ellipse 80% 60% at 20% 30%,color-mix(in srgb,var(--accent) 55%,transparent),transparent 55%),radial-gradient(ellipse 70% 50% at 80% 20%,rgba(139,92,246,.45),transparent 50%),radial-gradient(ellipse 60% 50% at 55% 85%,rgba(6,182,212,.35),transparent 55%),#f8fafc}[data-theme=dark] .theme-pattern-preview--aurora{background:radial-gradient(ellipse 80% 60% at 20% 30%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 55%),radial-gradient(ellipse 70% 50% at 80% 20%,rgba(139,92,246,.4),transparent 50%),radial-gradient(ellipse 60% 50% at 55% 85%,rgba(6,182,212,.3),transparent 55%),#0f172a}.theme-pattern-preview--horizon{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 35%,#e0f2fe),#f8fafc 70%)}[data-theme=dark] .theme-pattern-preview--horizon{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 25%,#1e293b),#0f172a 70%)}.theme-pattern-preview--bubbles{background:radial-gradient(circle at 20% 35%,color-mix(in srgb,var(--accent) 40%,transparent) 0%,transparent 22%),radial-gradient(circle at 75% 25%,color-mix(in srgb,var(--accent) 30%,transparent) 0%,transparent 18%),radial-gradient(circle at 50% 75%,color-mix(in srgb,var(--accent) 35%,transparent) 0%,transparent 26%),#f8fafc}[data-theme=dark] .theme-pattern-preview--bubbles{background:radial-gradient(circle at 20% 35%,color-mix(in srgb,var(--accent) 35%,transparent) 0%,transparent 22%),radial-gradient(circle at 75% 25%,color-mix(in srgb,var(--accent) 25%,transparent) 0%,transparent 18%),radial-gradient(circle at 50% 75%,color-mix(in srgb,var(--accent) 30%,transparent) 0%,transparent 26%),#0f172a}.theme-reset-btn{width:100%;margin-top:.35rem;padding:.45rem .6rem;font-size:.72rem;font-weight:600;color:var(--sidebar-muted, #94a3b8);background:transparent;border:1px dashed var(--sidebar-border, #475569);border-radius:8px;cursor:pointer}.theme-reset-btn:hover{color:var(--sidebar-text, #e2e8f0);border-color:var(--accent)}.global-search-overlay{position:fixed;inset:0;z-index:10000;display:flex;align-items:flex-start;justify-content:center;padding:12vh 1rem 2rem;box-sizing:border-box;background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.global-search-dialog{width:min(42rem,100%);max-height:min(72vh,32rem);display:flex;flex-direction:column;background:var(--card-bg);color:var(--text-primary);border-radius:14px;border:1px solid color-mix(in srgb,var(--input-border) 80%,transparent);box-shadow:0 24px 64px #00000038,0 0 0 1px #ffffff0a inset;overflow:hidden}.global-search-input-wrap{display:flex;align-items:center;gap:.65rem;padding:.85rem 1rem;border-bottom:1px solid var(--input-border)}.global-search-input-icon{flex-shrink:0;opacity:.55}.global-search-input{flex:1;border:none;background:transparent;font-size:1.05rem;outline:none;min-width:0;color:var(--text-primary)}.global-search-kbd{font-size:.68rem;line-height:1;padding:.2rem .45rem;border-radius:6px;border:1px solid var(--input-border);background:color-mix(in srgb,var(--text-primary) 6%,var(--card-bg));opacity:.75;white-space:nowrap}.global-search-body{overflow-y:auto;flex:1;min-height:0;padding:.35rem 0}.global-search-section{padding:.15rem 0 .35rem}.global-search-section-title{position:sticky;top:0;z-index:1;font-size:.68rem;font-weight:650;text-transform:uppercase;letter-spacing:.07em;opacity:.55;padding:.35rem 1rem .3rem;background:color-mix(in srgb,var(--card-bg) 92%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.global-search-row{display:flex;align-items:center;gap:.65rem;width:100%;text-align:left;border:none;background:transparent;cursor:pointer;padding:.55rem 1rem;font:inherit;color:inherit}.global-search-row:hover,.global-search-row--active{background:color-mix(in srgb,var(--accent, #0ea5e9) 12%,var(--card-bg))}.global-search-row-icon{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;border-radius:8px;background:color-mix(in srgb,var(--text-primary) 7%,var(--card-bg));flex-shrink:0;opacity:.85}.global-search-row-body{flex:1;min-width:0}.global-search-row-label{display:block;font-size:.92rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-row-sub{display:block;font-size:.75rem;opacity:.68;margin-top:.12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-row-badge{flex-shrink:0;font-size:.65rem;padding:.15rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--text-primary) 8%,var(--card-bg));opacity:.75}.global-search-row-badges{display:flex;flex-shrink:0;align-items:center;gap:.35rem}.global-search-row-badge--deleted{background:transparent;border:1px solid color-mix(in srgb,var(--danger, #b42318) 55%,var(--input-border));color:var(--danger, #b42318);opacity:1;font-weight:600}.global-search-row-badge--unassigned{background:transparent;border:1px solid color-mix(in srgb,var(--warning, #b54708) 55%,var(--input-border));color:var(--warning, #b54708);opacity:1;font-weight:600}.global-search-mark{background:color-mix(in srgb,var(--accent, #0ea5e9) 35%,transparent);color:inherit;border-radius:2px;padding:0 1px}.global-search-empty{padding:1.25rem 1rem;font-size:.875rem;opacity:.65}.global-search-empty--hint code{font-size:.8em;padding:.1rem .35rem;border-radius:4px;background:color-mix(in srgb,var(--text-primary) 8%,var(--card-bg))}.global-search-error{padding:.75rem 1rem;font-size:.85rem;color:var(--danger, #b42318)}.global-search-footer{display:flex;flex-wrap:wrap;gap:.75rem 1rem;padding:.55rem 1rem;border-top:1px solid var(--input-border);font-size:.72rem;opacity:.65}.global-search-footer kbd{font-size:.68rem;padding:.1rem .35rem;border-radius:4px;border:1px solid var(--input-border);margin-right:.25rem}.layout{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);align-items:start}.sidebar{--sidebar-width: 280px;--sidebar-bg-top: #1e293b;--sidebar-bg-bottom: #172033;--sidebar-border: rgba(51, 65, 85, .85);--sidebar-surface: #0f172a;--sidebar-hover: rgba(51, 65, 85, .65);--sidebar-active-bg: rgba(15, 23, 42, .92);--sidebar-muted: #64748b;--sidebar-text: #e2e8f0;--sidebar-link: #94a3b8;--sidebar-logo-tile-bg: #fff;--sidebar-logo-tile-border: rgba(255, 255, 255, .2);grid-column:1;align-self:start;width:var(--sidebar-width);min-width:var(--sidebar-width);max-width:var(--sidebar-width);min-height:0;position:sticky;top:0;height:100dvh;max-height:100dvh;background:linear-gradient(165deg,var(--sidebar-bg-top) 0%,var(--sidebar-bg-bottom) 100%);color:var(--sidebar-text);display:flex;flex-direction:column;border-right:1px solid var(--sidebar-border);box-shadow:4px 0 24px #0f172a2e;overflow:hidden}@media(min-width:1024px){html.scroll-locked .layout:has(.sidebar[data-sidebar-collapsed=true]){grid-template-columns:68px minmax(0,1fr)}html.scroll-locked .layout:has(.sidebar[data-sidebar-width=wide]:not([data-sidebar-collapsed=true])){grid-template-columns:312px minmax(0,1fr)}html.scroll-locked .layout:has(.sidebar:not([data-sidebar-collapsed=true]):not([data-sidebar-width=wide])){grid-template-columns:280px minmax(0,1fr)}html.scroll-locked .layout .sidebar:not([data-sidebar-mobile=true]){position:fixed;top:0;left:0;height:100dvh;max-height:100dvh;z-index:900}}.sidebar[data-sidebar-width=wide]{--sidebar-width: 312px}.sidebar[data-sidebar-variant=midnight]{--sidebar-bg-top: #0f172a;--sidebar-bg-bottom: #020617;--sidebar-border: rgba(30, 41, 59, .9);--sidebar-surface: #020617;--sidebar-hover: rgba(30, 41, 59, .85);--sidebar-active-bg: rgba(2, 6, 23, .88)}.sidebar[data-sidebar-variant=accent]{border-right:3px solid var(--accent, #0ea5e9);box-shadow:4px 0 28px color-mix(in srgb,var(--accent, #0ea5e9) 12%,transparent)}.sidebar[data-sidebar-variant=soft]{--sidebar-bg-top: #2d3b4f;--sidebar-bg-bottom: #243044;--sidebar-border: rgba(100, 116, 139, .35);--sidebar-surface: rgba(15, 23, 42, .65);--sidebar-hover: rgba(71, 85, 105, .45);--sidebar-active-bg: rgba(30, 41, 59, .75);--sidebar-muted: #94a3b8;--sidebar-link: #cbd5e1}.sidebar[data-sidebar-variant=surface]{--sidebar-bg-top: #f8fafc;--sidebar-bg-bottom: #f1f5f9;--sidebar-border: rgba(226, 232, 240, .95);--sidebar-surface: #ffffff;--sidebar-hover: color-mix(in srgb, var(--accent, #0ea5e9) 8%, #f1f5f9);--sidebar-active-bg: color-mix(in srgb, var(--accent, #0ea5e9) 14%, #ffffff);--sidebar-muted: #64748b;--sidebar-text: #0f172a;--sidebar-link: #475569;--sidebar-logo-tile-bg: #fff;--sidebar-logo-tile-border: rgba(15, 23, 42, .08);box-shadow:4px 0 20px #0f172a0f}.sidebar[data-sidebar-variant=glass]{--sidebar-bg-top: color-mix(in srgb, #1e293b 72%, transparent);--sidebar-bg-bottom: color-mix(in srgb, #0f172a 78%, transparent);--sidebar-border: color-mix(in srgb, var(--accent, #0ea5e9) 22%, rgba(255, 255, 255, .12));--sidebar-surface: color-mix(in srgb, #0f172a 55%, transparent);--sidebar-hover: color-mix(in srgb, var(--accent, #0ea5e9) 12%, rgba(255, 255, 255, .06));--sidebar-active-bg: color-mix(in srgb, var(--accent, #0ea5e9) 18%, rgba(15, 23, 42, .75));background:linear-gradient(165deg,var(--sidebar-bg-top) 0%,var(--sidebar-bg-bottom) 100%);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:4px 0 32px #0f172a38}.sidebar[data-sidebar-variant=aurora]{--sidebar-bg-top: #312e81;--sidebar-bg-bottom: #0f172a;--sidebar-border: rgba(129, 140, 248, .35);--sidebar-surface: rgba(15, 23, 42, .72);--sidebar-hover: rgba(99, 102, 241, .28);--sidebar-active-bg: rgba(49, 46, 129, .55);background:linear-gradient(165deg,#312e81f2,#0f172afa 55%),radial-gradient(at 20% 20%,rgba(217,70,239,.35),transparent 50%),radial-gradient(at 80% 10%,rgba(56,189,248,.3),transparent 45%)}.sidebar[data-sidebar-variant=ocean]{--sidebar-bg-top: #0c4a6e;--sidebar-bg-bottom: #082f49;--sidebar-border: rgba(14, 165, 233, .35);--sidebar-surface: rgba(8, 47, 73, .88);--sidebar-hover: rgba(14, 165, 233, .22);--sidebar-active-bg: rgba(12, 74, 110, .65);background:linear-gradient(165deg,#0c4a6e,#082f49 48%,#0f172a)}.sidebar[data-sidebar-variant=sunset]{--sidebar-bg-top: #9a3412;--sidebar-bg-bottom: #431407;--sidebar-border: rgba(251, 146, 60, .35);--sidebar-surface: rgba(67, 20, 7, .82);--sidebar-hover: rgba(251, 146, 60, .22);--sidebar-active-bg: rgba(154, 52, 18, .55);background:linear-gradient(165deg,#c2410c,#7c2d12 45%,#431407)}.sidebar[data-sidebar-variant=surface] .nav-search-wrap .skeleton-block,.sidebar[data-sidebar-variant=surface] .nav-search-skeleton.skeleton-block,.sidebar[data-sidebar-variant=surface] .nav-skeleton-label,.sidebar[data-sidebar-variant=surface] .nav-skeleton-link{background:linear-gradient(90deg,#e2e8f0 25%,#cbd5e1,#e2e8f0 75%)}.sidebar[data-sidebar-collapsed=true]{--sidebar-width: 68px !important;overflow:visible}.sidebar[data-sidebar-badges=hide] .nav-badge{display:none}.sidebar[data-sidebar-brand=minimal] .sidebar-brand-accent{height:1px;opacity:.85}.sidebar[data-sidebar-brand=hidden] .sidebar-brand-accent{display:none}.sidebar-brand{padding:1.1rem 1.25rem 1rem;border-bottom:1px solid var(--sidebar-border);position:relative;flex-shrink:0}.sidebar-brand-main{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem}.sidebar-brand-identity{display:flex;align-items:center;gap:.65rem;min-width:0;flex:1}.sidebar-brand-logo{flex-shrink:0;width:2.25rem;height:2.25rem;border-radius:10px;overflow:hidden;background:var(--sidebar-logo-tile-bg);padding:3px;border:1px solid var(--sidebar-logo-tile-border);display:flex;align-items:center;justify-content:center;box-sizing:border-box}.sidebar-brand-logo-img,.sidebar-brand-mark-img{width:100%;height:100%;object-fit:contain}.sidebar-brand-logo-fallback{font-size:.7rem;font-weight:800;letter-spacing:-.04em;color:var(--sidebar-text)}.sidebar-brand-text{min-width:0;flex:1}.sidebar-mobile-close{flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;display:none;align-items:center;justify-content:center;border:1px solid var(--sidebar-border);border-radius:8px;background:var(--sidebar-surface);color:var(--sidebar-link);cursor:pointer}.sidebar-mobile-close:hover{color:var(--sidebar-text)}.sidebar-brand-mark{display:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;margin:.35rem auto 0;border-radius:10px;overflow:hidden;box-sizing:border-box;padding:3px;font-size:.7rem;font-weight:800;letter-spacing:-.04em;color:#0f172a;background:var(--sidebar-logo-tile-bg);border:1px solid var(--sidebar-logo-tile-border)}.sidebar-collapse-toggle{flex-shrink:0;width:1.75rem;height:1.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--sidebar-border);border-radius:8px;background:var(--sidebar-surface);color:var(--sidebar-link);cursor:pointer;font-size:.85rem;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease}.sidebar-collapse-toggle:hover{color:var(--sidebar-text);border-color:color-mix(in srgb,var(--accent) 45%,var(--sidebar-border))}.sidebar-collapse-toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px}.sidebar[data-sidebar-collapsed=true] .sidebar-brand{display:flex;flex-direction:column;align-items:center;padding-left:.35rem;padding-right:.35rem}.sidebar[data-sidebar-collapsed=true] .sidebar-brand-main{flex-direction:column;align-items:center;justify-content:center;width:100%}.sidebar[data-sidebar-collapsed=true] .sidebar-brand-identity{display:none}.sidebar[data-sidebar-collapsed=true] .sidebar-brand-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar[data-sidebar-collapsed=true] .sidebar-brand-mark{display:flex;align-self:center;margin-top:.35rem;margin-left:0;margin-right:0}.sidebar[data-sidebar-collapsed=true] .sidebar-collapse-toggle{margin:0}.sidebar-brand-accent{position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent, #0ea5e9),color-mix(in srgb,var(--accent, #0ea5e9) 55%,transparent));border-radius:0 0 2px 2px}.sidebar-brand-kicker{margin:0 0 .2rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-muted)}.sidebar-title{padding:0;margin:0;font-size:1.02rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;color:var(--sidebar-text);border:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-search-wrap{padding:.65rem 1rem;border-bottom:1px solid var(--sidebar-border);flex-shrink:0}.nav-search-field{position:relative;display:flex;align-items:center}.nav-search-icon{position:absolute;left:.75rem;color:var(--sidebar-muted);pointer-events:none}.nav-search{width:100%;padding:.45rem .85rem .45rem 2.15rem;font-size:.8125rem;background:var(--sidebar-surface);border:1px solid var(--sidebar-border);border-radius:999px;color:var(--sidebar-text);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.nav-search-kbd{position:absolute;right:.55rem;font-size:.62rem;font-family:inherit;line-height:1;padding:.15rem .35rem;border-radius:4px;border:1px solid var(--sidebar-border);color:var(--sidebar-muted);background:color-mix(in srgb,var(--sidebar-surface) 80%,transparent);pointer-events:none}.nav-search::placeholder{color:#64748b}.nav-search:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}.nav-search:focus-visible{outline:none}.nav-search-wrap .skeleton-block,.nav-search-skeleton.skeleton-block{background:linear-gradient(90deg,#334155 25%,#475569,#334155 75%);background-size:200% 100%;animation:nav-skeleton-shimmer 1.5s ease-in-out infinite}.nav{flex:1;min-height:0;padding:.75rem 0 1.25rem;overflow-y:auto;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--sidebar-muted) 55%,transparent) transparent}.nav::-webkit-scrollbar{width:6px}.nav::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--sidebar-muted) 50%,transparent);border-radius:999px}@media(prefers-reduced-motion:reduce){.nav{scroll-behavior:auto}.sidebar,.nav-link,.nav-search,.sidebar-collapse-toggle,.btn-sidebar-action{transition:none!important}}.nav-loading{padding:.5rem 1rem}.nav-skeleton{margin-bottom:1rem}.nav-skeleton-label{display:block;height:.75rem;width:40%;background:linear-gradient(90deg,#334155 25%,#475569,#334155 75%);background-size:200% 100%;animation:nav-skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px;margin-bottom:.5rem}.nav-skeleton-link{display:block;height:.65rem;width:85%;background:linear-gradient(90deg,#334155 25%,#475569,#334155 75%);background-size:200% 100%;animation:nav-skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px;margin:.35rem 0}@keyframes nav-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.nav-group{margin-bottom:.5rem}.nav-group+.nav-group{margin-top:.65rem;padding-top:.65rem;border-top:1px solid color-mix(in srgb,var(--sidebar-border) 70%,transparent)}.sidebar[data-sidebar-nav=pills] .nav-link{border-radius:999px;margin-left:.65rem;margin-right:.65rem}.sidebar[data-sidebar-nav=pills] .nav-link.active:before{left:10px}.sidebar[data-sidebar-nav=flush] .nav-link{margin-left:0;margin-right:0;border-radius:0;padding-left:1.1rem;padding-right:1.1rem}.sidebar[data-sidebar-nav=flush] .nav-link.active{background:transparent;border-left:3px solid var(--accent);padding-left:calc(1.1rem - 3px)}.sidebar[data-sidebar-nav=flush] .nav-link.active:before{display:none}.nav-group-label{padding:.35rem 1.25rem .25rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--sidebar-muted)}.nav-group-label-btn{width:calc(100% - 1rem);margin:0 .5rem;padding:.35rem .75rem .25rem;display:flex;align-items:center;justify-content:space-between;gap:.35rem;border:none;border-radius:6px;background:transparent;cursor:pointer;color:inherit;font:inherit;text-transform:inherit;letter-spacing:inherit}.nav-group-label-btn:hover{background:var(--sidebar-hover);color:var(--sidebar-text)}.nav-group-label-text{text-align:left}.nav-group-chevron{display:inline-flex;opacity:.85}.nav-group-items{overflow:hidden;transition:max-height .22s ease,opacity .16s ease}.nav-group--expanded .nav-group-items{max-height:2400px;opacity:1}.nav-group--collapsed .nav-group-items{max-height:0;opacity:0;pointer-events:none}@media(prefers-reduced-motion:reduce){.nav-group-items{transition:none}}.sidebar[data-sidebar-density=compact] .nav-group-label{padding:.28rem 1rem .18rem;font-size:.65rem}.nav-link{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;margin:.1rem .5rem;padding:.5rem .85rem;border-radius:8px;color:var(--sidebar-link);text-decoration:none;font-size:.875rem;transition:background .15s ease,color .15s ease}button.nav-link{width:calc(100% - 1rem);border:none;background:transparent;font:inherit;cursor:pointer;text-align:left;appearance:none;-webkit-appearance:none}.nav-link-icon{flex-shrink:0;width:1.35rem;height:1.35rem;display:inline-flex;align-items:center;justify-content:center;opacity:.95}.nav-icon-svg{color:currentColor}.sidebar[data-sidebar-collapsed=true] .nav-link{justify-content:center;margin:.12rem .35rem;padding:.5rem .35rem}.sidebar[data-sidebar-collapsed=true] .nav-link-icon{width:auto;font-size:1.1rem}.sidebar[data-sidebar-collapsed=true] .nav-link-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar[data-sidebar-collapsed=true] .nav-group-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;padding:0;margin:0}.sidebar[data-sidebar-collapsed=true] .nav-search-wrap{display:none}.sidebar[data-sidebar-collapsed=true] .nav-group+.nav-group{border-top:none;margin-top:.35rem;padding-top:.35rem}.sidebar[data-sidebar-collapsed=true] .nav-badge{position:absolute;top:2px;right:4px;min-width:1rem;height:1rem;font-size:.6rem;padding:0 .15rem}.sidebar[data-sidebar-collapsed=true] .sidebar-footer{padding:.5rem .35rem .65rem}.sidebar[data-sidebar-collapsed=true] .sidebar-footer-profile{flex-direction:column;align-items:center;gap:.35rem;margin-bottom:.4rem}.sidebar[data-sidebar-collapsed=true] .sidebar-footer-identity{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar[data-sidebar-collapsed=true] .sidebar-footer-theme{margin-left:0}.sidebar[data-sidebar-collapsed=true] .sidebar-footer-actions{grid-template-columns:1fr;gap:.35rem;margin-top:.45rem;padding-top:.45rem}.sidebar[data-sidebar-collapsed=true] .btn-sidebar-action{position:relative;padding:.45rem .2rem;min-height:2.35rem}.sidebar[data-sidebar-collapsed=true] .btn-sidebar-action-text,.sidebar[data-sidebar-collapsed=true] .user-name-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sidebar[data-sidebar-collapsed=true] .sidebar-footer-row{justify-content:center;margin-bottom:.35rem}.sidebar[data-sidebar-collapsed=true] .user-badge{flex-direction:column;align-items:center;justify-content:center;gap:.35rem;margin-bottom:.4rem}.sidebar[data-sidebar-density=compact] .nav-link{margin:.06rem .4rem;padding:.35rem .7rem;font-size:.8125rem;border-radius:6px}.nav-link:hover{background:var(--sidebar-hover);color:#f1f5f9}.nav-link:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px}.nav-link.active{background:var(--sidebar-active-bg);color:var(--accent);font-weight:500;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 4px 14px color-mix(in srgb,var(--accent) 12%,transparent)}.nav-link.active:before{content:"";position:absolute;left:4px;top:50%;transform:translateY(-50%);width:3px;height:55%;max-height:1.5rem;background:var(--accent);border-radius:2px;pointer-events:none}.nav-link-label{flex:1;min-width:0;text-align:left}.nav-badge{margin-left:auto;min-width:1.25rem;height:1.25rem;padding:0 .25rem;font-size:.7rem;font-weight:600;background:#ef4444;color:#fff;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.nav-link.active .nav-badge{background:#dc2626}.sidebar-footer{flex-shrink:0;padding:.65rem .65rem .75rem;border-top:1px solid var(--sidebar-border);background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.1) 100%);overflow:visible}.sidebar-footer-card{margin:0;padding:.85rem .65rem;border-radius:14px;border:1px solid color-mix(in srgb,var(--sidebar-border) 85%,var(--accent) 15%);background:color-mix(in srgb,var(--sidebar-surface) 82%,transparent);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 6%,transparent),0 8px 24px #0f172a24;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:visible;box-sizing:border-box;width:100%;position:relative}.sidebar[data-sidebar-collapsed=true] .sidebar-footer{overflow:visible}.sidebar[data-sidebar-variant=surface] .sidebar-footer{background:linear-gradient(180deg,transparent 0%,rgba(15,23,42,.03) 100%)}.sidebar[data-sidebar-variant=surface] .sidebar-footer-card{background:color-mix(in srgb,#ffffff 92%,var(--accent) 8%);box-shadow:inset 0 1px #ffffffd9,0 6px 18px #0f172a0f}.sidebar-footer-profile{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;min-width:0;margin-bottom:.55rem}.sidebar-footer-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.sidebar-footer-role{font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--sidebar-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-footer-theme{flex-shrink:0;margin-left:auto;position:static;display:flex;align-items:center;gap:.35rem;max-width:100%}.sidebar-footer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.65rem;padding-top:.65rem;border-top:1px solid color-mix(in srgb,var(--sidebar-border) 75%,transparent);width:100%;box-sizing:border-box}.btn-sidebar-action{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;width:100%;min-width:0;padding:.45rem .35rem;font-size:.72rem;font-weight:500;line-height:1.2;border-radius:8px;cursor:pointer;text-decoration:none;border:1px solid var(--sidebar-border);background:transparent;color:var(--sidebar-text);font-family:inherit;transition:background .15s ease,border-color .15s ease,color .15s ease;box-sizing:border-box}.btn-sidebar-action-icon{display:inline-flex;flex-shrink:0}.btn-sidebar-action-icon svg{display:block}.btn-sidebar-action-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-sidebar-action--ghost:hover{background:var(--sidebar-hover);border-color:color-mix(in srgb,var(--accent) 35%,var(--sidebar-border));color:var(--sidebar-text)}.btn-sidebar-action--ghost:focus-visible,.btn-sidebar-action--logout:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:2px}.btn-sidebar-action--logout{grid-column:1 / -1;border-color:color-mix(in srgb,#ef4444 32%,var(--sidebar-border));color:color-mix(in srgb,#fca5a5 75%,var(--sidebar-text))}.btn-sidebar-action--logout:hover{background:color-mix(in srgb,#ef4444 12%,transparent);border-color:color-mix(in srgb,#ef4444 48%,var(--sidebar-border));color:#fecaca}.sidebar[data-sidebar-variant=surface] .btn-sidebar-action--logout{color:#b91c1c}.sidebar[data-sidebar-variant=surface] .btn-sidebar-action--logout:hover{background:color-mix(in srgb,#ef4444 8%,#ffffff);color:#991b1b}.sidebar-footer-row{display:flex;align-items:center;margin-bottom:.5rem}.user-badge{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.user-avatar-btn{width:2rem;height:2rem;border-radius:50%;border:1px solid var(--sidebar-logo-tile-border);padding:2px;cursor:pointer;flex-shrink:0;overflow:hidden;background:var(--sidebar-logo-tile-bg);box-sizing:border-box}.user-photo{width:100%;height:100%;object-fit:contain;border-radius:50%;background:var(--sidebar-logo-tile-bg);display:block}.user-initial{width:100%;height:100%;border-radius:50%;background:color-mix(in srgb,var(--accent, #0ea5e9) 55%,#475569);color:#f8fafc;font-size:.75rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.user-avatar-btn:has(.user-initial){background:transparent;border-color:transparent;padding:0}.user-name-btn{font-size:.8125rem;font-weight:600;color:var(--sidebar-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:left;background:none;border:none;padding:0;cursor:pointer;font-family:inherit}.user-name-btn:hover{color:color-mix(in srgb,var(--sidebar-text) 92%,var(--accent) 8%);text-decoration:underline;text-underline-offset:2px}.user-name-btn:focus-visible{outline:2px solid var(--accent, #38bdf8);outline-offset:2px;border-radius:2px}.profile-dialog-head{display:flex;flex-direction:column;align-items:center;gap:.75rem;margin-bottom:.25rem}.profile-dialog-avatar{width:4.5rem;height:4.5rem;border-radius:50%;overflow:hidden;background:var(--sidebar-logo-tile-bg, var(--bg-main));border:1px solid var(--input-border);display:flex;align-items:center;justify-content:center;padding:4px;box-sizing:border-box}.profile-dialog-photo{width:100%;height:100%;object-fit:contain;border-radius:50%;background:var(--sidebar-logo-tile-bg, var(--bg-main))}.profile-dialog-initial{font-size:1.25rem;font-weight:600;color:var(--text-muted)}.profile-dialog-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.profile-details-grid{display:grid;grid-template-columns:6.75rem minmax(0,1fr);column-gap:1rem;row-gap:.6rem;margin:1rem 0 0}.profile-details-grid dt{font-size:.8125rem;color:var(--text-muted)}.profile-details-grid dd{margin:0;font-size:.9rem;color:var(--text-primary)}@media(max-width:420px){.profile-details-grid{grid-template-columns:1fr;row-gap:.15rem}.profile-details-grid dt{margin-top:.35rem}.profile-details-grid dt:first-child{margin-top:0}}.profile-sessions{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--input-border)}.profile-sessions-header{margin-bottom:.75rem}.profile-sessions-title{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.profile-sessions-hint{margin:.25rem 0 0;font-size:.8rem;color:var(--text-muted)}.profile-sessions-muted{margin:0;font-size:.875rem;color:var(--text-muted)}.profile-sessions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.65rem}.profile-session-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--input-border);border-radius:10px;background:var(--bg-main);font-size:.875rem}.profile-session-card--current{border-color:color-mix(in srgb,var(--accent, #38bdf8) 45%,var(--input-border));box-shadow:inset 3px 0 0 var(--accent, #38bdf8)}.profile-session-card-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:8px;background:color-mix(in srgb,var(--accent, #38bdf8) 12%,transparent);color:var(--accent, #38bdf8);flex-shrink:0}.profile-session-card-body{min-width:0}.profile-session-card-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem;margin-bottom:.2rem}.profile-session-device{font-weight:600;color:var(--text-primary)}.profile-session-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.profile-session-tag{font-size:.65rem;font-weight:500;line-height:1.2;padding:.15rem .4rem;border-radius:4px;background:color-mix(in srgb,var(--text-muted) 8%,transparent);color:var(--text-muted);border:1px solid color-mix(in srgb,var(--input-border) 80%,transparent)}.profile-session-badge{font-size:.65rem;font-weight:600;text-transform:none;letter-spacing:0;padding:.15rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--accent, #38bdf8) 18%,transparent);color:var(--accent, #38bdf8)}.profile-session-meta{margin:.3rem 0 0;font-size:.75rem;color:var(--text-muted);line-height:1.4}.profile-session-meta time{font:inherit;color:inherit}.profile-session-revoke{flex-shrink:0;align-self:center;color:var(--text-primary);border-color:var(--input-border);background:transparent}.profile-session-revoke--danger{color:var(--danger, #dc2626);border-color:color-mix(in srgb,var(--danger, #dc2626) 35%,var(--input-border));background:transparent}.profile-session-revoke--danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger, #dc2626) 10%,transparent)}@media(max-width:420px){.profile-session-card{grid-template-columns:auto 1fr}.profile-session-revoke{grid-column:1 / -1;justify-self:stretch;width:100%}}.school-badge{font-size:.75rem;color:var(--text-muted);margin:0 0 .5rem}.workspace-switcher{display:flex;flex-direction:column;gap:.25rem;margin:0 0 .75rem;padding:.5rem 0;border-top:1px solid var(--sidebar-border)}.workspace-switcher--compact{gap:.15rem;margin-bottom:.5rem;padding:.35rem 0}.workspace-switcher-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#94a3b8}.workspace-switcher-value{font-size:.8rem;color:#e2e8f0;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-switcher-select{width:100%;padding:.35rem .5rem;font-size:.8rem;background:var(--sidebar-surface);border:1px solid var(--sidebar-border);border-radius:4px;color:var(--sidebar-text);outline:none}.workspace-switcher-select:focus{border-color:var(--accent, #3b82f6)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.workspace-switcher--rail{align-items:center;justify-content:center;margin:0 auto .5rem;padding:.35rem 0 0;border-top:1px solid var(--sidebar-border);max-width:100%}.workspace-switcher--rail-multi{position:relative;width:2.5rem;height:2.5rem;margin-bottom:.5rem;padding-top:.35rem;border-top:1px solid var(--sidebar-border)}.workspace-switcher-rail-mark{display:inline-flex;align-items:center;justify-content:center;min-width:2.35rem;height:2.35rem;padding:0 .3rem;border-radius:8px;font-size:.72rem;font-weight:700;letter-spacing:.03em;color:var(--sidebar-text);background:var(--sidebar-surface);border:1px solid var(--sidebar-border)}.workspace-switcher-rail-mark--muted{font-weight:600;opacity:.75}.workspace-switcher-rail-face{position:absolute;left:0;top:.35rem;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1.05rem;pointer-events:none;border-radius:8px;background:var(--sidebar-surface);border:1px solid var(--sidebar-border)}.workspace-switcher-select--rail-overlay{position:absolute;left:0;top:.35rem;width:2.5rem;height:2.5rem;margin:0;padding:0;opacity:0;cursor:pointer;font-size:1rem;border:none;background:transparent}.workspace-switcher-select--rail-overlay:focus{opacity:.08}.main{grid-column:2;align-self:start;min-width:0;min-height:0;width:100%;max-width:100%;padding:1.5rem;background:var(--bg-main);overflow-x:clip}@media(max-width:1023px){.main{padding:1rem 1.25rem}}@media(max-width:639px){.main{padding:.75rem .65rem}}.main-skeleton{max-width:800px}.main-skeleton-title{height:1.75rem;width:40%;margin-bottom:1.25rem}.main-skeleton-line{height:.875rem;width:100%;margin-bottom:.75rem}.skeleton-block{background:linear-gradient(90deg,var(--skeleton-from, #e2e8f0) 25%,var(--skeleton-to, #cbd5e1) 50%,var(--skeleton-from, #e2e8f0) 75%);background-size:200% 100%;animation:nav-skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px}[data-theme=dark] .skeleton-block,.dark .skeleton-block{--skeleton-from: #334155;--skeleton-to: #475569}.sidebar-footer-skeleton .skeleton-block{background:linear-gradient(90deg,#334155 25%,#475569,#334155 75%);background-size:200% 100%;animation:nav-skeleton-shimmer 1.5s ease-in-out infinite}.sidebar-rail-tooltip{position:fixed;transform:translateY(-50%);z-index:10000;padding:.35rem .65rem;font-size:.75rem;font-weight:500;line-height:1.25;white-space:nowrap;color:var(--sidebar-text, #e2e8f0);background:var(--sidebar-surface, #0f172a);border:1px solid var(--sidebar-border, rgba(51, 65, 85, .85));border-radius:6px;box-shadow:0 8px 20px #0f172a47;pointer-events:none}@media(max-width:1023px){.layout{grid-template-columns:minmax(0,1fr)}.sidebar[data-sidebar-mobile=true]{position:fixed;top:0;left:0;bottom:0;z-index:1200;width:min(312px,88vw)!important;max-width:100%;transform:translate(-105%);transition:transform .22s ease;box-shadow:8px 0 32px #0f172a47}.sidebar[data-sidebar-mobile-open=true]{transform:translate(0)}.sidebar[data-sidebar-mobile=true] .sidebar-mobile-close{display:inline-flex}.sidebar-backdrop{position:fixed;inset:0;z-index:1190;margin:0;padding:0;border:none;background:#0f172a73;cursor:pointer;animation:sidebar-backdrop-in .2s ease}.layout-mobile-topbar{display:flex;align-items:center;gap:.75rem;margin:-.5rem -.5rem 1rem;padding:.5rem .65rem;border-radius:10px;background:var(--card-bg, white);border:1px solid var(--input-border);box-shadow:0 1px 3px #0f172a0f}.layout-mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--input-border);border-radius:8px;background:var(--bg-main);color:var(--text-primary);cursor:pointer}.layout-mobile-menu-btn:hover{border-color:color-mix(in srgb,var(--accent) 40%,var(--input-border));color:var(--accent)}.layout-mobile-topbar-title{font-size:.9375rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.main{min-width:0;width:100%}}@keyframes sidebar-backdrop-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.sidebar[data-sidebar-mobile=true]{transition:none}.sidebar-backdrop{animation:none}}
