@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.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}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.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,)}}:root{--ink:#1e293b;--muted:#64748b;--line:#cbd5e1;--surface:#fff;--canvas:#f1f5f9;--primary:#257ddb;--primary-dark:#1d68bf;--teal:#4cd3c8;--success:#22c55e;--danger:#ef4444;--warning:#f5a524;--shadow:0 10px 32px #0f172a0f;--brand-gradient:linear-gradient(90deg, #2596f0 0%, #4cd3c8 100%)}*{box-sizing:border-box}html,body{width:100%;min-height:100%}html{background:#fff}body{color:var(--ink);background:var(--canvas);font-family:var(--font-pretendard), "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, sans-serif;letter-spacing:-.01em;margin:0;font-size:14px;overflow-x:hidden}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}svg{flex:none;width:20px;height:20px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #c6e3ff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.route-loading{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:14px;display:grid}.route-loading p{margin:0}.spinner,.button-spinner{border:2px solid #c6e3ff;border-top-color:var(--primary);border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.spinner{width:30px;height:30px}.button-spinner{border-color:#fff #ffffff59 #ffffff59;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.99)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}@keyframes trend-line-draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes trend-area-in{0%{opacity:0}to{opacity:1}}@keyframes trend-point-in{0%{opacity:0;transform:scale(.65)}to{opacity:1;transform:scale(1)}}.brand-logo{color:#164780;align-items:center;gap:12px;display:inline-flex}.brand-logo strong{letter-spacing:.02em;font-size:30px;font-weight:700;line-height:1}.brand-symbol{width:38px;height:43px;overflow:visible}.brand-logo-frame{opacity:.75}.brand-logo.inverted{color:#fff}.brand-logo.inverted .brand-logo-layer{fill:#fff}.brand-logo.inverted .brand-logo-frame,.brand-logo.inverted .brand-logo-nodes{opacity:.9}.brand-logo.compact .brand-symbol{width:32px;height:36px}.soft-card{background:var(--surface);border:1px solid var(--line);border-radius:20px}.soft-card-header{justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 0;display:flex}.soft-card-header h2{letter-spacing:-.02em;margin:0 0 5px;font-size:18px;font-weight:700}.soft-card-header p{color:var(--muted);margin:0;font-size:12px}.soft-button{cursor:pointer;white-space:nowrap;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;font-weight:700;transition:all .18s;display:inline-flex}.soft-button.medium{min-height:42px;padding:0 17px}.soft-button.small{min-height:34px;padding:0 12px;font-size:12px}.soft-button.primary{color:#fff;background:var(--primary)}.soft-button.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.soft-button.secondary{color:#334155;border:1px solid var(--line);background:#fff}.soft-button.secondary:hover{color:var(--primary);background:#f4f9ff;border-color:#86c5f7}.soft-button.danger{color:#fff;background:var(--danger)}.soft-button.dark{color:#fff;background:#1e293b}.soft-button.dark:hover{background:#0f172a;transform:translateY(-1px)}.soft-button.ghost{color:var(--muted);background:0 0}.soft-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.soft-button svg{width:17px;height:17px}.field{color:#334155;flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.field>span em{color:var(--danger);font-style:normal}.field.hide-label>span{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field input,.field select{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;padding:0 14px;font-weight:400;transition:all .16s}.field input::placeholder{color:#94a3b8}.field input:focus,.field select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e2f1ff}.field input:disabled{color:#94a3b8;background:#f1f5f9}.field input.invalid{border-color:var(--danger)}.field-error{color:var(--danger)}.soft-dropdown{width:100%;position:relative}.soft-dropdown-trigger{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:10px;outline:none;justify-content:space-between;align-items:center;gap:12px;padding:0 14px;font-weight:400;transition:all .16s;display:flex}.soft-dropdown-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.soft-dropdown-trigger svg{color:#94a3b8;width:17px;height:17px;transition:transform .16s;transform:rotate(90deg)}.soft-dropdown.open .soft-dropdown-trigger{border-color:var(--primary);box-shadow:0 0 0 3px #e2f1ff}.soft-dropdown.open .soft-dropdown-trigger svg{transform:rotate(-90deg)}.soft-dropdown-field.dropdown-open{z-index:150;position:relative}.soft-dropdown-menu{z-index:130;background:#fff;border:1px solid #cbd5e1;border-radius:14px;width:100%;padding:0;position:absolute;top:calc(100% + 8px);left:0;overflow:hidden;box-shadow:0 14px 32px #0f172a24}.soft-dropdown.placement-top .soft-dropdown-menu{top:auto;bottom:calc(100% + 8px)}.soft-dropdown-menu>button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:0;align-items:center;width:100%;min-height:48px;padding:0 16px;font-size:14px;font-weight:500;display:flex}.soft-dropdown-menu>button:hover,.soft-dropdown-menu>button:focus-visible{color:#19559f;background:#f4f9ff;outline:none}.soft-dropdown-menu>button[aria-selected=true]{color:#fff;background:#2995ed}.date-range-picker{position:relative}.date-range-trigger{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:9px;width:100%;min-height:43px;padding:0 13px;font-size:13px;font-weight:600;display:flex}.date-range-trigger>svg:first-child{color:#64748b;width:18px;height:18px}.date-range-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.date-range-trigger>svg:last-child{color:#94a3b8;width:15px;height:15px;transition:transform .16s;transform:rotate(90deg)}.date-range-picker.open .date-range-trigger{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.date-range-picker.open .date-range-trigger>svg:last-child{transform:rotate(-90deg)}.date-range-calendar{z-index:140;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:24px;width:420px;padding:32px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 16px 32px #0f172a1a}.date-range-calendar.placement-top{top:auto;bottom:calc(100% + 8px)}.date-range-calendar h4{letter-spacing:-.02em;margin:0;font-size:24px;line-height:1.4}.date-range-calendar-month{justify-content:space-between;align-items:center;height:63px;display:flex}.date-range-calendar-month>strong{color:#257ddb;font-size:16px}.date-range-calendar-month>div{align-items:center;gap:16px;display:flex}.date-range-calendar-month button{color:#257ddb;cursor:pointer;background:0 0;border:0;place-items:center;width:28px;height:32px;padding:0;display:grid}.date-range-calendar-month button svg{stroke-width:2.4px;width:22px;height:22px}.date-range-calendar-weekdays,.date-range-calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.date-range-calendar-weekdays{text-align:center;align-items:center;height:42px;font-size:14px;font-weight:700}.date-range-calendar-days{grid-auto-rows:48px;align-items:center}.date-range-calendar-days>span{height:48px}.date-range-calendar-days button{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;width:48px;height:48px;margin:auto;padding:0;font-size:16px;font-weight:700;position:relative}.date-range-calendar-days button:hover{color:#257ddb;background:#f4f9ff}.date-range-calendar-days button.in-range:not(.selected){color:#257ddb;background:#f4f9ff;border-radius:0}.date-range-calendar-days button.selected{z-index:1;color:#257ddb;background:#e2f1ff;border-color:#2596f0}.soft-badge{border-radius:7px;align-items:center;min-height:25px;padding:0 9px;font-size:11px;font-weight:700;display:inline-flex}.soft-badge.success{color:#0d7138;background:#ebfbf0}.soft-badge.danger{color:#891313;background:#ffeded}.soft-badge.warning{color:#ae5707;background:#fff6e9}.soft-badge.info{color:#164780;background:#e2f1ff}.soft-badge.neutral{color:#475569;background:#f1f5f9}.inline-message{border-radius:10px;align-items:center;gap:9px;min-height:44px;padding:10px 13px;font-size:13px;display:flex}.inline-message svg{width:18px;height:18px}.inline-message.success{color:#0d7138;background:#ebfbf0;border:1px solid #b9f5d0}.inline-message.info{color:#164780;background:#e2f1ff;border:1px solid #c6e3ff}.inline-message button{color:currentColor;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:4px;text-decoration:underline}.toast-viewport{z-index:200;pointer-events:none;flex-direction:column;align-items:flex-end;gap:12px;width:min(450px,100vw - 32px);display:flex;position:fixed;bottom:32px;right:32px}.app-toast{border:1px solid;border-radius:16px;align-items:center;gap:14px;width:100%;min-height:80px;padding:18px 26px;animation:.2s toast-in;display:flex;box-shadow:0 0 20px #e2e8f0}.app-toast.success{color:#08532b;background:#ebfbf0;border-color:#7ee8a8}.app-toast.error{color:#670909;background:#ffeded;border-color:#ff9a9a}.app-toast.info{color:#164780;background:#e2f1ff;border-color:#86c5f7}.toast-icon{width:28px;height:28px;color:var(--primary);flex:none;place-items:center;display:grid}.toast-icon svg{width:27px;height:27px}.app-toast.success .toast-icon{color:var(--success);border:2px solid;border-radius:50%}.app-toast.success .toast-icon svg{stroke-width:2.3px;width:17px;height:17px}.app-toast.error .toast-icon{color:var(--danger)}.app-toast p{white-space:pre-line;margin:0;font-size:16px;font-weight:700;line-height:1.45}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:38px;height:38px;padding:0;display:grid}.icon-button:hover{background:#f1f5f9}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a80;place-items:center;padding:20px;animation:.15s fade-in;display:grid;position:fixed;inset:0}.soft-modal{background:#fff;border-radius:17px;flex-direction:column;width:min(650px,100%);max-height:calc(100dvh - 40px);animation:.2s modal-in;display:flex;box-shadow:0 24px 70px #0f172a38}.modal-header{border-bottom:1px solid #e2e8f0;flex:none;justify-content:space-between;align-items:flex-start;padding:23px 25px 18px;display:flex}.modal-header h2{margin:0 0 5px;font-size:18px}.modal-header p{color:var(--muted);margin:0;font-size:12px}.modal-body{min-height:0;padding:23px 25px;overflow:auto}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 17px 17px;flex:none;justify-content:flex-end;gap:9px;padding:15px 25px;display:flex}.app-shell{background:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:40;background:#fff;border-bottom:0;justify-content:space-between;align-items:center;height:80px;padding:0 64px;display:flex;position:sticky;top:0;box-shadow:0 10px 18px #2596f00d}.topbar-brand,.topbar-actions{align-items:center;display:flex}.topbar-brand{gap:24px}.topbar-home-link{border-radius:10px;text-decoration:none;display:inline-flex}.topbar .brand-logo{gap:12px}.topbar .brand-logo strong{color:#164780;font-size:38px}.topbar .brand-symbol{width:38px;height:43px}.report-student-context:empty{display:none}.topbar-student-select{color:#164780;background:#f4f9ff;border:1px solid #c6e3ff;border-radius:20px;align-items:center;gap:8px;min-width:200px;height:40px;padding:0 34px 0 8px;display:flex;position:relative}.topbar-student-select>i{color:#fff;background:#aebbc9;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:10px;font-style:normal;font-weight:700;display:grid}.topbar-student-select select{color:#164780;appearance:none;min-width:0;font:inherit;cursor:pointer;background:0 0;border:0;outline:0;flex:1;font-size:12px;font-weight:700}.topbar-student-select>svg{color:#86c5f7;pointer-events:none;width:16px;height:16px;position:absolute;right:12px;transform:rotate(90deg)}.topbar-student-select:focus-within{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.mobile-menu{display:none}.topbar-actions{gap:24px}.admin-notification-center{position:relative}.topbar-notification{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;place-items:center;width:44px;height:44px;padding:0;display:grid;position:relative}.topbar-notification:hover,.topbar-notification.active{color:#257ddb;background:#f4f9ff;border-color:#86c5f7}.topbar-notification svg{width:21px;height:21px}.topbar-notification>i{background:#ef4444;border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.admin-notification-menu{z-index:70;background:#fdfdfd;border-radius:12px;flex-direction:column;width:min(521px,100vw - 32px);max-height:min(492px,100vh - 104px);display:flex;position:absolute;top:58px;right:0;overflow:hidden;box-shadow:0 14px 30px #0f172a29,0 3px 8px #0f172a1a}.admin-notification-menu>header{border-bottom:1px solid #cbd5e0;flex:none;justify-content:space-between;align-items:center;min-height:72px;padding:0 25px;display:flex}.admin-notification-menu>header h2{color:#1e292a;letter-spacing:-.02em;margin:0;font-size:20px;line-height:1}.admin-notification-menu>header button{color:#64748a;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:5px 0 3px;font-size:14px}.admin-notification-menu>header button:disabled{color:#cbd5e1;cursor:default}.admin-notification-list{min-height:0;overflow-y:auto}.admin-notification-item{color:#555;text-align:left;cursor:pointer;background:#fdfdfd;border:0;border-bottom:1px solid #cbd5e0;width:100%;min-height:99px;padding:22px 64px 22px 72px;display:block;position:relative}.admin-notification-item:last-child{border-bottom:0}.admin-notification-item:hover{background:#f8fafb}.admin-notification-item.unread{box-shadow:inset 0 0 0 1px #e2f1ff}.admin-notification-item.read{color:#94a3b7;opacity:.54}.admin-notification-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;place-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:grid;position:absolute;top:22px;left:24px}.admin-notification-copy{min-width:0;display:block}.admin-notification-copy strong{color:#111;text-overflow:ellipsis;white-space:nowrap;font-size:16px;line-height:21px;display:block;overflow:hidden}.admin-notification-copy>span{word-break:keep-all;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:5px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.admin-notification-item.read .admin-notification-copy strong{color:inherit}.admin-notification-item time{color:#767676;font-size:14px;line-height:21px;position:absolute;top:23px;right:24px}.admin-notification-state{color:#64748a;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:168px;padding:24px;font-size:13px;display:flex}.admin-notification-state>svg{width:28px;height:28px}.admin-notification-state .spinner{width:26px;height:26px}.admin-notification-state.error{color:#b42318}.admin-notification-state button{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:6px;padding:5px 9px}.account{border-left:1px solid #cbd5e1;padding-left:22px;position:relative}.account-trigger{cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.account-trigger>svg{color:#94a3b8;width:14px;height:14px;transform:rotate(90deg)}.avatar,.table-avatar{color:#fff;background:var(--brand-gradient);place-items:center;font-weight:700;display:grid}.avatar{border-radius:50%;width:42px;height:42px;font-size:14px}.account-trigger .avatar{color:#fff;background:var(--brand-gradient);width:44px;height:44px;font-size:14px}.account-copy{text-align:left}.account-copy strong,.account-copy small{display:block}.account-copy strong{color:#0f172a;font-size:13px}.account-copy small{color:#64748b;margin-top:3px;font-size:10px}.account-menu{width:220px;box-shadow:var(--shadow);background:#fff;border:1px solid #cbd5e1;border-radius:12px;padding:10px;position:absolute;top:54px;right:0}.account-menu>div{border-bottom:1px solid #e2e8f0;padding:9px 10px 12px}.account-menu strong,.account-menu span{text-overflow:ellipsis;display:block;overflow:hidden}.account-menu strong{font-size:12px}.account-menu span{color:var(--muted);margin-top:4px;font-size:10px}.account-menu button{color:#cd3030;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;margin-top:6px;padding:9px 10px;font-size:12px;display:flex}.account-menu button:hover{background:#ffeded}.account-menu button svg{width:17px}.app-body{align-items:flex-start;min-height:calc(100vh - 80px);display:flex}.sidebar{z-index:30;background:#fff;border-radius:24px;flex-direction:column;width:286px;height:calc(100vh - 116px);min-height:560px;margin:18px;display:flex;position:sticky;top:98px;overflow:hidden;box-shadow:0 0 18px #2596f00d}.sidebar-profile{align-items:center;gap:11px;min-height:118px;padding:26px 22px;display:flex}.sidebar-profile-icon{color:#334155;place-items:center;display:grid}.sidebar-profile-icon svg,.sidebar-profile-icon img{width:26px;height:26px}.sidebar-profile strong,.sidebar-profile small{display:block}.sidebar-profile strong{color:#1e293b;font-size:24px;line-height:1.3}.sidebar-close{margin-left:auto;display:none}.sidebar-nav{flex-direction:column;gap:10px;padding:8px 18px 20px;display:flex}.sidebar-menu-group{position:relative}.sidebar-menu-parent{color:#94a3b8;border-radius:9px;align-items:center;min-height:60px;padding:0 22px;font-size:14px;font-weight:500;transition:all .17s;display:flex;position:relative}.sidebar-menu-group.active .sidebar-menu-parent:before{content:"";background:#257ddb;border-radius:0 4px 4px 0;width:8px;position:absolute;top:0;bottom:0;left:-18px}.sidebar-menu-parent svg{width:17px;height:17px;margin-left:auto}.sidebar-menu-parent:hover{color:#19559f;background:#f4f9ff}.sidebar-menu-group.active .sidebar-menu-parent{color:#fff;background:var(--brand-gradient);width:254px;min-height:65px;font-weight:700}.sidebar-menu-group.active .sidebar-menu-parent svg{transform:rotate(90deg)}.sidebar-submenu{border-left:2px solid #c6e3ff;flex-direction:column;gap:3px;margin:7px 0 0 40px;padding-left:9px;display:flex}.sidebar-submenu a{color:#94a3b8;border:1px solid #0000;border-radius:8px;align-items:center;min-height:49px;padding:0 13px;font-size:14px;font-weight:500;display:flex}.sidebar-submenu a.current{color:#2596f0;background:#f4f9ff;border-color:#e2f1ff;font-weight:700}.app-area{flex:1;min-width:0}.page-content{width:100%;padding:40px 76px 34px 38px}.page-stack{flex-direction:column;gap:18px;max-width:none;margin:0 auto;display:flex}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;min-height:76px;display:flex}.page-heading h2{color:#0f172a;letter-spacing:-.02em;margin:0 0 7px;font-size:30px;font-weight:700}.page-heading p{color:var(--muted);margin:0;font-size:13px}.eyebrow{color:var(--primary);letter-spacing:.1em;font-size:10px;font-weight:700}.polling-state{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:9px;min-width:318px;padding:10px 11px;display:flex}.polling-state .pulse{background:var(--success);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #22c55e1f}.polling-state .pulse.active{animation:1.1s infinite pulse}.polling-state div{flex:1}.polling-state strong,.polling-state small{display:block}.polling-state strong{font-size:11px}.polling-state small{color:var(--muted);margin-top:2px;font-size:9px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.metric-card{align-items:center;min-height:120px;padding:20px 24px;display:flex}.metric-copy{width:100%}.metric-copy>span,.metric-copy small{display:block}.metric-copy>span{color:#64748b;font-size:12px;font-weight:500}.metric-copy strong{color:#0f172a;letter-spacing:-.02em;align-items:center;min-height:38px;margin:8px 0 3px;font-size:28px;display:flex}.metric-copy small{color:#94a3b8;align-items:center;gap:7px;font-size:10px;display:flex}.metric-copy small i{border-bottom:7px solid;border-left:5px solid #0000;border-right:5px solid #0000;width:0;height:0}.metric-copy small.danger i{border-top:7px solid;border-bottom:0}.metric-copy small.positive{color:#20a99f}.metric-copy small.warning{color:#d9780a}.metric-copy small.danger{color:#ef4444}.metric-copy small.neutral i{background:#94a3b8;border:0;border-radius:50%;width:6px;height:6px}.skeleton-number{background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0) 0 0/200%;border-radius:5px;width:64px;height:24px;animation:1.3s infinite shimmer}.dashboard-grid{grid-template-columns:minmax(0,1.7fr) minmax(310px,.85fr);gap:18px;display:grid}.quality-card{min-height:310px;padding-bottom:22px}.quality-summary{background:linear-gradient(90deg,#f4f9ff,#f0fcfb);border-radius:14px;justify-content:space-between;align-items:center;margin:20px 26px 3px;padding:16px 20px;display:flex}.quality-summary span,.quality-summary strong{display:block}.quality-summary>div>span{color:#64748b;font-size:11px}.quality-summary>div>strong{color:#164780;margin-top:5px;font-size:26px}.quality-status{color:#198a82;background:#fff;border-radius:18px;align-items:center;gap:6px;padding:8px 11px;font-size:10px;font-weight:700;display:inline-flex!important}.quality-status i{background:#2cc7bb;border-radius:50%;width:7px;height:7px}.quality-status.attention{color:#ae5707}.quality-status.attention i{background:#f5a524}.quality-row{grid-template-columns:145px 1fr 48px;align-items:center;gap:18px;padding:18px 26px 0;display:grid}.quality-row>div:first-child strong,.quality-row>div:first-child span{display:block}.quality-row>div:first-child strong{font-size:12px}.quality-row>div:first-child span{color:var(--muted);margin-top:4px;font-size:10px}.quality-track{background:#e2e8f0;border-radius:8px;height:8px;overflow:hidden}.quality-track span{border-radius:inherit;background:var(--brand-gradient);height:100%;display:block}.quality-row.error .quality-track span{background:#ef4444}.quality-row>strong{text-align:right;font-size:11px}.usage-card{flex-direction:column;align-items:center;min-height:310px;padding-bottom:21px;display:flex}.usage-card .soft-card-header{width:100%}.donut{--value:0deg;background:conic-gradient(var(--primary) var(--value), #e2e8f0 0);border-radius:50%;place-items:center;width:126px;height:126px;margin:20px 0 16px;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:13px}.donut>div{z-index:1;text-align:center;position:relative}.donut strong,.donut span{display:block}.donut strong{color:#0f172a;font-size:24px}.donut span{color:var(--muted);margin-top:2px;font-size:9px}.usage-legend{grid-template-columns:1fr 1fr;gap:9px;width:calc(100% - 46px);display:grid}.usage-legend div{background:#f8fafc;border-radius:8px;padding:10px 11px}.usage-legend span,.usage-legend strong{display:block}.usage-legend span{color:var(--muted);font-size:9px}.usage-legend i{background:#cbd5e1;border-radius:50%;width:6px;height:6px;margin-right:5px;display:inline-block}.usage-legend i.active{background:var(--primary)}.usage-legend strong{margin:4px 0 0 11px;font-size:13px}.dashboard-lower-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;display:grid}.system-status-card,.attention-card{min-height:210px;padding-bottom:20px}.system-status-main{align-items:center;gap:15px;margin:27px 26px 20px;display:flex}.status-shield{color:#257ddb;background:#e2f1ff;border-radius:13px;place-items:center;width:48px;height:48px;display:grid}.status-shield svg{width:24px;height:24px}.system-status-main>div{flex:1}.system-status-main strong{font-size:15px}.system-status-main p{color:#64748b;margin:5px 0 0;font-size:10px}.status-badge{color:#ae5707;background:#fff6e9;border-radius:14px;align-items:center;gap:6px;padding:7px 10px;font-size:9px;font-weight:700;display:inline-flex}.status-badge.normal{color:#0d7138;background:#ebfbf0}.status-badge i{background:currentColor;border-radius:50%;width:6px;height:6px}.server-time{border-top:1px solid #e2e8f0;justify-content:space-between;margin:0 26px;padding-top:17px;display:flex}.server-time span{color:#94a3b8;font-size:10px}.server-time strong{color:#475569;font-size:10px;font-weight:500}.attention-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:27px 26px 0;display:grid}.attention-list>div{border-radius:9px;min-height:84px;padding:14px}.attention-list span,.attention-list strong{display:block}.attention-list span{font-size:10px;font-weight:700}.attention-list span i{background:currentColor;border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.attention-list strong{margin:13px 0 0 12px;font-size:15px}.attention-list .blue{color:#19559f;background:#e2f1ff}.attention-list .green{color:#0d7138;background:#ebfbf0}.attention-list .orange{color:#ae5707;background:#fff6e9}.app-shell:has(.ga-dashboard) .sidebar-profile{gap:16px;padding-inline:26px}.app-shell:has(.ga-dashboard) .sidebar-profile strong{font-size:20px;line-height:1.3}.app-shell:has(.ga-dashboard) .sidebar-nav{padding-top:1px}.app-shell:has(.ga-dashboard) .sidebar-menu-parent{border-radius:8px;font-size:14px}.app-shell:has(.ga-dashboard) .sidebar-menu-group.active .sidebar-menu-parent{font-size:14px}.app-shell:has(.ga-dashboard) .sidebar-submenu a{font-size:14px}.app-shell:has(.ga-dashboard) .account{padding-left:23px}.app-shell:has(.ga-dashboard) .avatar{color:#fff;background:var(--brand-gradient);border:0;width:44px;height:44px;font-size:14px}.app-shell:has(.ga-dashboard) .account-copy strong{font-size:16px;line-height:1.25}.app-shell:has(.ga-dashboard) .account-copy small{margin-top:4px;font-size:14px;line-height:1.2}.app-shell:has(.ga-dashboard) .account-trigger>svg{display:none}.role-dashboard{gap:24px}.role-dashboard-heading{align-items:flex-start;min-height:85px}.role-dashboard-heading h2{margin-bottom:7px;font-size:32px}.role-dashboard-heading p{font-size:16px;line-height:1.5}.dashboard-heading-actions{align-items:center;gap:12px;display:flex}.dashboard-period-field{flex:0 0 286px;width:286px}.dashboard-period-field .soft-dropdown-trigger{color:#334155;border-radius:10px;min-height:43px;padding:0 14px;font-size:14px;font-weight:600}.dashboard-period-field .soft-dropdown-trigger svg{width:14px;height:14px;margin-left:auto}.dashboard-period-field .soft-dropdown-menu{border-radius:14px;top:calc(100% + 7px);box-shadow:0 12px 24px #0f172a1f}.dashboard-period-field .soft-dropdown-menu>button{min-height:48px;font-size:14px}.dashboard-refresh-button{color:#0f172a;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;place-items:center;width:43px;height:43px;padding:0;display:grid}.dashboard-refresh-button:hover{color:#257ddb;background:#f8fbff;border-color:#86c5f7}.dashboard-refresh-button:disabled{cursor:wait;opacity:.65}.dashboard-refresh-button svg{width:20px;height:20px}.dashboard-refresh-button.refreshing svg{animation:.7s linear infinite spin}.sa-metric-grid{gap:24px}.sa-metric-grid .metric-card{border-radius:24px;height:132px;min-height:132px;padding:18px 24px}.sa-metric-grid .metric-copy>span{font-size:14px}.sa-metric-grid .metric-copy strong{min-height:38px;margin:8px 0 4px;font-size:28px}.sa-metric-grid .metric-copy small{font-size:12px}.dashboard-panel{min-width:0;overflow:hidden}.competency-panel{container-type:inline-size}.sa-dashboard .dashboard-panel{border-radius:24px}.dashboard-panel-heading{justify-content:space-between;align-items:center;gap:16px;min-height:94px;padding:0 32px;display:flex}.dashboard-panel-heading h3{color:#1e293b;letter-spacing:-.02em;align-items:center;gap:8px;margin:0;font-size:24px;display:flex}.dashboard-panel-heading h3 svg{width:19px;color:var(--primary)}.dashboard-panel-heading p{color:#64748b;margin:7px 0 0;font-size:12px}.dashboard-panel-heading button,.dashboard-panel-heading>a{color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:6px;font-size:12px;font-weight:700;display:inline-flex}.dashboard-panel-heading button svg,.dashboard-panel-heading>a svg{width:16px}.dashboard-panel-heading>span{color:#94a3b8;font-size:12px}.sa-dashboard-grid{grid-template-columns:minmax(0,1.744fr) minmax(350px,1fr);gap:24px;display:grid}.sa-dashboard-grid .dashboard-panel{flex-direction:column;display:flex}.sa-dashboard-grid .dashboard-panel-heading{flex:0 0 94px;min-height:94px;padding-inline:32px}.sa-dashboard-grid .dashboard-panel-heading h3{font-size:24px;font-weight:700;line-height:1.25}.sa-dashboard-grid .dashboard-panel-heading p{margin-top:7px;font-size:12px;line-height:1.35}.trend-panel,.competency-panel{height:396px;min-height:396px}.trend-chart{flex:1;height:236px;min-height:0;padding:0 30px}.trend-chart>svg{width:100%;height:100%;display:block;overflow:visible}.chart-grid-line{stroke:#e2e8f0;stroke-width:1px}.chart-grid-line.horizontal{opacity:.38}.chart-axis-label,.chart-week-label{fill:#334155;font-family:inherit;font-size:12px}.trend-line{fill:none;stroke:#257ddb;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round}.trend-series .trend-line{stroke-dasharray:1;stroke-dashoffset:1px;animation:.56s cubic-bezier(.22,1,.36,1) forwards trend-line-draw}.trend-series .trend-area{opacity:0;animation:.32s ease-out .16s forwards trend-area-in}.chart-caption{color:#27313a;align-items:flex-start;min-height:42px;margin:0;padding:8px 32px 22px;font-size:12px;display:flex}.chart-caption strong{color:#334155}.level-badge{background:#257ddb;border-radius:6px;padding:8px 10px;font-weight:700;color:#fff!important;font-size:11px!important}.competency-content{flex:1;grid-template-columns:minmax(260px,1fr) 150px;align-items:center;gap:14px;min-height:0;padding:0 32px 22px 24px;display:grid}.radar-chart{place-items:center;min-width:0;height:264px;display:grid}.radar-chart svg{width:min(100%,320px);height:264px;overflow:visible}.competency-content .radar-chart,.competency-content .radar-chart svg{max-height:100%}.radar-ring,.radar-axis{fill:none;stroke:#dbe4ee;stroke-width:1.4px}.radar-value{fill:#478be873;stroke:#257ddb;stroke-width:1.8px}.radar-chart text{fill:#334155;font-family:inherit;font-size:14px;font-weight:500}.radar-point{fill:#76b5f4;stroke:#257ddb;stroke-width:1.4px}.competency-legend{gap:16px;display:grid}.competency-legend span{color:#257ddb;white-space:nowrap;background:#f4f9ff;border-radius:20px;align-items:center;gap:10px;min-height:36px;padding:0 15px;font-size:13px;font-weight:500;display:flex}.competency-legend i{background:#257ddb;border-radius:50%;width:10px;height:10px}.sa-dashboard-lower{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.activity-log-panel,.queue-panel{height:265px;min-height:265px}.sa-dashboard-lower>.dashboard-panel{height:clamp(220px,24svh,265px);min-height:clamp(220px,24svh,265px)}.activity-log-list{padding:0 32px 22px}.activity-log-list>div{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:16px;min-height:57px;display:flex}.activity-log-list span{color:#334155;font-size:14px}.activity-log-list span i,.queue-list span i{background:#257ddb;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.activity-log-list small{color:#64748b;white-space:nowrap;font-size:12px}.queue-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px;padding:0 32px 22px;display:grid}.queue-list article,.queue-list>a{border-radius:8px;min-height:70px;padding:13px 28px 10px 14px;position:relative}.queue-list article.blue,.queue-list>a.blue{color:#19559f;background:#e2f1ff}.queue-list article.green,.queue-list>a.green{color:#0d7138;background:#ebfbf0}.queue-list article.orange,.queue-list>a.orange{color:#ae5707;background:#fff6e9}.queue-list span,.queue-list small{display:block}.queue-list span{font-size:11px;font-weight:700}.queue-list small{margin:7px 0 0 14px;font-size:9px;line-height:1.4}.queue-list svg{width:15px;position:absolute;top:13px;right:10px}.action-list-item{display:block}.action-list-item-title i{background:currentColor!important}.sa-dashboard .queue-list article:nth-child(n+4){display:block}.ga-dashboard{gap:24px;margin-top:24px}.ga-dashboard .role-dashboard-heading{min-height:93px}.ga-dashboard .role-dashboard-heading h2{color:#000;letter-spacing:-.025em;margin-bottom:8px;font-size:40px;font-weight:700;line-height:1.2}.ga-dashboard .role-dashboard-heading p{color:#64748b;letter-spacing:-.015em;font-size:18px;font-weight:400;line-height:1.45}.ga-new-observation-button{border-radius:16px;width:208px;margin-top:10px;font-size:16px;min-height:52px!important;padding:0!important}.ga-new-observation-button svg{stroke-width:2.25px;border:1.5px solid;border-radius:50%;width:20px;height:20px;padding:3px}.ga-overview-grid{grid-template-columns:minmax(360px,1fr) repeat(3,288px);gap:20px;display:grid}.ga-class-card{color:#fff;background:linear-gradient(136deg,#257ddb 31%,#2596f0 78%);border-radius:24px;height:218px;margin-right:4px;padding:24px;position:relative;overflow:hidden}.ga-class-icon{z-index:1;background:#fff;border-radius:8px;place-items:center;width:44px;height:44px;display:grid;position:relative}.ga-class-icon img{width:24px;height:24px}.ga-class-copy{z-index:1;margin-top:18px;position:relative}.ga-class-empty{z-index:1;flex-direction:column;justify-content:center;min-height:118px;padding-right:104px;display:flex;position:relative}.ga-class-empty strong{font-size:20px;line-height:1.35}.ga-class-empty span{color:#dceeff;margin-top:8px;font-size:13px;line-height:1.5}.ga-class-card small{color:#dceeff;margin:0 0 8px;font-size:16px;font-weight:500;line-height:1.35;display:block}.ga-class-card h3{letter-spacing:-.025em;margin:0;font-size:32px;font-weight:700;line-height:1.2}.ga-class-card p{gap:10px;margin:17px 0 0;display:flex}.ga-class-card p span{color:#257ddb;background:#ebf2ff;border-radius:4px;justify-content:center;align-items:center;min-width:47px;height:24px;padding:0 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.ga-class-illustration{z-index:0;width:226px;max-width:none;height:226px;position:absolute;top:-7px;right:0}.ga-status-card{border-color:#cbd5e1;border-radius:24px;height:218px;padding:23px;transition:border-color .16s;display:block}.ga-status-card>div{justify-content:space-between;align-items:center;height:40px;display:flex}.ga-status-arrow{color:#64748b;border:1.25px solid;border-radius:50%;place-items:center;width:40px;height:40px;transition:color .16s;display:grid}.ga-status-arrow svg{stroke-width:2.5px;width:20px;height:20px}.ga-status-card.neutral:hover,.ga-status-card.neutral:focus-visible{border-color:#257ddb}.ga-status-card.neutral:hover .ga-status-arrow,.ga-status-card.neutral:focus-visible .ga-status-arrow{color:#257ddb}.ga-status-card.success:hover,.ga-status-card.success:focus-visible{border-color:#2cc7bb}.ga-status-card.success:hover .ga-status-arrow,.ga-status-card.success:focus-visible .ga-status-arrow{color:#2cc7bb}.ga-status-card.warning:hover,.ga-status-card.warning:focus-visible{border-color:#f5a524}.ga-status-card.warning:hover .ga-status-arrow,.ga-status-card.warning:focus-visible .ga-status-arrow{color:#f5a524}.status-dot{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;align-items:center;gap:8px;min-height:28px;padding:0 12px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.status-dot i{background:#257ddb;border-radius:50%;width:7px;height:7px}.status-dot.success i{background:#2cc7bb}.status-dot.warning i{background:#f5a524}.ga-status-card>strong{color:#000;letter-spacing:-.025em;margin-top:59px;font-size:32px;font-weight:700;line-height:1.2;display:block}.ga-status-card>small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:16px;font-weight:400;line-height:1.4;display:block;overflow:hidden}.assigned-students-panel{border-radius:24px;height:341px;min-height:341px;margin-top:16px;padding-bottom:24px}.assigned-students-panel .dashboard-panel-heading{min-height:76px;padding:0 24px}.assigned-students-panel .dashboard-panel-heading h3{gap:12px;font-size:24px;font-weight:700;line-height:1.3}.assigned-students-panel .dashboard-panel-heading h3 img{width:24px;height:24px}.assigned-students-panel .dashboard-panel-heading>a{color:#257ddb;align-items:center;gap:8px;padding:6px 0;font-size:16px;font-weight:600;line-height:1;display:inline-flex}.assigned-students-panel .dashboard-panel-heading>a svg{stroke-width:2.25px;width:20px;height:20px}.assigned-student-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:0 24px;display:grid}.assigned-student-grid>article{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;min-width:0;height:240px;padding:23px 20px}.student-heading{align-items:center;gap:12px;display:flex}.student-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-size:14px;font-weight:700;display:grid;overflow:hidden}.student-heading>div{flex:1;min-width:0}.student-heading strong,.student-heading small{display:block}.student-heading strong{color:#0f172a;font-size:16px;font-weight:700;line-height:1.3}.student-heading small{color:#94a3b8;margin-top:4px;font-size:14px;line-height:1.3}.photo-restricted{color:#ef4444;white-space:nowrap;background:#ffeded;border-radius:4px;align-items:center;height:24px;padding:0 8px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.student-record-summary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;height:74px;margin:16px 0;padding:12px 14px}.student-record-summary p{justify-content:space-between;align-items:center;margin:0;display:flex}.student-record-summary p+p{margin-top:8px}.student-record-summary span,.student-record-summary time{color:#94a3b8;font-size:14px;line-height:1.2}.student-record-summary p:first-child span{color:#0f172a;font-weight:600}.student-record-summary strong{color:#257ddb;font-size:14px;font-weight:700;line-height:1.2}.assigned-student-grid article>button,.assigned-student-grid .student-observation-link{color:#fff;cursor:pointer;background:#257ddb;border:0;border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;height:42px;padding:0;font-size:16px;font-weight:700;line-height:1;display:flex}.assigned-student-grid article>button:hover,.assigned-student-grid .student-observation-link:hover{background:#1d68bf}.assigned-student-grid article>button svg,.assigned-student-grid .student-observation-link svg{stroke-width:2.25px;border:1.5px solid;border-radius:50%;width:20px;height:20px;padding:3px}.trend-panel>.workspace-empty,.competency-panel>.workspace-empty,.activity-log-panel>.workspace-empty,.assigned-students-panel>.workspace-empty{flex:1;width:100%;min-height:0}.admin-data-source-bar{background:#f4f9ff;border:1px solid #c6e3ff;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:8px 10px 8px 16px;display:flex}.admin-data-source-bar>div:first-child{align-items:center;gap:10px;min-width:0;display:flex}.preview-dot{background:#25b9ad;border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 0 4px #25b9ad1f}.admin-data-source-bar p,.admin-data-source-bar strong,.admin-data-source-bar small{margin:0;display:block}.admin-data-source-bar strong{color:#164780;font-size:10px}.admin-data-source-bar small{color:#64748b;margin-top:3px;font-size:8px}.data-source-switch{background:#eaf0f6;border-radius:9px;gap:3px;padding:3px;display:inline-flex}.data-source-switch button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;min-height:32px;padding:0 13px;font-size:10px;font-weight:700;display:inline-flex}.data-source-switch button.active{color:#164780;background:#fff;box-shadow:0 2px 8px #0f172a14}.workspace-page{gap:16px}.workspace-card{min-height:560px;overflow:hidden}.workspace-tabs{border-bottom:1px solid #dbe4ee;align-items:flex-end;gap:28px;min-height:66px;padding:0 24px;display:flex;overflow-x:auto}.workspace-tabs button{color:#94a3b8;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:5px;min-height:48px;padding:0 2px;font-size:11px;font-weight:700;display:inline-flex}.workspace-tabs button.active{color:#257ddb;border-bottom-color:#257ddb}.workspace-tabs button span{color:#257ddb;background:#e2f1ff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:8px;display:grid}.workspace-tab-panel{padding:18px 24px 26px}.workspace-toolbar{justify-content:space-between;align-items:center;gap:14px;min-height:44px;margin-bottom:14px;display:flex}.workspace-toolbar>span{color:#94a3b8;white-space:nowrap;font-size:9px}.toolbar-fields{gap:10px;min-width:0;display:flex}.toolbar-fields>select{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:9px;min-width:110px;padding:0 30px 0 12px;font-size:10px}.workspace-search{background:#f1f5f9;border-radius:9px;align-items:center;gap:8px;width:min(320px,100%);height:40px;padding:0 13px;display:flex}.workspace-search svg{color:#94a3b8;width:17px}.workspace-search input{color:#1e293b;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:10px}.workspace-search input::placeholder{color:#94a3b8}.workspace-table-scroll{overflow:auto}.workspace-table{border-collapse:collapse;width:100%;min-width:940px}.workspace-table th{color:#475569;text-align:left;white-space:nowrap;background:#f1f5f9;border-bottom:1px solid #cbd5e1;height:44px;padding:0 12px;font-size:9px}.workspace-table td{color:#334155;border-bottom:1px solid #dbe4ee;height:57px;padding:8px 12px;font-size:9px}.workspace-table tbody tr:hover{background:#f8fafc}.person-cell{align-items:center;gap:10px;display:flex}.person-cell>span,.person-cell strong,.person-cell small{display:block}.person-cell>.person-avatar{line-height:1;display:grid}.person-cell strong{color:#0f172a;font-size:10px}.person-cell small{color:#94a3b8;margin-top:3px;font-size:8px}.person-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.person-avatar.small{width:32px;height:32px;font-size:10px}.person-avatar.medium{width:44px;height:44px;font-size:12px}.person-avatar.large{width:54px;height:54px;font-size:14px}.workspace-status{white-space:nowrap;border-radius:5px;align-items:center;gap:4px;min-height:23px;padding:3px 7px;font-size:8px;font-weight:700;display:inline-flex}.workspace-status svg{width:12px;height:12px}.workspace-status.blue{color:#19559f;background:#e2f1ff}.workspace-status.green{color:#0d7138;background:#ebfbf0}.workspace-status.red{color:#c83232;background:#ffeded}.workspace-status.orange{color:#ae5707;background:#fff6e9}.workspace-status.neutral{color:#64748b;background:#f1f5f9}.link-text{color:#257ddb}.table-action{color:#257ddb;cursor:pointer;background:0 0;border:0;padding:4px;font-size:9px;font-weight:700}.section-copy{margin:2px 0 18px}.section-copy h3{color:#1e293b;margin:0;font-size:14px}.section-copy p{color:#94a3b8;margin:6px 0 0;font-size:9px}.section-copy.action-copy{justify-content:space-between;align-items:center;gap:16px;display:flex}.workspace-empty{color:#94a3b8;text-align:center;place-content:center;justify-items:center;min-height:260px;display:grid}.workspace-empty svg{width:34px;height:34px;margin-bottom:12px}.workspace-empty strong{color:#475569;font-size:12px}.workspace-empty span{margin-top:5px;font-size:9px}.workspace-empty>.soft-button{margin-top:18px}.settings-card>.workspace-empty{width:100%;min-height:540px}.member-page .page-heading{min-height:104px}.member-page .page-heading h2{margin-bottom:8px;font-size:32px;line-height:1.3}.member-page .page-heading p{font-size:16px;line-height:1.5}.member-page .page-heading>.soft-button{border-radius:18px;min-width:208px;min-height:52px;margin-top:15px;font-size:14px}.member-workspace-card{border-radius:24px;min-height:0}.member-page .workspace-tabs{gap:0;min-height:86px;padding:0 32px}.member-page .workspace-tabs button{min-height:86px;padding:0 18px;font-size:18px;font-weight:500}.member-page .workspace-tabs button.active{font-weight:700}.member-page .workspace-tab-panel{padding:31px 32px 32px}.member-page .workspace-toolbar{min-height:42px;margin-bottom:23px}.member-page .workspace-toolbar>span{font-size:14px}.member-toolbar-actions{align-items:center;gap:16px;display:flex}.member-toolbar-actions>span{color:#94a3b8;white-space:nowrap;font-size:14px}.member-bulk-button{font-size:14px;border-radius:12px!important;min-height:42px!important;padding-inline:16px!important}.member-page .workspace-search{border-radius:12px;width:min(360px,100%);height:42px;padding:0 16px}.member-page .workspace-search svg{width:20px;height:20px}.member-page .workspace-search input{font-size:16px}.member-page .workspace-table{table-layout:fixed;min-width:1180px}.member-page .workspace-table th{height:52px;padding:0 12px;font-size:14px;font-weight:700}.member-page .workspace-table td{height:81px;padding:12px;font-size:16px}.member-page .workspace-table .workspace-empty-table-row td{text-align:center;height:380px;padding:0}.member-page .workspace-table .workspace-empty-table-row .workspace-empty{width:100%;min-height:380px}.member-page .workspace-table th:first-child,.member-page .workspace-table th:nth-child(2){width:15%}.member-page .workspace-table th:nth-child(3){width:14%}.member-page .workspace-table th:nth-child(4){width:15%}.member-page .workspace-table th:nth-child(5){width:14%}.member-page .workspace-table th:nth-child(6){width:12%}.member-page .workspace-table th:nth-child(7){width:15%}.member-page .workspace-table th:last-child,.member-page .workspace-table td:last-child{text-align:right}.member-page .person-cell{gap:12px}.member-student-edit{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.member-student-edit:hover strong{color:var(--primary);text-decoration:underline}.member-page .person-cell .person-avatar.small{width:48px;height:48px;font-size:14px}.member-page .person-cell strong{font-size:16px}.member-page .person-cell small{margin-top:5px;font-size:14px}.member-page .workspace-status{min-height:28px;padding:4px 8px;font-size:14px}.member-page .workspace-status svg{width:16px;height:16px}.member-connection-status{color:#94a3b8;white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.member-connection-status.complete{color:#2cc7bb}.member-connection-status.pending{color:#f5a524}.member-connection-status svg{stroke-width:2.2px;border:1.5px solid;border-radius:50%;width:18px;height:18px;padding:2px}.member-page .link-text{font-size:16px}.member-page .section-copy{margin:0 0 26px}.member-page .section-copy h3{font-size:18px;line-height:1.45}.member-page .section-copy p{margin-top:7px;font-size:16px;line-height:1.5}.member-page .connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.member-page .connection-grid article{border:1px solid #cbd5e1;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;min-height:142px;padding:24px;display:flex}.member-page .connection-grid article span,.member-page .connection-grid article small,.member-page .connection-grid article time{display:block}.member-page .connection-grid article span{font-size:18px}.member-page .connection-grid article small{color:#257ddb;margin-top:7px;font-size:16px}.member-page .connection-grid article time{color:#64748b;margin-top:16px;font-size:14px}.member-page .connection-grid .soft-button.small{border-radius:5px;min-height:32px;padding:0 11px;font-size:14px}.connection-empty{color:#16a36a;grid-column:1/-1;place-content:center;justify-items:center;min-height:180px;display:grid}.connection-empty svg{width:32px;height:32px;margin-bottom:8px}.member-page .consent-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.member-page .consent-grid>.workspace-empty{grid-column:1/-1;min-height:320px}.member-page .consent-grid article{border:1px solid #cbd5e1;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;min-height:114px;padding:23px 24px;display:grid}.consent-student-summary{color:#1e293b;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:24px;min-width:0;padding:0;display:flex}.consent-student-summary .person-avatar{width:64px;height:64px;font-size:16px}.consent-student-summary>span{min-width:0}.consent-student-summary strong,.consent-student-summary small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.consent-student-summary strong{font-size:22px}.consent-student-summary small{color:#94a3b8;margin-top:6px;font-size:16px}.consent-status-select{width:max-content;display:block;position:relative}.consent-status-select .soft-dropdown{width:auto}.consent-status-select .soft-dropdown-trigger{color:#1e293b;background:#fff;border-color:#cbd5e1;border-radius:12px;gap:8px;width:auto;min-width:88px;min-height:42px;padding:0 12px 0 14px;font-size:16px}.consent-status-select .soft-dropdown-trigger svg{color:#94a3b8;width:17px;height:17px}.consent-status-select.consented .soft-dropdown-trigger{color:#257ddb;background:#f4f9ff;border-color:#257ddb}.consent-status-select.consented .soft-dropdown-trigger svg{color:#86c5f7}.consent-status-select.danger .soft-dropdown-trigger{color:#ef4444;background:#fff7f7;border-color:#ff6b6b}.consent-status-select.danger .soft-dropdown-trigger svg{color:#ff9b9b}.consent-status-select .soft-dropdown.open .soft-dropdown-trigger{box-shadow:none}.consent-status-select .soft-dropdown-menu{border-radius:13px;width:149px;top:calc(100% + 8px);left:1px;box-shadow:4px 4px 14px #536f980d}.consent-status-select .soft-dropdown-menu>button{color:#334155;min-height:41px;padding:0 14px;font-size:16px;font-weight:400}.consent-status-select .soft-dropdown-menu>button[aria-selected=true]{color:#f1f5f9;background:#2596f0}.approval-summary{align-items:center;gap:16px;min-height:100px;display:flex}.approval-summary>svg{color:#257ddb;background:#e2f1ff;border-radius:12px;width:40px;height:40px;padding:9px}.approval-summary p{color:#475569;margin:0;font-size:12px;line-height:1.6}.modal-backdrop:has(.agreement-modal){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006}.agreement-modal{border:1px solid #cbd5e1;border-radius:24px;width:min(730px,100%)}.agreement-modal .modal-header{border-bottom:0;align-items:center;padding:29px 32px 0;position:relative}.agreement-modal .modal-header h2{align-items:center;gap:12px;margin:0;font-size:24px;line-height:1.4;display:flex}.agreement-modal .modal-header .icon-button{color:#94a3b8;width:40px;height:40px;position:absolute;top:29px;right:32px}.agreement-modal .modal-header .icon-button svg{width:24px;height:24px}.agreement-student-badge{color:#257ddb;background:#ebf2ff;border-radius:5px;align-items:center;min-height:28px;padding:4px 7px;font-size:13px;font-weight:700;display:inline-flex}.agreement-modal .modal-body{padding:26px 32px 32px}.agreement-copy{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:18px 16px}.agreement-copy strong{margin-bottom:9px;font-size:16px;display:block}.agreement-copy p{color:#475569;margin:0 0 22px;font-size:16px;line-height:1.75}.agreement-copy p:last-child{margin-bottom:0}.agreement-modal-actions{justify-content:space-between;align-items:center;gap:24px;margin-top:32px;display:flex}.agreement-modal-actions>span{color:#94a3b8;font-size:16px}.agreement-modal-actions .soft-button{border-radius:16px;min-width:148px;min-height:52px;font-size:14px}@media (max-width:1100px){.member-page .connection-grid,.member-page .consent-grid{grid-template-columns:1fr}}.record-control-page{gap:16px}.record-control-heading{min-height:105px}.record-control-heading h2{margin-bottom:8px;font-size:32px;line-height:1.3}.record-control-heading p{font-size:16px;line-height:1.5}.record-control-heading .record-export-button{border-radius:16px;width:208px;min-height:52px;margin-top:14px;padding:0 18px;font-size:14px}.record-control-heading .record-export-button svg{width:21px;height:21px}.record-control-card{border-radius:24px;min-height:0;overflow:visible}.record-control-card.record-reports-view,.record-control-card.record-unread-view{min-height:500px}.record-control-card.record-audit-view{height:calc(100vh - 266px);min-height:992px}.record-control-card .workspace-tabs{align-items:stretch;gap:0;min-height:85px;padding:0 32px;overflow:visible}.record-control-card .workspace-tabs button{border-bottom-width:2px;min-height:85px;padding:0 20px;font-size:18px}.record-control-card .workspace-tab-panel{padding-inline:32px}.record-reports-panel{flex-direction:column;min-height:414px;padding-top:33px;padding-bottom:24px;display:flex}.record-reports-toolbar{height:42px;min-height:42px;margin-bottom:24px}.record-reports-toolbar .toolbar-fields{align-items:center;gap:12px}.record-reports-toolbar .workspace-search{border-radius:12px;gap:10px;width:358px;height:42px;padding:0 16px}.record-reports-toolbar .workspace-search svg{width:22px;height:22px}.record-reports-toolbar .workspace-search input{font-size:16px}.record-reports-toolbar .record-report-scope{flex:0 0 121px;width:121px}.record-report-scope .soft-dropdown-trigger,.record-audit-sort .soft-dropdown-trigger{color:#1e293b;border-radius:12px;min-height:40px;padding:0 14px;font-size:16px;font-weight:500}.record-report-scope .soft-dropdown-trigger svg,.record-audit-sort .soft-dropdown-trigger svg{width:18px;height:18px}.record-report-scope .soft-dropdown-menu,.record-audit-sort .soft-dropdown-menu{border-radius:13px;width:192px;top:calc(100% + 10px);box-shadow:0 10px 22px #0f172a1a}.record-report-scope .soft-dropdown-menu{left:-1px}.record-audit-sort .soft-dropdown-menu{left:auto;right:0}.record-report-scope .soft-dropdown-menu>button,.record-audit-sort .soft-dropdown-menu>button{min-height:41px;padding:0 14px;font-size:16px}.record-bulk-button,.record-reminder-button{border-radius:12px!important;min-height:42px!important;font-size:14px!important}.record-bulk-button{width:193px}.record-reminder-button{width:247px}.record-report-table-scroll{overflow:visible}.report-control-table{table-layout:fixed;min-width:1120px}.report-control-table .report-id-column{width:17%}.report-control-table .report-student-column{width:15%}.report-control-table .report-cycle-column{width:12%}.report-control-table .report-status-column{width:13%}.report-control-table .report-read-column{width:15%}.report-control-table .report-created-column{width:20%}.report-control-table .report-action-column{width:8%}.report-control-table th{color:#475569;height:54px;padding:0 12px;font-size:14px}.report-control-table td{color:#334155;height:64px;padding:8px 12px;font-size:16px}.report-control-table td strong{font-weight:700}.report-control-table .report-action-column,.report-control-table td:last-child{text-align:right}.report-control-table .report-identifier{color:#257ddb;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.report-control-table .report-created-at{white-space:nowrap;font-weight:700}.report-control-table .workspace-status{border:1px solid #0000;border-radius:5px;min-height:29px;padding:4px 9px;font-size:14px;font-weight:500}.report-control-table .workspace-status.blue{color:#257ddb;background:#e2f1ff}.report-control-table .workspace-status.neutral{color:#64748b;background:#fff;border-color:#cbd5e1}.report-control-table .table-action{white-space:nowrap;padding:4px 0;font-size:14px}.report-control-table .table-action.muted{color:#64748b}.report-read-state{color:#334155;white-space:nowrap;font-weight:500}.report-read-state.unread{color:#d97706;font-weight:700}.report-read-state.neutral{color:#94a3b8}.record-unread-panel{flex-direction:column;min-height:414px;padding-top:31px;padding-bottom:28px;display:flex}.record-reports-panel>.workspace-empty,.record-unread-panel>.workspace-empty{flex:1;width:100%;min-height:220px}.record-unread-panel .section-copy{margin:0}.record-unread-panel .section-copy h3,.record-audit-heading .section-copy h3{font-size:20px;line-height:1.45}.record-unread-panel .section-copy p,.record-audit-heading .section-copy p{margin-top:4px;font-size:16px;line-height:1.45}.record-audit-panel{padding-top:32px;padding-bottom:32px}.record-audit-heading{justify-content:space-between;align-items:flex-start;gap:24px;min-height:52px;display:flex}.record-audit-heading .section-copy{margin:0}.record-audit-filters{align-items:center;gap:14px;margin-top:8px;display:flex}.record-audit-sort{flex:0 0 102px;width:102px}.audit-date-picker{flex:0 0 122px;width:122px;position:relative}.audit-date-picker .date-range-trigger{border-radius:12px;height:40px;min-height:40px;padding:0 12px;font-size:14px;font-weight:500}.audit-date-picker .date-range-trigger>svg:first-child{width:17px;height:17px}.audit-calendar{z-index:140;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:24px;width:420px;height:495px;padding:32px 32px 30px;position:absolute;top:50px;right:0;box-shadow:0 16px 32px #0f172a0f}.audit-calendar h4{letter-spacing:-.02em;margin:0;font-size:24px;line-height:1.4}.audit-calendar-month{justify-content:space-between;align-items:center;height:63px;display:flex}.audit-calendar-month>strong{color:#257ddb;font-size:16px}.audit-calendar-month>div{align-items:center;gap:16px;display:flex}.audit-calendar-month button{color:#257ddb;cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:32px;padding:0;display:grid}.audit-calendar-month button svg{stroke-width:2.4px;width:22px;height:22px}.audit-calendar-weekdays,.audit-calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.audit-calendar-weekdays{color:#1e293b;text-align:center;align-items:center;height:42px;font-size:14px;font-weight:700}.audit-calendar-days{grid-auto-rows:48px;align-items:center}.audit-calendar-days button{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;width:48px;height:48px;margin:auto;padding:0;font-size:16px;font-weight:700}.audit-calendar-days button:hover{color:#257ddb;background:#f4f9ff}.audit-calendar-days button.selected{color:#257ddb;background:#e2f1ff;border-color:#2596f0}.audit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:23px;display:grid}.audit-grid>.workspace-empty{grid-column:1/-1;min-height:650px}.audit-grid article{border:1px solid #cbd5e1;border-radius:16px;flex-direction:column;min-width:0;height:238px;padding:23px;display:flex}.audit-meta{justify-content:space-between;align-items:center;display:flex}.audit-meta .workspace-status{color:#fff;background:#257ddb;border-radius:18px;min-height:34px;padding:0 14px;font-size:16px;font-weight:500}.audit-meta time{color:#94a3b8;font-size:14px}.audit-grid h4{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;margin:16px 0 8px;font-size:18px;line-height:1.35;overflow:hidden}.audit-grid>article>p{color:#334155;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:16px;line-height:1.5;display:-webkit-box;overflow:hidden}.audit-grid footer{color:#64748b;justify-content:space-between;align-items:center;gap:14px;margin-top:auto;font-size:14px;line-height:1.3;display:flex}.audit-main-meta{align-items:center;min-width:0;display:flex}.audit-main-meta span{white-space:nowrap}.audit-main-meta span+span{border-left:1px solid #94a3b8;margin-left:12px;padding-left:12px}.audit-grid footer>span{white-space:nowrap;flex:none}.student-growth-page{gap:16px}.student-growth-page .page-heading{min-height:105px}.student-growth-page .page-heading h2{color:#000;letter-spacing:-.025em;margin-bottom:8px;font-size:30px;line-height:1.25}.student-growth-page .page-heading p{color:#64748b;letter-spacing:-.015em;font-size:16px;line-height:1.5}.student-start-observation-button svg{stroke-width:2.25px;border:1.5px solid;border-radius:50%;width:20px;height:20px;padding:3px}.student-management-layout{grid-template-columns:minmax(360px,1fr) minmax(650px,2fr);gap:24px;height:clamp(640px,100svh - 339px,741px);min-height:640px;display:grid}.student-management-layout>.soft-card{border-color:#cbd5e1;border-radius:24px;min-width:0}.student-selector-panel{padding:23px;overflow:hidden}.student-selector-panel .workspace-search{background:#f1f5f9;border:1px solid #0000;border-radius:16px;gap:12px;width:100%;height:53px;padding:0 16px;transition:background .16s,border-color .16s,box-shadow .16s}.student-selector-panel .workspace-search:focus-within{box-shadow:none;background:#fff;border-color:#257ddb}.student-selector-panel .workspace-search svg{color:#94a3b8;stroke-width:2px;width:22px;height:22px}.student-selector-panel .workspace-search:focus-within svg{color:#257ddb}.student-selector-panel .workspace-search input{font-size:16px;line-height:1}.student-selector-list{flex-direction:column;gap:14px;margin-top:24px;display:flex}.student-selector-list button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;grid-template-rows:1fr 1fr;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;column-gap:12px;height:80px;min-height:80px;padding:12px 16px;display:grid}.student-selector-list button.active{box-shadow:none;background:#f4f9ff;border-color:#257ddb}.student-selector-list button .person-avatar{grid-row:1/-1;width:48px;height:48px;font-size:14px}.student-selector-list button>span{grid-row:1/-1;min-width:0}.student-selector-list strong,.student-selector-list small{display:block}.student-selector-list strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.3;overflow:hidden}.student-selector-list small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:12px;font-weight:400;line-height:1.3;overflow:hidden}.student-selector-list b{color:#257ddb;text-align:right;white-space:nowrap;grid-column:3;align-self:end;font-size:12px;line-height:1.3}.student-selector-list time{color:#8ba0bc;text-align:right;white-space:nowrap;grid-column:3;align-self:start;font-size:12px;line-height:1.3}.student-detail-panel{height:100%;overflow:hidden}.student-detail-heading{align-items:flex-start;gap:12px;height:126px;padding:32px;display:flex}.student-detail-heading>.person-avatar{width:64px;height:64px;font-size:16px}.student-detail-heading>div{flex:1;min-width:0}.student-detail-heading h3{color:#000;align-items:center;gap:10px;margin:0 0 6px;font-size:26px;font-weight:700;line-height:1.25;display:flex}.student-detail-heading h3 .workspace-status{border-radius:4px;min-height:28px;padding:4px 8px;font-size:14px;line-height:1}.student-detail-heading p{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:400;line-height:1.45;overflow:hidden}.student-start-observation-button{width:153px;height:42px;margin-top:12px;border-radius:12px!important;min-height:42px!important;padding:0!important;font-size:14px!important}.student-growth-page .student-detail-panel>.workspace-tabs{align-items:stretch;gap:0;height:58px;min-height:58px;padding:0 32px;overflow:visible}.student-growth-page .student-detail-panel>.workspace-tabs button{letter-spacing:-.02em;border-bottom-width:2px;min-height:58px;padding:0 18px;font-size:18px;font-weight:600;line-height:1}.student-growth-page .student-detail-panel>.workspace-tabs button.active{font-weight:700}.student-detail-content{height:calc(100% - 184px);min-height:0;padding:24px 32px}.student-profile-grid{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;align-items:center;gap:4px 48px;width:100%;height:134px;margin:0;padding:16px;display:grid}.student-profile-grid div{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:8px;min-width:0;display:grid}.student-profile-grid dt{color:#000;white-space:nowrap;font-size:14px;font-weight:700;line-height:1.4}.student-profile-grid dd{color:#64748b;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:14px;font-weight:400;line-height:1.4;overflow:hidden}.student-profile-grid .workspace-status{background:0 0;border-radius:0;min-height:0;padding:0;font-size:14px;line-height:1.4}.student-profile-grid .workspace-status.green{color:#0bc34a}.observation-coverage-content{overflow-y:auto}.observation-coverage-intro{color:#64748b;margin:0 0 20px;font-size:16px;line-height:1.5}.observation-coverage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.observation-coverage-item{color:#0f172a;width:100%;min-height:78px;font:inherit;text-align:left;background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 18px;display:grid}.observation-coverage-item:not(:disabled){cursor:pointer}.observation-coverage-item:not(:disabled):hover{background:#f4f9ff;border-color:#257ddb;box-shadow:0 0 0 3px #257ddb14}.observation-coverage-item:focus-visible{outline-offset:2px;outline:3px solid #257ddb33}.observation-coverage-item:disabled{opacity:1;cursor:default}.competency-symbol{border-radius:8px;flex:none;display:inline-block;position:relative;overflow:hidden}.competency-symbol-sprite{transform-origin:0 0;width:374px;height:84px;position:absolute;top:0;left:0}.competency-symbol-sprite img{width:374px;max-width:none;height:84px;display:block}.observation-coverage-item>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:18px;line-height:1.3;overflow:hidden}.observation-coverage-item>b{color:#257ddb;white-space:nowrap;font-size:16px;font-weight:500;line-height:1.3}.observation-coverage-item.empty>b{color:#94a3b8}.session-timeline{flex-direction:column;gap:16px;display:flex}.session-timeline article{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;min-height:155px;padding:16px}.session-timeline article>div{justify-content:space-between;align-items:center;gap:20px;min-width:0;display:flex}.session-timeline h4{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:18px;font-weight:700;line-height:1.35;overflow:hidden}.session-timeline time{color:#94a3b8;flex:none;font-size:16px;line-height:1.35}.session-timeline p{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:9px 0 11px;font-size:16px;font-weight:400;line-height:1.5;display:-webkit-box;overflow:hidden}.session-timeline .workspace-status{border-radius:4px;min-height:26px;padding:4px 8px;font-size:14px;line-height:1}.growth-content{place-items:center;padding-top:57px;padding-bottom:45px;display:grid}.student-growth-radar{text-align:center;justify-items:center;display:grid;transform:translate(-12px)}.student-growth-radar svg{width:460px;height:365px;overflow:visible}.student-growth-radar .radar-ring,.student-growth-radar .radar-axis{fill:none;stroke:#e2e8f0;stroke-width:2.2px}.student-growth-radar .radar-value{fill:#257ddb6b;stroke:#257ddb;stroke-width:2px}.student-growth-radar .radar-point{fill:#76b5f4;stroke:#257ddb;stroke-width:1.6px}.student-growth-radar text{fill:#334155;font-family:inherit;font-size:21px;font-weight:400}.student-growth-radar>span{color:#257ddb;background:#f4f9ff;border-radius:20px;align-items:center;min-height:36px;margin-top:21px;padding:0 18px;font-size:14px;line-height:1;display:inline-flex}.student-growth-radar>span i{background:#257ddb;border-radius:50%;width:10px;height:10px;margin-right:10px;display:inline-block}.student-report-list{flex-direction:column;gap:16px;display:flex}.student-report-list article{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;justify-content:space-between;align-items:center;height:66px;min-height:66px;padding:10px 16px;display:flex}.student-report-list article>div{align-items:center;gap:10px;min-width:0;display:flex}.student-report-list strong{color:#000;text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;line-height:1.3;overflow:hidden}.student-report-list .workspace-status{border:1px solid;border-radius:4px;min-height:28px;padding:4px 8px;font-size:14px;line-height:1}.student-report-list .workspace-status.green{color:#0bc34a;background:#ebfbf0;border-color:#a7f3c3}.student-report-list .workspace-status.orange{color:#f59e0b;background:#fff6e9;border-color:#fbd38d}.student-report-list .soft-button{border-radius:12px;width:111px;min-height:34px;padding:0;font-size:14px}.student-report-list .soft-button>span{font-size:16px;font-weight:600;line-height:1}.observation-write-page{gap:40px;width:min(1252px,100%);max-width:1252px}.observation-flow-header{color:#fff;background:#0f172a;border-radius:24px;justify-content:space-between;align-items:center;gap:24px;width:100%;height:119px;min-height:119px;padding:24px;display:flex}.observation-flow-header h2{letter-spacing:-.025em;margin:0;font-size:32px;font-weight:700;line-height:1.25}.observation-flow-header p{color:#cbd5e1;margin:2px 0 0;font-size:16px;font-weight:400;line-height:24px}.observation-flow-header>span{color:#86c5f7;background:#133a68;border:1px solid #2596f0;border-radius:16px;flex:none;justify-content:center;align-items:center;gap:9px;width:247px;height:52px;padding:0 18px;display:inline-flex}.observation-flow-header>span svg{stroke-width:2px;width:27px;height:27px}.observation-flow-header>span b{white-space:nowrap;font-size:20px;font-weight:700;line-height:1}.observation-flow-header>span small{color:#2596f0;white-space:nowrap;font-size:16px;font-weight:600;line-height:1}.observation-flow-card{border-radius:24px;width:100%;min-height:0;padding:32px}.observation-step-heading{justify-content:space-between;align-items:center;gap:18px;min-height:40px;display:flex}.observation-step-heading h3{color:#000;letter-spacing:-.025em;white-space:nowrap;min-width:0;margin:0;font-size:24px;font-weight:700;line-height:40px}.observation-step-heading h3 strong{color:#257ddb;margin-right:9px;font-size:32px;line-height:40px}.observation-step-heading>span{color:#94a3b8;flex:none;font-size:16px;font-weight:500;line-height:24px}.observation-step-heading>span b{color:#257ddb;font-weight:700}.step-progress{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;width:100%;height:14px;margin:30px 0 50px;display:grid}.step-progress i{background:#f4f9ff}.step-progress i:first-child{border-radius:7px 0 0 7px}.step-progress i:last-child{border-radius:0 7px 7px 0}.step-progress i.done:first-child{background:#c6e3ff}.step-progress i.done:nth-child(2){background:#86c5f7}.step-progress i.done:nth-child(3){background:#2596f0}.step-progress i.done:nth-child(4){background:#257ddb}.step-progress i.done:nth-child(5){background:#1d68bf}.step-progress i.done:nth-child(6){background:#19559f}.step-progress i.done:nth-child(7){background:#164780}.step-progress i.done:nth-child(8){background:#133a68}.observation-step-content{min-height:0}.observation-step-3 .observation-step-content,.observation-step-6 .observation-step-content,.observation-step-7 .observation-step-content,.observation-step-8 .observation-step-content{min-height:290px}.student-choice-grid{grid-template-rows:repeat(2,114px);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;height:252px;display:grid}.student-choice-grid button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;align-items:center;gap:15px;min-width:0;height:114px;padding:24px;display:flex}.student-choice-grid button.selected{background:#f4f9ff;border-color:#257ddb}.student-choice-grid button .person-avatar{width:64px;height:64px;font-size:16px}.student-choice-grid button>span{flex:1;min-width:0}.student-choice-grid strong,.student-choice-grid small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-choice-grid strong{color:#0f172a;font-size:24px;font-weight:700;line-height:32px}.student-choice-grid small{color:#94a3b8;margin-top:0;font-size:18px;font-weight:500;line-height:24px}.student-choice-grid button>svg{color:#257ddb;stroke-width:2.4px;border:3px solid;border-radius:50%;width:32px;height:32px;padding:3px}.observation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px;height:220px;display:grid}.observation-form-grid label,.observation-date-field{color:#1e293b;flex-direction:column;gap:15px;min-width:0;height:96px;font-size:20px;font-weight:700;line-height:24px;display:flex}.observation-form-grid label.wide{grid-column:1/-1}.observation-form-grid input,.observation-date-control>button{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:0;width:100%;height:57px;padding:0 16px;font-size:18px;font-weight:400;line-height:24px}.observation-form-grid input:focus,.observation-date-control>button:focus-visible{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.observation-form-grid input[type=number]{appearance:textfield}.observation-form-grid input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.observation-form-grid input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.observation-date-control{height:57px;position:relative}.observation-date-control>button{text-align:left;cursor:pointer;justify-content:space-between;align-items:center;display:flex}.observation-date-control>button svg{color:#334155;stroke-width:2px;width:24px;height:24px}.observation-calendar{z-index:50;color:#0f172a;background:#fff;border:1px solid #cbd5e1;border-radius:24px;width:420px;height:495px;padding:34px;position:absolute;top:66px;right:0;box-shadow:0 12px 24px #0f172a0f}.observation-calendar.placement-top{top:auto;bottom:calc(100% + 8px)}.observation-calendar>strong{letter-spacing:-.025em;font-size:24px;font-weight:700;line-height:32px;display:block}.observation-calendar-month{justify-content:space-between;align-items:center;height:32px;margin-top:18px;display:flex}.observation-calendar-month>b{color:#257ddb;font-size:16px;font-weight:600;line-height:24px}.observation-calendar-month>span{align-items:center;gap:8px;display:flex}.observation-calendar-month button{color:#257ddb;cursor:pointer;background:0 0;border:0;place-items:center;width:24px;height:32px;padding:0;display:grid}.observation-calendar-month button svg{stroke-width:2.5px;width:22px;height:22px}.observation-calendar-grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:44px;place-items:center;margin-top:18px;display:grid}.observation-calendar-grid>b{color:#111827;font-size:16px;font-weight:600}.observation-calendar-grid>button{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:50%;width:44px;height:44px;padding:0;font-size:16px;font-weight:600}.observation-calendar-grid>button.selected{color:#257ddb;background:#e2f1ff;border:1px solid #257ddb}.competency-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.competency-choice-grid button{color:#334155;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:11px;min-height:68px;padding:10px 14px;display:flex}.competency-choice-grid button.selected{background:#f4f9ff;border-color:#257ddb}.competency-choice-grid button>span{color:#fff;background:#257ddb;border-radius:8px;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.competency-choice-grid button>div{flex:1;min-width:0}.competency-choice-grid strong,.competency-choice-grid small{display:block}.competency-choice-grid small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:8px;overflow:hidden}.competency-choice-grid button>svg{color:#257ddb;width:17px}.competency-choice-grid>p{color:#64748b;grid-column:1/-1;margin:5px 0 0;font-size:9px}.competency-choice-grid>p strong{color:#257ddb;display:inline}.level-evaluation-list{flex-direction:column;gap:16px;height:auto;display:flex}.level-evaluation-list article{background:#f8fafc;border:1px solid #cbd5e1;border-radius:24px;height:202px;padding:24px}.level-evaluation-list article>div:first-child{align-items:center;gap:16px;height:44px;display:flex}.level-evaluation-list article>div:first-child>span{color:#334155;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex:none;place-items:center;width:44px;height:44px;display:grid}.level-evaluation-list article>div:first-child>span svg{stroke-width:1.8px;width:24px;height:24px}.level-evaluation-list article>div:first-child>strong{color:#1e293b;flex:1;min-width:0;font-size:24px;font-weight:700;line-height:32px}.level-evaluation-list article .workspace-status{border-radius:4px;min-height:29px;padding:5px 9px;font-size:14px;line-height:18px}.level-evaluation-list article>div:last-child{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;height:92px;margin-top:16px;display:grid}.level-evaluation-list article>div:last-child button{cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;min-width:0;height:92px}.level-evaluation-list article>div:last-child button.selected{color:#fff;background:#1e293b;border-color:#1e293b}.level-evaluation-list button strong,.level-evaluation-list button small{display:block}.level-evaluation-list button strong{font-size:24px;font-weight:700;line-height:32px}.level-evaluation-list button small{color:#94a3b8;margin-top:0;font-size:18px;font-weight:500;line-height:24px}.level-evaluation-list button.selected small{color:#94a3b8}.tag-selection{height:119px}.custom-tag{gap:16px;height:57px;margin:0;display:flex}.custom-tag input{color:#334155;background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:0;flex:1;min-width:0;height:57px;padding:0 16px;font-size:18px;font-weight:400}.custom-tag input::placeholder{color:#94a3b8}.custom-tag input:focus{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.custom-tag .soft-button{background:#0f172a;border-radius:16px;width:100px;min-height:57px;padding:0;font-size:16px}.selected-observation-tags{flex-wrap:wrap;gap:16px;min-height:38px;margin-top:24px;display:flex}.selected-observation-tags button{color:#257ddb;cursor:pointer;background:#e2f1ff;border:1px solid #c6e3ff;border-radius:19px;align-items:center;gap:8px;height:38px;padding:0 14px 0 16px;font-size:16px;font-weight:500;line-height:1;display:inline-flex}.selected-observation-tags button svg{stroke-width:2.2px;width:18px;height:18px}.comment-editor textarea{resize:none;color:#334155;border:1px solid #cbd5e1;border-radius:10px;outline:0;width:100%;height:180px;padding:15px;line-height:1.7}.comment-editor textarea:focus{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.comment-editor>div{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.comment-editor>div>span{color:#94a3b8;font-size:9px}.photo-uploader{gap:12px;display:flex}.photo-uploader>button,.photo-placeholder{color:#94a3b8;background:#f8fafc;border:1px dashed #94a3b8;border-radius:12px;place-content:center;justify-items:center;width:130px;height:130px;display:grid}.photo-uploader>button{cursor:pointer}.photo-uploader>button span,.photo-uploader>button small{margin-top:6px;font-size:9px;display:block}.photo-uploader>button small{font-size:7px}.photo-placeholder{color:#257ddb;background:#e2f1ff;border-style:solid;border-color:#86c5f7;position:relative}.photo-placeholder>svg{width:34px;height:34px}.photo-placeholder button{color:#fff;background:#1e293b;border:0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:7px;right:7px}.photo-placeholder button svg{width:13px}.observation-review{grid-template-columns:240px 1fr;gap:20px;display:grid}.review-student{background:#f4f9ff;border-radius:12px;align-items:center;gap:11px;padding:18px;display:flex}.review-student strong,.review-student span{display:block}.review-student span{color:#64748b;margin-top:5px;font-size:8px;line-height:1.5}.observation-review dl{gap:8px;margin:0;display:grid}.observation-review dl div{background:#f8fafc;border-radius:8px;grid-template-columns:100px 1fr;gap:10px;padding:10px 12px;display:grid}.observation-review dt{color:#64748b;font-size:9px}.observation-review dd{color:#1e293b;margin:0;font-size:9px}.observation-step-actions{justify-content:space-between;height:48px;margin-top:52px;display:flex}.observation-step-actions .soft-button{border-radius:16px;width:160px;min-height:48px;padding:0;font-size:16px;font-weight:700;line-height:1}.observation-step-actions .soft-button.secondary{color:#334155;background:#f1f5f9;border:0}.observation-step-actions .soft-button:disabled{color:#cbd5e1;opacity:1;background:#f1f5f9}.soft-button.observation-draft-button{border-radius:16px;align-self:center;width:351px;min-height:46px;padding:0;font-size:16px;color:#64748b!important;background:0 0!important;border:1px solid #cbd5e1!important}.observation-draft-button svg{width:22px;height:22px}.observation-complete{text-align:center;place-content:center;justify-items:center;min-height:440px;display:grid}.observation-complete>span{color:#16a36a;background:#ebfbf0;border-radius:50%;place-items:center;width:62px;height:62px;display:grid}.observation-complete>span svg{width:34px;height:34px}.observation-complete h3{margin:20px 0 12px;font-size:18px}.observation-complete>strong{color:#257ddb}.observation-complete>p{color:#94a3b8;margin:8px 0 20px;font-size:9px}.observation-complete>div{gap:10px;display:flex}.app-shell .page-stack.observation-drafts-page{width:100%;max-width:1335px}.workspace-page.observation-drafts-page{gap:43px}.observation-drafts-page .drafts-page-header{border-radius:24px;height:126px;min-height:126px;padding:24px 32px}.observation-drafts-page .drafts-page-header h2{font-size:32px;line-height:40px}.observation-drafts-page .drafts-page-header p{margin-top:2px;font-size:16px;line-height:24px}.observation-drafts-page .drafts-card{border-radius:24px;flex-direction:column;min-height:445px;padding:34px;display:flex}.observation-drafts-page .drafts-card>.workspace-empty{flex:1;min-height:0}.draft-list{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:122px;gap:24px;display:grid}.draft-choice{color:#334155;text-align:left;min-width:0;height:122px;font:inherit;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:0;align-items:center;gap:18px;padding:24px 28px;transition:background-color .15s,border-color .15s,box-shadow .15s;display:flex}.draft-choice:hover{background:#f8fbff;border-color:#86c5f7}.draft-choice.selected{background:#f4f9ff;border-color:#257ddb}.draft-choice:focus-visible{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.draft-choice .person-avatar{aspect-ratio:1;border-radius:50%;flex:0 0 64px;width:64px;min-width:64px;max-width:64px;height:64px;min-height:64px;max-height:64px;font-size:16px;overflow:hidden}.draft-choice>span{flex:1;min-width:0}.draft-choice strong,.draft-choice small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.draft-choice strong{color:#0f172a;font-size:24px;font-weight:700;line-height:32px}.draft-choice small{color:#94a3b8;font-size:18px;font-weight:500;line-height:24px}.draft-resume-button{color:#fff;width:379px;height:55px;min-height:55px;font:inherit;cursor:pointer;background:#257ddb;border:0;border-radius:16px;place-items:center;margin:auto auto 0;font-size:16px;font-weight:700;line-height:1;display:grid}.draft-resume-button:hover:not(:disabled){background:#1d68bf}.draft-resume-button:focus-visible{outline-offset:2px;outline:3px solid #c6e3ff}.draft-resume-button:disabled{color:#cbd5e1;cursor:default;background:#f1f5f9}.report-review-page{gap:18px;min-width:0}.report-review-heading{align-items:center;min-height:88px}.report-review-heading h2{margin-bottom:8px;font-size:32px;line-height:1.3}.report-review-heading p{font-size:16px;line-height:1.5}.report-review-heading .report-final-button{border-radius:13px;min-height:46px;padding:0 18px;font-size:14px}.report-final-button>svg{stroke-width:2.2px;border:1.5px solid;border-radius:50%;width:20px;height:20px;padding:3px}.report-empty-layout{border-radius:24px;place-items:center;min-height:clamp(520px,100svh - 280px,760px);display:grid}.report-empty-layout .workspace-empty{width:100%;min-height:100%}.report-review-layout{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px;min-width:0;display:grid}.report-preview-panel,.report-editor-panel{border-radius:24px;min-width:0;height:clamp(680px,100svh - 252px,820px);overflow:hidden}.report-preview-panel>header,.report-editor-panel>header{border-bottom:1px solid #cbd5e1;justify-content:space-between;align-items:center;gap:16px;padding:31px 31px 23px;display:flex}.report-preview-header,.report-editor-header{height:97px}.report-preview-panel h3,.report-editor-panel h3{color:#0f172a;letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;line-height:1.4;display:flex}.report-preview-panel h3 svg,.report-editor-panel h3 svg{color:#257ddb;stroke-width:2px;width:24px;height:24px}.audience-switch{background:#f1f5f9;border-radius:16px;flex:0 0 258px;grid-template-columns:123px 1fr;align-items:center;width:258px;height:56px;padding:8px;display:grid}.audience-switch button{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:40px;padding:0 10px;font-size:16px;font-weight:500;line-height:1;display:flex}.audience-switch button svg{stroke-width:1.7px;width:24px;height:24px}.audience-switch button.active{color:#257ddb;background:#fff;font-weight:700}.report-preview-panel{flex-direction:column;display:flex}.report-preview-body{scrollbar-gutter:stable;flex:1;min-height:0;padding:28px 31px 30px;overflow-y:auto}.report-preview-body>h4{color:#000;letter-spacing:-.02em;margin:0;font-size:16px;font-weight:700;line-height:24px}.report-preview-body>p{color:#94a3b8;margin:6px 0 24px;font-size:14px;line-height:20px}.report-summary-box{background:#f4f9ff;border:1px solid #e2f1ff;border-radius:12px;min-height:124px;padding:14px}.report-summary-box strong{color:#257ddb;align-items:center;gap:8px;font-size:16px;font-weight:700;line-height:24px;display:flex}.report-summary-box strong svg{stroke-width:1.8px;width:24px;height:24px}.report-summary-box p{color:#334155;margin:8px 0 0;font-size:14px;font-weight:400;line-height:24px}.report-radar{aspect-ratio:436/334;width:436px;max-width:100%;height:auto;margin:24px auto 0;display:block;overflow:visible}.report-radar .radar-ring,.report-radar .radar-axis{fill:none;stroke:#dbe4ee;stroke-width:1.6px}.report-radar .radar-value{fill:#257ddb6b;stroke:#257ddb;stroke-width:2px}.report-radar .radar-point{fill:#76b5f4;stroke:#257ddb;stroke-width:1.6px}.report-radar text{fill:#475569;letter-spacing:-.01em;font-family:inherit;font-size:16px;font-weight:700}.radar-caption{color:#257ddb;background:#f4f9ff;border-radius:17px;justify-content:center;align-items:center;width:135px;height:34px;margin:16px auto 0;font-size:12px;font-weight:500;line-height:1;display:flex}.radar-caption i{background:#257ddb;border-radius:50%;width:10px;height:10px;margin-right:8px;display:inline-block}.report-chart-empty{color:#94a3b8;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;place-content:center;justify-items:center;gap:10px;min-height:180px;margin-top:16px;font-size:12px;display:grid}.report-chart-empty svg{width:30px;height:30px}.report-editor-panel{flex-direction:column;display:flex}.report-regenerate-button{width:156px;color:#257ddb!important;background:#f4f9ff!important;border-color:#257ddb!important;border-radius:12px!important;min-height:42px!important;padding:0 13px!important;font-size:14px!important}.report-regenerate-button svg{stroke-width:2px;width:20px;height:20px}.report-editor-body{scrollbar-gutter:stable;flex-direction:column;flex:1;gap:28px;min-height:0;padding:28px 31px 10px;display:flex;overflow-y:auto}.report-editor-body label{flex-direction:column;flex:1;min-height:0;display:flex}.report-editor-body label>span{color:#000;align-items:center;gap:8px;height:24px;margin-bottom:9px;font-size:15px;font-weight:700;line-height:24px;display:flex}.report-editor-body label>span svg{stroke-width:1.8px;width:24px;height:24px}.report-editor-body textarea{color:#334155;width:100%;font:inherit;letter-spacing:-.01em;resize:none;background:#fff;border:1px solid #cbd5e1;border-radius:13px;outline:0;flex:1;min-height:148px;padding:12px 14px;font-size:14px;font-weight:400;line-height:22px}.report-editor-body textarea:focus{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.report-editor-body textarea:disabled{color:#64748b;background:#f8fafc}.report-editor-actions{min-height:82px;padding:10px 31px 31px}.report-save-publish-button{width:100%;border-radius:12px!important;min-height:52px!important;font-size:15px!important}.report-save-publish-button svg{width:20px;height:20px}body:has(.report-review-page) .toast-viewport{width:min(480px,100vw - 48px);bottom:max(24px,11.3svh);right:max(24px,3.4375vw)}body:has(.report-review-page) .app-toast{min-height:80px;padding:18px 28px}@media (min-width:1101px){.app-shell:has(.report-review-page) .page-content{padding:16px 28px}.report-review-page{gap:14px}.report-review-heading{min-height:78px}.report-review-heading h2{margin-bottom:5px;font-size:28px}.report-review-heading p{font-size:14px}.report-review-heading .report-final-button{border-radius:13px;min-height:44px;margin-top:0;font-size:13px}.report-review-layout{gap:18px}.report-preview-panel,.report-editor-panel{border-radius:20px;height:clamp(650px,100svh - 238px,790px)}.report-preview-panel>header,.report-editor-panel>header{gap:12px;padding:0 23px}.report-preview-header,.report-editor-header{height:82px}.report-preview-panel h3,.report-editor-panel h3{gap:8px;font-size:18px}.report-preview-panel h3 svg,.report-editor-panel h3 svg{width:21px;height:21px}.audience-switch{border-radius:13px;flex-basis:210px;grid-template-columns:1fr 1fr;width:210px;height:46px;padding:6px}.audience-switch button{border-radius:7px;gap:6px;height:34px;padding-inline:6px;font-size:13px}.audience-switch button svg{width:19px;height:19px}.report-preview-body{padding:18px 23px 22px}.report-preview-body>h4{font-size:15px;line-height:22px}.report-preview-body>p{margin:4px 0 14px;font-size:12px;line-height:18px}.report-summary-box{min-height:104px;padding:12px}.report-summary-box strong{gap:6px;font-size:14px;line-height:20px}.report-summary-box strong svg{width:20px;height:20px}.report-summary-box p{margin-top:6px;font-size:12px;line-height:19px}.report-radar{width:400px;margin-top:16px}.report-radar text{font-size:15px}.radar-caption{width:125px;height:30px;margin-top:10px;font-size:11px}.radar-caption i{width:8px;height:8px;margin-right:7px}.report-regenerate-button{width:144px;min-height:38px!important;font-size:13px!important}.report-editor-body{gap:22px;padding:22px 23px 8px}.report-editor-body label>span{height:22px;margin-bottom:7px;font-size:13px;line-height:22px}.report-editor-body label>span svg{width:21px;height:21px}.report-editor-body textarea{border-radius:12px;min-height:130px;padding:12px;font-size:13px;line-height:20px}.report-editor-actions{min-height:76px;padding:8px 23px 23px}.report-save-publish-button{min-height:48px!important}}@media (max-width:1250px){.report-review-layout{grid-template-columns:1fr}.report-preview-panel,.report-editor-panel{height:auto;min-height:680px}.report-preview-body,.report-editor-body{overflow:visible}}@media (max-width:820px){.report-review-heading{min-height:0}.report-review-heading .report-final-button{width:100%;margin-top:0}.report-preview-panel,.report-editor-panel{height:auto;min-height:0}.report-preview-panel>header,.report-editor-panel>header{flex-wrap:wrap;height:auto;min-height:100px;padding:18px 20px}.audience-switch{flex-basis:100%;grid-template-columns:1fr 1fr;width:100%}.report-preview-body{padding:24px 20px}.report-radar{aspect-ratio:436/334;width:min(436px,100%);height:auto}.report-editor-body{padding-left:20px;padding-right:20px}.report-editor-actions{padding:16px 20px 20px}.report-editor-actions .soft-button{flex:1}}.settings-card{min-height:620px}.competency-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.competency-settings-grid article{border:1px solid #cbd5e1;border-radius:11px;grid-template-columns:40px minmax(0,1fr) 72px 32px;align-items:center;gap:10px;min-height:86px;padding:13px;display:grid}.competency-settings-grid article>span{color:#fff;background:#257ddb;border-radius:8px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.competency-settings-grid article strong,.competency-settings-grid article small{display:block}.competency-settings-grid article strong{font-size:10px}.competency-settings-grid article small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:8px;overflow:hidden}.competency-settings-grid select{border:1px solid #cbd5e1;border-radius:8px;height:34px;padding:0 8px}.competency-settings-grid button{color:#64748b;background:#f1f5f9;border:0;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.competency-settings-grid button svg{width:14px}.policy-settings{flex-direction:column;gap:12px;display:flex}.policy-settings .section-copy{margin-bottom:6px}.policy-settings>label{border:1px solid #dbe4ee;border-radius:11px;align-items:center;gap:20px;min-height:80px;padding:15px 18px;display:flex}.policy-settings>label>span{flex:1}.policy-settings strong,.policy-settings small{display:block}.policy-settings strong{font-size:11px}.policy-settings small{color:#94a3b8;margin-top:5px;font-size:8px}.policy-settings input{accent-color:#257ddb;width:19px;height:19px}.setting-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.setting-summary-grid article{background:#f8fafc;border:1px solid #dbe4ee;border-radius:12px;flex-direction:column;align-items:flex-start;min-height:170px;padding:20px;display:flex}.setting-summary-grid article>svg{color:#257ddb;background:#e2f1ff;border-radius:10px;width:38px;height:38px;padding:9px}.setting-summary-grid article>span{color:#64748b;margin-top:18px;font-size:9px}.setting-summary-grid article>strong{color:#0f172a;margin:5px 0 12px;font-size:22px}.users-page{gap:24px;min-width:0}.admin-page-heading{min-height:90px}.admin-page-heading h2{font-size:32px}.admin-page-heading p{font-size:16px;line-height:1.5}.admin-heading-actions{align-items:center;gap:12px;display:flex}.admin-source-switch{padding:4px}.admin-source-switch button{min-height:36px;padding-inline:12px}.admin-create-button{border-radius:15px;gap:9px;font-size:14px;min-height:52px!important;padding-inline:18px!important}.admin-create-button svg{border:1.5px solid;border-radius:50%;width:20px;height:20px;padding:2px}.admin-management-grid{grid-template-columns:minmax(390px,.615fr) minmax(0,1fr);gap:24px;min-width:0;height:clamp(590px,100svh - 224px,812px);display:grid}.admin-account-card,.permission-matrix-card{border-radius:24px;min-width:0;min-height:0;overflow:hidden}.admin-account-card{flex-direction:column;display:flex}.admin-card-heading{justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:0 32px;display:flex}.admin-card-heading h3{color:#1e293b;margin:0;font-size:18px}.admin-card-heading>span{color:var(--primary);font-size:14px}.admin-account-filters{grid-template-columns:minmax(0,1fr) 120px;gap:12px;margin-right:7px;padding:0 32px 20px;display:grid}.admin-account-search{background:#f1f5f9;border-radius:12px;align-items:center;gap:10px;height:41px;padding:0 16px;display:flex}.admin-account-search svg{color:#94a3b8;width:20px}.admin-account-search input{color:#1e293b;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:14px}.admin-account-search input::placeholder{color:#94a3b8}.admin-role-filter{color:#334155;gap:0;min-width:0}.admin-role-filter .soft-dropdown-trigger{border-radius:12px;justify-content:flex-start;gap:8px;min-height:41px;padding:0 11px 0 13px;font-size:14px}.admin-role-filter .soft-dropdown-trigger svg{width:16px;margin-left:0}.admin-role-filter .soft-dropdown-menu{width:max(100%,196px);left:auto;right:0}.admin-account-list{scrollbar-gutter:stable;overscroll-behavior:contain;flex-direction:column;flex:1;gap:14px;min-height:0;padding:0 32px 24px;display:flex;overflow-y:auto}.admin-account-list::-webkit-scrollbar{width:7px;height:7px}.permission-table-scroll::-webkit-scrollbar{width:7px;height:7px}.admin-account-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.permission-table-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.admin-account-list::-webkit-scrollbar-track{background:0 0}.permission-table-scroll::-webkit-scrollbar-track{background:0 0}.admin-account-item{border:1px solid #cbd5e1;border-radius:16px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:80px;padding:12px 16px;display:grid;position:relative}.admin-account-item:hover{background:#f8fafc;border-color:#86c5f7}.admin-list-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;place-items:center;width:48px;height:48px;font-size:14px;font-weight:700;display:grid}.admin-account-copy{min-width:0}.admin-account-copy>div{align-items:center;gap:8px;min-width:0;display:flex}.admin-account-copy strong,.admin-name-link{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;min-width:0;font-size:14px;font-weight:700;overflow:hidden}.admin-account-copy strong em,.admin-name-link em{font-style:normal;font-weight:700}.admin-name-link:hover{color:var(--primary);text-underline-offset:3px;text-decoration:underline}.admin-account-copy .soft-badge{border:1px solid #dbeafe;border-radius:5px;flex:none;min-height:20px;padding-inline:7px;font-size:10px}.admin-account-copy .soft-badge.info{color:#257ddb;background:#f4f9ff}.admin-account-copy>span{color:#64748b;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:14px;display:block;overflow:hidden}.admin-account-side{flex-direction:column;align-items:flex-end;gap:7px;min-width:86px;display:flex}.admin-account-side>strong{color:var(--primary);font-size:12px}.admin-account-side>strong.inactive{color:var(--danger)}.admin-account-side time{color:#94a3b8;font-size:12px}.admin-account-actions{opacity:0;gap:2px;transition:opacity .16s;display:flex;position:absolute;bottom:5px;right:10px}.admin-account-item:hover .admin-account-actions,.admin-account-item:focus-within .admin-account-actions{opacity:1}.admin-account-actions button{color:#64748b;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:25px;height:25px;padding:0;display:grid}.admin-account-actions button:hover{color:#257ddb;background:#e2f1ff}.admin-account-actions button.danger:hover{color:#ef4444;background:#ffeded}.admin-account-actions button:disabled{opacity:.3;cursor:default}.admin-account-actions svg{width:14px;height:14px}.admin-account-empty{color:#94a3b8;text-align:center;place-content:center;justify-items:center;min-height:220px;display:grid}.admin-account-empty svg{width:30px;height:30px;margin-bottom:10px}.admin-account-empty strong{color:#475569;font-size:12px}.admin-account-empty span{margin-top:5px;font-size:10px}.admin-account-skeleton{border:1px solid #e2e8f0;border-radius:16px;align-items:center;gap:12px;min-height:80px;padding:14px 16px;display:flex}.admin-account-skeleton i{background:#e2e8f0;border-radius:50%;width:48px;height:48px}.admin-account-skeleton span{background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0) 0 0/200%;border-radius:6px;width:60%;height:20px;animation:1.3s infinite shimmer}.admin-account-load-more{color:#64748b;justify-content:center;align-items:center;gap:10px;min-height:52px;font-size:12px;display:flex}.admin-account-load-more .spinner{width:20px;height:20px}.admin-account-load-sentinel:empty{min-height:1px}.permission-matrix-card{flex-direction:column;display:flex}.permission-heading{min-height:106px}.permission-heading h3{font-size:20px}.permission-heading p{color:#94a3b8;margin:8px 0 0;font-size:14px}.permission-save-button{color:#fff;background:var(--primary);cursor:pointer;border:0;border-radius:12px;width:60px;height:42px;font-size:14px;font-weight:700}.permission-save-button:hover{background:var(--primary-dark)}.permission-table-scroll{overscroll-behavior:contain;flex:1;min-width:0;min-height:0;margin:0 32px 24px;overflow:hidden auto}.permission-table{table-layout:fixed;border-collapse:collapse;width:100%;min-width:0}.permission-table th{z-index:1;color:#64748b;text-align:center;white-space:nowrap;background:#f1f5f9;border-bottom:1px solid #cbd5e1;height:51px;padding:0 13px;font-size:14px;position:sticky;top:0}.permission-table th:first-child,.permission-table td:first-child{text-align:left;width:48px}.permission-table th:nth-child(2),.permission-table td:nth-child(2){text-align:left;width:46%}.permission-table td{color:#262626;text-align:center;border-bottom:1px solid #cbd5e1;height:57px;padding:0 13px;font-size:14px}.permission-table td:first-child{color:#257ddb;font-weight:700}.permission-check{border:1px solid #94a3b8;border-radius:2px;place-items:center;width:18px;height:18px;display:inline-grid}.permission-check.allowed{color:#fff;background:#257ddb;border-color:#257ddb}.permission-check svg{stroke-width:2.4px;width:13px;height:13px}.permission-checkbox{accent-color:#257ddb;cursor:pointer;width:18px;height:18px}.permission-checkbox:disabled{accent-color:#94a3b8;cursor:not-allowed;filter:grayscale()}.permission-heading .permission-save{color:#257ddb;background:#e0f2fe;min-height:34px;padding:0 16px}.account-settings-tabs{gap:8px;margin-bottom:20px;display:flex}.modal-backdrop:has(.admin-modal){-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f172a66}.admin-modal{border:1px solid #cbd5e1;border-radius:24px;width:min(730px,100%);box-shadow:0 24px 70px #0f172a29}.admin-modal .modal-header{border-bottom:0;align-items:flex-start;min-height:62px;padding:33px 32px 0}.admin-modal .modal-header h2{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:24px}.admin-modal .modal-header p{margin-top:8px;font-size:14px}.admin-modal .modal-header .icon-button{color:#94a3b8;width:32px;height:32px;margin-top:-2px}.admin-modal .modal-header .icon-button svg{stroke-width:2.3px;width:25px;height:25px}.admin-modal .modal-body{padding:28px 32px 0}.admin-modal .modal-footer{background:#fff;border-top:0;border-radius:0 0 24px 24px;grid-template-columns:1fr 1fr;gap:16px;padding:32px;display:grid}.admin-modal .modal-footer .soft-button{border:0;border-radius:16px;width:100%;min-height:52px;font-size:14px}.admin-modal .modal-footer .soft-button.secondary{background:#f1f5f9}.admin-account-modal .modal-footer .soft-button.primary:disabled{color:#94a3b8;opacity:1;background:#e2e8f0}.admin-account-modal{width:min(730px,100vw - 32px,102dvh)}.admin-modal .field{color:#0f172a;gap:13px;font-size:16px}.admin-modal .field-error{margin-top:-7px;font-size:13px;line-height:1.4}.admin-modal .field input,.admin-modal .field select,.admin-modal .soft-dropdown-trigger{border-radius:16px;min-height:56px;padding-inline:15px;font-size:16px}.admin-modal .soft-dropdown-menu{border-radius:16px;top:calc(100% + 8px)}.admin-modal .soft-dropdown-menu>button{min-height:56px;padding-inline:16px;font-size:16px}.admin-modal .user-form .form-grid{grid-template-columns:1fr;gap:26px}.admin-account-credentials{grid-template-columns:1fr;gap:12px;display:grid}.admin-issuance-note{color:#bd5e09;background:#fff6e9;border:1px solid #ffe0ad;border-radius:16px;align-items:center;gap:10px;min-height:56px;margin:20px 0 0;padding:12px 16px;font-size:14px;line-height:1.45;display:flex}.admin-issuance-note svg{flex:none;width:20px;height:20px}.admin-modal .switch-field{border-radius:14px;min-height:64px;margin-top:26px;padding:12px 16px}.admin-modal .switch-field span strong{font-size:14px}.admin-modal .switch-field span small{margin-top:5px;font-size:12px}.admin-compact-modal{width:min(620px,100%)}.admin-compact-modal .modal-body{padding-bottom:0}.admin-compact-modal .form-help{margin-top:16px;font-size:13px}.admin-compact-modal .confirm-copy p{font-size:14px}.student-assignment-page{gap:24px;min-width:0}.student-assignment-card{border-radius:24px;flex-direction:column;min-width:0;height:clamp(620px,100svh - 268px,812px);display:flex;overflow:hidden}.student-assignment-heading{justify-content:space-between;align-items:center;gap:20px;min-height:76px;padding:0 32px;display:flex}.student-assignment-heading h3{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:18px;overflow:hidden}.student-assignment-heading h3 span{font-weight:700}.student-assignment-heading>span{color:var(--primary);flex:none;font-size:14px}.student-assignment-toolbar{grid-template-columns:minmax(0,1fr) 291px;gap:24px;padding:0 32px 20px;display:grid}.student-assignment-search{border:1px solid var(--primary);background:#fff;border-radius:12px;align-items:center;gap:10px;min-width:0;height:41px;padding:0 16px;display:flex}.student-assignment-search svg{width:22px;height:22px;color:var(--primary)}.student-assignment-search input{color:#1e293b;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:16px}.student-assignment-search input::placeholder{color:#94a3b8}.student-assignment-add{font-size:14px;border-radius:12px!important;min-height:41px!important}.student-assignment-grid{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:80px;align-content:start;gap:14px 24px;min-height:0;padding:0 32px 30px;display:grid;overflow-y:auto}.student-assignment-grid::-webkit-scrollbar{width:7px}.assignment-confirmation-list::-webkit-scrollbar{width:7px}.student-assignment-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.assignment-confirmation-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.student-assignment-item{color:#1e293b;text-align:left;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:16px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;height:80px;padding:12px 16px;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.student-assignment-item:not(.assigned):hover{background:#f8fbff;border-color:#86c5f7;transform:translateY(-1px)}.student-assignment-item.assigned{cursor:default;background:#f4f9ff;border-color:#2589ee}.student-assignment-item.selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary), 0 4px 12px #257ddb1a;background:#fff}.student-assignment-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;place-items:center;width:48px;height:48px;font-size:14px;font-weight:700;display:grid}.student-assignment-copy,.student-assignment-meta{flex-direction:column;min-width:0;display:flex}.student-assignment-copy{gap:6px}.student-assignment-copy strong{color:#0f172a;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-assignment-copy small{color:#64748b;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:400;overflow:hidden}.student-assignment-meta{align-items:flex-end;gap:10px}.student-assignment-meta strong{color:var(--primary);font-size:12px}.student-assignment-meta time{color:#8ba0bc;white-space:nowrap;font-size:12px}.student-selection-check{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:18px;height:18px;display:grid;position:absolute;top:6px;right:7px}.student-selection-check svg{stroke-width:2.5px;width:12px;height:12px}.student-assignment-item.selected .student-assignment-meta{padding-right:12px}.student-assignment-empty{color:#94a3b8;text-align:center;flex:1;place-content:center;justify-items:center;min-height:280px;display:grid}.student-assignment-empty svg{width:32px;height:32px;margin-bottom:12px}.student-assignment-empty strong{color:#475569;font-size:14px}.student-assignment-empty span{margin-top:7px;font-size:12px}.modal-backdrop:has(.student-assignment-modal){-webkit-backdrop-filter:none;backdrop-filter:none;background:#0f172a66}.student-assignment-modal{border:1px solid #cbd5e1;border-radius:24px;width:min(620px,100%);box-shadow:0 24px 70px #0f172a29}.student-assignment-modal .modal-header{border-bottom:0;padding:30px 32px 20px}.student-assignment-modal .modal-header h2{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:24px}.student-assignment-modal .modal-header p{margin-top:8px;font-size:14px}.student-assignment-modal .modal-body{padding:0 32px}.student-assignment-modal .modal-footer{background:#fff;border-top:0;border-radius:0 0 24px 24px;grid-template-columns:1fr 1fr;gap:16px;padding:26px 32px 32px;display:grid}.student-assignment-modal .modal-footer .soft-button{border-radius:16px;min-height:52px}.assignment-confirmation-summary{color:#164780;background:#f4f9ff;border:1px solid #c6e3ff;border-radius:16px;align-items:center;gap:12px;min-height:70px;padding:12px 16px;display:flex}.assignment-confirmation-summary>span{width:40px;height:40px;color:var(--primary);background:#e2f1ff;border-radius:12px;flex:none;place-items:center;display:grid}.assignment-confirmation-summary p{margin:0;font-size:14px}.assignment-confirmation-list{flex-direction:column;gap:8px;max-height:264px;margin-top:14px;display:flex;overflow-y:auto}.assignment-confirmation-list>div{border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:8px 12px;display:grid}.assignment-confirmation-list>div>span{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;place-items:center;width:38px;height:38px;font-size:12px;font-weight:700;display:grid}.assignment-confirmation-list p{min-width:0;margin:0}.assignment-confirmation-list p strong,.assignment-confirmation-list p small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.assignment-confirmation-list p strong{color:#0f172a;font-size:13px}.assignment-confirmation-list p small{color:#64748b;margin-top:4px;font-size:11px}.assignment-confirmation-list b{color:var(--primary);font-size:12px}@media (min-width:821px){.admin-modal{width:min(650px,100%);max-height:calc(100dvh - 24px)}.admin-modal.admin-account-modal{width:min(730px,100vw - 48px,76dvh)}.admin-modal .modal-header{min-height:54px;padding:23px 28px 0}.admin-modal .modal-header h2{font-size:22px}.admin-modal .modal-body{padding:18px 28px 0}.admin-modal .user-form .form-grid{gap:16px}.admin-modal .field{gap:8px;font-size:14px}.admin-modal .field-error{margin-top:-3px;font-size:12px}.admin-modal .field input,.admin-modal .field select,.admin-modal .soft-dropdown-trigger{border-radius:14px;min-height:48px;font-size:14px}.admin-modal .soft-dropdown-menu>button{min-height:48px;font-size:14px}.admin-modal .admin-issuance-note{border-radius:14px;min-height:48px;margin-top:16px;padding-block:10px;font-size:13px}.admin-modal .switch-field{min-height:56px;margin-top:16px;padding-block:10px}.admin-modal .modal-footer{gap:12px;padding:20px 28px}.admin-modal .modal-footer .soft-button{border-radius:14px;min-height:48px}.student-edit-modal .modal-footer{grid-template-columns:repeat(3,minmax(0,1fr))}.agreement-modal{border-radius:18px;width:min(650px,100%)}.agreement-modal .modal-header{padding:22px 24px 0}.agreement-modal .modal-header h2{gap:9px;font-size:20px}.agreement-modal .modal-header .icon-button{width:34px;height:34px;top:20px;right:24px}.agreement-modal .modal-header .icon-button svg{width:21px;height:21px}.agreement-modal .modal-body{padding:20px 24px 24px}.agreement-copy{border-radius:12px;padding:14px}.agreement-copy strong{margin-bottom:7px;font-size:14px}.agreement-copy p{margin-bottom:16px;font-size:14px;line-height:1.65}.agreement-modal-actions{gap:16px;margin-top:20px}.agreement-modal-actions>span{font-size:12px}.agreement-modal-actions .soft-button{border-radius:12px;min-width:120px;min-height:42px;font-size:12px}.student-assignment-modal{border-radius:18px}.student-assignment-modal .modal-header{padding:22px 24px 14px}.student-assignment-modal .modal-header h2{font-size:20px}.student-assignment-modal .modal-header p{margin-top:5px;font-size:12px}.student-assignment-modal .modal-body{padding:0 24px}.student-assignment-modal .modal-footer{border-radius:0 0 18px 18px;gap:12px;padding:18px 24px 22px}.student-assignment-modal .modal-footer .soft-button{border-radius:12px;min-height:42px}.assignment-confirmation-summary{border-radius:12px;min-height:58px;padding:10px 12px}.assignment-confirmation-summary>span{border-radius:10px;width:36px;height:36px}.assignment-confirmation-summary p{font-size:13px}.assignment-confirmation-list{gap:6px;max-height:232px;margin-top:10px}.assignment-confirmation-list>div{grid-template-columns:34px minmax(0,1fr) auto;min-height:50px;padding:6px 10px}.assignment-confirmation-list>div>span{width:34px;height:34px}.date-range-calendar{border-radius:18px;width:360px;padding:24px}.date-range-calendar h4{font-size:20px}.date-range-calendar-month{height:52px}.date-range-calendar-month>strong{font-size:13px}.date-range-calendar-weekdays{height:34px;font-size:12px}.date-range-calendar-days{grid-auto-rows:40px}.date-range-calendar-days>span,.date-range-calendar-days button{width:38px;height:38px;font-size:12px}.observation-calendar{border-radius:18px;width:360px;height:420px;padding:24px;top:48px}.observation-calendar>strong{font-size:20px;line-height:26px}.observation-calendar-month{height:28px;margin-top:14px}.observation-calendar-month>b{font-size:13px;line-height:18px}.observation-calendar-month button{height:28px}.observation-calendar-month button svg{width:18px;height:18px}.observation-calendar-grid{grid-auto-rows:36px;margin-top:14px}.observation-calendar-grid>b,.observation-calendar-grid>button{font-size:12px}.observation-calendar-grid>button{width:36px;height:36px}}.user-table-card{overflow:hidden}.table-toolbar{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:15px;min-height:71px;padding:15px 19px;display:flex}.table-search{align-items:center;gap:8px;width:min(440px,100%);display:flex}.table-search>svg{color:#94a3b8;width:18px;margin-left:5px}.table-search input{height:37px;color:var(--ink);border:0;outline:0;flex:1;padding:0 4px}.table-search input::placeholder{color:#94a3b8}.table-count{color:var(--muted);font-size:11px}.table-count strong{color:var(--primary)}.table-scroll{overflow-x:auto}.soft-table{border-collapse:collapse;width:100%;min-width:950px}.soft-table th{text-align:left;color:#64748b;background:#f8fafc;border-bottom:1px solid #e2e8f0;height:45px;padding:0 18px;font-size:10px;font-weight:700}.soft-table td{vertical-align:middle;border-bottom:1px solid #e2e8f0;height:65px;padding:8px 18px}.soft-table tbody tr:hover{background:#f8fafc}.soft-table th:last-child,.soft-table td:last-child{text-align:right}.user-cell{align-items:center;gap:11px;min-width:210px;display:flex}.table-avatar{border-radius:9px;width:32px;height:32px;font-size:11px}.user-cell strong,.user-cell small,.stacked-cell strong,.stacked-cell small{display:block}.user-cell strong,.stacked-cell strong{font-size:11px}.user-cell small,.stacked-cell small{color:#94a3b8;white-space:nowrap;text-overflow:ellipsis;max-width:220px;margin-top:3px;font-size:9px;overflow:hidden}.date-cell{color:#64748b;font-size:10px}.row-actions{justify-content:flex-end;gap:4px;display:flex}.row-actions button{color:#64748b;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.row-actions button:hover{color:var(--primary);background:#e2f1ff}.row-actions button.danger:hover{color:var(--danger);background:#ffeded}.row-actions button:disabled{opacity:.25;cursor:default;color:#64748b;background:0 0}.row-actions svg{width:16px;height:16px}.empty-table{min-height:260px;color:var(--muted);place-content:center;justify-items:center;display:grid}.empty-table svg{color:#94a3b8;width:31px;height:31px;margin-bottom:10px}.empty-table strong{color:#475569;font-size:12px}.empty-table span{margin-top:5px;font-size:10px}.table-skeleton td{height:65px}.table-skeleton span{background:linear-gradient(90deg,#e2e8f0,#f8fafc,#e2e8f0) 0 0/200%;border-radius:6px;height:18px;animation:1.3s infinite shimmer;display:block}.table-pagination{min-height:58px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 19px;font-size:10px;display:flex}.table-pagination>div{align-items:center;gap:7px;display:flex}.table-pagination button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:7px;place-items:center;width:29px;height:29px;padding:0;display:grid}.table-pagination button:disabled{opacity:.35;cursor:default}.table-pagination button svg{width:15px}.table-pagination strong{color:#fff;background:var(--primary);border-radius:7px;place-items:center;min-width:25px;height:25px;font-size:10px;display:grid}.user-form .form-grid{grid-template-columns:1fr 1fr;gap:17px;display:grid}.switch-field{border:1px solid var(--line);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;margin-top:20px;padding:13px 14px;display:flex;position:relative}.switch-field span strong,.switch-field span small{display:block}.switch-field span strong{font-size:11px}.switch-field span small{color:var(--muted);margin-top:3px;font-size:9px}.switch-field input{opacity:0;position:absolute}.switch-field i{background:#cbd5e1;border-radius:20px;width:38px;height:21px;padding:3px;transition:all .16s}.switch-field i:after{content:"";background:#fff;border-radius:50%;width:15px;height:15px;transition:all .16s;display:block;box-shadow:0 2px 5px #00000026}.switch-field input:checked+i{background:var(--primary)}.switch-field input:checked+i:after{transform:translate(17px)}.form-help{color:#64748b;margin:13px 0 0;font-size:10px}.confirm-copy{align-items:center;gap:16px;display:flex}.confirm-icon{color:#ae5707;background:#fff6e9;border-radius:13px;place-items:center;width:48px;height:48px;display:grid}.confirm-copy p{color:#64748b;margin:0;font-size:12px;line-height:1.7}.confirm-copy p strong{color:var(--ink)}.login-page{background:var(--brand-gradient);grid-template-columns:53.65% 46.35%;width:100%;height:100svh;min-height:620px;display:grid;overflow:hidden}.login-showcase{color:#fff;flex-direction:column;height:100svh;min-height:620px;padding:clamp(32px,10.2vh,110px) clamp(36px,7.3vw,140px) clamp(32px,10.2vh,110px) clamp(45px,9.9vw,190px);display:flex;overflow:hidden}.login-brand{z-index:1;position:relative}.login-brand strong{font-size:clamp(28px,3.5vh,38px)}.login-brand .brand-symbol{width:clamp(42px,5.9vh,64px);height:clamp(47px,6.4vh,69px)}.showcase-copy{margin-top:clamp(48px,17.1vh,185px)}.showcase-copy h1{letter-spacing:-.02em;margin:0 0 clamp(16px,3.5vh,38px);font-size:clamp(26px,3.33vh,36px);font-weight:700;line-height:1.4}.showcase-copy p{color:#ffffffeb;margin:0;font-size:clamp(13px,1.7vh,18px);line-height:1.65}.showcase-features{grid-template-columns:repeat(2,minmax(200px,1fr));gap:clamp(10px,1.5vh,16px) 18px;margin-top:clamp(20px,4.8vh,52px);display:grid}.showcase-features article{color:#0f172a;background:#f4f9fff2;border-radius:clamp(14px,2vh,22px);flex-direction:column;height:clamp(108px,15.5vh,168px);padding:clamp(14px,2.2vh,24px);display:flex}.showcase-features article>span{color:#fff;background:#257ddb;border-radius:8px;place-items:center;width:clamp(34px,4.1vh,44px);height:clamp(34px,4.1vh,44px);display:grid}.showcase-features article svg{width:clamp(17px,2vh,22px);height:clamp(17px,2vh,22px)}.showcase-features article img{width:24px;height:24px}.showcase-features article strong{letter-spacing:-.02em;margin-top:clamp(7px,1.5vh,17px);font-size:clamp(16px,1.85vh,20px);font-weight:700}.showcase-features article small{color:#94a3b8;margin-top:clamp(3px,.65vh,7px);font-size:clamp(9px,1.3vh,14px)}.login-panel{background:#fff;border-radius:24px 24px 0 0;justify-content:center;justify-self:start;align-items:flex-start;width:min(700px,36.46vw);height:calc(100svh - clamp(32px,10.2vh,110px));min-height:0;margin-top:clamp(32px,10.2vh,110px);padding:clamp(24px,4.4vh,48px) clamp(40px,6vw,115px);display:flex;overflow:hidden}.login-form{width:min(470px,100%);margin-top:clamp(24px,8.8vh,95px)}.mobile-brand{display:none}.login-form-head{text-align:center;margin-bottom:clamp(24px,5.37vh,58px)}.login-form-head h2{color:#000;letter-spacing:-.02em;margin:0 0 clamp(7px,1.1vh,12px);font-size:clamp(23px,3.33vh,36px);font-weight:700;line-height:1.2}.login-form-head h2 strong{color:var(--primary)}.login-form-head p{color:#64748b;margin:0;font-size:clamp(12px,1.67vh,18px);line-height:1.4}.login-form .inline-message{margin-bottom:18px}.login-fields{flex-direction:column;gap:16px;display:flex}.login-fields .field input{background:#fff;border-color:#cbd5e1;border-radius:14px;min-height:clamp(46px,5.3vh,57px);padding:0 16px;font-size:16px}.remember-login{color:#64748b;cursor:pointer;align-items:center;gap:9px;margin:clamp(11px,1.6vh,17px) 2px 0;font-size:clamp(13px,1.48vh,16px);display:inline-flex}.remember-login input{width:18px;height:18px;accent-color:var(--primary);margin:0}.remember-mobile-label,.login-mobile-actions{display:none}.login-submit{width:100%;margin-top:clamp(18px,2.7vh,29px);font-size:16px;min-height:clamp(46px,4.8vh,52px)!important}.login-submit:disabled{color:#cbd5e1;opacity:1;background:#f1f5f9}.login-help{color:#94a3b8;justify-content:center;align-items:center;gap:6px;margin:clamp(12px,2vh,22px) 0 0;font-size:10px;display:flex}.login-help svg{width:14px;height:14px;color:var(--primary)}.signup-stage{background:#dfe5ec;justify-content:center;width:100%;height:100dvh;min-height:560px;display:flex;overflow:auto}.signup-app{color:#1e292a;background:#fdfdfd;width:min(390px,100%);height:100%;min-height:700px;position:relative;overflow:hidden;box-shadow:0 0 36px #0f172a2e}.signup-flow,.signup-completion{width:100%;height:100%;min-height:700px;position:relative}.signup-header,.recovery-header{z-index:2;grid-template-columns:40px 1fr 40px;align-items:center;height:36px;display:grid;position:absolute;top:clamp(38px,8.53dvh,72px);left:16px;right:16px}.signup-header button,.recovery-header button{color:#334155;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;margin-left:-4px;display:grid}.signup-header button:hover,.recovery-header button:hover{background:#f1f5f8}.signup-header button svg,.recovery-header button svg{stroke-width:2px;width:25px;height:25px}.signup-header h1,.recovery-header h1{color:#000;text-align:center;letter-spacing:-.025em;margin:0;font-size:22px;font-weight:700;line-height:1}.signup-progress{border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;height:8px;margin:0;padding:0;list-style:none;display:grid;position:absolute;top:clamp(82px,14.93dvh,126px);left:16px;right:16px;overflow:hidden}.signup-progress li{background:#f4f9ff;height:8px}.signup-progress li:first-child{border-radius:8px 0 0 8px}.signup-progress li:last-child{border-radius:0 8px 8px 0}.signup-progress li.active:first-child{background:#c6e3ff}.signup-progress li.active:nth-child(2){background:#86c5f7}.signup-progress li.active:nth-child(3){background:#2596f0}.signup-step-title{color:#000;letter-spacing:-.025em;margin:0;font-size:24px;font-weight:700;line-height:1.42;position:absolute;top:clamp(135px,20.97dvh,177px);left:16px;right:16px}.signup-role-list{flex-direction:column;gap:16px;display:flex;position:absolute;top:clamp(225px,31.99dvh,270px);left:16px;right:16px}.signup-role-option{color:#257ddb;text-align:left;cursor:pointer;background:#fdfdfd;border:1px solid #cbd5e1;border-radius:24px;align-items:center;gap:15px;width:100%;height:100px;padding:0 16px 0 17px;transition:border-color .16s,background-color .16s;display:flex}.signup-role-option.selected{background:#f4f9ff;border-color:#257ddb}.signup-role-option>svg{stroke-width:1.75px;width:48px;height:48px}.signup-role-option>span{flex-direction:column;gap:8px;min-width:0;display:flex}.signup-role-option strong{color:#000;letter-spacing:-.02em;font-size:20px;font-weight:700;line-height:1.2}.signup-role-option small{color:#94a3b8;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;line-height:1.25;overflow:hidden}.signup-fields{flex-direction:column;gap:14px;display:flex;position:absolute;top:clamp(205px,31.52dvh,266px);left:16px;right:16px}.signup-fields .field{color:#1e292a;gap:20px;height:100px;font-size:16px;font-weight:700;line-height:24px;position:relative}.signup-fields .field>span{height:24px}.signup-fields .signup-input{color:#1e292a;letter-spacing:-.02em;background:#fdfdfd;border-color:#cbd5e1;border-radius:16px;height:56px;min-height:56px;padding:0 15px;font-size:18px;font-weight:400;line-height:1}.signup-fields .signup-input::placeholder{color:#94a3b8;opacity:1}.signup-fields .signup-input:focus{box-shadow:none;border-color:#257ddb}.signup-fields .signup-input.invalid{border-color:#ef4444}.signup-fields .field-error{color:#ef4444;white-space:nowrap;font-size:14px;font-weight:400;line-height:20px;position:absolute;top:106px;left:0}.signup-details-fields{gap:8px;top:clamp(205px,25.59dvh,216px)}.signup-details-fields .field{gap:8px;height:84px;font-size:14px;line-height:20px}.signup-details-fields .field>span{height:20px}.signup-details-fields .signup-input{height:52px;min-height:52px}.signup-details-fields .field-error{font-size:12px;line-height:16px;top:80px}.signup-code-field{gap:0}.signup-code-feedback{color:#891313;background:#ffeded;border:1px solid #ff9a9a;border-radius:16px;align-items:center;gap:12px;height:56px;padding:0 16px;font-size:14px;font-weight:500;line-height:1.3;display:flex;position:absolute;bottom:calc(clamp(24px,9.24dvh,78px) + 77px);left:16px;right:16px}.signup-code-feedback svg{color:#ef4444;stroke-width:1.8px;width:22px;height:22px}.signup-actions{grid-template-columns:1fr;gap:12px;display:grid;position:absolute;bottom:clamp(24px,9.24dvh,78px);left:16px;right:16px}.signup-actions.split{grid-template-columns:repeat(2,minmax(0,1fr))}.signup-actions .soft-button,.signup-completion>.soft-button{border-radius:16px;width:100%;min-height:52px;padding:0 16px;font-size:16px;font-weight:700;line-height:1}.signup-actions .soft-button:hover,.signup-completion>.soft-button:hover{transform:none}.signup-actions .soft-button.dark{background:#1e292a}.signup-actions .soft-button:disabled{color:#cbd5e1;opacity:1;background:#f1f5f8}.signup-completion-icon{color:#fff;background:linear-gradient(135deg,#2596f0,#4cd3c8);border-radius:50%;place-items:center;width:48px;height:48px;display:grid;position:absolute;top:clamp(158px,27.49dvh,232px);left:50%;transform:translate(-50%)}.signup-completion-icon svg{stroke-width:2.6px;width:28px;height:28px}.signup-completion-copy{text-align:center;position:absolute;top:clamp(232px,36.37dvh,307px);left:16px;right:16px}.signup-completion-copy h1{color:#000;letter-spacing:-.025em;margin:0;font-size:24px;font-weight:700;line-height:34px}.signup-completion-copy p{color:#94a3b8;letter-spacing:-.02em;margin:12px 0 0;font-size:16px;font-weight:500;line-height:24px}.signup-completion>.signup-main-button{width:auto;position:absolute;bottom:clamp(24px,9.24dvh,78px);left:16px;right:16px}.recovery-stage{background:#dfe5ec;justify-content:center;width:100%;min-height:100dvh;display:flex;overflow:auto}.recovery-app{color:#1e292a;background:#fdfdfd;width:min(390px,100%);height:100dvh;min-height:700px;position:relative;overflow:hidden;box-shadow:0 0 36px #0f172a2e}.recovery-form,.recovery-completion{width:100%;height:100%;position:relative}.recovery-form>h2{color:#000;letter-spacing:-.025em;margin:0;font-size:24px;font-weight:700;line-height:1.42;position:absolute;top:clamp(140px,18.6dvh,157px);left:16px;right:16px}.recovery-description{color:#64748b;letter-spacing:-.02em;margin:0;font-size:16px;line-height:24px;position:absolute;top:clamp(178px,23.58dvh,199px);left:16px;right:16px}.recovery-fields{flex-direction:column;gap:14px;display:flex;position:absolute;top:clamp(216px,27.13dvh,229px);left:16px;right:16px}.recovery-form:has(.recovery-description) .recovery-fields{top:clamp(246px,30.1dvh,254px)}.recovery-fields .field{color:#1e292a;gap:20px;height:100px;font-size:16px;font-weight:700;line-height:24px;position:relative}.recovery-fields .field>span{height:24px}.recovery-fields .field input{color:#1e292a;letter-spacing:-.02em;background:#fdfdfd;border-color:#cbd5e1;border-radius:16px;height:56px;min-height:56px;padding:0 15px;font-size:18px;font-weight:400}.recovery-fields .field input::placeholder{color:#94a3b8;opacity:1}.recovery-fields .field input:focus{box-shadow:none;border-color:#257ddb}.recovery-fields .field input.invalid{border-color:#ef4444}.recovery-fields .field-error{color:#ef4444;white-space:nowrap;font-size:14px;font-weight:400;line-height:20px;position:absolute;top:106px;left:0}.recovery-resend{color:#2ec8c0;margin:0;font-size:14px;line-height:20px;position:absolute;top:clamp(354px,43.25dvh,365px);left:16px;right:16px}.recovery-resend button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0}.recovery-resend button:disabled{opacity:.55}.recovery-development-code{color:#64748b;margin:0;font-size:12px;position:absolute;top:clamp(389px,47.75dvh,403px);left:16px;right:16px}.recovery-development-code strong{color:#257ddb;letter-spacing:.08em;margin-left:4px}.recovery-error{color:#891313;background:#ffeded;border:1px solid #ff8989;border-radius:16px;align-items:center;gap:11px;min-height:56px;padding:12px 16px;font-size:14px;font-weight:500;line-height:20px;display:flex;position:absolute;bottom:calc(clamp(24px,9.24dvh,78px) + 78px);left:16px;right:16px}.recovery-error svg{color:#ef4444;flex:none;width:22px;height:22px}.recovery-submit{border-radius:16px;padding:0 16px;font-size:16px;font-weight:700;position:absolute;bottom:clamp(24px,9.24dvh,78px);left:16px;right:16px;width:auto!important;min-height:52px!important}.recovery-submit:hover{transform:none}.recovery-submit:disabled{color:#cbd5e1;opacity:1;background:#f1f5f8}.recovery-completion{text-align:center;flex-direction:column;align-items:center;display:flex}.recovery-completion-icon{color:#2783df;background:#e2f1ff;border-radius:50%;place-items:center;width:110px;height:110px;display:grid;position:absolute;top:clamp(145px,26.54dvh,224px);left:50%;transform:translate(-50%)}.recovery-completion-icon.people img{width:72px;height:72px}.recovery-completion-icon.password>svg:first-child{stroke-width:1.8px;width:66px;height:66px}.recovery-completion-icon.password>svg:last-child{stroke-width:2.2px;width:29px;height:29px;position:absolute}.recovery-completion>h1{color:#000;letter-spacing:-.025em;margin:0;font-size:24px;line-height:34px;position:absolute;top:clamp(270px,41.11dvh,347px);left:16px;right:16px}.recovery-completion>p{color:#94a3b8;margin:0;font-size:16px;line-height:24px;position:absolute;top:clamp(314px,46.21dvh,390px);left:16px;right:16px}.recovery-login-id{text-align:left;grid-template-columns:76px minmax(0,1fr) 42px;align-items:center;height:56px;display:grid;position:absolute;top:clamp(370px,53.08dvh,448px);left:16px;right:16px}.recovery-login-id>strong{color:#1e292a;font-size:16px}.recovery-login-id>span{text-overflow:ellipsis;white-space:nowrap;border:1px solid #cbd5e1;border-right:0;border-radius:16px 0 0 16px;align-items:center;height:56px;padding:0 10px 0 15px;font-size:18px;display:flex;overflow:hidden}.recovery-login-id>button{cursor:pointer;background:0 0;border:1px solid #cbd5e1;border-left:0;border-radius:0 16px 16px 0;height:56px;padding:0;position:relative}.recovery-login-id>button i{border:2px solid #334155;border-radius:3px;width:18px;height:18px;position:absolute}.recovery-login-id>button i:first-child{top:16px;left:7px}.recovery-login-id>button i:last-child{background:#fdfdfd;top:21px;left:12px}@media (max-width:389px){.signup-role-option{gap:12px;padding-inline:14px}.signup-role-option>svg{width:44px;height:44px}.signup-role-option strong{font-size:18px}.signup-role-option small{font-size:12px}.signup-code-feedback{gap:9px;padding-inline:13px;font-size:13px}}@media (max-height:700px){.signup-actions,.signup-completion>.signup-main-button{bottom:24px}.signup-code-feedback{bottom:101px}.recovery-submit{bottom:24px}.recovery-error{bottom:102px}}@media (max-width:820px){.signup-stage{background:#fdfdfd}.signup-app{max-width:none;box-shadow:none}.recovery-stage{background:#fdfdfd}.recovery-app{max-width:none;box-shadow:none}}.boundary-page{background:linear-gradient(145deg,#f4f9ff,#f0fcfb);place-content:center;justify-items:center;min-height:100vh;padding:35px;display:grid}.boundary-brand{position:absolute;top:32px;left:40px}.boundary-brand .brand-symbol{width:38px;height:38px}.boundary-brand strong{font-size:22px}.boundary-card{text-align:center;border:1px solid var(--line);width:min(560px,100vw - 40px);box-shadow:var(--shadow);background:#fff;border-radius:20px;flex-direction:column;align-items:center;padding:48px 45px;display:flex}.boundary-icon{width:62px;height:62px;color:var(--primary);background:#e2f1ff;border-radius:18px;place-items:center;margin-bottom:22px;display:grid}.boundary-icon.warning{color:#ae5707;background:#fff6e9}.boundary-icon svg{width:28px;height:28px}.boundary-card h1{letter-spacing:-.02em;margin:12px 0;font-size:24px}.boundary-card>p{max-width:410px;color:var(--muted);margin:0 0 28px;font-size:12px;line-height:1.7}.boundary-page>small{color:#94a3b8;margin-top:18px;font-size:9px}.error-number{color:#c6e3ff;letter-spacing:-.06em;margin-bottom:8px;font-size:76px;line-height:1}.mobile-role-stage{background:#dfe5ec;justify-content:center;width:100%;height:100dvh;min-height:0;display:flex;overflow:hidden}.mobile-role-app{background:#f1f5f9;flex-direction:column;width:min(390px,100%);max-width:390px;height:100%;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 0 36px #0f172a2e}.mobile-role-header{z-index:20;min-height:calc(68px + env(safe-area-inset-top));padding:max(10px, env(safe-area-inset-top)) 16px 10px;background:#fff;flex:none;justify-content:space-between;align-items:center;display:flex;position:relative}.mobile-role-header .brand-logo{color:#102a4c;gap:10px}.mobile-role-header .brand-symbol{width:31px;height:35px}.mobile-role-header .brand-logo strong{letter-spacing:.025em;font-size:22px}.mobile-title-header{min-height:calc(118px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 16px 0;justify-content:center}.mobile-title-header h1{color:#000;letter-spacing:-.025em;margin:0;font-size:20px;font-weight:800;line-height:56px}.mobile-bell{color:#102a4c;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid;position:relative}.mobile-bell:hover{background:#f1f5f9}.mobile-bell svg{width:22px;height:22px}.mobile-bell i{background:#ef4444;border:2px solid #fff;border-radius:50%;width:9px;height:9px;position:absolute;top:7px;right:7px}.mobile-notification{z-index:5;top:calc(58px + env(safe-area-inset-top));background:#fff;border:1px solid #d9e3ef;border-radius:13px;width:min(310px,100vw - 32px);max-height:min(430px,100dvh - 150px);padding:8px;position:absolute;right:16px;overflow:hidden;box-shadow:0 16px 36px #0f172a29}.mobile-notification>header{border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:5px 7px 9px;display:flex}.mobile-notification>header strong{color:#17233b;font-size:14px}.mobile-notification>header span{color:#2784e6;font-size:10px;font-weight:700}.mobile-notification-list{max-height:350px;padding-top:4px;overflow-y:auto}.mobile-notification-list button{color:#17233b;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #edf1f6;flex-direction:column;align-items:flex-start;gap:4px;width:100%;min-height:79px;padding:10px 55px 10px 10px;display:flex;position:relative}.mobile-notification-list button:last-child{border-bottom:0}.mobile-notification-list button:hover{background:#f4f9ff;border-radius:8px}.mobile-notification-list button.unread:before{content:"";background:#2784e6;border-radius:50%;width:5px;height:5px;position:absolute;top:15px;left:0}.mobile-notification-list button.read{opacity:.68}.mobile-notification-list strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.mobile-notification-list span{color:#657791;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:10px;line-height:1.45;display:-webkit-box;overflow:hidden}.mobile-notification-list time{color:#94a3b8;font-size:9px;position:absolute;top:11px;right:8px}.mobile-notification-state{color:#7d8ca4;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:116px;padding:18px;font-size:11px;display:flex}.mobile-notification-state>svg,.mobile-notification-state .spinner{width:24px;height:24px}.mobile-notification-state.error{color:#b42318}.mobile-role-main{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;width:100%;min-height:0;overflow:hidden auto}.mobile-role-main.standalone{background:#fdfdfd}.mobile-bottom-nav{z-index:20;width:100%;min-height:calc(78px + env(safe-area-inset-bottom));padding:9px 14px max(9px, env(safe-area-inset-bottom));background:#fff;border-top:1px solid #edf1f6;flex:none;grid-template-columns:repeat(4,1fr);align-items:start;display:grid;position:relative}.mobile-bottom-nav.parent{grid-template-columns:repeat(5,1fr)}.mobile-bottom-nav a{color:#9aacc4;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:55px;font-size:12px;font-weight:500;display:flex}.mobile-bottom-nav a svg{width:23px;height:23px}.mobile-bottom-nav-icon{background:currentColor;flex:0 0 24px;width:24px;height:24px;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mobile-bottom-nav a.active{color:#2681e4;font-weight:700}.mobile-screen{color:#172033;min-height:100%;padding:14px 16px 26px}.mobile-screen h1,.mobile-screen h2,.mobile-screen h3,.mobile-screen p{margin-top:0}.mobile-white-card{background:#fff;border:1px solid #dce5ef;border-radius:16px}.mobile-summary-card{color:#fff;background:linear-gradient(105deg,#2697ed,#4bd0c7);border-radius:16px;padding:16px 14px 18px;overflow:hidden}.mobile-summary-card>span,.mobile-summary-card>div>span{align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.mobile-summary-card span svg{width:17px;height:17px}.mobile-summary-card h1{letter-spacing:-.025em;margin:13px 0 8px;font-size:19px;line-height:1.55}.mobile-summary-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-bottom:0;font-size:12px;line-height:1.75;display:-webkit-box;overflow:hidden}.mobile-section{margin-top:20px}.mobile-section>h2,.mobile-section-head h2{letter-spacing:-.025em;margin-bottom:12px;font-size:18px}.mobile-section>h2{align-items:center;gap:7px;display:flex}.mobile-section>h2 svg{color:#2784e6;width:22px}.student-home-screen .mobile-white-card{padding:16px}.mobile-competency-badge-card{place-items:center;min-height:116px;padding:14px;display:grid}.mobile-badge-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;display:grid}.mobile-competency-badge{text-align:center;background:#f8fafc;border:1px solid #dce5ef;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-width:0;min-height:88px;padding:10px 5px;display:flex}.mobile-competency-badge>.mobile-competency-level{color:#257ddb;font-size:13px;font-weight:800;line-height:1}.mobile-competency-title{align-items:center;gap:8px;width:100%;display:flex}.mobile-competency-title em{color:#657791;background:#f6f8fb;border:1px solid #dce5ef;border-radius:5px;margin-left:auto;padding:4px 7px;font-size:11px;font-style:normal;font-weight:700}.parent-home-screen{padding:0 16px 24px}.mobile-parent-child-picker{scrollbar-width:none;background:#fff;align-items:flex-start;gap:16px;width:auto;height:140px;margin:0 -16px 16px;padding:16px 20px 14px;display:flex;overflow:auto hidden}.mobile-parent-child-picker::-webkit-scrollbar{display:none}.mobile-parent-child-picker>button,.mobile-parent-child-picker>a{color:#111827;width:70px;min-width:70px;font:inherit;text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;padding:0;display:flex}.mobile-parent-child-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border:1px solid #0000;border-radius:50%;flex:0 0 56px;place-items:center;width:56px;height:56px;font-size:16px;font-weight:800;display:grid}.mobile-parent-child-picker>button.active .mobile-parent-child-avatar{color:#176cbc;background:#f4f9ff;border:2px solid #2784e6}.mobile-parent-child-picker strong,.mobile-parent-child-picker small{text-overflow:ellipsis;white-space:nowrap;width:100%;line-height:1.25;overflow:hidden}.mobile-parent-child-picker strong{margin-top:8px;font-size:14px;font-weight:700}.mobile-parent-child-picker small{color:#8192aa;margin-top:5px;font-size:12px}.mobile-parent-child-picker>button.active strong{color:#2784e6}.mobile-parent-child-picker>a .mobile-parent-child-avatar{color:#8fa2ba;background:#fff;border-color:#dce5ef}.mobile-parent-child-picker>a .mobile-parent-child-avatar svg{stroke-width:1.6px;width:30px;height:30px}.mobile-parent-child-picker>a strong{color:#8fa2ba}.mobile-parent-child-loading{color:#8192aa;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:70px;min-width:70px;height:92px;font-size:10px;display:flex}.mobile-parent-child-loading .spinner{width:28px;height:28px}.parent-summary{flex-direction:column;height:245px;min-height:245px;padding:14px;display:flex}.parent-summary h1{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:14px 0 10px;font-size:18px;line-height:1.45;display:-webkit-box;overflow:hidden}.parent-summary p{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:12px;line-height:1.75;display:-webkit-box;overflow:hidden}.parent-summary>a{color:#fff;background:#267fde;border-radius:12px;justify-content:center;align-items:center;min-height:42px;margin-top:auto;font-size:14px;font-weight:700;display:flex}.parent-home-screen .mobile-section{margin-top:22px}.parent-home-screen .mobile-section-head{min-height:24px;margin-bottom:12px}.parent-home-screen .mobile-section-head h2{margin:0;font-size:18px;line-height:24px}.parent-home-screen .mobile-section-head a{font-size:12px}.parent-home-screen .mobile-radar-card{place-items:center;width:100%;height:312px;min-height:312px;padding:16px 28px;display:grid}.parent-home-screen .mobile-radar.compact{width:100%}.parent-home-screen .mobile-radar.compact svg{width:300px;max-width:100%;height:229px;max-height:229px}.parent-home-screen .mobile-radar-legend{min-height:34px;margin:16px 0 0;padding:0 18px}.mobile-section-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-section-head a,.mobile-section-head>span{color:#2681e4;white-space:nowrap;align-items:center;font-size:11px;display:inline-flex}.mobile-section-head svg{width:14px;height:14px}.mobile-radar-card{padding:16px 8px 12px}.mobile-radar{flex-direction:column;align-items:center;display:flex}.mobile-radar svg{width:100%;height:auto;overflow:visible}.mobile-radar.compact svg{max-height:255px}.mobile-radar-ring,.mobile-radar-axis{fill:none;stroke:#dce5ef;stroke-width:1.2px}.mobile-radar-value{stroke:#347fe7;stroke-width:1.7px}.mobile-radar-point{fill:#72a8fa;stroke:#347fe7;stroke-width:1.3px}.mobile-radar-value+text{color:#52637a}.mobile-radar text{fill:#53627a;font-size:10px;font-weight:700}.mobile-radar-legend{color:#2580df;background:#f3f8fe;border-radius:18px;align-items:center;gap:8px;margin:-3px 0 1px;padding:8px 18px;font-size:11px;display:inline-flex}.mobile-radar-legend i{background:#2580df;border-radius:50%;width:9px;height:9px}.mobile-api-pending{color:#64748b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:160px;display:flex}.mobile-api-pending svg{color:#7fa7d7;width:28px;height:28px}.mobile-api-pending strong{color:#334155;font-size:12px}.mobile-api-pending span{font-size:10px}.mobile-recent-list{flex-direction:column;gap:12px;display:flex}.recent-moments article{height:130px;min-height:130px;padding:15px;overflow:hidden}.recent-moments article>div{border-bottom:1px solid #e5eaf1;justify-content:space-between;gap:8px;padding-bottom:10px;display:flex}.recent-moments strong{color:#2681e4;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.recent-moments time{color:#93a4bb;white-space:nowrap;font-size:10px}.recent-moments article p{color:#586981;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:11px 0 0;font-size:11px;line-height:1.65;display:-webkit-box;overflow:hidden}.recent-moments article.empty{place-items:center;display:grid}.recent-moments article.empty p{color:#8091a8;margin:0}.mobile-title-strip{color:#fff;background:#2e91e9;border-radius:7px;padding:13px 14px}.mobile-title-strip h1{margin-bottom:5px;font-size:17px}.mobile-title-strip p{margin-bottom:0;font-size:11px}.growth-title-strip{justify-content:space-between;align-items:center;gap:12px;display:flex}.growth-title-strip>div{min-width:0}.growth-title-strip button{color:#2784e6;cursor:pointer;background:#fff;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:6px;min-height:32px;padding:0 10px;font-size:10px;font-weight:800;display:inline-flex}.growth-title-strip button:disabled{opacity:.5;cursor:default}.growth-title-strip button svg{width:15px;height:15px}.growth-screen>.mobile-radar-card{margin-top:14px}.mobile-growth-state{place-items:center;min-height:320px;margin-top:14px;display:grid}.mobile-competency-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mobile-competency-card{background:#fff;border:1px solid #dce5ef;border-radius:15px;min-height:120px;padding:13px}.mobile-competency-card .mobile-competency-title strong{font-size:13px}.mobile-competency-card p{margin:11px 0 0;font-size:10.5px;line-height:1.55}@media (max-width:360px){.mobile-badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mobile-report-toolbar{background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) 32px auto;align-items:center;gap:8px;min-height:65px;padding:12px 14px;display:grid}.mobile-report-toolbar>div{min-width:0}.mobile-report-toolbar h1{color:#050505;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:16px;font-weight:800;line-height:1.35;overflow:hidden}.mobile-report-toolbar p{color:#91a2ba;text-overflow:ellipsis;white-space:nowrap;margin-bottom:0;font-size:10.5px;line-height:1.35;overflow:hidden}.mobile-report-toolbar button{color:#fff;white-space:nowrap;cursor:pointer;background:#1d293d;border:0;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:32px;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.mobile-report-toolbar button.share{background:#2784e6;width:32px;padding:0}.mobile-report-toolbar button:disabled{opacity:.45;cursor:default}.mobile-report-toolbar button svg{width:17px;height:17px}.mobile-action-message{color:#14735b;background:#e7f8f2;border:1px solid #b9eadc;border-radius:9px;align-items:center;gap:7px;margin:10px 0 -1px;padding:10px 12px;font-size:11px;display:flex}.mobile-action-message.error{color:#b42318;background:#fff0ef;border-color:#fac5c1}.mobile-action-message svg{width:16px;height:16px}.mobile-report-card{text-align:center;border:0;border-radius:16px;margin-top:14px;padding:16px 14px 14px}.mobile-report-card>header h2{color:#050505;letter-spacing:-.03em;margin-bottom:7px;font-size:18px;font-weight:800;line-height:1.35}.mobile-report-card>header h2 strong{color:#176cbc}.mobile-report-card>header p{color:#91a2ba;margin-bottom:18px;font-size:11.5px;line-height:1.4}.mobile-report-card>header p i{background:#cbd5e1;width:1px;height:12px;margin:0 4px -2px;display:inline-block}.mobile-report-card>.mobile-report-summary{text-align:left;background:#f3f8fe;border:1px solid #d1e5fa;border-radius:8px;flex-direction:column;justify-content:flex-start;min-height:166px;padding:14px;display:flex}.mobile-report-card>.mobile-report-summary h3{color:#2784e6;align-items:center;gap:7px;margin-bottom:12px;font-size:13px;line-height:1.4;display:flex}.mobile-report-card>.mobile-report-summary h3 svg{fill:currentColor;stroke-width:1.5px;flex:none;width:18px;height:18px}.mobile-report-card>.mobile-report-summary p{color:#111827;word-break:keep-all;margin-bottom:0;font-size:13px;line-height:1.65}.mobile-report-card .mobile-radar{margin-top:14px}.mobile-report-card .mobile-radar svg{max-height:250px}.mobile-report-card .mobile-radar-legend{margin-top:2px}.children-screen{padding-top:18px}.children-heading{padding:0}.children-heading h1{color:#000;letter-spacing:-.025em;margin-bottom:5px;font-size:18px}.children-heading p{color:#92a3ba;margin-bottom:14px;font-size:11px;line-height:1.45}.children-connections{padding:14px}.mobile-child-list{flex-direction:column;gap:8px;display:flex}.mobile-child-list article{background:#fff;border:1px solid #dce5ef;border-radius:15px;align-items:center;gap:10px;min-height:76px;padding:10px 12px;display:flex}.mobile-child-list article.selected{border-color:#2784e6;box-shadow:0 0 0 2px #257ddb0f}.mobile-child-select{width:100%;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.mobile-child-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:13px;font-weight:700;display:grid}.mobile-child-avatar svg{width:20px;height:20px}.mobile-child-list article>div,.mobile-child-select>div{flex:1;min-width:0}.mobile-child-list strong,.mobile-child-list small{display:block}.mobile-child-list strong{color:#111827;font-size:12px}.mobile-child-list strong em{color:#62748e;background:#f6f8fb;border:1px solid #dce5ef;border-radius:4px;margin-left:5px;padding:4px 6px;font-size:9px;font-style:normal}.mobile-child-list small{color:#111827;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px;overflow:hidden}.mobile-child-list b{color:#2681e4;white-space:nowrap;background:#f4f9ff;border-radius:5px;padding:6px 7px;font-size:9px}.mobile-child-list b.pending{color:#dd7b0a;background:#fff8eb}.mobile-child-list article.empty{color:#8192aa}.children-add-button{color:#fff;cursor:pointer;background:#2b82dd;border:0;border-radius:14px;justify-content:center;align-items:center;width:100%;min-height:50px;margin-top:14px;font-size:14px;font-weight:700;display:flex}.children-add-button svg{width:20px;height:20px}.children-add-button svg+svg{width:12px;margin-left:-10px;margin-right:6px}.mobile-consent-section{margin-top:24px}.mobile-consent-section>h2{color:#000;letter-spacing:-.025em;margin-bottom:14px;font-size:18px}.consent-card{padding:16px}.consent-child-field{color:#111827;flex-direction:column;gap:10px;font-size:13px;font-weight:700;display:flex}.consent-child-field>button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:0 13px;display:flex}.consent-child-field>button svg{color:#94a3b8;width:19px;height:19px;transform:rotate(90deg)}.consent-card fieldset{border:0;margin:18px 0 0;padding:0}.consent-card legend{color:#111827;margin-bottom:10px;font-size:13px;font-weight:700}.consent-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.consent-options>button{color:#334155;cursor:pointer;background:#fff;border:1px solid #dce5ef;border-radius:12px;justify-content:space-between;align-items:center;min-width:0;min-height:42px;padding:0 10px 0 13px;font-size:12px;font-weight:700;display:flex}.consent-options>button i{color:#fff;background:#d9e3ef;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.consent-options>button i svg{stroke-width:2.6px;width:15px;height:15px}.consent-options>button.active.consented{color:#14735b;background:#effcf6;border-color:#58df99}.consent-options>button.active.consented i{background:#22c777}.consent-options>button.active.denied{color:#475569;background:#f8fafc;border-color:#cbd5e1}.consent-options>button:disabled{cursor:default;opacity:.65}.consent-card>p{color:#dd7b0a;background:#fff8eb;border:1px solid #ffd798;border-radius:9px;align-items:flex-start;gap:9px;margin:16px 0 0;padding:11px 12px;font-size:10px;line-height:1.55;display:flex}.consent-card>p svg{flex:none;width:19px;height:19px}.mobile-sheet-backdrop{z-index:70;background:#0f172a6b;align-items:flex-end;display:flex;position:absolute;inset:0}.mobile-bottom-sheet{width:100%;min-height:min(500px,72dvh);padding:28px 16px calc(88px + env(safe-area-inset-bottom));color:#1e292a;background:#fff;border:1px solid #dce5ef;border-radius:24px 24px 0 0;position:relative;box-shadow:0 -20px 50px #0f172a1f}.mobile-bottom-sheet>header{justify-content:space-between;align-items:center;min-height:34px;display:flex}.mobile-bottom-sheet>header h2{color:#000;margin:0;font-size:18px}.mobile-bottom-sheet>header button{color:#475569;cursor:pointer;background:0 0;border:0;place-items:center;width:36px;height:36px;padding:0;display:grid}.mobile-bottom-sheet>header button svg{stroke-width:2.2px;width:25px;height:25px}.child-picker-options{flex-direction:column;gap:12px;margin-top:24px;display:flex}.child-picker-options>button{color:#1e292a;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce5ef;border-radius:12px;align-items:center;gap:6px;width:100%;min-height:48px;padding:0 13px;display:flex}.child-picker-options>button.active{background:#f4f9ff;border-color:#2784e6;box-shadow:0 0 0 1px #2784e6}.child-picker-options strong{font-size:14px}.child-picker-options span{color:#8192aa;font-size:12px}.mobile-bottom-sheet .sheet-submit{right:16px;bottom:max(28px,env(safe-area-inset-bottom));color:#fff;cursor:pointer;background:#2b82dd;border:0;border-radius:16px;width:auto;min-height:52px;font-size:16px;font-weight:700;position:absolute;left:16px}.mobile-bottom-sheet .sheet-submit:disabled{color:#cbd5e1;cursor:default;background:#f1f5f8}.child-code-sheet>input{color:#1e292a;width:100%;min-height:56px;font:inherit;background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:none;margin-top:26px;padding:0 15px;font-size:18px}.child-code-sheet>input:focus{border-color:#2784e6}.sheet-error{right:16px;bottom:calc(max(28px,env(safe-area-inset-bottom)) + 76px);color:#891313;background:#ffeded;border:1px solid #ff8989;border-radius:16px;align-items:center;gap:11px;min-height:56px;padding:12px 16px;font-size:14px;line-height:20px;display:flex;position:absolute;left:16px}.sheet-error svg{color:#ef4444;flex:none;width:22px;height:22px}.mobile-dialog-backdrop{z-index:60;background:#0f172a7a;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.mobile-dialog{text-align:center;background:#fff;border-radius:17px;width:100%;padding:26px 20px 20px;position:relative;box-shadow:0 24px 60px #0f172a38}.mobile-dialog>svg{color:#2784e6;width:34px;height:34px}.mobile-dialog .close{cursor:pointer;background:0 0;border:0;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:10px;right:10px}.mobile-dialog .close svg{width:18px}.mobile-dialog h2{margin:10px 0 5px;font-size:18px}.mobile-dialog p{color:#788ba4;font-size:11px}.mobile-dialog label{text-align:left;flex-direction:column;gap:7px;margin:18px 0 12px;font-size:11px;font-weight:700;display:flex}.mobile-dialog input{border:1px solid #cdd8e5;border-radius:9px;outline:none;min-height:44px;padding:0 12px}.mobile-dialog input:focus{border-color:#2784e6;box-shadow:0 0 0 3px #e4f1ff}.mobile-dialog>button[type=submit]{color:#fff;background:#2784e6;border:0;border-radius:9px;width:100%;min-height:44px;font-weight:700}.mobile-dialog>button:disabled{opacity:.45}.consent-confirm-dialog{padding:30px 22px 22px}.consent-confirm-dialog>svg{width:42px;height:42px}.consent-confirm-dialog h2{margin-top:14px;line-height:1.45}.consent-confirm-dialog>p{word-break:keep-all;margin:12px 0 20px;font-size:12px;line-height:1.65}.consent-confirm-dialog>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.consent-confirm-dialog>div button{color:#475569;cursor:pointer;background:#f1f5f8;border:0;border-radius:11px;min-height:44px;font-weight:700}.consent-confirm-dialog>div button:last-child{color:#fff;background:#2784e6}.consent-confirm-dialog>div button:disabled{opacity:.55}.mobile-account-dialog>p{margin-bottom:14px}.mobile-account-dialog .mobile-action-message{text-align:left;margin:0 0 12px}.mobile-account-dialog label{margin:10px 0 0}.mobile-account-dialog>button[type=submit]{margin-top:16px}.mobile-report-empty{flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:190px;display:flex}.mobile-report-empty>svg{color:#8fa4bd;width:34px;height:34px}.mobile-report-empty>p{color:#8091a8;margin:0;font-size:11px}@media print{.mobile-role-stage{background:#fff;height:auto;overflow:visible}.mobile-role-app{width:100%;max-width:none;height:auto;box-shadow:none;overflow:visible}.mobile-role-header,.mobile-bottom-nav,.mobile-report-toolbar,.mobile-action-message{display:none!important}.mobile-role-main{overflow:visible}.report-screen{background:#fff;padding:0}.mobile-report-card{break-inside:avoid;margin:0 auto}}.my-screen{background:#f1f5f8;padding:16px 16px 34px}.mobile-my-profile-card{color:#fff;background:linear-gradient(100deg,#2797ed 0%,#4bd1c7 100%);border-radius:16px;align-items:center;gap:12px;width:100%;min-height:76px;padding:10px 14px 10px 16px;display:flex}.mobile-my-profile-card>svg{stroke-width:2.3px;width:24px;height:24px;margin-left:auto}.mobile-profile-image{color:#fff;background:linear-gradient(145deg,#7fc8f8,#47cfc4);border-radius:50%;flex:0 0 48px;place-items:center;width:48px;height:48px;font-size:17px;font-weight:800;line-height:1;display:grid;position:relative}.mobile-profile-image.has-image{background:#fff;overflow:visible}.mobile-profile-image>img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.mobile-my-profile-copy{min-width:0;display:block}.mobile-my-profile-copy strong,.mobile-my-profile-copy small{display:block}.mobile-my-profile-copy strong{align-items:center;gap:7px;min-width:0;font-size:18px;line-height:1.4;display:flex}.mobile-my-profile-copy strong em{color:#2784e6;background:#fff;border-radius:4px;min-height:23px;padding:3px 7px;font-size:12px;font-style:normal;font-weight:700;line-height:17px}.mobile-my-profile-copy small{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-weight:400;line-height:1.35;overflow:hidden}.mobile-my-section{margin-top:22px}.mobile-my-section>h2{color:#000;letter-spacing:-.025em;margin:0 0 12px;font-size:18px;line-height:1.45}.mobile-my-list{background:#fdfdfd;border-radius:16px;padding:0 14px;overflow:hidden}.mobile-my-list button,.mobile-my-list label{color:#4f627d;text-align:left;background:0 0;border:0;border-bottom:1px solid #dce4ed;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0;font-size:16px;line-height:1.4;display:flex}.mobile-my-list button{cursor:pointer}.mobile-my-list button:last-child,.mobile-my-list label:last-child{border-bottom:0}.mobile-my-list button>svg{color:#9caec4;stroke-width:2.4px;width:23px;height:23px}.mobile-notification-settings input{appearance:none;cursor:pointer;background:#cbd5e1;border:0;border-radius:999px;flex:0 0 44px;width:44px;height:24px;margin:0;transition:background .18s;position:relative}.mobile-notification-settings input:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a38}.mobile-notification-settings input:checked{background:#2784e6}.mobile-notification-settings input:checked:after{transform:translate(20px)}.mobile-notification-settings input:disabled{opacity:.58;cursor:default}.mobile-account-actions{margin-top:20px}.mobile-account-actions button.danger{color:#ff3e46}.mobile-confirm-dialog>svg{color:#ef4444}.mobile-confirm-dialog>p{word-break:keep-all;margin:12px 0 20px;font-size:12px;line-height:1.6}.mobile-confirm-dialog>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.mobile-confirm-dialog>div button{color:#475569;cursor:pointer;background:#f1f5f8;border:0;border-radius:11px;min-height:44px;font-weight:700}.mobile-confirm-dialog>div button:last-child{color:#fff;background:#ef4444}.mobile-confirm-dialog>div button:disabled{opacity:.55}.mobile-profile-settings-screen{color:#1e292a;background:#fdfdfd;min-height:100%;position:relative}.mobile-standalone-header{background:#fdfdfd;grid-template-columns:44px 1fr 44px;align-items:center;min-height:118px;padding:62px 16px 0;display:grid;position:relative}.mobile-standalone-header>a{color:#334154;place-items:center;width:44px;height:56px;display:grid}.mobile-standalone-header>a svg{stroke-width:2.2px;width:24px;height:24px}.mobile-standalone-header h1{color:#000;text-align:center;letter-spacing:-.025em;grid-column:2;margin:0;font-size:20px}.mobile-profile-hero{background:#fdfdfd;flex-direction:column;align-items:center;height:190px;display:flex}.mobile-profile-hero .mobile-profile-image{border:2px solid #2784e6;flex-basis:80px;width:80px;height:80px;margin-top:10px;font-size:25px}.mobile-profile-image-edit{color:#fff;cursor:pointer;background:#2784e6;border-radius:50%;place-items:center;width:30px;height:30px;display:grid;position:absolute;bottom:-1px;right:-3px}.mobile-profile-image-edit svg{stroke-width:2px;width:17px;height:17px}.mobile-profile-image-edit .button-spinner{width:14px;height:14px}.mobile-profile-image-edit input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mobile-profile-hero>strong{color:#000;margin-top:16px;font-size:18px;line-height:1.3}.mobile-profile-hero>span{color:#2784e6;background:#f4f9ff;border:1px solid #e2f1ff;border-radius:4px;min-height:25px;margin-top:8px;padding:4px 8px;font-size:12px;font-weight:700;line-height:16px}.mobile-profile-fields{background:#fdfdfd;border-top:8px solid #f1f5f8;min-height:calc(100% - 308px);padding:25px 16px 32px}.mobile-profile-field+.mobile-profile-field{margin-top:22px}.mobile-profile-field>header{justify-content:space-between;align-items:center;min-height:28px;display:flex}.mobile-profile-field>header strong{color:#1e292a;font-size:18px}.mobile-profile-field>header button{color:#667a96;cursor:pointer;background:#f8fafc;border:1px solid #dce5ef;border-radius:5px;align-items:center;gap:4px;min-height:28px;padding:0 8px;font-size:12px;display:inline-flex}.mobile-profile-field>header button svg{width:15px;height:15px}.mobile-profile-field>input,.mobile-password-field{color:#1e292a;text-align:left;background:#fdfdfd;border:1px solid #cbd5e1;border-radius:16px;outline:none;width:100%;min-height:57px;margin-top:8px;padding:0 15px;font-size:18px}.mobile-profile-field>input:not([readonly]):focus{border-color:#2784e6;box-shadow:0 0 0 3px #e2f1ff}.mobile-password-field{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.mobile-password-field svg{color:#4f627d;width:23px;height:23px}.mobile-alert-screen{color:#1e292a;background:#f1f5f8;min-height:100%}.mobile-alert-header{background:#fdfdfd;place-items:center;height:120px;padding-top:62px;display:grid;position:relative}.mobile-alert-header h1{color:#000;letter-spacing:-.025em;margin:0;font-size:20px;line-height:58px}.mobile-alert-back{color:#334154;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:60px;height:58px;padding:0;display:grid;position:absolute;bottom:7px;left:4px}.mobile-alert-back:hover{background:#f8fafb}.mobile-alert-back svg{stroke-width:2px;width:28px;height:28px}.mobile-alert-toolbar{background:#fdfdfd;justify-content:space-between;align-items:center;height:60px;padding:0 16px;display:flex}.mobile-alert-toolbar>div{align-items:stretch;gap:3px;height:100%;display:flex}.mobile-alert-toolbar>div button{color:#9cacbf;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;min-width:63px;padding:16px 10px 13px;font-size:16px;font-weight:600;line-height:29px}.mobile-alert-toolbar>div button.active{color:#2784e6;border-bottom-color:#2784e6;font-weight:700}.mobile-read-all{color:#334154;cursor:pointer;background:#f1f5f8;border:0;border-radius:13px;min-height:36px;padding:0 14px;font-size:13px;font-weight:700}.mobile-read-all:disabled{color:#9cacbf;cursor:default}.mobile-alert-list{flex-direction:column;gap:12px;min-height:calc(100% - 180px);padding:16px;display:flex}.mobile-alert-card{color:#1e292a;text-align:left;cursor:pointer;background:#fdfdfd;border:1px solid #e2f1ff;border-radius:16px;width:100%;min-height:80px;padding:15px 52px 15px 64px;display:block;position:relative;box-shadow:0 10px 28px #257ddb09}.mobile-alert-card:disabled{cursor:default}.mobile-alert-card.read{color:#8793a1;opacity:.58;box-shadow:none;border-color:#0000}.mobile-alert-avatar{color:#164780;background:linear-gradient(145deg,#e2f1ff,#d8f7f4);border-radius:50%;place-items:center;width:40px;height:40px;font-size:13px;font-weight:800;display:grid;position:absolute;top:16px;left:16px}.mobile-alert-copy{display:block}.mobile-alert-copy strong{color:#000;font-size:16px;line-height:1.3;display:block}.mobile-alert-copy>span{word-break:keep-all;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:8px;font-size:14px;line-height:1.55;display:-webkit-box;overflow:hidden}.mobile-alert-card time{color:#9cacbf;font-size:12px;position:absolute;top:17px;right:14px}.mobile-alert-state{color:#8091a8;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:220px;font-size:12px;display:flex}.mobile-alert-state>svg{width:32px;height:32px}.mobile-alert-state>strong{color:#64748b;font-size:13px}@media (max-width:1280px){.topbar{padding-inline:30px}.page-content{padding-right:25px}.ga-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-class-card{grid-column:1/-1;margin-right:0}.assigned-students-panel{height:auto}.assigned-student-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-bottom:24px}.admin-management-grid{grid-template-columns:minmax(330px,.55fr) minmax(0,1fr)}.showcase-features article{min-height:0}.showcase-features article strong{font-size:16px}}@media (max-width:1100px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-lower-grid,.sa-dashboard-grid,.sa-dashboard-lower{grid-template-columns:1fr}.ga-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ga-class-card{grid-column:1/-1}.assigned-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-management-layout{grid-template-columns:1fr;height:auto}.student-selector-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-detail-panel{height:741px;min-height:600px}.consent-grid,.connection-grid,.audit-grid,.competency-settings-grid{grid-template-columns:1fr}.admin-management-grid{grid-template-columns:1fr;height:auto}.admin-account-card{min-height:560px}.permission-matrix-card{min-height:620px}.student-assignment-card{height:auto;min-height:620px}.student-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-page{grid-template-columns:48% 52%}.login-panel{width:100%}.login-showcase{padding-inline:45px}.showcase-features{grid-template-columns:1fr}.showcase-features article:nth-child(n+3){display:none}.showcase-copy h1{font-size:30px}.showcase-copy p{font-size:15px}}@media (max-width:820px){.topbar{height:70px;padding:0 18px}.topbar .brand-logo strong{font-size:21px}.topbar .brand-symbol{width:36px;height:36px}.topbar-notification{display:grid}.report-student-context{display:none}.mobile-menu{display:grid}.app-body{min-height:calc(100vh - 70px)}.sidebar{z-index:60;border-radius:0 22px 22px 0;width:286px;height:100vh;min-height:0;margin:0;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:20px 0 50px #0f172a33}.sidebar.open{transform:translate(0)}.sidebar-close{display:grid}.sidebar-scrim{z-index:55;background:#0f172a73;border:0;position:fixed;inset:0}.page-content{padding:28px 18px}.member-page .workspace-tabs{padding-inline:12px}.member-page .workspace-tab-panel{padding:26px 18px 28px}.student-assignment-toolbar{grid-template-columns:minmax(0,1fr) 210px;gap:14px}.workspace-card,.member-workspace-card,.record-control-card,.settings-card{min-height:0}.workspace-tabs{gap:20px;padding-inline:18px}.workspace-tab-panel{padding-inline:18px}.observation-flow-header{border-radius:14px}.login-page{background:#fff;height:auto;min-height:100dvh;display:block;overflow:visible}.login-showcase{display:none}.login-panel{border-radius:0;align-items:flex-start;width:100%;height:auto;min-height:100dvh;margin:0;padding:131px 16px 40px;overflow:visible}.login-form{width:min(357px,100%);margin:0 auto}.login-form.has-error{transform:translateY(-17px)}.mobile-brand{display:none}.login-form-head{text-align:center;margin-bottom:42px}.login-form-head h2{letter-spacing:-.025em;margin-bottom:8px;font-size:20px;line-height:1.3}.login-form-head p{color:#94a3b8;font-size:14px;line-height:1.45}.login-fields{gap:13px}.login-fields .field input{border-color:#cbd5e1;border-radius:16px;min-height:56px;padding:0 15px;font-size:16px}.login-fields .field input:focus{box-shadow:none;border-color:#257ddb}.remember-login{color:#64748b;gap:9px;min-height:20px;margin:14px 6px 0;font-size:14px;line-height:20px}.remember-login input{appearance:none;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:2px;flex:none;place-content:center;width:18px;height:18px;display:grid}.remember-login input:before{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transition:transform .12s;transform:translateY(-1px)rotate(-45deg)scale(0)}.remember-login input:checked{background:#2d86df;border-color:#2d86df}.remember-login input:checked:before{transform:translateY(-1px)rotate(-45deg)scale(1)}.remember-desktop-label{display:none}.remember-mobile-label{display:inline}.login-form .inline-message{color:#ef4444;background:0 0;border:0;border-radius:0;min-height:20px;margin:13px 0 0;padding:0;font-size:14px;line-height:20px}.login-form .inline-message svg{display:none}.login-submit{border-radius:16px;width:calc(100% + 1px);margin-top:35px;margin-left:-.5px;font-size:15px;min-height:52px!important}.login-mobile-actions{display:block}.login-account-links{color:#64748b;justify-content:center;align-items:center;gap:10px;min-height:18px;margin-top:24px;font-size:12px;line-height:18px;display:flex}.login-account-links button{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.login-account-links i{background:#94a3b8;width:1px;height:14px;display:block}.login-divider{color:#cbd5e1;align-items:center;gap:16px;height:20px;margin:36px 0 31px;font-size:15px;line-height:20px;display:flex}.login-divider:before,.login-divider:after{content:"";background:#cbd5e1;flex:1;height:1px}.login-divider span{flex:none}.login-provider-buttons{flex-direction:column;gap:13px;display:flex}.login-provider-button{color:#000;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-size:15px;font-weight:700;display:flex}.login-provider-button.kakao{background:#ffea2f;border-color:#ffea2f;width:calc(100% + 1px);margin-left:-.5px}.login-provider-icon{width:18px;height:18px}.login-provider-icon.kakao{width:21px;height:19px}.login-help{display:none}.mobile-role-stage{background:#f1f5f9}.mobile-role-app{width:100%;max-width:none;min-height:0;box-shadow:none}.mobile-role-header{height:auto;min-height:calc(68px + env(safe-area-inset-top));padding:max(10px, env(safe-area-inset-top)) 16px 10px}.mobile-bottom-nav{min-height:calc(78px + env(safe-area-inset-bottom));padding:9px 14px max(9px, env(safe-area-inset-bottom))}.system-login-page{background:#f1f5f9}.system-login-page .login-panel{align-items:center;min-height:100dvh;padding:40px 24px}.system-login-page .login-form{width:min(470px,100%);transform:none}.system-login-page .mobile-brand{width:fit-content;margin:0 auto 48px;display:flex}.system-login-page .mobile-brand strong{font-size:26px}.system-login-page .mobile-brand .brand-symbol{width:44px;height:44px}.system-login-page .login-form-head{margin-bottom:42px}.system-login-page .login-form-head h2{font-size:24px}.system-login-page .login-form-head p{font-size:13px}.system-login-page .login-fields{gap:16px}.system-login-page .login-fields .field input{border-radius:12px;min-height:50px}.system-login-page .remember-login{margin:14px 2px 0}.system-login-page .remember-login input{appearance:auto;accent-color:var(--primary)}.system-login-page .remember-login input:before{content:none}.system-login-page .remember-desktop-label{display:inline}.system-login-page .remember-mobile-label{display:none}.system-login-page .login-form .inline-message{color:#891313;background:#ffeded;border:1px solid #ffc4c4;border-radius:10px;min-height:44px;margin:14px 0 0;padding:10px 13px;font-size:13px;line-height:1.4}.system-login-page .login-form .inline-message svg{display:block}.system-login-page .login-submit{border-radius:10px;width:100%;margin:24px 0 0;min-height:50px!important}.system-login-page .login-mobile-actions{display:none}.system-login-page .login-help{display:flex}}@media (min-width:821px){.mobile-login-page{background:#fff;justify-content:center;height:auto;min-height:100dvh;display:flex;overflow:auto}.mobile-login-page .login-showcase{display:none}.mobile-login-page .login-panel{border-radius:0;justify-self:auto;align-items:flex-start;width:100%;height:auto;min-height:100dvh;margin:0;padding:131px 16px 40px;overflow:visible}.mobile-login-page .login-form{width:357px;margin:0 auto}.mobile-login-page .login-form.has-error{transform:translateY(-17px)}.mobile-login-page .mobile-brand{display:none}.mobile-login-page .login-form-head{text-align:center;margin-bottom:42px}.mobile-login-page .login-form-head h2{letter-spacing:-.025em;margin-bottom:8px;font-size:20px;line-height:1.3}.mobile-login-page .login-form-head p{color:#94a3b8;font-size:14px;line-height:1.45}.mobile-login-page .login-fields{gap:13px}.mobile-login-page .login-fields .field input{border-color:#cbd5e1;border-radius:16px;min-height:56px;padding:0 15px;font-size:16px}.mobile-login-page .login-fields .field input:focus{box-shadow:none;border-color:#257ddb}.mobile-login-page .remember-login{color:#64748b;gap:9px;min-height:20px;margin:14px 6px 0;font-size:14px;line-height:20px}.mobile-login-page .remember-login input{appearance:none;cursor:pointer;background:#fff;border:1px solid #94a3b8;border-radius:2px;flex:none;place-content:center;width:18px;height:18px;display:grid}.mobile-login-page .remember-login input:before{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transition:transform .12s;transform:translateY(-1px)rotate(-45deg)scale(0)}.mobile-login-page .remember-login input:checked{background:#2d86df;border-color:#2d86df}.mobile-login-page .remember-login input:checked:before{transform:translateY(-1px)rotate(-45deg)scale(1)}.mobile-login-page .remember-desktop-label{display:none}.mobile-login-page .remember-mobile-label{display:inline}.mobile-login-page .login-form .inline-message{color:#ef4444;background:0 0;border:0;border-radius:0;min-height:20px;margin:13px 0 0;padding:0;font-size:14px;line-height:20px}.mobile-login-page .login-form .inline-message svg{display:none}.mobile-login-page .login-submit{border-radius:16px;width:358px;margin:35px 0 0 -.5px;font-size:15px;min-height:52px!important}.mobile-login-page .login-mobile-actions{display:block}.mobile-login-page .login-account-links{color:#64748b;justify-content:center;align-items:center;gap:10px;min-height:18px;margin-top:24px;font-size:12px;line-height:18px;display:flex}.mobile-login-page .login-account-links button{color:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:0}.mobile-login-page .login-account-links i{background:#94a3b8;width:1px;height:14px;display:block}.mobile-login-page .login-divider{color:#cbd5e1;align-items:center;gap:16px;height:20px;margin:36px 0 31px;font-size:15px;line-height:20px;display:flex}.mobile-login-page .login-divider:before,.mobile-login-page .login-divider:after{content:"";background:#cbd5e1;flex:1;height:1px}.mobile-login-page .login-divider span{flex:none}.mobile-login-page .login-provider-buttons{flex-direction:column;gap:13px;display:flex}.mobile-login-page .login-provider-button{color:#000;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:16px;justify-content:center;align-items:center;gap:10px;width:357px;min-height:52px;font-size:15px;font-weight:700;display:flex}.mobile-login-page .login-provider-button.kakao{background:#ffea2f;border-color:#ffea2f;width:358px;margin-left:-.5px}.mobile-login-page .login-provider-icon{width:18px;height:18px}.mobile-login-page .login-provider-icon.kakao{width:21px;height:19px}.mobile-login-page .login-help{display:none}}@media (max-width:1024px){.mobile-role-stage{background:#f1f5f9}.mobile-role-app{width:100%;max-width:none;box-shadow:none}}@media (min-width:1025px){.mobile-login-page{background:#dfe5ec}.mobile-login-page .login-panel{width:390px}}@media (max-height:650px){.mobile-role-header{height:auto;min-height:calc(60px + env(safe-area-inset-top));padding:max(8px, env(safe-area-inset-top)) 14px 8px}.mobile-role-header .brand-symbol{width:27px;height:31px}.mobile-role-header .brand-logo strong{font-size:20px}.mobile-bell{width:36px;height:36px}.mobile-bottom-nav{min-height:calc(68px + env(safe-area-inset-bottom));padding:6px 12px max(6px, env(safe-area-inset-bottom))}.mobile-bottom-nav a{gap:3px;min-height:49px;font-size:11px}.mobile-bottom-nav a svg{width:21px;height:21px}.mobile-bottom-nav-icon{flex-basis:21px;width:21px;height:21px}}@media (max-width:600px){.topbar-actions{gap:8px}.topbar-notification{display:grid}.admin-notification-menu{width:auto;max-height:calc(100dvh - 86px);position:fixed;top:70px;left:16px;right:16px}.account{border-left:0;padding-left:0}.account-copy,.account-trigger>svg{display:none}.avatar,.account-trigger .avatar{width:38px;height:38px}.page-heading{flex-direction:column;align-items:flex-start}.page-heading h2{font-size:26px}.page-heading>.soft-button{width:100%}.member-page .page-heading{min-height:0}.member-page .page-heading h2{font-size:26px}.member-page .page-heading p{font-size:14px}.member-page .page-heading>.soft-button{margin-top:0}.member-page .workspace-tabs{min-height:70px}.member-page .workspace-tabs button{min-height:70px;padding-inline:12px;font-size:15px}.member-page .workspace-toolbar>span{text-align:right;font-size:12px}.member-toolbar-actions{justify-content:space-between;width:100%}.member-bulk-button{min-width:148px}.member-page .consent-grid article{grid-template-columns:1fr;gap:16px}.consent-student-summary{gap:16px}.consent-student-summary strong{font-size:18px}.consent-student-summary small{font-size:14px}.consent-status-select{width:fit-content;margin-left:80px}.agreement-modal .modal-header{align-items:flex-start;padding:24px 20px 0}.agreement-modal .modal-header .icon-button{top:24px;right:20px}.agreement-modal .modal-header h2{flex-direction:column;align-items:flex-start;gap:7px;font-size:20px}.agreement-modal .modal-body{padding:22px 20px 24px}.agreement-copy p{font-size:14px}.agreement-modal-actions{flex-direction:column;align-items:stretch}.agreement-modal-actions .soft-button{width:100%}.dashboard-preview-toolbar,.admin-data-source-bar{flex-direction:column;align-items:stretch}.data-source-switch{grid-template-columns:1fr 1fr;display:grid}.dashboard-connection{width:100%;min-width:0}.dashboard-period-field{flex:auto;width:100%}.date-range-calendar{border-radius:20px;width:min(420px,100vw - 32px);padding:24px 18px;right:-55px}.date-range-calendar h4{font-size:20px}.date-range-calendar-month{height:54px}.date-range-calendar-weekdays{height:36px;font-size:12px}.date-range-calendar-days{grid-auto-rows:40px}.date-range-calendar-days>span,.date-range-calendar-days button{width:38px;height:38px;font-size:13px}.role-dashboard-heading{min-height:0}.dashboard-heading-actions{width:100%}.dashboard-heading-actions .soft-button{flex:1}.trend-panel,.competency-panel,.activity-log-panel,.queue-panel{height:auto;min-height:0}.competency-content{grid-template-columns:1fr;height:auto;padding-bottom:24px}.competency-legend{grid-template-columns:1fr 1fr}.sa-metric-grid,.ga-overview-grid,.assigned-student-grid{grid-template-columns:1fr}.ga-class-card{grid-column:auto}.queue-list{grid-template-columns:1fr}.activity-log-list>div{flex-direction:column;align-items:flex-start;gap:3px;padding-block:8px}.dashboard-panel-heading{padding-inline:18px}.sa-dashboard-grid .dashboard-panel-heading{flex-basis:82px;min-height:82px;padding-inline:18px}.sa-dashboard-grid .dashboard-panel-heading h3{font-size:20px}.sa-dashboard-grid .dashboard-panel-heading p{font-size:11px}.trend-chart,.assigned-student-grid{padding-inline:18px}.chart-caption{margin-inline:18px}.sa-dashboard-lower>.dashboard-panel{height:auto;min-height:0}.workspace-toolbar,.section-copy.action-copy{flex-direction:column;align-items:stretch}.workspace-search{width:100%}.toolbar-fields{flex-direction:column}.toolbar-fields>select{min-height:40px}.student-growth-page .page-heading{min-height:0}.student-selector-list,.student-profile-grid,.observation-coverage-grid,.student-choice-grid,.competency-choice-grid,.competency-settings-grid,.setting-summary-grid{grid-template-columns:1fr}.student-detail-panel{height:auto}.student-detail-heading{height:auto;min-height:198px;padding:24px 20px}.student-growth-page .student-detail-panel>.workspace-tabs{padding-inline:12px;overflow-x:auto}.student-growth-page .student-detail-panel>.workspace-tabs button{padding-inline:12px;font-size:15px}.student-detail-content{height:auto;min-height:430px;padding:20px}.student-profile-grid{height:auto;min-height:250px}.student-profile-grid div{grid-template-columns:90px 1fr}.student-detail-heading{flex-wrap:wrap}.student-detail-heading>.soft-button{width:100%}.growth-content{flex-direction:column;gap:15px}.student-growth-radar{transform:none}.student-growth-radar svg{aspect-ratio:460/365;width:min(100%,360px);height:auto}.consent-grid article{grid-template-columns:44px minmax(0,1fr)}.consent-grid select,.consent-grid article>button{grid-column:2}.connection-grid article{flex-direction:column;align-items:stretch}.audit-grid{grid-template-columns:1fr}.observation-flow-header{flex-direction:column;align-items:flex-start}.observation-flow-header h2{font-size:18px}.observation-step-heading{flex-direction:column;align-items:flex-start}.observation-step-heading>span{display:none}.observation-flow-card{padding:18px}.observation-step-content{min-height:360px}.observation-form-grid{grid-template-columns:1fr}.observation-form-grid label.wide{grid-column:auto}.level-evaluation-list article>div:last-child{grid-template-columns:repeat(2,1fr)}.photo-uploader{flex-wrap:wrap}.photo-uploader>button,.photo-placeholder{width:112px;height:112px}.observation-review,.observation-review dl div{grid-template-columns:1fr}.observation-step-actions .soft-button{padding-inline:10px;font-size:10px}.observation-complete>div{flex-direction:column}.workspace-page.observation-drafts-page{gap:24px}.observation-drafts-page .drafts-page-header{height:auto;min-height:112px;padding:24px}.observation-drafts-page .drafts-page-header h2{font-size:26px;line-height:34px}.observation-drafts-page .drafts-page-header p{white-space:normal;font-size:14px;line-height:21px}.observation-drafts-page .drafts-card{min-height:445px;padding:24px}.draft-list{grid-template-columns:1fr;grid-auto-rows:104px;gap:14px}.draft-choice{height:104px;padding:18px}.draft-choice .person-avatar{flex-basis:56px;width:56px;min-width:56px;max-width:56px;height:56px;min-height:56px;max-height:56px}.draft-choice strong{font-size:20px;line-height:28px}.draft-choice small{font-size:15px;line-height:21px}.draft-resume-button{width:100%;margin-top:28px}.competency-settings-grid article{grid-template-columns:36px minmax(0,1fr) 64px}.competency-settings-grid article>button{grid-column:3}.polling-state{width:100%;min-width:0}.polling-state .soft-button{width:34px;padding:0;font-size:0}.metric-grid{grid-template-columns:1fr;gap:14px}.metric-card{min-height:112px}.quality-summary{margin-inline:18px}.quality-row{grid-template-columns:95px 1fr 38px;gap:9px;padding-inline:18px}.attention-list{grid-template-columns:1fr;margin-inline:18px}.system-status-main{flex-wrap:wrap;align-items:flex-start;margin-inline:18px}.status-badge{margin-left:63px}.server-time{margin-inline:18px}.table-toolbar{flex-direction:column;align-items:stretch}.table-count{text-align:right}.admin-account-filters{grid-template-columns:1fr}.admin-account-item{grid-template-columns:40px minmax(0,1fr)}.admin-list-avatar{width:40px;height:40px}.admin-account-side{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;width:100%}.admin-account-actions{opacity:1}.student-assignment-page .admin-page-heading>a{width:100%}.student-assignment-card{border-radius:18px;min-height:590px}.student-assignment-heading{min-height:70px;padding:0 18px}.student-assignment-heading h3{font-size:16px}.student-assignment-toolbar{grid-template-columns:1fr;gap:10px;padding:0 18px 18px}.student-assignment-add{width:100%}.student-assignment-grid{grid-template-columns:1fr;gap:12px;padding:0 18px 22px}.student-assignment-modal .modal-header{padding:24px 20px 18px}.student-assignment-modal .modal-header h2{font-size:21px}.student-assignment-modal .modal-body{padding-inline:20px}.student-assignment-modal .modal-footer{gap:10px;padding:22px 20px 24px}.toast-viewport{width:calc(100vw - 32px);bottom:16px;right:16px}.app-toast{min-height:72px;padding:15px 18px}.app-toast p{font-size:14px}.permission-table-scroll{margin-inline:18px}.permission-policy-note{padding-inline:18px}.user-form .form-grid{grid-template-columns:1fr}.modal-body,.modal-header,.modal-footer{padding-inline:18px}.modal-footer .soft-button{flex:1}.mobile-login-page .login-form-head{margin-bottom:42px}.mobile-login-page .login-form-head h2{font-size:20px}.mobile-login-page .login-form-head p{font-size:14px}.boundary-page{padding:20px}.boundary-brand{top:22px;left:24px}.boundary-card{padding:40px 23px}.boundary-card h1{font-size:21px}}@media (min-height:901px) and (min-width:1101px){.page-content{padding-top:28px;padding-bottom:24px}.role-dashboard{gap:18px}.role-dashboard-heading{min-height:70px}.role-dashboard-heading h2{font-size:28px}.role-dashboard-heading p{font-size:13px}.sa-metric-grid{gap:18px}.sa-metric-grid .metric-card{border-radius:20px;height:112px;min-height:112px;padding:14px 20px}.sa-metric-grid .metric-copy>span{font-size:12px}.sa-metric-grid .metric-copy strong{min-height:32px;margin:7px 0 3px;font-size:24px}.sa-metric-grid .metric-copy small{font-size:10px}.sa-dashboard-grid,.sa-dashboard-lower{gap:18px}.trend-panel,.competency-panel{height:320px;min-height:320px}.sa-dashboard .dashboard-panel{border-radius:20px}.dashboard-panel-heading{min-height:76px;padding-inline:26px}.dashboard-panel-heading h3{font-size:20px}.dashboard-panel-heading p{margin-top:6px;font-size:10px}.level-badge{border-radius:5px;padding:7px 8px;font-size:9px!important}.trend-chart{height:188px;padding-inline:24px}.chart-caption{margin:3px 26px 0;font-size:10px}.competency-content{grid-template-columns:minmax(210px,1fr) 136px;height:auto;padding:0 24px 12px 18px}.radar-chart,.radar-chart svg{height:205px}.competency-legend{gap:8px}.competency-legend span{min-height:31px;padding-inline:11px;font-size:9px}.competency-legend i{width:8px;height:8px}.activity-log-panel,.queue-panel{height:200px;min-height:200px}.activity-log-list{padding-inline:26px}.activity-log-list>div{min-height:39px}.activity-log-list span{font-size:11px}.activity-log-list small{font-size:9px}.queue-list{gap:7px;padding:0 26px 16px}.queue-list article{min-height:51px;padding:8px 21px 7px 10px}.queue-list article:nth-child(n+4){display:none}.queue-list span{white-space:nowrap;font-size:8px}.queue-list small{margin:4px 0 0 10px;font-size:7px}}@media (max-height:900px) and (min-width:821px){.topbar{height:68px}.topbar .brand-logo strong{font-size:31px}.topbar .brand-symbol{width:32px;height:36px}.topbar-student-select{height:36px}.topbar-notification{width:38px;height:38px}.avatar,.account-trigger .avatar{width:36px;height:36px}.app-body{min-height:calc(100vh - 68px)}.sidebar{height:calc(100vh - 100px);min-height:0;margin:16px 18px;top:84px}.sidebar-profile{min-height:92px;padding-block:18px}.sidebar-menu-parent{min-height:50px}.sidebar-submenu a{min-height:42px}.page-content{padding-top:22px;padding-bottom:18px}.page-stack,.role-dashboard{gap:14px}.role-dashboard-heading{min-height:64px}.role-dashboard-heading h2{font-size:27px}.role-dashboard-heading p{font-size:12px}.sa-metric-grid{gap:18px}.sa-metric-grid .metric-card{border-radius:18px;height:100px;min-height:100px;padding:12px 18px}.sa-metric-grid .metric-copy>span{font-size:11px}.sa-metric-grid .metric-copy strong{min-height:29px;margin:6px 0 3px;font-size:21px}.sa-metric-grid .metric-copy small{gap:5px;font-size:9px}.sa-metric-grid .metric-copy small i{border-bottom-width:6px;border-left-width:4px;border-right-width:4px}.sa-metric-grid .metric-copy small.danger i{border-top-width:6px;border-bottom-width:0}.sa-dashboard-grid,.sa-dashboard-lower{gap:14px}.trend-panel,.competency-panel{height:275px;min-height:275px}.sa-dashboard .dashboard-panel{border-radius:17px}.dashboard-panel-heading{min-height:64px;padding-inline:22px}.dashboard-panel-heading h3{font-size:18px}.dashboard-panel-heading p{margin-top:5px;font-size:9px}.level-badge{border-radius:4px;padding:6px 7px;font-size:8px!important}.trend-chart{height:166px;padding-inline:20px}.chart-caption{margin:0 22px;font-size:9px}.competency-content{grid-template-columns:minmax(175px,1fr) 107px;gap:10px;height:auto;padding:0 21px 13px 15px}.radar-chart,.radar-chart svg{height:174px}.competency-legend{gap:8px}.competency-legend span{gap:7px;min-height:25px;padding-inline:10px;font-size:8px}.competency-legend i{width:6px;height:6px}.activity-log-panel,.queue-panel{height:170px;min-height:170px}.activity-log-list{padding-inline:22px}.activity-log-list>div{min-height:34px}.activity-log-list span{font-size:10px}.activity-log-list small{font-size:8px}.queue-list{gap:5px;padding:0 22px 12px}.queue-list article{min-height:43px;padding:6px 24px 5px 9px}.queue-list article:nth-child(n+4){display:none}.queue-list span{font-size:8px}.queue-list small{margin:3px 0 0 10px;font-size:6px}.page-heading{min-height:64px}.page-heading h2{font-size:27px}.metric-card{min-height:105px;padding-block:16px}.quality-card,.usage-card{min-height:260px}.soft-card-header{padding-top:18px}.quality-summary{margin-top:13px;padding-block:11px}.quality-row{padding-top:12px}.donut{width:100px;height:100px;margin-block:12px}.donut:after{inset:10px}.system-status-card,.attention-card{min-height:175px}.system-status-main,.attention-list{margin-top:18px}.admin-management-grid{height:calc(100svh - 190px);min-height:560px}.admin-card-heading{min-height:64px}.permission-heading{min-height:82px}.permission-table td{height:48px}}@media (max-height:720px) and (min-width:821px){.showcase-features article small,.login-help{display:none}.showcase-copy{margin-top:28px}.showcase-features{margin-top:16px}.showcase-features article{height:100px}.login-form{margin-top:16px}.login-form-head{margin-bottom:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.trend-series .trend-line{stroke-dashoffset:0!important}.trend-series .trend-area{opacity:1!important;animation-delay:0s!important;transform:none!important}}@media (max-width:1100px){.record-control-card.record-reports-view,.record-control-card.record-unread-view,.record-control-card.record-audit-view{height:auto;min-height:0}.record-control-card{overflow:hidden}.record-audit-heading{flex-direction:column;align-items:stretch}.record-audit-filters{align-self:flex-end;margin-top:0}.record-audit-panel .audit-grid{grid-template-columns:1fr}}@media (max-width:820px){.record-control-heading{min-height:0}.record-control-heading .record-export-button{margin-top:0}.record-control-card .workspace-tabs{min-height:70px;padding-inline:18px;overflow-x:auto}.record-control-card .workspace-tabs button{min-height:70px;padding-inline:14px;font-size:15px}.record-control-card .workspace-tab-panel{padding:24px 18px}.record-reports-toolbar{height:auto}.record-report-table-scroll{overflow-x:auto}.audit-calendar{width:min(420px,100vw - 36px)}}@media (max-width:600px){.record-control-heading h2{font-size:26px}.record-control-heading p{font-size:14px}.record-reports-toolbar .toolbar-fields,.record-reports-toolbar .workspace-search,.record-reports-toolbar .record-report-scope,.record-bulk-button,.record-reminder-button{flex-basis:auto;width:100%}.record-audit-filters{align-self:stretch;width:100%}.record-audit-sort,.audit-date-picker,.audit-date-trigger{flex:1 1 0;width:100%}.audit-date-picker .date-range-calendar{right:0}.audit-calendar{padding-inline:20px;right:-1px}.audit-grid article{height:auto;min-height:238px}.audit-grid footer{flex-direction:column;align-items:flex-start}.audit-main-meta{flex-direction:column;align-items:flex-start;gap:5px}.audit-main-meta span+span{border-left:0;margin-left:0;padding-left:0}}.diagnostic-settings{gap:16px}.diagnostic-settings .settings-page-heading{min-height:105px}.diagnostic-settings .settings-page-heading h2{color:#000;letter-spacing:-.025em;margin-bottom:9px;font-size:30px;font-weight:700;line-height:1.25}.diagnostic-settings .settings-page-heading p{color:#64748b;letter-spacing:-.015em;font-size:16px;font-weight:400;line-height:1.5}.diagnostic-settings .settings-page-save{border-radius:16px;width:208px;min-height:52px;margin-top:14px;padding:0;font-size:16px}.diagnostic-settings .settings-card{border-color:#cbd5e1;border-radius:24px;min-height:0;overflow:visible}.diagnostic-settings .settings-card-competencies{height:743px}.diagnostic-settings .settings-card-activity{height:clamp(620px,100dvh - 260px,760px)}.diagnostic-settings .settings-card-levels{height:767px}.diagnostic-settings .workspace-tabs{border-bottom:0;align-items:flex-end;gap:0;height:87px;min-height:87px;padding:0 32px;position:relative;overflow:visible}.diagnostic-settings .workspace-tabs:after{content:"";background:#cbd5e1;height:1px;position:absolute;bottom:0;left:32px;right:32px}.diagnostic-settings .workspace-tabs button{z-index:1;letter-spacing:-.02em;border-bottom-width:2px;min-height:64px;padding:0 19px;font-size:18px;font-weight:600;line-height:1;position:relative}.diagnostic-settings .workspace-tabs button:first-child{padding-left:19px}.diagnostic-settings .workspace-tabs button.active{font-weight:700}.competency-carousel{border-radius:0 0 24px 24px;height:calc(100% - 87px);position:relative;overflow:hidden}.competency-carousel>h3{color:#000;letter-spacing:-.025em;margin:24px 32px 0;font-size:20px;font-weight:700;line-height:26px}.competency-slide{position:absolute;inset:0}.competency-visual{object-fit:contain;-webkit-user-select:none;user-select:none;width:auto;height:400px;position:absolute;top:74px;left:50%;transform:translate(-50%)}.competency-slide-copy{text-align:center;position:absolute;top:497px;left:150px;right:150px}.competency-slide-copy strong{color:#000;letter-spacing:-.025em;font-size:18px;font-weight:700;line-height:25px;display:block}.competency-slide-copy p{color:#64748b;letter-spacing:-.015em;margin:7px 0 0;font-size:16px;font-weight:400;line-height:24px}.competency-arrow{z-index:2;color:#64748b;cursor:pointer;background:#f1f5f9;border:0;border-radius:50%;place-items:center;width:50px;height:50px;padding:0;transition:color .16s,background .16s;display:grid;position:absolute;top:257px}.competency-arrow:hover{color:#257ddb;background:#e2f1ff}.competency-arrow:focus-visible{outline-offset:2px;outline:3px solid #c6e3ff}.competency-arrow.previous{left:32px}.competency-arrow.next{right:32px}.competency-arrow svg{stroke-width:2.5px;width:31px;height:31px}.competency-pagination{z-index:2;justify-content:center;align-items:center;gap:0;height:25px;display:flex;position:absolute;bottom:29px;left:0;right:0}.competency-pagination button{color:#cbd5e1;cursor:pointer;background:0 0;border:0;min-width:24px;height:25px;padding:0;font-size:18px;font-weight:500;line-height:25px;position:relative}.competency-pagination button+button{margin-left:6px}.competency-pagination button+button:before{content:"·";color:#94a3b8;position:absolute;left:-7px}.competency-pagination button.active{color:#257ddb;font-weight:700}.level-settings-layout{grid-template-columns:minmax(0,.9483fr) minmax(0,1fr);gap:24px;height:calc(100% - 87px);padding:24px 31px 32px 32px;display:grid}.level-standard-panel,.report-tone-panel{background:#fff;border:1px solid #cbd5e1;border-radius:16px;min-width:0;height:622px;padding:31px 32px}.level-standard-panel h3,.report-tone-panel h3{color:#111827;letter-spacing:-.025em;margin:0;font-size:20px;font-weight:700;line-height:26px}.level-standard-list{flex-direction:column;gap:16px;margin-top:23px;display:flex}.level-standard-list article{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;height:66px;padding:0 16px;display:grid}.level-standard-list article>span{color:#257ddb;background:#e2f1ff;border-radius:5px;place-items:center;width:44px;height:30px;font-size:14px;font-weight:700;display:grid}.level-standard-list article>strong{color:#111827;letter-spacing:-.02em;white-space:nowrap;min-width:0;font-size:16px;font-weight:600;line-height:22px}.level-standard-list article>b{color:#fff;white-space:nowrap;background:#257ddb;border-radius:10px;place-items:center;min-width:65px;height:32px;padding:0 10px;font-size:14px;font-weight:600;line-height:1;display:grid}.level-standard-list article:last-child>b{min-width:72px}.level-standard-panel h4{color:#111827;letter-spacing:-.025em;margin:31px 0 0;font-size:20px;font-weight:700;line-height:25px}.observation-tag-list{flex-direction:column;gap:16px;width:min(627px,100% + 20px);margin-top:24px;display:flex}.observation-tag-row{align-items:center;gap:16px;display:flex}.observation-tag-row>span{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #cbd5e1;border-radius:25px;justify-content:center;align-items:center;gap:10px;min-width:0;height:50px;padding:0 14px;font-size:16px;font-weight:500;line-height:1;display:inline-flex;overflow:hidden}.observation-tag-row:first-child>span:first-child,.observation-tag-row:first-child>span:nth-child(2){width:161px}.observation-tag-row:first-child>span:nth-child(3){width:191px}.observation-tag-row:last-child>span:first-child{width:193px}.observation-tag-row:last-child>span:nth-child(2){width:195px}.observation-tag-row:last-child>span:nth-child(3){width:207px}.observation-tag-row>span b{color:#257ddb;background:#e2f1ff;border-radius:6px;flex:none;padding:7px 8px;font-size:14px;font-weight:600}.report-tone-panel{padding-inline:31px;position:relative}.report-tone-panel>h3{border-bottom:1px solid #cbd5e1;padding-bottom:21px}.tone-setting-field{margin-top:26px}.tone-setting-field>label,.prompt-template-field>span{color:#111827;letter-spacing:-.02em;align-items:center;gap:9px;font-size:16px;font-weight:700;line-height:24px;display:flex}.settings-field-icon{object-fit:contain;flex:none}.tone-setting-field>label .settings-field-icon{width:22px;height:22px}.report-tone-dropdown{gap:0;width:221px;margin-top:15px}.report-tone-dropdown .soft-dropdown-trigger{border-radius:12px;height:41px;min-height:41px;padding:0 13px;font-size:15px;font-weight:500}.report-tone-dropdown .soft-dropdown-trigger svg{width:19px;height:19px}.report-tone-dropdown .soft-dropdown.open .soft-dropdown-trigger{box-shadow:none;border-color:#cbd5e1}.report-tone-dropdown .soft-dropdown-menu{width:229px;box-shadow:none;border-radius:13px;padding:0;top:52px}.report-tone-dropdown .soft-dropdown-menu>button{min-height:41px;padding:0 14px;font-size:15px;font-weight:500;line-height:20px}.prompt-template-field{margin-top:33px;display:block}.prompt-template-hint{color:#64748b;margin-top:8px;font-size:13px;line-height:1.5;display:block}.prompt-template-field>span .settings-field-icon{width:24px;height:24px}.prompt-template-field textarea{resize:none;color:#334155;letter-spacing:-.01em;background:#fff;border:1px solid #cbd5e1;border-radius:16px;outline:none;width:100%;height:160px;min-height:160px;margin-top:16px;padding:15px 16px;font-family:inherit;font-size:15px;line-height:1.6}.prompt-template-field textarea:focus{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.report-settings-save{color:#fff;cursor:pointer;background:#257ddb;border:0;border-radius:16px;height:52px;padding:0;font-size:16px;font-weight:700;position:absolute;bottom:31px;left:31px;right:31px}.report-settings-save:hover,.diagnostic-settings .settings-page-save:hover{background:#1d68bf;transform:none}.report-settings-save:focus-visible{outline-offset:2px;outline:3px solid #c6e3ff}.settings-activity-panel{flex-direction:column;height:calc(100% - 87px);min-height:0;padding:22px 32px 24px;display:flex;overflow:visible}.settings-activity-heading{justify-content:space-between;align-items:flex-start;gap:24px;min-height:44px;display:flex}.settings-activity-heading h3{color:#111827;letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600;line-height:24px}.settings-activity-heading p{color:#94a3b8;margin:4px 0 0;font-size:12px;font-weight:400;line-height:18px}.settings-activity-heading>span{color:#64748b;flex:none;margin-top:3px;font-size:12px;line-height:20px}.settings-activity-heading>span strong{color:#257ddb;font-weight:600}.settings-log-toolbar{justify-content:space-between;align-items:center;gap:12px;min-height:42px;margin-top:16px;display:flex}.settings-log-search{color:#94a3b8;background:#fff;border:1px solid #cbd5e1;border-radius:10px;align-items:center;gap:9px;width:min(390px,100%);height:42px;padding:0 13px;display:flex}.settings-log-search:focus-within{border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.settings-log-search svg{flex:none;width:17px;height:17px}.settings-log-search input{color:#1e293b;width:100%;min-width:0;font:inherit;background:0 0;border:0;outline:0;font-size:13px}.settings-log-search input::placeholder{color:#94a3b8}.settings-log-filters{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.settings-log-filter{flex:none;gap:0}.settings-log-filter.method{width:116px}.settings-log-filter.role{width:145px}.settings-log-filter.result{width:112px}.settings-log-filter .soft-dropdown-trigger{color:#475569;border-radius:10px;min-height:42px;padding:0 11px;font-size:12px;font-weight:400}.settings-log-filter .soft-dropdown-menu{border-radius:10px;top:48px}.settings-log-filter .soft-dropdown-menu>button{min-height:40px;padding-inline:11px;font-size:12px;font-weight:400}.settings-log-reset{color:#64748b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex:none;height:42px;padding:0 12px;font-size:12px}.settings-log-reset:hover{color:#257ddb;background:#f4f9ff;border-color:#86c5f7}.settings-log-table-shell{border:1px solid #dbe3ec;border-radius:12px;flex:1;min-width:0;min-height:280px;margin-top:16px;overflow:hidden}.settings-log-table{overscroll-behavior:contain;scrollbar-gutter:stable;width:100%;min-width:0;height:100%;min-height:0;overflow:auto}.settings-log-table:focus-visible{outline-offset:-3px;outline:3px solid #c6e3ff}.settings-log-table::-webkit-scrollbar{width:7px;height:7px}.settings-log-table::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}.settings-log-table::-webkit-scrollbar-track{background:0 0}.settings-log-row{color:#334155;letter-spacing:-.01em;border-bottom:1px solid #e2e8f0;grid-template-columns:174px minmax(225px,1.5fr) minmax(150px,1fr) 72px 92px 146px 96px;align-items:center;min-width:1080px;min-height:47px;padding:0 14px;font-size:13px;font-weight:400;line-height:19px;display:grid}.settings-log-row.header{z-index:2;color:#334155;background:#f8fafc;min-height:43px;font-size:12px;font-weight:600;position:sticky;top:0}.settings-log-row:not(.header):not(.skeleton):hover{background:#fbfdff}.settings-log-row>*{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-log-row time{color:#64748b;font-variant-numeric:tabular-nums}.settings-log-row .settings-log-api-name{color:#1e293b;font-weight:500}.settings-log-row .settings-log-user{color:#475569}.settings-log-row .settings-log-role{color:#257ddb;font-weight:600}.settings-log-method{color:#475569;background:#f1f5f9;border-radius:6px;justify-content:center;align-items:center;width:fit-content;min-width:52px;height:24px;padding:0 7px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.settings-log-method.method-post{color:#0f766e;background:#ecfdf5}.settings-log-method.method-put,.settings-log-method.method-patch{color:#a16207;background:#fffbeb}.settings-log-method.method-delete{color:#dc2626;background:#fff1f2}.settings-log-row .settings-log-result{border-radius:13px;justify-content:center;align-items:center;width:fit-content;min-width:54px;height:25px;padding:0 8px;font-size:11px;font-weight:500;display:inline-flex}.settings-log-row .settings-log-result.success{color:#16845b;background:#eaf8f1}.settings-log-row .settings-log-result.failed{color:#dc2626;background:#fff1f2}.settings-log-row.skeleton span{background:linear-gradient(90deg,#eef2f6,#f8fafc,#eef2f6) 0 0/200%;border-radius:5px;width:calc(100% - 20px);height:12px;animation:1.3s infinite shimmer}.settings-log-empty{min-width:1080px;height:calc(100% - 43px);min-height:280px}.settings-log-empty .workspace-empty{height:100%;min-height:280px}.settings-log-pagination{color:#64748b;grid-template-columns:150px 1fr auto;align-items:center;gap:16px;min-height:47px;padding-top:12px;font-size:11px;display:grid}.settings-log-page-size{width:132px}.settings-log-page-size .soft-dropdown-field{gap:0}.settings-log-page-size .soft-dropdown-trigger{border-radius:9px;min-height:34px;padding:0 10px;font-size:11px}.settings-log-page-size .soft-dropdown-menu{border-radius:9px;top:auto;bottom:40px}.settings-log-page-size .soft-dropdown-menu>button{min-height:36px;padding-inline:10px;font-size:11px;font-weight:400}.settings-log-pagination>span{font-variant-numeric:tabular-nums;justify-self:center}.settings-log-pagination nav{align-items:center;gap:5px;display:flex}.settings-log-pagination nav button{color:#64748b;cursor:pointer;background:#fff;border:1px solid #dbe3ec;border-radius:7px;place-items:center;width:30px;height:30px;padding:0;font-size:11px;display:grid}.settings-log-pagination nav button:hover:not(:disabled):not(.active){color:#257ddb;border-color:#86c5f7}.settings-log-pagination nav button.active{color:#fff;background:#257ddb;border-color:#257ddb}.settings-log-pagination nav button:disabled{opacity:.35;cursor:default}.settings-log-pagination nav button svg{width:14px;height:14px}@media (max-width:1280px){.diagnostic-settings .settings-page-heading p,.level-standard-list article>strong{font-size:14px}.observation-tag-row{gap:10px}.observation-tag-row>span{gap:6px;padding-inline:8px;font-size:14px}.observation-tag-row>span b{padding-inline:6px;font-size:13px}}@media (max-width:1100px){.diagnostic-settings .settings-card-competencies,.diagnostic-settings .settings-card-levels{height:auto;min-height:680px}.level-settings-layout{grid-template-columns:1fr;height:auto}.level-standard-panel,.report-tone-panel{height:622px}.competency-slide-copy{left:40px;right:40px}}@media (max-width:820px){.diagnostic-settings .settings-page-heading{min-height:0}.diagnostic-settings .settings-page-heading p{font-size:13px}.diagnostic-settings .settings-page-save{width:160px;margin-top:0}.diagnostic-settings .workspace-tabs{gap:4px;height:70px;min-height:70px;padding-inline:12px;overflow-x:auto}.diagnostic-settings .workspace-tabs button{min-height:54px;padding-inline:12px;font-size:14px}.diagnostic-settings .settings-card-competencies{height:680px}.diagnostic-settings .settings-card-activity{height:auto;min-height:690px}.competency-carousel,.settings-activity-panel{height:calc(100% - 70px)}.settings-log-toolbar{flex-direction:column;align-items:stretch}.settings-log-search{width:100%}.settings-log-filters{flex-wrap:wrap;justify-content:flex-start}.competency-carousel>h3{margin-inline:20px;font-size:18px}.competency-visual{max-width:86%;height:330px;top:82px}.competency-slide-copy{top:445px;left:28px;right:28px}.competency-slide-copy strong{font-size:17px}.competency-slide-copy p{font-size:14px}.competency-arrow{width:42px;height:42px;top:245px}.competency-arrow.previous{left:16px}.competency-arrow.next{right:16px}.level-settings-layout{padding:20px}.level-standard-panel,.report-tone-panel{padding-inline:20px}}@media (max-width:600px){.diagnostic-settings .settings-page-heading h2{font-size:25px}.diagnostic-settings .settings-page-heading .settings-page-save{width:100%}.level-standard-panel{height:auto;min-height:622px}.level-standard-list article{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding-inline:12px}.level-standard-list article>strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.level-standard-list article>b{min-width:56px;padding-inline:7px;font-size:12px}.observation-tag-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;display:grid}.observation-tag-row{display:contents}.observation-tag-row>span{gap:6px;height:43px;padding-inline:9px;font-size:13px;width:100%!important}.observation-tag-row>span b{padding-inline:6px;font-size:12px}.report-tone-dropdown,.report-tone-dropdown .soft-dropdown-menu{width:100%}.competency-visual{height:270px;top:94px}.competency-slide-copy{top:395px}.diagnostic-settings .settings-card-activity{min-height:730px}.settings-activity-panel{padding-inline:14px}.settings-activity-heading{gap:10px}.settings-activity-heading p{display:none}.settings-log-filter.method,.settings-log-filter.role,.settings-log-filter.result,.settings-log-reset{width:calc(50% - 4px)}.settings-log-pagination{grid-template-columns:1fr auto}.settings-log-pagination>span{display:none}}@media (min-width:1101px){:is(.app-shell:has(.ga-dashboard) .page-content,.app-shell:has(.student-growth-page) .page-content){padding-left:28px;padding-right:28px}.student-management-layout{grid-template-columns:minmax(250px,.78fr) minmax(0,2fr);gap:14px}:is(.app-shell:has(.ga-dashboard) .page-content,.app-shell:has(.student-growth-page) .page-content){padding:16px 28px}.ga-dashboard{gap:12px;margin-top:0}.ga-dashboard .role-dashboard-heading{min-height:58px}.ga-dashboard .role-dashboard-heading h2{margin-bottom:4px;font-size:28px;line-height:1.2}.ga-dashboard .role-dashboard-heading p{font-size:13px;line-height:1.4}.ga-new-observation-button{border-radius:12px;width:176px;margin-top:0;font-size:14px;min-height:42px!important}.ga-new-observation-button svg{width:18px;height:18px}.ga-overview-grid{grid-template-columns:minmax(230px,1.25fr) repeat(3,minmax(150px,1fr));gap:12px;min-width:0}.ga-class-card{border-radius:18px;height:158px;margin-right:0;padding:16px}.ga-class-icon{border-radius:7px;width:36px;height:36px}.ga-class-icon img{width:20px;height:20px}.ga-class-copy{margin-top:8px}.ga-class-card small{margin-bottom:3px;font-size:12px;line-height:1.35}.ga-class-card h3{font-size:22px;line-height:1.2}.ga-class-card p{gap:5px;margin-top:8px}.ga-class-card p span{min-width:36px;height:20px;padding-inline:6px;font-size:10px}.ga-class-illustration{width:150px;height:150px;top:4px;right:-5px}.ga-status-card{border-radius:18px;height:158px;padding:16px}.ga-status-card>div{height:32px}.ga-status-arrow{width:32px;height:32px}.ga-status-arrow svg{width:17px;height:17px}.status-dot{gap:6px;min-height:24px;padding-inline:9px;font-size:10px}.status-dot i{width:6px;height:6px}.ga-status-card>strong{margin-top:28px;font-size:26px}.ga-status-card>small{margin-top:5px;font-size:12px}.assigned-students-panel{border-radius:18px;height:264px;min-height:264px;margin-top:0;padding-bottom:14px}.assigned-students-panel .dashboard-panel-heading{min-height:56px;padding-inline:18px}.assigned-students-panel .dashboard-panel-heading h3{gap:8px;font-size:18px}.assigned-students-panel .dashboard-panel-heading h3 img{width:20px;height:20px}.assigned-students-panel .dashboard-panel-heading>a{gap:5px;font-size:13px}.assigned-students-panel .dashboard-panel-heading>a svg{width:17px;height:17px}.assigned-student-grid{gap:12px;padding-inline:18px}.assigned-student-grid>article{border-radius:13px;height:194px;padding:14px}.student-heading{gap:9px}.student-avatar{width:38px;height:38px}.student-heading strong{font-size:14px}.student-heading small{margin-top:2px;font-size:11px}.photo-restricted{height:20px;padding-inline:6px;font-size:10px}.student-record-summary{height:54px;margin:10px 0;padding:8px 10px}.student-record-summary p+p{margin-top:5px}.student-record-summary span,.student-record-summary time,.student-record-summary strong{font-size:11px}.assigned-student-grid article>button{border-radius:10px;gap:7px;height:36px;font-size:13px}.assigned-student-grid article>button svg{width:17px;height:17px}.student-growth-page{gap:12px}.student-growth-page .page-heading{min-height:58px}.student-growth-page .page-heading h2{margin-bottom:4px;font-size:26px}.student-growth-page .page-heading p{font-size:12px;line-height:1.4}.student-management-layout{grid-template-columns:minmax(250px,.78fr) minmax(0,2fr);gap:14px;height:clamp(500px,100svh - 170px,700px);min-height:500px}.student-management-layout>.soft-card{border-radius:18px}.student-selector-panel{padding:14px}.student-selector-panel .workspace-search{border-radius:12px;gap:9px;height:42px;padding-inline:12px}.student-selector-panel .workspace-search svg{width:18px;height:18px}.student-selector-panel .workspace-search input{font-size:13px}.student-selector-list{gap:8px;margin-top:14px}.student-selector-list button{border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;column-gap:9px;height:65px;min-height:65px;padding:9px 11px}.student-selector-list button .person-avatar{width:38px;height:38px}.student-selector-list strong{font-size:12px}.student-selector-list small{margin-top:3px;font-size:10px}.student-selector-list b,.student-selector-list time{font-size:10px}.student-detail-heading{gap:10px;height:88px;padding:19px 20px}.student-detail-heading>.person-avatar{width:48px;height:48px}.student-detail-heading h3{gap:7px;margin-bottom:3px;font-size:20px}.student-detail-heading h3 .workspace-status{min-height:22px;padding:3px 6px;font-size:11px}.student-detail-heading p{font-size:12px}.student-start-observation-button{width:130px;height:36px;margin-top:6px;border-radius:10px!important;min-height:36px!important;font-size:12px!important}.student-start-observation-button svg{width:17px;height:17px}.student-growth-page .student-detail-panel>.workspace-tabs{height:48px;min-height:48px;padding-inline:20px}.student-growth-page .student-detail-panel>.workspace-tabs button{min-height:48px;padding-inline:12px;font-size:14px}.student-detail-content{height:calc(100% - 136px);padding:16px 20px}.observation-coverage-intro{margin-bottom:12px;font-size:12px}.observation-coverage-grid{gap:10px 12px}.observation-coverage-item{border-radius:12px;gap:12px;min-height:62px;padding:9px 12px}.observation-coverage-item>strong{font-size:14px}.observation-coverage-item>b{font-size:12px}.student-profile-grid{border-radius:12px;column-gap:24px;height:110px;padding:12px}.student-profile-grid dt,.student-profile-grid dd,.student-profile-grid .workspace-status{font-size:12px}.session-timeline{gap:10px}.session-timeline article{border-radius:12px;min-height:120px;padding:12px}.session-timeline h4{font-size:14px}.session-timeline time{font-size:12px}.session-timeline p{margin:6px 0 8px;font-size:12px;line-height:1.4}.session-timeline .workspace-status{min-height:22px;padding:3px 6px;font-size:11px}.growth-content{padding:16px 20px}.student-growth-radar{transform:translate(-8px)}.student-growth-radar svg{width:350px;height:278px}.student-growth-radar text{font-size:17px}.student-growth-radar>span{min-height:30px;margin-top:10px;padding-inline:14px;font-size:11px}.student-growth-radar>span i{width:8px;height:8px;margin-right:7px}.student-report-list{gap:10px}.student-report-list article{border-radius:12px;height:56px;min-height:56px;padding:8px 12px}.student-report-list strong{font-size:14px}.student-report-list .workspace-status{min-height:23px;padding:3px 6px;font-size:11px}.student-report-list .soft-button{border-radius:9px;width:96px;min-height:30px;font-size:12px}}@media (min-width:821px) and (max-width:1280px){.observation-flow-header{gap:16px}.observation-flow-header h2{font-size:27px}.observation-flow-header p{font-size:14px}.observation-flow-header>span{width:220px;padding-inline:14px}.observation-flow-header>span b{font-size:18px}.observation-flow-header>span small{font-size:13px}.observation-step-heading h3{font-size:20px}.observation-step-heading h3 strong{font-size:28px}.observation-step-heading>span{font-size:14px}}@media (max-width:820px){.observation-write-page{gap:28px}.observation-flow-card{padding:28px}.student-choice-grid button{padding:18px}.student-choice-grid button .person-avatar{width:56px;height:56px}.student-choice-grid strong{font-size:20px;line-height:28px}.student-choice-grid small{font-size:15px;line-height:21px}.level-evaluation-list article{padding-inline:20px}.level-evaluation-list article>div:first-child>strong{font-size:20px}.level-evaluation-list article>div:last-child{gap:10px}.level-evaluation-list button strong{font-size:21px}.level-evaluation-list button small{font-size:16px}}@media (max-width:600px){.observation-write-page{gap:20px}.observation-flow-header{border-radius:18px;align-items:stretch;gap:18px;height:auto;min-height:0;padding:20px}.observation-flow-header h2{font-size:24px}.observation-flow-header p{font-size:13px;line-height:20px}.observation-flow-header>span{width:100%;height:48px}.observation-flow-header>span b{font-size:18px}.observation-flow-header>span small{font-size:13px}.observation-flow-card{border-radius:18px;padding:22px 18px 24px}.observation-step-heading{height:auto}.observation-step-heading h3{white-space:normal;line-height:1.35}.observation-step-heading h3 strong{line-height:1.2;display:block}.step-progress{gap:3px;height:12px;margin:20px 0 28px}.observation-step-content,.observation-step-3 .observation-step-content,.observation-step-6 .observation-step-content,.observation-step-7 .observation-step-content,.observation-step-8 .observation-step-content{min-height:0}.student-choice-grid{grid-template-rows:none;gap:12px;height:auto}.student-choice-grid button{height:92px}.student-choice-grid button .person-avatar{width:50px;height:50px}.student-choice-grid strong{font-size:18px;line-height:25px}.student-choice-grid small{font-size:13px;line-height:19px}.student-choice-grid button>svg{width:27px;height:27px}.observation-form-grid{gap:20px;height:auto}.observation-form-grid label,.observation-date-field{gap:12px;height:92px;font-size:17px}.observation-form-grid input,.observation-date-control,.observation-date-control>button{height:56px}.observation-calendar{width:min(420px,100vw - 72px);height:auto;padding:24px 18px;top:65px;left:0;right:auto}.observation-calendar-grid{grid-auto-rows:40px}.observation-calendar-grid>button{width:38px;height:38px}.level-evaluation-list{height:auto}.level-evaluation-list article{height:auto;min-height:318px;padding:18px}.level-evaluation-list article>div:first-child{gap:10px}.level-evaluation-list article>div:first-child>strong{font-size:18px}.level-evaluation-list article .workspace-status{font-size:11px}.level-evaluation-list article>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.level-evaluation-list article>div:last-child button{height:84px}.tag-selection{height:auto}.custom-tag{gap:10px;height:54px}.custom-tag input{height:54px;font-size:15px}.custom-tag .soft-button{width:72px;min-height:54px}.selected-observation-tags{gap:8px}.selected-observation-tags button{max-width:100%;padding-inline:12px;font-size:14px}.observation-step-actions{gap:12px;height:48px;margin-top:32px}.observation-step-actions .soft-button{flex:1;width:auto;min-width:0;min-height:48px;font-size:13px}.observation-draft-button{width:min(355px,100%);min-height:50px}}@media (min-width:821px){.app-shell:has(.observation-write-page) .page-content{padding-top:40px;padding-bottom:34px}.observation-write-page{gap:40px}}@media (min-width:821px) and (max-width:1100px),(min-width:601px) and (max-width:720px){.observation-flow-header{flex-direction:column;align-items:stretch;height:auto;min-height:0}.observation-flow-header>span{width:100%}.observation-step-heading>span{display:none}.observation-flow-card{padding:24px}.student-choice-grid{grid-template-rows:none;grid-template-columns:1fr;gap:14px;height:auto}.student-choice-grid button{height:96px}.observation-form-grid{grid-template-columns:1fr;gap:22px;height:auto}.observation-form-grid label.wide{grid-column:auto}.observation-calendar{width:min(420px,100%);left:0;right:auto}.level-evaluation-list{height:auto}.level-evaluation-list article{height:auto;min-height:318px}.level-evaluation-list article>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));height:auto}.level-evaluation-list article>div:last-child button{height:84px}}@media (min-width:1101px){.app-shell:has(.observation-write-page) .page-content{padding-left:28px;padding-right:28px}.observation-write-page{width:100%}.app-shell .page-content{padding-left:28px;padding-right:28px}.app-shell .page-stack{width:100%;max-width:none}.admin-management-grid{grid-template-columns:minmax(270px,.75fr) minmax(0,1.25fr);gap:14px}.app-shell .page-content{padding:16px 28px}.workspace-page,.users-page,.student-assignment-page{gap:12px}.workspace-page>.page-heading>div,.admin-page-heading>div{flex:1;min-width:0}.workspace-page>.page-heading h2,.workspace-page>.page-heading p,.admin-page-heading h2,.admin-page-heading p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-page>.page-heading .soft-button,.admin-page-heading .soft-button{text-overflow:ellipsis;white-space:nowrap;flex:none;overflow:hidden}:is(.member-page,.record-control-page,.diagnostic-settings,.observation-page:not(.observation-write-page))>.page-heading,.admin-page-heading{min-height:58px}:is(.member-page,.record-control-page,.diagnostic-settings,.observation-page:not(.observation-write-page))>.page-heading h2,.admin-page-heading h2{margin-bottom:4px;font-size:26px;line-height:1.25}:is(.member-page,.record-control-page,.diagnostic-settings,.observation-page:not(.observation-write-page))>.page-heading p,.admin-page-heading p{font-size:12px;line-height:1.4}:is(.member-page,.record-control-page,.diagnostic-settings,.observation-page:not(.observation-write-page))>.page-heading>.soft-button,.diagnostic-settings .settings-page-save{border-radius:12px;width:176px;min-width:176px;min-height:42px;margin-top:0;padding-inline:14px;font-size:13px}.member-workspace-card{border-radius:18px}.member-page .workspace-tabs{min-height:48px;padding:0 20px}.member-page .workspace-tabs button{min-height:48px;padding:0 12px;font-size:14px}.member-page .workspace-tab-panel{padding:18px 20px 20px}.member-page .workspace-toolbar{min-height:38px;margin-bottom:14px}.member-page .workspace-toolbar>span{font-size:11px}.member-page .workspace-search{border-radius:10px;width:min(300px,100%);height:38px;padding:0 12px}.member-page .workspace-search svg{width:17px;height:17px}.member-page .workspace-search input{font-size:13px}.member-page .workspace-table{min-width:1020px}.member-page .workspace-table th{height:44px;padding:0 10px;font-size:12px}.member-page .workspace-table td{text-overflow:ellipsis;white-space:nowrap;height:56px;padding:8px 10px;font-size:12px;overflow:hidden}.member-page .person-cell{gap:9px;min-width:0}.member-page .person-cell>span{min-width:0}.member-page .person-cell .person-avatar.small{width:38px;height:38px;font-size:12px}.member-page .person-cell strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.member-page .person-cell small{margin-top:3px;font-size:10px}.member-page .workspace-status{min-height:23px;padding:3px 6px;font-size:11px}.member-page .workspace-status svg{width:13px;height:13px}.member-page .link-text{font-size:12px}.member-page .section-copy{margin-bottom:16px}.member-page .section-copy h3{font-size:16px;line-height:1.4}.member-page .section-copy p{margin-top:5px;font-size:12px;line-height:1.4}.member-page .connection-grid,.member-page .consent-grid{gap:12px}.member-page .connection-grid article{border-radius:12px;gap:14px;min-height:104px;padding:14px}.member-page .connection-grid article>div{min-width:0}.member-page .connection-grid article span,.member-page .connection-grid article small,.member-page .connection-grid article time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-page .connection-grid article span{font-size:14px}.member-page .connection-grid article small{margin-top:4px;font-size:12px}.member-page .connection-grid article time{margin-top:8px;font-size:11px}.member-page .connection-grid .soft-button.small{flex:none;font-size:12px}.member-page .consent-grid article{border-radius:12px;gap:12px;min-height:88px;padding:12px 14px}.consent-student-summary{gap:12px}.consent-student-summary .person-avatar{width:44px;height:44px;font-size:13px}.consent-student-summary strong{font-size:14px}.consent-student-summary small{margin-top:4px;font-size:11px}.consent-status-select .soft-dropdown-trigger{border-radius:10px;min-width:78px;min-height:36px;padding:0 10px;font-size:12px}.consent-status-select .soft-dropdown-menu>button{min-height:36px;padding:0 11px;font-size:12px}.record-control-card{border-radius:18px}.record-control-card.record-reports-view,.record-control-card.record-unread-view,.record-control-card.record-audit-view{height:auto;min-height:0}.record-control-card .workspace-tabs{min-height:48px;padding:0 20px}.record-control-card .workspace-tabs button{min-height:48px;padding:0 12px;font-size:14px}.record-control-card .workspace-tab-panel{padding-inline:20px}.record-reports-panel{padding-top:18px;padding-bottom:18px}.record-reports-toolbar{height:38px;min-height:38px;margin-bottom:14px}.record-reports-toolbar .toolbar-fields{gap:8px}.record-reports-toolbar .workspace-search{border-radius:10px;gap:8px;width:280px;height:38px;padding:0 12px}.record-reports-toolbar .workspace-search svg{width:17px;height:17px}.record-reports-toolbar .workspace-search input{font-size:13px}.record-reports-toolbar .record-report-scope{flex-basis:106px;width:106px}.record-report-scope .soft-dropdown-trigger,.record-audit-sort .soft-dropdown-trigger{border-radius:10px;min-height:38px;padding:0 11px;font-size:13px}.record-report-scope .soft-dropdown-menu>button,.record-audit-sort .soft-dropdown-menu>button{min-height:36px;padding:0 11px;font-size:13px}.record-bulk-button,.record-reminder-button{border-radius:10px!important;min-height:38px!important;font-size:12px!important}.record-bulk-button{width:160px}.record-reminder-button{width:206px}.record-report-table-scroll{overflow:auto}.report-control-table{min-width:980px}.report-control-table th{height:44px;padding:0 10px;font-size:12px}.report-control-table td{text-overflow:ellipsis;white-space:nowrap;height:52px;padding:7px 10px;font-size:12px;overflow:hidden}.report-control-table .workspace-status{min-height:23px;padding:3px 6px;font-size:11px}.report-control-table .table-action{font-size:12px}.record-unread-panel{padding-top:18px;padding-bottom:18px}.record-unread-panel .section-copy h3,.record-audit-heading .section-copy h3{font-size:16px;line-height:1.4}.record-unread-panel .section-copy p,.record-audit-heading .section-copy p{font-size:12px;line-height:1.4}.record-audit-panel{padding-top:18px;padding-bottom:18px}.record-audit-heading{gap:14px;min-height:42px}.record-audit-heading .section-copy{min-width:0}.record-audit-heading .section-copy h3,.record-audit-heading .section-copy p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.record-audit-filters{gap:8px;margin-top:2px}.record-audit-sort{flex-basis:92px;width:92px}.audit-date-picker,.audit-date-trigger{flex-basis:108px;width:108px}.audit-date-trigger{border-radius:10px;height:38px;padding:0 10px;font-size:13px}.audit-date-picker .date-range-trigger{border-radius:10px;height:38px;min-height:38px;padding:0 10px;font-size:13px}.audit-calendar{border-radius:18px;width:360px;height:420px;padding:24px;top:46px}.audit-calendar h4{font-size:20px}.audit-calendar-month{height:52px}.audit-calendar-month>strong{font-size:13px}.audit-calendar-weekdays{height:34px;font-size:12px}.audit-calendar-days{grid-auto-rows:40px}.audit-calendar-days button{width:38px;height:38px;font-size:12px}.audit-grid{gap:12px;margin-top:14px}.audit-grid article{border-radius:12px;height:164px;padding:14px}.audit-meta .workspace-status{min-height:25px;padding:0 9px;font-size:11px}.audit-meta time{font-size:11px}.audit-grid h4{margin:10px 0 6px;font-size:14px}.audit-grid>article>p{-webkit-line-clamp:2;font-size:12px;line-height:1.4}.audit-grid footer{gap:8px;min-width:0;font-size:11px;overflow:hidden}.audit-main-meta{overflow:hidden}.audit-main-meta span{text-overflow:ellipsis;min-width:0;overflow:hidden}.audit-main-meta span+span{margin-left:8px;padding-left:8px}.diagnostic-settings .settings-card{border-radius:18px;overflow:hidden}.diagnostic-settings .settings-card-competencies{height:515px}.diagnostic-settings .settings-card-activity{height:clamp(620px,100dvh - 180px,720px)}.diagnostic-settings .settings-card-levels{height:535px}.diagnostic-settings .workspace-tabs{height:48px;min-height:48px;padding:0 20px}.diagnostic-settings .workspace-tabs:after{left:20px;right:20px}.diagnostic-settings .workspace-tabs button{min-height:48px;padding:0 12px;font-size:14px}.competency-carousel{border-radius:0 0 18px 18px;height:calc(100% - 48px)}.competency-carousel>h3{margin:16px 20px 0;font-size:16px;line-height:22px}.competency-visual{max-width:72%;height:260px;top:55px}.competency-slide-copy{top:330px;left:80px;right:80px}.competency-slide-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.competency-slide-copy p{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:5px;font-size:12px;line-height:18px;display:-webkit-box;overflow:hidden}.competency-arrow{width:38px;height:38px;top:190px}.competency-arrow.previous{left:20px}.competency-arrow.next{right:20px}.competency-arrow svg{width:23px;height:23px}.competency-pagination{font-size:14px;bottom:14px}.settings-activity-panel{height:calc(100% - 48px);padding:16px 20px 18px}.settings-activity-heading h3{font-size:16px;line-height:22px}.settings-log-row{grid-template-columns:164px minmax(210px,1.5fr) minmax(140px,1fr) 66px 84px 138px 90px;min-width:1020px;min-height:43px;font-size:12px;line-height:18px}.level-settings-layout{gap:14px;height:calc(100% - 48px);padding:16px 20px 20px}.level-standard-panel,.report-tone-panel{border-radius:14px;height:451px;padding:20px}.level-standard-panel h3,.report-tone-panel h3{font-size:16px;line-height:22px}.level-standard-list{gap:8px;margin-top:14px}.level-standard-list article{border-radius:11px;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;height:48px;padding:0 11px}.level-standard-list article>span{width:36px;height:26px;font-size:12px}.level-standard-list article>strong{text-overflow:ellipsis;font-size:12px;overflow:hidden}.level-standard-list article>b,.level-standard-list article:last-child>b{border-radius:8px;min-width:54px;height:28px;padding:0 7px;font-size:11px}.level-standard-panel h4{margin-top:18px;font-size:16px;line-height:22px}.observation-tag-list{gap:8px;width:100%;margin-top:14px}.observation-tag-row{gap:8px}.observation-tag-row>span,.observation-tag-row:first-child>span:first-child,.observation-tag-row:first-child>span:nth-child(2),.observation-tag-row:first-child>span:nth-child(3),.observation-tag-row:last-child>span:first-child,.observation-tag-row:last-child>span:nth-child(2),.observation-tag-row:last-child>span:nth-child(3){flex:1;gap:5px;width:auto;height:36px;padding:0 8px;font-size:11px}.observation-tag-row>span b{padding:5px 6px;font-size:10px}.report-tone-panel{padding-inline:20px}.report-tone-panel>h3{padding-bottom:14px}.tone-setting-field{margin-top:18px}.tone-setting-field>label,.prompt-template-field>span{gap:7px;font-size:13px;line-height:20px}.report-tone-dropdown{width:190px;margin-top:10px}.report-tone-dropdown .soft-dropdown-trigger{height:38px;min-height:38px;font-size:12px}.report-tone-dropdown .soft-dropdown-menu{width:198px;top:46px}.report-tone-dropdown .soft-dropdown-menu>button{min-height:36px;font-size:12px}.prompt-template-field{margin-top:18px}.prompt-template-field textarea{border-radius:12px;height:112px;min-height:112px;margin-top:10px;padding:11px 12px;font-size:12px}.report-settings-save{border-radius:12px;height:42px;font-size:13px;bottom:20px;left:20px;right:20px}.admin-heading-actions{flex:none;gap:8px}.admin-source-switch button{white-space:nowrap;min-height:32px;padding-inline:10px;font-size:11px}.admin-create-button{border-radius:12px;gap:7px;font-size:13px;min-height:42px!important;padding-inline:14px!important}.admin-create-button svg{width:17px;height:17px}.admin-management-grid{gap:14px;height:clamp(500px,100svh - 166px,700px);min-height:500px}.admin-account-card,.permission-matrix-card{border-radius:18px}.admin-card-heading{gap:10px;min-height:58px;padding:0 18px}.admin-card-heading h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.admin-card-heading>span{font-size:12px}.permission-heading{min-height:72px}.permission-heading h3{font-size:16px}.permission-heading p{margin-top:5px;font-size:11px}.permission-save-button{border-radius:10px;width:54px;height:36px;font-size:12px}.admin-account-filters{grid-template-columns:minmax(0,1fr) 100px;gap:8px;padding:0 18px 14px}.admin-account-search{border-radius:10px;gap:8px;height:38px;padding:0 11px}.admin-account-search svg{width:17px}.admin-account-search input{font-size:12px}.admin-role-filter .soft-dropdown-trigger{border-radius:10px;gap:6px;min-height:38px;padding:0 9px;font-size:12px}.admin-account-list{gap:8px;padding:0 18px 18px}.admin-account-item{border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;gap:9px;min-height:65px;padding:8px 10px}.admin-list-avatar{width:38px;height:38px;font-size:12px}.admin-account-copy strong,.admin-name-link{font-size:12px}.admin-account-copy>span{margin-top:4px;font-size:10px}.admin-account-side{gap:5px;min-width:66px}.admin-account-side>strong,.admin-account-side time{font-size:10px}.permission-table-scroll{margin:0 18px 18px}.permission-table th{height:42px;padding:0 8px;font-size:11px}.permission-table td{height:45px;padding:0 8px;font-size:11px}.student-assignment-card{border-radius:18px;height:clamp(500px,100svh - 166px,700px);min-height:500px}.student-assignment-heading{gap:12px;min-height:58px;padding:0 18px}.student-assignment-heading h3{font-size:15px}.student-assignment-heading>span{font-size:12px}.student-assignment-toolbar{grid-template-columns:minmax(0,1fr) 210px;gap:12px;padding:0 18px 14px}.student-assignment-search{border-radius:10px;gap:8px;height:38px;padding:0 11px}.student-assignment-search svg{width:18px;height:18px}.student-assignment-search input{font-size:13px}.student-assignment-add{font-size:12px;border-radius:10px!important;min-height:38px!important}.student-assignment-grid{grid-auto-rows:65px;gap:10px 12px;padding:0 18px 18px}.student-assignment-item{border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;height:65px;padding:8px 10px}.student-assignment-avatar{width:38px;height:38px;font-size:12px}.student-assignment-copy{gap:4px}.student-assignment-copy strong{font-size:12px}.student-assignment-copy small{font-size:10px}.student-assignment-meta{gap:6px}.student-assignment-meta strong,.student-assignment-meta time{font-size:10px}}@media (min-width:1101px) and (max-width:1280px){.student-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:821px){.trend-panel,.competency-panel{height:396px;min-height:396px}.sa-dashboard-grid .dashboard-panel-heading{flex-basis:94px;min-height:94px;padding-inline:32px}.sa-dashboard-grid .dashboard-panel-heading h3{font-size:24px}.sa-dashboard-grid .dashboard-panel-heading p{font-size:12px}.trend-chart{height:auto;padding-inline:30px}.chart-caption{min-height:50px;margin:0;padding:9px 32px 25px;font-size:12px}.level-badge{white-space:nowrap;border-radius:6px;flex:none;align-items:center;min-height:32px;padding:0 10px;line-height:1;display:inline-flex;font-size:11px!important}.competency-content{grid-template-columns:minmax(260px,1fr) 150px;gap:14px;padding:0 32px 22px 24px}.radar-chart,.radar-chart svg{height:264px}.radar-chart svg{width:min(100%,320px)}.competency-legend{gap:16px}.competency-legend span{min-height:36px;padding-inline:15px;font-size:13px}.competency-legend i{width:10px;height:10px}.activity-log-panel,.queue-panel,.sa-dashboard-lower>.dashboard-panel{height:265px;min-height:265px}.queue-list{gap:12px 8px;padding:0 32px 22px}.queue-list>.action-list-item{min-height:70px;padding:13px 28px 10px 14px}.queue-list>.action-list-item span{font-size:11px}.queue-list>.action-list-item small{margin-top:7px;font-size:9px}}@container (max-width:520px){.competency-panel .competency-content{grid-template-columns:minmax(200px,1fr) 104px;gap:10px;padding:0 18px 22px}.competency-panel .competency-legend{gap:12px}.competency-panel .competency-legend span{gap:7px;min-height:36px;padding-inline:9px;font-size:10px}.competency-panel .competency-legend i{flex:none;width:8px;height:8px}}@media (min-width:1101px){.member-toolbar-actions>span{font-size:11px}.member-bulk-button{font-size:12px;border-radius:10px!important;min-height:38px!important;padding-inline:14px!important}.member-connection-status{font-size:12px}.member-connection-status svg{width:15px;height:15px}}@media (min-width:1800px){.app-shell:has(.page-stack) .page-content{padding:40px 76px 18px 38px}.app-shell .page-stack.member-page{gap:16px}.member-page .page-heading{min-height:104px}.member-page .page-heading h2{margin-bottom:8px;font-size:32px;line-height:1.3}.member-page .page-heading p{font-size:16px;line-height:1.5}.member-workspace-card{border-radius:24px}.member-page .workspace-tabs{min-height:86px;padding:0 32px}.member-page .workspace-tabs button{min-height:86px;padding:0 18px;font-size:18px}.member-page .workspace-tab-panel{padding:31px 32px 32px}.member-page .workspace-toolbar{min-height:42px;margin-bottom:23px}.member-page .workspace-search{border-radius:12px;width:min(360px,100%);height:42px;padding:0 16px}.member-page .workspace-search svg{width:20px;height:20px}.member-page .workspace-search input{font-size:16px}.member-toolbar-actions>span{font-size:14px}.member-bulk-button{font-size:14px;border-radius:12px!important;min-height:42px!important;padding-inline:16px!important}.member-page .workspace-table{min-width:1180px}.member-page .workspace-table th{height:52px;padding:0 12px;font-size:14px}.member-page .workspace-table td{text-overflow:clip;white-space:normal;height:81px;padding:12px;font-size:16px;overflow:visible}.member-page .person-cell{gap:12px}.member-page .person-cell .person-avatar.small{width:48px;height:48px;font-size:14px}.member-page .person-cell strong{font-size:16px}.member-page .person-cell small{margin-top:5px;font-size:14px}.member-page .workspace-status{min-height:28px;padding:4px 8px;font-size:14px}.member-page .workspace-status svg{width:16px;height:16px}.member-page .link-text,.member-connection-status{font-size:16px}.member-connection-status svg{width:18px;height:18px}}.observation-write-page,.observation-flow-header,.observation-flow-card,.observation-step-content{min-width:0}.observation-write-page{gap:40px}.observation-flow-header{border-radius:24px;height:119px;min-height:119px;padding:24px}.observation-flow-header>div{flex:1;min-width:0}.observation-flow-header h2,.observation-flow-header p{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.observation-flow-header>.observation-write-status{width:auto;min-width:150px;max-width:100%;padding-inline:20px}.observation-flow-header>.observation-write-status b{text-overflow:ellipsis;overflow:hidden}.observation-flow-card{border-radius:24px;padding:32px;overflow:visible}.observation-step-heading{height:auto;min-height:40px}.observation-step-heading h3{white-space:normal;overflow-wrap:anywhere;min-width:0}.observation-step-heading h3 em{vertical-align:middle;color:#ef4444;letter-spacing:0;background:#ffeded;border-radius:6px;align-items:center;min-height:28px;margin-left:12px;padding:0 10px;font-size:14px;font-style:normal;line-height:1;display:inline-flex}.observation-step-heading.has-search h3{flex:1}.observation-student-search{color:#94a3b8;background:#f1f5f9;border:1px solid #0000;border-radius:14px;flex:0 auto;align-items:center;gap:10px;width:min(437px,46%);height:46px;padding:0 18px;display:flex}.observation-student-search:focus-within{background:#fff;border-color:#257ddb;box-shadow:0 0 0 3px #e2f1ff}.observation-student-search svg{width:22px;height:22px}.observation-student-search input{color:#1e293b;background:0 0;border:0;outline:0;width:100%;min-width:0;font-size:16px}.observation-student-search input::placeholder{color:#94a3b8}.step-progress{margin:22px 0 48px}.student-choice-carousel{grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:4px;min-width:0;min-height:252px;display:grid}.student-choice-grid{grid-template-rows:repeat(2,114px);grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;min-width:0;height:252px}.student-choice-grid button{width:100%;min-width:0}.student-choice-grid button .person-avatar{aspect-ratio:1;border-radius:50%;flex:0 0 64px;width:64px;min-width:64px;max-width:64px;height:64px}.student-choice-grid button>span{overflow:hidden}.student-choice-grid strong,.student-choice-grid small{max-width:100%}.student-carousel-arrow{color:#257ddb;cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:52px;height:72px;padding:0;display:grid}.student-carousel-arrow:not(:disabled):hover{background:#f4f9ff}.student-carousel-arrow:disabled{color:#cbd5e1;cursor:default}.student-carousel-arrow svg{stroke-width:2.5px;width:42px;height:42px}.student-search-empty{color:#94a3b8;text-align:center;place-content:center;justify-items:center;gap:8px;min-height:252px;display:grid}.student-search-empty svg{width:32px;height:32px}.student-search-empty strong{color:#475569;font-size:18px}.student-search-empty span{font-size:14px}.single-date-picker{position:relative}.single-date-label{display:block}.single-date-trigger{min-width:0}.single-date-trigger>span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.single-date-calendar{z-index:160}.single-date-calendar-grid>span{width:44px;height:44px}.competency-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;min-width:0}.competency-choice-grid button{text-align:center;border-radius:16px;flex-direction:column;justify-content:center;gap:14px;min-width:0;min-height:168px;padding:18px}.competency-choice-grid button.selected{background:#f4f9ff;border-color:#257ddb;box-shadow:inset 0 0 0 1px #257ddb}.competency-choice-grid button>div{width:100%}.competency-choice-grid strong,.competency-choice-grid small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.competency-choice-grid strong{color:#1e293b;font-size:20px;line-height:28px}.competency-choice-grid small{color:#94a3b8;margin-top:4px;font-size:15px;line-height:22px}.level-evaluation-list{gap:16px;height:auto;max-height:none;overflow:visible}.level-evaluation-list article{border-radius:24px;flex:0 0 202px;min-width:0;height:202px;padding:24px}.level-evaluation-list article>.level-evaluation-heading{align-items:center;gap:16px;height:44px;display:flex}.level-evaluation-list article>.level-evaluation-heading>.competency-symbol{background:0 0;border:0;border-radius:8px;flex:0 0 44px;width:44px;height:44px;display:block}.level-evaluation-list article>.level-evaluation-heading>strong{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:24px;line-height:32px;overflow:hidden}.level-evaluation-list article>div:last-child{gap:16px;height:92px;margin-top:16px}.level-evaluation-list article>div:last-child button{border-radius:16px;min-width:0;height:92px}.level-evaluation-list button strong,.level-evaluation-list button small{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.level-evaluation-list button strong{font-size:24px;line-height:32px}.level-evaluation-list button small{font-size:18px;line-height:24px}.tag-selection{min-width:0;height:auto;min-height:119px}.custom-tag{min-width:0}.selected-observation-tags{min-width:0;max-width:100%}.selected-observation-tags button{white-space:normal;min-width:0;max-width:100%;height:auto;min-height:38px}.selected-observation-tags button>span{overflow-wrap:anywhere;min-width:0}.comment-editor{min-width:0}.comment-editor textarea{overflow-wrap:anywhere;min-width:0;padding:16px;font-size:16px;line-height:1.6}.comment-editor>div{gap:16px}.comment-editor>div>span{flex:none;font-size:14px}.comment-editor>div>button{border-radius:12px;min-height:48px;padding-inline:16px;font-size:16px}.comment-editor>div>button svg{width:24px;height:24px}.photo-section{min-width:0}.photo-uploader{flex-wrap:wrap;gap:20px;min-width:0;display:flex}.photo-add-tile,.photo-preview{border-radius:16px;flex:0 0 160px;width:160px;height:160px;margin:0;position:relative;overflow:hidden}.photo-add-tile{color:#94a3b8;cursor:pointer;background:#fff;border:2px dashed #cbd5e1;place-content:center;justify-items:center;gap:12px;display:grid}.photo-add-tile:hover{color:#257ddb;background:#f8fbff;border-color:#86c5f7}.photo-add-tile.disabled{cursor:default}.photo-add-tile.disabled:hover{color:#94a3b8;background:#fff;border-color:#cbd5e1}.photo-add-tile svg{width:32px;height:32px}.photo-add-tile span{font-size:18px;font-weight:600}.photo-preview{background:#f1f5f9;border:1px solid #e2e8f0}.photo-preview>img{object-fit:cover}.photo-preview>button{z-index:2;color:#fff;cursor:pointer;background:#0f172ae0;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;top:8px;right:8px}.photo-preview>button svg{width:16px;height:16px}.photo-section>p{color:#94a3b8;margin:14px 0 0;font-size:13px}.photo-section>p.warning{color:#b45309}.observation-review{min-width:0;display:block}.observation-review dl{background:#f8fafc;border:1px solid #cbd5e1;border-radius:16px;gap:14px;min-width:0;padding:20px 18px;display:grid}.observation-review dl div{background:0 0;grid-template-columns:max-content minmax(0,1fr);gap:10px;min-width:0;padding:0;display:grid}.observation-review dt,.observation-review dd{min-width:0;font-size:16px;line-height:1.55}.observation-review dt{color:#0f172a;font-weight:700}.observation-review dd{color:#64748b;overflow-wrap:anywhere}.observation-step-actions{min-width:0}.observation-step-actions .soft-button{text-overflow:ellipsis;max-width:48%;overflow:hidden}.observation-complete{min-width:0;min-height:500px}.observation-complete>img{width:110px;height:110px}.observation-complete h3{margin:36px 0 44px;font-size:32px;line-height:1.3}.observation-complete>div{gap:24px}.observation-complete>div .soft-button{border-radius:16px;width:256px;min-height:56px;font-size:16px}.app-toast p{overflow-wrap:anywhere;min-width:0}@media (max-width:1000px){.competency-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:820px){.observation-write-page{gap:28px}.observation-flow-header{height:auto;min-height:0}.observation-flow-header h2,.observation-flow-header p{white-space:normal;overflow-wrap:anywhere}.observation-step-heading.has-search{align-items:stretch}.observation-student-search{flex:none;width:100%;height:50px}.student-choice-carousel{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}.student-choice-grid{grid-template-rows:none;grid-template-columns:1fr;gap:12px;height:auto}.student-choice-grid button{height:96px}.student-carousel-arrow{width:38px}.student-carousel-arrow svg{width:32px;height:32px}.level-evaluation-list article{flex-basis:auto;height:auto;min-height:318px;padding:18px}.level-evaluation-list article>.level-evaluation-heading{gap:10px}.level-evaluation-list article>.level-evaluation-heading>strong{font-size:18px}.level-evaluation-list article>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;height:auto;margin-top:16px}.level-evaluation-list article>div:last-child button{height:84px}.level-evaluation-list button strong{font-size:21px}.level-evaluation-list button small{font-size:16px}.observation-review dl div{grid-template-columns:1fr;gap:2px}}@media (max-width:600px){.observation-flow-card{padding:22px 18px 24px}.observation-step-heading h3 em{width:fit-content;margin:8px 0 0;display:flex}.student-choice-carousel{margin-inline:-10px}.student-choice-grid button .person-avatar{flex-basis:50px;width:50px;min-width:50px;max-width:50px;height:50px}.single-date-calendar-grid>span{width:38px;height:38px}.competency-choice-grid{grid-template-columns:1fr}.competency-choice-grid button{min-height:132px}.level-evaluation-list{max-height:none;padding-right:0;overflow-y:visible}.comment-editor>div{flex-direction:column-reverse;align-items:flex-end}.comment-editor>div>button{width:100%;font-size:14px}.photo-uploader{gap:12px}.photo-add-tile,.photo-preview{flex-basis:128px;width:128px;height:128px}.observation-complete{min-height:420px}.observation-complete>img{width:88px;height:88px}.observation-complete h3{margin:28px 0 32px;font-size:26px}.observation-complete>div{flex-direction:column;gap:12px;width:100%}.observation-complete>div .soft-button{width:100%}}@media (min-width:1101px){.observation-drafts-page .drafts-page-header h2{font-size:26px;line-height:32px}.observation-drafts-page .drafts-page-header p{font-size:12px;line-height:18px}.draft-choice strong{font-size:14px;line-height:20px}.draft-choice small{font-size:11px;line-height:16px}.draft-resume-button{font-size:13px}}@media (min-width:821px) and (max-width:1100px){.observation-drafts-page .drafts-page-header h2{font-size:27px;line-height:34px}.observation-drafts-page .drafts-page-header p{font-size:14px;line-height:24px}}@media (min-width:601px) and (max-width:820px){.draft-choice strong{font-size:20px;line-height:28px}.draft-choice small{font-size:15px;line-height:21px}}@media (max-width:600px){.observation-drafts-page .drafts-page-header h2{font-size:24px;line-height:30px}.observation-drafts-page .drafts-page-header p{font-size:13px;line-height:20px}.draft-choice strong{font-size:18px;line-height:25px}.draft-choice small{font-size:13px;line-height:19px}}@media (min-width:1101px){.app-area{height:calc(100dvh - 80px);min-height:0;overflow:hidden}.app-shell:has(.page-stack) .page-content{height:100%;padding-bottom:18px;overflow-y:auto}.app-shell .page-stack{width:100%;max-width:none}.workspace-page,.users-page,.student-assignment-page{height:100%;min-height:0}.member-workspace-card,.record-control-card,.diagnostic-settings .settings-card,.student-management-layout,.observation-drafts-page .drafts-card,.admin-management-grid,.student-assignment-card{flex:1 1 0;height:auto;min-height:0;max-height:100%}.observation-flow-card{flex:none;height:auto;min-height:0}.record-control-card.record-reports-view,.record-control-card.record-unread-view,.record-control-card.record-audit-view,.diagnostic-settings .settings-card-competencies,.diagnostic-settings .settings-card-levels,.diagnostic-settings .settings-card-activity{height:auto;min-height:0}.member-workspace-card,.record-control-card{flex-direction:column;display:flex;overflow:hidden}.member-workspace-card>.workspace-tabs,.record-control-card>.workspace-tabs{flex:none}.member-workspace-card>.workspace-tab-panel,.record-control-card>.workspace-tab-panel{flex:1 1 0;min-height:0}.member-page .workspace-tab-panel{flex-direction:column;display:flex;overflow:hidden}.member-page .workspace-table-scroll{flex:1 1 0;min-height:0;overflow:auto}.member-page .connection-grid,.member-page .consent-grid{min-height:0;overflow-y:auto}.record-control-card>.workspace-tab-panel{overflow-y:auto}.record-report-table-scroll{flex:1 1 0;min-height:0;overflow:auto}.student-selector-panel{flex-direction:column;min-height:0;display:flex}.student-selector-list{flex:1 1 0;min-height:0;overflow-y:auto}.student-detail-content{overflow-y:auto}.observation-drafts-page .draft-list{flex:1 1 0;min-height:0;overflow-y:auto}.admin-management-grid,.student-assignment-card{overflow:hidden}.app-shell .page-stack.observation-write-page{width:min(1252px,100%);max-width:1252px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-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}
