@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Noto+Sans:wght@400;500;600;700&display=swap";@layer components;@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-font-weight:initial;--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-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}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-red-50:oklch(97.1% .013 17.38);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-blue-50:oklch(97% .014 254.604);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-600:oklch(44.6% .043 257.281);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--font-weight-bold:700;--radius-lg:.5rem;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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 utilities{.collapse{visibility:collapse}.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}.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}}.block{display:block}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.min-h-10{min-height:calc(var(--spacing) * 10)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-slate-200{border-color:var(--color-slate-200)}.bg-blue-800{background-color:var(--color-blue-800)}.bg-red-50{background-color:var(--color-red-50)}.bg-white{background-color:var(--color-white)}.px-4{padding-inline:calc(var(--spacing) * 4)}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.text-blue-800{color:var(--color-blue-800)}.text-red-700{color:var(--color-red-700)}.text-slate-600{color:var(--color-slate-600)}.text-white{color:var(--color-white)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\:bg-blue-900:hover{background-color:var(--color-blue-900)}.hover\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:text-white:hover{color:var(--color-white)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}}:root{--navy:#0f2554;--blue:#1e40af;--blue-2:#e9efff;--ink:#14213d;--muted:#60708d;--line:#dfe5ef;--canvas:#f5f7fb;--surface:#fff;--orange:#e76e2e;--orange-soft:#fff0e7;--green:#14734c;--green-soft:#e5f5ee;--yellow:#a95b00;--yellow-soft:#fff4d7;--red:#c2343d;--red-soft:#ffe8ea;--radius:12px;color:var(--ink);background:var(--canvas);font-synthesis:none;font-family:Be Vietnam Pro,Noto Sans,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);scroll-behavior:smooth;min-width:320px}body{background:var(--canvas);min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #4b83ee}.skip-link{z-index:100;background:var(--navy);color:#fff;border-radius:8px;padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.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}.boot-screen{text-align:center;height:100vh;color:var(--muted);place-content:center;gap:16px;display:grid}.brand-stamp,.brand-mark{background:var(--navy);color:#fff;letter-spacing:-.06em;place-items:center;font-weight:800;display:grid}.brand-stamp{border-radius:22px 7px;width:64px;height:64px;margin:auto;font-size:22px}.app-shell{--sidebar:272px;grid-template-columns:var(--sidebar) 1fr;min-height:100vh;display:grid}.sidebar{z-index:30;width:var(--sidebar);color:#dbe5ff;background:var(--navy);flex-direction:column;padding:22px 14px 14px;transition:width .2s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar:before{content:"";pointer-events:none;background:radial-gradient(circle,#3d6ce566,#0000 68%);width:230px;height:230px;position:absolute;top:-120px;left:-80px}.sidebar-top,.brand,.workspace-chip,.nav-item,.collapse-button,.local-pill,.topbar,.topbar-actions,.role-trigger,.page-header,.page-actions,.filter-bar,.metric-row,.person-cell,.activity-row,.session-mini,.student-identity,.student-hero-metrics,.student-hero-actions,.drawer header,.drawer footer,.drawer-actions,.detail-top,.session-drawer-head,.attendance-inline,.parent-debt,.clock-control,.local-data-info{align-items:center;display:flex}.sidebar-top{justify-content:space-between;margin:0 6px 26px;position:relative}.brand{gap:11px}.brand-mark{width:42px;height:42px;color:var(--navy);background:#e8edff;border-radius:13px 4px;font-size:15px}.brand-copy{letter-spacing:.15em;gap:4px;font-size:13px;line-height:1;display:grid}.brand-copy small{letter-spacing:.28em;color:#9eb4e8;font-size:8px;font-weight:600}.workspace-chip{background:#fff1;border:1px solid #c5d5ff2e;border-radius:10px;gap:9px;margin:0 0 20px;padding:11px;position:relative}.workspace-chip div{flex:1;gap:2px;display:grid}.workspace-chip small{letter-spacing:.12em;color:#99afe3;font-size:9px}.workspace-chip b{color:#fff;font-size:12px}.live-dot{background:#70e6b2;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #70e6b226}.sidebar nav{scrollbar-width:none;position:relative;overflow-y:auto}.nav-label{color:#90a6d8;text-transform:uppercase;letter-spacing:.12em;margin:10px 12px 8px;font-size:10px;font-weight:700}.nav-label-second{margin-top:24px}.nav-item{color:#b8c8ee;border-radius:9px;gap:12px;height:43px;padding:0 12px;font-size:13px;font-weight:500;transition:all .18s}.nav-item:hover{color:#fff;background:#ffffff14}.nav-active{color:#fff;background:#294a98}.nav-item svg{flex:none}.sidebar-compact.app-shell{--sidebar:70px;grid-template-columns:70px 1fr}.sidebar-compact .sidebar{align-items:center;padding:17px 10px}.sidebar-compact .sidebar-top{margin:0 0 22px}.sidebar-compact .brand-copy,.sidebar-compact .workspace-chip div,.sidebar-compact .workspace-chip>svg,.sidebar-compact .nav-label,.sidebar-compact .nav-item span,.sidebar-compact .collapse-button span,.sidebar-compact .local-pill{display:none}.sidebar-compact .workspace-chip{justify-content:center;width:40px;height:40px;margin-bottom:20px;padding:0}.sidebar-compact .sidebar nav{width:100%}.sidebar-compact .nav-item{justify-content:center;padding:0}.sidebar-compact .sidebar-foot{place-items:center;padding:10px 0 0;display:grid}.sidebar-compact .collapse-button{padding:8px}.sidebar-foot{margin-top:auto;padding:14px 6px 0;position:relative}.collapse-button{color:#9db2e2;background:0 0;border:0;gap:12px;padding:8px 6px;font-size:12px}.local-pill{color:#b5c9f3;background:#010e2f47;border-radius:8px;gap:7px;margin-top:10px;padding:9px;font-size:11px}.online-dot,.offline-dot{border-radius:50%;width:7px;height:7px}.online-dot{background:#67dfa7}.offline-dot{background:#f5b95f}.app-main{grid-column:2;min-width:0}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f7fbeb;border-bottom:1px solid #dfe5efcc;justify-content:space-between;min-height:64px;padding:0 34px;position:sticky;top:0}.topbar-context{align-items:center;gap:10px;font-size:12px;display:flex}.context-branch{color:var(--ink);font-weight:700}.context-divider{background:var(--line);width:1px;height:14px}.context-date{color:var(--muted)}.topbar-actions{gap:14px;position:relative}.icon-button{width:40px;height:40px;color:var(--muted);background:0 0;border:0;border-radius:9px;place-items:center;display:grid}.icon-button:hover{color:var(--navy);background:var(--blue-2)}.notification-button{position:relative}.notification-button>span{background:var(--red);color:#fff;border-radius:20px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:grid;position:absolute;top:1px;right:1px}.role-menu{position:relative}.role-trigger{border:1px solid var(--line);text-align:left;background:#fff;border-radius:9px;gap:8px;min-height:42px;padding:5px 7px}.role-trigger:hover{border-color:#aac0eb}.role-icon{width:28px;height:28px;color:var(--blue);background:var(--blue-2);border-radius:7px;place-items:center;display:grid}.role-trigger-copy{gap:1px;display:grid}.role-trigger-copy small{color:var(--muted);letter-spacing:.08em;font-size:8px}.role-trigger-copy b{font-size:11px}.avatar{border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:700;display:inline-grid}.avatar-sm{width:28px;height:28px;font-size:9px}.avatar-md{width:36px;height:36px}.avatar-lg{width:54px;height:54px;font-size:16px}.avatar-blue{color:#1749a8;background:#dfeaff}.avatar-orange{color:#a84617;background:#ffe1cd}.avatar-green{color:#0f7750;background:#dcf5e9}.avatar-slate{color:#34445d;background:#e5eaf2}.role-popover,.notification-popover{z-index:40;border:1px solid var(--line);background:#fff;border-radius:12px;width:270px;padding:10px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 18px 44px #14213d29}.role-popover>strong{padding:8px 8px 1px;font-size:12px;display:block}.role-popover>p{color:var(--muted);margin:0 8px 8px;font-size:10px;line-height:1.5}.role-popover button{color:#33415a;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;padding:10px 8px;font-size:12px;display:flex}.role-popover button:hover,.role-selected{color:var(--blue)!important;background:#f1f5ff!important}.role-popover button svg:last-child{margin-left:auto}.role-popover-branch{border-top:1px solid var(--line);margin-top:7px;padding:8px}.role-popover-branch label{color:var(--muted);gap:6px;font-size:10px;display:grid}.role-popover select{border:1px solid var(--line);border-radius:6px;width:100%;padding:7px;font-size:11px}.notification-popover{width:340px}.notification-popover header{border-bottom:1px solid var(--line);justify-content:space-between;padding:5px 5px 9px;display:flex}.notification-popover header button{color:var(--blue);background:0 0;border:0;font-size:11px}.notification-row{border-bottom:1px solid #edf0f5;gap:9px;padding:11px 5px;display:flex}.notification-row:last-child{border:0}.notification-row strong{font-size:12px;display:block}.notification-row p{color:var(--muted);margin:2px 0;font-size:11px}.notification-row small{color:#8794a9;font-size:10px}.notification-dot{background:0 0;border-radius:50%;flex:none;width:7px;height:7px;margin-top:5px}.notification-unread .notification-dot{background:var(--orange)}main{max-width:1680px;margin:0 auto;padding:32px 34px 48px}.page-header{justify-content:space-between;gap:20px;min-height:74px;margin-bottom:26px}.page-header h1{letter-spacing:-.045em;margin:3px 0 6px;font-size:clamp(24px,2.4vw,32px);line-height:1.15}.page-header p{max-width:720px;color:var(--muted);margin:0;font-size:13px;line-height:1.6}.eyebrow,.hero-kicker{letter-spacing:.11em;color:var(--orange);font-size:10px;font-weight:800}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:0 13px;font-size:12px;font-weight:700;transition:background .18s,border .18s,color .18s;display:inline-flex}.button-primary{color:#fff;background:var(--blue);box-shadow:0 5px 11px #1e40af29}.button-primary:hover{background:#17358f}.button-secondary{color:var(--blue);background:#fff;border-color:#cedaf4}.button-secondary:hover{background:var(--blue-2);border-color:#b0c4ee}.button-ghost{color:var(--muted);background:0 0}.button-ghost:hover{color:var(--blue);background:var(--blue-2)}.button-danger{color:#a82631;background:var(--red-soft)}.button-danger:hover{color:#fff;background:var(--red)}.button:disabled{cursor:not-allowed;opacity:.55}.wide-button{width:100%}.metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.metric-card{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-height:126px;padding:15px;position:relative;overflow:hidden}.metric-card:where(button):hover{border-color:#bdd0f5;box-shadow:0 10px 24px #1d366b14}.metric-label{color:var(--muted);font-size:11px;font-weight:600}.metric-row{justify-content:space-between;margin:13px 0 5px}.metric-row strong{letter-spacing:-.05em;font-size:clamp(20px,1.7vw,27px)}.metric-dot{background:var(--blue);border-radius:50%;width:8px;height:8px}.metric-green .metric-dot{background:var(--green)}.metric-orange .metric-dot{background:var(--orange)}.metric-red .metric-dot{background:var(--red)}.metric-card p{color:var(--muted);margin:0;font-size:10px;line-height:1.45}.metric-chevron{color:#a4b0c3;position:absolute;bottom:10px;right:10px}.compact-metrics{grid-template-columns:repeat(3,minmax(0,1fr));max-width:850px}.dashboard-grid{grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr);gap:18px;display:grid}.dashboard-grid .schedule-card{grid-column:span 2}.section-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0}.section-card>header{border-bottom:1px solid #eef1f6;justify-content:space-between;align-items:flex-start;gap:16px;min-height:64px;padding:16px 18px 13px;display:flex}.section-card h2{letter-spacing:-.025em;margin:0;font-size:14px}.section-card header p{color:var(--muted);margin:3px 0 0;font-size:11px}.section-content{padding:0 18px}.text-link{color:var(--blue);white-space:nowrap;align-items:center;gap:4px;font-size:11px;font-weight:700;display:inline-flex}.list-hint{color:#8490a5;font-size:10px}.priority-list,.activity-list{padding:1px 0}.priority-row{border-bottom:1px solid #eff2f6;align-items:stretch;min-height:72px;display:flex;position:relative}.priority-row:last-child,.activity-row:last-child{border:0}.priority-main{flex:1;justify-content:space-between;gap:15px;min-width:0;padding:12px 6px 11px 12px;display:flex}.priority-main strong{margin:5px 0 2px;font-size:12px;display:block}.priority-main p{color:var(--muted);margin:0;font-size:10px}.priority-meta{color:var(--muted);align-content:center;justify-items:end;gap:3px;font-size:10px;display:grid}.priority-meta small{color:#8693a8}.row-chevron{color:#9da9bc;align-self:center;transform:rotate(-90deg)}.activity-row{gap:10px;padding:13px 0}.activity-icon{border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.activity-blue{color:var(--blue);background:var(--blue-2)}.activity-green{color:var(--green);background:var(--green-soft)}.activity-orange{color:var(--orange);background:var(--orange-soft)}.activity-red{color:var(--red);background:var(--red-soft)}.activity-row div{flex:1;min-width:0}.activity-row strong{font-size:11px;display:block}.activity-row p{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:10px;overflow:hidden}.activity-row small{color:#8490a5;white-space:nowrap;align-self:center;font-size:10px}.session-mini{border-bottom:1px solid #eff2f6;gap:12px;min-height:63px}.session-mini:last-child{border:0}.session-time{text-align:center;width:47px;display:grid}.session-time b{font-size:12px}.session-time span{color:var(--muted);font-size:9px}.session-mini>div:nth-child(2){flex:1}.session-mini strong{font-size:11px}.session-mini p{color:var(--muted);margin:2px 0 0;font-size:10px}.filter-bar{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;gap:8px;margin-bottom:14px;padding:10px}.search-field{color:#8290a7;border:1px solid #e2e7ef;border-radius:7px;flex:260px;align-items:center;gap:8px;min-height:34px;padding:0 8px;display:flex}.search-field:focus-within{border-color:#6e95e5;box-shadow:0 0 0 3px #e8f0ff}.search-field input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:12px}.select-filter,.filter-control{color:#53627a;background:#fff;border:1px solid #e2e7ef;border-radius:7px;min-height:34px;padding:0 9px;font-size:11px}.filter-control{align-items:center;gap:6px;display:inline-flex}.filter-mobile{display:none}.table-wrap{width:100%;overflow-x:auto}.table-wrap table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.table-wrap th{color:#77849a;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid #e7ecf3;padding:11px 10px;font-size:10px;font-weight:700}.table-wrap td{color:#3a4862;vertical-align:middle;border-bottom:1px solid #eef1f5;padding:11px 10px;font-size:11px}.table-wrap tbody tr:last-child td{border-bottom:0}.table-wrap .interactive-row{cursor:pointer}.table-wrap .interactive-row:hover,.table-wrap .interactive-row:focus{background:#f7f9fe;outline:0}.table-wrap strong,.table-wrap b{color:var(--ink);font-size:11px;display:block}.table-wrap small,.cell-primary+small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.person-cell{gap:9px;min-width:155px}.cell-primary{max-width:195px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.status-badge{white-space:nowrap;border-radius:99px;align-items:center;gap:4px;min-height:22px;padding:3px 7px;font-size:9px;font-weight:700;display:inline-flex}.status-green{color:#126342;background:var(--green-soft)}.status-yellow{color:#986000;background:var(--yellow-soft)}.status-red{color:#ae2734;background:var(--red-soft)}.status-blue{color:#1d56af;background:var(--blue-2)}.status-slate{color:#58677d;background:#edf0f5}.status-orange{color:#b44d16;background:var(--orange-soft)}.empty-state{min-height:160px;color:var(--muted);text-align:center;place-items:center;padding:28px;display:grid}.empty-state strong{color:var(--ink);margin-top:7px;font-size:12px}.empty-state p{margin:4px 0 0;font-size:11px}.empty-mark{width:35px;height:35px;color:var(--blue);background:var(--blue-2);border-radius:50%;place-items:center;display:grid}.drawer-backdrop{z-index:60;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a142b5e;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fff;flex-direction:column;width:min(510px,100vw);height:100%;animation:.2s ease-out drawer-in;display:flex;box-shadow:-14px 0 46px #12254d30}.drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:22px}.drawer h2{letter-spacing:-.04em;margin:4px 0;font-size:20px}.drawer header p{color:var(--muted);margin:0;font-size:11px}.drawer-body{flex:1;padding:20px 22px;overflow-y:auto}.drawer>footer{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;padding:14px 22px}.drawer-statuses{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.detail-list{margin:16px 0 22px}.detail-list div{border-bottom:1px solid #eff2f6;grid-template-columns:130px 1fr;padding:10px 0;font-size:12px;display:grid}.detail-list dt{color:var(--muted)}.detail-list dd{color:var(--ink);margin:0;font-weight:600}.drawer h3{margin:21px 0 10px;font-size:13px}.timeline>div{gap:10px;min-height:48px;display:flex}.timeline>div>span{border:2px solid var(--blue);background:#fff;border-radius:50%;flex:none;width:10px;height:10px;margin-top:4px;position:relative}.timeline>div:not(:last-child)>span:after{content:"";background:#cfd9ed;width:1px;height:34px;position:absolute;top:8px;left:2px}.timeline p{margin:0}.timeline b{font-size:11px;display:block}.timeline small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.form-stack{gap:15px;display:grid}.form-stack label,.reason-field{color:#4e5c74;gap:6px;font-size:11px;font-weight:600;display:grid}.form-stack label b{color:var(--red)}.form-stack input,.form-stack select,.form-stack textarea,.reason-field textarea{width:100%;color:var(--ink);resize:vertical;background:#fff;border:1px solid #dce3ee;border-radius:7px;outline:0;padding:9px 10px;font-weight:400}.form-stack textarea,.reason-field textarea{min-height:88px}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus,.reason-field textarea:focus{border-color:#6590e3;box-shadow:0 0 0 3px #e7efff}.form-error{color:var(--red);margin:-5px 0 0;font-size:11px}.impact-preview{background:#f7faff;border:1px solid #dbe5f9;border-radius:9px;gap:8px;margin:17px 0;padding:13px;display:grid}.impact-title{color:#426099;letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.impact-row{color:#314364;align-items:flex-start;gap:7px;font-size:11px;line-height:1.45;display:flex}.impact-row svg{color:var(--green);flex:none;margin-top:1px}.inline-success{color:#0b744a;background:var(--green-soft);border-radius:7px;padding:10px;font-size:11px}.drawer-actions{justify-content:flex-end;gap:8px;width:100%}.student-drawer-summary{background:#f8faff;border:1px solid #dce6f9;border-radius:9px;align-items:center;gap:12px;padding:13px;display:flex}.student-drawer-summary b{font-size:17px}.student-drawer-summary p{color:var(--muted);margin:3px 0 0;font-size:10px}.back-link{color:var(--blue);background:0 0;border:0;margin:-4px 0 15px;padding:0;font-size:11px;font-weight:700}.student-hero{color:#fff;background:var(--navy);border-radius:14px;margin-bottom:14px;padding:22px;position:relative;overflow:hidden}.student-hero:after{content:"";border:1px solid #ffffff26;border-radius:46% 54% 49% 51%;width:420px;height:340px;position:absolute;bottom:-120px;right:3%;transform:rotate(-17deg)}.student-hero:before{content:"";background:radial-gradient(circle,#3b6be18c,#0000 65%);border-radius:50%;width:380px;height:380px;position:absolute;top:-170px;right:10%}.student-identity,.student-hero-metrics,.student-hero-actions{z-index:1;position:relative}.student-identity{gap:13px}.student-identity .avatar{color:var(--navy);background:#f7ca79}.student-identity h1{letter-spacing:-.04em;margin:4px 0;font-size:26px}.student-identity p{color:#b8c9ef;margin:0;font-size:12px}.student-hero .eyebrow{color:#f7b579}.student-hero-metrics{grid-template-columns:repeat(4,max-content);gap:34px;margin-top:25px;display:grid}.student-hero-metrics div{gap:2px;display:grid}.student-hero-metrics span{color:#aebfe7;font-size:10px}.student-hero-metrics b{font-size:16px}.student-hero-metrics small{color:#aebfe7;font-size:10px}.next-session-text{max-width:150px}.student-hero-actions{gap:8px;position:absolute;top:22px;right:22px}.student-hero-actions .button-secondary{color:#fff;background:#ffffff14;border-color:#ffffff4d}.student-hero-actions .button-primary{color:var(--navy);box-shadow:none;background:#f4bd70}.tab-bar{border:1px solid var(--line);background:#fff;border-radius:9px;gap:2px;margin-bottom:16px;padding:4px;display:flex;overflow-x:auto}.tab-bar button{min-height:33px;color:var(--muted);background:0 0;border:0;border-radius:6px;flex:none;padding:0 12px;font-size:11px;font-weight:700}.tab-bar button:hover{color:var(--blue)}.tab-bar .tab-active{color:var(--blue);background:var(--blue-2)}.result-banner{color:#086343;background:#effbf5;border:1px solid #c9eadb;border-radius:8px;align-items:center;gap:8px;margin:0 0 14px;padding:10px 12px;font-size:11px;font-weight:600;display:flex}.result-banner svg{flex:none}.result-banner button{color:#086343;background:0 0;border:0;place-items:center;margin-left:auto;display:grid}.student-overview-grid,.learning-grid,.finance-grid,.work-grid,.parent-grid,.settings-grid,.guide-grid{gap:16px;display:grid}.student-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-orbit{place-items:center;width:140px;height:140px;margin:13px auto;display:grid;position:relative}.progress-orbit svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.progress-orbit path{fill:none;stroke-width:3.3px}.orbit-track{stroke:#e4eaf4}.orbit-value{stroke:var(--orange);stroke-linecap:round}.progress-orbit>div{place-items:center;display:grid}.progress-orbit b{letter-spacing:-.06em;font-size:25px}.progress-orbit small{color:var(--muted);font-size:10px}.progress-notes{gap:8px;padding-bottom:17px;display:grid}.progress-notes span{color:#53627a;gap:7px;font-size:10px;display:flex}.progress-notes svg{color:var(--green)}.callout{border-radius:8px;gap:10px;margin:10px 0;padding:11px;display:flex}.callout b{font-size:11px;display:block}.callout p{margin:3px 0 0;font-size:10px;line-height:1.45}.callout-orange{color:#a94d1c;background:var(--orange-soft)}.callout-yellow{color:#835300;background:var(--yellow-soft)}.callout-blue{color:#24509b;background:var(--blue-2)}.compact-timeline{padding:4px 0 10px}.learning-grid,.finance-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.lesson-gallery{grid-template-columns:150px 1fr;gap:15px;padding:16px 0;display:grid}.lesson-image,.lesson-art{background:#eecb8d;border-radius:10px;min-height:145px;position:relative;overflow:hidden}.lesson-image{background:linear-gradient(135deg,#f7d38c,#e68e58 46%,#2a609f 47%,#224b7e)}.brush{opacity:.85;border-radius:55% 45% 70% 30%;position:absolute}.brush-a{background:#edf2c1;width:105px;height:50px;top:28px;left:22px;transform:rotate(-22deg)}.brush-b{background:#e23837;width:135px;height:44px;bottom:30px;left:12px;transform:rotate(17deg)}.brush-c{background:#284c91;width:70px;height:105px;top:22px;right:23px;transform:rotate(25deg)}.lesson-image span,.lesson-art span{color:#fff;text-shadow:0 1px 4px #0000004d;font-size:9px;font-weight:700;position:absolute;bottom:9px;left:10px}.lesson-gallery h3{margin:1px 0 6px;font-size:14px}.lesson-gallery h4{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:14px 0 4px;font-size:10px}.body-copy{color:#53627a;font-size:11px;line-height:1.7}.progress-path{gap:0;padding:16px 0;display:grid}.progress-path>div{grid-template-columns:28px 1fr;column-gap:10px;padding:0 0 17px;display:grid;position:relative}.progress-path>div:not(:last-child):after{content:"";background:#dce4f1;width:1px;height:22px;position:absolute;top:27px;left:13px}.progress-path span{color:#7d8ca4;border:1px solid #d5deec;border-radius:50%;grid-row:span 2;place-items:center;width:27px;height:27px;font-size:10px;font-weight:700;display:grid}.progress-path b{font-size:11px}.progress-path small{color:var(--muted);font-size:10px}.path-complete span{background:var(--green);color:#fff!important;border-color:var(--green)!important}.path-current span{background:var(--blue);color:#fff!important;border-color:var(--blue)!important}.entitlement-card{grid-template-columns:1.3fr 1fr 1fr;gap:8px;padding:14px 0;display:grid}.entitlement-card>div{background:#f7f9fd;border-radius:8px;padding:11px}.entitlement-card span{color:var(--muted);font-size:9px;display:block}.entitlement-card b{margin-top:4px;font-size:17px;display:block}.entitlement-card b small{color:var(--muted);font-size:10px}.movement-list>div{border-top:1px solid #edf0f5;grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:10px 0;display:grid}.movement-list>div>span{border-radius:50%;place-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:grid}.movement-negative{color:#a72836;background:var(--red-soft)}.movement-positive{color:#0f724b;background:var(--green-soft)}.movement-list p{margin:0}.movement-list p b{font-size:10px;display:block}.movement-list p small{color:var(--muted);font-size:9px}.movement-list>div>span:last-child{width:auto;color:var(--muted);background:0 0}.choice-group{gap:8px;display:grid}.choice-group button{color:#55637a;text-align:left;background:#fff;border:1px solid #dbe2ed;border-radius:8px;align-items:center;gap:10px;padding:12px;display:flex}.choice-group button:hover{border-color:#9db8ec}.choice-group .choice-active{color:var(--blue);background:#f4f7ff;border-color:#7da4ea}.choice-group button span{gap:2px;display:grid}.choice-group b{font-size:12px}.choice-group small{font-size:10px}.reason-field{margin-top:16px}.calendar-strip{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:center;gap:7px;margin-bottom:13px;padding:10px;display:flex}.calendar-strip button{color:#61708a;background:0 0;border:0;border-radius:7px;place-items:center;gap:2px;width:53px;min-height:47px;display:grid}.calendar-strip button:hover{background:#f0f4fb}.calendar-strip b{font-size:13px}.calendar-strip small{font-size:9px}.calendar-strip .day-active{color:#fff;background:var(--blue)}.capacity-cell{align-items:center;gap:7px;display:flex}.capacity-fill{background:#e4e9f1;border-radius:5px;width:48px;height:5px;display:block;position:relative;overflow:hidden}.capacity-fill:after{content:"";width:var(--fill);border-radius:inherit;background:var(--green);position:absolute;inset:0 auto 0 0}.capacity-full:after{background:var(--red)}.session-drawer-head{background:#f8faff;border-radius:9px;gap:14px;padding:12px}.capacity-large{color:#0e704b;background:#daf4e7;border-radius:50%;place-items:center;width:57px;height:57px;font-size:18px;font-weight:800;display:grid}.capacity-large small{font-size:10px}.capacity-large-full{color:#ae2934;background:#fee1e5}.session-drawer-head b{font-size:12px}.session-drawer-head p{color:var(--muted);margin:3px 0 0;font-size:10px}.simple-list{gap:6px;display:grid}.simple-list-row{align-items:center;gap:8px;padding:7px 0;font-size:11px;display:flex}.attendance-layout{grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:16px;margin-bottom:16px;display:grid}.signal-stack{padding:4px 0}.signal-stack>div{border-bottom:1px solid #edf1f5;grid-template-columns:1fr auto;align-items:center;gap:2px 8px;padding:14px 0;display:grid}.signal-stack>div:last-child{border:0}.signal-source{color:#53627a;align-items:center;gap:7px;font-size:11px;display:flex}.signal-source svg{color:var(--blue)}.signal-stack b{font-size:12px}.signal-stack small{color:var(--muted);grid-column:1/-1;font-size:9px}.approval-layout{grid-template-columns:minmax(360px,.8fr) minmax(400px,1.2fr);gap:16px;display:grid}.approval-list{margin:0 -18px}.approval-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;grid-template-columns:31px 1fr 18px;gap:9px;width:100%;padding:12px 18px;display:grid}.approval-row:hover,.approval-selected{background:#f5f8ff}.request-type{width:30px;height:30px;color:var(--blue);background:var(--blue-2);border-radius:8px;place-items:center;display:grid}.request-refund{color:#ae2934;background:var(--red-soft)}.approval-row>div>div{align-items:center;gap:7px;display:flex}.approval-row b{margin:6px 0 2px;font-size:11px;display:block}.approval-row p{color:var(--muted);margin:0;font-size:10px}.approval-row small{color:#8a98ab;font-size:9px}.approval-detail{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-height:380px}.request-detail{padding:20px}.detail-top{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding-bottom:16px}.detail-top h2{letter-spacing:-.04em;margin:8px 0 3px;font-size:19px}.detail-top p{color:var(--muted);margin:0;font-size:11px}.request-reason{border-bottom:1px solid #edf1f5;padding:13px 0}.request-reason span{color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.request-reason p{color:#46556e;margin:5px 0 0;font-size:11px;line-height:1.55}.approval-steps{gap:0;display:grid}.approval-steps>div{align-items:center;gap:9px;min-height:34px;display:flex;position:relative}.approval-steps>div:not(:last-child):after{content:"";background:#dfe6f1;width:1px;height:19px;position:absolute;top:26px;left:11px}.approval-steps span{z-index:1;color:#65748c;background:#e7ecf4;border-radius:50%;place-items:center;width:23px;height:23px;font-size:10px;font-weight:700;display:grid}.approval-steps p{margin:0;font-size:11px}.step-complete span{color:#fff!important;background:var(--green)!important}.step-current span{color:#fff!important;background:var(--orange)!important}.request-actions{justify-content:flex-end;gap:8px;padding-top:15px;display:flex}.exception-filters{gap:6px;margin-bottom:14px;display:flex;overflow-x:auto}.exception-filters button{border:1px solid var(--line);min-height:34px;color:var(--muted);background:#fff;border-radius:7px;gap:6px;padding:0 10px;font-size:10px;display:inline-flex}.exception-filters b{color:var(--ink)}.exception-filters .filter-active{color:#fff;border-color:var(--blue);background:var(--blue)}.exception-filters .filter-active b{color:#fff}.exception-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.exception-card{border:1px solid var(--line);text-align:left;background:#fff;border-radius:10px;flex-direction:column;min-height:172px;padding:14px;display:flex}.exception-card:hover,.exception-selected{border-color:#93afe6;box-shadow:0 9px 23px #1d366b14}.exception-card>div{justify-content:space-between;align-items:center;display:flex}.exception-card>div small{color:var(--muted);font-size:9px}.exception-card h3{letter-spacing:-.02em;margin:13px 0 4px;font-size:12px}.exception-card p{color:var(--muted);margin:0;font-size:10px;line-height:1.5}.exception-card footer{color:#8190a5;border-top:1px solid #edf1f5;justify-content:space-between;margin-top:auto;padding-top:12px;font-size:9px;display:flex}.work-grid,.parent-grid,.settings-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-session-card{border-bottom:1px solid #edf1f5;grid-template-columns:56px 1fr auto;align-items:center;gap:13px;padding:16px 0;display:grid}.teacher-session-card:last-child{border:0}.session-time-block{place-items:center;min-height:53px;display:grid}.session-time-block b{font-size:13px}.session-time-block small{color:var(--muted);font-size:9px}.teacher-session-card h3{margin:6px 0 3px;font-size:12px}.teacher-session-card p{color:var(--muted);margin:0;font-size:10px}.checklist-line{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.checklist-line span{color:#0d724a;background:var(--green-soft);border-radius:4px;align-items:center;gap:3px;padding:3px 5px;font-size:9px;display:inline-flex}.checklist-line .todo-check{color:#67758b;background:#edf0f5}.muted-session{opacity:.9}.task-list>div{border-bottom:1px solid #edf1f5;align-items:center;gap:9px;padding:14px 0;display:flex}.task-list>div:last-child{border:0}.task-check{border:1px solid #cbd6e7;border-radius:5px;width:18px;height:18px}.task-list p{flex:1;margin:0}.task-list b{font-size:11px;display:block}.task-list small{color:var(--muted);font-size:9px}.upload-placeholder{min-height:112px;color:var(--blue);background:#f7faff;border:1px dashed #9eb8e8;border-radius:8px;place-items:center;gap:4px;display:grid}.upload-placeholder span{font-size:11px}.upload-placeholder small{color:var(--muted);font-size:9px}.attendance-inline{color:#136a47;background:var(--green-soft);border-radius:7px;gap:8px;padding:9px;font-size:11px}.attendance-inline .status-badge{margin-left:auto}.teacher-hero,.parent-hero{color:#fff;background:linear-gradient(115deg,#102b61,#1d4fa1);border-radius:14px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;padding:25px;display:flex;position:relative;overflow:hidden}.teacher-hero:after{content:"";border:1px solid #ffffff29;border-radius:48% 52% 62% 38%;width:260px;height:260px;position:absolute;top:-75px;right:-48px;transform:rotate(22deg)}.teacher-hero>*{z-index:1;position:relative}.teacher-hero h2,.parent-hero h2{letter-spacing:-.045em;margin:6px 0;font-size:25px}.teacher-hero p,.parent-hero p{color:#c3d2f5;margin:0;font-size:12px}.teacher-hero .hero-kicker,.parent-hero .hero-kicker{color:#f5bb7a}.hero-stats{color:#c3d2f5;flex-wrap:wrap;gap:13px;margin-top:15px;font-size:10px;display:flex}.hero-stats span{align-items:center;gap:5px;display:flex}.teacher-hero .button{color:var(--navy);box-shadow:none;background:#f5bd73}.student-quick-list{padding:3px 0}.student-quick{border-bottom:1px solid #edf1f5;align-items:center;gap:9px;padding:10px 0;display:flex}.student-quick:last-child{border:0}.student-quick>div{flex:1}.student-quick strong{font-size:11px;display:block}.student-quick p{color:var(--muted);margin:2px 0 0;font-size:10px}.parent-hero{background:#e87b43;min-height:225px}.parent-hero:before{content:"";opacity:.95;background:radial-gradient(circle at 85% 20%,#ffd178 0 10%,#0000 10.5%),radial-gradient(circle at 72%,#ffd9ae 0 7%,#0000 7.5%),radial-gradient(circle at 93% 68%,#2e4990 0 16%,#0000 16.5%);position:absolute;inset:0}.parent-hero>div{z-index:1;position:relative}.parent-balance{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#752d152e;border:1px solid #ffffff59;border-radius:11px;width:230px;padding:17px}.parent-balance span{color:#ffe9d6;font-size:10px;display:block}.parent-balance b{margin-top:3px;font-size:27px;display:block}.parent-balance b small{font-size:11px;font-weight:500}.parent-balance p{color:#ffe8db;margin-top:5px;font-size:10px}.parent-hero .button-secondary{color:#a44920;border:0;margin-top:16px}.parent-portal{gap:16px;display:grid}.parent-next-card{color:#fff;background:var(--navy);border-radius:13px;justify-content:space-between;align-items:center;min-height:150px;padding:24px;display:flex;overflow:hidden}.parent-next-card h2{letter-spacing:-.045em;margin:6px 0;font-size:24px}.parent-next-card p{color:#b4c6ed;margin:0;font-size:11px}.parent-next-card>svg{color:#f3b96d}.parent-stat-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.parent-stat-row>div{border:1px solid var(--line);background:#fff;border-radius:9px;padding:13px}.parent-stat-row span,.parent-stat-row small{color:var(--muted);font-size:10px;display:block}.parent-stat-row b{margin:5px 0 2px;font-size:19px;display:block}.parent-stat-row b small{font-size:10px;display:inline}.parent-art{background:linear-gradient(125deg,#f9d0a4,#e97b4a 48%,#2f5ca3 49%,#24477d);min-height:165px;margin-bottom:13px}.art-sun{background:#ffd37d;border-radius:50%;width:43px;height:43px;position:absolute;top:22px;right:28px}.art-shape{position:absolute}.shape-one{background:#e53a34;border-radius:56% 44% 31% 69%;width:110px;height:115px;bottom:-9px;left:18px;transform:rotate(-18deg)}.shape-two{background:#f4edc2;width:74px;height:65px;bottom:17px;right:32px;transform:rotate(16deg)skew(-7deg)}.parent-debt{color:#166843;background:var(--green-soft);border-radius:8px;gap:11px;margin:15px 0;padding:15px}.parent-debt-warning{color:#8f5b00;background:var(--yellow-soft)}.parent-debt b{font-size:17px;display:block}.parent-debt p{margin:3px 0 0;font-size:10px}.settings-grid{margin-bottom:16px}.clock-control{gap:12px;padding:14px 0}.clock-control svg{color:var(--blue)}.clock-control b{font-size:12px;display:block}.clock-control p,.local-data-info p{color:var(--muted);margin:3px 0 0;font-size:10px;line-height:1.5}.clock-buttons{gap:8px;padding-bottom:4px;display:flex}.local-data-info{align-items:flex-start;gap:10px;padding:14px 0}.local-device-mark{width:38px;height:38px;color:var(--blue);background:var(--blue-2);border-radius:10px;flex:none;place-items:center;display:grid}.local-data-info b{font-size:12px}.danger-callout{color:#9e2a34;background:var(--red-soft);border-radius:8px;gap:9px;padding:13px;display:flex}.danger-callout p{margin:0;font-size:11px;line-height:1.55}.rule-value{color:var(--blue);font-weight:800}.rule-value small{color:var(--muted);font-size:10px;font-weight:500;display:inline!important}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-steps{gap:4px;margin:0;padding:3px 0 5px;list-style:none;display:grid}.guide-steps li{gap:9px;display:flex}.guide-steps span{width:28px;height:28px;color:var(--blue);background:var(--blue-2);border-radius:7px;place-items:center;font-size:9px;font-weight:800;display:grid}.guide-steps p{margin:0}.guide-steps b{font-size:11px;display:block}.guide-steps small{color:var(--muted);margin:2px 0 9px;font-size:10px;line-height:1.4;display:block}.uat-grid{gap:8px;padding:3px 0 16px;display:grid}.uat-grid span{color:#52627b;background:#f8faff;border-radius:6px;align-items:center;gap:7px;padding:8px;font-size:10px;display:flex}.uat-grid svg{color:var(--orange)}.limit-list{color:#52627b;gap:10px;margin:0;padding:5px 0 17px 18px;font-size:11px;line-height:1.5;display:grid}.loading-page{min-height:40vh;color:var(--muted);place-items:center;font-size:12px;display:grid}.debt-text{color:var(--red)!important}.inline-success+.button{margin-top:2px}.bottom-nav,.mobile-menu,.mobile-close,.scrim{display:none}@keyframes drawer-in{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=1280px){.app-shell{--sidebar:232px}.sidebar{padding-left:10px;padding-right:10px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.exception-grid,.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1023px){.app-shell{--sidebar:70px;grid-template-columns:70px 1fr}.sidebar{align-items:center;padding:17px 10px}.sidebar-top{margin:0 0 22px}.brand-copy,.workspace-chip div,.workspace-chip>svg,.nav-label,.nav-item span,.collapse-button span,.local-pill{display:none}.workspace-chip{justify-content:center;width:40px;height:40px;margin-bottom:20px;padding:0}.sidebar nav{width:100%}.nav-item{justify-content:center;padding:0}.sidebar-foot{place-items:center;padding:10px 0 0;display:grid}.collapse-button{padding:8px}.app-main{grid-column:2}.topbar{padding:0 22px}.dashboard-grid{grid-template-columns:1fr}.dashboard-grid .schedule-card{grid-column:auto}.student-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-overview-grid .section-card:last-child{grid-column:span 2}.student-hero-metrics{gap:20px}.approval-layout{grid-template-columns:1fr}.approval-detail{min-height:auto}.attendance-layout,.work-grid{grid-template-columns:1fr}}@media (width<=767px){body{padding-bottom:68px}.app-shell{display:block}.sidebar{align-items:stretch;width:min(282px,84vw);padding:20px 14px;transition:transform .22s;transform:translate(-110%)}.sidebar-open{transform:translate(0)}.sidebar .brand-copy,.sidebar .workspace-chip div,.sidebar .workspace-chip>svg,.sidebar .nav-label,.sidebar .nav-item span,.sidebar .collapse-button span,.sidebar .local-pill{display:initial}.sidebar .sidebar-top{margin:0 6px 26px}.sidebar .workspace-chip{justify-content:flex-start;width:auto;height:auto;padding:11px}.sidebar .nav-item{justify-content:flex-start;padding:0 12px}.sidebar .sidebar-foot{display:block}.mobile-close{display:grid}.scrim{z-index:25;background:#0d1a3961;border:0;position:fixed;inset:0}.app-main{display:block}.topbar{min-height:60px;padding:0 14px}.mobile-menu{display:grid}.context-date,.context-divider{display:none}.context-branch{font-size:11px}.topbar-actions{gap:6px}.role-trigger{justify-content:center;width:38px;min-height:38px;padding:4px}.role-trigger-copy,.role-trigger>svg,.topbar-actions>.avatar{display:none}.notification-popover{width:auto;position:fixed;top:62px;left:10px;right:10px}.role-popover{width:260px;position:fixed;top:61px;right:10px}.bottom-nav{z-index:35;padding:7px 8px max(7px, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:#6c7a91;place-items:center;gap:3px;min-height:44px;font-size:9px;display:grid}.bottom-nav a:hover{color:var(--blue)}main{padding:21px 14px 30px}.page-header{flex-direction:column;align-items:flex-start;gap:13px;min-height:0;margin-bottom:18px}.page-header h1{font-size:25px}.page-header p{font-size:12px}.page-actions{justify-content:flex-start}.page-actions .button{min-height:40px}.metrics-grid,.compact-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric-card{min-height:112px;padding:12px}.metric-card:nth-child(n+5){display:none}.metric-row strong{font-size:21px}.section-card>header{padding:14px}.section-content{padding:0 14px}.dashboard-grid,.learning-grid,.finance-grid,.parent-grid,.settings-grid,.guide-grid{grid-template-columns:1fr;gap:12px}.student-overview-grid{grid-template-columns:1fr}.student-overview-grid .section-card:last-child{grid-column:auto}.filter-bar{padding:8px}.select-filter,.filter-control{display:none}.filter-mobile{color:#53627a;background:#fff;border:1px solid #e2e7ef;border-radius:7px;align-items:center;gap:5px;min-height:34px;padding:0 9px;font-size:10px;display:inline-flex}.table-wrap{width:calc(100% + 28px);margin:0 -14px}.table-wrap table{min-width:650px}.table-wrap th:first-child,.table-wrap td:first-child{padding-left:14px}.table-wrap th:last-child,.table-wrap td:last-child{padding-right:14px}.drawer{width:100%}.drawer>header,.drawer-body{padding:18px}.drawer>footer{padding:12px 18px}.student-hero{padding:17px}.student-hero-actions{justify-content:flex-start;margin-top:15px;position:relative;top:auto;right:auto}.student-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.student-hero-metrics b{font-size:14px}.student-identity h1{font-size:23px}.student-hero:after{right:-190px}.tab-bar{border-radius:9px;margin-right:-14px}.calendar-strip{border-radius:9px;justify-content:flex-start;margin-right:-14px;overflow-x:auto}.calendar-strip button{flex:none}.calendar-strip button:nth-child(n+6){display:none}.attendance-layout{gap:12px}.exception-grid{grid-template-columns:1fr}.exception-card{min-height:142px}.approval-layout{gap:12px}.approval-list{margin:0 -14px}.approval-row{padding-left:14px;padding-right:14px}.request-detail{padding:16px}.teacher-session-card{grid-template-columns:48px 1fr}.teacher-session-card>.button{grid-column:2;justify-self:start}.teacher-hero,.parent-hero{flex-direction:column;align-items:flex-start;padding:20px}.teacher-hero .button{align-self:stretch}.parent-balance{width:100%}.parent-stat-row{gap:7px}.parent-stat-row>div{padding:10px}.parent-stat-row b{font-size:16px}.lesson-gallery{grid-template-columns:1fr}.lesson-image{min-height:130px}.entitlement-card{grid-template-columns:1fr 1fr}.entitlement-card>div:first-child{grid-column:span 2}.settings-grid{margin-bottom:12px}.guide-grid{grid-template-columns:1fr}.priority-meta{display:none}.priority-main{padding-right:0}.parent-next-card{min-height:125px;padding:18px}.parent-next-card h2{font-size:21px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.virtual-list{scrollbar-width:thin;max-height:620px;overflow:auto}.notification-row>a{flex:1;min-width:0}.notification-dismiss{color:#8995a8;background:0 0;border:0;border-radius:6px;align-self:center;place-items:center;width:28px;height:28px;display:grid}.notification-dismiss:hover{color:var(--red);background:var(--red-soft)}.virtual-record{width:100%;min-height:56px;color:var(--ink);text-align:left;background:#fff;border:0;border-bottom:1px solid #edf1f5;align-items:center;gap:10px;padding:8px 12px;display:flex}.virtual-record:hover{background:#f7f9fe}.virtual-record span{gap:3px;display:grid}.virtual-record b{font-size:11px}.virtual-record small{color:var(--muted);font-size:9px}.toggle-field{background:#f7f9fd;border-radius:7px;align-items:center;padding:10px;grid-template-columns:none!important;gap:8px!important;display:flex!important}.toggle-field input{height:16px;width:16px!important;box-shadow:none!important}.exam-fields{background:#f7faff;border:1px solid #dbe5f9;border-radius:8px;grid-template-columns:1fr 1fr;gap:10px;padding:12px;display:grid}.exam-fields label:last-child{grid-column:span 2}@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-font-weight{syntax:"*";inherits:false}@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-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}
