@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-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-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}}}@layer theme{:root,:host{--font-sans:var(--font-sans);--spacing:.25rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--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;--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-stack)}}@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}.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}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.resize{resize:both}.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)}.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{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))}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--kc-navy-950:#071d35;--kc-navy-900:#0e3045;--kc-navy-800:#124a67;--kc-navy-700:#12638d;--kc-blue-700:#12638d;--kc-blue-600:#167cad;--kc-blue-500:#1e99d5;--kc-blue-100:#ddf2fb;--kc-blue-50:#f1fafd;--kc-red-700:#941b1b;--kc-red-600:#b52323;--kc-red-500:#d02828;--kc-red-100:#f7dada;--kc-red-50:#fdf3f3;--kc-green-700:#167150;--kc-green-600:#218765;--kc-green-100:#d9f2e7;--kc-green-50:#eefaf5;--kc-amber-700:#87520f;--kc-amber-600:#b77716;--kc-amber-100:#f8e8c8;--kc-amber-50:#fff8ea;--kc-yellow-700:#6b4b00;--kc-yellow-600:#d99b00;--kc-yellow-500:#f4bd32;--kc-yellow-200:#f3d46a;--kc-yellow-100:#fff1b8;--kc-purple-700:var(--kc-blue-700);--kc-purple-100:var(--kc-blue-100);--kc-slate-950:#17212d;--kc-slate-800:#344253;--kc-slate-700:#4a596a;--kc-slate-600:#627184;--kc-slate-500:#647488;--kc-slate-400:#9ba7b5;--kc-slate-300:#c8d0da;--kc-slate-200:#dfe4ea;--kc-slate-100:#edf1f5;--kc-slate-50:#f7f9fb;--kc-white:#fff;--background:#f5f7f9;--foreground:var(--kc-slate-950);--surface:var(--kc-white);--border:var(--kc-slate-200);--shadow-xs:0 1px 2px #071d350f;--shadow-sm:0 6px 20px #071d3517;--shadow-md:0 18px 50px #071d3526;--radius-xs:8px;--radius-sm:10px;--radius-md:14px;--radius-lg:18px;--radius-xl:22px;--radius-round:999px;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--page-title-size:clamp(1.55rem, 2.4vw, 2.1rem);--section-title-size:var(--text-xl);--dialog-title-size:var(--text-xl);--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--control-height:44px;--control-height-comfortable:48px;--demo-banner-height:32px;--sidebar-width:264px;--topbar-height:72px;--content-max:1480px;--font-sans:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Heiti TC", "Noto Sans CJK TC", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono-stack:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace}*{box-sizing:border-box}html{background:var(--background);scroll-behavior:smooth;-moz-text-size-adjust:100%;text-size-adjust:100%;min-width:320px}body{background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-sans);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.55}body,button,input,select,textarea{font-family:var(--font-sans)}button,input,select,textarea{font-size:inherit}button{min-height:var(--control-height);color:inherit}button:not(:disabled),a[href]{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:var(--kc-blue-700);text-underline-offset:3px;text-decoration-thickness:1.5px}img,svg{display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3,h4{text-wrap:balance}input,textarea{color:var(--kc-slate-950)}input::placeholder,textarea::placeholder{color:var(--kc-slate-500)}:where(a,button,input,select,textarea,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--kc-blue-600);outline-offset:3px}::selection{background:var(--kc-blue-100);color:var(--kc-navy-950)}.skip-link{z-index:1000;border-radius:var(--radius-sm);background:var(--kc-navy-950);color:#fff;min-height:44px;font-weight:var(--weight-bold);padding:11px 16px;transition:transform .16s;position:fixed;top:8px;left:8px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.button{min-height:var(--control-height);border-radius:var(--radius-sm);font-weight:var(--weight-bold);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:10px 17px;line-height:1.2;text-decoration:none;transition:background-color .16s,border-color .16s,box-shadow .16s,color .16s,transform .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button-primary{border-color:var(--kc-blue-600);background:var(--kc-blue-600);box-shadow:var(--shadow-xs);color:#fff}.button-primary:hover:not(:disabled){border-color:var(--kc-blue-700);background:var(--kc-blue-700);box-shadow:var(--shadow-sm)}.button-secondary{border-color:var(--kc-slate-300);background:var(--kc-white);color:var(--kc-navy-800)}.button-secondary:hover:not(:disabled){border-color:var(--kc-blue-500);background:var(--kc-blue-50)}.button-ghost{color:var(--kc-blue-700);background:0 0;border-color:#0000}.button-ghost:hover:not(:disabled){background:var(--kc-blue-50)}.button-danger{border-color:var(--kc-red-600);background:var(--kc-red-50);color:var(--kc-red-700)}.button-small{min-height:var(--control-height);font-size:var(--text-sm);padding:8px 13px}.button-icon{place-items:center;display:inline-grid}.icon-button{width:44px;min-width:44px;height:var(--control-height);border-radius:var(--radius-sm);color:var(--kc-slate-600);background:0 0;border:1px solid #0000;place-items:center;padding:0;transition:background-color .15s,color .15s,border-color .15s;display:inline-grid}.icon-button:hover{border-color:var(--kc-slate-200);background:var(--kc-slate-50);color:var(--kc-navy-800)}.text-action,.panel-footer-action{min-height:44px;color:var(--kc-blue-700);font-weight:var(--weight-bold);background:0 0;border:0;align-items:center;gap:6px;padding:8px 4px;display:inline-flex}.text-action:hover,.panel-footer-action:hover{color:var(--kc-red-700)}.panel-footer-action{border-top:1px solid var(--kc-slate-100);justify-content:flex-end;width:100%;margin-top:16px;padding-top:14px}.eyebrow,.panel-eyebrow{color:var(--kc-red-600);font-size:var(--text-xs);font-weight:var(--weight-extrabold);letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px;line-height:1.3}.panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--shadow-xs)}.panel-header{border-bottom:1px solid var(--kc-slate-100);justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:18px 20px 14px;display:flex}.panel-header h2{color:var(--kc-navy-900);font-size:var(--text-lg);margin:0;line-height:1.3}.panel-eyebrow{color:var(--kc-slate-500);font-size:var(--text-2xs);margin:0 0 3px}.panel-actions{align-items:center;display:flex}.panel-content{min-width:0;padding:20px}.table-panel>.panel-content{padding:0}.status-chip{border-radius:var(--radius-round);min-height:27px;font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;align-items:center;gap:6px;padding:4px 9px;line-height:1.1;display:inline-flex}.status-dot{border-radius:var(--radius-round);background:currentColor;flex:none;width:7px;height:7px}.status-blue{background:var(--kc-blue-100);color:var(--kc-blue-700)}.status-green{background:var(--kc-green-100);color:var(--kc-green-700)}.status-amber{background:var(--kc-amber-100);color:var(--kc-amber-700)}.status-red{background:var(--kc-red-100);color:var(--kc-red-700)}.status-purple{background:var(--kc-blue-100);color:var(--kc-blue-700)}.status-slate{background:var(--kc-slate-100);color:var(--kc-slate-700)}.progress-block{gap:7px;display:grid}.progress-label{color:var(--kc-slate-600);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-label strong{color:var(--kc-navy-800)}.progress-track{border-radius:var(--radius-round);background:var(--kc-slate-100);height:8px;position:relative;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--kc-blue-600);height:100%;transition:width .4s;display:block}.progress-red{background:var(--kc-red-500)}.progress-green{background:var(--kc-green-600)}.progress-amber{background:var(--kc-amber-600)}.empty-state{text-align:center;align-content:center;place-items:center;min-height:260px;padding:36px 20px;display:grid}.empty-state-icon{border-radius:var(--radius-md);background:var(--kc-blue-50);width:52px;height:52px;color:var(--kc-blue-700);place-items:center;margin-bottom:14px;display:grid}.empty-state h3{color:var(--kc-navy-900);margin-bottom:5px}.empty-state p{max-width:420px;color:var(--kc-slate-600);margin-bottom:18px}.brand-mark{color:var(--kc-navy-900);align-items:center;gap:11px;display:inline-flex}.brand-symbol{border-radius:var(--radius-md);width:43px;height:43px;box-shadow:var(--shadow-sm);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-extrabold);flex:none;grid-template-columns:1fr 1fr;line-height:1;display:grid;overflow:hidden}.brand-symbol>span{place-items:center;display:grid}.brand-symbol>span:first-child{background:var(--kc-red-500)}.brand-symbol>span:last-child{background:var(--kc-blue-600)}.brand-symbol-small{border-radius:var(--radius-sm);width:36px;height:36px;font-size:var(--text-2xs)}.brand-copy{line-height:1.15;display:grid}.brand-copy strong{font-size:var(--text-md);letter-spacing:.01em}.brand-copy small{color:var(--kc-slate-500);font-size:var(--text-2xs);font-weight:var(--weight-semibold);letter-spacing:.08em;margin-top:4px}.brand-mark-inverse{color:#fff}.brand-mark-inverse .brand-symbol{outline:1px solid #fff3}.brand-mark-inverse .brand-copy small{color:#ffffffab}.brand-mark-compact .brand-symbol{width:39px;height:39px}.app-frame{background:var(--background);min-height:100vh}.demo-banner{z-index:80;height:var(--demo-banner-height);background:var(--kc-red-600);color:#fff;font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.015em;text-align:center;justify-content:center;align-items:center;gap:7px;padding:0 14px;display:flex;position:fixed;top:0;left:0;right:0}.demo-banner-icon{place-items:center;display:inline-grid}.app-sidebar{z-index:60;top:var(--demo-banner-height);width:var(--sidebar-width);background:linear-gradient(180deg, var(--kc-blue-600), var(--kc-blue-700));box-shadow:var(--shadow-md);color:#fff;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;overflow:visible}.sidebar-head{min-height:var(--topbar-height);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:15px 18px;display:flex}.sidebar-close{color:#fff;display:none}.sidebar-close:hover{color:#fff;background:#ffffff14;border-color:#ffffff1f}.sidebar-nav{scrollbar-color:#fff3 transparent;flex:1;gap:3px;min-height:0;padding:10px 11px 20px;display:grid;overflow-y:auto}.nav-item{border-radius:var(--radius-sm);color:#ffffffb3;width:100%;min-height:46px;font-weight:var(--weight-semibold);text-align:left;background:0 0;border:0;align-items:center;gap:12px;padding:10px 13px;transition:background-color .15s,color .15s,transform .15s;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item-active{color:#fff;background:#ffffff26}.nav-item-active:before{border-radius:var(--radius-round);background:var(--kc-red-500);content:"";width:3px;position:absolute;top:11px;bottom:11px;left:-2px}.sidebar-foot{border-top:1px solid #ffffff14;padding:12px;position:relative}.sidebar-profile{border-radius:var(--radius-md);color:#fff;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;min-height:58px;padding:8px 9px;display:flex}.sidebar-profile:hover{background:#ffffff0f;border-color:#ffffff1a}.profile-copy{flex:1;min-width:0;display:grid}.profile-copy strong,.profile-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-copy strong{font-size:var(--text-sm)}.profile-copy small{color:#ffffff91;font-size:var(--text-2xs)}.app-workspace{min-height:100vh;margin-left:var(--sidebar-width);padding-top:calc(var(--demo-banner-height) + var(--topbar-height))}.app-topbar{z-index:50;top:var(--demo-banner-height);right:0;left:var(--sidebar-width);height:var(--topbar-height);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-bottom:1px solid #dfe4eacc;justify-content:space-between;align-items:center;gap:20px;padding:0 28px;display:flex;position:fixed}.topbar-leading,.topbar-actions{align-items:center;gap:10px;min-width:0;display:flex}.topbar-context{min-width:0;display:grid}.topbar-context span{color:var(--kc-slate-500);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.055em;text-transform:uppercase}.topbar-context strong{color:var(--kc-navy-900);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu-button,.mobile-brand{display:none}.topbar-action{border-radius:var(--radius-sm);min-height:44px;color:var(--kc-slate-700);font-size:var(--text-sm);font-weight:var(--weight-semibold);background:0 0;border:1px solid #0000;align-items:center;gap:7px;padding:8px 11px;display:inline-flex}.topbar-action:hover{border-color:var(--kc-slate-200);background:var(--kc-slate-50);color:var(--kc-navy-800)}.topbar-language-indicator,.topbar-language-indicator:hover{color:var(--kc-slate-700);cursor:default;background:0 0;border-color:#0000}.install-action{border-color:var(--kc-blue-100);background:var(--kc-blue-50);color:var(--kc-blue-700)}.notification-button{position:relative}.topbar-student-selector{border:1px solid var(--kc-blue-100);border-radius:var(--radius-md);background:var(--kc-blue-50);min-height:48px;color:var(--kc-navy-900);text-align:left;align-items:center;gap:8px;padding:4px 9px 4px 5px;display:flex}.topbar-student-selector:hover{border-color:var(--kc-blue-500);background:#fff}.topbar-student-selector>span:nth-child(2){min-width:112px;display:grid}.topbar-student-selector small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.family-student-status{align-items:center;gap:5px;min-width:0;display:inline-flex}.family-student-status>span{background:var(--kc-slate-400);border-radius:50%;flex:none;width:6px;height:6px}.family-student-status.is-green{color:var(--kc-green-700)}.family-student-status.is-green>span{background:var(--kc-green-600)}.family-student-status.is-amber{color:var(--kc-amber-700)}.family-student-status.is-amber>span{background:var(--kc-amber-600)}.family-student-status.is-blue{color:var(--kc-blue-700)}.family-student-status.is-blue>span{background:var(--kc-blue-500)}.family-student-status.is-red{color:var(--kc-red-700)}.family-student-status.is-red>span{background:var(--kc-red-600)}.topbar-student-selector strong{font-size:var(--text-xs);white-space:nowrap}.family-student-menu{width:245px}.topbar-leading-student{min-width:0}.topbar-leading-student .family-student-menu{left:0;right:auto}.family-student-menu>button{border:0;border-bottom:1px solid var(--kc-slate-100);text-align:left;background:#fff;align-items:center;gap:10px;width:100%;padding:11px 13px;display:flex}.family-student-menu>button>span:nth-child(2){flex:1;min-width:0;display:grid}.family-student-menu>button small{color:var(--kc-slate-500)}.family-student-menu>button.selected{background:var(--kc-blue-50)}.notification-badge{border-radius:var(--radius-round);background:var(--kc-red-600);color:#fff;min-width:18px;height:18px;font-size:var(--text-2xs);font-weight:var(--weight-extrabold);border:2px solid #fff;place-items:center;padding:0 5px;line-height:1;display:grid;position:absolute;top:3px;right:2px}.topbar-profile{border-radius:var(--radius-md);text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:9px;min-height:48px;padding:4px 7px 4px 5px;display:flex}.topbar-profile:hover{border-color:var(--kc-slate-200);background:var(--kc-slate-50)}.topbar-profile>span:nth-child(2){min-width:96px;display:grid}.topbar-profile strong,.topbar-profile small{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.topbar-profile strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.topbar-profile small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.popover-anchor{position:relative}.popover-menu{z-index:90;border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);min-width:190px;box-shadow:var(--shadow-md);color:var(--kc-slate-950);background:#fff;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.popover-menu button{text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:46px;padding:9px 13px;display:flex}.popover-menu button:hover,.popover-menu button.selected{background:var(--kc-blue-50);color:var(--kc-navy-900)}.locale-menu{width:210px}.role-menu{width:304px;max-height:min(480px,72vh);overflow-y:auto}.sidebar-foot .role-menu{inset:auto auto calc(100% - 4px) 12px}.role-menu-heading{border-bottom:1px solid var(--kc-slate-100);color:var(--kc-slate-500);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.07em;text-transform:uppercase;align-items:center;gap:7px;padding:11px 14px;display:flex}.role-menu button{justify-content:flex-start}.role-menu button>span:nth-child(2){flex:1;min-width:0;display:grid}.role-menu button strong{font-size:var(--text-sm)}.role-menu button small{color:var(--kc-slate-500);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role-menu-icon{border-radius:var(--radius-sm);background:var(--kc-blue-50);width:33px;height:33px;color:var(--kc-blue-700);flex:none;place-items:center;display:grid}.selected-mark{color:var(--kc-green-700);font-weight:var(--weight-extrabold)}.sidebar-scrim{display:none}.app-main{width:100%;max-width:calc(var(--content-max) + 64px);min-height:calc(100vh - var(--demo-banner-height) - var(--topbar-height));margin:0 auto;padding:30px 32px 46px}.mobile-bottom-nav{display:none}.screen-stack{gap:22px;min-width:0;display:grid}.screen-header{justify-content:space-between;align-items:flex-end;gap:22px;min-width:0;display:flex}.screen-header>div:first-child{min-width:0}.screen-header h1{color:var(--kc-navy-900);font-size:clamp(1.65rem,2.5vw,2.1rem);font-weight:var(--weight-extrabold);letter-spacing:-.025em;margin-bottom:7px;line-height:1.15}.screen-header>div:first-child>p:last-child{max-width:760px;color:var(--kc-slate-600);margin-bottom:0}.screen-actions{flex:none;align-items:center;gap:10px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric-card{border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;min-height:126px;box-shadow:var(--shadow-xs);background:#fff;align-items:flex-start;gap:14px;padding:18px;display:flex}.metric-card>div{min-width:0;display:grid}.metric-card>div>span{color:var(--kc-slate-600);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-card>div>strong{color:var(--kc-navy-900);font-size:clamp(1.55rem,2.3vw,2rem);font-weight:var(--weight-extrabold);letter-spacing:-.03em;margin:2px 0 1px;line-height:1.2}.metric-card>div>small{color:var(--kc-slate-500);font-size:var(--text-xs)}.metric-icon,.action-item-icon,.quick-action-icon{border-radius:var(--radius-md);flex:none;place-items:center;width:43px;height:43px;display:grid}.metric-blue,.action-blue,.quick-blue{background:var(--kc-blue-100);color:var(--kc-blue-700)}.metric-red,.action-red,.quick-red{background:var(--kc-red-100);color:var(--kc-red-700)}.metric-green,.quick-green{background:var(--kc-green-100);color:var(--kc-green-700)}.metric-amber,.action-amber,.quick-amber{background:var(--kc-amber-100);color:var(--kc-amber-700)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.dashboard-grid-wide{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}.lesson-timeline{display:grid}.lesson-row{grid-template-columns:62px 12px minmax(0,1fr);align-items:stretch;gap:13px;min-height:86px;display:grid}.lesson-row+.lesson-row{border-top:1px solid var(--kc-slate-100);padding-top:13px}.lesson-time{align-content:start;padding-top:3px;display:grid}.lesson-time strong{color:var(--kc-navy-900);font-size:var(--text-base)}.lesson-time span{color:var(--kc-slate-500);font-size:var(--text-xs)}.timeline-marker{border-radius:var(--radius-round);width:10px;height:10px;box-shadow:0 0 0 2px var(--kc-blue-500);border:3px solid #fff;margin-top:7px;display:block;position:relative}.timeline-marker:after{background:var(--kc-slate-200);content:"";width:1px;position:absolute;top:14px;bottom:-65px;left:2px}.lesson-row:last-child .timeline-marker:after{display:none}.timeline-marker-2{box-shadow:0 0 0 2px var(--kc-red-500)}.lesson-detail{justify-content:space-between;align-items:flex-start;gap:16px;min-width:0;display:flex}.lesson-detail h3{color:var(--kc-navy-900);font-size:var(--text-base);margin-bottom:3px}.lesson-detail p{color:var(--kc-slate-500);font-size:var(--text-xs);margin-bottom:0}.lesson-meta{flex:none;align-items:center;gap:10px;display:flex}.lesson-meta>span:last-child{color:var(--kc-slate-500);font-size:var(--text-xs);align-items:center;gap:5px;display:inline-flex}.action-list{gap:3px;display:grid}.action-item{border-radius:var(--radius-sm);text-align:left;background:0 0;border:0;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:69px;padding:9px 5px;display:grid}.action-item:hover{background:var(--kc-slate-50)}.action-item-icon{border-radius:var(--radius-sm);width:40px;height:40px}.action-item>span:nth-child(2){min-width:0;display:grid}.action-item strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.action-item small{color:var(--kc-slate-500);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.branch-health{align-items:center;gap:28px;display:flex}.branch-health-score{border:9px solid var(--kc-green-100);border-top-color:var(--kc-green-600);border-right-color:var(--kc-green-600);border-radius:50%;flex:none;align-content:center;place-items:center;width:102px;height:102px;display:grid}.branch-health-score span{color:var(--kc-navy-900);font-size:var(--text-2xl);font-weight:var(--weight-extrabold);line-height:1}.branch-health-score small{color:var(--kc-slate-500);font-size:var(--text-2xs);margin-top:5px}.branch-health-bars{flex:1;gap:13px;min-width:0;display:grid}.compact-activity{gap:13px;display:grid}.compact-activity>div{grid-template-columns:37px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.activity-avatar,.avatar,.mini-avatar{background:var(--kc-blue-100);color:var(--kc-blue-700);font-weight:var(--weight-extrabold);border-radius:50%;flex:none;place-items:center;display:inline-grid}.activity-avatar{width:36px;height:36px;font-size:var(--text-xs)}.avatar{width:42px;height:42px}.avatar-small{width:36px;height:36px;font-size:var(--text-xs)}.avatar-xl{width:68px;height:68px;font-size:var(--text-xl)}.avatar-photo{background:linear-gradient(145deg, #ffffff40, transparent), var(--kc-red-500);color:#fff}.avatar-tone-1,.mini-avatar-1{background:var(--kc-blue-100);color:var(--kc-blue-700)}.avatar-tone-2,.mini-avatar-2{background:var(--kc-red-100);color:var(--kc-red-700)}.avatar-tone-3,.mini-avatar-3{background:var(--kc-amber-100);color:var(--kc-amber-700)}.compact-activity>div>span:nth-child(2){min-width:0;display:grid}.compact-activity strong{font-size:var(--text-sm)}.compact-activity small{color:var(--kc-slate-500);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.compact-activity time{color:var(--kc-slate-500);font-size:var(--text-2xs)}.child-switcher{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);text-align:left;background:#fff;align-items:center;gap:10px;min-width:220px;padding:7px 10px 7px 7px;display:flex}.child-switcher:hover{border-color:var(--kc-blue-500)}.child-switcher>span:nth-child(2){flex:1;min-width:0;display:grid}.child-switcher small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.child-switcher strong{font-size:var(--text-xs)}.family-hero-card{border-radius:var(--radius-lg);background:radial-gradient(circle at 84% 20%, #ffffff26, transparent 22%), linear-gradient(120deg, var(--kc-blue-700), var(--kc-blue-600));min-height:224px;box-shadow:var(--shadow-md);color:#fff;justify-content:space-between;align-items:stretch;display:flex;position:relative;overflow:hidden}.family-hero-card:before{content:"";border:1px solid #ffffff14;border-radius:50%;width:220px;height:220px;position:absolute;top:-72px;right:17%}.family-hero-copy{z-index:1;padding:28px 30px;position:relative}.hero-status{color:var(--kc-blue-100);font-size:var(--text-xs);font-weight:var(--weight-bold);align-items:center;gap:8px;margin-bottom:12px;display:inline-flex}.pulse-dot{background:var(--kc-green-600);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #21876521}.family-hero-copy h2{margin-bottom:8px;font-size:clamp(1.6rem,3vw,2.2rem)}.family-hero-copy>p,.teacher-class-copy>p{color:#ffffffba;align-items:center;gap:7px;margin-bottom:22px;display:flex}.hero-teacher{align-items:center;gap:10px;display:flex}.hero-teacher>span:last-child{display:grid}.hero-teacher small{color:#ffffff96;font-size:var(--text-2xs)}.hero-teacher strong{font-size:var(--text-sm)}.family-hero-time{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff12;align-content:center;justify-items:start;min-width:260px;padding:28px 34px;display:grid;position:relative}.family-hero-time>span{color:#ffffffa8;font-size:var(--text-xs)}.family-hero-time>strong{font-size:var(--text-3xl);margin:1px 0 18px}.family-quick-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.quick-action{border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;min-height:96px;box-shadow:var(--shadow-xs);text-align:left;background:#fff;grid-template-columns:43px minmax(0,1fr) auto;align-items:center;gap:11px;padding:15px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.quick-action:hover{border-color:var(--kc-blue-100);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.quick-action>span:nth-child(2){min-width:0;display:grid}.quick-action strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.quick-action small{color:var(--kc-slate-500);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.learning-summary{align-items:center;gap:26px;display:flex}.learning-score{background:var(--kc-blue-50);width:100px;height:100px;color:var(--kc-navy-900);border-radius:50%;flex:none;align-content:center;place-items:center;display:grid}.learning-score span{font-size:var(--text-2xl);font-weight:var(--weight-extrabold);line-height:1}.learning-score small{color:var(--kc-slate-500);font-size:var(--text-2xs);margin-top:6px}.learning-bars{flex:1;gap:13px;min-width:0;display:grid}.announcement-compact{align-items:flex-start;gap:14px;display:flex}.announcement-icon{border-radius:var(--radius-md);background:var(--kc-red-100);width:46px;height:46px;color:var(--kc-red-700);flex:none;place-items:center;display:grid}.announcement-compact h3{color:var(--kc-navy-900);font-size:var(--text-base);margin:10px 0 6px}.announcement-compact p{color:var(--kc-slate-600);font-size:var(--text-sm);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:0;display:-webkit-box;overflow:hidden}.child-hero{border-radius:var(--radius-xl);background:radial-gradient(circle at 78% 30%, #ffffff38, transparent 18%), linear-gradient(125deg, var(--kc-blue-700), var(--kc-blue-600) 55%, var(--kc-red-500) 140%);min-height:242px;box-shadow:var(--shadow-md);color:#fff;justify-content:space-between;align-items:center;padding:34px clamp(26px,5vw,56px);display:flex;position:relative;overflow:hidden}.child-hero:after{content:"";border:48px solid #ffffff0f;border-radius:50%;width:360px;height:360px;position:absolute;bottom:-140px;right:-80px}.child-hero-copy{z-index:1;position:relative}.child-kicker{color:var(--kc-blue-50);font-size:var(--text-xs);font-weight:var(--weight-bold);align-items:center;gap:7px;margin-bottom:10px;display:inline-flex}.child-hero h1{letter-spacing:-.035em;margin-bottom:9px;font-size:clamp(2rem,4.5vw,3rem)}.child-hero p{color:#fffc;max-width:500px;margin-bottom:20px}.streak-chip{border-radius:var(--radius-round);min-height:38px;font-size:var(--text-xs);background:#0e304533;border:1px solid #ffffff26;align-items:center;gap:8px;padding:7px 12px;display:inline-flex}.child-orbit{z-index:1;border:1px solid #ffffff47;border-radius:50%;flex:none;width:150px;height:150px;position:relative}.child-orbit-core{box-shadow:var(--shadow-sm);color:var(--kc-amber-600);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;inset:27px}.child-orbit-dot{background:var(--kc-red-500);border:4px solid #ffffffb3;border-radius:50%;width:18px;height:18px;position:absolute}.child-orbit-dot-one{top:8px;right:20px}.child-orbit-dot-two{background:var(--kc-amber-600);bottom:13px;left:12px}.child-qr-pass-card{border:1px solid var(--kc-blue-100);border-radius:var(--radius-lg);background:var(--kc-white);min-height:88px;box-shadow:var(--shadow-xs);color:var(--kc-blue-700);text-align:left;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px 18px;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.child-qr-pass-card:hover{border-color:var(--kc-blue-500);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.child-qr-pass-icon{border-radius:var(--radius-md);background:var(--kc-blue-50);place-items:center;width:52px;height:52px;display:grid}.child-qr-pass-copy{min-width:0;display:grid}.child-qr-pass-copy small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.child-qr-pass-copy strong{color:var(--kc-navy-900);font-size:var(--text-base)}.child-qr-pass-copy em{color:var(--kc-amber-700);font-size:var(--text-2xs);font-style:normal;font-weight:var(--weight-bold);margin-top:2px}.student-account-qr-layout{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:24px;display:grid}.student-account-qr-instructions{align-content:center;justify-items:start;gap:12px;display:grid}.student-account-qr-instructions h3{color:var(--kc-navy-900)}.student-account-qr-instructions>p{color:var(--kc-slate-600);line-height:1.65}.student-account-qr-lesson{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);background:var(--kc-slate-50);gap:8px;width:100%;padding:12px;display:grid}.student-account-qr-lesson>span{color:var(--kc-blue-700);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.student-account-qr-lesson>span>span{display:grid}.student-account-qr-lesson small,.student-account-qr-note{color:var(--kc-slate-500);font-size:var(--text-2xs)}.student-account-qr-lesson strong{color:var(--kc-slate-800);font-size:var(--text-xs)}.student-account-qr-note{line-height:1.55}.child-task-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.child-task-card{border-radius:var(--radius-lg);min-height:145px;box-shadow:var(--shadow-sm);color:#fff;text-align:left;border:0;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:15px;padding:24px;transition:transform .16s,box-shadow .16s;display:grid;position:relative;overflow:hidden}.child-task-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.child-task-primary{background:linear-gradient(130deg, var(--kc-red-600), var(--kc-red-500))}.child-task-secondary{background:linear-gradient(130deg, var(--kc-blue-700), var(--kc-blue-600))}.task-number{color:#ffffff2b;font-size:var(--text-3xl);font-weight:var(--weight-extrabold);line-height:1;position:absolute;top:12px;right:18px}.child-task-icon{border-radius:var(--radius-md);background:#ffffff29;place-items:center;width:48px;height:48px;display:grid}.child-task-card>span:nth-child(3){min-width:0;display:grid}.child-task-card small,.child-task-card em{color:#ffffffb8;font-size:var(--text-2xs);font-style:normal}.child-task-card strong{font-size:var(--text-md);margin:3px 0}.task-arrow{width:42px;height:42px;color:var(--kc-navy-800);background:#fff;border-radius:50%;place-items:center;display:grid}.child-progress-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.child-progress-stats>div{border-radius:var(--radius-md);background:var(--kc-slate-50);text-align:center;padding:13px;display:grid}.child-progress-stats strong{color:var(--kc-navy-900);font-size:var(--text-lg)}.child-progress-stats span{color:var(--kc-slate-500);font-size:var(--text-2xs)}.child-next-class{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.child-class-time{border-radius:var(--radius-md);background:var(--kc-blue-100);width:65px;height:65px;color:var(--kc-blue-700);font-size:var(--text-base);font-weight:var(--weight-extrabold);place-items:center;display:grid}.child-next-class>span:nth-child(2){display:grid}.child-next-class small{color:var(--kc-slate-500);font-size:var(--text-xs)}.teacher-next-card{border:1px solid var(--kc-blue-100);border-radius:var(--radius-lg);background:linear-gradient(120deg, white, var(--kc-blue-50));min-height:152px;box-shadow:var(--shadow-sm);grid-template-columns:165px minmax(0,1fr) auto;align-items:stretch;display:grid;overflow:hidden}.teacher-time-block{background:var(--kc-blue-700);color:#fff;text-align:center;align-content:center;padding:24px;display:grid}.teacher-time-block span,.teacher-time-block small{color:#ffffffa3;font-size:var(--text-2xs)}.teacher-time-block strong{font-size:var(--text-3xl);margin:3px 0}.teacher-class-copy{align-self:center;padding:22px 25px}.teacher-class-copy h2{color:var(--kc-navy-900);font-size:var(--text-xl);margin:8px 0 5px}.teacher-class-copy>p{color:var(--kc-slate-600);margin:0}.teacher-class-actions{align-items:center;gap:10px;padding:20px 24px;display:flex}.teacher-progress-ring{align-items:center;gap:22px;display:flex}.ring-chart{--progress:75%;background:conic-gradient(var(--kc-blue-600) var(--progress), var(--kc-blue-100) 0);border-radius:50%;flex:none;place-items:center;width:105px;height:105px;display:grid;position:relative}.ring-chart:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:10px}.ring-chart span{z-index:1;color:var(--kc-navy-900);font-size:var(--text-md);font-weight:var(--weight-extrabold);position:relative}.teacher-progress-ring h3{color:var(--kc-navy-900);font-size:var(--text-base);margin-bottom:5px}.teacher-progress-ring p{color:var(--kc-slate-600);font-size:var(--text-xs);margin-bottom:7px}.completion-list{gap:10px;display:grid}.completion-list>div{grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.mini-avatar{width:34px;height:34px;font-size:var(--text-xs)}.completion-list strong{font-size:var(--text-sm)}.student-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.student-strip>button{border:1px solid var(--kc-slate-100);border-radius:var(--radius-md);background:var(--kc-slate-50);text-align:left;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:70px;padding:10px;display:grid}.student-strip>button:hover{border-color:var(--kc-blue-100);background:var(--kc-blue-50)}.student-strip>button>span:nth-child(2){min-width:0;display:grid}.student-strip strong{font-size:var(--text-sm)}.student-strip small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.toolbar,.calendar-toolbar{align-items:center;gap:10px;min-width:0;display:flex}.search-box{border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);min-width:230px;min-height:46px;color:var(--kc-slate-500);background:#fff;flex:1;align-items:center;gap:10px;padding:0 13px;display:flex}.search-box:focus-within{border-color:var(--kc-blue-500);box-shadow:0 0 0 3px #167cad26}.search-box input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:44px}.data-table{width:100%}.data-table-head,.data-table-row{grid-template-columns:minmax(210px,1.3fr) .55fr 1.2fr 1fr .65fr 42px;align-items:center;gap:14px;padding:0 18px;display:grid}.data-table-head{border-bottom:1px solid var(--kc-slate-200);background:var(--kc-slate-50);min-height:48px;color:var(--kc-slate-500);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:.045em}.data-table-row{border:0;border-bottom:1px solid var(--kc-slate-100);width:100%;min-height:74px;color:var(--kc-slate-700);text-align:left;background:#fff}.data-table-row:last-child{border-bottom:0}.data-table-row:hover{background:var(--kc-blue-50)}.data-table-row>span{min-width:0;font-size:var(--text-sm)}.student-cell{align-items:center;gap:10px;display:flex}.student-cell>span:last-child{min-width:0;display:grid}.student-cell strong,.student-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.student-cell strong{color:var(--kc-navy-900)}.student-cell small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.branch-dots{flex-wrap:wrap;gap:5px;display:flex}.branch-dots>span{color:var(--kc-slate-600);font-size:var(--text-2xs);align-items:center;gap:3px;display:inline-flex}.calendar-toolbar{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;justify-content:space-between;padding:12px}.segmented-control{border-radius:var(--radius-sm);background:var(--kc-slate-100);padding:3px;display:inline-flex}.segmented-control button{border-radius:var(--radius-xs);min-width:52px;min-height:40px;color:var(--kc-slate-600);font-size:var(--text-xs);font-weight:var(--weight-bold);background:0 0;border:0;padding:7px 11px}.segmented-control button.active{box-shadow:var(--shadow-xs);color:var(--kc-navy-900);background:#fff}.calendar-range{align-items:center;gap:10px;display:flex}.calendar-range button{border-radius:var(--radius-sm);width:44px;min-width:44px;color:var(--kc-slate-600);font-size:var(--text-xl);background:0 0;border:0;place-items:center;padding:0;display:grid}.calendar-range button:hover{background:var(--kc-slate-50)}.calendar-range strong{min-width:190px;color:var(--kc-navy-900);font-size:var(--text-sm);text-align:center}.schedule-layout{gap:18px;display:grid}.week-strip{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.week-strip button{border:0;border-right:1px solid var(--kc-slate-100);min-height:78px;color:var(--kc-slate-600);background:#fff;align-content:center;justify-items:center;gap:3px;padding:8px;display:grid;position:relative}.week-strip button:last-child{border-right:0}.week-strip button:hover{background:var(--kc-blue-50)}.week-strip button span{font-size:var(--text-2xs)}.week-strip button strong{font-size:var(--text-md)}.week-strip button.active{background:var(--kc-blue-700);color:#fff}.week-strip button i{background:var(--kc-red-500);border-radius:50%;width:5px;height:5px;position:absolute;bottom:8px}.schedule-list{gap:12px;display:grid}.schedule-date-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.schedule-date-heading>span{color:var(--kc-navy-900);font-size:var(--text-sm);font-weight:var(--weight-bold)}.schedule-card{border:1px solid var(--border);border-left:5px solid var(--kc-blue-500);border-radius:var(--radius-md);min-height:135px;box-shadow:var(--shadow-xs);background:#fff;grid-template-columns:90px minmax(0,1fr) auto;align-items:stretch;display:grid;position:relative;overflow:hidden}.course-tone-2{border-left-color:var(--kc-red-500)}.course-tone-3{border-left-color:var(--kc-amber-600)}.schedule-time{border-right:1px solid var(--kc-slate-100);background:var(--kc-slate-50);text-align:center;align-content:center;padding:18px;display:grid}.schedule-time strong{color:var(--kc-navy-900);font-size:var(--text-md)}.schedule-time span{color:var(--kc-slate-500);font-size:var(--text-2xs)}.schedule-card-body{align-content:center;gap:11px;padding:17px 20px;display:grid}.schedule-title-row{justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;display:flex}.schedule-title-row h3{color:var(--kc-navy-900);font-size:var(--text-md);margin:5px 0 0}.schedule-details{color:var(--kc-slate-600);font-size:var(--text-xs);flex-wrap:wrap;gap:9px 18px;display:flex}.schedule-details span{align-items:center;gap:5px;display:inline-flex}.avatar-stack{align-items:center;display:flex}.avatar-stack .mini-avatar,.avatar-more{width:29px;height:29px;font-size:var(--text-2xs);border:2px solid #fff;margin-right:-6px}.avatar-more{background:var(--kc-slate-100);color:var(--kc-slate-600);font-weight:var(--weight-bold);border-radius:50%;place-items:center;display:grid}.schedule-chevron{color:var(--kc-slate-400);align-self:center;margin-right:18px}.qr-layout,.attendance-layout,.communications-layout,.matching-layout{grid-template-columns:minmax(320px,.88fr) minmax(0,1.12fr);align-items:start;gap:20px;display:grid}.qr-pass{border:1px solid var(--kc-blue-100);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:radial-gradient(circle at 100% 0,#167cad1c,#0000 200px),#fff;padding:24px;position:relative;overflow:hidden}.qr-pass:after{border:24px solid var(--kc-red-50);content:"";border-radius:50%;width:130px;height:130px;position:absolute;bottom:-44px;right:-44px}.qr-pass-brand,.qr-student,.qr-next-class{align-items:center;gap:11px;display:flex}.qr-pass-brand{border-bottom:1px solid var(--kc-slate-100);padding-bottom:18px}.qr-pass-brand>span:last-child,.qr-student>span:last-child,.qr-next-class>span{display:grid}.qr-pass-brand strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.qr-pass-brand small,.qr-next-class small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.qr-student{margin:22px 0 17px}.qr-student h2{color:var(--kc-navy-900);font-size:var(--text-xl);margin-bottom:2px}.qr-student p{color:var(--kc-slate-500);font-size:var(--text-xs);margin-bottom:0}.qr-code-shell{border:1px solid var(--kc-slate-200);border-radius:var(--radius-lg);width:min(100%,272px);box-shadow:inset 0 0 0 7px var(--kc-slate-50);background:#fff;place-items:center;margin:0 auto;padding:18px;display:grid}.qr-code-shell svg{width:100%;height:auto}.qr-id{color:var(--kc-slate-500);font-family:var(--font-geist-mono), ui-monospace, monospace;font-size:var(--text-xs);letter-spacing:.09em;text-align:center;margin:12px 0 18px}.qr-next-class{z-index:1;border-radius:var(--radius-md);background:var(--kc-blue-50);color:var(--kc-blue-700);padding:13px;position:relative}.qr-next-class strong{color:var(--kc-navy-800);font-size:var(--text-xs)}.numbered-help{gap:16px;margin:0;padding:0;list-style:none;display:grid}.numbered-help li{grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px;display:grid}.numbered-help li>span{background:var(--kc-blue-700);color:#fff;width:29px;height:29px;font-size:var(--text-xs);font-weight:var(--weight-extrabold);border-radius:50%;place-items:center;display:grid}.numbered-help p{color:var(--kc-slate-700);font-size:var(--text-sm);margin:3px 0 0}.privacy-callout,.permission-summary,.scope-banner,.matching-disclaimer,.success-banner{border:1px solid var(--kc-blue-100);border-radius:var(--radius-md);background:var(--kc-blue-50);color:var(--kc-blue-700);align-items:flex-start;gap:11px;padding:14px 16px;display:flex}.privacy-callout{color:var(--kc-slate-700);margin-top:20px}.privacy-callout svg,.permission-summary svg,.scope-banner svg,.matching-disclaimer svg,.success-banner svg{flex:none;margin-top:2px}.privacy-callout p{font-size:var(--text-xs);margin:0}.scanner-panel{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;padding:20px}.scanner-frame{border-radius:var(--radius-lg);background:radial-gradient(circle at center, #167cad1f, transparent 55%), var(--kc-navy-950);color:#fff;place-items:center;min-height:340px;display:grid;position:relative;overflow:hidden}.scanner-frame:before{content:"";background:repeating-linear-gradient(0deg,#0000 0 3px,#ffffff05 4px);position:absolute;inset:0}.scanner-corners{z-index:1;aspect-ratio:1;border-radius:var(--radius-lg);border:2px solid #fff3;width:min(68%,240px);position:absolute}.scanner-corners:before,.scanner-corners:after{border:solid var(--kc-blue-500);content:"";clip-path:polygon(0 0,34% 0,34% 4px,4px 4px,4px 34%,0 34%);border-width:4px 0 0 4px;border-radius:17px 0 0;position:absolute;inset:-3px}.scanner-corners:after{clip-path:polygon(66% 100%,100% 100%,100% 66%,calc(100% - 4px) 66%,calc(100% - 4px) calc(100% - 4px),66% calc(100% - 4px));border-width:0 4px 4px 0;border-radius:0 0 17px}.scanner-placeholder,.scan-result{z-index:2;text-align:center;justify-items:center;gap:7px;max-width:260px;padding:20px;display:grid;position:relative}.scanner-placeholder strong,.scan-result strong{margin-top:8px}.scanner-placeholder span,.scan-result span:last-child{color:#ffffffa1;font-size:var(--text-xs)}.scan-success{background:radial-gradient(circle at center, #2187653d, transparent 56%), var(--kc-navy-950)}.scan-check{background:var(--kc-green-600);color:#fff;border-radius:50%;place-items:center;width:68px;height:68px;display:grid}.scanner-demo-button{width:100%;margin-top:14px}.roster-list{display:grid}.roster-row{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:42px minmax(0,1fr) auto 44px;align-items:center;gap:11px;min-height:66px;display:grid}.roster-row:last-child{border-bottom:0}.roster-student{min-width:0;display:grid}.roster-student strong{font-size:var(--text-sm)}.roster-student small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.success-banner{border-color:var(--kc-green-100);background:var(--kc-green-50);color:var(--kc-green-700);position:relative}.success-banner>span{flex:1;min-width:0;display:grid}.success-banner small{color:var(--kc-slate-600)}.success-banner button{min-width:44px;color:inherit;font-weight:var(--weight-bold);background:0 0;border:0;padding:5px 8px}.leave-flow-card{border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);background:#fff;padding:22px}.leave-flow-head{grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.leave-flow-head>span:nth-child(2){display:grid}.leave-flow-head small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.leave-flow-head h2{color:var(--kc-navy-900);font-size:var(--text-md);margin:2px 0 0}.stepper{grid-template-columns:repeat(4,1fr);margin:27px 0 23px;display:grid}.step{color:var(--kc-slate-400);font-size:var(--text-2xs);text-align:center;justify-items:center;gap:7px;display:grid;position:relative}.step:before{z-index:0;background:var(--kc-slate-200);content:"";height:2px;position:absolute;top:14px;left:-50%;right:50%}.step:first-child:before{display:none}.step>span{z-index:1;border:2px solid var(--kc-slate-200);background:#fff;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:relative}.step.active{color:var(--kc-blue-700)}.step.active>span{border-color:var(--kc-blue-500);background:var(--kc-blue-500);box-shadow:inset 0 0 0 6px #fff}.step.complete>span{border-color:var(--kc-green-600);box-shadow:none;background:var(--kc-green-600);color:#fff}.step.active:before,.step.complete:before{background:var(--kc-blue-500)}.leave-detail-grid{border-radius:var(--radius-md);background:var(--kc-slate-50);grid-template-columns:repeat(3,1fr);gap:12px;padding:15px;display:grid}.leave-detail-grid>span{gap:2px;display:grid}.leave-detail-grid small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.leave-detail-grid strong{font-size:var(--text-sm)}.simple-list{display:grid}.simple-list>div{grid-template-columns:39px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.list-icon{border-radius:var(--radius-sm);place-items:center;width:39px;height:39px;display:grid}.list-icon-green{background:var(--kc-green-100);color:var(--kc-green-700)}.simple-list>div>span:nth-child(2){display:grid}.simple-list strong{font-size:var(--text-sm)}.simple-list small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.request-list,.invoice-list{display:grid}.request-card{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:92px;padding:17px 20px;display:grid}.request-card:last-child{border-bottom:0}.request-card.is-focused{background:var(--kc-blue-50);box-shadow:inset 0 0 0 2px var(--kc-blue-600)}.request-main{min-width:0;display:grid}.request-main>div{align-items:center;gap:9px;display:flex}.request-main h3{color:var(--kc-navy-900);font-size:var(--text-sm);margin:0}.request-main p{color:var(--kc-slate-700);font-size:var(--text-xs);margin:4px 0 1px}.request-main small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.request-actions{align-items:center;gap:8px;display:flex}.scope-banner{border-color:var(--kc-amber-100);background:var(--kc-amber-50);color:var(--kc-amber-700);font-size:var(--text-xs)}.invoice-card{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:47px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:108px;padding:17px 20px;display:grid}.invoice-card:last-child{border-bottom:0}.invoice-document{border:1px solid var(--kc-blue-100);border-radius:var(--radius-sm);background:var(--kc-blue-50);width:46px;height:52px;color:var(--kc-blue-700);place-items:center;display:grid}.invoice-main{gap:12px;display:grid}.invoice-main>div:first-child{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.invoice-main>div:first-child>span:first-child{display:grid}.invoice-main strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.invoice-main small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.invoice-meta{gap:28px;display:flex}.invoice-meta>span{display:grid}.invoice-actions{align-items:center;gap:6px;display:flex}.invoice-approval-panel{border-color:var(--kc-amber-100);overflow:hidden;box-shadow:0 10px 26px #734a0014}.invoice-approval-panel>.panel-header{background:linear-gradient(90deg, var(--kc-amber-50), white 72%)}.invoice-approval-panel .panel-eyebrow{color:var(--kc-amber-700)}.invoice-approval-intro{color:var(--kc-slate-600);font-size:var(--text-xs);margin:0 0 14px;line-height:1.55}.invoice-approval-list{gap:9px;display:grid}.invoice-approval-card{border:1px solid var(--kc-amber-100);border-radius:var(--radius-sm);background:#fff;grid-template-columns:38px minmax(190px,1fr) minmax(92px,auto) minmax(105px,auto) auto;align-items:center;gap:14px;min-height:72px;padding:11px 12px;display:grid}.invoice-approval-icon{border-radius:var(--radius-sm);background:var(--kc-amber-100);width:38px;height:38px;color:var(--kc-amber-700);place-items:center;display:grid}.invoice-approval-main,.invoice-approval-proof,.invoice-approval-amount{gap:2px;min-width:0;display:grid}.invoice-approval-main strong,.invoice-approval-proof strong,.invoice-approval-amount strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.invoice-approval-main small,.invoice-approval-proof small,.invoice-approval-amount small{color:var(--kc-slate-500);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.invoice-approval-empty{border:1px dashed var(--kc-green-100);border-radius:var(--radius-sm);background:var(--kc-green-50);min-height:58px;color:var(--kc-green-700);font-size:var(--text-xs);font-weight:var(--weight-bold);justify-content:center;align-items:center;gap:8px;display:flex}.invoice-toolbar{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);background:#fff;padding:12px}.invoice-filter-control{border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);background:#fff;align-items:center;gap:9px;min-height:46px;padding:0 10px 0 13px;display:flex}.invoice-filter-control:focus-within{border-color:var(--kc-blue-500);box-shadow:0 0 0 3px #167cad26}.invoice-filter-control>span{color:var(--kc-slate-500);font-size:var(--text-2xs);font-weight:var(--weight-bold);white-space:nowrap}.invoice-filter-control select{min-width:128px;height:44px;color:var(--kc-navy-900);font:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);background:0 0;border:0;outline:0}.invoice-filter-count{min-width:76px;color:var(--kc-slate-500);font-size:var(--text-2xs);text-align:right;white-space:nowrap}.assessment-context{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);background:var(--kc-slate-200);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.assessment-context>span{background:#fff;gap:2px;padding:13px 16px;display:grid}.assessment-context small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.assessment-context strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.assessment-grid{display:grid}.assessment-row{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:minmax(190px,1fr) auto;align-items:center;gap:18px;min-height:76px;padding:12px 0;display:grid}.assessment-row:last-child{border-bottom:0}.assessment-row>span{display:grid}.assessment-row strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.assessment-row small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.score-control{gap:7px;display:flex}.score-control button{border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);width:44px;min-width:44px;height:44px;color:var(--kc-slate-600);font-weight:var(--weight-extrabold);background:#fff;place-items:center;padding:0;display:grid}.score-control button:hover{border-color:var(--kc-blue-500);color:var(--kc-blue-700)}.score-control button.active{border-color:var(--kc-blue-700);background:var(--kc-blue-700);box-shadow:var(--shadow-sm);color:#fff}.comment-field{color:var(--kc-navy-900);font-size:var(--text-xs);font-weight:var(--weight-bold);gap:7px;margin-top:18px;display:grid}.comment-field textarea{resize:vertical;border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);min-height:120px;color:var(--kc-slate-700);font-weight:var(--weight-medium);background:#fff;outline:0;padding:13px;line-height:1.6}.comment-field textarea:focus{border-color:var(--kc-blue-500);box-shadow:0 0 0 3px #167cad26}.learning-hero{border-radius:var(--radius-lg);background:radial-gradient(circle at 8% 0, #ffffff1a, transparent 35%), var(--kc-blue-700);color:#fff;grid-template-columns:minmax(0,1fr);align-items:center;gap:28px;min-height:0;padding:29px 31px;display:grid;overflow:hidden}.learning-hero h2{margin-bottom:8px;font-size:clamp(1.45rem,2.6vw,2rem)}.learning-hero>div:first-child>p:not(.eyebrow){color:#ffffffb3;max-width:620px}.learning-hero .eyebrow{color:var(--kc-blue-500)}.learning-hero-score{grid-template-columns:auto auto;align-items:end;gap:2px 8px;margin-top:5px;display:inline-grid}.learning-hero-score>span:first-child{font-size:var(--text-3xl);font-weight:var(--weight-extrabold);line-height:1}.learning-hero-score>span:nth-child(2){display:none}.learning-hero-score small{color:#ffffff91;font-size:var(--text-2xs);grid-column:1/-1}.spark-bars{align-items:end;gap:12px;height:160px;padding:0 20px;display:flex}.spark-bars span{background:linear-gradient(180deg, var(--kc-blue-500), #167cad38);border-radius:8px 8px 0 0;flex:1;min-width:18px}.spark-bars span:nth-child(5n+2),.spark-bars span:nth-child(5n+4){background:linear-gradient(180deg, var(--kc-red-500), #d0282833)}.learning-bars-large{gap:17px}.teacher-quote{border-left:4px solid var(--kc-red-500);background:var(--kc-red-50);color:var(--kc-red-700);border-radius:0 12px 12px 0;margin:0;padding:19px;position:relative}.teacher-quote svg{margin-bottom:9px}.teacher-quote p{color:var(--kc-slate-700);font-size:var(--text-sm);margin:0;line-height:1.7}.homework-grid{gap:10px;display:grid}.homework-card{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:86px;padding:12px 0;display:grid}.homework-card:last-child{border-bottom:0}.homework-type{border-radius:var(--radius-md);background:var(--kc-red-100);width:46px;height:46px;color:var(--kc-red-700);place-items:center;display:grid}.homework-type-2{background:var(--kc-blue-100);color:var(--kc-blue-700)}.homework-card>div{min-width:0}.homework-card h3{color:var(--kc-navy-900);font-size:var(--text-sm);margin:7px 0 2px}.homework-card p{color:var(--kc-slate-500);font-size:var(--text-2xs);margin:0}.communications-layout{grid-template-columns:minmax(300px,.8fr) minmax(390px,1.2fr)}.announcement-list{gap:18px;display:grid}.announcement-list article{grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;display:grid}.announcement-mark{border-radius:var(--radius-md);background:var(--kc-blue-100);width:42px;height:42px;color:var(--kc-blue-700);place-items:center;display:grid}.announcement-urgent{background:var(--kc-red-100);color:var(--kc-red-700)}.announcement-list article>div>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.announcement-list time{color:var(--kc-slate-500);font-size:var(--text-2xs)}.announcement-list h3{color:var(--kc-navy-900);font-size:var(--text-sm);margin:8px 0 5px}.announcement-list p{color:var(--kc-slate-600);font-size:var(--text-xs);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.message-panel{border:1px solid var(--border);border-radius:var(--radius-md);min-height:560px;box-shadow:var(--shadow-xs);background:#fff;grid-template-rows:auto minmax(0,1fr) auto;display:grid;overflow:hidden}.message-head{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:73px;padding:13px 16px;display:grid}.message-head>span:nth-child(2){display:grid}.message-head strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.message-head small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.message-thread{background:radial-gradient(circle at 8px 8px, #0e304509 1px, transparent 1px), var(--kc-slate-50);background-size:16px 16px;flex-direction:column;gap:10px;min-height:0;padding:19px;display:flex;overflow-y:auto}.message-date{border-radius:var(--radius-round);background:var(--kc-slate-200);color:var(--kc-slate-600);font-size:var(--text-2xs);font-weight:var(--weight-bold);align-self:center;padding:4px 9px}.message-bubble{border:1px solid var(--kc-slate-200);max-width:min(78%,480px);box-shadow:var(--shadow-xs);background:#fff;border-radius:5px 14px 14px;align-self:flex-start;padding:10px 12px 7px}.message-bubble.own{border-color:var(--kc-blue-100);background:var(--kc-blue-100);border-radius:14px 5px 14px 14px;align-self:flex-end}.message-bubble p{color:var(--kc-slate-800);font-size:var(--text-sm);margin:0;line-height:1.55}.message-bubble>span{color:var(--kc-slate-500);font-size:var(--text-2xs);text-align:right;margin-top:4px;display:block}.message-compose{border-top:1px solid var(--kc-slate-100);background:#fff;grid-template-columns:minmax(0,1fr) 44px;align-items:center;gap:7px;padding:11px;display:grid}.message-compose input{border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);background:var(--kc-slate-50);outline:0;width:100%;min-width:0;height:44px;padding:0 12px}.message-compose input:focus{border-color:var(--kc-blue-500);background:#fff;box-shadow:0 0 0 3px #167cad21}.send-button{border-radius:var(--radius-sm);background:var(--kc-red-600);color:#fff;border:0;place-items:center;width:44px;min-width:44px;height:44px;padding:0;display:grid}.send-button:hover{background:var(--kc-red-700)}.audit-list,.user-list{display:grid}.audit-list article{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:42px minmax(180px,1.2fr) minmax(120px,.8fr) 110px;align-items:center;gap:13px;min-height:75px;padding:13px 18px;display:grid}.audit-list article:last-child{border-bottom:0}.audit-list .empty-row{color:var(--kc-slate-500);text-align:center;margin:0;padding:28px 18px}.audit-icon{border-radius:var(--radius-sm);background:var(--kc-blue-100);width:40px;height:40px;color:var(--kc-blue-700);place-items:center;display:grid}.audit-icon-2{background:var(--kc-green-100);color:var(--kc-green-700)}.audit-icon-3{background:var(--kc-amber-100);color:var(--kc-amber-700)}.audit-list article>div,.audit-list article>span:nth-child(3){min-width:0;display:grid}.audit-list h3{color:var(--kc-navy-900);font-size:var(--text-sm);margin:0}.audit-list p{color:var(--kc-slate-500);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;overflow:hidden}.audit-list strong{font-size:var(--text-xs)}.audit-list small,.audit-list time{color:var(--kc-slate-500);font-size:var(--text-2xs)}.matching-disclaimer{color:var(--kc-blue-700)}.matching-disclaimer>span,.permission-summary>span{display:grid}.matching-disclaimer strong,.permission-summary strong{color:var(--kc-navy-900)}.matching-disclaimer span,.permission-summary small{font-size:var(--text-xs)}.matching-layout{grid-template-columns:minmax(280px,.72fr) minmax(430px,1.28fr)}.ranking-list{gap:8px;display:grid}.ranking-list button{border-radius:var(--radius-md);background:var(--kc-slate-50);text-align:left;border:1px solid #0000;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;min-height:70px;padding:10px;display:grid}.ranking-list button:hover,.ranking-list button.active{border-color:var(--kc-blue-100);background:var(--kc-blue-50)}.rank-number{border-radius:var(--radius-sm);background:var(--kc-slate-200);width:31px;height:31px;color:var(--kc-slate-700);font-size:var(--text-xs);font-weight:var(--weight-extrabold);place-items:center;display:grid}.ranking-list button.active .rank-number{background:var(--kc-blue-700);color:#fff}.ranking-list button>span:nth-child(2){min-width:0;display:grid}.ranking-list strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.ranking-list small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.match-score{color:var(--kc-green-700);font-size:var(--text-md);font-weight:var(--weight-extrabold)}.gap-chart{gap:20px;display:grid}.gap-chart>div>div:first-child{color:var(--kc-slate-700);font-size:var(--text-xs);justify-content:space-between;align-items:center;margin-bottom:7px;display:flex}.gap-chart>div>div:first-child strong{color:var(--kc-navy-900)}.gap-track{border-radius:var(--radius-round);background:var(--kc-slate-100);height:13px;position:relative}.gap-fill{border-radius:inherit;background:var(--kc-blue-500);height:100%;display:block}.gap-fill-2{background:var(--kc-red-500)}.gap-fill-3{background:var(--kc-green-600)}.gap-fill-4{background:var(--kc-amber-600)}.gap-track i{border-radius:var(--radius-round);background:var(--kc-navy-950);width:3px;height:23px;position:absolute;top:-5px}.gap-chart small{color:var(--kc-slate-500);font-size:var(--text-2xs);margin-top:6px;display:block}.match-footer{border-top:1px solid var(--kc-slate-100);color:var(--kc-slate-500);font-size:var(--text-2xs);justify-content:space-between;align-items:center;gap:12px;margin-top:22px;padding-top:14px;display:flex}.match-footer span{align-items:center;gap:5px;display:inline-flex}.branch-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.branch-card{border:1px solid var(--border);border-radius:var(--radius-md);min-height:275px;box-shadow:var(--shadow-xs);background:#fff;padding:20px}.branch-card-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.branch-building{border-radius:var(--radius-md);background:var(--kc-blue-100);width:46px;height:46px;color:var(--kc-blue-700);place-items:center;display:grid}.branch-card h2{color:var(--kc-navy-900);font-size:var(--text-lg);margin:16px 0 5px}.branch-card>p{color:var(--kc-slate-500);font-size:var(--text-xs);align-items:center;gap:6px;margin-bottom:17px;display:flex}.branch-card-metrics{border-radius:var(--radius-sm);background:var(--kc-slate-200);grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:17px;display:grid;overflow:hidden}.branch-card-metrics>span{background:var(--kc-slate-50);text-align:center;padding:10px 8px;display:grid}.branch-card-metrics strong{color:var(--kc-navy-900)}.branch-card-metrics small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.permission-summary{color:var(--kc-blue-700)}.user-list article{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:42px minmax(140px,1fr) minmax(180px,1.15fr) auto;align-items:center;gap:13px;min-height:76px;padding:13px 18px;display:grid}.user-list article:last-child{border-bottom:0}.user-list article>span:nth-child(2){display:grid}.user-list strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.user-list small{color:var(--kc-slate-500);font-size:var(--text-2xs)}.role-pills{flex-wrap:wrap;gap:5px;display:flex}.login-page{background:var(--kc-slate-50);grid-template-columns:minmax(0,1fr);min-height:100svh;display:grid}.login-panel{background:var(--kc-slate-50);place-items:center;min-height:100svh;padding:86px clamp(30px,6vw,90px) 54px;display:grid;position:relative}.login-toolbar{justify-content:space-between;align-items:center;display:flex;position:absolute;top:24px;left:28px;right:28px}.login-system-brand{display:block}.language-trigger{border:1px solid var(--kc-slate-200);border-radius:var(--radius-sm);min-height:44px;color:var(--kc-slate-700);font-size:var(--text-xs);font-weight:var(--weight-semibold);background:#fff;align-items:center;gap:7px;padding:8px 11px;display:inline-flex}.language-trigger:hover{border-color:var(--kc-blue-500);background:var(--kc-blue-50)}.login-locale-menu{top:calc(100% + 6px)}.login-card{width:min(100%,960px)}.login-entry-layout{grid-template-columns:minmax(320px,.82fr) minmax(440px,1.18fr);align-items:start;gap:clamp(34px,5vw,60px);display:grid}.login-primary,.login-role-entry{min-width:0}.login-heading{margin-bottom:20px}.login-heading h1,.login-heading h2{color:var(--kc-navy-900);letter-spacing:-.025em;margin-bottom:8px;font-size:clamp(1.65rem,3vw,2.05rem)}.login-heading>p:last-child{color:var(--kc-slate-600);margin:0}.login-privacy-note{border-top:1px solid var(--kc-slate-200);color:var(--kc-slate-500);font-size:var(--text-2xs);align-items:flex-start;gap:8px;margin:15px 0 0;padding-top:14px;line-height:1.6;display:flex}.login-privacy-note svg{flex:none;margin-top:2px}.login-form{gap:14px;display:grid}.login-form>label{color:var(--kc-slate-700);font-size:var(--text-xs);font-weight:var(--weight-bold);gap:7px;display:grid}.field-shell{border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);min-height:50px;color:var(--kc-slate-500);background:#fff;grid-template-columns:21px minmax(0,1fr) auto;align-items:center;gap:8px;padding:0 9px 0 14px;display:grid}.field-shell:focus-within{border-color:var(--kc-blue-500);color:var(--kc-blue-700);box-shadow:0 0 0 3px #167cad24}.field-shell input{background:0 0;border:0;outline:0;width:100%;min-width:0;height:48px}.field-action{border-radius:var(--radius-sm);width:44px;min-width:44px;height:44px;color:var(--kc-slate-500);background:0 0;border:0;place-items:center;padding:0;display:grid}.field-action:hover{background:var(--kc-slate-50);color:var(--kc-navy-800)}.login-submit{width:100%;min-height:50px}.login-divider{color:var(--kc-slate-400);font-size:var(--text-2xs);font-weight:var(--weight-bold);align-items:center;gap:12px;margin:7px 0 17px;display:flex}.login-divider:before,.login-divider:after{background:var(--kc-slate-200);content:"";flex:1;height:1px}.demo-role-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.demo-role-card{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);text-align:left;background:#fff;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;min-height:76px;padding:11px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.demo-role-card:hover{border-color:var(--kc-blue-500);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.demo-role-icon{border-radius:var(--radius-sm);background:var(--kc-blue-50);width:38px;height:38px;color:var(--kc-blue-700);place-items:center;display:grid}.demo-role-card>span:nth-child(2){min-width:0;display:grid}.demo-role-card strong{color:var(--kc-navy-900);font-size:var(--text-xs)}.demo-role-card small{color:var(--kc-slate-500);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.demo-role-family{border-color:var(--kc-red-100);background:var(--kc-red-50);grid-column:1/-1}.demo-role-family .demo-role-icon{background:var(--kc-red-100);color:var(--kc-red-700)}.family-mode-panel{min-height:580px}.back-button{color:var(--kc-blue-700);font-size:var(--text-xs);font-weight:var(--weight-bold);background:0 0;border:0;align-items:center;gap:5px;margin-bottom:26px;padding:6px 7px;display:inline-flex}.family-mode-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.family-mode-card{border:1px solid var(--kc-slate-200);border-radius:var(--radius-lg);text-align:left;background:#fff;grid-template-rows:68px minmax(0,1fr) auto;align-items:start;gap:15px;min-height:235px;padding:23px;display:grid}.family-mode-card:hover{border-color:var(--kc-blue-500);box-shadow:var(--shadow-sm)}.family-mode-visual{border-radius:var(--radius-lg);background:var(--kc-blue-100);width:66px;height:66px;color:var(--kc-blue-700);place-items:center;display:grid}.family-mode-card>span:nth-child(2){display:grid}.family-mode-card strong{color:var(--kc-navy-900);font-size:var(--text-md);margin-bottom:5px}.family-mode-card small{color:var(--kc-slate-600);font-size:var(--text-xs);line-height:1.6}.family-mode-card>svg{color:var(--kc-slate-400);justify-self:end}.child-mode-card{border-color:var(--kc-red-100);background:var(--kc-red-50)}.child-mode-card .family-mode-visual{background:var(--kc-red-100);color:var(--kc-red-700)}.offline-page{background:radial-gradient(circle at 50% 10%, var(--kc-blue-100), transparent 25rem), var(--background);place-items:center;min-height:100svh;padding:24px;display:grid}.offline-card{border:1px solid var(--border);border-radius:var(--radius-lg);width:min(100%,460px);box-shadow:var(--shadow-md);text-align:center;background:#fff;padding:34px}.offline-icon{border-radius:var(--radius-lg);background:var(--kc-red-100);width:64px;height:64px;color:var(--kc-red-700);place-items:center;margin:0 auto 18px;display:grid}.offline-card h1{color:var(--kc-navy-900);margin-bottom:8px}.offline-card p:not(.eyebrow){color:var(--kc-slate-600);margin-bottom:22px}@media (max-width:1180px){:root{--sidebar-width:236px}.app-topbar{padding-inline:20px}.app-main{padding-inline:22px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.family-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-next-card{grid-template-columns:145px minmax(0,1fr)}.teacher-class-actions{grid-column:1/-1;justify-content:flex-end;padding:0 20px 18px}.branch-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.audit-list article{grid-template-columns:42px minmax(160px,1fr) minmax(110px,.7fr) 92px}.learning-hero,.login-page{grid-template-columns:minmax(0,1fr)}}@media (max-width:899px){:root{--demo-banner-height:36px;--topbar-height:64px}.app-sidebar{z-index:100;top:var(--demo-banner-height);visibility:hidden;width:min(86vw,310px);box-shadow:var(--shadow-md);pointer-events:none;transition:transform .2s,visibility 0s linear .2s;transform:translate(-105%)}.app-sidebar.sidebar-open{visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.sidebar-head{min-height:68px}.sidebar-close{display:inline-grid}.sidebar-scrim{z-index:90;inset:var(--demo-banner-height) 0 0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0e30458c;border:0;width:100%;min-height:0;display:block;position:fixed}.app-workspace{padding-top:calc(var(--demo-banner-height) + var(--topbar-height));margin-left:0}.app-topbar{height:var(--topbar-height);padding:0 16px;left:0;right:0}.menu-button,.mobile-brand{display:inline-grid}.mobile-brand{place-items:center}.role-family-parent .mobile-brand,.role-family-parent-2 .mobile-brand,.topbar-context{display:none}.topbar-actions{margin-left:auto}.desktop-profile-anchor{display:block}.desktop-profile-anchor .topbar-profile{gap:0;padding:4px}.desktop-profile-anchor .topbar-profile>span:nth-child(2),.desktop-profile-anchor .topbar-profile>svg{display:none}.topbar-action{justify-content:center;width:44px;min-width:44px;padding:0}.topbar-action>span,.topbar-action>svg:last-child{display:none}.topbar-student-selector{min-height:44px;padding-right:7px}.topbar-student-selector>span:nth-child(2){min-width:84px}.topbar-student-selector small{display:none}.role-family-parent .topbar-student-selector .family-student-status,.role-family-parent-2 .topbar-student-selector .family-student-status{display:inline-flex}.topbar-student-selector strong{text-overflow:ellipsis;max-width:92px;overflow:hidden}.role-family-parent .app-topbar,.role-family-parent-2 .app-topbar{gap:6px}.role-family-parent .topbar-leading-student .topbar-student-selector>span:nth-child(2),.role-family-parent-2 .topbar-leading-student .topbar-student-selector>span:nth-child(2){min-width:58px}.role-family-parent .topbar-leading-student .topbar-student-selector strong,.role-family-parent-2 .topbar-leading-student .topbar-student-selector strong{max-width:72px}.app-main{min-height:calc(100vh - var(--demo-banner-height) - var(--topbar-height) - 72px);padding:22px 18px calc(94px + env(safe-area-inset-bottom))}.mobile-bottom-nav{z-index:55;min-height:calc(68px + env(safe-area-inset-bottom));padding:5px 7px env(safe-area-inset-bottom);border-top:1px solid var(--kc-slate-200);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff7;grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav button{border-radius:var(--radius-sm);min-width:0;min-height:58px;color:var(--kc-slate-500);background:0 0;border:0;align-content:center;justify-items:center;gap:3px;padding:4px 2px;display:grid;position:relative}.mobile-bottom-nav button:hover,.mobile-bottom-nav button.active{background:var(--kc-blue-50);color:var(--kc-blue-700)}.mobile-bottom-nav button.active:before{border-radius:var(--radius-round);background:var(--kc-red-600);content:"";width:22px;height:3px;position:absolute;top:2px}.mobile-bottom-nav span{max-width:100%;font-size:var(--text-2xs);font-weight:var(--weight-bold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.screen-header{align-items:flex-start}.screen-header h1{font-size:var(--text-2xl)}.dashboard-grid,.dashboard-grid-wide,.qr-layout,.attendance-layout,.communications-layout,.matching-layout{grid-template-columns:1fr}.metric-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}.family-hero-time{min-width:230px}.student-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.data-table{min-width:820px}.student-table{min-width:0}.student-table .data-table-head{display:none}.student-table .data-table-row{grid-template-columns:minmax(180px,1.25fr) repeat(4,minmax(90px,.7fr)) 34px}.table-panel>.panel-content{overflow-x:auto}.calendar-toolbar{flex-wrap:wrap}.calendar-range{order:-1;justify-content:center;width:100%}.learning-hero{grid-template-columns:minmax(0,1fr)}.branch-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:1fr}.login-panel{align-content:start;min-height:100svh;padding:104px max(24px,6vw) 48px}.login-card{width:min(100%,560px)}.login-entry-layout{grid-template-columns:1fr;gap:0}.login-divider{margin-top:24px}.login-toolbar{justify-content:space-between;top:20px;left:max(20px,5vw);right:max(20px,5vw)}.family-mode-panel{min-height:0}}@media (max-width:640px){body{font-size:var(--text-sm)}.demo-banner{font-size:var(--text-2xs);text-align:left;text-overflow:ellipsis;white-space:nowrap;justify-content:flex-start;overflow:hidden}.app-topbar{padding-inline:10px}.topbar-leading,.topbar-actions{gap:4px}.topbar-language-indicator{display:none}.app-main{padding:18px 14px calc(92px + env(safe-area-inset-bottom))}.screen-stack{gap:17px}.screen-header{gap:14px;display:grid}.screen-header h1{font-size:var(--text-xl)}.screen-actions,.screen-actions .button{width:100%}.metric-grid,.metric-grid-three{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric-card{gap:10px;min-height:112px;padding:14px}.metric-card>div>strong{font-size:var(--text-xl)}.metric-icon{width:38px;height:38px}.panel-header{padding-inline:16px}.panel-content{padding:16px}.lesson-detail{display:grid}.lesson-meta{flex-wrap:wrap}.branch-health,.learning-summary,.teacher-progress-ring{align-items:flex-start}.branch-health-score,.learning-score,.ring-chart{width:88px;height:88px}.compact-activity>div{grid-template-columns:37px minmax(0,1fr)}.compact-activity time{grid-column:2}.child-switcher{width:100%}.family-hero-card{display:grid}.family-hero-copy{padding:24px}.family-hero-time{min-width:0;padding:20px 24px}.family-quick-grid,.child-task-grid,.student-strip,.branch-card-grid{grid-template-columns:1fr}.child-hero{min-height:240px;padding:26px}.child-orbit{opacity:.47;width:118px;height:118px;position:absolute;top:36px;right:-30px}.child-hero-copy{max-width:83%}.child-task-card{min-height:132px;padding:20px}.student-account-qr-layout{grid-template-columns:minmax(0,1fr);gap:18px}.child-progress-stats,.teacher-next-card{grid-template-columns:1fr}.teacher-time-block{text-align:left;grid-template-columns:auto auto auto;justify-content:space-between;align-items:center;padding:17px 20px}.teacher-time-block strong{font-size:var(--text-2xl)}.teacher-class-actions{grid-template-columns:1fr 1fr;padding:0 18px 18px;display:grid}.toolbar{flex-wrap:wrap}.search-box{flex-basis:100%;width:100%}.student-table .data-table-row{grid-template-columns:1fr auto;gap:9px 14px;min-height:0;padding:15px 16px;display:grid}.student-table .data-table-row>span{grid-column:1/-1;grid-template-columns:92px minmax(0,1fr);align-items:center;display:grid}.student-table .data-table-row>.student-cell{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:none;padding-bottom:8px;display:flex}.student-table .data-table-row>span:not(.student-cell):not(:last-child):before{color:var(--kc-slate-500);content:attr(data-label);font-size:var(--text-2xs);font-weight:var(--weight-bold)}.student-table .data-table-row>span:last-child{display:none}.calendar-toolbar>.button{flex:1}.calendar-range strong{flex:1;min-width:0}.week-strip{grid-template-columns:repeat(7,minmax(62px,1fr));overflow-x:auto}.week-strip button{min-height:68px}.schedule-card{grid-template-columns:72px minmax(0,1fr)}.schedule-card-body{padding:14px}.schedule-details{gap:6px;display:grid}.schedule-chevron{display:none}.qr-pass,.scanner-panel{padding:16px}.qr-code-shell{width:min(100%,250px)}.scanner-frame{min-height:290px}.roster-row{grid-template-columns:39px minmax(0,1fr) auto}.roster-row .icon-button{display:none}.leave-flow-head{grid-template-columns:42px minmax(0,1fr)}.leave-flow-head>.status-chip{grid-column:1/-1;justify-self:start}.stepper{grid-template-columns:1fr;gap:9px}.step{text-align:left;grid-template-columns:31px minmax(0,1fr);place-items:center start}.step:before{width:2px;height:13px;top:-10px;bottom:auto;left:14px}.leave-detail-grid{grid-template-columns:1fr}.request-card,.invoice-card{grid-template-columns:42px minmax(0,1fr);align-items:start;padding-inline:16px}.request-main>div,.invoice-main>div:first-child{align-items:flex-start}.request-actions,.invoice-actions{grid-column:1/-1;justify-content:flex-end}.invoice-document{width:42px;height:48px}.invoice-meta{gap:18px}.invoice-approval-card{grid-template-columns:38px minmax(0,1fr) auto}.invoice-approval-proof,.invoice-approval-amount{grid-column:2}.invoice-approval-card>.button{grid-area:1/3/span 3}.invoice-toolbar .invoice-filter-control{flex:1}.invoice-filter-count{margin-left:auto}.assessment-context{grid-template-columns:1fr}.assessment-row{grid-template-columns:1fr;gap:10px;padding:15px 0}.score-control{grid-template-columns:repeat(4,1fr);display:grid}.score-control button{width:100%}.learning-hero{grid-template-columns:1fr;gap:5px;min-height:0;padding:25px 22px}.spark-bars{height:100px;padding-inline:0}.homework-card{grid-template-columns:44px minmax(0,1fr)}.homework-card>.button{grid-column:1/-1;width:100%}.message-panel{min-height:520px}.message-thread{padding:14px}.message-bubble{max-width:88%}.audit-list article{grid-template-columns:40px minmax(0,1fr);gap:9px;padding-inline:14px}.audit-list article>span:nth-child(3),.audit-list time{grid-column:2}.match-footer{display:grid}.ranking-list button{grid-template-columns:32px minmax(0,1fr) auto}.ranking-list button>svg{display:none}.user-list article{grid-template-columns:42px minmax(0,1fr);gap:9px;padding-inline:14px}.user-list .role-pills,.user-list article>.status-chip{grid-column:2}.login-panel{padding:96px 18px 34px}.login-toolbar{left:16px;right:16px}.login-heading{margin-bottom:20px}.demo-role-grid,.family-mode-options{grid-template-columns:1fr}.demo-role-family{grid-column:auto}.family-mode-card{grid-template-rows:1fr;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;min-height:160px;padding:18px}.family-mode-visual{width:58px;height:58px}}@media (max-width:390px){.metric-grid,.metric-grid-three{grid-template-columns:1fr}.mobile-bottom-nav span{font-size:var(--text-2xs)}.branch-health,.learning-summary,.teacher-progress-ring{display:grid}.teacher-class-actions{grid-template-columns:1fr}.request-actions,.invoice-actions{grid-template-columns:1fr;display:grid}.request-actions .button,.invoice-actions .button{width:100%}.invoice-approval-card{grid-template-columns:34px minmax(0,1fr)}.invoice-approval-card>.button{grid-area:auto/1/auto/-1;width:100%}.invoice-approval-proof,.invoice-approval-amount{grid-column:2}.invoice-toolbar .invoice-filter-control,.invoice-toolbar .invoice-filter-count,.invoice-filter-control select{width:100%}.invoice-filter-count{text-align:left}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--border:var(--kc-slate-300)}.nav-item{color:#ffffffdb}.status-chip,.button,.panel,.metric-card{border-width:2px}}@media print{:root{--background:white}body{color:#000;background:#fff;font-size:10pt}.app-sidebar,.app-topbar,.mobile-bottom-nav,.sidebar-scrim,.screen-actions,.toolbar,.panel-actions,.message-compose,.button,.icon-button{display:none!important}.demo-banner{border:2pt solid var(--kc-red-700);letter-spacing:.04em;width:100%;height:auto;margin:0 0 12pt;padding:6pt 8pt;font-size:9pt;position:static;color:var(--kc-red-700)!important;background:#fff!important;display:flex!important}.demo-banner:before{border-right:1pt solid var(--kc-red-700);content:"DEMO / SAMPLE";font-weight:var(--weight-extrabold);letter-spacing:.08em;flex:none;padding-right:8pt}.demo-banner-icon{display:none}.app-workspace{margin:0;padding:0}.app-main{max-width:none;min-height:0;padding:0}.screen-stack{gap:12pt}.panel,.metric-card,.branch-card,.leave-flow-card,.schedule-card{break-inside:avoid;border-color:var(--kc-slate-300);box-shadow:none}.family-hero-card,.child-hero,.learning-hero,.teacher-next-card{break-inside:avoid;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}a{color:#000;text-decoration:none}}.demo-modal-overlay{z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e304573;justify-content:center;align-items:center;padding:20px;animation:.18s ease-out demo-overlay-in;display:flex;position:fixed;inset:0}@keyframes demo-overlay-in{0%{opacity:0}to{opacity:1}}.demo-modal{border-radius:var(--radius-lg);width:min(480px,100%);max-height:min(86vh,720px);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;animation:.22s cubic-bezier(.2,.9,.3,1) demo-modal-in;display:flex;overflow:hidden}.demo-modal-wide{width:min(600px,100%)}@keyframes demo-modal-in{0%{opacity:0;transform:translateY(14px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.demo-modal-head{border-bottom:1px solid var(--kc-slate-100);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 14px;display:flex}.demo-modal-head h2{font-size:var(--text-lg);margin:2px 0 0}.demo-modal-body{gap:16px;padding:18px 22px;display:grid;overflow-y:auto}.demo-modal-foot{border-top:1px solid var(--kc-slate-100);background:var(--kc-slate-50);justify-content:flex-end;gap:10px;padding:14px 22px 18px;display:flex}.demo-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.demo-field{gap:6px;display:grid}.demo-field span{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--kc-slate-600)}.demo-field input,.demo-field select,.demo-field textarea{border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);width:100%;min-height:44px;font-size:var(--text-base);background:#fff;padding:9px 12px}.demo-field textarea{resize:vertical}.demo-field input:focus-visible,.demo-field select:focus-visible,.demo-field textarea:focus-visible{outline:2px solid var(--kc-blue-500);outline-offset:1px}.demo-field-full{grid-column:1/-1}.demo-form-note{font-size:var(--text-sm);color:var(--kc-slate-500);align-items:center;gap:7px;margin:0;display:flex}.invoice-detail-head{border-radius:var(--radius-md);background:var(--kc-slate-50);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:13px 15px;display:grid}.invoice-detail-head span{justify-items:start;gap:3px;display:grid}.invoice-detail-head small{font-size:var(--text-xs);color:var(--kc-slate-500)}.invoice-lines{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);display:grid;overflow:hidden}.invoice-lines>div{border-bottom:1px solid var(--kc-slate-100);font-size:var(--text-base);justify-content:space-between;align-items:center;gap:12px;padding:12px 15px;display:flex}.invoice-lines>div:last-child{border-bottom:0}.invoice-line-discount,.invoice-line-discount strong{color:var(--kc-green-700)}.invoice-line-total{background:var(--kc-blue-50);font-weight:var(--weight-bold)}.invoice-line-total strong{font-size:var(--text-md);color:var(--kc-navy-900)}.invoice-stepper{margin-top:2px}.receipt-proof{gap:8px;display:grid}.receipt-proof-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--kc-slate-600);align-items:center;gap:6px;margin:0;display:flex}.receipt-mock{border:1px dashed var(--kc-slate-300);border-radius:var(--radius-md);background:linear-gradient(180deg, var(--kc-white) 0%, var(--kc-blue-50) 100%);overflow:hidden}.receipt-mock-head{border-bottom:1px solid var(--kc-slate-200);align-items:center;gap:11px;padding:12px 15px;display:flex}.receipt-mock-head>span:nth-child(2){flex:1;display:grid}.receipt-mock-head small{font-size:var(--text-xs);color:var(--kc-green-700)}.receipt-bank-icon{border-radius:var(--radius-sm);background:var(--kc-blue-700);color:#fff;place-items:center;width:38px;height:38px;display:grid}.receipt-check{color:var(--kc-green-600)}.receipt-mock-body{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 15px;display:grid}.receipt-mock-body span{gap:2px;display:grid}.receipt-mock-body small{font-size:var(--text-xs);color:var(--kc-slate-500)}.receipt-mock-body strong{font-size:var(--text-sm)}.notification-menu{width:340px;right:-46px}.notification-menu-heading{border-bottom:1px solid var(--kc-slate-100);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--kc-slate-600);align-items:center;gap:7px;padding:12px 15px 10px;display:flex}.notification-scroll{max-height:min(420px,60vh);overflow-y:auto}.notification-empty{text-align:center;font-size:var(--text-sm);color:var(--kc-slate-500);margin:0;padding:22px 15px}.notification-item{border-bottom:1px solid var(--kc-slate-100);align-items:flex-start;gap:11px;padding:12px 15px;display:flex}.notification-item:last-child{border-bottom:0}.notification-item.unread{background:var(--kc-blue-50)}.notification-item-icon{border-radius:var(--radius-sm);background:var(--kc-slate-100);width:32px;height:32px;color:var(--kc-slate-600);flex-shrink:0;place-items:center;display:grid}.notification-success .notification-item-icon{background:var(--kc-green-100);color:var(--kc-green-700)}.notification-urgent .notification-item-icon{background:var(--kc-red-100);color:var(--kc-red-600)}.notification-item-copy{flex:1;gap:2px;display:grid}.notification-item-copy strong{font-size:var(--text-sm)}.notification-item-copy small{font-size:var(--text-xs);color:var(--kc-slate-600);line-height:1.4}.notification-item time{font-size:var(--text-xs);color:var(--kc-slate-400);flex-shrink:0}.roster-edit-anchor{display:inline-flex}.status-picker-menu{min-width:128px}.demo-modal-search{width:100%}.manual-search-list{gap:8px;display:grid}.manual-search-row{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);align-items:center;gap:12px;padding:10px 12px;display:flex}.manual-search-name{flex:1;gap:1px;display:grid}.manual-search-name small{font-size:var(--text-xs);color:var(--kc-slate-500)}.assessment-student-tabs{scrollbar-width:thin;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.assessment-student-tab{border:1px solid var(--kc-slate-200);border-radius:var(--radius-round);font-size:var(--text-sm);background:#fff;flex-shrink:0;align-items:center;gap:8px;padding:7px 13px 7px 8px;transition:border-color .15s,background .15s;display:inline-flex}.assessment-student-tab:hover{border-color:var(--kc-blue-500)}.assessment-student-tab.active{border-color:var(--kc-blue-700);background:var(--kc-blue-700);color:#fff}.assessment-student-tab .tab-check,.assessment-student-tab.active .tab-check{color:var(--kc-green-600)}.assessment-student-tab .tab-dot{background:var(--kc-amber-600);border-radius:50%;width:7px;height:7px}.report-summary{border-radius:var(--radius-md);background:var(--kc-slate-50);align-items:center;gap:20px;padding:15px 17px;display:flex}.report-average{background:var(--kc-blue-700);color:#fff;border-radius:50%;flex-shrink:0;place-content:center;justify-items:center;width:92px;height:92px;display:grid}.report-average span{font-size:var(--text-2xl);font-weight:var(--weight-extrabold);line-height:1.1}.report-average small{font-size:var(--text-2xs);opacity:.75}.report-metrics{flex:1;gap:9px;display:grid}.report-metric-row{font-size:var(--text-sm);grid-template-columns:76px 1fr 44px;align-items:center;gap:10px;display:grid}.report-metric-row strong{text-align:right;font-size:var(--text-sm)}.report-metric-bar{border-radius:var(--radius-round);background:var(--kc-slate-200);height:8px;position:relative;overflow:hidden}.report-metric-bar span{border-radius:var(--radius-round);background:linear-gradient(90deg, var(--kc-blue-500), var(--kc-blue-700));position:absolute;inset:0 auto 0 0}.report-quote{margin:0}.report-footer-meta{font-size:var(--text-xs);color:var(--kc-slate-500);flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.report-footer-meta span{align-items:center;gap:6px;display:inline-flex}.report-list{gap:9px;display:grid}.report-card-row,.report-pending-row{border:1px solid var(--kc-slate-200);border-radius:var(--radius-md);text-align:left;background:#fff;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.report-card-row{transition:border-color .15s,box-shadow .15s}.report-card-row:hover{border-color:var(--kc-blue-500);box-shadow:var(--shadow-xs)}.report-card-row>span:nth-child(2),.report-pending-row>span:nth-child(2){flex:1;gap:1px;display:grid}.report-card-row small,.report-pending-row small{font-size:var(--text-xs);color:var(--kc-slate-500)}.report-card-icon{border-radius:var(--radius-md);background:var(--kc-slate-100);width:40px;height:40px;color:var(--kc-slate-600);flex-shrink:0;place-items:center;display:grid}.report-card-icon.report-card-new{background:var(--kc-green-100);color:var(--kc-green-700)}.month-grid{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.month-cell{border:0;border-right:1px solid var(--kc-slate-100);border-bottom:1px solid var(--kc-slate-100);min-height:66px;color:var(--kc-slate-600);background:#fff;align-content:center;justify-items:center;gap:2px;padding:7px;display:grid;position:relative}.month-cell:nth-child(7n){border-right:0}.month-cell:hover{background:var(--kc-blue-50)}.month-cell span{font-size:var(--text-2xs)}.month-cell strong{font-size:var(--text-base)}.month-cell.active{background:var(--kc-blue-700);color:#fff}.month-cell i{background:var(--kc-red-500);border-radius:50%;width:5px;height:5px;position:absolute;bottom:6px}.gap-target-label{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--kc-slate-500)}.invoice-lines-preview{background:#fff}@media (max-width:640px){.demo-modal-overlay{align-items:flex-end;padding:0}.demo-modal{border-bottom-right-radius:0;border-bottom-left-radius:0;width:100%;max-height:88vh}.demo-form-grid{grid-template-columns:1fr}.invoice-detail-head{grid-template-columns:1fr 1fr}.receipt-mock-body{grid-template-columns:1fr}.report-summary{flex-direction:column;align-items:stretch}.report-average{justify-self:center}.notification-menu{top:calc(var(--demo-banner-height) + var(--topbar-height) - 6px);width:auto;position:fixed;left:8px;right:8px}}.popover-menu button.notification-item{border:0;border-bottom:1px solid var(--kc-slate-100);text-align:left;background:#fff;justify-content:flex-start;align-items:flex-start;gap:11px;width:100%;min-height:0;padding:12px 15px;transition:background .15s;display:flex}.popover-menu button.notification-item:last-child{border-bottom:0}.popover-menu button.notification-item.unread{background:var(--kc-blue-50)}.popover-menu button.notification-item:hover{background:var(--kc-blue-100)}.notification-item-side{flex-shrink:0;justify-items:end;gap:5px;display:grid}.notification-item-side time{font-size:var(--text-xs);color:var(--kc-slate-400)}.notification-chevron{color:var(--kc-slate-400)}.meeting-policy-banner,.meeting-formula-note,.meeting-prospect-note{border:1px solid var(--kc-blue-100);border-radius:var(--radius-md);background:var(--kc-blue-50);color:var(--kc-navy-800);align-items:flex-start;gap:12px;padding:13px 15px;display:flex}.meeting-policy-banner>svg,.meeting-formula-note>svg,.meeting-prospect-note>svg{flex:none;margin-top:2px}.meeting-policy-banner span,.meeting-formula-note span{gap:2px;display:grid}.meeting-policy-banner small,.meeting-formula-note small{color:var(--kc-slate-600);line-height:1.5}.meeting-lesson-selector{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--border);grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(130px,1fr));gap:1px;display:grid;overflow:hidden}.meeting-lesson-selector>label,.meeting-lesson-selector>span{background:#fff;align-content:center;gap:5px;min-width:0;padding:14px 16px;display:grid}.meeting-lesson-selector small,.meeting-lesson-selector label>span{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--kc-slate-500)}.meeting-lesson-selector select{width:100%;min-width:0;color:var(--kc-navy-900);font:inherit;font-weight:var(--weight-bold);background:0 0;border:0;outline:0}.meeting-assessment-layout{grid-template-columns:minmax(210px,.7fr) minmax(0,2.3fr);align-items:start;gap:18px;display:grid}.meeting-roster,.meeting-homework-list{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);background:#fff;display:grid;overflow:hidden}.meeting-roster header{border-bottom:1px solid var(--border);background:var(--kc-slate-50);justify-content:space-between;align-items:center;gap:10px;padding:15px;display:flex}.meeting-roster header>span{display:grid}.meeting-roster header small{color:var(--kc-slate-500)}.meeting-roster>button,.meeting-homework-list>button{border:0;border-bottom:1px solid var(--kc-slate-100);min-width:0;color:var(--kc-slate-700);text-align:left;background:#fff;align-items:center;gap:10px;padding:12px 14px;display:flex}.meeting-roster>button:last-child,.meeting-homework-list>button:last-child{border-bottom:0}.meeting-roster>button:hover,.meeting-roster>button.active,.meeting-homework-list>button:hover,.meeting-homework-list>button.active{background:var(--kc-blue-50);color:var(--kc-navy-900)}.meeting-roster>button.active,.meeting-homework-list>button.active{box-shadow:inset 3px 0 var(--kc-blue-600)}.meeting-roster>button>span:nth-child(2),.meeting-homework-list>button>span:nth-child(2){flex:1;min-width:0;display:grid}.meeting-roster button small,.meeting-homework-list button small{color:var(--kc-slate-500);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meeting-score-panel{min-width:0}.meeting-objective-list{gap:2px;display:grid}.meeting-objective-list>article{border-bottom:1px solid var(--kc-slate-100);grid-template-columns:34px minmax(210px,1fr) minmax(210px,auto);align-items:center;gap:12px;padding:12px 0;display:grid}.meeting-objective-number{border-radius:var(--radius-sm);background:var(--kc-blue-100);width:29px;height:29px;color:var(--kc-blue-700);font-size:var(--text-xs);font-weight:var(--weight-extrabold);place-items:center;display:grid}.meeting-objective-copy{gap:5px;display:grid}.meeting-objective-copy>span{align-items:baseline;gap:8px;display:flex}.meeting-objective-copy small{color:var(--kc-slate-500)}.meeting-objective-copy p{color:var(--kc-slate-600);font-size:var(--text-sm);margin:0;line-height:1.45}.meeting-score-options{justify-content:flex-end;gap:6px;display:flex}.meeting-score-options button,.meeting-canned-replies button{border:1px solid var(--kc-slate-200);border-radius:var(--radius-sm);min-height:34px;color:var(--kc-slate-600);font-size:var(--text-xs);font-weight:var(--weight-bold);background:#fff;padding:7px 10px}.meeting-score-options button:hover,.meeting-score-options button.active,.meeting-canned-replies button.active{border-color:var(--kc-blue-600);background:var(--kc-blue-700);color:#fff}.meeting-empty-state{border:1px dashed var(--kc-slate-300);border-radius:var(--radius-md);background:var(--kc-slate-50);color:var(--kc-slate-600);align-items:center;gap:13px;padding:20px;display:flex}.meeting-empty-state div{gap:3px;display:grid}.meeting-empty-state p{margin:0}.meeting-curriculum-proof{grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px;display:grid}.meeting-curriculum-proof>div{gap:4px;display:grid}.meeting-curriculum-proof small{color:var(--kc-slate-500);line-height:1.45}.meeting-report-body,.meeting-parent-objectives{gap:14px;display:grid}.meeting-report-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.meeting-report-title small{color:var(--kc-slate-500)}.meeting-report-title h3{font-size:var(--text-xl);margin:3px 0 0}.meeting-parent-objectives{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-parent-objectives article{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:14px}.meeting-parent-objectives article>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.meeting-parent-objectives p{color:var(--kc-slate-600);font-size:var(--text-sm);margin:8px 0 0;line-height:1.5}.meeting-monthly-hero{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--kc-blue-700), var(--kc-blue-600));color:#fff;box-shadow:var(--shadow-md);grid-template-columns:minmax(250px,.85fr) minmax(420px,1.15fr);align-items:center;gap:28px;padding:28px;display:grid}.meeting-monthly-hero h2{margin:5px 0 8px;font-size:clamp(1.45rem,2.4vw,2rem)}.meeting-monthly-hero p{color:var(--kc-blue-100);margin:0;line-height:1.6}.meeting-monthly-stat{align-items:center;gap:10px;margin-top:22px;display:flex}.meeting-monthly-stat>strong{font-size:var(--text-3xl)}.meeting-monthly-stat>span{color:var(--kc-blue-100);font-size:var(--text-xs)}.meeting-radar{grid-template-columns:minmax(220px,1fr) minmax(120px,.55fr);align-items:center;gap:10px;display:grid}.meeting-radar svg{width:100%;max-height:270px}.meeting-radar-grid,.meeting-radar-axis{fill:none;stroke:#fff3;stroke-width:1px}.meeting-radar-value{fill:#ef718059;stroke:var(--kc-red-100);stroke-width:2.5px}.meeting-radar-legend{gap:7px;display:grid}.meeting-radar-legend span{grid-template-columns:1fr auto;gap:2px 8px;display:grid}.meeting-radar-legend i{width:var(--value);background:var(--kc-red-100);border-radius:2px;grid-column:1/-1;height:3px}.meeting-radar-legend small{color:var(--kc-blue-100)}.meeting-exam-banner,.meeting-reviewed-card{border:1px solid var(--kc-green-100);border-radius:var(--radius-md);background:var(--kc-green-50);align-items:center;gap:13px;padding:15px;display:flex}.meeting-exam-banner>span:nth-child(2),.meeting-reviewed-card>span:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.meeting-exam-banner p{color:var(--kc-slate-600);margin:2px 0 0}.meeting-report-list,.meeting-exam-list,.meeting-booking-list,.meeting-waitlist,.meeting-alert-list{gap:9px;display:grid}.meeting-homework-layout{grid-template-columns:minmax(260px,.8fr) minmax(0,2fr);align-items:start;gap:18px;display:grid}.makeup-candidate-list{gap:10px;margin-top:16px;display:grid}.makeup-candidate-list>article{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--kc-slate-50);align-items:center;gap:11px;padding:12px;display:flex}.makeup-candidate-list>article>span:nth-child(2){flex:1;min-width:0;display:grid}.makeup-candidate-list small{color:var(--kc-slate-500)}.roster-progress-button{border-radius:var(--radius-xs);background:var(--kc-blue-50);color:var(--kc-blue-700);font-size:var(--text-xs);font-weight:var(--weight-bold);border:0;align-items:center;gap:2px;padding:5px 7px;display:flex}.roster-progress-button:hover{background:var(--kc-blue-100)}.attendance-progress-summary{grid-template-columns:auto 1fr;align-items:center;gap:22px;display:grid}.meeting-homework-list>button{flex-wrap:wrap}.meeting-homework-list .status-chip{margin-left:48px}.meeting-resource-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.meeting-resource-grid>button{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--kc-slate-50);color:var(--kc-navy-800);text-align:left;align-items:center;gap:10px;padding:12px;display:flex}.meeting-resource-grid>button:hover{border-color:var(--kc-blue-500);background:var(--kc-blue-50)}.meeting-resource-grid>button>span{flex:1;min-width:0;display:grid}.meeting-resource-grid small{color:var(--kc-slate-500)}.meeting-review-workspace{grid-template-columns:minmax(250px,1fr) minmax(250px,.85fr);gap:18px;margin-top:18px;display:grid}.meeting-submission-preview,.meeting-review-controls,.meeting-parent-submit{align-content:start;gap:12px;display:grid}.meeting-submission-preview{border-radius:var(--radius-md);background:var(--kc-slate-100);padding:16px}.meeting-submission-audio,.meeting-recording-preview{width:min(100%,320px)}.meeting-paper-preview{border:1px solid var(--kc-slate-200);border-radius:var(--radius-xs);min-height:230px;box-shadow:var(--shadow-sm);background:#fff;align-content:start;gap:22px;padding:26px;display:grid;position:relative;overflow:hidden;transform:rotate(-1deg)}.meeting-paper-preview i{background:var(--kc-slate-200);height:1px;box-shadow:0 24px var(--kc-slate-200), 0 48px var(--kc-slate-200)}.meeting-paper-preview em{color:var(--kc-red-600);font-family:cursive;font-size:var(--text-lg);position:absolute;bottom:34px;right:20px;transform:rotate(-5deg)}.meeting-canned-replies,.meeting-rating{flex-wrap:wrap;gap:7px;display:flex}.meeting-checkbox{color:var(--kc-slate-700);font-weight:var(--weight-semibold);align-items:center;gap:8px;display:flex}.meeting-parent-submit,.meeting-child-task{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--kc-slate-50);margin-top:18px;padding:16px}.meeting-child-recording-task{align-items:flex-start}.meeting-child-recording-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.meeting-parent-submit>label{gap:6px;display:grid}.meeting-parent-submit label>small{color:var(--kc-slate-500)}.meeting-rating button{color:var(--kc-slate-300);background:0 0;border:0;padding:0}.meeting-rating button.active{color:var(--kc-amber-600)}.meeting-file-field{border:1px dashed var(--kc-slate-300);border-radius:var(--radius-md);background:#fff;padding:13px}.meeting-file-field>span{font-weight:var(--weight-bold);align-items:center;gap:7px;display:flex}.meeting-file-field input{max-width:100%}.meeting-child-task{align-items:center;gap:13px;display:flex}.meeting-child-task>div{flex:1;min-width:0}.meeting-child-task p{color:var(--kc-slate-500);margin:3px 0 0}.meeting-admissions-grid,.meeting-mentor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.meeting-capacity{grid-template-columns:auto 1fr;align-items:center;gap:20px;display:grid}.meeting-capacity>span{border-radius:var(--radius-md);background:var(--kc-red-50);text-align:center;min-width:110px;padding:17px;display:grid}.meeting-capacity>span strong{color:var(--kc-red-700);font-size:var(--text-2xl)}.meeting-capacity p{color:var(--kc-slate-500);font-size:var(--text-xs);margin:7px 0 0}.meeting-alternatives{gap:8px;margin-top:15px;display:grid}.meeting-alternatives article,.meeting-waitlist article,.meeting-booking-list article,.meeting-exam-list article,.meeting-alert-list article,.meeting-portfolio-grid article{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;align-items:center;gap:11px;padding:11px 12px;display:flex}.meeting-alternatives article>span:first-child,.meeting-waitlist article>span:nth-child(2),.meeting-booking-list article>span:nth-child(2),.meeting-exam-list article>span:nth-child(2),.meeting-alert-list article>span:nth-child(2),.meeting-portfolio-grid article>span:nth-child(2){flex:1;min-width:0;display:grid}.meeting-alternatives small,.meeting-waitlist small,.meeting-booking-list small,.meeting-exam-list small,.meeting-alert-list small,.meeting-portfolio-grid small{color:var(--kc-slate-500)}.meeting-booking-list em,.meeting-alert-list em{color:var(--kc-slate-600);font-size:var(--text-xs);margin-top:3px}.meeting-wait-position{border-radius:var(--radius-sm);background:var(--kc-blue-100);width:32px;height:32px;color:var(--kc-blue-700);font-weight:var(--weight-extrabold);flex:none;place-items:center;display:grid}.meeting-booking-form{border:1px solid var(--border);border-radius:var(--radius-xl);max-width:760px;box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:24px;display:grid}.meeting-external-form-link{border:1px solid var(--kc-blue-100);border-radius:var(--radius-md);background:var(--kc-blue-50);min-width:0;color:var(--kc-blue-700);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:grid}.meeting-external-form-link>span{gap:2px;min-width:0;display:grid}.meeting-external-form-link strong{color:var(--kc-navy-900);font-size:var(--text-sm)}.meeting-external-form-link small{color:var(--kc-slate-600);font-size:var(--text-xs);line-height:1.45}.meeting-booking-form>div:first-child,.meeting-booking-form>button,.meeting-booking-form>p{grid-column:1/-1}.meeting-booking-form label{color:var(--kc-slate-700);font-size:var(--text-sm);font-weight:var(--weight-semibold);gap:6px;display:grid}.meeting-booking-form input,.meeting-booking-form select{border:1px solid var(--kc-slate-300);border-radius:var(--radius-sm);min-width:0;color:var(--kc-navy-900);font:inherit;background:#fff;padding:11px 12px}.meeting-booking-form input:focus,.meeting-booking-form select:focus{border-color:var(--kc-blue-600);outline:3px solid #2e6fb326}.meeting-booking-success{border:1px solid var(--kc-green-100);border-radius:var(--radius-xl);background:var(--kc-green-50);text-align:center;justify-items:center;gap:10px;max-width:620px;padding:42px 26px;display:grid}.meeting-booking-success>span{width:72px;height:72px;color:var(--kc-green-700);background:#fff;border-radius:50%;place-items:center;display:grid}.meeting-prospect-hero{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--kc-blue-700), var(--kc-blue-600));color:#fff;box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1.5fr) auto;align-items:center;gap:32px;padding:clamp(24px,5vw,52px);display:grid}.meeting-prospect-hero h1{max-width:760px;margin:7px 0 12px;font-size:clamp(2rem,4vw,3.6rem);line-height:1.08}.meeting-prospect-hero p:not(.eyebrow){max-width:640px;color:var(--kc-blue-100);font-size:var(--text-md);line-height:1.6}.meeting-prospect-hero>div>div{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.meeting-seminar-qr{border-radius:var(--radius-lg);color:var(--kc-navy-800);background:#fff;justify-items:center;gap:7px;padding:12px;display:grid}.meeting-teaser-grid,.meeting-resource-library{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.meeting-teaser-grid>button{border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--kc-navy-900);text-align:left;box-shadow:var(--shadow-xs);background:#fff;align-items:center;gap:13px;padding:18px;display:flex}.meeting-teaser-grid>button>span:nth-child(2){flex:1;min-width:0;display:grid}.meeting-teaser-grid small{color:var(--kc-slate-500)}.meeting-resource-library{grid-template-columns:repeat(3,minmax(0,1fr))}.meeting-resource-library article{border:1px solid var(--border);border-radius:var(--radius-lg);min-height:250px;box-shadow:var(--shadow-xs);background:#fff;align-content:start;justify-items:start;gap:10px;padding:20px;display:grid}.meeting-resource-library article.locked{background:linear-gradient(#ffffffe0, #ffffffe0), repeating-linear-gradient(45deg, var(--kc-slate-100), var(--kc-slate-100) 10px, white 10px, white 20px)}.meeting-resource-library h3{margin:6px 0 0}.meeting-resource-library p{color:var(--kc-slate-600);margin:0 0 auto;line-height:1.55}.meeting-locked-hero{border:1px solid var(--border);border-radius:var(--radius-xl);background:radial-gradient(circle at top, var(--kc-blue-50), white 58%);text-align:center;max-width:760px;box-shadow:var(--shadow-md);justify-items:center;gap:12px;margin:10px auto;padding:clamp(30px,7vw,68px);display:grid}.meeting-lock-orbit{background:var(--kc-blue-100);width:82px;height:82px;color:var(--kc-navy-800);box-shadow:0 0 0 1px var(--border), var(--shadow-sm);border:8px solid #fff;border-radius:50%;place-items:center;display:grid}.meeting-locked-hero h1{max-width:640px;margin:4px 0;font-size:clamp(1.8rem,4vw,3rem)}.meeting-locked-hero>p:not(.eyebrow){max-width:620px;color:var(--kc-slate-600);margin:0;line-height:1.65}.meeting-locked-features{flex-wrap:wrap;justify-content:center;gap:10px;margin:10px 0;display:flex}.meeting-locked-features span{border-radius:var(--radius-round);background:var(--kc-green-100);color:var(--kc-green-700);font-size:var(--text-xs);font-weight:var(--weight-bold);align-items:center;gap:5px;padding:7px 10px;display:flex}.meeting-subject-progress{gap:16px;display:grid}.meeting-alert-mark,.meeting-portfolio-preview{border-radius:var(--radius-md);flex:none;place-items:center;width:42px;height:42px;display:grid}.meeting-alert-yellow{background:var(--kc-amber-100);color:var(--kc-amber-700)}.meeting-alert-red{background:var(--kc-red-100);color:var(--kc-red-700)}.meeting-portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.meeting-portfolio-preview{background:var(--kc-blue-100);color:var(--kc-blue-700)}.meeting-exam-list article>span:nth-child(2){flex:1}.meeting-gap-hero{border-radius:var(--radius-xl);background:linear-gradient(135deg, var(--kc-blue-700), var(--kc-blue-600));color:#fff;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.meeting-gap-hero h2{margin:5px 0 7px}.meeting-gap-hero p:not(.eyebrow){color:var(--kc-blue-100);margin:0}.meeting-gap-hero>span{border-radius:var(--radius-lg);background:#ffffff1f;justify-items:center;min-width:135px;padding:18px;display:grid}.meeting-gap-hero>span strong{font-size:var(--text-3xl)}.meeting-gap-list{gap:12px;display:grid}.meeting-gap-list article{border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;padding:16px}.meeting-gap-list header{justify-content:space-between;gap:10px;display:flex}.meeting-gap-list header span,.meeting-gap-list p{color:var(--kc-slate-500);font-size:var(--text-xs)}.meeting-gap-track{background:var(--kc-slate-100);border-radius:5px;height:9px;margin:13px 0 8px;position:relative}.meeting-gap-track i{border-radius:inherit;background:linear-gradient(90deg, var(--kc-blue-500), var(--kc-green-600));height:100%;display:block}.meeting-gap-track b{background:var(--kc-red-600);width:2px;height:19px;position:absolute;top:-5px}.meeting-campaign-panel{border:1px solid var(--border);border-radius:var(--radius-xl);background:linear-gradient(145deg, var(--kc-blue-50), white);box-shadow:var(--shadow-xs);gap:14px;padding:20px;display:grid}.meeting-campaign-panel>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.meeting-campaign-panel h2{margin:3px 0}.meeting-campaign-panel header p:last-child{color:var(--kc-slate-500);margin:0}.meeting-campaign-tabs{gap:6px;display:flex}.meeting-campaign-tabs button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--kc-slate-600);font-weight:var(--weight-bold);background:#fff;align-items:center;gap:6px;padding:8px 12px;display:flex}.meeting-campaign-tabs button.active{border-color:var(--kc-blue-600);background:var(--kc-blue-700);color:#fff}.meeting-campaign-compose{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--border);grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:center;gap:1px;display:grid;overflow:hidden}.meeting-campaign-compose>span,.meeting-campaign-compose>button{min-height:72px}.meeting-campaign-compose>span{background:#fff;align-content:center;gap:4px;padding:12px;display:grid}.meeting-campaign-compose small{color:var(--kc-slate-500)}@media (max-width:1100px){.meeting-lesson-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-objective-list>article{grid-template-columns:34px 1fr}.meeting-score-options{grid-column:2;justify-content:flex-start}.meeting-monthly-hero{grid-template-columns:1fr}.meeting-campaign-compose{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.meeting-assessment-layout,.meeting-homework-layout,.meeting-admissions-grid,.meeting-mentor-grid,.meeting-review-workspace{grid-template-columns:1fr}.meeting-roster,.meeting-homework-list{grid-template-columns:repeat(2,minmax(0,1fr))}.meeting-roster header{grid-column:1/-1}.meeting-roster>button,.meeting-homework-list>button{border-right:1px solid var(--kc-slate-100)}.meeting-resource-library{grid-template-columns:1fr}.meeting-resource-library article{min-height:0}.meeting-prospect-hero{grid-template-columns:1fr}.meeting-seminar-qr{justify-self:start}}@media (max-width:640px){.meeting-lesson-selector,.meeting-parent-objectives,.meeting-resource-grid,.meeting-booking-form,.meeting-teaser-grid,.meeting-portfolio-grid,.meeting-campaign-compose{grid-template-columns:1fr}.meeting-booking-form>*{grid-column:1}.meeting-roster,.meeting-homework-list{display:flex;overflow-x:auto}.meeting-roster header{min-width:160px}.meeting-roster>button,.meeting-homework-list>button{border-bottom:0;min-width:170px}.meeting-objective-list>article{grid-template-columns:30px 1fr}.meeting-score-options{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.meeting-curriculum-proof{grid-template-columns:1fr}.meeting-curriculum-proof>svg{transform:rotate(90deg)}.meeting-monthly-hero{padding:20px}.meeting-radar{grid-template-columns:1fr}.meeting-monthly-stat,.meeting-gap-hero,.meeting-campaign-panel>header{flex-direction:column;align-items:flex-start}.meeting-prospect-hero{padding:24px}.meeting-prospect-hero h1{font-size:var(--text-3xl)}.meeting-seminar-qr{justify-self:center}}.app-frame.module-communications-full .app-main{height:calc(100vh - var(--demo-banner-height) - var(--topbar-height));height:calc(100dvh - var(--demo-banner-height) - var(--topbar-height));max-width:none;min-height:0;padding:0;overflow:hidden}.app-frame.module-communications-full .app-main>.main-content{height:100%;min-height:0}@media (min-width:761px) and (max-width:899px){.app-frame.module-communications-full .app-main{height:calc(100dvh - var(--demo-banner-height) - var(--topbar-height) - 72px)}}.whatsapp-workspace{background:var(--kc-slate-50);border:0;border-radius:0;grid-template-columns:minmax(290px,34%) minmax(0,1fr);height:100%;min-height:0;display:grid;overflow:hidden}.whatsapp-sidebar{border-right:1px solid var(--kc-slate-200);background:#fff;flex-direction:column;min-width:0;display:flex}.whatsapp-sidebar-header,.whatsapp-conversation-header{background:var(--kc-slate-50);align-items:center;gap:12px;min-height:76px;padding:14px 18px;display:flex}.whatsapp-sidebar-header{border-bottom:1px solid var(--kc-slate-100);justify-content:space-between}.whatsapp-sidebar-header h2{color:var(--kc-navy-900);font-size:var(--text-xl);margin:2px 0 0}.whatsapp-readonly-badge,.whatsapp-student-context{border-radius:var(--radius-round);background:var(--kc-green-50);color:var(--kc-green-700);font-size:var(--text-xs);font-weight:var(--weight-bold);align-items:center;padding:6px 9px;display:inline-flex}.whatsapp-search{border-radius:var(--radius-sm);background:var(--kc-slate-50);color:var(--kc-slate-500);border:1px solid #0000;align-items:center;gap:9px;margin:10px 12px;padding:9px 12px;transition:background .16s,border-color .16s,outline-color .16s;display:flex}.whatsapp-search:focus-within{border-color:var(--kc-blue-600);outline:2px solid var(--kc-blue-600);outline-offset:1px;background:#fff}.whatsapp-search input{min-width:0;color:var(--kc-navy-900);background:0 0;border:0;outline:0;flex:1}.whatsapp-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.whatsapp-contact-list{min-height:0;overflow-y:auto}.whatsapp-contact{border:0;border-bottom:1px solid var(--kc-slate-100);width:100%;color:inherit;text-align:left;background:#fff;grid-template-columns:46px minmax(0,1fr);gap:11px;padding:13px 15px;transition:background .15s;display:grid}.whatsapp-contact:hover{background:var(--kc-slate-50)}.whatsapp-contact.active{background:var(--kc-slate-100)}.whatsapp-contact-announcement{z-index:2;border-top:1px solid var(--kc-slate-100);position:sticky;top:0}.whatsapp-contact-avatar{background:linear-gradient(145deg, var(--kc-blue-700), var(--kc-blue-600));color:#fff;width:46px;height:46px;font-size:var(--text-sm);font-weight:var(--weight-extrabold);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.whatsapp-announcement-avatar{background:linear-gradient(145deg, var(--kc-green-700), var(--kc-green-600))}.whatsapp-contact-content,.whatsapp-conversation-title{min-width:0}.whatsapp-contact-content{gap:2px;display:grid}.whatsapp-contact-heading{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.whatsapp-contact-heading strong,.whatsapp-conversation-title strong{color:var(--kc-navy-900);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whatsapp-contact-heading small,.whatsapp-conversation-title small,.whatsapp-contact-detail,.whatsapp-contact-preview{color:var(--kc-slate-500);font-size:var(--text-xs)}.whatsapp-contact-heading small{flex:none}.whatsapp-contact-detail,.whatsapp-contact-preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whatsapp-pinned-label{width:fit-content;color:var(--kc-green-700);font-size:var(--text-2xs);font-weight:var(--weight-extrabold)}.whatsapp-conversation-pane{background:linear-gradient(#edf1f5e8, #edf1f5e8), radial-gradient(circle at 20% 30%, var(--kc-slate-400) 1px, transparent 1px);background-size:auto,24px 24px;flex-direction:column;min-width:0;display:flex}.whatsapp-conversation-header{border-bottom:1px solid var(--kc-slate-200)}.whatsapp-conversation-title{flex:1;gap:2px;display:grid}.whatsapp-readonly-badge{background:var(--kc-slate-100);color:var(--kc-slate-600);margin-left:auto}.whatsapp-announcement-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.whatsapp-announcement-notice{width:min(100%,660px);margin:0 auto}.whatsapp-announcement-notice .success-banner{margin:0}.whatsapp-management-console .meeting-campaign-panel{box-shadow:none;border:0;padding:0}.whatsapp-student-context{white-space:nowrap;margin-left:auto}.whatsapp-send-button{width:40px;height:40px;color:var(--kc-slate-600);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.whatsapp-announcement-feed,.whatsapp-message-thread{flex:1;min-height:0;padding:22px clamp(18px,5vw,68px);overflow-y:auto}.whatsapp-announcement-feed{align-content:start;gap:14px;display:grid}.whatsapp-day-label{border-radius:var(--radius-xs);width:fit-content;color:var(--kc-slate-600);font-size:var(--text-2xs);font-weight:var(--weight-bold);box-shadow:var(--shadow-xs);background:#ffffffe0;margin:0 auto 4px;padding:5px 10px}.whatsapp-announcement-card{border-left:4px solid var(--kc-green-700);border-radius:var(--radius-xs);width:min(100%,660px);box-shadow:var(--shadow-sm);background:#fff;margin:0 auto;padding:18px}.whatsapp-announcement-card h3{color:var(--kc-navy-900);font-size:var(--text-md);margin:8px 0 5px}.whatsapp-announcement-card p,.whatsapp-message-bubble p{margin:0;line-height:1.6}.whatsapp-announcement-urgent{border-left-color:var(--kc-red-600)}.whatsapp-announcement-success{border-left-color:var(--kc-green-600)}.whatsapp-announcement-meta{color:var(--kc-slate-500);font-size:var(--text-2xs);justify-content:space-between;align-items:center;gap:12px;display:flex}.whatsapp-composer{border-top:1px solid var(--kc-slate-200);background:var(--kc-slate-50);align-items:center;gap:10px;min-height:64px;padding:10px 16px;display:flex}.whatsapp-message-thread{flex-direction:column;gap:8px;display:flex}.whatsapp-message-row{justify-content:flex-start;display:flex}.whatsapp-message-row.own{justify-content:flex-end}.whatsapp-message-bubble{border-radius:var(--radius-xs);max-width:min(75%,560px);box-shadow:var(--shadow-xs);background:#fff;padding:9px 11px 7px}.whatsapp-message-row.own .whatsapp-message-bubble{background:var(--kc-green-100)}.whatsapp-message-sender{color:var(--kc-green-700);font-size:var(--text-xs);margin-bottom:3px;display:block}.whatsapp-message-bubble time{color:var(--kc-slate-500);font-size:var(--text-2xs);text-align:right;margin-top:3px;display:block}.whatsapp-composer input{border-radius:var(--radius-sm);background:#fff;border:1px solid #0000;outline:0;flex:1;min-width:0;padding:11px 14px}.whatsapp-composer input:focus{border-color:var(--kc-green-600)}.whatsapp-send-button{background:var(--kc-green-700);color:#fff}.whatsapp-send-button:disabled{cursor:not-allowed;opacity:.45}.whatsapp-empty-contacts,.whatsapp-empty-announcements,.whatsapp-empty-thread{min-height:150px;color:var(--kc-slate-500);text-align:center;place-content:center;gap:8px;display:grid}@media (max-width:760px){.app-frame.module-communications-full .app-main{height:auto;min-height:calc(100dvh - var(--demo-banner-height) - var(--topbar-height) - 72px);padding-bottom:calc(72px + env(safe-area-inset-bottom));overflow:visible}.app-frame.module-communications-full .app-main>.main-content{height:auto}.whatsapp-workspace{grid-template-columns:1fr;height:auto;min-height:auto}.whatsapp-sidebar{border-right:0;border-bottom:1px solid var(--kc-slate-200);max-height:390px}.whatsapp-conversation-pane{min-height:570px}.whatsapp-announcement-feed,.whatsapp-message-thread{padding:18px 14px}.whatsapp-student-context{display:none}.whatsapp-message-bubble{max-width:88%}}@media (max-width:480px){.topbar-leading-student .topbar-student-selector>.avatar{display:none}.whatsapp-sidebar-header,.whatsapp-conversation-header{min-height:66px;padding:11px 12px}.whatsapp-announcement-actions{gap:6px}.whatsapp-announcement-actions .button{width:44px;min-width:44px;padding:0}.whatsapp-announcement-actions .button>span:last-child{display:none}}@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-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}
