@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";:root{--primary:#272f63;--primary-700:#343f80;--primary-50:#eef0fb;--accent:#2f8f93;--accent-indigo:#5b6cc4;--accent-plum:#8a6db0;--accent-amber:#c98a3a;--ink:#1c2243;--text:#3a4060;--text-muted:#7c819c;--bg:#eeede8;--surface:#fff;--surface-2:#f1f2f7;--border:#e7e8f0;--border-strong:#dcdee8;--success:#1f9d6b;--warning:#c98a3a;--danger:#d8543f;--text-heading:var(--ink);--text-body:var(--text);--text-secondary:var(--text-muted);--surface-card:var(--surface);--surface-app:var(--bg);--surface-inset:var(--surface-2);--border-default:var(--border);--border-control:var(--border-strong);--link:var(--accent);--focus-ring:color-mix(in oklab, var(--accent) 16%, transparent);--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--fs-display:40px;--fs-h1:27px;--fs-h2:20px;--fs-h3:16.5px;--fs-body-lg:15.5px;--fs-body:15px;--fs-sm:14px;--fs-sm-2:13px;--fs-xs:12.5px;--fs-2xs:11px;--lh-tight:1.1;--lh-snug:1.25;--lh-body:1.45;--ls-tight:-.02em;--ls-eyebrow:.08em;--ls-tag:.05em;font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--text-body);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--gap:20px;--pad:22px;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-pill:30px;--r-full:999px;--r:var(--r-lg);--shadow-sm:0 1px 2px #1c22430d, 0 1px 1px #1c22430a;--shadow-md:0 4px 16px #1c224312, 0 1px 3px #1c22430d;--shadow-fab:0 8px 24px #272f6352;--border-width:1px;--border-width-control:1.5px;--t-fast:.12s;--t-base:.14s;--t-slow:.18s;--sidebar-w:258px;--topbar-h:66px;--content-max:1320px}[data-density=compact]{--gap:14px;--pad:16px;--r-lg:12px}.app{height:100dvh;padding-top:var(--safe-top);display:flex;overflow:hidden}.app.app--demo{padding-top:calc(32px + var(--safe-top))}.sidebar{display:none}@media (width>=1024px){.sidebar{display:flex}}.main{background:var(--bg-app);-webkit-overflow-scrolling:touch;width:100%;min-width:0;max-width:100vw;height:100dvh;padding-bottom:calc(56px + var(--safe-bottom));flex-direction:column;flex:1;display:flex;overflow:hidden auto}@media (width>=1024px){.action-center-overlay{padding-top:env(safe-area-inset-top,0px);left:258px!important}.main{margin-left:258px;padding-bottom:0}.bottom-nav{display:none!important}.ac-fab{display:none}}.topbar{height:var(--header-height);background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);padding:0 var(--space-4);flex-shrink:0;align-items:center;gap:12px;display:flex}@media (width<=374px){.topbar{padding:0 var(--space-2);gap:8px}}@media (width<=359px){.topbar{padding:0 var(--space-2);gap:6px}}@media (width>=768px){.topbar{height:var(--header-height-desktop);padding:0 var(--space-6)}}@supports (padding-top:env(safe-area-inset-top)){.sidebar-toggle-btn{width:36px;height:36px;color:var(--color-text,#3a4060);cursor:pointer;transition:background var(--t-base,.14s) ease, color var(--t-base,.14s) ease;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}@media (width<=359px){.sidebar-toggle-btn{width:32px;height:32px}}.sidebar-toggle-btn:hover{background:var(--surface-2,#f1f2f7);color:var(--ink,#1c2243)}.sidebar-toggle-btn:active{transform:scale(.95)}.sidebar-toggle-btn svg{display:block}.topbar:first-child{padding-left:max(var(--space-4), env(safe-area-inset-left,0px));padding-right:max(var(--space-4), env(safe-area-inset-right,0px))}}.topbar .page-title{font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);font-size:16px}@media (width>=768px){.topbar .page-title{font-size:18px}}.content{min-height:0;padding:var(--space-5) var(--space-4) var(--space-10);overscroll-behavior-x:none;flex:1;width:100%;max-width:100%;overflow:hidden visible}@media (width<=374px){.content{padding:var(--space-4) var(--space-3) var(--space-5)}}@media (width<=359px){.content{padding:var(--space-3) var(--space-2) var(--space-4)}}@media (width>=375px) and (width<=389px){.content{padding:var(--space-4) var(--space-4) var(--space-6)}}@media (width>=390px) and (width<=767px){.content{padding:var(--space-5) var(--space-4) var(--space-7)}}@media (width>=768px){.content{padding:var(--space-7) var(--space-7) var(--space-12);max-width:var(--content-max-width);width:100%;padding-bottom:var(--space-12);margin-left:auto;margin-right:auto}}@media (width>=1024px){.content{padding:var(--space-8) var(--space-7) var(--space-14)}}@media (width>=1280px){.content{max-width:var(--content-max-width-desktop);padding:var(--space-10) var(--space-8) var(--space-16)}}@media (width>=1536px){.content{max-width:var(--content-max-width-ultra);padding:var(--space-12) var(--space-10) var(--space-16)}}.content p,.content li{max-width:var(--content-max-line)}.bottom-nav{bottom:0;left:0;right:0;top:unset;height:calc(var(--bottom-nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);z-index:100;background:var(--bg-tabbar);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--color-divider);justify-content:space-around;align-items:stretch;display:flex;position:fixed}.bottom-nav:before{content:"";height:env(safe-area-inset-bottom,0px);background:var(--bg-tabbar);z-index:-1;position:absolute;bottom:0;left:0;right:0}.bottom-nav-inner{width:100%;height:var(--bottom-nav-height);flex-shrink:0;justify-content:space-around;align-items:center;display:flex}.bottom-nav-item{height:100%;min-height:var(--tap-min);cursor:pointer;color:var(--nav-item-text);transition:color var(--transition-fast), background var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;max-width:25vw;padding:4px 2px;font-size:clamp(9px,.5625rem + .15vw,10px);font-weight:400;line-height:1.2;display:flex;position:relative}@media (width<=374px){.bottom-nav-item{min-height:40px;padding:4px 1px}.bottom-nav-item .nav-icon,.bottom-nav-item .nav-icon svg{width:calc(var(--icon-sm) - 2px);height:calc(var(--icon-sm) - 2px)}.bottom-nav-item .nav-label{font-size:clamp(7px,.4375rem + .2vw,9px)}}.bottom-nav-item .nav-icon{width:var(--icon-sm);height:var(--icon-sm);opacity:.6;transition:opacity var(--transition-fast);color:currentColor;justify-content:center;align-items:center;display:flex}.bottom-nav-item .nav-icon svg{width:var(--icon-sm);height:var(--icon-sm);stroke-width:var(--icon-stroke)}.bottom-nav-item .nav-label{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:clamp(9px,.5625rem + .15vw,10px);font-weight:400;line-height:1.2;overflow:hidden}.bottom-nav-item.active{color:var(--nav-item-active-icon);background:var(--accent-tint)}.bottom-nav-item.active:before{content:"";background:var(--color-primary);border-radius:3px;width:16px;height:3px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.bottom-nav-item.active .nav-label{color:var(--nav-item-active-text);font-weight:600}.bottom-nav-item.active .nav-icon{opacity:1;color:var(--nav-item-active-icon)}.bottom-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.bottom-nav-item:active{background:var(--bg-active);transform:scale(.96)}.more-overlay{z-index:200;padding-top:var(--safe-top);background:#0006;flex-direction:column;justify-content:flex-end;animation:.2s more-fade-in;display:flex;position:fixed;inset:0}.more-sheet{background:var(--bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom,0px));max-height:min(70vh, calc(100vh - var(--safe-top) - var(--safe-bottom) - 40px));animation:.25s more-slide-up;overflow-y:auto}@media (width<=359px){.more-sheet{max-height:min(85vh, calc(100vh - var(--safe-top) - var(--safe-bottom) - 16px));padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0px))}}@media (height<=400px){.more-sheet{max-height:min(85vh, calc(100vh - var(--safe-top) - var(--safe-bottom) - 20px));padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom,0px))}}.more-sheet-header{padding-bottom:var(--space-3);margin-bottom:var(--space-2);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.more-sheet-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary)}.more-sheet-close{cursor:pointer;color:var(--text-tertiary);padding:var(--space-1);border-radius:var(--radius-sm);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.more-sheet-close:hover{background:var(--bg-elevated);color:var(--text-primary)}.more-sheet-items{flex-direction:column;gap:2px;display:flex}.more-sheet-item{padding:var(--space-3) var(--space-2);cursor:pointer;color:var(--text-primary);border-radius:var(--radius-sm);transition:background var(--transition-fast);text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;min-height:48px;font-size:15px;font-weight:400;line-height:1.6;display:flex}.more-sheet-item:hover,.more-sheet-item:focus-visible{background:var(--bg-elevated)}.more-sheet-item-icon{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.more-sheet-item-icon svg{width:var(--icon-sm);height:var(--icon-sm)}.more-sheet-item-label{flex:1}@keyframes more-fade-in{0%{opacity:0}to{opacity:1}}@keyframes more-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.chat-screen{background:var(--bg-surface);flex-direction:column;max-width:100%;height:auto;min-height:100%;display:flex;overflow:visible}.chat-screen-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.chat-screen-broadcast-btn{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;border:none;border-radius:8px;flex-shrink:0;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600}.chat-screen-body{flex:1;min-height:0;display:flex;overflow:hidden}.chat-conversation-list{flex-shrink:0;width:100%;min-width:0;overflow:hidden}.chat-conversation-list.hidden{display:none}.chat-empty-state{height:100%;color:var(--text-tertiary);justify-content:center;align-items:center;font-size:14px;display:flex}@media (width>=768px){.chat-screen{border:1px solid var(--border-subtle);border-radius:12px;max-width:900px;margin:0 auto}.chat-conversation-list{width:300px}}@media (width>=1024px){.chat-screen{max-width:var(--content-max-width)}.chat-conversation-list{width:320px}}@media (width>=1280px){.chat-screen{max-width:var(--content-max-width-desktop)}}@media (width<=767px){.chat-screen{border:none;border-radius:0;max-width:none}.chat-conversation-list{border-right:none!important;width:100%!important}}.chat-slide-panel{z-index:90;background:var(--bg-surface);width:100%;height:100%;padding-top:var(--safe-top);padding-bottom:calc(var(--safe-bottom) + 56px);flex-direction:column;transition:transform .3s ease-in-out;display:flex;position:fixed;inset:0;overflow:hidden;transform:translate(100%)}.chat-slide-panel.open{transform:translate(0)}.chat-slide-header{flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;display:flex}.chat-slide-back{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px;font-family:inherit}.chat-slide-back:hover{background:var(--bg-elevated)}.chat-slide-title{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.3}@media (width>=768px){.chat-slide-panel{border-left:1px solid var(--border-subtle);flex:1;height:auto;transition:none;position:static;transform:none}}.profile-page{padding:var(--space-10) var(--space-4) var(--space-8);align-items:center;gap:var(--space-6);flex-direction:column;display:flex}.profile-card{align-items:center;gap:var(--space-3);flex-direction:column;display:flex}.profile-avatar{background:var(--color-primary);width:72px;height:72px;color:var(--color-text-inverse);letter-spacing:.5px;box-shadow:0 0 0 3px var(--color-primary-soft);border-radius:50%;justify-content:center;align-items:center;font-size:26px;font-weight:600;display:flex}.profile-name{color:var(--text-primary);letter-spacing:-.02em;text-align:center;font-size:20px;font-weight:600}.profile-role{color:var(--text-tertiary);text-align:center;background:var(--color-surface);border-radius:100px;padding:4px 14px;font-size:13px;font-weight:500}.profile-logout-btn{border-radius:var(--radius-xs);border:1px solid var(--color-divider);background:var(--color-surface-raised);width:100%;max-width:280px;color:var(--color-error);cursor:pointer;transition:all var(--transition-fast);-webkit-tap-highlight-color:transparent;margin-top:var(--space-4);justify-content:center;align-items:center;gap:8px;padding:12px 0;font-family:inherit;font-size:14px;font-weight:500;display:flex}.profile-logout-btn:hover{background:var(--color-error-soft);border-color:var(--color-error)}.profile-logout-btn:active{transform:scale(.97)}.timetable-list{flex-direction:column;gap:6px;display:flex}.timetable-period{border:1px solid var(--border-subtle);cursor:pointer;background:var(--bg-surface);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;transition:all .15s;display:flex}.timetable-period:hover{background:var(--bg-hover)}.timetable-period.active{background:var(--accent-tint);border-color:var(--accent)}.timetable-period.period-free{background:var(--bg-elevated);border-style:dashed}.timetable-period.period-free:hover{background:var(--bg-hover);border-color:var(--accent)}.timetable-period.substitution{border-left:3px solid var(--warning)}.period-left{flex-direction:column;flex-shrink:0;align-items:flex-start;gap:2px;min-width:80px;display:flex}.period-time{color:var(--text-tertiary);font-size:11px;font-weight:500}.period-badge{border-radius:4px;padding:1px 6px;font-size:9px;font-weight:600}.sub-badge{color:var(--warning);background:#f59e0b26}.period-center{flex:1}.period-class{color:var(--text-primary);font-size:13px;font-weight:500;display:block}.period-room{color:var(--text-tertiary);margin-top:1px;font-size:11px;display:block}.period-sub{color:var(--warning);margin-top:2px;font-size:10px;font-style:italic;display:block}.period-right{flex-shrink:0;align-items:center;display:flex}.period-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:2s ease-out infinite pulse}.timetable-break{background:var(--bg-elevated);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.timetable-time{color:var(--text-tertiary);flex-shrink:0;min-width:80px;font-size:11px}.timetable-break-label{color:var(--text-tertiary);font-size:13px;font-style:italic}.attendance-card{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:8px 0;display:flex}.attendance-class{align-items:center;gap:8px;display:flex}.attendance-class-name{color:var(--text-primary);font-size:24px;font-weight:600}.attendance-subject{color:var(--text-secondary);font-size:13px}.attendance-period{color:var(--text-tertiary);font-size:11px}.attendance-btn{width:100%;margin-top:8px;padding:12px 0;font-size:14px}.attendance-done{color:var(--success);flex-direction:column;align-items:center;gap:4px;padding:8px 0;font-size:13px;display:flex}.attendance-check{font-size:24px}.attendance-student-list{flex-direction:column;gap:6px;max-height:60vh;display:flex;overflow:auto}.attendance-student{border:1px solid var(--border-subtle);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.attendance-student.present{background:var(--bg-surface)}.attendance-student.absent{background:#c230300a;border-color:#c2303026}.attendance-student-name{color:var(--text-primary);flex:1;font-size:13px;font-weight:500}.attendance-student-roll{color:var(--text-tertiary);font-size:11px}.attendance-status-badge{border-radius:12px;padding:2px 10px;font-size:11px;font-weight:600}.attendance-status-badge.present{color:var(--success);background:#15803d14}.attendance-status-badge.absent{color:var(--error);background:#c2303014}.actions-list{flex-direction:column;gap:8px;display:flex}.action-item{border:1px solid var(--border-subtle);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.action-item:hover{background:var(--bg-hover)}.action-item-icon{flex-shrink:0;font-size:18px}.action-item-text{color:var(--text-primary);font-size:13px;line-height:1.4}.classes-scroll{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.class-card{border:1px solid var(--border-subtle);cursor:pointer;background:var(--bg-surface);border-radius:10px;flex-direction:column;flex:0 0 120px;gap:8px;padding:14px 12px;transition:all .15s;display:flex}.class-card:hover{background:var(--bg-hover);border-color:var(--accent)}.class-card-top{flex-direction:column;gap:2px;display:flex}.class-card-name{color:var(--text-primary);font-size:18px;font-weight:600}.class-card-subject{color:var(--text-secondary);font-size:12px}.class-card-bottom{color:var(--text-tertiary);font-size:11px}.leave-body{flex-direction:column;gap:12px;display:flex}.leave-balances{gap:12px;display:flex}.leave-balance{border:1px solid var(--border-subtle);border-radius:8px;flex-direction:column;flex:1;align-items:center;padding:12px;display:flex}.leave-label{color:var(--text-tertiary);margin-bottom:4px;font-size:11px}.leave-value{color:var(--text-primary);font-size:20px;font-weight:600}.leave-last{justify-content:space-between;align-items:center;font-size:12px;display:flex}.leave-last-label{color:var(--text-tertiary)}.leave-apply-btn{width:100%;padding:11px 0;font-size:13px}.leave-form{flex-direction:column;gap:14px;display:flex}.leave-form-field{flex-direction:column;gap:4px;display:flex}.leave-form-field label{color:var(--text-secondary);font-size:12px;font-weight:500}.events-list{flex-direction:column;gap:6px;display:flex}.event-item{border:1px solid var(--border-subtle);border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.event-item-day{color:var(--accent);flex-shrink:0;min-width:45px;font-size:11px;font-weight:600}.event-item-info{flex:1}.event-item-name{color:var(--text-primary);font-size:13px;font-weight:500;display:block}.event-item-class{color:var(--text-tertiary);margin-top:2px;font-size:11px;display:block}.event-item-type{flex-shrink:0;font-size:16px}.principal-grid{grid-template-columns:1fr;gap:14px;max-width:100%;margin:0 auto;display:grid}@media (width>=768px){.principal-grid{grid-template-columns:1fr 1fr}.principal-widget-full{grid-column:1/-1}}@media (width>=1024px){.principal-grid{max-width:var(--content-max-width);grid-template-columns:1fr 1fr 1fr}.principal-widget-full{grid-column:1/-1}}@media (width>=1280px){.principal-grid{max-width:var(--content-max-width-desktop)}}.principal-widget{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);box-shadow:var(--card-shadow);padding:clamp(14px,.875rem + .5vw,20px)}.widget-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.widget-header h3{color:var(--text-primary);font-size:15px;font-weight:600}.widget-meta{color:var(--text-secondary);font-size:11px;font-weight:500}.widget-trend{color:var(--success);font-size:11px;font-weight:500}.widget-body{align-items:center;gap:20px;display:flex}.widget-ring{cursor:pointer;flex-shrink:0}.widget-info{flex:1}.widget-text{color:var(--text-secondary);margin-bottom:4px;font-size:13px}.widget-alert{color:var(--error);cursor:pointer;font-size:12px;text-decoration:underline}.widget-link{color:var(--text-secondary);cursor:pointer;margin-top:6px;font-size:12px;text-decoration:underline}.widget-empty{color:var(--text-secondary);text-align:center;padding:16px 0;font-size:13px}.parent-dashboard{flex-direction:column;gap:12px;max-width:100%;padding-bottom:4px;display:flex}@media (width>=1024px){.parent-dashboard{max-width:var(--content-max-width)}}@media (width>=1280px){.parent-dashboard{max-width:var(--content-max-width-desktop)}}.pd-header{justify-content:space-between;align-items:flex-start;padding:4px 0 8px;display:flex}.pd-header-left{flex-direction:column;gap:2px;display:flex}.pd-greeting{color:var(--text-primary);letter-spacing:-.02em;font-size:18px;font-weight:600;line-height:1.3}.pd-school-name{color:var(--text-tertiary);font-size:12px;line-height:1.4}.pd-notif-btn{background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s;display:flex;position:relative}.pd-notif-badge{background:var(--error);color:#fff;text-align:center;pointer-events:none;border:2px solid var(--bg-app);border-radius:10px;min-width:16px;padding:1px 5px;font-size:9px;font-weight:700;line-height:1.4;position:absolute;top:-2px;right:-2px}.pd-notif-btn:hover{background:var(--bg-hover)}.pd-child-switcher{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:2px 0 4px;display:flex;overflow-x:auto}.pd-child-switcher::-webkit-scrollbar{display:none}.pd-child-chip{border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:8px;padding:7px 12px;font-family:inherit;font-size:12px;transition:all .12s;display:flex}.pd-child-chip.active{border-color:var(--accent);background:var(--accent-tint)}.pd-child-chip-info{align-items:baseline;gap:6px;display:flex}.pd-child-chip-name{color:var(--text-primary);font-weight:500}.pd-child-chip.active .pd-child-chip-name{color:var(--accent);font-weight:600}.pd-child-chip-class{color:var(--text-tertiary);font-size:10px}.pd-child-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.pd-child-dot.present{background:var(--success)}.pd-child-dot.absent{background:var(--error)}.pd-status-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;flex-direction:column;gap:10px;padding:14px;display:flex}.pd-status-top{align-items:center;gap:12px;display:flex}.pd-status-avatar{background:var(--accent-tint);width:40px;height:40px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.pd-status-info{flex-direction:column;gap:2px;display:flex}.pd-status-name{color:var(--text-primary);font-size:15px;font-weight:600}.pd-status-class{color:var(--text-tertiary);font-size:12px}.pd-status-badge-row{display:flex}.pd-status-badge{border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;line-height:1.3;display:inline-flex}.pd-status-badge.present{color:var(--success);background:#15803d14}.pd-status-badge.absent{color:var(--error);background:#c2303014}.pd-status-badge.pending{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.pd-status-icon{font-size:16px;font-weight:700}.pd-status-meta{color:var(--text-tertiary);align-items:center;gap:4px;padding:0 2px;font-size:11px;display:flex}.pd-meta-sep{color:var(--border-subtle)}.pd-status-actions{gap:8px;padding-top:2px;display:flex}.pd-btn-outline{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;text-align:center;border-radius:8px;flex:1;padding:8px 0;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.pd-btn-outline:hover{background:var(--bg-hover);border-color:var(--border-input)}.pd-quick-actions{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}@media (width<=389px){.pd-quick-actions{grid-template-columns:repeat(2,1fr);gap:6px}}@media (width<=359px){.pd-quick-action{gap:3px;padding:6px 2px}.pd-quick-icon{width:26px;height:26px}.pd-quick-label{font-size:9px}}.pd-quick-action{border:1px solid var(--border-subtle);background:var(--bg-surface);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;font-family:inherit;transition:all .12s;display:flex}.pd-quick-action:hover{background:var(--bg-hover)}.pd-quick-action:active{transform:scale(.97)}.pd-quick-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.pd-quick-label{color:var(--text-secondary);font-size:10px;font-weight:500}.pd-quick-badge{color:var(--accent);background:var(--accent-tint);white-space:nowrap;border-radius:6px;padding:1px 6px;font-size:9px;font-weight:600;line-height:1.4}.pd-quick-badge.urgent{color:var(--color-accent-hover);background:var(--badge-warning-bg)}.pd-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;padding:14px}.pd-section-header{margin-bottom:10px}.pd-section-title{color:var(--text-primary);font-size:14px;font-weight:600}.pd-feed{flex-direction:column;gap:6px;display:flex}.pd-feed-item{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:8px;align-items:flex-start;gap:10px;padding:8px 10px;display:flex}.pd-feed-icon{flex-shrink:0;font-size:15px;line-height:1.4}.pd-feed-content{flex-direction:column;gap:2px;min-width:0;display:flex}.pd-feed-text{color:var(--text-primary);font-size:12px;line-height:1.4}.pd-feed-time{color:var(--text-tertiary);font-size:10px}.pd-empty-state{color:var(--text-tertiary);text-align:center;padding:14px 0;font-size:13px;line-height:1.5}.pd-pending-list{flex-direction:column;gap:6px;display:flex}.pd-pending-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-left:3px solid var(--accent);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.pd-pending-card.urgent{border-left-color:var(--error);background:#c2303008}.pd-pending-info{flex:1;min-width:0}.pd-pending-title{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:600;display:block}.pd-pending-text{color:var(--text-secondary);font-size:12px;line-height:1.4}.pd-pending-cta{background:var(--btn-primary-bg);color:var(--btn-primary-text);cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;padding:6px 14px;font-family:inherit;font-size:11px;font-weight:600;transition:background .15s}.pd-pending-cta:hover{background:var(--btn-primary-bg-hover)}.pd-learning-grid{gap:var(--space-2);grid-template-columns:repeat(3,1fr);margin-bottom:10px;display:grid}@media (width<=374px){.pd-learning-grid{grid-template-columns:repeat(2,1fr)}}.pd-learning-stat{background:var(--bg-elevated);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;display:flex}.pd-learning-value{letter-spacing:-.02em;font-size:16px;font-weight:700}.pd-learning-label{color:var(--text-tertiary);font-size:10px;font-weight:500}.pd-btn-ghost{border:1px solid var(--border-subtle);width:100%;color:var(--accent);cursor:pointer;text-align:center;background:0 0;border-radius:8px;padding:8px 0;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.pd-btn-ghost:hover{background:var(--accent-tint)}.admin-dashboard{gap:var(--space-4);flex-direction:column;max-width:100%;padding-bottom:0;display:flex}.ad-pull-indicator{text-align:center;font-size:var(--text-sm);color:var(--text-tertiary);background:var(--bg-subtle);border-radius:var(--radius-md);margin-bottom:var(--space-2);padding:10px 0}.ad-spin{animation:.8s linear infinite spin;display:inline-block}.ad-header{padding:var(--space-1) 0;justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.ad-header-left{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ad-header-right{align-items:center;gap:var(--space-3);flex-shrink:0;display:flex}.ad-date{font-size:var(--text-sm);color:var(--text-tertiary);line-height:var(--leading-tight)}.ad-refresh-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ad-refresh-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-input)}.ad-section-cta{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);width:100%;font-family:inherit;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--accent);cursor:pointer;transition:all var(--transition-fast);text-align:center;background:0 0;padding:10px 0}.ad-section-cta:hover{background:var(--accent-tint);border-color:var(--accent)}.ad-urgent-list{border-radius:var(--radius-md);background:var(--bg-subtle);border:1px solid var(--border-subtle);flex-direction:column;display:flex;overflow:hidden}.ad-urgent-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);transition:background var(--transition-fast);cursor:pointer;display:flex}.ad-urgent-row:hover{background:var(--bg-hover)}.ad-urgent-row-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.ad-urgent-row-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ad-urgent-row-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-primary);line-height:var(--leading-tight)}.ad-urgent-row-sub{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-tight)}.ad-approval-item-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--transition-fast);display:flex}.ad-approval-item-row:hover{background:var(--bg-hover)}.ad-approval-actions-panel{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--bg-subtle);display:flex}.ad-fee-bar-info{justify-content:space-between;align-items:center;display:flex}.ad-fee-bar-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-secondary)}.ad-fee-bar-value{font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary)}.ad-fee-bar-details{gap:var(--space-3);font-size:var(--text-xs);color:var(--text-tertiary);display:flex}.ad-fee-bar-details span{align-items:center;gap:4px;display:flex}.ad-fee-bar-details span:before{content:"";border-radius:50%;flex-shrink:0;width:5px;height:5px}.ad-fee-bar-details span:first-child:before{background:var(--success)}.ad-fee-bar-details span:nth-child(2):before{background:var(--color-accent-hover)}.ad-fee-bar-details span:nth-child(3):before{background:var(--text-tertiary)}.ad-health-bar{background:var(--bg-elevated);border-radius:4px;width:100%;height:6px;overflow:hidden}.ad-health-bar-fill{border-radius:4px;height:100%;transition:width .3s}.fee-legend{flex-direction:column;gap:4px;font-size:12px;display:flex}.fee-legend span{align-items:center;gap:6px;display:flex}.dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.dot.success{background:var(--success)}.dot.warning{background:var(--warning)}.dot.muted{background:var(--text-tertiary)}.approval-badges{gap:8px;margin-bottom:12px;display:flex}.approval-badge{text-align:center;cursor:pointer;border:1px solid var(--border-subtle);border-radius:8px;flex:1;padding:12px 8px;transition:background .15s}.approval-badge:hover{background:var(--bg-hover)}.badge-count{font-size:20px;font-weight:600}.badge-label{color:var(--text-secondary);margin-top:2px;font-size:10px;font-weight:500}.btn-ghost{background:var(--accent-tint);width:100%;min-height:36px;color:var(--accent);cursor:pointer;border:none;border-radius:8px;padding:8px 0;font-size:12px;font-weight:500}.btn-ghost:hover{background:var(--accent-light)}.alerts-list{flex-direction:column;gap:8px;display:flex}.alert-item{border-left:3px solid;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.alert-item.high{border-color:var(--error);background:#c230300a}.alert-item.medium{border-color:var(--warning);background:#f59e0b0a}.alert-icon{flex-shrink:0;font-size:16px}.alert-text{color:var(--text-primary);flex:1;font-size:12px;line-height:1.4}.alert-dismiss{white-space:nowrap;border:1px solid var(--border-subtle);background:var(--bg-surface);min-height:30px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:11px;font-weight:500}.actions-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}@media (width<=374px){.actions-grid{grid-template-columns:1fr}}@media (width<=359px){.action-icon{font-size:20px}.action-label{font-size:11px}}.action-btn{text-align:center;cursor:pointer;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);padding:clamp(12px,.75rem + .5vw,16px) clamp(6px,.375rem + .5vw,8px);transition:all .15s}.action-btn:hover:not(.disabled){background:var(--bg-hover);border-color:var(--accent)}.action-btn.disabled{opacity:.5;cursor:not-allowed}.action-icon{margin-bottom:4px;font-size:24px;display:block}.action-label{color:var(--text-primary);font-size:12px;font-weight:500}@media (width<=359px){.action-icon{font-size:20px}.action-label{font-size:11px}}.snapshot-header{cursor:pointer;width:100%;color:var(--text-primary);background:0 0;border:none;justify-content:space-between;align-items:center;padding:0;font-size:14px;font-weight:500;display:flex}.chevron{transition:transform .2s;display:inline-block}.chevron[data-open=true]{transform:rotate(180deg)}.snapshot-body{padding-top:16px}.snapshot-row{justify-content:space-between;align-items:center;padding:10px 0;font-size:13px;display:flex}.snapshot-row span{color:var(--text-secondary)}.snapshot-row strong{color:var(--text-primary);font-weight:600}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.snapshot-classes{padding:8px 0 12px}.snapshot-classes p{color:var(--text-tertiary);margin-bottom:4px;font-size:11px}.class-tags{flex-wrap:wrap;gap:4px 12px;display:flex}.class-tag{color:var(--text-secondary);font-size:11px}.snapshot-events{padding-top:12px}.snapshot-events p{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-primary);margin-bottom:6px}.event-row{gap:var(--space-2);align-items:center;padding:7px 0;display:flex}.event-day{font-size:var(--text-xs);color:var(--accent);font-weight:var(--weight-semibold);min-width:56px;line-height:var(--leading-tight)}.event-name{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-tight)}.modal-overlay{z-index:100;padding:var(--space-4);padding-top:calc(var(--safe-top) + var(--space-4));padding-bottom:calc(var(--safe-bottom) + var(--space-4));-webkit-backdrop-filter:blur(2px);background:#00000040;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{width:100%;max-width:420px;padding:var(--space-5);max-height:min(80vh, calc(100vh - var(--safe-top) - var(--safe-bottom) - 32px));-webkit-overflow-scrolling:touch;background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);overflow-y:auto}@media (width<=399px){.modal-content{padding:var(--space-4)}}@media (width<=359px){.modal-content{padding:var(--space-3);max-height:min(85vh, calc(100vh - var(--safe-top) - var(--safe-bottom) - 16px));padding:var(--space-3);max-width:calc(100vw - var(--space-3));margin:0 auto}.modal-overlay{padding:var(--space-2)}}.modal-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.modal-close{cursor:pointer;color:var(--text-tertiary);border-radius:var(--radius-sm);background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.modal-close:hover{background:var(--bg-hover)}.modal-row{padding:var(--space-3) 0;justify-content:space-between;align-items:center;display:flex}.modal-name{font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-primary)}.modal-meta{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:2px}.modal-amount{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--error)}.modal-empty{font-size:var(--text-base);color:var(--text-tertiary);text-align:center;padding:var(--space-5)}.modal-hint{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-3)}.approval-item{border:1px solid var(--border-subtle);border-radius:10px;margin-bottom:8px;padding:12px 14px;transition:background .15s}.approval-item.active{background:var(--accent-tint)}.approval-info{margin-bottom:8px}.approval-type{background:var(--bg-elevated);color:var(--text-tertiary);border-radius:10px;margin-bottom:4px;padding:1px 8px;font-size:11px;font-weight:500;display:inline-block}.approval-actions{gap:8px;display:flex}.btn-approve{width:32px;height:32px;color:var(--success);cursor:pointer;background:#15803d1a;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.btn-approve:hover{background:#15803d33}.btn-reject{width:32px;height:32px;color:var(--error);cursor:pointer;background:#c2303014;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.btn-reject:hover{background:#c2303026}.btn-sm{font-size:var(--text-sm);background:var(--btn-primary-bg);min-height:32px;color:var(--btn-primary-text);border-radius:var(--radius-sm);cursor:pointer;font-weight:var(--weight-medium);font-family:inherit;line-height:var(--leading-tight);transition:background var(--transition-fast);border:none;padding:8px 18px}.btn-sm:hover{background:var(--btn-primary-bg-hover)}.template-btn{text-align:left;width:100%;color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--border-subtle);cursor:pointer;border-radius:8px;margin-bottom:6px;padding:10px 14px;font-size:12px;line-height:1.4;display:block}.template-btn:hover{background:var(--bg-hover)}.toast{bottom:calc(72px + var(--safe-bottom));color:#fff;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);z-index:200;box-shadow:var(--shadow-lg);text-align:center;white-space:normal;word-wrap:break-word;max-width:calc(100vw - 32px);padding:12px 28px;animation:.2s fade-in-up;position:fixed;left:50%;transform:translate(-50%)}@media (width>=1024px){.toast{bottom:24px}}.toast.success{background:var(--success)}.toast.error,.toast.reject{background:var(--error)}.overlay{z-index:40;background:#0000002e;display:none;position:fixed;inset:0}.card,.card-dashboard{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);box-shadow:var(--card-shadow);transition:box-shadow var(--transition-base), border-color var(--transition-fast)}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);font-weight:var(--weight-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), transform 80ms;min-height:var(--h-button);letter-spacing:var(--tracking-normal);box-shadow:none;touch-action:manipulation;border:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;display:inline-flex}.btn-primary:hover{background:var(--btn-primary-bg-hover)}.btn-primary:active{transform:scale(.97)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn-primary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-text);font-weight:var(--weight-medium);border-radius:var(--radius-sm);border:1px solid var(--btn-secondary-border);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);min-height:var(--h-button);box-shadow:none;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:14px;display:inline-flex}.btn-secondary:hover{background:var(--btn-secondary-bg-hover);border-color:var(--color-border-strong)}.btn-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.accent-amber{color:var(--color-accent-text);background:var(--badge-warning-bg)}.accent-amber.active{color:var(--color-accent-text);background:var(--color-accent-soft)}.input-field{border-radius:var(--radius-xs);border:1px solid var(--input-border);width:100%;font-size:14px;font-weight:var(--weight-regular);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:var(--input-bg);color:var(--color-text);min-height:var(--h-input);outline:none;padding:8px 12px}.input-field::placeholder{color:var(--input-placeholder);opacity:.65}.input-field:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.input-field:focus-visible{outline:none}.input-field:hover{border-color:var(--input-border-hover)}select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%237D7D7D' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}textarea.input-field{resize:vertical;min-height:100px;line-height:var(--leading-normal)}.badge{font-size:12px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);border-radius:100px;align-items:center;gap:4px;padding:3px 10px;line-height:1.3;display:inline-flex}.badge-blue{background:var(--badge-info-bg);color:var(--badge-info-text)}.badge-green{background:var(--badge-success-bg);color:var(--badge-success-text)}.badge-red{background:var(--badge-error-bg);color:var(--badge-error-text)}.badge-gray{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.badge-warning,.badge-amber{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.badge-teal{background:var(--badge-info-bg);color:var(--badge-info-text)}.chat-bubble-school{background:var(--bg-elevated);color:var(--text-primary);line-height:var(--leading-normal);border-radius:14px 14px 14px 4px;padding:12px 16px}.chat-bubble-parent{background:var(--color-primary);color:var(--color-text-inverse);line-height:var(--leading-normal);border-radius:14px 14px 4px;padding:12px 16px}.pulse-dot{background:var(--accent);opacity:.8;border-radius:50%;width:8px;height:8px;animation:2.5s ease-out infinite pulse}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.3}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-container{background:var(--bg-app);min-height:100dvh;padding:var(--space-4);overscroll-behavior:none;justify-content:center;align-items:center;display:flex;overflow-y:auto}.login-card{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);padding:clamp(16px,1.25rem + 1vw,32px)}.login-back-link{color:var(--text-secondary);border-radius:6px;align-items:center;gap:6px;width:fit-content;margin-bottom:8px;padding:6px 10px;font-size:13px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.login-back-link:hover{background:var(--hover);color:var(--text-primary)}.login-back-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.login-back-link:active{background:var(--bg-app);color:var(--color-primary)}.login-logo{margin:0 auto;margin-bottom:var(--space-5);justify-content:center;align-items:center;display:flex}.login-title{text-align:center;font-weight:var(--weight-semibold);font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-4);letter-spacing:var(--tracking-tight)}.login-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-5);font-size:14px;line-height:1.5}.login-form{flex-direction:column;gap:12px;display:flex}.login-form .btn-primary{justify-content:center;align-items:center;gap:6px;display:inline-flex}.login-error{color:#b91c1c;text-align:center;margin:0;font-size:13px}.login-success{color:var(--color-primary);text-align:center;margin:0;font-size:13px}.login-confirm{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:8px 0;display:flex}.login-confirm-icon{background:var(--accent-tint);width:44px;height:44px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;display:flex}.login-confirm-title{color:var(--text-primary);margin:0;font-size:16px;font-weight:600}.login-confirm-text{color:var(--text-secondary);max-width:280px;margin:0;font-size:13px;line-height:1.5}.login-confirm-hint{color:var(--text-tertiary);margin:0;font-size:12px}.login-otp-label{color:var(--text-secondary);text-align:center;margin:0 0 4px;font-size:13px;line-height:1.5}.login-footer-link{text-align:center;color:var(--text-tertiary);margin-top:var(--space-5);margin-bottom:0;font-size:13px}.login-link-btn{font-family:inherit;font-size:inherit;color:var(--color-primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline}.login-link-btn:hover{color:var(--color-primary-hover)}.mode-toggle{margin-bottom:var(--space-4);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:3px;display:flex}.mode-toggle button{color:var(--text-tertiary);font-weight:var(--weight-medium);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);touch-action:manipulation;background:0 0;border:none;border-radius:5px;flex:1;min-height:40px;padding:9px 0}.mode-toggle button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.mode-toggle button:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.responsive-grid{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}@media (width>=480px){.responsive-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (width>=768px){.responsive-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}.students-page{gap:var(--space-4);flex-direction:column;display:flex}.students-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.students-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin:0}.students-add-btn{border-radius:var(--radius-sm);background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;border:none;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;display:inline-flex}.students-add-btn:hover{background:var(--btn-primary-bg-hover)}.students-add-btn:active{transform:scale(.97)}.students-controls{gap:var(--space-3);flex-direction:column;display:flex}.students-search{background:var(--bg-surface);border:1px solid var(--border-input);border-radius:var(--radius-sm);padding:0 var(--space-3);align-items:center;gap:var(--space-2);min-height:40px;display:flex}.students-search:focus-within{border-color:var(--border-focus)}.students-search-icon{color:var(--text-tertiary);flex-shrink:0}.students-search-input{font-size:var(--text-sm);color:var(--text-primary);padding:var(--space-2) 0;background:0 0;border:none;outline:none;flex:1;min-height:38px;font-family:inherit}.students-search-input::placeholder{color:var(--text-tertiary)}.students-search-clear{cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.students-search-clear:hover{color:var(--text-primary)}.students-class-filters{flex-wrap:wrap;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}@media (width<=374px){.students-class-chip{min-height:24px;padding:3px 8px;font-size:12px}}@media (width<=359px){.students-class-chip{min-height:22px;padding:2px 6px;font-size:11px}.students-class-filters{gap:4px}}.students-class-chip{font-size:13px;font-weight:var(--weight-medium);border:1px solid var(--color-divider);color:var(--text-tertiary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;border-radius:100px;min-height:28px;padding:4px 12px;font-family:inherit}.students-class-chip:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--text-primary)}.students-class-chip.active{border-color:var(--color-primary);color:var(--color-primary);font-weight:var(--weight-medium);background:#eef2fc}.students-table-wrapper{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;box-shadow:var(--card-shadow);overflow-x:auto}@media (width<=600px){.students-table-wrapper{box-shadow:none;background:0 0;border:none;overflow:visible}.students-table{border-collapse:separate;border-spacing:0 8px}.students-table thead{display:none}.students-tr{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--card-shadow);padding:var(--space-3);flex-wrap:wrap;margin-bottom:8px;display:flex;position:relative}.students-td{padding:4px var(--space-2);white-space:normal;align-items:center;gap:4px;width:100%;font-size:13px;display:flex;border-bottom:none!important}.students-td--num{flex:none;width:auto;min-width:24px}.students-td--actions{right:var(--space-2);top:var(--space-2);width:auto;padding:0;position:absolute}.students-td--actions:before,.students-td--actions:after{display:none}}.students-table{border-collapse:collapse;width:100%;font-size:14px}.students-th{padding:12px var(--space-4);font-size:12px;font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-bottom:1px solid var(--color-divider);white-space:nowrap;background:var(--color-surface-raised);z-index:1;text-align:left;position:sticky;top:0}.students-th--num{text-align:center;width:48px}.students-th--student{min-width:180px}.students-th--actions{text-align:center;width:64px;min-width:64px}.students-td--actions{padding-right:var(--space-3);text-align:center}.students-th--actions,.students-td--actions{z-index:2;background:inherit;position:sticky;right:0}.students-th--actions{z-index:3}.students-td--actions:after{content:"";background:var(--card-bg);z-index:-1;position:absolute;inset:0}.students-tr:hover .students-td--actions:after{background:#1f293706}.students-td--actions:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0000,#0000000f);width:6px;position:absolute;top:0;bottom:0;left:-6px}.students-tr{transition:background var(--transition-fast)}.students-tr:hover{background:#1f293708}.students-td{padding:12px var(--space-4);color:var(--text-primary);white-space:nowrap;vertical-align:middle;border-bottom:1px solid var(--color-divider)}.students-td:last-child,.students-tr:last-child .students-td{border-bottom:none}.students-td--num{text-align:center}.students-td--contact{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-size:13px}.students-cell-name{align-items:center;gap:var(--space-3);display:flex}.students-avatar{background:var(--accent-tint);width:34px;height:34px;color:var(--accent);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.students-name{font-weight:var(--weight-medium);color:var(--text-primary);font-size:var(--text-sm)}.students-badge{font-size:12px;font-weight:var(--weight-medium);white-space:nowrap;border-radius:100px;align-items:center;padding:2px 10px;display:inline-flex}.students-rank{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;font-size:var(--text-sm)}.students-action-wrapper{display:inline-flex;position:relative}.students-action-btn{cursor:pointer;color:var(--text-tertiary);transition:all var(--transition-fast);background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:8px;font-family:inherit;display:inline-flex}.students-action-btn:hover{background:var(--color-surface-raised);color:var(--text-primary);border-color:var(--color-border-strong)}.students-action-btn:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);outline:none}.students-action-btn:active{background:var(--bg-hover);transform:scale(.95)}.students-action-overlay{z-index:10;position:fixed;inset:0}.students-action-dropdown{z-index:11;background:var(--bg-surface);border:1px solid var(--color-divider);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);flex-direction:column;gap:2px;min-width:140px;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:0}.students-action-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-primary);font-size:14px;font-weight:var(--weight-medium);cursor:pointer;text-align:left;width:100%;transition:background var(--transition-fast);background:0 0;border:none;border-radius:6px;font-family:inherit;display:flex}.students-action-item:hover{background:var(--bg-hover)}.students-action-item--danger{color:var(--color-error)}.students-action-item--danger:hover{background:var(--color-error-soft)}.students-empty{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--text-tertiary);flex-direction:column;display:flex}.students-empty p{font-size:var(--text-sm);margin:0}.students-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) 0 var(--space-2);flex-wrap:wrap;display:flex}.students-pagination-info{color:var(--text-tertiary);font-size:13px}.students-pagination-controls{align-items:center;gap:4px;display:flex}.students-pagination-btn{border:1px solid var(--color-divider);border-radius:var(--radius-xs);background:var(--color-surface-raised);width:32px;height:32px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-family:inherit;display:inline-flex}.students-pagination-btn:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-border)}.students-pagination-btn:disabled{opacity:.4;cursor:not-allowed}.students-pagination-page{border-radius:var(--radius-xs);min-width:32px;height:32px;color:var(--text-secondary);font-size:14px;font-weight:var(--weight-medium);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;font-family:inherit;display:inline-flex}.students-pagination-page:hover{background:var(--color-surface);color:var(--text-primary)}.students-pagination-page.active{background:var(--color-primary);color:var(--color-text-inverse);font-weight:var(--weight-semibold)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.feature-page{box-sizing:border-box;width:100%;max-width:100%}.salary-table-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;box-shadow:var(--card-shadow);flex:1;overflow-x:auto}.salary-table{border-collapse:collapse;width:100%;font-size:14px}.salary-th{padding:12px var(--space-4);font-size:12px;font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);border-bottom:1px solid var(--color-divider);white-space:nowrap;background:var(--bg-app);z-index:10;text-align:left;position:sticky;top:0}.salary-th--num{text-align:right}.salary-th--center{text-align:center}.salary-td{padding:12px var(--space-4);color:var(--text-primary);white-space:nowrap;vertical-align:middle;border-bottom:1px solid var(--color-divider);font-size:14px}.salary-td--num{text-align:right;font-variant-numeric:tabular-nums}.salary-td--center{text-align:center}.salary-td--mono{font-family:var(--font-mono)}.salary-td--muted{color:var(--text-tertiary)}.salary-td--highlight{color:var(--color-accent-text);font-weight:var(--weight-medium)}.salary-tr{transition:background var(--transition-fast)}.salary-tr:hover{background:#1f293708}.salary-tr--prepared{background:var(--color-success-soft)}.salary-tr--prepared:hover{background:#15803d12}.salary-th--sticky-left,.salary-th--sticky-right,.salary-th--sticky-left-name{background:var(--bg-app);z-index:11}.salary-th--sticky-left{position:sticky;left:0;box-shadow:2px 0 4px #0000000a}.salary-th--sticky-left-name{position:sticky;left:86px;box-shadow:2px 0 4px #0000000a}.salary-th--sticky-right{position:sticky;right:0;box-shadow:-2px 0 4px #0000000a}.salary-td--sticky-left{z-index:2;background:var(--card-bg);position:sticky;left:0;box-shadow:2px 0 4px #0000000f}.salary-td--sticky-left-name{z-index:2;background:var(--card-bg);position:sticky;left:86px;box-shadow:2px 0 4px #0000000f}.salary-td--sticky-right{z-index:2;background:var(--card-bg);position:sticky;right:0;box-shadow:-2px 0 4px #0000000f}.salary-tr--prepared .salary-td--sticky-left,.salary-tr--prepared .salary-td--sticky-left-name,.salary-tr--prepared .salary-td--sticky-right{background:var(--color-success-soft)}@media (width<=480px){.salary-table-card{box-shadow:none;background:0 0;border:none;overflow:visible}.salary-table{border-collapse:separate;border-spacing:0 8px}.salary-tr{background:var(--card-bg);border-radius:var(--radius-sm);border:1px solid var(--card-border);box-shadow:var(--card-shadow);padding:var(--space-3);flex-wrap:wrap;margin-bottom:8px;display:flex}.salary-td{padding:4px var(--space-2);font-size:13px;border-bottom:none!important}.salary-td--num,.salary-td--mono{font-size:12px}.salary-th{display:none}.salary-td--sticky-left,.salary-td--sticky-left-name,.salary-td--sticky-right{box-shadow:none!important;position:static!important}.salary-tr--prepared .salary-td--sticky-left,.salary-tr--prepared .salary-td--sticky-left-name,.salary-tr--prepared .salary-td--sticky-right{background:0 0}}@media (width<=359px){.salary-tr{padding:var(--space-2);gap:2px}.salary-td{padding:3px var(--space-1);font-size:12px}.salary-td--num,.salary-td--mono{font-size:11px}}@media (width<=480px){.salary-summary-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr)}.salary-summary-card{padding:var(--space-2)}.salary-summary-card div:first-child{font-size:10px}.salary-summary-card div:last-child{font-size:clamp(14px,.875rem + .25vw,16px)}}@media (width<=360px){.salary-summary-grid{grid-template-columns:1fr 1fr}}@media (width>=481px) and (width<=767px){.salary-summary-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=768px){.salary-header{padding:var(--space-5) var(--space-6)}.salary-summary-grid{gap:var(--space-3);margin-top:var(--space-5)}}@media (width<=480px){.salary-breakdown-body{padding:var(--space-3)!important}}@media (width>=768px){.salary-breakdown-header{padding:var(--space-5) var(--space-6)!important}.salary-breakdown-body{padding:var(--space-6)!important}}.fees-management-page{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.fees-analytics-grid{gap:var(--space-3);flex-direction:column;width:100%;max-width:100%;display:flex}.fees-analytics-grid>*{min-width:0;max-width:100%}.fees-table-section{width:100%}@media (width>=640px){.fees-analytics-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.fees-analytics-grid>:first-child{grid-column:1/-1}}@media (width>=960px){.fees-analytics-grid{grid-template-columns:1fr 1fr 1fr}.fees-analytics-grid>:first-child{grid-column:span 2}.fees-analytics-grid>:nth-child(2),.fees-analytics-grid>:nth-child(3){grid-column:span 1}}@media (width>=1280px){.fees-analytics-grid{gap:var(--space-5)}}.hp-root{-webkit-overflow-scrolling:touch;color:#111827;-webkit-font-smoothing:antialiased;background:#fafaf8;height:100dvh;font-family:Inter,system-ui,-apple-system,sans-serif;overflow:hidden auto}.hp-nav{z-index:100;-webkit-backdrop-filter:blur(8px);background:#fafaf8eb;border-bottom:1px solid #e6e6e0;position:sticky;top:0}.hp-nav-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1120px;height:60px;margin:0 auto;padding:0 24px;display:flex}.hp-logo{color:#1f2937;flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.hp-logo-text{letter-spacing:-.02em;font-size:18px;font-weight:600}.hp-nav-links{align-items:center;gap:24px;display:flex}.hp-nav-link{color:#4b5563;border-bottom:1.5px solid #0000;padding:6px 0;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s,border-color .15s}.hp-nav-link:hover{color:#1f2937;border-bottom-color:#1e3a8a}.hp-nav-actions{align-items:center;gap:12px;display:flex}.hp-nav-signin{color:#4b5563;border-radius:6px;padding:6px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s}.hp-nav-signin:hover{color:#1e3a8a;background:#1e3a8a0f}.hp-nav-cta,.hp-nav-cta-mobile{color:#fff;white-space:nowrap;background:#1e3a8a;border-radius:6px;align-items:center;gap:6px;padding:8px 18px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s;display:inline-flex}.hp-nav-cta:hover,.hp-nav-cta-mobile:hover{background:#1e40af}.hp-nav-cta-mobile,.hp-nav-signin-mobile{display:none}.hp-nav-toggle{color:#4b5563;cursor:pointer;background:0 0;border:none;padding:4px;display:none}@media (width<=640px){.hp-nav-links{background:#fafaf8;border-bottom:1px solid #e6e6e0;flex-direction:column;gap:12px;padding:16px 24px;display:none;position:absolute;top:60px;left:0;right:0}.hp-nav-links.open{display:flex}.hp-nav-link{width:100%;padding:8px 0;font-size:16px}.hp-nav-actions{display:none}.hp-nav-signin-mobile{display:block!important}.hp-nav-cta-mobile{justify-content:center;width:100%;margin-top:8px;display:inline-flex}.hp-nav-toggle{display:block}}.hp-hero{padding:80px 24px 72px}.hp-hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1120px;margin:0 auto;display:grid}.hp-hero-text{max-width:500px}.hp-hero-title{letter-spacing:-.03em;color:#111827;max-width:14em;margin:0 0 16px;font-size:40px;font-weight:700;line-height:1.2}.hp-hero-sub{color:#4b5563;margin:0 0 32px;font-size:16px;line-height:1.65}.hp-hero-ctas{flex-wrap:wrap;gap:12px;display:flex}.hp-hero-ctas .hp-btn-primary{padding:12px 28px;font-size:15px}.hp-hero-visual{justify-content:flex-end;display:flex}.hp-dash-preview{width:100%;max-width:480px}.hp-dash-frame{background:#fff;border:1px solid #e0e0d8;border-radius:10px;overflow:hidden;box-shadow:0 1px 6px #00000008}.hp-dash-topbar{border-bottom:1px solid #eaeae4;align-items:center;gap:10px;height:36px;padding:0 14px;display:flex}.hp-dash-dots{gap:5px;display:flex}.hp-dash-dots span{background:#d4d4ce;border-radius:50%;width:8px;height:8px}.hp-dash-dots span:first-child,.hp-dash-dots span:nth-child(2),.hp-dash-dots span:nth-child(3){background:#d4d4ce}.hp-dash-top-text{color:#9ca3af;font-size:11px;font-weight:500}.hp-dash-sidebar{float:left;background:#f7f7f4;border-right:1px solid #eaeae4;flex-direction:column;gap:8px;width:48px;min-height:240px;padding:10px 6px;display:flex}.hp-dash-side-item{background:#e0e0d8;border-radius:4px;height:8px}.hp-dash-side-item.active{background:#1e3a8a;width:80%}.hp-dash-content{padding:16px;overflow:hidden}.hp-dash-row{gap:10px;margin-bottom:20px;display:flex}.hp-dash-stat{background:#f0f0eb;border-radius:6px;flex:1;height:48px}.hp-dash-table-header{gap:10px;margin-bottom:8px;display:flex}.hp-dash-th{background:#e6e6e0;border-radius:4px;flex:1;height:10px}.hp-dash-tr{gap:10px;margin-bottom:6px;display:flex}.hp-dash-tr>div{background:#f0f0eb;border-radius:4px;flex:1;height:8px}@media (width<=768px){.hp-hero{padding:40px 24px 48px}.hp-hero-inner{grid-template-columns:1fr;gap:36px}.hp-hero-text{max-width:100%}.hp-hero-title{font-size:26px}.hp-hero-ctas .hp-btn-primary,.hp-hero-ctas .hp-btn-secondary{justify-content:center;width:100%;padding:14px 28px}.hp-hero-visual{justify-content:center}.hp-dash-preview{max-width:100%}}.hp-section{padding:72px 24px}.hp-section-inner{max-width:1120px;margin:0 auto}.hp-section-header{max-width:600px;margin-bottom:44px}.hp-label{letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a;margin-bottom:10px;font-size:11px;font-weight:600;display:inline-block}.hp-section-title{letter-spacing:-.02em;color:#111827;margin:0 0 12px;font-size:28px;font-weight:700;line-height:1.25}.hp-section-desc{color:#6b7280;margin:0;font-size:16px;line-height:1.65}@media (width<=640px){.hp-section{padding:48px 24px}.hp-section-title{font-size:22px}.hp-section-header{margin-bottom:32px}}.hp-problems-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.hp-problem-card{background:#fff;border:1px solid #e6e6e0;border-radius:8px;padding:24px;transition:border-color .15s}.hp-problem-card:hover{border-color:#c8c8c2}.hp-problem-title{color:#111827;margin:0 0 8px;font-size:15px;font-weight:600}.hp-problem-desc{color:#6b7280;margin:0;font-size:14px;line-height:1.6}@media (width<=640px){.hp-problems-grid{grid-template-columns:1fr;gap:16px}}.hp-pillars{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}.hp-pillar{border-top:2px solid #1e3a8a;padding-top:24px}.hp-pillar-title{color:#111827;margin:0 0 10px;font-size:17px;font-weight:600}.hp-pillar-desc{color:#6b7280;margin:0;font-size:14px;line-height:1.65}@media (width<=768px){.hp-pillars{grid-template-columns:1fr;gap:28px}}.hp-features{background:#fff;padding-bottom:56px}.hp-features.hp-section{padding-bottom:56px}.hp-features-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.hp-feature-item{border-top:1px solid #eaeae4;padding:16px 0}.hp-feature-title{color:#111827;margin:0 0 4px;font-size:14px;font-weight:600}.hp-feature-desc{color:#9ca3af;margin:0;font-size:13px;line-height:1.5}@media (width<=640px){.hp-features-grid{grid-template-columns:repeat(2,1fr);gap:0 20px}}.hp-cta{background:#fff;border-top:1px solid #e6e6e0;padding-bottom:56px}.hp-cta.hp-section{padding-bottom:56px}.hp-cta-inner{text-align:center;max-width:560px}.hp-cta-title{letter-spacing:-.02em;color:#111827;margin:0 0 12px;font-size:28px;font-weight:700;line-height:1.25}.hp-cta-desc{color:#6b7280;margin:0 0 28px;font-size:16px;line-height:1.65}.hp-cta-buttons{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.hp-cta-buttons .hp-btn-primary,.hp-cta-buttons .hp-btn-secondary{padding:14px 32px;font-size:15px}@media (width<=640px){.hp-cta-title{font-size:22px}.hp-cta-buttons .hp-btn-primary,.hp-cta-buttons .hp-btn-secondary{justify-content:center;width:100%}}.hp-btn{cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.hp-btn-primary{color:#fff;background:#1e3a8a;border:1px solid #1e3a8a}.hp-btn-primary:hover{background:#1e40af;border-color:#1e40af}.hp-btn-secondary{color:#374151;background:0 0;border:1px solid #d4d4cf}.hp-btn-secondary:hover{background:#f0f0eb;border-color:#c8c8c2}.hp-btn-lg{padding:12px 24px;font-size:15px}.hp-footer{padding:32px 24px}.hp-footer-inner{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;display:flex}.hp-footer-brand{color:#374151;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.hp-footer-text{color:#9ca3af;margin:0;font-size:13px}@media (width<=480px){.hp-footer-inner{text-align:center;flex-direction:column;gap:10px}.hp-footer{padding:24px}}.dash-layout{gap:var(--space-5);flex-direction:column;width:100%;max-width:100%;display:flex}.dash-page-shell{width:100%;max-width:100%;padding-left:var(--space-4);padding-right:var(--space-4);box-sizing:border-box;margin-left:auto;margin-right:auto}@media (width>=375px) and (width<=767px){.dash-page-shell{padding-left:var(--space-4);padding-right:var(--space-4)}}@media (width>=768px){.dash-page-shell{padding-left:var(--space-7);padding-right:var(--space-7);max-width:var(--content-max-width)}}@media (width>=1024px){.dash-page-shell{padding-left:var(--space-7);padding-right:var(--space-7)}}@media (width>=1280px){.dash-page-shell{max-width:var(--content-max-width-desktop);padding-left:var(--space-8);padding-right:var(--space-8)}}@media (width>=1536px){.dash-page-shell{max-width:var(--content-max-width-ultra);padding-left:var(--space-10);padding-right:var(--space-10)}}.dash-grid{gap:var(--space-4);grid-template-columns:1fr;width:100%;min-width:0;display:grid}.dash-grid-item{min-width:0;min-height:0}@media (width>=768px){.dash-grid{gap:var(--space-4);grid-template-columns:repeat(6,1fr)}.dash-grid-item{grid-column:span 6}.dash-grid-item--tablet-span-1{grid-column:span 1}.dash-grid-item--tablet-span-2{grid-column:span 2}.dash-grid-item--tablet-span-3{grid-column:span 3}.dash-grid-item--tablet-span-4{grid-column:span 4}.dash-grid-item--tablet-span-5{grid-column:span 5}.dash-grid-item--tablet-span-6{grid-column:span 6}}@media (width>=1024px){.dash-grid{gap:var(--dash-grid-gap,var(--space-5));grid-template-columns:repeat(12,1fr)}.dash-grid-item,.dash-grid-item--span-1{grid-column:span 1}.dash-grid-item--span-2{grid-column:span 2}.dash-grid-item--span-3{grid-column:span 3}.dash-grid-item--span-4{grid-column:span 4}.dash-grid-item--span-5{grid-column:span 5}.dash-grid-item--span-6{grid-column:span 6}.dash-grid-item--span-7{grid-column:span 7}.dash-grid-item--span-8{grid-column:span 8}.dash-grid-item--span-9{grid-column:span 9}.dash-grid-item--span-10{grid-column:span 10}.dash-grid-item--span-11{grid-column:span 11}.dash-grid-item--span-12{grid-column:span 12}.dash-grid-item--start-1{grid-column-start:1}.dash-grid-item--start-2{grid-column-start:2}.dash-grid-item--start-3{grid-column-start:3}.dash-grid-item--start-4{grid-column-start:4}.dash-grid-item--start-5{grid-column-start:5}.dash-grid-item--start-6{grid-column-start:6}.dash-grid-item--start-7{grid-column-start:7}.dash-grid-item--start-8{grid-column-start:8}.dash-grid-item--start-9{grid-column-start:9}.dash-grid-item--start-10{grid-column-start:10}.dash-grid-item--start-11{grid-column-start:11}.dash-grid-item--start-12{grid-column-start:12}}@media (width>=1280px){.dash-grid{gap:var(--space-4)}}.dash-main-rail{gap:var(--space-5);flex-direction:column;width:100%;display:flex}.dash-main,.dash-rail{gap:var(--space-5);flex-direction:column;width:100%;min-width:0;display:flex}.dash-zone{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.dash-zone--header{gap:0}.dash-zone--summary{gap:var(--space-3);grid-template-columns:repeat(2,1fr);display:grid}.dash-zone--workflow,.dash-zone--comms,.dash-zone--trends{gap:var(--space-5);grid-template-columns:1fr;display:grid}.dash-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-5);gap:var(--space-4);min-width:0;box-shadow:var(--card-shadow);flex-direction:column;display:flex;position:relative}.dash-grid-item>.dash-card,.dash-grid-item>.adr-card,.dash-grid-item>.adr-rail-card,.dash-grid-item>*{min-width:0}.dash-card-header{justify-content:space-between;align-items:center;gap:var(--space-2);border-bottom:none;padding-bottom:0;display:flex}.dash-card-header-left{align-items:center;gap:var(--space-2);min-width:0;display:flex}.dash-card-icon{width:var(--icon-md);height:var(--icon-md);color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dash-card-title{font-size:14px;font-weight:var(--weight-semibold);color:var(--text-primary);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin:0}.dash-card-count{background:var(--color-primary);color:var(--color-text-inverse);font-size:11px;font-weight:var(--weight-semibold);text-align:center;border-radius:100px;flex-shrink:0;min-width:22px;padding:2px 8px;line-height:1.4}.dash-skeleton{border:1px dashed var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-elevated);padding:var(--space-5);opacity:.5;justify-content:center;align-items:center;min-height:120px;display:flex}.dash-skeleton-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}@media (width>=768px){.dash-layout{gap:var(--space-6)}.dash-zone--summary{gap:var(--space-3);grid-template-columns:repeat(4,1fr)}.dash-zone--workflow,.dash-zone--comms,.dash-zone--trends{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.dash-card--span-2{grid-column:span 2}}@media (width>=1024px){.dash-layout{gap:var(--space-7)}.dash-main-rail{align-items:flex-start;gap:var(--space-7);flex-direction:row}.dash-main{flex:2 1 0;min-width:0}.dash-rail{flex:1 0 0;width:clamp(260px,16.25rem + 4vw,360px);min-width:0}.dash-zone--summary{gap:var(--space-3);grid-template-columns:repeat(4,1fr)}.dash-zone--workflow{grid-template-columns:repeat(3,1fr)}.dash-card--span-2{grid-column:span 2}.dash-card--span-3{grid-column:span 3}.dash-zone--comms{grid-template-columns:1fr 1fr}.dash-zone--trends{grid-template-columns:1fr 1fr 1fr}.dash-card{padding:var(--space-5)}}@media (width>=1280px){.dash-layout{max-width:none;margin-left:0;margin-right:0}.dash-zone--summary{gap:var(--space-4);grid-template-columns:repeat(4,1fr)}.dash-zone--workflow{gap:var(--space-6)}.dash-card{padding:var(--space-6)}}.dash-row-analytics{gap:var(--space-5);flex-direction:column;width:100%;display:flex}@media (width>=768px){.dash-row-analytics{gap:var(--space-5);grid-template-columns:1fr 2fr;display:grid}}.dash-row-operational{gap:var(--space-5);flex-direction:column;width:100%;display:flex}@media (width>=768px){.dash-row-operational{gap:var(--space-5);grid-template-columns:1fr 1fr;display:grid}}.dash-row-lists{gap:var(--space-5);flex-direction:column;width:100%;display:flex}@media (width>=768px){.dash-row-lists{gap:var(--space-5);grid-template-columns:2fr 1fr;display:grid}}.adr-charts-row{gap:var(--gap);grid-template-columns:1fr;width:100%;display:grid}.adr-charts-sidebar{flex-direction:column;min-width:0;display:flex}.adr-charts-sidebar>.attn-queue-card--compact{flex:1;min-height:0}@media (width>=768px){.adr-charts-row{grid-template-columns:1fr 1fr;gap:16px}:is(.adr-charts-row>.adr-card:has(.adr-conv-row),.adr-charts-row>:nth-child(2)){grid-column:1/-1}}@media (width>=1024px){.adr-charts-row{grid-template-columns:1fr 1.5fr 1fr;gap:16px}.adr-charts-row>:nth-child(2){grid-column:auto}}.adr-top-section{margin-bottom:var(--space-4);padding:var(--space-3) 0 0;background:0 0;flex-direction:column;display:flex}.adr-top-header{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.adr-top-header-left{flex-direction:column;gap:2px;display:flex}.adr-top-title{font-size:var(--fs-h2);font-weight:var(--fw-extrabold);color:var(--ink);letter-spacing:var(--ls-tight);margin:0}.adr-top-date{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted);line-height:var(--lh-tight)}.adr-top-header-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.adr-command-row{margin-bottom:var(--space-4);justify-content:center;display:flex}.adr-command-row .adr-command-trigger{width:100%;max-width:480px}.adr-command-trigger{border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);cursor:pointer;height:40px;transition:all var(--t-base);width:100%;min-width:240px;max-width:480px;font-family:var(--font-sans);box-shadow:var(--shadow-sm);outline:none;align-items:center;gap:8px;padding:0 16px;display:flex}.adr-command-trigger:hover{border-color:var(--primary-700);background:var(--surface-2);box-shadow:var(--shadow-md)}.adr-command-trigger:focus-visible{box-shadow:0 0 0 4px var(--focus-ring);border-color:var(--accent)}.adr-command-trigger-text{font-size:var(--fs-body-lg);color:var(--text-muted);font-weight:var(--fw-regular);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.adr-command-trigger-hint{border-radius:var(--r-sm);background:var(--surface-2);font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-muted);line-height:var(--lh-tight);flex-shrink:0;align-items:center;gap:4px;padding:5px 14px;display:inline-flex}.adr-command-trigger-hint kbd{font-family:var(--font-sans);font-size:10px;font-weight:var(--fw-semibold)}.adr-refresh-btn{border-radius:var(--r-md);border:1.5px solid var(--border-strong);background:var(--surface);width:38px;height:38px;color:var(--text-muted);cursor:pointer;transition:all var(--t-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.adr-refresh-btn:hover{background:var(--surface-2);color:var(--text);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.adr-refresh-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.adr-top-section{padding:16px 14px 10px}.adr-top-header{flex-direction:row;gap:10px}.adr-top-header-right{flex-shrink:0}.adr-command-row{margin-bottom:16px}.adr-command-row .adr-command-trigger{max-width:none}.adr-command-trigger{min-width:0;max-width:none;height:46px;padding:0 16px}.adr-command-trigger-hint{display:none}}.adr-kpi-strip{gap:var(--gap);flex-wrap:wrap;margin-bottom:0;display:flex}.adr-kpi-card{border-radius:var(--r-lg);min-width:140px;padding:var(--pad);background:var(--surface);border:1px solid var(--border);flex-direction:column;flex:1;gap:4px;display:flex;position:relative;overflow:hidden}.adr-kpi-card.clickable{cursor:pointer;transition:box-shadow var(--t-base), transform .18s cubic-bezier(.22, 1, .36, 1)}.adr-kpi-card.clickable:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.adr-kpi-card.clickable:active{box-shadow:none;transition-duration:60ms;transform:translateY(0)scale(.985)}.adr-kpi-arrow{color:var(--accent);opacity:.7;transition:opacity var(--t-fast), transform .18s cubic-bezier(.22, 1, .36, 1);pointer-events:none;line-height:1;position:absolute;top:10px;right:12px}.adr-kpi-arrow svg{stroke-width:2.5px}.adr-kpi-card.clickable:hover .adr-kpi-arrow{opacity:1}.adr-kpi-card.clickable:active .adr-kpi-arrow{opacity:1;transform:translate(3px,-3px)}.adr-kpi-card-top{justify-content:space-between;align-items:center;display:flex}.adr-kpi-card-value{font-size:var(--fs-h1);font-weight:var(--fw-extrabold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:var(--ink);font-variant-numeric:tabular-nums}.adr-kpi-card-label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);letter-spacing:normal;margin:0}.adr-kpi-card-sub{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--text-muted);line-height:var(--lh-tight);margin:0}.adr-midsection{gap:var(--gap);grid-template-columns:1fr;margin-bottom:24px;display:grid}.adr-card{background:var(--surface);border-radius:var(--r-lg);padding:var(--pad);border:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex}.adr-card-header{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.adr-card-header-left{align-items:center;gap:0;min-width:0;display:flex}.adr-card-title{font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--ink);letter-spacing:normal}.adr-card-action-btn{border-radius:var(--r-md);font-size:var(--fs-sm-2);font-weight:var(--fw-bold);color:var(--accent);cursor:pointer;border:var(--border-width-control) solid var(--border-strong);white-space:nowrap;transition:all var(--t-base);background:0 0;flex-shrink:0;justify-content:center;align-items:center;padding:8px 14px;font-family:inherit;display:inline-flex}.adr-card-action-btn:hover{background:var(--surface-2);border-color:var(--border-strong)}.adr-card-action-btn.primary{background:var(--primary);color:#fff;border-color:#0000}.adr-card-action-btn.primary:hover{filter:brightness(1.08)}.adr-card-action-btn--full{justify-content:center;width:100%}.adr-events-empty{padding:var(--space-4) 0;font-size:var(--fs-sm);color:var(--text-muted);text-align:center}.adr-bottomsection{gap:var(--gap);grid-template-columns:1fr 1fr;margin-bottom:24px;display:grid}@media (width<=1023px){.adr-bottomsection{grid-template-columns:1fr}}.adr-health-item{padding:var(--space-3) 0;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.adr-health-item:last-child{border-bottom:none}.adr-health-item.clickable{cursor:pointer;transition:background var(--t-fast)}.adr-health-item.clickable:hover{background:var(--surface-2)}.adr-health-label{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-muted)}.adr-health-value{font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);color:var(--ink);font-variant-numeric:tabular-nums}.adr-finance-bar{margin-bottom:var(--space-3)}.adr-finance-bar-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.adr-finance-bar-label{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted)}.adr-finance-bar-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink)}.adr-finance-track{background:var(--surface-2);border-radius:var(--r-sm);height:6px;overflow:hidden}.adr-finance-fill{border-radius:var(--r-sm);height:100%;transition:width .4s}.adr-finance-item{padding:var(--space-3) 0;cursor:pointer;transition:background var(--t-fast);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.adr-finance-item:last-child{border-bottom:none}.adr-finance-item-label{font-size:var(--fs-sm);font-weight:var(--fw-regular);color:var(--text-muted)}.adr-finance-item-value{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);font-variant-numeric:tabular-nums}.adr-finance-footer{padding:var(--space-4) 0 0;border-top:1px solid var(--border);justify-content:space-between;display:flex}.adr-finance-footer-label{font-size:var(--fs-sm-2);font-weight:var(--fw-medium);color:var(--text-muted)}.adr-finance-footer-value{font-size:var(--fs-sm-2);font-weight:var(--fw-semibold);color:var(--ink)}.adr-donut-card{background:var(--surface);border-radius:var(--r-lg);padding:var(--pad);border:1px solid var(--border);flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.adr-donut-header{width:100%;margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.adr-donut-title{font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--ink)}.adr-donut-container{width:clamp(90px,5.625rem + 1vw,130px);height:clamp(90px,5.625rem + 1vw,130px);margin:6px 0;position:relative}.adr-donut-center{flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.adr-donut-center-total{font-size:var(--fs-h1);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}.adr-donut-center-label{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--text-muted)}.adr-donut-legend{width:100%;padding-top:var(--space-3);margin-top:var(--space-2);flex-direction:column;gap:6px;display:flex}.adr-donut-legend-item{align-items:center;gap:8px;display:flex}.adr-donut-legend-dot{border-radius:var(--r-full);flex-shrink:0;width:8px;height:8px}.adr-donut-legend-text{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--text-muted);flex:1}.adr-donut-legend-value{font-size:var(--fs-sm-2);font-weight:var(--fw-semibold);color:var(--ink)}.adr-priority-card{background:var(--surface);border-radius:var(--r-lg);padding:var(--pad);border:1px solid var(--border);flex-direction:column;flex:1;min-width:0;display:flex}.adr-priority-header{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;min-height:22px;display:flex}.adr-priority-title{font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--ink)}.adr-priority-list{flex-direction:column;gap:3px;display:flex}.adr-priority-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--r-md);transition:background var(--t-fast), box-shadow var(--t-fast);min-height:48px;display:flex}.adr-priority-row:hover{background:var(--surface-2)}.adr-priority-row--clickable{cursor:pointer}.adr-priority-dot{border-radius:var(--r-full);flex-grow:0;flex-shrink:0;width:8px;height:8px;display:block}.adr-priority-dot--urgent{background:var(--danger)}.adr-priority-dot--attention{background:var(--warning)}.adr-priority-dot--info{background:var(--primary)}.adr-priority-dot--leave{background:var(--accent-indigo)}.adr-priority-dot--concession{background:var(--accent-amber)}.adr-priority-dot--expense{background:var(--text-muted)}.adr-priority-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.adr-priority-row-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-snug)}.adr-priority-row-sub{font-size:var(--fs-xs);color:var(--text-muted);line-height:var(--lh-body)}.adr-priority-type-label{font-size:10px;font-weight:var(--fw-medium);text-transform:uppercase;letter-spacing:var(--ls-tag);color:var(--text-muted);line-height:var(--lh-tight);margin-bottom:2px}.adr-priority-actions-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.adr-priority-action-link{font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--accent);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:all var(--t-fast);font-family:inherit;line-height:var(--lh-tight);background:0 0;border:none;padding:5px 8px}.adr-priority-action-link:hover{background:color-mix(in oklab, var(--accent) 10%, transparent);text-decoration:underline}.adr-priority-chevron{color:var(--text-muted);transition:transform var(--t-slow);flex-shrink:0;align-items:center;display:flex}.adr-priority-chevron--expanded{transform:rotate(90deg)}.adr-priority-expanded-actions{gap:8px;padding:6px 12px 10px 32px;display:flex}.adr-priority-expanded-btn{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast);font-family:inherit;line-height:var(--lh-tight);border:none;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px 14px;display:inline-flex}.adr-priority-expanded-btn--approve{background:color-mix(in oklab, var(--success) 16%, transparent);color:var(--success)}.adr-priority-expanded-btn--approve:hover{background:color-mix(in oklab, var(--success) 24%, transparent)}.adr-priority-expanded-btn--reject{background:color-mix(in oklab, var(--danger) 16%, transparent);color:var(--danger)}.adr-priority-expanded-btn--reject:hover{background:color-mix(in oklab, var(--danger) 24%, transparent)}.adr-priority-empty{text-align:center;font-size:var(--fs-xs);color:var(--text-muted);padding:var(--space-5) 0}.adr-schedule-row{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;display:flex}.adr-schedule-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink);flex:1;min-width:0}.adr-schedule-status{align-items:center;gap:5px;display:flex}.adr-schedule-status-dot{border-radius:var(--r-full);width:6px;height:6px}.adr-schedule-status-text{font-size:var(--fs-xs);font-weight:var(--fw-medium)}.adr-schedule-time{align-items:center;gap:4px;min-width:auto;display:flex}.adr-schedule-time-text{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted)}.adr-notice-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;cursor:default;transition:background var(--t-fast);display:flex}.adr-notice-icon{border-radius:var(--r-full);background:var(--surface-2);width:30px;min-width:30px;height:30px;color:var(--text-muted);border:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.adr-notice-item.clickable{cursor:pointer}.adr-notice-item.clickable:hover{background:var(--surface-2)}.adr-notice-text{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--text);line-height:var(--lh-body);flex:1}.adr-conv-summary{padding:var(--space-3) 0;gap:var(--space-5);display:flex}.adr-conv-stat{flex:1}.adr-conv-stat-value{font-size:var(--fs-h2);font-weight:var(--fw-semibold);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);color:var(--ink)}.adr-conv-stat-label{font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--text-muted);margin-top:2px}.adr-topic-badge{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--r-full);line-height:var(--lh-body);border:1px solid var(--border);padding:3px 12px}.adr-events-stack{flex-direction:column;gap:0;display:flex}.adr-event-block{gap:var(--space-1);padding:var(--space-3) 0;border-top:1px solid var(--border);cursor:default;flex-direction:column;display:flex}.adr-event-block:first-child{border-top:none;padding-top:0}.adr-event-block:last-child{padding-bottom:0}@media (width<=359px){.adr-event-block{padding:var(--space-2) 0}}.adr-event-readiness{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted);line-height:var(--lh-tight)}.adr-event-top{flex-direction:column;gap:2px;display:flex}.adr-event-date-pill{font-size:var(--fs-sm-2);font-weight:var(--fw-semibold);color:var(--ink);letter-spacing:var(--ls-tight);line-height:var(--lh-tight);align-items:center;display:inline-flex}.adr-event-time{font-size:var(--fs-sm-2);font-weight:var(--fw-medium);color:var(--text-muted);line-height:var(--lh-tight)}.adr-event-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink);line-height:var(--lh-snug);letter-spacing:normal;text-overflow:ellipsis;white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.adr-event-audience{align-items:center;gap:4px;display:flex}.adr-event-audience-icon{color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.adr-event-audience-label{font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--text-muted);line-height:var(--lh-body);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width>=768px){.adr-event-block{padding:var(--space-2) 0;gap:3px}.adr-event-top{flex-direction:row;justify-content:space-between;align-items:center}.adr-event-date-pill{font-size:var(--fs-2xs)}.adr-event-time{font-size:var(--fs-2xs);white-space:nowrap}.adr-event-title{font-size:var(--fs-sm-2);-webkit-line-clamp:1;white-space:nowrap}.adr-event-readiness{font-size:var(--fs-2xs)}}.adr-activity-item{padding:var(--space-3) 0;align-items:flex-start;display:flex}.adr-activity-text{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--text);line-height:var(--lh-body)}.adr-status-badge{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--r-full);line-height:var(--lh-body);padding:3px 12px}.adr-approval-row{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast), box-shadow var(--t-fast);display:flex}.adr-approval-row:hover{background:var(--surface-2)}.adr-approval-type{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);border-radius:var(--r-sm);text-transform:capitalize;flex-shrink:0;padding:4px 12px}.adr-approval-info{flex:1;min-width:0}.adr-approval-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.adr-approval-detail{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted);margin-top:2px}.adr-approval-chevron{transition:transform var(--t-slow);flex-shrink:0}.adr-approval-chevron.expanded{transform:rotate(90deg)}.adr-approval-actions{gap:8px;padding:10px 10px 14px;display:flex}.adr-approval-btn{font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--r-sm);cursor:pointer;transition:all var(--t-fast);border:none;flex:1;justify-content:center;align-items:center;gap:4px;padding:9px 16px;font-family:inherit;display:inline-flex}.adr-approval-btn.approve{background:color-mix(in oklab, var(--success) 16%, transparent);color:var(--success)}.adr-approval-btn.approve:hover{background:color-mix(in oklab, var(--success) 28%, transparent)}.adr-approval-btn.reject{background:color-mix(in oklab, var(--danger) 16%, transparent);color:var(--danger)}.adr-approval-btn.reject:hover{background:color-mix(in oklab, var(--danger) 28%, transparent)}.adr-content-rail{flex-direction:column;display:flex}.adr-rail{gap:var(--gap);flex-direction:column;display:flex}@media (width<=1023px){.adr-rail{flex-direction:column;width:100%;padding-bottom:0;overflow-x:visible}.adr-rail .adr-rail-card{width:100%;min-width:0}}.adr-rail-card{background:var(--surface);border-radius:var(--r-lg);padding:var(--pad);border:1px solid var(--border);flex-direction:column;display:flex}.adr-messages-nav{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-3);margin-top:var(--space-3);border-radius:var(--r-md);cursor:pointer;transition:background var(--t-fast), box-shadow var(--t-fast);display:flex}.adr-messages-nav:hover{background:var(--surface-2)}.adr-messages-nav-content{flex:1;min-width:0}.adr-messages-nav-title{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.adr-messages-nav-sub{font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--text-muted);margin-top:2px}.adr-pull-indicator{z-index:200;font-size:var(--fs-2xs);font-weight:var(--fw-medium);color:var(--accent);background:var(--surface);border-radius:var(--r-pill);box-shadow:var(--shadow-sm);border:1px solid var(--border);align-items:center;gap:6px;padding:7px 16px;display:flex;position:fixed;top:80px;right:24px}.adr-skeleton-wrapper{width:100%}.adr-skeleton-shell{gap:var(--gap);flex-direction:column;width:100%;display:flex}.adr-skeleton-sidebar{display:none}.adr-skeleton-main{flex:1}@media (width<=359px){.adr-conv-avatar{width:32px;height:32px;font-size:11px}}@media (width<=767px){.adr-top-section{padding:var(--space-4) var(--space-4)}.adr-kpi-strip{flex-direction:column}.adr-kpi-card{min-width:100%}}.adr-skeleton-kpi{gap:var(--gap);flex-wrap:wrap;display:flex}.adr-skeleton-kpi-item{border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--border);min-width:160px;height:130px;padding:var(--pad);flex:1}.adr-skeleton-bar{background:var(--surface-2);border-radius:var(--r-sm);height:14px;margin-bottom:8px;animation:1.8s ease-in-out infinite pulse}.adr-toast{z-index:300;background:var(--ink);color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-regular);border-radius:var(--r-md);box-shadow:var(--shadow-md);padding:12px 28px;animation:.3s fade-in-up;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.adr-toast.success{background:var(--success)}.adr-toast.error{background:var(--danger)}.adr-modal-overlay{z-index:400;background:#1c224359;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.adr-modal{background:var(--surface);border-radius:var(--r-lg);width:100%;max-width:460px;max-height:80vh;box-shadow:var(--shadow-md);border:1px solid var(--border);flex-direction:column;display:flex;overflow-y:auto}.adr-modal-header{padding:var(--pad) var(--pad) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.adr-modal-title{font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--ink)}.adr-modal-close{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:background var(--t-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.adr-modal-close:hover{background:var(--surface-2)}.adr-modal-body{padding:var(--space-4) var(--pad);overflow-y:auto}.adr-modal-hint{font-size:var(--fs-sm-2);color:var(--text-muted);margin-bottom:var(--space-3);line-height:var(--lh-body)}.adr-modal-row{padding:var(--space-3) 0;justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border);display:flex}.adr-modal-row:last-child{border-bottom:none}.adr-modal-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink)}.adr-modal-meta{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted);margin-top:1px}.adr-modal-empty{font-size:var(--fs-sm-2);color:var(--text-muted);text-align:center;padding:var(--space-5) 0;line-height:var(--lh-body)}.adr-modal-btn{font-size:var(--fs-sm-2);font-weight:var(--fw-bold);border-radius:var(--r-md);border:var(--border-width-control) solid transparent;background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;transition:all var(--t-base);flex-shrink:0;padding:8px 18px;font-family:inherit}.adr-modal-btn:hover{filter:brightness(1.08)}.adr-modal-btn.outline{border:var(--border-width-control) solid var(--border-strong);color:var(--text);background:0 0}.adr-modal-btn.outline:hover{background:var(--surface-2);border-color:var(--border-strong)}.adr-content{align-items:flex-start;gap:12px;margin-bottom:0;display:flex}@media (width>=1024px){.adr-content{flex-direction:row}.adr-content-main{flex:1;min-width:0}.adr-content-rail{flex-shrink:0;width:clamp(220px,14rem + 2vw,290px);min-width:200px}}@media (width<=1023px){.adr-content-main,.adr-content-rail{width:100%}.adr-content{flex-direction:column}}@media (width<=1024px){.adr-kpi-strip{flex-wrap:wrap}.adr-header-search{max-width:200px}.adr-content{padding:10px}.adr-content-rail,.adr-rail-card{width:100%;min-width:0}}@media (width<=640px){.adr-kpi-strip{gap:var(--gap);flex-direction:column}.adr-content{padding:6px}.adr-kpi-card-value{font-size:var(--fs-h1)}.adr-kpi-card{width:100%;min-width:0;padding:var(--pad);border-radius:var(--r-lg)}.adr-kpi-arrow{top:10px;right:10px}}.adr-conv-row{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-radius:var(--r-sm);transition:background var(--t-fast);cursor:pointer;display:flex}.adr-conv-row:hover{background:var(--surface-2)}.adr-conv-row:not(:last-child){border-bottom:1px solid var(--border)}.adr-conv-avatar{border-radius:var(--r-full);width:38px;height:38px;font-size:13px;font-weight:var(--fw-bold);color:#fff;-webkit-user-select:none;user-select:none;line-height:1;font-family:var(--font-sans);flex-shrink:0;justify-content:center;align-items:center;display:flex}.adr-conv-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.adr-conv-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.adr-conv-name{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.adr-conv-time{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted);line-height:var(--lh-tight);white-space:nowrap;flex-shrink:0}.adr-conv-preview{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--text);line-height:var(--lh-body);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;max-width:100%;display:-webkit-box;overflow:hidden}.adr-conv-unread{border-radius:var(--r-full);background:var(--accent);color:#fff;min-width:22px;height:22px;font-size:12px;font-weight:var(--fw-bold);flex-shrink:0;justify-content:center;align-items:center;padding:0 7px;line-height:1;display:inline-flex}@media (width>=768px){.adr-conv-row{gap:var(--space-3);padding:var(--space-2) 0}.adr-conv-avatar{width:32px;height:32px;font-size:12px}.adr-conv-name{font-size:var(--fs-sm-2)}.adr-conv-time{font-size:var(--fs-2xs)}.adr-conv-preview{font-size:var(--fs-xs);-webkit-line-clamp:1}.adr-conv-unread{min-width:20px;height:20px;padding:0 6px;font-size:10px}}.adr-activity-card{background:var(--surface);border-radius:var(--r-lg);padding:var(--pad);border:1px solid var(--border);flex-direction:column;display:flex}.adr-activity-card-header{align-items:center;gap:0;margin-bottom:10px;display:flex}.adr-activity-card-title{font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--ink);flex:1}.adr-activity-empty{padding:var(--space-4) 0;font-size:var(--fs-sm-2);color:var(--text-muted);text-align:center;line-height:var(--lh-body)}.adr-activity-timeline{flex-direction:column;display:flex}.adr-activity-bucket{flex-direction:column;margin-bottom:4px;display:flex}.adr-activity-bucket:last-child{margin-bottom:0}.adr-activity-bucket-label{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:var(--text-muted);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);line-height:var(--lh-tight);padding:6px 0 4px}.adr-activity-row{align-items:center;gap:var(--space-3);min-height:32px;padding:6px 0;display:flex}.adr-activity-marker{border-radius:var(--r-full);flex-grow:0;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;line-height:1;display:flex}.adr-activity-content{flex:1;align-items:center;min-width:0;display:flex}.adr-activity-row-text{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--ink);line-height:var(--lh-snug);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.adr-activity-row-time{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted);white-space:nowrap;line-height:var(--lh-tight);text-align:right;flex-shrink:0;margin-left:auto}.attn-queue-card{overflow:hidden}.attn-queue-header-left{align-items:center;gap:8px;display:flex}.attn-queue-list{flex-direction:column;gap:4px;display:flex}.attn-queue-row{border-radius:var(--r-sm);border:1px solid var(--border);transition:border-color var(--t-base), box-shadow var(--t-base);display:flex;overflow:hidden}.attn-queue-row:hover{border-color:var(--primary-700);box-shadow:var(--shadow-sm)}.attn-queue-row--high{background:color-mix(in oklab, var(--danger) 6%, transparent)}.attn-queue-row--medium{background:color-mix(in oklab, var(--warning) 6%, transparent)}.attn-queue-row--low{background:0 0}.attn-queue-priority-bar{flex-shrink:0;align-self:stretch;width:3px}.attn-queue-body{flex-direction:column;flex:1;gap:3px;min-width:0;padding:8px 12px;display:flex}.attn-queue-meta{align-items:center;gap:6px;margin-bottom:1px;display:flex}.attn-queue-type-badge{font-size:var(--fs-2xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-eyebrow);border-radius:var(--r-sm);line-height:var(--lh-tight);color:var(--text-muted);background:var(--surface-2);padding:2px 7px}.attn-queue-priority-tag{font-size:9px;font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-tag);border-radius:var(--r-sm);line-height:var(--lh-tight);color:var(--danger);background:color-mix(in oklab, var(--danger) 12%, transparent);padding:2px 6px}.attn-queue-title{font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-tight);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attn-queue-support{font-size:var(--fs-2xs);font-weight:var(--fw-regular);color:var(--text-muted);line-height:var(--lh-snug);text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;overflow:hidden}.attn-queue-actions{gap:4px;margin-top:1px;display:flex}.attn-queue-action-btn{font-size:10px;font-weight:var(--fw-medium);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap;transition:all var(--t-fast);font-family:inherit;line-height:var(--lh-tight);background:0 0;border:none;align-items:center;gap:3px;padding:4px 8px;display:inline-flex}.attn-queue-action-btn--primary{background:var(--primary);color:#fff;padding:4px 10px}.attn-queue-action-btn--primary:hover{filter:brightness(1.08)}.attn-queue-action-btn--secondary{color:var(--text-muted);padding:3px 6px}.attn-queue-action-btn--secondary:hover{color:var(--text);background:var(--surface-2)}.attn-queue-action-btn--feedback{opacity:.7;transform:scale(.95)}.attn-queue-empty{padding:var(--space-5) 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.attn-queue-empty-icon{border-radius:var(--r-full);background:color-mix(in oklab, var(--success) 16%, transparent);width:28px;height:28px;color:var(--success);justify-content:center;align-items:center;margin-bottom:2px;display:inline-flex}.attn-queue-empty-title{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink)}.attn-queue-empty-sub{font-size:var(--fs-xs);font-weight:var(--fw-regular);color:var(--text-muted);text-align:center}.attn-queue-card--compact{background:var(--surface);border-radius:var(--r-lg);border:1px solid var(--border);flex-direction:column;flex:auto;min-width:0;max-height:none;padding:0;display:flex;overflow:hidden}.attn-queue-card--compact .adr-priority-header{margin-bottom:6px;padding:16px 16px 0}@media (width>=768px){.attn-queue-card--compact .adr-priority-header{margin-bottom:4px;padding:18px 20px 0}}.attn-queue-list--compact{flex:1;gap:0;overflow-y:auto}.attn-queue-list--compact .attn-queue-body--compact{gap:2px;padding:10px 16px}@media (width>=768px){.attn-queue-list--compact .attn-queue-body--compact{gap:1px;padding:6px 20px}}.attn-queue-title--compact{font-size:var(--fs-sm-2);font-weight:var(--fw-semibold);color:var(--ink);line-height:var(--lh-snug);white-space:normal;overflow:visible}@media (width>=768px){.attn-queue-title--compact{font-size:var(--fs-2xs);line-height:var(--lh-tight)}}.attn-queue-support--compact{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--text-muted);line-height:var(--lh-tight);white-space:normal;margin-bottom:0;overflow:visible}@media (width>=768px){.attn-queue-support--compact{font-size:10px}}.attn-queue-empty--compact{gap:4px;padding:16px 0}@media (width>=768px){.attn-queue-empty--compact{gap:2px;padding:10px 0 6px}}.attn-queue-card--compact .attn-queue-row--compact{border-bottom:1px solid var(--border);cursor:pointer;display:block}.attn-queue-card--compact .attn-queue-row--compact:last-child{border-bottom:none}.attn-queue-card--compact .attn-queue-priority-bar{display:none}.attn-queue-type-tag--compact{font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:var(--lh-tight);letter-spacing:.01em}.attn-queue-row-top{align-items:center;gap:6px;display:flex}.attn-queue-urgent-dot{border-radius:var(--r-full);background:var(--danger);flex-shrink:0;width:6px;height:6px}.adr-spin{animation:.8s linear infinite spin;display:inline-block}.kpi-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--r-lg);padding:var(--pad);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;transition:all .2s;display:flex;position:relative}.kpi-card--clickable{cursor:pointer}.kpi-card--clickable:hover{box-shadow:var(--shadow-md);border-color:var(--primary)}.kpi-card--clickable:active{transition-duration:60ms;transform:translateY(0)scale(.985)}.kpi-card__bottom{justify-content:space-between;align-items:center;gap:12px;display:flex}.kpi-card__value-row{align-items:flex-end;gap:4px;line-height:1;display:flex}.kpi-card__value{font-size:var(--fs-display);font-weight:var(--fw-extrabold);color:var(--ink);line-height:var(--lh-tight);letter-spacing:var(--ls-tight);font-variant-numeric:tabular-nums}.kpi-card__pct{font-size:var(--fs-h3);font-weight:var(--fw-bold);color:var(--text-muted);line-height:var(--lh-tight);margin-left:2px}.kpi-card__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--ink);line-height:var(--lh-snug);margin:0}.kpi-card__support{font-size:var(--fs-sm-2);font-weight:var(--fw-regular);color:var(--text-muted);line-height:var(--lh-body);flex:1;min-width:0}.kpi-card__trend-wrapper{flex-shrink:0;align-items:center;display:flex}.kpi-card__trend{font-size:var(--fs-sm-2);font-weight:var(--fw-medium);line-height:var(--lh-tight);white-space:nowrap;align-items:center;gap:4px;display:flex}.kpi-card__trend--empty{color:var(--text-muted)}.kpi-card__trend-delta{white-space:nowrap}.kpi-card__trend-note{font-weight:var(--fw-regular);opacity:.65;color:var(--text-muted)}.kpi-strip{gap:var(--space-4);grid-template-columns:repeat(3,1fr);margin-bottom:0;display:grid}@media (width<=1080px){.kpi-strip{grid-template-columns:1fr}}@media (width<=768px){.kpi-strip{grid-template-columns:repeat(2,1fr)}.kpi-card__value{font-size:var(--fs-h1)}.kpi-card{padding:var(--space-4)}}@media (width<=479px){.kpi-strip{gap:var(--space-3);grid-template-columns:1fr}}.adr-attn-rows{flex-direction:column;padding:0;display:flex}.adr-attn-row{transition:background var(--t-fast,.12s);align-items:flex-start;gap:12px;padding:12px 16px;display:flex;position:relative}.adr-attn-row:hover{background:var(--surface-2,#f1f2f7)}.adr-attn-row-bar{border-radius:3px;flex-shrink:0;align-self:stretch;width:3px;min-height:40px;margin-top:2px}.adr-attn-row-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.adr-attn-row-label{font-size:var(--fs-2xs,11px);font-weight:var(--fw-semibold,600);letter-spacing:.05em;text-transform:uppercase;line-height:1.2}.adr-attn-row-title{font-size:var(--fs-sm,14px);font-weight:var(--fw-semibold,600);color:var(--ink,#1c2243);line-height:1.4}.adr-attn-row-sub{font-size:var(--fs-sm-2,13px);color:var(--text-muted,#7c819c);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.adr-attn-row-action{flex-shrink:0;align-self:center;margin-left:auto;padding-left:8px}.adr-attn-btn{border-radius:var(--r-sm,8px);font-size:var(--fs-xs,12px);font-weight:var(--fw-semibold,600);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;transition:background var(--t-fast,.12s), filter var(--t-fast,.12s);border:none;justify-content:center;align-items:center;padding:6px 12px;line-height:1;display:inline-flex}.adr-attn-btn:active{transform:scale(.97)}.adr-attn-btn--primary{background:var(--primary,#272f63);color:#fff}.adr-attn-btn--primary:hover{background:var(--primary-700,#343f80)}.adr-attn-btn--danger{background:var(--danger,#d8543f);color:#fff}.adr-attn-btn--danger:hover{filter:brightness(1.08)}.adr-attn-empty{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.adr-attn-empty-icon{border-radius:var(--r-full,999px);background:color-mix(in oklab, var(--success,#1f9d6b) 12%, transparent);width:40px;height:40px;color:var(--success,#1f9d6b);place-items:center;display:grid}.adr-attn-empty-title{font-size:var(--fs-sm,14px);font-weight:var(--fw-semibold,600);color:var(--ink,#1c2243)}.adr-attn-empty-sub{font-size:var(--fs-sm-2,13px);color:var(--text-muted,#7c819c)}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dashboard-shell{gap:var(--gap,20px);padding:20px var(--space-7,28px) 24px;background:var(--bg,#eeede8);font-family:var(--font-sans);color:var(--text,#3a4060);grid-template-columns:1fr 1.15fr .9fr;align-items:start;font-size:15px;line-height:1.45;display:grid}@media (width<=1024px){.dashboard-shell{grid-template-columns:1fr;gap:20px}}@media (width>=1025px) and (width<=1280px){.dashboard-shell{grid-template-columns:1fr 1.1fr .85fr;gap:20px}}.card{background:var(--surface-card,#fff);border:1px solid var(--border-default,#e7e8f0);border-radius:var(--r-lg,14px);box-shadow:var(--shadow-sm);overflow:hidden}.panel-head{padding:var(--pad,22px);border-bottom:1px solid var(--border-default,#e7e8f0);justify-content:space-between;align-items:center;display:flex}.panel-head h2{font-family:var(--font-sans);font-size:var(--fs-h3,16.5px);font-weight:var(--fw-bold,700);color:var(--ink,#1c2243);align-items:center;gap:9px;margin:0;line-height:1.2;display:flex}.count{font-size:12px;font-weight:var(--fw-bold,700);background:var(--primary,#272f63);color:#fff;border-radius:var(--r-full,999px);place-items:center;min-width:22px;height:22px;padding:0 7px;display:inline-grid}.ghost-btn{font-size:var(--fs-sm-2,13px);font-weight:var(--fw-semibold,600);color:var(--accent,#2f8f93);transition:background var(--t-fast,.12s);cursor:pointer;font-family:var(--font-sans);border-radius:var(--r-sm,8px);background:0 0;border:none;padding:6px 10px;text-decoration:none}.ghost-btn:hover{background:color-mix(in oklab, var(--accent,#2f8f93) 10%, transparent)}.panel-body{flex-direction:column;padding:10px;display:flex}.badge-pill{border-radius:var(--r-full,999px);background:var(--surface-2,#f1f2f7);height:22px;color:var(--text-muted,#7c819c);font-size:12px;font-weight:var(--fw-semibold,600);justify-content:center;align-items:center;padding:0 12px;line-height:1;display:inline-flex}.btn{border-radius:var(--r-md,10px);font-size:12.5px;font-weight:var(--fw-bold,700);cursor:pointer;transition:background var(--t-fast,.12s), transform .1s;line-height:1;font-family:var(--font-sans);border:0;justify-content:center;align-items:center;padding:8px 13px;display:inline-flex}.btn:active{transform:scale(.97)}.btn--navy{background:var(--primary,#272f63);color:#fff}.btn--navy:hover{background:var(--primary-700,#343f80)}.btn--orange{background:var(--danger,#d8543f);color:#fff}.btn--orange:hover{background:var(--danger,#d8543f);filter:brightness(1.08)}.attn-item{cursor:default;border-radius:11px;align-items:flex-start;gap:12px;padding:13px 14px;display:flex;position:relative}.attn-item:hover{background:var(--surface-2,#f1f2f7)}.attn-bar{background:var(--border-default,#e7e8f0);border-radius:3px;flex-shrink:0;align-self:stretch;width:3px}.attn-item.bad .attn-bar{background:var(--danger,#d8543f)}.attn-item.warn .attn-bar{background:var(--warning,#c98a3a)}.attn-main{flex:1;min-width:0}.attn-cat{font-size:11px;font-weight:var(--fw-semibold,600);color:var(--text-muted,#7c819c);letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px}.attn-item.bad .attn-cat{color:var(--danger,#d8543f)}.attn-item.warn .attn-cat{color:var(--warning,#c98a3a)}.attn-title{font-size:14.5px;font-weight:var(--fw-semibold,600);color:var(--ink,#1c2243);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;overflow:hidden}.attn-desc{color:var(--text-muted,#7c819c);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.4;display:-webkit-box;overflow:hidden}.attn-cta{border-radius:var(--r-sm,8px);background:var(--primary,#272f63);color:#fff;font-size:12.5px;font-weight:var(--fw-bold,700);cursor:pointer;font-family:var(--font-sans);transition:background var(--t-fast,.12s);white-space:nowrap;border:none;flex-shrink:0;align-self:center;padding:7px 12px}.attn-cta:active{transform:scale(.97)}.attn-cta:hover{filter:brightness(1.08)}.attn-cta.bad{background:var(--danger,#d8543f)}.attn-cta.warn{background:var(--warning,#c98a3a)}.conversation-list{flex-direction:column;display:flex}.conversation-row{cursor:pointer;transition:background var(--t-fast,.12s);border-radius:11px;align-items:center;gap:12px;padding:11px 13px;display:flex}.conversation-row:hover{background:var(--surface-2,#f1f2f7)}.conversation-row__main{flex:1;min-width:0}.avatar-circle{border-radius:var(--r-full,999px);width:42px;height:42px;font-size:16px;font-weight:var(--fw-bold,700);color:#fff;flex-shrink:0;place-items:center;display:grid}.avatar-circle.avatar--cream{background:var(--primary,#272f63)}.avatar-circle.avatar--mint{background:var(--accent,#2f8f93)}.avatar-circle.avatar--blue{background:var(--primary-700,#343f80)}.avatar-circle.avatar--pink{background:var(--danger,#d8543f)}.conversation-row__avatar{border-radius:var(--r-full,999px);background:var(--primary-50,#eef0fb);width:42px;height:42px;font-size:14px;font-weight:var(--fw-bold,700);color:var(--primary,#272f63);flex-shrink:0;place-items:center;display:grid}.conversation-row__content{flex:1;min-width:0}.conversation-row__meta{align-items:center;gap:8px;margin-bottom:2px;display:flex}.conversation-row__name{font-size:var(--fs-sm,14px);font-weight:var(--fw-semibold,600);color:var(--ink,#1c2243);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conversation-row__tag{font-size:11px;font-weight:var(--fw-medium,500);color:var(--text-muted,#7c819c);border-radius:var(--r-full,999px);background:var(--surface-2,#f1f2f7);white-space:nowrap;padding:1px 8px}.conversation-row__preview{font-size:var(--fs-sm-2,13px);color:var(--text-muted,#7c819c);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.conversation-row__time{color:var(--text-muted,#7c819c);white-space:nowrap;flex-shrink:0;align-self:flex-start;margin-top:2px;font-size:11.5px}.conversation-row__unread{border-radius:var(--r-full,999px);background:var(--accent,#2f8f93);color:#fff;width:28px;height:28px;font-size:11px;font-weight:var(--fw-bold,700);flex-shrink:0;place-items:center;display:grid}.event-list{flex-direction:column;gap:10px;display:flex}.event-row{align-items:center;gap:12px;padding:10px;display:flex}.event-date-tile{border-radius:var(--r-lg,14px);background:var(--primary-50,#eef0fb);text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:68px;height:88px;display:flex}.event-date-tile__day{font-size:22px;font-weight:var(--fw-bold,700);color:var(--primary,#272f63);line-height:1.1}.event-date-tile__month{font-size:12px;font-weight:var(--fw-semibold,600);color:var(--text-muted,#7c819c);text-transform:uppercase;letter-spacing:.05em}.event-row__content{flex:1;min-width:0}.event-row__title{font-size:14.5px;font-weight:var(--fw-semibold,600);color:var(--ink,#1c2243);margin-bottom:3px}.event-row__time{color:var(--text-muted,#7c819c);font-size:13px}.event-row__status{align-items:center;gap:6px;margin-top:4px;display:flex}.event-row__status.is-success{color:var(--success,#1f9d6b)}.event-row__status.is-warning{color:var(--warning,#c98a3a)}.event-row__status-dot{border-radius:var(--r-full,999px);background:var(--success,#1f9d6b);width:6px;height:6px}.event-row__status-dot.is-success{background:var(--success,#1f9d6b)}.event-row__status-dot.is-warning{background:var(--warning,#c98a3a)}.empty{text-align:center;color:var(--text-muted,#7c819c);flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.empty-mark{font-size:20px}.empty-t{font-size:14.5px;font-weight:var(--fw-semibold,600);color:var(--text,#3a4060)}.empty-s{font-size:13px}.btn-dashed-add{border:1.5px dashed var(--border-default,#e7e8f0);border-radius:var(--r-lg,14px);cursor:pointer;width:100%;font-family:var(--font-sans);font-size:var(--fs-sm-2,13px);font-weight:var(--fw-semibold,600);color:var(--text-muted,#7c819c);transition:background var(--t-fast,.12s), border-color var(--t-fast,.12s);background:0 0;justify-content:center;align-items:center;gap:8px;padding:14px;display:flex}.btn-dashed-add:hover{background:var(--surface-2,#f1f2f7);border-color:var(--border-strong,#dcdee8);color:var(--text,#3a4060)}.fab-assistant{border-radius:var(--r-full,999px);background:var(--primary,#272f63);color:#fff;width:62px;height:62px;box-shadow:var(--shadow-fab);cursor:pointer;transition:transform var(--t-base,.14s), box-shadow var(--t-base,.14s);z-index:100;border:none;justify-content:center;align-items:center;display:flex;position:fixed;bottom:28px;right:28px}.fab-assistant:hover{transform:translateY(-2px);box-shadow:0 12px 32px #272f6359}.fab-assistant__icon{place-items:center;width:28px;height:28px;display:grid}@media (width<=1024px){.dashboard-shell{grid-template-columns:1fr;gap:20px;padding:16px}.attn-item{gap:10px;padding:11px 12px}}@media (width<=380px){.conversation-row__tag{display:none}}.tasks-page{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.tasks-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.tasks-header-left{flex-direction:column;gap:2px;display:flex}.tasks-subtitle{font-size:var(--text-sm);color:var(--color-text-muted);margin:0}.tasks-create-btn{border-radius:var(--radius-sm);background:var(--btn-primary-bg);color:var(--btn-primary-text);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;box-shadow:var(--shadow-xs);border:none;flex-shrink:0;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;display:inline-flex}.tasks-create-btn:hover{background:var(--btn-primary-bg-hover)}.tasks-create-btn:disabled,.tasks-create-btn--disabled{background:var(--color-border);color:var(--text-disabled);cursor:not-allowed;pointer-events:none}.tasks-create-btn:disabled:hover,.tasks-create-btn--disabled:hover{background:var(--color-border)}.tasks-search{border-radius:var(--radius-sm);border:1px solid var(--input-border);background:var(--input-bg);min-height:42px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:center;gap:10px;padding:0 14px;display:flex}.tasks-search:focus-within{border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.tasks-search-icon{color:var(--color-text-soft);flex-shrink:0}.tasks-search-input{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text);background:0 0;border:none;outline:none;flex:1;min-height:36px;font-family:inherit}.tasks-search-input::placeholder{color:var(--input-placeholder)}.tasks-search-clear{width:24px;height:24px;color:var(--color-text-soft);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.tasks-search-clear:hover{background:var(--color-surface);color:var(--color-text)}.tasks-filters{flex-wrap:wrap;gap:6px;display:flex}.tasks-filter-chip{border:1px solid var(--card-border);color:var(--color-text-soft);font-size:12px;font-weight:var(--weight-medium);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border-radius:999px;padding:6px 18px;font-family:inherit}.tasks-filter-chip:hover{background:var(--color-surface);color:var(--color-text-muted)}.tasks-filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.tasks-form-card{background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);box-shadow:var(--card-shadow);flex-direction:column;display:flex;overflow:hidden}.tasks-form-header{padding:var(--space-5) var(--space-6);justify-content:space-between;align-items:center;display:flex}.tasks-form-title{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.tasks-form-close{width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.tasks-form-close:hover{background:var(--color-surface-hover)}.tasks-form-body{padding:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.tasks-form-footer{gap:var(--space-3);padding:var(--space-5) var(--space-6);justify-content:flex-end;display:flex}.tasks-field{flex-direction:column;flex:1;gap:4px;display:flex}.tasks-field--half{min-width:0}.tasks-field-row{gap:var(--space-5);display:flex}.tasks-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);line-height:1.3}.tasks-required{color:var(--color-error)}.tasks-input{border-radius:var(--radius-sm);border:1px solid var(--input-border);width:100%;font-size:var(--text-base);font-weight:var(--weight-regular);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:var(--input-bg);color:var(--color-text);outline:none;min-height:42px;padding:10px 14px;font-family:inherit}.tasks-input::placeholder{color:var(--input-placeholder)}.tasks-input:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 3px var(--color-focus-ring)}.tasks-input--error{border-color:var(--color-error)}.tasks-input--error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #dc26261f}.tasks-textarea{resize:vertical;min-height:80px;line-height:var(--leading-normal)}.tasks-field-error{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-error);line-height:1.3}.tasks-field-row .tasks-field-error{display:block}.tasks-btn{border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:10px 24px;font-family:inherit;display:inline-flex}.tasks-btn--primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--shadow-xs);border:none}.tasks-btn--primary:hover{background:var(--btn-primary-bg-hover)}.tasks-btn--secondary{color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.tasks-btn--secondary:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.tasks-empty{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-12) var(--space-4);color:var(--color-text-soft);text-align:center;flex-direction:column;display:flex}.tasks-empty-text{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text-muted);margin:0}.tasks-empty-sub{font-size:var(--text-sm);color:var(--color-text-soft);margin:0}.tasks-list{flex-direction:column;gap:6px;display:flex}.tasks-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--card-bg);border-radius:var(--radius-md);border:1px solid var(--card-border);box-shadow:var(--card-shadow);transition:box-shadow var(--transition-base), border-color var(--transition-fast);display:flex}.tasks-row:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border-strong)}.tasks-row--done{opacity:.65}.tasks-row-left{align-items:flex-start;gap:var(--space-3);flex:1;min-width:0;display:flex}.tasks-checkbox{border:2px solid var(--color-border);cursor:pointer;width:22px;height:22px;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;padding:0;display:flex}.tasks-checkbox:hover{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring)}.tasks-checkbox--checked{background:var(--color-primary);border-color:var(--color-primary)}.tasks-row-content{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.tasks-row-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);line-height:1.4}.tasks-row--done .tasks-row-title{text-decoration:line-through}.tasks-row-desc{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.tasks-row-meta{gap:var(--space-3);flex-wrap:wrap;margin-top:2px;display:flex}.tasks-row-meta-item{font-size:var(--fs-xs,12px);font-weight:var(--weight-medium);color:var(--color-text-soft);align-items:center;gap:4px;line-height:1.3;display:inline-flex}.tasks-row-meta-item--deadline{color:var(--color-accent-text)}.tasks-row-right{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.tasks-status-badge{font-size:var(--fs-xs,12px);font-weight:var(--weight-medium);border-radius:var(--r-full,999px);white-space:nowrap;padding:3px 12px;line-height:1.5}.tasks-status-badge--todo{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.tasks-status-badge--in_progress{background:var(--badge-info-bg);color:var(--badge-info-text)}.tasks-status-badge--completed{background:var(--badge-success-bg);color:var(--badge-success-text)}.tasks-row-action{border-radius:var(--r-sm,8px);width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.tasks-row-action:hover{background:var(--color-surface);color:var(--color-text)}.tasks-row-action--delete:hover{background:var(--color-error-soft);color:var(--color-error)}@media (width<=640px){.tasks-header{flex-direction:column}.tasks-field-row{gap:var(--space-3);flex-direction:column}}.slash-palette{animation:.15s ease-out palette-slide-up}@keyframes palette-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slash-palette ::-webkit-scrollbar{width:3px}.slash-palette ::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}.slash-palette{-webkit-user-select:none;user-select:none}@supports (padding-bottom:env(safe-area-inset-bottom)){.slash-palette{margin-bottom:calc(4px + env(safe-area-inset-bottom,0px))}}.inbox{flex-direction:column;height:100%;display:flex}.inbox-filters{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-shrink:0;gap:6px;padding:10px 16px;display:flex;overflow-x:auto}.inbox-filters::-webkit-scrollbar{display:none}.inbox-filter-chip{border:1px solid var(--color-border);background:var(--card-bg);color:var(--color-text-soft);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:500}.inbox-filter-chip:hover{background:var(--color-surface);color:var(--color-text-muted)}.inbox-filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.inbox-list{flex:1;overflow-y:auto}.inbox-empty{text-align:center;color:var(--color-text-soft);padding:48px 16px;font-size:13px}.inbox-row{cursor:pointer;transition:background var(--transition-fast);background:var(--color-bg)}.inbox-row:hover{background:var(--bg-hover)}.inbox-row.active{background:var(--color-primary-soft)}.inbox-row-main{padding:12px 16px}.inbox-row-top{align-items:center;gap:8px;margin-bottom:4px;display:flex}.inbox-row-name{color:var(--color-text);font-size:14px;font-weight:500;line-height:1.4}.inbox-row-name.unread{font-weight:600}.inbox-role-badge{border:1px solid;border-radius:4px;flex-shrink:0;padding:1px 6px;font-size:10px;font-weight:500;line-height:1.4}.inbox-row-time{color:var(--color-text-soft);flex-shrink:0;margin-left:auto;font-size:11px}.inbox-row-bottom{align-items:center;gap:8px;display:flex}.inbox-row-preview{min-width:0;color:var(--color-text-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;line-height:1.4;overflow:hidden}.inbox-row-preview.unread{color:var(--color-text-muted);font-weight:500}.inbox-row-end{flex-shrink:0;align-items:center;gap:4px;display:flex}.inbox-unread-count{background:var(--color-primary);min-width:18px;height:18px;color:var(--color-text-inverse);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.inbox-chevron{color:var(--color-text-disabled);flex-shrink:0}.student-drawer-overlay{z-index:190;background:#0006;animation:.2s drawer-fade-in;position:fixed;inset:0}@keyframes drawer-fade-in{0%{opacity:0}to{opacity:1}}.student-drawer-sheet{z-index:191;background:var(--bg-surface);border-radius:16px 16px 0 0;flex-direction:column;max-height:60vh;animation:.25s ease-out drawer-slide-up;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #00000014}@keyframes drawer-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.student-drawer-header{flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 16px 12px;display:flex}.student-drawer-title{color:var(--text-primary);letter-spacing:-.01em;font-size:15px;font-weight:600}.student-drawer-close{background:var(--bg-elevated);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s;display:flex}.student-drawer-close:hover{background:var(--bg-hover)}.student-drawer-body{flex:1;padding:0 16px 24px;overflow-y:auto}.student-drawer-empty{text-align:center;color:var(--text-tertiary);padding:32px 0;font-size:13px}.student-drawer-list{flex-direction:column;display:flex}.student-drawer-row{background:var(--bg-app);align-items:flex-start;gap:12px;padding:14px 0;display:flex}.student-drawer-row-icon{background:var(--accent-tint);width:36px;height:36px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.student-drawer-row-content{flex-direction:column;gap:1px;min-width:0;display:flex}.student-drawer-row-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.student-drawer-row-value{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.4}.student-drawer-row-subtext{color:#065f46;font-size:13px;font-weight:500;line-height:1.4}.fmp-page{gap:var(--space-6);background:var(--color-bg);width:100%;min-height:100%;padding-bottom:var(--space-8);flex-direction:column;display:flex}.fmp-header{gap:var(--space-2);margin-bottom:var(--space-2);flex-direction:column;display:flex}.fmp-header-title{font-size:var(--fs-h1,27px);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary);margin:0}.fmp-header-subtitle{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--text-tertiary);line-height:var(--leading-normal);margin:0}.fmp-analytics-grid{gap:var(--space-4);flex-direction:column;width:100%;display:flex}.fmp-chart-card{min-width:0}.fmp-chart-range-dropdown{position:relative}.fmp-chart-range-trigger{background:var(--surface-2,#f1f2f7);border:1px solid var(--border-default,#e7e8f0);border-radius:var(--r-full,999px);color:var(--text-muted,#7c819c);font-size:var(--fs-xs,12px);font-weight:var(--fw-medium,500);cursor:pointer;white-space:nowrap;transition:all var(--t-base,.14s) ease;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;line-height:1;display:inline-flex}.fmp-chart-range-trigger:hover{border-color:var(--color-border);background:var(--color-surface-hover)}.fmp-chart-range-trigger:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);border-color:var(--color-primary);outline:none}.fmp-chart-card-total{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-3);display:flex}.fmp-chart-card-amount{font-size:24px;font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1.2}.fmp-chart-card-growth{font-size:10px;font-weight:var(--weight-medium);color:var(--color-success);opacity:.8;align-items:center;gap:2px;line-height:1;display:inline-flex}.fmp-chart-container{align-items:flex-end;gap:4px;height:160px;padding-top:4px;display:flex}.fmp-chart-bar-group{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex;position:relative}.fmp-chart-bar-label-tooltip{background:var(--color-primary);color:#fff;font-size:9px;font-weight:var(--weight-semibold);white-space:nowrap;z-index:2;pointer-events:none;border-radius:4px;padding:2px 6px;position:absolute;bottom:calc(100% + 4px)}.fmp-chart-bar{cursor:pointer;border-radius:4px 4px 0 0;width:100%;min-height:4px;transition:all .15s;position:relative}.fmp-chart-bar--active{background:var(--color-primary);opacity:1}.fmp-chart-bar--inactive{background:var(--accent-tint);opacity:.7}.fmp-chart-bar--inactive:hover{opacity:1}.fmp-chart-bar-month{color:var(--text-tertiary);font-size:9px;font-weight:var(--weight-medium);text-align:center;line-height:1}.fmp-status-card{min-width:0;display:flex}.fmp-status-card>.dash-card{flex:1}.fmp-status-period-selector{align-items:center;display:flex}.fmp-status-rows{flex-direction:column;flex:1;justify-content:center;gap:2px;padding:0;display:flex}.fmp-status-row{padding:var(--space-3) 0;border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;transition:background .15s;display:flex}.fmp-status-row:last-child{border-bottom:none}.fmp-status-row:hover{padding-left:var(--space-1);padding-right:var(--space-1);margin-left:calc(-1 * var(--space-1));margin-right:calc(-1 * var(--space-1));border-radius:var(--radius-xs);background:var(--bg-hover)}.fmp-status-count{font-size:20px;font-weight:var(--weight-bold);color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight);line-height:1.2}.fmp-status-badge{font-size:12px;font-weight:var(--weight-medium);color:var(--text-secondary);align-items:center;gap:5px;display:inline-flex}.fmp-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.fmp-status-dot--paid{background:var(--color-success)}.fmp-status-dot--pending{background:var(--color-accent)}.fmp-status-dot--overdue{background:var(--color-error)}.fmp-metrics-row{gap:var(--space-3);grid-template-columns:repeat(2,1fr);width:100%;display:grid}.fmp-metric-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4);box-shadow:var(--card-shadow);gap:var(--space-2);flex-direction:column;display:flex;position:relative}.fmp-metric-header{justify-content:space-between;align-items:center;display:flex}.fmp-metric-icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.fmp-metric-trend{font-size:10px;font-weight:var(--weight-semibold);color:var(--color-success);align-items:center;gap:2px;display:inline-flex}.fmp-metric-value{font-size:16px;font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1.2}.fmp-metric-label{font-size:10px;font-weight:var(--weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:1}.fmp-table-section{width:100%}.fmp-toolbar{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}.fmp-search-wrapper{background:var(--input-bg);border-radius:var(--radius-sm);border:1px solid var(--input-border);padding:0 var(--space-3);flex:200px;align-items:center;gap:8px;min-width:160px;min-height:36px;transition:border-color .15s;display:flex}.fmp-search-wrapper:focus-within{border-color:var(--input-border-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}.fmp-search-wrapper:hover{border-color:var(--input-border-hover)}.fmp-search-icon{color:var(--text-tertiary);flex-shrink:0;align-items:center;display:inline-flex}.fmp-search-input{color:var(--text-primary);padding:var(--space-2) 0;background:0 0;border:none;outline:none;flex:1;min-height:36px;font-family:inherit;font-size:13px;line-height:1}.fmp-search-input::placeholder{color:var(--input-placeholder)}.fmp-filter-dropdown{position:relative}.fmp-filter-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);font-size:12px;font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;min-height:36px;padding:8px 12px;font-family:inherit;line-height:1;transition:all .15s;display:inline-flex}.fmp-filter-btn:hover{border-color:var(--color-border-strong);background:var(--bg-hover)}.fmp-filter-icon-btn{border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-surface);width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.fmp-filter-icon-btn:hover{background:var(--bg-hover);border-color:var(--color-border-strong)}.fmp-dropdown-overlay{z-index:9;position:fixed;inset:0}.fmp-dropdown-menu{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10;min-width:140px;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden}.fmp-dropdown-menu--right{left:auto;right:0}.fmp-dropdown-item{width:100%;color:var(--text-primary);font-size:12px;font-weight:var(--weight-normal);cursor:pointer;text-align:left;background:0 0;border:none;padding:8px 14px;font-family:inherit;line-height:1.4;transition:background .15s;display:block}.fmp-dropdown-item:hover{background:var(--bg-hover)}.fmp-dropdown-item--active{background:var(--accent-tint);color:var(--accent);font-weight:var(--weight-semibold)}.fmp-table-wrapper{border:1px solid var(--card-border);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--card-shadow);margin-top:0;overflow-x:auto}.fmp-table{border-collapse:collapse;width:100%;min-width:900px;font-size:12px}.fmp-table thead tr{border-bottom:1px solid var(--color-divider)}.fmp-table th{border-bottom:1px solid var(--color-divider);color:var(--text-tertiary);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;vertical-align:middle;text-align:left;padding:10px 8px;font-size:11px;line-height:1.3}.fmp-table th[data-align=center],.fmp-table td[data-align=center]{text-align:center}.fmp-table th[data-align=right],.fmp-table td[data-align=right]{text-align:right}.fmp-table th[data-width=checkbox]{width:32px}.fmp-table th[data-width=narrow]{width:36px}.fmp-table th[data-width=action]{width:48px}.fmp-table input[type=checkbox]{accent-color:var(--accent);cursor:pointer;vertical-align:middle;width:14px;height:14px;margin:0}.fmp-table tbody tr{border-bottom:1px solid var(--color-divider);transition:background .15s}.fmp-table tbody tr:last-child{border-bottom:none}.fmp-table tbody tr:hover{background:var(--bg-hover)}.fmp-table tbody tr[data-selected=true]{background:var(--accent-tint)}.fmp-table td{vertical-align:middle;text-align:left;padding:10px 8px;line-height:1.3}.fmp-table td[data-muted=true]{color:var(--text-tertiary);font-weight:var(--weight-medium);font-size:11px}.fmp-student-cell{align-items:center;gap:8px;display:flex}.fmp-student-avatar{background:var(--accent-tint);width:28px;height:28px;color:var(--accent);font-size:10px;font-weight:var(--weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.fmp-student-name{font-size:12px;font-weight:var(--weight-medium);color:var(--text-primary);line-height:1.3}.fmp-class-name{color:var(--text-secondary);font-size:12px;font-weight:var(--weight-normal)}.fmp-numeric-cell{text-align:right;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:12px}.fmp-numeric-cell--bold{font-weight:var(--weight-semibold)}.fmp-numeric-cell--danger{color:var(--color-error);font-weight:var(--weight-semibold)}.fmp-numeric-cell--success{color:var(--color-success);font-weight:var(--weight-semibold)}.fmp-numeric-cell--muted{color:var(--text-tertiary);font-weight:var(--weight-normal)}.fmp-status-pill{font-size:11px;font-weight:var(--weight-medium);white-space:nowrap;border-radius:100px;align-items:center;gap:4px;padding:2px 10px;line-height:1.4;display:inline-flex}.fmp-status-pill--paid{background:var(--badge-success-bg);color:var(--badge-success-text)}.fmp-status-pill--pending{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.fmp-status-pill--overdue{background:var(--badge-error-bg);color:var(--badge-error-text)}.fmp-status-pill-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.fmp-status-pill-dot--paid{background:var(--color-success)}.fmp-status-pill-dot--pending{background:var(--color-accent)}.fmp-status-pill-dot--overdue{background:var(--color-error)}.fmp-row-action-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:8px;line-height:1;transition:all .15s;display:inline-flex;position:relative}.fmp-row-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.fmp-row-action-btn:active{background:var(--color-surface-selected);transform:scale(.95)}.fmp-row-action-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.fmp-row-action-btn svg{width:var(--icon-sm);height:var(--icon-sm);stroke-width:var(--icon-stroke)}@media (width<=480px){.fmp-row-action-btn{min-width:44px;min-height:44px;padding:10px}}.fmp-action-menu-overlay{z-index:9;position:fixed;inset:0}.fmp-action-menu{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);z-index:10;min-width:150px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden}.fmp-action-item{width:100%;color:var(--text-primary);font-size:12px;font-weight:var(--weight-medium);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;transition:background .15s;display:flex}.fmp-action-item:hover{background:var(--bg-hover)}.fmp-action-item-icon{color:var(--accent);flex-shrink:0}.fmp-table-empty{text-align:center;color:var(--text-tertiary);font-size:13px;font-weight:var(--weight-normal);padding:40px 16px}.fmp-pagination{padding-top:var(--space-3);border-top:1px solid var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.fmp-pagination-info{color:var(--text-tertiary);font-size:11px;font-weight:var(--weight-medium);line-height:1}.fmp-pagination-controls{align-items:center;gap:4px;display:flex}.fmp-page-btn{width:32px;height:32px;color:var(--text-secondary);font-size:12px;font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-family:inherit;line-height:1;transition:all .12s;display:inline-flex}.fmp-page-btn:hover:not(:disabled){background:var(--bg-hover)}.fmp-page-btn:disabled{opacity:.5;cursor:not-allowed}.fmp-page-btn--nav{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-primary)}.fmp-page-btn--nav:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border)}.fmp-page-btn--nav:disabled{color:var(--text-tertiary)}.fmp-page-btn--active{background:var(--accent-tint);border:1px solid var(--accent);color:var(--accent);font-weight:var(--weight-semibold)}.fmp-chart-tooltip{background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-md);min-width:140px}.fmp-chart-tooltip-month{font-size:12px;font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1);letter-spacing:var(--tracking-tight)}.fmp-chart-tooltip-divider{background:var(--color-divider);height:1px;margin:var(--space-1) 0}.fmp-chart-tooltip-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:2px 0;display:flex}.fmp-chart-tooltip-label{font-size:11px;font-weight:var(--weight-medium);color:var(--text-tertiary)}.fmp-chart-tooltip-value{font-size:12px;font-weight:var(--weight-semibold);color:var(--text-primary);font-variant-numeric:tabular-nums}.fmp-chart-tooltip-quarter{font-size:10px;font-weight:var(--weight-medium);color:var(--text-tertiary);margin-top:var(--space-1);letter-spacing:var(--tracking-wide);text-transform:uppercase}.fmp-chart-quarter-divider-group{pointer-events:none}.fmp-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=479px){.fmp-metrics-row{gap:var(--space-2);grid-template-columns:1fr 1fr}.fmp-metric-card{padding:var(--space-3)}.fmp-metric-value{font-size:clamp(14px,.875rem + .3vw,16px)}.fmp-metric-label{font-size:9px}.fmp-analytics-grid{gap:var(--space-3)}.fmp-table-wrapper{margin:0 calc(-1 * var(--space-3));width:calc(100% + 2 * var(--space-3));border-radius:0}}@media (width>=640px){.fmp-page{gap:var(--space-7)}.fmp-analytics-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.fmp-analytics-grid>.fmp-chart-card{grid-column:1/-1}.fmp-metrics-row{gap:var(--space-3);grid-template-columns:repeat(2,1fr)}}@media (width>=960px){.fmp-page{gap:var(--space-8)}.fmp-analytics-grid{gap:var(--space-5);grid-template-columns:1fr 1fr 1fr}.fmp-analytics-grid>.fmp-chart-card{grid-column:span 2}.fmp-analytics-grid>.fmp-status-card{grid-column:span 1}.fmp-metrics-row{gap:var(--space-3);grid-template-columns:repeat(4,1fr)}.fmp-chart-card-amount{font-size:24px}.fmp-metric-card{padding:var(--space-4)}}@media (width>=1280px){.fmp-page{max-width:var(--content-max-width-desktop);margin-left:auto;margin-right:auto}.fmp-analytics-grid{gap:var(--space-6)}.fmp-metrics-row{gap:var(--space-4)}.fmp-metric-value{font-size:18px}}@media (width>=1536px){.fmp-page{max-width:var(--content-max-width-ultra)}}.hm-page{gap:var(--space-5);background:var(--color-bg);width:100%;min-height:100%;padding-bottom:var(--space-8);flex-direction:column;display:flex}.hm-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-1);display:flex}.hm-page-title{font-size:28px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary);margin:0}.hm-page-subtitle{font-size:var(--text-sm);color:var(--text-tertiary);margin:var(--space-1) 0 0 0}.hm-page-action{flex-shrink:0}.hm-kpi-row{gap:var(--space-3);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=860px){.hm-kpi-row{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.hm-kpi-row{grid-template-columns:1fr}}.hm-kpi-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-4);align-items:center;gap:var(--space-3);box-shadow:var(--card-shadow);display:flex}.hm-kpi-icon{border-radius:var(--radius-xs);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.hm-kpi-icon svg{width:18px;height:18px}.hm-kpi-info{flex-direction:column;min-width:0;display:flex}.hm-kpi-value{font-size:18px;font-weight:var(--weight-bold);color:var(--text-primary);letter-spacing:var(--tracking-tight);font-variant-numeric:tabular-nums;line-height:1.2}.hm-kpi-label{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--weight-medium);line-height:1.3}.hm-kpi-sub{color:var(--color-text-soft);margin-top:1px;font-size:10px}.hm-dash-grid{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.hm-dash-full{grid-column:1/-1}@media (width<=860px){.hm-dash-grid{grid-template-columns:1fr}}.hm-attention-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:var(--card-shadow)}.hm-attention-header{align-items:center;gap:var(--space-2);font-size:13px;font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider);display:flex}.hm-attention-list{gap:var(--space-2);flex-direction:column;display:flex}.hm-attention-item{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider);font-size:12px;display:flex}.hm-attention-item:last-child{border-bottom:none}.hm-attention-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.hm-attention-dot--high{background:var(--color-error)}.hm-attention-dot--medium{background:var(--color-accent)}.hm-attention-dot--low{background:var(--color-success)}.hm-attention-text{color:var(--text-secondary);flex:1}.hm-attention-count{font-size:11px;font-weight:var(--weight-semibold);color:var(--text-tertiary);font-variant-numeric:tabular-nums}.hm-shortcuts-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:var(--card-shadow)}.hm-shortcuts-header{align-items:center;gap:var(--space-2);font-size:13px;font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider);display:flex}.hm-shortcuts-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.hm-shortcut-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-xs);cursor:pointer;font-family:inherit;font-size:11px;font-weight:var(--weight-medium);color:var(--text-secondary);transition:all var(--transition-fast);text-align:left;display:flex}.hm-shortcut-btn:hover{background:var(--color-surface-hover);border-color:var(--color-border);color:var(--text-primary)}.hm-shortcut-icon{color:var(--color-primary);align-items:center;display:flex}.hm-section-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:var(--card-shadow)}.hm-section-header{margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.hm-section-title{font-size:13px;font-weight:var(--weight-semibold);color:var(--text-primary)}.hm-section-badge{color:var(--text-tertiary);font-size:10px;font-weight:var(--weight-medium)}.hm-dash-list{flex-direction:column;gap:0;display:flex}.hm-dash-list-item{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider);font-size:12px;display:flex}.hm-dash-list-item:last-child{border-bottom:none}.hm-dash-list-label{color:var(--text-secondary);flex:1}.hm-dash-list-value{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-primary)}.hm-dash-list-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.hm-dash-list-dot--green{background:var(--color-success)}.hm-dash-list-dot--amber{background:var(--color-accent)}.hm-dash-list-dot--red{background:var(--color-error)}.hm-dash-list-dot--blue{background:var(--color-primary)}.hm-occ-bar{background:var(--color-surface);height:6px;margin:var(--space-2) 0;border-radius:100px;overflow:hidden}.hm-occ-fill{border-radius:100px;height:100%;transition:width .3s}.hm-occ-legend{justify-content:space-between;gap:var(--space-4);color:var(--text-tertiary);margin-top:var(--space-1);font-size:10px;display:flex}.hm-occ-legend span{align-items:center;gap:4px;display:flex}.hm-occ-legend-dot{border-radius:50%;width:6px;height:6px}.hm-tabs{border-bottom:1px solid var(--color-divider);margin-bottom:var(--space-4);scrollbar-width:none;-ms-overflow-style:none;gap:0;display:flex;overflow-x:auto}.hm-tabs::-webkit-scrollbar{display:none}.hm-tab{padding:var(--space-2) var(--space-4);font-size:12px;font-weight:var(--weight-medium);color:var(--text-tertiary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-family:inherit}.hm-tab:hover{color:var(--text-secondary)}.hm-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:var(--weight-semibold)}.hm-filterbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.hm-filter-btn{background:var(--color-surface);border:1px solid var(--color-divider);color:var(--text-secondary);font-size:11px;font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);border-radius:100px;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;line-height:1;display:inline-flex}.hm-filter-btn:hover{border-color:var(--color-border);background:var(--color-surface-hover)}.hm-filter-btn:focus-visible{box-shadow:0 0 0 2px var(--color-focus-ring);border-color:var(--color-primary);outline:none}.hm-dropdown-overlay{z-index:10;position:fixed;inset:0}.hm-dropdown-menu{z-index:11;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xs);min-width:150px;box-shadow:var(--shadow-md);padding:var(--space-1);flex-direction:column;gap:1px;display:flex;position:absolute;top:calc(100% + 4px);left:0}.hm-dropdown-menu--right{left:auto;right:0}.hm-dropdown-item{width:100%;padding:var(--space-2) var(--space-3);font-size:11px;font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;font-family:inherit;display:block}.hm-dropdown-item:hover{background:var(--color-surface);color:var(--text-primary)}.hm-dropdown-item--active{background:var(--accent-tint);color:var(--color-primary)}.hm-search{align-items:center;display:flex;position:relative}.hm-search-icon{color:var(--text-tertiary);pointer-events:none;position:absolute;left:10px}.hm-search-input{background:var(--color-surface);border:1px solid var(--color-divider);width:200px;color:var(--text-primary);transition:all var(--transition-fast);border-radius:100px;outline:none;padding:6px 10px 6px 30px;font-family:inherit;font-size:11px}.hm-search-input::placeholder{color:var(--text-tertiary)}.hm-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus-ring)}.hm-table-wrapper{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);box-shadow:var(--card-shadow);overflow-x:auto}.hm-table{border-collapse:collapse;width:100%;font-size:12px}.hm-table thead{background:var(--color-surface);border-bottom:1px solid var(--color-divider)}.hm-table th{padding:var(--space-2) var(--space-3);font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap;font-size:10px}.hm-table td{padding:var(--space-3) var(--space-3);color:var(--text-primary);border-bottom:1px solid var(--color-divider);white-space:nowrap}.hm-table tbody tr:last-child td{border-bottom:none}.hm-table tbody tr:hover{background:var(--color-surface)}.hm-student-cell{align-items:center;gap:var(--space-2);display:flex}.hm-avatar{background:var(--accent-tint);width:28px;height:28px;color:var(--color-primary);font-size:10px;font-weight:var(--weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.hm-pill{font-size:10px;font-weight:var(--weight-medium);white-space:nowrap;border-radius:100px;align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.hm-pill--success{background:var(--badge-success-bg);color:var(--badge-success-text)}.hm-pill--warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.hm-pill--error{background:var(--badge-error-bg);color:var(--badge-error-text)}.hm-pill--info{background:var(--badge-info-bg);color:var(--badge-info-text)}.hm-pill--neutral{background:var(--badge-neutral-bg);color:var(--badge-neutral-text)}.hm-row-action{border-radius:var(--radius-xs);cursor:pointer;width:28px;height:28px;color:var(--text-tertiary);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.hm-row-action:hover{background:var(--color-surface-hover);color:var(--text-primary)}.hm-action-overlay{z-index:20;position:fixed;inset:0}.hm-action-menu{z-index:21;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-xs);min-width:160px;box-shadow:var(--shadow-lg);padding:var(--space-1);flex-direction:column;gap:1px;display:flex;position:absolute;top:calc(100% + 2px);right:0}.hm-action-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:11px;font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;border-radius:4px;font-family:inherit;display:flex}.hm-action-item:hover{background:var(--color-surface);color:var(--text-primary)}.hm-action-icon{align-items:center;display:flex}.hm-drawer-bg{z-index:100;opacity:0;pointer-events:none;background:#0f172a33;transition:opacity .2s;position:fixed;inset:0}.hm-drawer-bg--open{opacity:1;pointer-events:auto}.hm-drawer{background:var(--color-surface-raised);z-index:101;flex-direction:column;width:420px;max-width:90vw;height:100%;transition:transform .25s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 20px #0f172a14}.hm-drawer--open{transform:translate(0)}.hm-drawer-header{padding:var(--space-5);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;display:flex}.hm-drawer-title{font-size:15px;font-weight:var(--weight-semibold);color:var(--text-primary);margin:0}.hm-drawer-close{border-radius:var(--radius-xs);cursor:pointer;width:28px;height:28px;color:var(--text-tertiary);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.hm-drawer-close:hover{background:var(--color-surface);color:var(--text-primary)}.hm-drawer-body{padding:var(--space-5);flex:1;overflow-y:auto}.hm-drawer-section{margin-bottom:var(--space-5)}.hm-drawer-section-title{font-size:11px;font-weight:var(--weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:var(--space-2)}.hm-drawer-row{padding:var(--space-1) 0;justify-content:space-between;font-size:12px;display:flex}.hm-drawer-label{color:var(--text-tertiary)}.hm-drawer-value{font-weight:var(--weight-medium);color:var(--text-primary)}.hm-empty{padding:var(--space-12) var(--space-4);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.hm-empty-icon{color:var(--text-disabled);margin-bottom:var(--space-3)}.hm-empty-title{font-size:13px;font-weight:var(--weight-medium);color:var(--text-secondary);margin:0}.hm-empty-desc{color:var(--text-tertiary);margin:var(--space-1) 0 0 0;font-size:11px}.hm-loading{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-12);color:var(--text-tertiary);font-size:12px;display:flex}.hm-loading-spinner{border:2px solid var(--color-divider);border-top-color:var(--color-primary);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite hm-spin}@keyframes hm-spin{to{transform:rotate(360deg)}}.hm-pagination{padding:var(--space-3) var(--space-4);background:var(--card-bg);border:1px solid var(--card-border);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:none;justify-content:space-between;align-items:center;display:flex}.hm-pagination-info{color:var(--text-tertiary);font-size:11px}.hm-pagination-controls{gap:2px;display:flex}.hm-page-btn{border-radius:var(--radius-xs);width:28px;height:28px;font-size:11px;font-weight:var(--weight-medium);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;display:flex}.hm-page-btn:hover{background:var(--color-surface)}.hm-page-btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.hm-page-btn:disabled{opacity:.3;cursor:default}.hm-btn-primary{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-primary);color:#fff;border-radius:var(--radius-xs);font-size:12px;font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast);white-space:nowrap;border:none;font-family:inherit;display:inline-flex}.hm-btn-primary:hover{background:var(--color-primary-hover)}.hm-room-layout{gap:var(--space-4);grid-template-columns:240px 1fr;display:grid}@media (width<=860px){.hm-room-layout{grid-template-columns:1fr}}.hm-room-tree{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:var(--card-shadow)}.hm-tree-item{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border-radius:4px;font-size:11px;display:flex}.hm-tree-item:hover{background:var(--color-surface);color:var(--text-primary)}.hm-tree-item--active{background:var(--accent-tint);color:var(--color-primary);font-weight:var(--weight-medium)}.hm-tree-item--indent-1{padding-left:calc(var(--space-3) + 12px)}.hm-tree-item--indent-2{padding-left:calc(var(--space-3) + 24px)}.hm-tree-item--indent-3{padding-left:calc(var(--space-3) + 36px)}.hm-room-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.hm-room-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:var(--card-shadow)}.hm-room-card-title{font-size:12px;font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.hm-room-card-stats{color:var(--text-tertiary);margin-bottom:var(--space-2);justify-content:space-between;font-size:10px;display:flex}.hm-bed-grid{gap:var(--space-1);grid-template-columns:repeat(2,1fr);display:grid}.hm-bed-item{color:var(--text-secondary);background:var(--color-surface);border:1px solid var(--color-divider);cursor:pointer;transition:all var(--transition-fast);border-radius:4px;justify-content:space-between;align-items:center;padding:3px 6px;font-size:10px;display:flex}.hm-bed-item:hover{border-color:var(--color-border)}.hm-bed-item--occupied{border-color:var(--color-primary);background:var(--accent-tint)}.hm-bed-item--reserved{border-color:var(--color-accent);background:var(--accent-secondary-tint)}.hm-bed-item--maintenance{border-color:var(--color-error);background:var(--error-tint);opacity:.6}.hm-bed-item--available{border-color:var(--color-divider)}.hm-queue{margin-top:var(--space-4);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:var(--card-shadow)}.hm-queue-header{font-size:12px;font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.hm-queue-item{padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;font-size:11px;display:flex}.hm-queue-item:last-child{border-bottom:none}.hm-att-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid}.hm-att-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:var(--card-shadow)}.hm-att-card-name{font-size:11px;font-weight:var(--weight-medium);color:var(--text-primary);margin-bottom:var(--space-1)}.hm-att-card-status{color:var(--text-tertiary);font-size:10px}.hm-detail-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.hm-detail-field{flex-direction:column;gap:2px;display:flex}.hm-detail-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;font-size:10px}.hm-detail-value{font-size:12px;font-weight:var(--weight-medium);color:var(--text-primary)}.hm-menu-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));display:grid}.hm-menu-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-3);box-shadow:var(--card-shadow)}.hm-menu-day{font-size:11px;font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.03em}.hm-menu-meal{margin-bottom:var(--space-2)}.hm-menu-meal-title{font-size:10px;font-weight:var(--weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.03em;margin-bottom:1px}.hm-menu-meal-items{color:var(--text-secondary);font-size:11px}.hm-settings-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.hm-settings-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:var(--card-shadow)}.hm-settings-card-title{font-size:13px;font-weight:var(--weight-semibold);color:var(--text-primary);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-divider)}.hm-settings-item{padding:var(--space-2) 0;border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;font-size:11px;display:flex}.hm-settings-item:last-child{border-bottom:none}.hm-settings-item-label{color:var(--text-secondary)}.hm-settings-item-value{color:var(--text-primary);font-weight:var(--weight-medium)}@media (width<=480px){.hm-page-title{font-size:22px}.hm-filterbar{flex-direction:column;align-items:stretch}.hm-filterbar .hm-search,.hm-filterbar .hm-search-input{width:100%}.hm-drawer{width:100vw;max-width:100vw}}.jim-launcher{bottom:calc(72px + env(safe-area-inset-bottom,0px));right:max(16px, calc(16px + env(safe-area-inset-right,0px)));z-index:300;background:var(--color-primary);min-width:52px;min-height:52px;color:var(--color-text-inverse);font-family:inherit;font-size:14px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:background var(--transition-base), transform .15s cubic-bezier(.22, 1, .36, 1), box-shadow var(--transition-base), width var(--transition-base), padding var(--transition-base), border-color var(--transition-base), color var(--transition-base);border:none;border-radius:100px;justify-content:center;align-items:center;gap:8px;padding:10px 20px 10px 14px;line-height:1;display:inline-flex;position:fixed;overflow:visible;box-shadow:0 4px 16px #1e3a8a38,0 2px 4px #1e3a8a14}.jim-launcher:hover{background:var(--color-primary-hover);transform:translateY(-1.5px);box-shadow:0 6px 20px #1e3a8a47,0 2px 6px #1e3a8a1a}.jim-launcher:active{transition-duration:80ms;transform:translateY(0)scale(.96);box-shadow:0 2px 8px #1e3a8a2e}.jim-launcher:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:100px}.jim-launcher--open{background:var(--color-surface-raised);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--color-text-muted);box-shadow:var(--shadow-md);border:1px solid var(--color-divider);border-radius:50%;justify-content:center;padding:0}.jim-launcher--open:hover{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-lg);transform:none}.jim-launcher--open:active{transform:scale(.92)}.jim-launcher--open:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:50%}.jim-launcher--minimized{background:var(--color-surface-raised);min-width:44px;min-height:44px;color:var(--color-text);border:1px solid var(--color-divider);gap:6px;padding:8px 16px 8px 12px;font-size:13px;box-shadow:0 2px 12px #0f172a1f,0 1px 3px #0f172a0f}.jim-launcher--minimized:hover{background:var(--color-surface);transform:translateY(-1px);box-shadow:0 4px 16px #0f172a29,0 1px 4px #0f172a14}.jim-launcher--minimized .jim-launcher-icon{color:var(--color-primary)}.jim-launcher:disabled,.jim-launcher--unavailable{background:var(--color-text-disabled);box-shadow:none;cursor:not-allowed;opacity:.55}.jim-launcher:disabled:hover,.jim-launcher--unavailable:hover{background:var(--color-text-disabled);box-shadow:none;transform:none}.jim-launcher--unavailable .jim-launcher-label{opacity:.7}.jim-launcher-icon{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.jim-launcher-icon svg{width:100%;height:100%;display:block}.jim-launcher-label{letter-spacing:var(--tracking-tight);line-height:1}.jim-backdrop{z-index:290;padding:16px;padding-right:max(16px, calc(16px + env(safe-area-inset-right,0px)));padding-bottom:max(108px, calc(108px + env(safe-area-inset-bottom,0px)));pointer-events:none;justify-content:flex-end;align-items:flex-end;animation:.18s jim-fade-in;display:flex;position:fixed;inset:0}.jim-backdrop--exiting{animation:.15s forwards jim-fade-out}.jim-backdrop--minimized{opacity:0;pointer-events:none;border:none;height:0;min-height:0;margin:0;padding:0;overflow:hidden}.jim-panel{background:var(--color-surface-raised);border:1px solid var(--color-divider);border-radius:var(--radius-lg);pointer-events:auto;transform-origin:100% 100%;flex-direction:column;width:min(440px,100vw - 32px);height:min(580px,100dvh - 160px);animation:.22s cubic-bezier(.16,1,.3,1) jim-slide-up;display:flex;overflow:hidden;box-shadow:0 8px 32px #0f172a1a,0 4px 12px #0f172a0a}.jim-panel--exiting{animation:.15s cubic-bezier(.4,0,.2,1) forwards jim-slide-down}.jim-panel--minimized{opacity:0;pointer-events:none;border:none;height:0;min-height:0;margin:0;padding:0;transition:opacity .15s,transform .15s;overflow:hidden;transform:scale(.95)}.jim-overlay-mobile{z-index:290;pointer-events:auto;padding-top:var(--safe-top);background:#0f172a40;flex-direction:column;justify-content:flex-end;animation:.18s jim-fade-in;display:flex;position:fixed;inset:0}.jim-overlay-mobile--exiting{animation:.15s forwards jim-fade-out}.jim-panel-mobile{background:var(--color-surface-raised);border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:min(85dvh, calc(100dvh - 40px - var(--safe-top)));max-height:calc(100dvh - 40px - var(--safe-top));padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) jim-slide-up-mobile;display:flex;overflow:hidden;box-shadow:0 -4px 24px #0f172a14}.jim-panel-mobile--exiting{animation:.18s cubic-bezier(.4,0,.2,1) forwards jim-slide-down-mobile}.jim-panel-inner{background:var(--color-surface-raised);border-radius:var(--radius-lg);flex-direction:column;height:100%;display:flex;overflow:hidden}.jim-panel-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);background:var(--color-surface-raised);flex-shrink:0;justify-content:space-between;align-items:center;min-height:48px;display:flex}.jim-panel-header-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.jim-panel-header-icon{border-radius:var(--radius-xs);background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.jim-panel-header-icon svg{width:16px;height:16px}.jim-panel-header-title-group{flex-direction:column;gap:0;min-width:0;display:flex}.jim-panel-header-title{font-size:var(--text-base);font-weight:var(--weight-semibold);color:var(--color-text);margin:0;line-height:1.3}.jim-panel-header-subtitle{font-size:var(--text-xs);color:var(--color-text-soft);font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;margin:0;line-height:1.3;overflow:hidden}.jim-panel-header-status{color:var(--color-text-muted)}.jim-panel-header-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.jim-panel-header-btn{cursor:pointer;color:var(--color-text-soft);border-radius:var(--radius-xs);width:32px;height:32px;transition:background var(--transition-fast), color var(--transition-fast), transform 80ms;touch-action:manipulation;background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex}.jim-panel-header-btn:hover{background:var(--color-surface);color:var(--color-text)}.jim-panel-header-btn:active{transform:scale(.9)}.jim-panel-header-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jim-empty-state{padding:var(--space-6) var(--space-4);text-align:center;justify-content:center;align-items:center;gap:var(--space-3);flex-direction:column;flex:1;display:flex}.jim-empty-state-greeting{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);line-height:var(--leading-tight);margin:0}.jim-empty-state-greeting-role{color:var(--color-text-muted);font-weight:var(--weight-regular)}.jim-empty-state-text{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:320px;margin:0 0 var(--space-1)}.jim-empty-state-actions{width:100%}.jim-chips{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.jim-chip{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-muted);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast), transform 80ms;white-space:nowrap;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:manipulation;padding:8px 14px;font-family:inherit;display:inline-flex}.jim-chip:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.jim-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary);color:var(--color-primary)}.jim-chip:active{background:var(--color-primary-soft);border-color:var(--color-primary-active);color:var(--color-primary-active);transform:scale(.96)}.jim-chip-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.jim-chip-icon svg{width:100%;height:100%}.jim-composer{align-items:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-divider);background:var(--color-surface-raised);display:flex}.jim-composer-input{border:1px solid var(--input-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text);background:var(--input-bg);resize:none;min-height:40px;max-height:120px;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;flex:1;padding:10px 14px;font-family:inherit;line-height:1.5}.jim-composer-input:focus{border-color:var(--input-border-focus);box-shadow:0 0 0 2px var(--color-focus-ring)}.jim-composer-input::placeholder{color:var(--input-placeholder)}.jim-composer-input:disabled{background:var(--color-surface);color:var(--color-text-disabled);cursor:not-allowed}.jim-composer-send{border-radius:var(--radius-sm);background:var(--color-primary);width:40px;min-width:40px;height:40px;color:var(--color-text-inverse);cursor:pointer;transition:background var(--transition-fast), opacity var(--transition-fast), transform 80ms;touch-action:manipulation;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.jim-composer-send:hover:not(:disabled){background:var(--color-primary-hover)}.jim-composer-send:active:not(:disabled){transform:scale(.92)}.jim-composer-send:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.jim-composer-send:disabled{background:var(--color-surface);color:var(--color-text-disabled);cursor:not-allowed}.jim-message-list{padding:var(--space-4);gap:var(--space-3);-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow-y:auto}.jim-conversation-entry{gap:var(--space-2);flex-direction:column;animation:.2s both jim-message-in;display:flex}.jim-message-row{gap:var(--space-3);align-items:flex-start;display:flex}.jim-message-row--user{flex-direction:row-reverse}.jim-message-row--assistant{flex-direction:row}.jim-message-avatar{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:2px;display:flex}.jim-message-avatar--user{background:var(--color-primary-soft);color:var(--color-primary)}.jim-message-avatar--assistant{background:var(--color-surface);color:var(--color-text-muted)}.jim-message-avatar svg{width:14px;height:14px}.jim-message-bubble{border-radius:var(--radius-md);max-width:80%;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;padding:10px 14px;line-height:1.6}.jim-message-bubble--user{background:var(--color-primary-soft);color:var(--color-text);border-bottom-right-radius:var(--space-1);border:none}.jim-message-bubble--assistant{background:var(--color-bg);color:var(--color-text);border:1px solid var(--card-border);border-bottom-left-radius:var(--space-1)}.jim-message-bubble--blocked{background:var(--color-error-soft);border:1px solid var(--color-error-soft);color:var(--color-error-text)}.jim-response-body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.jim-card{background:var(--color-surface-raised);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--card-shadow)}.jim-card-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);margin-bottom:var(--space-3);align-items:center;gap:var(--space-2);display:flex}.jim-card-title svg{flex-shrink:0;width:14px;height:14px}.jim-card-row{padding:var(--space-1) 0;font-size:var(--text-sm);justify-content:space-between;align-items:center;display:flex}.jim-card-label{color:var(--color-text-muted);font-size:var(--text-xs)}.jim-card-value{color:var(--color-text);font-weight:var(--weight-medium);text-align:right}.jim-card-divider{background:var(--color-divider);height:1px;margin:var(--space-3) 0}.jim-card-badge{border-radius:var(--radius-xs);font-size:var(--text-xs);font-weight:var(--weight-medium);align-items:center;gap:4px;padding:2px 8px;display:inline-flex}.jim-card-badge svg{width:10px;height:10px}.jim-card-badge--success{background:var(--color-success-soft);color:var(--color-success-text)}.jim-card-badge--error{background:var(--color-error-soft);color:var(--color-error-text)}.jim-card-badge--warning{background:var(--badge-warning-bg);color:var(--badge-warning-text)}.jim-card-badge--info{background:var(--badge-info-bg);color:var(--badge-info-text)}.jim-card-draft-message{font-size:var(--text-sm);color:var(--color-text);line-height:1.6}.jim-card-draft-header{font-weight:var(--weight-medium);margin-bottom:var(--space-2);font-size:var(--text-xs);color:var(--color-text-muted)}.jim-card-draft-body{background:var(--color-bg);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);border:1px solid var(--card-border)}.jim-confirmation-actions{gap:var(--space-2);margin-top:var(--space-4);display:flex}.jim-confirmation-btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast), opacity var(--transition-fast);border:1px solid #0000;flex:1;line-height:1.4;display:inline-flex}.jim-confirmation-btn svg{flex-shrink:0;width:14px;height:14px}.jim-confirmation-btn--approve{background:var(--color-success);color:#fff}.jim-confirmation-btn--approve:hover{opacity:.9}.jim-confirmation-btn--approve:active{opacity:.8}.jim-confirmation-btn--cancel{background:var(--color-surface);color:var(--color-text);border-color:var(--color-divider)}.jim-confirmation-btn--cancel:hover{background:var(--color-error-soft);border-color:var(--color-error);color:var(--color-error-text)}.jim-confirmation-btn--cancel:active{background:var(--color-error-soft);opacity:.8}.jim-card-disclaimer{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-accent-soft);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-accent-text);align-items:flex-start;gap:var(--space-2);line-height:1.4;display:flex}.jim-card-disclaimer svg{flex-shrink:0;width:12px;height:12px;margin-top:1px}.jim-error-container{flex:1;justify-content:center;align-items:center;display:flex}.jim-error-body{padding:var(--space-8) var(--space-4);text-align:center;justify-content:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.jim-error-icon{border-radius:var(--radius-lg);background:var(--color-error-soft);width:48px;height:48px;color:var(--color-error);justify-content:center;align-items:center;display:flex}.jim-error-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text);margin:0}.jim-error-message{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);max-width:360px;margin:0}.jim-error-retry{margin-top:var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);transition:background var(--transition-fast), border-color var(--transition-fast), transform 80ms;touch-action:manipulation;padding:10px 20px;font-family:inherit}.jim-error-retry:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.jim-error-retry:active{transform:scale(.97)}.jim-error-retry:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@keyframes jim-fade-in{0%{opacity:0}to{opacity:1}}@keyframes jim-fade-out{0%{opacity:1}to{opacity:0}}@keyframes jim-slide-up{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes jim-slide-down{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(8px)scale(.97)}}@keyframes jim-slide-up-mobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes jim-slide-down-mobile{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes jim-message-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.jim-clarification{background:var(--color-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-4) var(--space-3);margin-top:var(--space-1)}.jim-clarification-lead{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);margin:0 0 var(--space-1);line-height:var(--leading-tight)}.jim-clarification-helper{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 var(--space-3);line-height:var(--leading-relaxed)}.jim-clarification-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.jim-clarification-chip{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text-muted);cursor:pointer;font-size:11.5px;font-weight:var(--weight-medium);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);touch-action:manipulation;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;display:inline-flex}.jim-clarification-chip:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.jim-clarification-chip:active{transform:scale(.96)}.jim-clarification-chip-icon{flex-shrink:0;justify-content:center;align-items:center;width:12px;height:12px;display:flex}.jim-greeting-actions{margin-top:var(--space-1)}.jim-greeting-actions-text{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);margin:0 0 var(--space-3);line-height:var(--leading-tight)}.jim-greeting-actions-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.jim-greeting-actions-chip{border:1px solid var(--color-border);background:var(--color-surface-raised);color:var(--color-text);cursor:pointer;font-size:var(--text-xs);font-weight:var(--weight-medium);transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);touch-action:manipulation;-webkit-user-select:none;user-select:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;border-radius:100px;align-items:center;padding:8px 15px;font-family:inherit;display:inline-flex}.jim-greeting-actions-chip:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-soft)}.jim-greeting-actions-chip:active{background:var(--color-primary-soft);border-color:var(--color-primary-active);color:var(--color-primary-active);transform:scale(.96)}.jim-greeting-actions-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-color:var(--color-primary);color:var(--color-primary)}.jim-multimatch{background:var(--color-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-1)}.jim-multimatch-header{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);margin:0 0 var(--space-1);line-height:var(--leading-tight)}.jim-multimatch-helper{font-size:var(--text-xs);color:var(--color-text-muted);margin:0 0 var(--space-2);line-height:var(--leading-relaxed)}.jim-multimatch-options{margin-top:var(--space-2);flex-direction:column;gap:6px;display:flex}.jim-multimatch-option{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--color-divider);background:var(--color-surface-raised);cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);text-align:left;touch-action:manipulation;width:100%;font-family:inherit;display:flex}.jim-multimatch-option:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.jim-multimatch-option:active{transform:scale(.99)}.jim-multimatch-option-info{flex:1;min-width:0}.jim-multimatch-option-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);line-height:1.3}.jim-multimatch-option-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:1px;line-height:1.3}.jim-multimatch-option-select{color:var(--color-primary);font-size:11px;font-weight:var(--weight-medium);flex-shrink:0}.jim-workflow-indicator{background:var(--color-primary-soft);color:var(--color-primary);font-size:10.5px;font-weight:var(--weight-medium);letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;border-radius:100px;flex-shrink:0;align-items:center;gap:5px;max-width:140px;padding:3px 8px;line-height:1;display:inline-flex;overflow:hidden}.jim-workflow-indicator-icon{flex-shrink:0;width:10px;height:10px}.jim-header-with-workflow{align-items:center;gap:var(--space-2);flex:1;min-width:0;display:flex}.jim-review-card{background:var(--color-surface-raised);border:1px solid var(--card-border);border-radius:var(--radius-md);margin-top:var(--space-1);overflow:hidden}.jim-review-card-header{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-divider);background:var(--color-bg);display:flex}.jim-review-card-header-icon{background:var(--color-primary-soft);width:20px;height:20px;color:var(--color-primary);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.jim-review-card-header-icon svg{width:12px;height:12px}.jim-review-card-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);line-height:1.3}.jim-review-card-body{padding:var(--space-3) var(--space-4)}.jim-review-card-student{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border-radius:var(--radius-sm);margin-bottom:var(--space-3);display:flex}.jim-review-card-student-avatar{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);font-size:11px;font-weight:var(--weight-semibold);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.jim-review-card-student-info{flex:1;min-width:0}.jim-review-card-student-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text);line-height:1.3}.jim-review-card-student-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:1px;line-height:1.3}.jim-review-card-preview-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted);margin-bottom:6px}.jim-review-card-preview{background:var(--color-bg);border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:var(--space-3);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--color-text);margin-bottom:var(--space-3)}.jim-review-card-preview-meta{gap:var(--space-3);font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-3);display:flex}.jim-review-card-preview-meta-item{align-items:center;gap:4px;display:flex}.jim-review-card-preview-meta-item svg{flex-shrink:0;width:10px;height:10px}.jim-review-card-actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-divider);display:flex}.jim-review-card-btn{border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background var(--transition-fast), opacity var(--transition-fast), border-color var(--transition-fast);touch-action:manipulation;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-family:inherit;line-height:1.4;display:inline-flex}.jim-review-card-btn svg{flex-shrink:0;width:14px;height:14px}.jim-review-card-btn--primary{background:var(--color-primary);color:#fff}.jim-review-card-btn--primary:hover{opacity:.9}.jim-review-card-btn--primary:active{opacity:.85}.jim-review-card-btn--secondary{background:var(--color-surface-raised);color:var(--color-text-muted);border-color:var(--color-divider)}.jim-review-card-btn--secondary:hover{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text)}.jim-review-card-btn--secondary:active{background:var(--color-surface)}.jim-status-receipt{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-xs);border:1px solid;line-height:1.4;display:flex}.jim-status-receipt svg{flex-shrink:0;width:14px;height:14px}.jim-status-receipt--approved{background:var(--color-success-soft);border-color:var(--color-success-soft);color:var(--color-success-text)}.jim-status-receipt--cancelled{background:var(--color-surface);border-color:var(--color-divider);color:var(--color-text-muted)}.jim-status-receipt--blocked{background:var(--color-error-soft);border-color:var(--color-error-soft);color:var(--color-error-text)}.jim-not-found{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);margin-top:var(--space-1);display:flex}.jim-not-found-icon{background:var(--color-accent-soft);width:18px;height:18px;color:var(--color-accent-text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.jim-not-found-icon svg{width:10px;height:10px}.jim-not-found-content{flex:1;min-width:0}.jim-not-found-text{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);line-height:var(--leading-relaxed);margin:0}.jim-not-found-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin:var(--space-1) 0 0;line-height:var(--leading-relaxed)}@media (width>=1024px){.jim-launcher{right:max(28px, calc(28px + env(safe-area-inset-right,0px)));gap:10px;min-height:54px;padding:12px 24px 12px 16px;font-size:14.5px;bottom:32px}.jim-launcher--open{width:44px;min-width:44px;height:44px;min-height:44px;padding:0}.jim-backdrop{padding-right:max(28px, calc(28px + env(safe-area-inset-right,0px)));padding-bottom:max(96px, calc(96px + env(safe-area-inset-bottom,0px)))}.jim-panel{width:min(420px,100vw - 328px);height:min(560px,100dvh - 140px)}}@media (width>=1536px){.jim-panel{width:min(460px,100vw - 368px);height:min(620px,100dvh - 160px)}}@media (width<=1023px){.jim-launcher{bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom,0px))}}@media (width<=374px){.jim-launcher{bottom:calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom,0px));right:max(12px, calc(12px + env(safe-area-inset-right,0px)))}.jim-panel-mobile{height:90dvh;min-height:0}.jim-panel{width:calc(100vw - 16px)}}@media (prefers-reduced-motion:reduce){.jim-backdrop,.jim-overlay-mobile,.jim-panel,.jim-panel-mobile{animation:none}.jim-launcher,.jim-panel-header-btn,.jim-composer-send,.jim-chip,.jim-error-retry{transition:none}.jim-conversation-entry{animation:none}.jim-status-dot--checking{opacity:.5;animation:none}.jim-panel--exiting,.jim-panel-mobile--exiting,.jim-backdrop--exiting,.jim-overlay-mobile--exiting{opacity:1;animation:none}}.sidebar-overlay{z-index:35;background:#0000004d;animation:.2s sidebar-fade-in;position:fixed;inset:0}@keyframes sidebar-fade-in{0%{opacity:0}to{opacity:1}}.sidebar{--sidebar-w:258px;width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--surface,#fff);border-right:1px solid var(--border,#e7e8f0);flex-direction:column;height:100dvh;font-family:Plus Jakarta Sans,system-ui,sans-serif;display:flex;overflow:hidden}.sidebar-brand{flex-shrink:0;align-items:center;gap:12px;padding:20px 22px 16px;display:flex}.sidebar-logo-box{background:var(--primary,#272f63);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;overflow:hidden;box-shadow:0 2px 8px #272f6333}.sidebar-logo-icon{width:38px;height:38px;display:block}.sidebar-brand-text{font-size:19px;font-weight:var(--fw-extrabold,800);letter-spacing:-.02em;white-space:nowrap;align-items:center;padding-top:2px;line-height:1;display:inline-flex}.sidebar-brand-myschool{color:var(--ink,#1c2243)}.sidebar-brand-ai{color:var(--accent,#2f8f93)}.sidebar-nav{scrollbar-width:thin;scrollbar-color:transparent transparent;flex-direction:column;flex:1 1 0;gap:14px;min-height:0;padding:0 16px 8px;transition:scrollbar-color .2s;display:flex;overflow:hidden auto}.sidebar-nav:hover{scrollbar-color:#7c819c40 transparent}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:0 0}.sidebar-nav::-webkit-scrollbar-thumb{background:0 0;border-radius:4px;transition:background .2s}.sidebar-nav:hover::-webkit-scrollbar-thumb{background:#7c819c40}.sidebar-section{flex-direction:column;display:flex}.sidebar-section-label{font-size:11px;font-weight:var(--fw-bold,700);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#7c819c);-webkit-user-select:none;user-select:none;padding:8px 12px 6px;line-height:1;display:block}.sidebar-item-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.sidebar-item{border-radius:var(--r-md,10px);width:100%;color:var(--text,#3a4060);font-family:inherit;font-size:14.5px;font-weight:var(--fw-medium,500);cursor:pointer;transition:background var(--t-base,.14s) ease, color var(--t-base,.14s) ease;text-align:left;background:0 0;border:none;align-items:center;gap:11px;min-height:0;padding:9px 12px;line-height:1.3;display:flex;position:relative}.sidebar-item:hover{background:var(--surface-2,#f1f2f7);color:var(--text,#3a4060)}.sidebar-item:active{transform:scale(.985)}.sidebar-item:focus-visible{outline:2px solid var(--accent,#2f8f93);outline-offset:-2px}.sidebar-item--active{background:var(--primary,#272f63);color:var(--surface,#fff);font-weight:var(--fw-semibold,600);box-shadow:0 1px 4px #272f6326}.sidebar-item--active:hover{background:var(--primary,#272f63);color:var(--surface,#fff)}.sidebar-item-icon{color:currentColor;width:20px;height:20px;transition:color var(--t-base,.14s) ease;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-item-icon svg{display:block}.sidebar-item-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;flex:auto;overflow:hidden}.sidebar-item-badge{background:var(--surface-2,#f1f2f7);min-width:22px;color:var(--text,#3a4060);font-size:11px;font-weight:var(--fw-bold,700);transition:background var(--t-base,.14s) ease, color var(--t-base,.14s) ease;border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;padding:1px 8px;line-height:1.3;display:inline-flex}.sidebar-item-badge--active{color:var(--surface,#fff);background:#fff3}.sidebar-profile{border-top:1px solid var(--border,#e7e8f0);flex-shrink:0;align-items:center;gap:11px;padding:12px;display:flex}.sidebar-profile-btn{cursor:pointer;text-align:left;min-width:0;transition:background var(--t-base,.14s) ease;background:0 0;border:none;border-radius:11px;flex:1;align-items:center;gap:11px;padding:8px;font-family:inherit;display:flex}.sidebar-profile-btn:hover{background:var(--surface-2,#f1f2f7)}.sidebar-profile-avatar{background:var(--primary,#272f63);width:32px;height:32px;color:var(--surface,#fff);font-size:13px;font-weight:var(--fw-bold,700);letter-spacing:-.01em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-profile-meta{flex-direction:column;flex:1;gap:0;min-width:0;display:flex}.sidebar-profile-name{font-size:14px;font-weight:var(--fw-bold,700);color:var(--ink,#1c2243);white-space:nowrap;text-overflow:ellipsis;line-height:1.3;overflow:hidden}.sidebar-profile-role{color:var(--text-muted,#7c819c);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.3;overflow:hidden}.sidebar-logout{width:32px;height:32px;color:var(--text-muted,#7c819c);cursor:pointer;transition:color var(--t-base,.14s) ease, background var(--t-base,.14s) ease;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-logout:hover{color:var(--danger,#d8543f);background:#d8543f0f}.sidebar-logout:active{transform:scale(.93)}.sidebar-logout svg{display:block}@media (width<=1023px){.sidebar--drawer{z-index:36;will-change:transform;transition:transform .25s cubic-bezier(.22,1,.36,1);width:280px;min-width:280px;-webkit-transition:-webkit-transform .25s cubic-bezier(.22,1,.36,1);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar--drawer.sidebar--open{transform:translate(0)}}@media (width>=1024px){.sidebar{z-index:100;position:fixed;top:0;bottom:0;left:0}}.sidebar--compact .sidebar-brand{gap:10px;padding:14px 16px 12px}.sidebar--compact .sidebar-brand-text{font-size:17px}.sidebar--compact .sidebar-logo-box,.sidebar--compact .sidebar-logo-icon{width:32px;height:32px}.sidebar--compact .sidebar-nav{gap:10px;padding:0 12px 6px}.sidebar--compact .sidebar-section-label{padding:6px 10px 4px;font-size:10.5px}.sidebar--compact .sidebar-item{gap:9px;padding:7px 10px;font-size:13.5px}.sidebar--compact .sidebar-item-icon,.sidebar--compact .sidebar-item-icon svg{width:18px;height:18px}.sidebar--compact .sidebar-item-badge{min-width:18px;padding:0 6px;font-size:10.5px}.sidebar--compact .sidebar-profile{gap:9px;padding:10px}.sidebar--compact .sidebar-profile-btn{gap:9px;padding:6px}.sidebar--compact .sidebar-profile-avatar{width:28px;height:28px;font-size:11.5px}.sidebar--compact .sidebar-profile-name{font-size:13px}.sidebar--compact .sidebar-profile-role{font-size:11px}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-100:oklch(97% 0 0);--color-neutral-200:oklch(92.2% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-600:oklch(43.9% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--tracking-tight:-.025em;--tracking-normal:0em;--tracking-wide:.025em;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.float-left{float:left}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.m-1{margin:calc(var(--spacing) * 1)}.m-2{margin:calc(var(--spacing) * 2)}.m-3{margin:calc(var(--spacing) * 3)}.m-4{margin:calc(var(--spacing) * 4)}.m-5{margin:calc(var(--spacing) * 5)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-3{margin-inline:calc(var(--spacing) * 3)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-5{margin-inline:calc(var(--spacing) * 5)}.my-1{margin-block:calc(var(--spacing) * 1)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-3{margin-right:calc(var(--spacing) * 3)}.mr-4{margin-right:calc(var(--spacing) * 4)}.mr-5{margin-right:calc(var(--spacing) * 5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform\!{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)!important}.resize{resize:both}.columns-2{columns:2}.flex-wrap{flex-wrap:wrap}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-1{padding-bottom:calc(var(--spacing) * 1)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-5{padding-bottom:calc(var(--spacing) * 5)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font-body:"Plus Jakarta Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-heading:"Plus Jakarta Sans", "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-sans:var(--font-body);--font-mono:"SF Mono", "Fira Code", "JetBrains Mono", monospace;--text-xs:clamp(11px, .625rem + .15vw, 12px);--text-sm:clamp(13px, .8125rem + .2vw, 14px);--text-base:clamp(15px, .9375rem + .25vw, 16px);--text-md:clamp(15px, .9375rem + .25vw, 16px);--text-lg:clamp(16px, 1rem + .4vw, 18px);--text-xl:clamp(18px, 1.125rem + .6vw, 22px);--text-2xl:clamp(22px, 1.375rem + .75vw, 28px);--weight-regular:400;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-none:1;--leading-tight:1.25;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.55;--tracking-tight:-.015em;--tracking-normal:0em;--tracking-wide:.035em;--transition-fast:.12s ease;--transition-base:.18s ease;--color-bg:#eeede8;--color-surface:#f1f2f7;--color-surface-raised:#fff;--color-surface-hover:#edeef4;--color-surface-selected:#eef0fb;--bg-app:var(--color-bg);--bg-surface:var(--color-surface-raised);--bg-elevated:var(--color-surface);--bg-hover:#1f29370a;--bg-active:#6366f10f;--bg-subtle:#f7f7f5;--bg-tabbar:#ffffffe0;--color-text:#3a4060;--color-text-muted:#5a6080;--color-text-soft:#7c819c;--color-text-disabled:#a8acbf;--color-text-inverse:#fff;--text-primary:var(--color-text);--text-secondary:var(--text-muted);--text-tertiary:var(--color-text-soft);--color-border:#e7e8f0;--color-divider:#edeef4;--color-border-strong:#dcdee8;--border-subtle:var(--color-divider);--border-input:var(--color-border);--border-focus:var(--color-primary);--color-primary:#272f63;--color-primary-hover:#343f80;--color-primary-active:#3d4a9e;--color-primary-soft:#eef0fb;--color-primary-soft-text:#272f63;--accent-hover:#267a7e;--accent-tint:#2f8f931a;--accent-light:#e8f5f5;--color-accent:#2f8f93;--color-accent-hover:#267a7e;--color-accent-soft:#e8f5f5;--color-accent-text:#1a6b6f;--color-teal:#2f8f93;--color-teal-soft:#e8f5f5;--color-teal-text:#1a6b6f;--accent-secondary:#c98a3a;--accent-secondary-tint:#c98a3a1a;--color-success:#1f9d6b;--color-success-soft:#e8f7f1;--color-success-text:#1a7d55;--success:#1f9d6b;--success-tint:#1f9d6b1a;--warning-tint:#c98a3a1a;--color-error:#d8543f;--color-error-soft:#fdf0ee;--color-error-text:#b03e2e;--error:var(--color-error);--error-tint:#d8543f1a;--color-focus-ring:#2f8f932e;--shadow-xs:0 1px 3px #1c224308;--shadow-sm:0 1px 2px #1c22430d, 0 1px 1px #1c22430a;--shadow-md:0 4px 16px #1c224312, 0 1px 3px #1c22430d;--shadow-lg:0 6px 20px #1c224312;--shadow-xl:0 8px 28px #1c224314;--radius-xs:clamp(6px, .375rem + .1vw, 8px);--radius-sm:clamp(8px, .5rem + .15vw, 10px);--radius-md:clamp(12px, .75rem + .2vw, 14px);--radius-lg:clamp(14px, .875rem + .25vw, 18px);--radius-xl:clamp(18px, 1.125rem + .3vw, 22px);--space-1:clamp(3px, .1875rem + .1vw, 4px);--space-2:clamp(6px, .375rem + .15vw, 8px);--space-3:clamp(10px, .625rem + .2vw, 12px);--space-4:clamp(12px, .875rem + .25vw, 16px);--space-5:clamp(16px, 1rem + .3vw, 20px);--space-6:clamp(20px, 1.25rem + .3vw, 24px);--space-7:clamp(22px, 1.375rem + .4vw, 28px);--space-8:clamp(26px, 1.625rem + .5vw, 32px);--space-10:clamp(32px, 2rem + .6vw, 40px);--space-12:clamp(40px, 2.5rem + .75vw, 48px);--space-14:clamp(46px, 2.875rem + .8vw, 56px);--space-16:clamp(52px, 3.25rem + 1vw, 64px);--h-input:clamp(40px, 2.5rem + .25vw, 44px);--h-button:clamp(40px, 2.5rem + .25vw, 44px);--h-nav-item:clamp(40px, 2.5rem + .25vw, 44px);--icon-xs:clamp(12px, .75rem + .15vw, 14px);--icon-sm:clamp(14px, .875rem + .15vw, 16px);--icon-md:clamp(16px, 1rem + .15vw, 18px);--icon-lg:clamp(18px, 1.125rem + .15vw, 20px);--icon-stroke:1.75;--btn-primary-bg:var(--color-primary);--btn-primary-bg-hover:var(--color-primary-hover);--btn-primary-bg-active:var(--color-primary-active);--btn-primary-text:var(--color-text-inverse);--btn-secondary-bg:var(--color-surface-raised);--btn-secondary-bg-hover:var(--color-surface);--btn-secondary-text:var(--color-text);--btn-secondary-border:var(--color-border);--btn-ghost-bg-hover:#272f630a;--btn-ghost-text:var(--color-text);--input-bg:#fcfcfa;--input-border:var(--color-border);--input-border-hover:var(--color-border-strong);--input-border-focus:var(--color-primary);--input-placeholder:#9ca3af;--card-bg:var(--color-surface-raised);--card-border:#1f29370a;--card-shadow:var(--shadow-sm);--badge-neutral-bg:#f1f2f7;--badge-neutral-text:#5a6080;--badge-info-bg:#eef0fb;--badge-info-text:#272f63;--badge-warning-bg:#fdf3e5;--badge-warning-text:#8a6a28;--badge-success-bg:#e8f7f1;--badge-success-text:#1a7d55;--badge-error-bg:#fdf0ee;--badge-error-text:#b03e2e;--nav-item-text:var(--color-text-muted);--nav-item-text-hover:var(--color-text);--nav-item-bg-hover:#272f630a;--nav-item-active-bg:#eef0fb;--nav-item-active-text:var(--color-primary);--nav-item-active-icon:var(--color-primary);--sidebar-width:clamp(200px, 12.5rem + 2vw, 240px);--sidebar-width-wide:clamp(220px, 13.75rem + 2vw, 260px);--header-height:48px;--header-height-desktop:56px;--bottom-nav-height:56px;--bottom-nav-height-with-safe:calc(56px + env(safe-area-inset-bottom,0px));--content-max-width:min(960px, 100%);--content-max-width-desktop:min(1280px, 100%);--content-max-width-ultra:min(1536px, 100%);--content-max-line:70ch;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--tap-min:44px;--tap-min-sm:36px;--primary:#272f63;--primary-700:#343f80;--primary-50:#eef0fb;--accent:#2f8f93;--ink:#1c2243;--text:#3a4060;--text-muted:#7c819c;--bg:#eeede8;--surface:#fff;--surface-2:#f1f2f7;--border:#e7e8f0;--border-strong:#dcdee8;--warning:#c98a3a;--danger:#d8543f;--fs-display:40px;--fs-h1:27px;--fs-h2:20px;--fs-h3:16.5px;--fs-body-lg:15.5px;--fs-body:15px;--fs-sm:14px;--fs-sm-2:13px;--fs-xs:12.5px;--fs-2xs:11px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-extrabold:800;--lh-tight:1.1;--lh-snug:1.25;--lh-body:1.45;--ls-tight:-.02em;--ls-eyebrow:.08em;--ls-tag:.05em;--r-sm:8px;--r-md:10px;--r-lg:14px;--r-pill:30px;--r-full:999px;--gap:20px;--pad:22px;--shadow-fab:0 8px 24px #272f6352;--t-fast:.12s;--t-base:.14s;--t-slow:.18s;--text-heading:var(--ink);--text-body:var(--text);--surface-card:var(--surface);--surface-app:var(--bg);--surface-inset:var(--surface-2);--border-default:var(--border);--border-control:var(--border-strong);--link:var(--accent);--focus-ring:color-mix(in oklab, var(--accent) 16%, transparent)}html,body,#root{background:var(--bg-app);min-height:100dvh;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}@media (display-mode:standalone){html{padding-top:env(safe-area-inset-top,0px)}}@media (display-mode:fullscreen){html{padding-top:env(safe-area-inset-top,0px)}}body{overscroll-behavior-y:none}.homepage-body #root{overflow:visible}.command-results-scroll::-webkit-scrollbar{width:4px}.command-results-scroll::-webkit-scrollbar-track{background:0 0}.command-results-scroll::-webkit-scrollbar-thumb{background:#00000014;border-radius:2px}.command-results-scroll::-webkit-scrollbar-thumb:hover{background:#00000024}button{cursor:pointer;min-height:var(--tap-min-sm);font-family:inherit}input,select,textarea{font-family:inherit}img,video,canvas,svg{max-width:100%;height:auto}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}body.no-scroll{overflow:hidden}html{overflow-x:hidden}body{-webkit-overflow-scrolling:touch;width:100%;overflow-x:hidden}@keyframes voice-pulse{0%,to{box-shadow:0 0 #1e40af4d}50%{box-shadow:0 0 0 6px #1e40af14}}@keyframes listening-ring{0%,to{transform:scale(1);box-shadow:0 0 #1e40af40,0 0 0 4px #1e40af1a}50%{transform:scale(1.02);box-shadow:0 0 0 4px #1e40af26,0 0 0 8px #1e40af0d}}@keyframes speaking-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes level-bar-1{0%,to{height:4px}25%{height:12px}50%{height:8px}75%{height:16px}}@keyframes level-bar-2{0%,to{height:8px}25%{height:16px}50%{height:4px}75%{height:12px}}@keyframes level-bar-3{0%,to{height:12px}25%{height:4px}50%{height:16px}75%{height:6px}}@keyframes level-bar-4{0%,to{height:6px}25%{height:14px}50%{height:10px}75%{height:4px}}.cmd-input::placeholder{color:var(--accent);opacity:.6}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.spin{animation:.8s linear infinite jim-spin}@keyframes jim-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.voice-pulse,.listening-ring,.speaking-bounce,.level-bar{animation:none!important}.voice-mic-button.listening{box-shadow:0 0 0 3px var(--accent)!important}.spin{animation:none!important}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#00000014;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000029}.text-hero{font-size:clamp(22px,1.375rem + 1.2vw,32px);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}.text-title{font-size:clamp(17px,1.0625rem + .6vw,22px);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}.text-heading{font-size:var(--text-md);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-snug);color:var(--text-primary)}.text-body{font-size:var(--text-base);font-weight:var(--weight-normal);line-height:var(--leading-relaxed);color:var(--text-primary)}.text-body-sm{font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-normal);color:var(--text-secondary)}.text-label{font-size:13px;font-weight:var(--weight-medium);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);text-transform:uppercase}.text-meta{font-size:12px;font-weight:var(--weight-medium);color:var(--text-tertiary);line-height:var(--leading-snug)}.text-caption{font-size:11px;font-weight:var(--weight-medium);color:var(--text-tertiary);letter-spacing:var(--tracking-wide);text-transform:uppercase}.text-number{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}@media (width>=1536px){.content-ultra{max-width:var(--content-max-width-ultra)}}.btn-text{font-size:14px;font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal)}@media (width<=767px){.hide-mobile,.show-desktop{display:none!important}}@media (width>=768px){.show-mobile,.hide-desktop{display:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
