@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-border-style:solid;--tw-font-weight: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-duration:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--color-white:#fff;--spacing:.25rem;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--radius-lg:.5rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.top-1\/2{top:50%}.left-3{left:calc(var(--spacing) * 3)}.z-50{z-index:50}.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}}.m-0{margin:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mr-auto{margin-right:auto}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.table{display:table}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-\[18px\]{width:18px;height:18px}.max-h-\[280px\]{max-height:280px}.min-h-0{min-height:0}.min-h-8{min-height:calc(var(--spacing) * 8)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-10{min-height:calc(var(--spacing) * 10)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-\[54px\]{min-height:54px}.min-h-\[65px\]{min-height:65px}.w-full{width:100%}.max-w-\[520px\]{max-width:520px}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-\[5px\]{gap:5px}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[14px\]{border-radius:14px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#cfd9d5\]{border-color:#cfd9d5}.border-\[var\(--line\)\]{border-color:var(--line)}.border-transparent{border-color:#0000}.bg-\[\#a53535\]{background-color:#a53535}.bg-\[\#f1f3f1\]{background-color:#f1f3f1}.bg-\[\#fbfcfb\]{background-color:#fbfcfb}.bg-\[\#fdf3e1\]{background-color:#fdf3e1}.bg-\[var\(--brand\)\]{background-color:var(--brand)}.bg-\[var\(--ink\)\]{background-color:var(--ink)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-\[var\(--ink\)\]{fill:var(--ink)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-\[13px\]{padding-inline:13px}.px-\[17px\]{padding-inline:17px}.px-\[18px\]{padding-inline:18px}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pl-9{padding-left:calc(var(--spacing) * 9)}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-\[0\.8rem\]{font-size:.8rem}.text-\[0\.9rem\]{font-size:.9rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[0\.74rem\]{font-size:.74rem}.text-\[0\.75rem\]{font-size:.75rem}.text-\[0\.76rem\]{font-size:.76rem}.text-\[0\.78rem\]{font-size:.78rem}.text-\[0\.82rem\]{font-size:.82rem}.text-\[0\.84rem\]{font-size:.84rem}.text-\[0\.86rem\]{font-size:.86rem}.text-\[0\.88rem\]{font-size:.88rem}.font-\[740\]{--tw-font-weight:740;font-weight:740}.font-\[760\]{--tw-font-weight:760;font-weight:760}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-\[\#8a5a14\]{color:#8a5a14}.text-\[\#a53535\]{color:#a53535}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--brand\)\]{color:var(--brand)}.text-\[var\(--brand-dark\)\]{color:var(--brand-dark)}.text-\[var\(--ink\)\]{color:var(--ink)}.text-\[var\(--muted\)\]{color:var(--muted)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.accent-\[var\(--brand\)\]{accent-color:var(--brand)}.shadow-\[0_8px_24px_rgba\(23\,49\,45\,0\.25\)\]{--tw-shadow:0 8px 24px var(--tw-shadow-color,#17312d40);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_10px_25px_rgba\(18\,104\,88\,0\.22\)\]{--tw-shadow:0 10px 25px var(--tw-shadow-color,#12685838);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.transition-\[background\,border-color\,color\,box-shadow\,transform\]{transition-property:background,border-color,color,box-shadow,transform;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,color\,box-shadow\]{transition-property:background,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[border-color\,box-shadow\,background\]{transition-property:border-color,box-shadow,background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.placeholder\:text-\[\#9aa6a3\]::placeholder{color:#9aa6a3}@media (hover:hover){.hover\:border-\[var\(--brand\)\]:hover{border-color:var(--brand)}.hover\:bg-\[\#f1f8f5\]:hover{background-color:#f1f8f5}.hover\:text-\[var\(--brand-dark\)\]:hover{color:var(--brand-dark)}}.focus\:border-\[var\(--brand\)\]:focus{border-color:var(--brand)}.focus\:bg-white:focus{background-color:var(--color-white)}.focus\:shadow-\[0_0_0_3px_rgba\(18\,104\,88\,0\.1\)\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,#1268581a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:outline-\[3px\]:focus-visible{outline-style:var(--tw-outline-style);outline-width:3px}.focus-visible\:outline-offset-\[3px\]:focus-visible{outline-offset:3px}.focus-visible\:outline-\[rgba\(230\,162\,60\,0\.5\)\]:focus-visible{outline-color:#e6a23c80}@media (hover:hover){.hover\:enabled\:-translate-y-px:hover:enabled{--tw-translate-y:-1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:enabled\:border-\[var\(--brand\)\]:hover:enabled{border-color:var(--brand)}.hover\:enabled\:bg-\[\#8d2929\]:hover:enabled{background-color:#8d2929}.hover\:enabled\:bg-\[\#edf4f1\]:hover:enabled{background-color:#edf4f1}.hover\:enabled\:bg-\[var\(--brand-dark\)\]:hover:enabled{background-color:var(--brand-dark)}.hover\:enabled\:text-\[var\(--brand\)\]:hover:enabled{color:var(--brand)}.hover\:enabled\:text-\[var\(--ink\)\]:hover:enabled{color:var(--ink)}.hover\:enabled\:shadow-\[0_13px_30px_rgba\(18\,104\,88\,0\.26\)\]:hover:enabled{--tw-shadow:0 13px 30px var(--tw-shadow-color,#12685842);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:opacity-\[0\.55\]:disabled{opacity:.55}.data-\[state\=active\]\:bg-white[data-state=active]{background-color:var(--color-white)}.data-\[state\=active\]\:text-\[var\(--brand-dark\)\][data-state=active]{color:var(--brand-dark)}.data-\[state\=active\]\:shadow-\[0_3px_10px_rgba\(27\,55\,49\,0\.1\)\][data-state=active]{--tw-shadow:0 3px 10px var(--tw-shadow-color,#1b37311a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#17312d;--muted:#63736f;--paper:#f7f5ef;--surface:#fff;--line:#dfe5e1;--brand:#126858;--brand-dark:#0d4e43;--accent:#e6a23c;--danger:#b53f3f;--shadow:0 24px 70px #1b373121;--font-lia-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-lia-serif:Georgia, "Times New Roman", serif;font-family:var(--font-lia-sans)}*{box-sizing:border-box}html{background:var(--paper);min-width:320px}body{color:var(--ink);background:var(--paper);margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.login-shell{grid-template-columns:minmax(360px,.92fr) minmax(460px,1.08fr);min-height:100vh;display:grid}.login-story{color:#f8fbf9;background:radial-gradient(circle at 85% 20%,#e6a23c40 0 9%,#0000 9.4%),radial-gradient(circle at 15% 78%,#ffffff12 0 23%,#0000 23.4%),linear-gradient(145deg,#0d5045 0%,#143d37 55%,#162d2b 100%);flex-direction:column;justify-content:space-between;min-height:100%;padding:clamp(32px,5vw,72px);display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #ffffff1c;border-radius:50%;width:32rem;height:32rem;position:absolute;bottom:-15rem;right:-13rem}.brand-lockup{z-index:1;letter-spacing:.16em;align-items:center;gap:12px;font-size:1.05rem;font-weight:800;display:inline-flex;position:relative}.brand-mark{background:url(/icon-512.png) 50%/cover no-repeat;border-radius:13px 13px 13px 4px;flex:none;width:42px;height:42px;display:block;box-shadow:0 0 0 1px #ffffff29}.story-copy{z-index:1;max-width:620px;padding-block:60px;position:relative}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-size:.76rem;font-weight:800;display:block}.story-copy h1{letter-spacing:-.055em;max-width:11ch;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.6rem,5vw,5.25rem);font-weight:500;line-height:.98}.story-copy p{color:#f8fbf9ba;max-width:50ch;margin:32px 0 0;font-size:1.06rem;line-height:1.7}.story-note{z-index:1;color:#f8fbf98c;margin:0;font-size:.86rem;position:relative}.login-panel{background:linear-gradient(#12685809 1px, transparent 1px), linear-gradient(90deg, #12685809 1px, transparent 1px), var(--paper);background-size:36px 36px;place-items:center;min-height:100%;padding:clamp(28px,7vw,96px);display:grid}.login-card{width:min(100%,470px);box-shadow:var(--shadow);background:#fffffff5;border:1px solid #17312d14;border-radius:28px;padding:clamp(28px,5vw,52px)}.mobile-brand{color:var(--ink);margin-bottom:48px;display:none}.login-card h2{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,4vw,2.75rem);font-weight:500}.muted{color:var(--muted);margin:12px 0 0;line-height:1.6}.login-form{gap:20px;margin-top:36px;display:grid}.login-form label{gap:9px;font-size:.9rem;font-weight:720;display:grid}.login-form input{border:1px solid var(--line);width:100%;height:52px;color:var(--ink);background:#fbfcfb;border-radius:13px;outline:none;padding:0 16px;transition:border-color .15s,box-shadow .15s,background .15s}.login-form input::placeholder{color:#9aa6a3}.login-form input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px #1268581c}.primary-button{color:#fff;background:var(--brand);cursor:pointer;border:0;border-radius:14px;min-height:54px;margin-top:4px;font-weight:800;transition:background .15s,transform .15s,box-shadow .15s;box-shadow:0 10px 25px #12685838}.primary-button:hover:not(:disabled){background:var(--brand-dark);transform:translateY(-1px);box-shadow:0 13px 30px #12685842}.primary-button:focus-visible{outline-offset:3px;outline:3px solid #e6a23c80}.primary-button:disabled{cursor:wait;opacity:.68}.form-error{border-left:3px solid var(--danger);color:#8f3030;background:#fff3f2;border-radius:8px;margin:-4px 0 0;padding:12px 14px;font-size:.88rem;line-height:1.5}.access-help{color:var(--muted);text-align:center;margin:28px 0 0;font-size:.83rem;line-height:1.55}.activation-shell{background:radial-gradient(circle at 8% 10%, #e6a23c26, transparent 28%), radial-gradient(circle at 92% 90%, #12685821, transparent 32%), var(--paper);place-items:center;min-height:100vh;padding:clamp(22px,6vw,72px);display:grid}.activation-card{width:min(100%,620px);box-shadow:var(--shadow);background:#fffffff7;border:1px solid #17312d14;border-radius:28px;padding:clamp(28px,5vw,54px)}.activation-brand{color:var(--ink);margin-bottom:42px}.activation-mark{color:#fff;background:var(--brand)}.activation-card h1{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,5vw,3rem);font-weight:500}.profile-summary{border:1px solid var(--line);background:#f8faf8;border-radius:16px;gap:0;margin:32px 0 0;padding:6px 20px;display:grid}.profile-summary div{border-bottom:1px solid var(--line);grid-template-columns:112px minmax(0,1fr);gap:16px;padding:13px 0;display:grid}.profile-summary div:last-child{border-bottom:0}.profile-summary dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.profile-summary dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.91rem;font-weight:700}.activation-form{margin-top:28px}.activation-disclosure{color:var(--ink);background:#1268580f;border:1px solid #12685838;border-radius:14px;margin-top:20px;padding:16px 18px}.activation-disclosure strong{font-size:.9rem}.activation-disclosure p{color:var(--muted);margin:6px 0 0;font-size:.82rem;line-height:1.55}.field-help{color:var(--muted);margin:-13px 0 0;font-size:.8rem}.field-status{margin:-12px 0 0;font-size:.8rem;font-weight:750}.field-status.valid{color:var(--brand)}.field-status.invalid{color:var(--danger)}.inline-check{color:var(--muted);align-items:flex-start;line-height:1.5;gap:10px!important;font-size:.83rem!important;font-weight:600!important;display:flex!important}.inline-check input{width:18px;height:18px;accent-color:var(--brand);flex:none;margin-top:1px}.terms-check{border:1px solid var(--line);background:#f8faf8;border-radius:12px;padding:14px}.legal-acceptance{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.legal-acceptance legend{color:var(--ink);margin-bottom:10px;font-size:.9rem;font-weight:760}.terms-check a,.legal-document a{color:var(--brand);font-weight:750}.activation-message{text-align:center;justify-items:center;display:grid}.activation-message>p{max-width:42ch;color:var(--muted);line-height:1.65}.activation-mark{border-radius:18px 18px 18px 6px;place-items:center;width:58px;height:58px;margin-bottom:26px;font-size:1.35rem;font-weight:850;display:grid}.activation-mark-error{background:var(--danger)}.button-link{place-items:center;min-width:230px;padding:0 24px;text-decoration:none;display:grid}.secondary-link{color:var(--brand);margin-top:12px;font-weight:800}.access-help a,.login-form a,.activation-card .muted a{color:var(--brand);text-underline-offset:2px;font-weight:750}.activation-card .login-form{margin-top:28px}.activation-card>p.muted:last-of-type{text-align:center;margin-top:22px}@media (max-width:840px){.login-shell{display:block}.login-story{display:none}.login-panel{min-height:100vh;padding:22px}.mobile-brand{display:inline-flex}.login-card{border-radius:22px}}@media (max-width:460px){.login-panel{background:var(--surface);align-items:stretch;padding:0}.login-card{min-height:100vh;box-shadow:none;border:0;border-radius:0;padding:28px 22px 36px}.activation-shell{background:var(--surface);align-items:stretch;padding:0}.activation-card{min-height:100vh;box-shadow:none;border:0;border-radius:0;padding:28px 22px 36px}.profile-summary div{grid-template-columns:1fr;gap:5px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.loading-screen{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.loading-mark,.empty-icon{color:#fff;background:var(--brand);border-radius:17px 17px 17px 5px;place-items:center;width:54px;height:54px;font-weight:850;display:grid}.app-shell{background:#f4f3ee;grid-template-columns:288px minmax(0,1fr);min-height:100vh;display:grid}.avatar{color:#183a34;background:#dceae6;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.72rem;font-weight:850;display:grid}.text-button{color:#eef6f39e;cursor:pointer;background:0 0;border:0;padding:6px;font-size:.72rem}.text-button:hover{color:#fff}.modal-card .text-button{color:var(--muted);font-size:.82rem;font-weight:720}.modal-card .text-button:hover{color:var(--ink)}.workspace{min-width:0;padding:clamp(26px,4.5vw,64px)}.workspace-header{justify-content:space-between;align-items:flex-end;gap:28px;max-width:1480px;margin:0 auto 30px;display:flex}.workspace-header h1{letter-spacing:-.05em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.15rem,4vw,3.4rem);font-weight:500}.workspace-header p{color:var(--muted);margin:10px 0 0;font-size:.9rem}.secondary-button,.ghost-button{min-height:44px;color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cfd9d5;border-radius:12px;padding:0 17px;font-weight:760}.secondary-button:hover,.ghost-button:hover{border-color:var(--brand);color:var(--brand)}.summary-row{grid-template-columns:170px 190px minmax(260px,1fr);gap:12px;max-width:1480px;margin:0 auto 16px;display:grid}.summary-row article{background:#ffffffb3;border:1px solid #17312d14;border-radius:16px;padding:18px 20px}.summary-row span,.summary-row strong,.summary-row small{display:block}.summary-row small{color:var(--muted);margin-top:4px;font-size:.68rem;font-weight:600}.summary-row span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:750}.summary-row strong{margin-top:7px;font-size:1.3rem}.summary-wide strong{text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;overflow:hidden}.banner{border-radius:12px;max-width:1480px;margin:0 auto 16px;padding:13px 16px;font-size:.86rem}.error-banner{color:#8f3030;background:#fff3f2;border:1px solid #f0c9c5}.success-banner{color:#145a4d;background:#edf8f4;border:1px solid #b9dacd}.warning-banner{color:#79520e;background:#fff8e8;border:1px solid #ead09b}.gradebook-hint{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;margin:14px 16px;display:flex}.view-tabs{border-bottom:1px solid #d9dfdc;gap:6px;max-width:1480px;margin:-10px auto 22px;padding-bottom:10px;display:flex}.view-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 15px;font-weight:780}.view-tabs button.active{color:var(--brand-dark);background:#e7f1ed}.gradebook-panel,.empty-panel{background:#fff;border:1px solid #17312d17;border-radius:20px;max-width:1480px;margin:0 auto;overflow:hidden;box-shadow:0 14px 45px #1a352f0f}.gradebook-toolbar{z-index:8;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:14px 18px;display:flex;position:sticky;top:0}.term-tabs{background:#f1f3f1;border-radius:12px;gap:5px;padding:4px;display:flex}.term-tabs button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 13px;font-size:.78rem;font-weight:740}.term-tabs button.active,.term-tabs button[data-state=active]{color:var(--brand-dark);background:#fff;box-shadow:0 3px 10px #17312d17}.save-area{align-items:center;gap:14px;display:flex}.save-area>span{color:var(--muted);font-size:.76rem}.primary-button.compact{min-height:43px;box-shadow:none;border-radius:11px;margin:0;padding:0 18px;font-size:.82rem}.table-scroll{width:100%;overflow-x:auto}.grade-table{border-collapse:collapse;width:100%;min-width:920px;font-size:.82rem}.grade-table th,.grade-table td{text-align:center;border-bottom:1px solid #edf0ee;padding:13px 12px}.grade-table thead th{height:68px;color:var(--muted);letter-spacing:.015em;background:#fafbf9;font-size:.7rem;font-weight:800}.assessment-heading{cursor:help;justify-content:center;align-items:center;min-height:34px;display:inline-flex;position:relative}.assessment-heading:focus-visible{outline-offset:2px;border-radius:5px;outline:3px solid #1268582e}.assessment-tooltip{z-index:30;color:#fff;text-align:left;visibility:hidden;opacity:0;pointer-events:none;background:#17312d;border-radius:9px;width:min(250px,100vw - 36px);padding:11px 12px;font-size:.72rem;font-weight:600;line-height:1.45;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%)translateY(3px);box-shadow:0 10px 30px #091f1b33}.assessment-heading:hover .assessment-tooltip,.assessment-heading:focus .assessment-tooltip{visibility:visible;opacity:1;transform:translate(-50%)translateY(0)}.grade-table tbody tr:hover{background:#fbfcfa}.grade-table tbody tr:last-child th,.grade-table tbody tr:last-child td{border-bottom:0}.student-column{z-index:4;width:300px;min-width:300px;position:sticky;left:0;text-align:left!important}.student-cell{z-index:3;vertical-align:middle;white-space:nowrap;background:#fff;min-width:300px;position:sticky;left:0;text-align:left!important}.student-cell>.roll-number{vertical-align:middle;margin-right:11px}.student-cell>.roll-number+span{vertical-align:middle;white-space:normal;max-width:calc(100% - 48px);display:inline-block}.student-cell strong,.student-cell small{display:block}.student-cell strong{color:var(--ink);font-size:.8rem}.student-cell small{color:#91a09c;margin-top:4px;font-size:.66rem;font-weight:500}.roll-number{width:32px;height:32px;color:var(--brand);background:#edf5f2;border-radius:10px;place-items:center;font-size:.72rem;display:inline-grid}.grade-input{width:58px;height:38px;color:var(--ink);text-align:center;background:#fff;border:1px solid #dce3e0;border-radius:9px;outline:none;font-size:.82rem;font-weight:720}.grade-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1268581a}.grade-input.dirty{border-color:var(--accent);background:#fffbf2}.grade-input.invalid,.grade-input.invalid:focus{border-color:var(--danger);color:#8f3030;background:#fff3f2;box-shadow:0 0 0 3px #b53f3f1a}.mobile-gradebook{display:none}.structure-panel{background:#fff;border:1px solid #17312d17;border-radius:20px;max-width:1480px;margin:0 auto;overflow:hidden;box-shadow:0 14px 45px #1a352f0f}.structure-heading{border-bottom:1px solid var(--line);align-items:flex-start;gap:24px;padding:28px;display:flex}.structure-heading h2{letter-spacing:-.025em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.structure-heading p{max-width:760px;color:var(--muted);margin:9px 0 0;font-size:.86rem;line-height:1.55}.structure-panel>.banner{margin:18px 28px 0}.fixed-structure{grid-template-columns:repeat(2,minmax(0,240px));gap:10px;padding:22px 28px;display:grid}.fixed-structure article{background:#f0f7f4;border:1px solid #cfe0da;border-radius:12px;padding:15px 17px}.fixed-structure strong,.fixed-structure span{display:block}.fixed-structure span{color:var(--muted);margin-top:4px;font-size:.72rem}.structure-table-scroll{padding:0 28px;overflow-x:auto}.structure-save-status{color:var(--muted);align-items:center;gap:9px;font-size:.78rem;display:flex}.structure-save-controls{flex:none;justify-content:flex-end;align-items:center;gap:12px;display:flex}.structure-term-bar{justify-content:space-between;align-items:center;gap:18px;margin:18px 28px 14px;display:flex}.term-tabs button small{background:#17312d14;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.68rem;font-weight:740}.status-dot{border-radius:50%;width:9px;height:9px}.status-dot.saved{background:var(--brand)}.status-dot.pending{background:var(--accent)}.structure-table{border-collapse:collapse;width:100%;min-width:760px}.structure-table th,.structure-table td{text-align:left;border-bottom:1px solid #edf0ee;padding:11px 9px}.structure-table th{color:var(--muted);font-size:.72rem}.structure-table select,.structure-table input{border:1px solid var(--line);width:100%;min-width:150px;height:42px;color:var(--ink);background:#fbfcfb;border-radius:9px;padding:0 11px}.activity-kind-control{border:1px solid var(--line);background:#f3f6f4;border-radius:11px;min-width:190px;padding:3px;display:inline-flex}.activity-kind-control button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1 1 0;padding:0 11px;font-size:.75rem;font-weight:760}.activity-kind-control button[aria-pressed=true]{color:var(--brand-dark);background:#fff;box-shadow:0 2px 8px #14362f1a}.activity-kind-control button:focus-visible{outline-offset:1px;outline:2px solid #12685859}.activity-kind-control button:disabled{cursor:not-allowed;opacity:.55}.structure-empty-row td,.structure-empty-mobile{color:var(--muted);font-size:.8rem}.structure-empty-row td{text-align:center;padding-block:24px}.structure-empty-mobile{text-align:center;border:1px dashed #cad7d2;border-radius:12px;margin:0 0 14px;padding:18px}.structure-add-row td{border-bottom:0;padding-block:15px 20px}.structure-add-activity{min-height:40px;color:var(--brand-dark);cursor:pointer;background:#f6faf8;border:1px dashed #9ebbb2;border-radius:11px;align-items:center;gap:8px;padding:0 14px 0 9px;font-size:.78rem;font-weight:780;display:inline-flex}.structure-add-activity span{color:#fff;background:var(--brand);border-radius:8px;place-items:center;width:24px;height:24px;font-size:1.05rem;line-height:1;display:grid}.structure-add-activity:hover:not(:disabled){border-color:var(--brand);background:#eef7f3}.structure-add-activity:disabled{cursor:not-allowed;opacity:.5}.structure-table tr.pending-removal,.structure-card.pending-removal{opacity:.67;background:#fff7f6}.activity-status{white-space:nowrap;color:var(--muted);align-items:center;gap:6px;font-size:.69rem;font-weight:760;display:inline-flex}.activity-status>span{background:var(--brand);border-radius:50%;width:7px;height:7px}.activity-status.pending>span{background:var(--accent)}.activity-status.removing{color:var(--danger)}.activity-status.removing>span{background:var(--danger)}.mobile-structure-list{display:none}.row-actions{align-items:center;gap:9px;display:flex}.compact-action{min-height:38px;padding:0 12px;font-size:.76rem}.danger-link{color:var(--danger);cursor:pointer;background:0 0;border:0;font-size:.76rem;font-weight:750}.structure-note,.structure-empty{color:var(--muted);margin:0;padding:18px 28px 24px;font-size:.78rem;line-height:1.55}.structure-empty{background:#fff8e8;border-radius:10px;margin:0 28px;padding:18px}.legal-shell{background:var(--paper);min-height:100vh;padding:clamp(22px,6vw,72px)}.legal-document{width:min(100%,820px);box-shadow:var(--shadow);background:#fff;border:1px solid #17312d14;border-radius:24px;margin:0 auto;padding:clamp(28px,6vw,64px)}.legal-brand{margin-bottom:52px;text-decoration:none;color:var(--ink)!important}.legal-document h1{letter-spacing:-.05em;margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.3rem,6vw,4rem);font-weight:500}.legal-document h2{margin:34px 0 10px;font-size:1.05rem}.legal-document p,.legal-document li{color:#50615d;font-size:.94rem;line-height:1.75}.legal-document ul{gap:8px;padding-left:20px;display:grid}.legal-lead{color:var(--ink)!important;font-size:1.08rem!important}.legal-footer{border-top:1px solid var(--line);margin-top:40px;padding-top:22px}.average{color:#fff;background:var(--brand);border-radius:9px;place-items:center;min-width:53px;height:33px;font-size:.76rem;font-weight:850;display:inline-grid}.average.empty{color:#9aa6a3;background:#f0f2f1}.table-state,.empty-gradebook,.empty-panel{text-align:center;min-height:360px;padding:54px 24px}.table-state{color:var(--muted)}.empty-gradebook,.empty-panel{place-content:center;justify-items:center;display:grid}.empty-gradebook .empty-icon,.empty-panel .empty-icon{color:var(--brand);background:#e7f1ed;margin-bottom:20px}.empty-gradebook h2,.empty-panel h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500}.empty-gradebook p,.empty-panel p{max-width:520px;color:var(--muted);margin:11px 0 22px;font-size:.86rem;line-height:1.6}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px)saturate(.8);backdrop-filter:blur(7px)saturate(.8);background:radial-gradient(circle at 50% 10%,#54897a26,#0000 42%),#081815a3;place-items:center;padding:22px;animation:.14s ease-out modal-backdrop-in;display:grid;position:fixed;inset:0}.modal-card{background:linear-gradient(#fff 0%,#fdfdfb 100%);border:1px solid #ffffffb8;border-radius:22px;width:min(100%,560px);max-height:calc(100dvh - 44px);padding:30px;animation:.18s cubic-bezier(.2,.8,.2,1) modal-card-in;overflow-y:auto;box-shadow:0 34px 100px #04181461,0 3px 12px #0418141f}.ui-dialog-card{z-index:101;animation:.18s cubic-bezier(.2,.8,.2,1) ui-dialog-card-in;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes ui-dialog-card-in{0%{opacity:0;transform:translate(-50%,calc(12px - 50%))scale(.985)}}@keyframes modal-backdrop-in{0%{opacity:0}}@keyframes modal-card-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}.modal-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.modal-header h2{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:500}.dialog-description{color:var(--muted);margin:12px 0 0;font-size:.86rem;line-height:1.6}.close-button{width:36px;height:36px;color:var(--muted);cursor:pointer;background:#f0f2f1;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.35rem;display:grid}.close-button:hover,.close-button:focus-visible{color:var(--brand-dark);background:#e5eeea;outline:none}.confirmation-dialog{width:min(100%,520px)}.dialog-callout{color:var(--muted);background:#f2f8f5;border:1px solid #d7e5df;border-radius:13px;gap:6px;margin-top:24px;padding:16px 17px;font-size:.82rem;line-height:1.5;display:grid}.dialog-callout strong{color:var(--ink);font-size:.86rem}.student-form{grid-template-columns:1fr 1fr;gap:18px;margin-top:26px;display:grid}.student-form label{color:var(--ink);gap:8px;font-size:.82rem;font-weight:760;display:grid}.student-form input{border:1px solid var(--line);width:100%;height:48px;color:var(--ink);background:#fbfcfb;border-radius:11px;outline:none;padding:0 13px}.student-form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1268581a}.student-form .full-field{grid-column:1/-1}.optional{color:#98a39f;font-size:.68rem;font-weight:550}.modal-actions{border-top:1px solid var(--line);grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:10px;padding-top:20px;display:flex}.roster-panel{background:#fff;border:1px solid #17312d17;border-radius:20px;max-width:1180px;margin:0 auto;overflow:hidden;box-shadow:0 14px 45px #1a352f0f}.roster-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:24px;padding:28px 30px;display:flex}.roster-heading h2{margin:4px 0 6px;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:500}.roster-heading p{color:var(--muted);margin:0;font-size:.86rem}.roster-table th,.roster-table td{text-align:left}.roster-table th:first-child{width:66px}.roster-table th:last-child,.roster-table td:last-child{text-align:right;width:176px}.roster-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.danger-notice{color:#7f2525;background:#fff7f7;border:1px solid #efc3c3;border-radius:13px;margin:24px 0 4px;padding:18px}.danger-notice strong{margin-bottom:6px;display:block}.danger-notice p{margin:0;font-size:.86rem;line-height:1.55}.danger-button{color:#fff;cursor:pointer;background:#a53535;border:0;border-radius:11px;min-height:44px;padding:0 18px;font-weight:800}.danger-button:disabled{opacity:.55;cursor:not-allowed}.bulk-grade-modal{width:min(100%,1180px)}.bulk-grade-paste{color:var(--ink);gap:8px;margin-top:20px;font-size:.82rem;font-weight:760;display:grid}.bulk-grade-paste textarea{resize:vertical;border:1px solid var(--line);min-height:96px;color:var(--ink);font:inherit;background:#fbfcfb;border-radius:11px;outline:none;padding:12px}.bulk-grade-paste textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1268581a}.bulk-grade-loader{min-height:110px;color:var(--muted);justify-content:center;align-items:center;gap:10px;font-size:.85rem;display:flex}.bulk-grade-loader span{border:2px solid #d7dfdc;border-top-color:var(--brand);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite bulk-grade-spin}@keyframes bulk-grade-spin{to{transform:rotate(360deg)}}.bulk-grade-preview-scroll{border:1px solid var(--line);border-radius:13px;max-height:440px;margin-top:18px;overflow:auto}.bulk-grade-preview{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.bulk-grade-preview th,.bulk-grade-preview td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:138px;padding:8px}.bulk-grade-preview th:first-child{z-index:2;text-align:left;background:#fff;min-width:250px;position:sticky;left:0}.bulk-grade-preview thead th{z-index:3;background:#f4f7f5;position:sticky;top:0}.bulk-grade-preview thead th:first-child{z-index:4;background:#f4f7f5}.bulk-grade-preview thead th>span{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:.65rem;display:block}.bulk-grade-preview select,.bulk-grade-preview input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:38px;padding:0 8px}.bulk-grade-preview input:disabled{color:#9aa6a3;background:#f2f4f3}.bulk-grade-preview input[aria-invalid=true]{background:#fff7f7;border-color:#c95858}.bulk-grade-preview td small{color:#a03838;margin-top:3px;font-size:.64rem;display:block}.bulk-grade-preview tbody th{font-size:.78rem;font-weight:700}.bulk-grade-preview tbody th .roll-number{margin-right:8px;display:inline-grid}.bulk-grade-preview tr.extra-row th,.bulk-grade-preview tr.extra-row td{background:#fff5f5}.bulk-grade-count{color:var(--muted);margin-right:auto;font-size:.76rem}@media (prefers-reduced-motion:reduce){.bulk-grade-loader span{animation:none}}@media (max-width:620px){.bulk-grade-preview th:first-child{min-width:190px}.bulk-grade-modal .modal-actions{flex-direction:column;align-items:stretch}.bulk-grade-modal .modal-actions button{width:100%}.bulk-grade-count{text-align:center;margin-right:0}}.roster-import-modal{width:min(100%,980px)}.roster-paste-label{color:var(--ink);gap:8px;margin-top:22px;font-size:.82rem;font-weight:760;display:grid}.roster-paste-label textarea{resize:vertical;border:1px solid var(--line);min-height:116px;color:var(--ink);font:inherit;background:#fbfcfb;border-radius:11px;outline:none;padding:13px;line-height:1.45}.roster-paste-label textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1268581a}.roster-preview{border:1px solid var(--line);border-radius:13px;margin-top:20px;overflow:hidden}.roster-preview-heading{background:#f4f7f5;justify-content:space-between;padding:11px 14px;font-size:.78rem;display:flex}.roster-preview-heading span{color:var(--muted)}.roster-preview-list{max-height:330px;overflow-y:auto}.roster-preview-row{border-top:1px solid var(--line);grid-template-columns:34px 1fr 1fr minmax(150px,.72fr);align-items:center;gap:8px;padding:8px 10px;display:grid}.roster-preview-row input{border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;height:38px;padding:0 9px}.roster-preview-row.invalid input{background:#fff8f8;border-color:#d58383}.roster-preview-row small{color:#a03838;grid-column:2/-1}@media (max-width:720px){.roster-heading{flex-direction:column;align-items:stretch}.roster-preview-row{grid-template-columns:30px 1fr}.roster-preview-row input,.roster-preview-row small{grid-column:2}}.report-panel{background:#fff;border:1px solid #17312d17;border-radius:20px;max-width:1480px;margin:0 auto;overflow:hidden;box-shadow:0 14px 45px #1a352f0f}.report-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:28px;padding:28px 30px;display:flex}.report-heading h2,.report-config-card h3{letter-spacing:-.035em;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-weight:500}.report-heading h2{font-size:1.65rem}.report-heading p,.report-config-card p{max-width:760px;color:var(--muted);margin:9px 0 0;font-size:.8rem;line-height:1.55}.report-panel>.banner{max-width:none;margin:18px 30px 0}.report-config-grid{background:#f7f9f7;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px;padding:24px 30px;display:grid}.report-config-card{border:1px solid var(--line);background:#fff;border-radius:16px;align-content:start;gap:15px;padding:20px;display:grid}.report-config-card h3{font-size:1.25rem}.report-config-fields{grid-template-columns:1fr 1fr;gap:14px;display:grid}.report-config-card label{color:var(--muted);gap:7px;font-size:.72rem;font-weight:760;display:grid}.report-config-card input,.report-config-card select{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);font:inherit;background:#fbfcfb;border-radius:10px;outline:none;padding:0 12px}.report-config-card input:focus,.report-config-card select:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1268581a}.report-scope{background:#edf1ef;border-radius:11px;grid-template-columns:1fr 1fr;gap:5px;padding:4px;display:grid}.report-scope button{min-height:36px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;font-size:.74rem;font-weight:760}.report-scope button.active{color:var(--brand-dark);background:#fff;box-shadow:0 2px 8px #17312d14}.report-download{width:100%}.report-generator-card>small{color:#8a6418;text-align:center;font-size:.7rem}@media (max-width:640px){.structure-term-bar{margin-inline:22px;display:grid}}.report-progress{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:14px 30px;font-size:.73rem;display:flex}.report-progress strong{color:var(--brand-dark);font-size:.9rem}.report-table-scroll{width:100%;overflow-x:auto}.report-data-table{border-collapse:collapse;width:100%;min-width:640px;font-size:.77rem}.report-data-table th,.report-data-table td{vertical-align:middle;border-bottom:1px solid #edf0ee;border-right:1px solid #edf0ee;padding:11px 10px}.report-data-table thead th{height:68px;color:var(--muted);text-align:center;background:#fafbf9;padding:0;font-size:.7rem}.report-data-table thead th:first-child,.report-data-table thead th:last-child{padding:0 12px}.report-data-table thead th:first-child{text-align:left;min-width:275px}.report-data-table tbody th{text-align:left;vertical-align:middle;white-space:nowrap;min-width:275px}.report-data-table tbody th>.report-student-number{vertical-align:middle;margin-right:9px}.report-data-table tbody th>.report-student-number+span{vertical-align:middle;white-space:normal;max-width:calc(100% - 40px);display:inline-block}.report-data-table tbody th strong,.report-data-table tbody th small{display:block}.report-data-table tbody th strong{font-size:.77rem}.report-data-table tbody th small{color:var(--muted);margin-top:3px;font-size:.65rem;font-weight:550}.report-student-number{width:27px;height:27px;color:var(--brand-dark);background:#e7f1ed;border-radius:8px;place-items:center;font-size:.67rem;font-weight:850;display:inline-grid}.report-data-table td{text-align:center;min-width:135px}.report-data-table td>small{color:var(--muted);margin-top:5px;font-size:.61rem;display:block}.qualitative-chip{color:#fff;background:var(--brand);border-radius:10px;place-items:center;min-width:48px;height:34px;padding:0 10px;font-size:.82rem;font-weight:850;display:inline-grid}.qualitative-chip.empty{color:#98a39f;background:#eef1ef}.panel-hint{color:var(--muted);margin:0;padding:14px 18px 0;font-size:.75rem;line-height:1.5}.final-grade-table{min-width:620px}.final-grade-table thead th:not(:first-child),.final-grade-table tbody td{text-align:center}.profile-preview{color:var(--muted);grid-column:1/-1;margin:0;font-size:.78rem}.profile-facts{grid-column:1/-1;gap:9px;margin:0;display:grid}.profile-facts div{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:baseline;gap:14px;padding-bottom:8px;display:flex}.profile-facts dt{color:var(--muted);font-size:.72rem;font-weight:760}.profile-facts dd{text-align:right;margin:0;font-size:.78rem}.report-facts{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:11px;margin:0;display:grid}.report-facts div{border:1px solid var(--line);background:#fbfcfb;border-radius:11px;gap:3px;padding:10px 12px;display:grid}.report-facts dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.63rem;font-weight:760}.report-facts dd{margin:0;font-size:.83rem;font-weight:650}.report-section-title{letter-spacing:-.02em;align-items:center;gap:10px;margin:24px 30px 12px;font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:500;display:flex}.read-only-tag{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;background:#eef1ef;border-radius:999px;margin-top:8px;padding:3px 9px;font-family:Inter,ui-sans-serif,sans-serif;font-size:.6rem;font-weight:760;display:inline-block}.profile-form{grid-template-columns:1fr}.consolidated-table{min-width:880px}.consolidated-table thead th:last-child{min-width:108px}.consolidated-heading{gap:3px;padding:10px 8px;display:grid}.consolidated-heading strong{color:var(--ink);font-size:.72rem}.consolidated-heading small{color:var(--muted);font-size:.6rem;font-weight:500}.consolidated-heading .subject-tag{color:var(--brand-dark);background:#e8f1ee;border-radius:999px;justify-self:center;padding:2px 8px;font-size:.56rem;font-weight:760}.consolidated-cell{text-align:center}.consolidated-cell strong{font-size:.85rem;display:block}@media (max-width:760px){.report-table-scroll{overflow-x:visible}.report-data-table,.report-data-table tbody,.report-data-table tbody tr,.report-data-table tbody th,.report-data-table tbody td{width:100%;min-width:0;display:block}.report-data-table thead{display:none}.report-data-table tbody tr{border-bottom:1px solid var(--line);padding:16px 18px}.report-data-table tbody th{white-space:normal;border:0;padding:0 0 10px}.report-data-table tbody td{text-align:left;border:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:8px 0;display:flex}.report-data-table tbody td:before{content:attr(data-label);color:var(--muted);flex:none;font-size:.68rem;font-weight:760}.report-data-table tbody td>small{text-align:right;flex:100%;margin:0}.report-data-table .consolidated-cell>strong,.report-data-table .consolidated-cell>small{flex:none;margin:0;display:inline}.final-grade-table,.final-grade-table tbody,.final-grade-table tbody tr,.final-grade-table .student-cell,.final-grade-table tbody td{width:100%;min-width:0;display:block}.final-grade-table thead{display:none}.final-grade-table tbody tr{border-bottom:1px solid var(--line);padding:16px 18px}.final-grade-table .student-cell{white-space:normal;border:0;padding:0 0 10px;position:static}.final-grade-table tbody td{text-align:left;border:0;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.final-grade-table tbody td:before{content:attr(data-label);color:var(--muted);font-size:.68rem;font-weight:760}.final-grade-table tbody td>.field-inline-error{text-align:right;flex:100%}}@media (max-width:980px){.app-shell{grid-template-columns:minmax(0,1fr);align-content:start}.workspace{padding-top:22px}.report-config-grid{grid-template-columns:1fr}}@media (max-width:900px){.desktop-structure{display:none}.mobile-structure-list{padding:0 22px;display:block}.structure-card{border:1px solid var(--line);background:#fbfcfb;border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px;padding:17px;display:grid}.structure-card-heading{grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.structure-card label,.structure-card-field{color:var(--muted);gap:7px;font-size:.74rem;font-weight:750;display:grid}.structure-card label:last-child{grid-column:1/-1}.structure-card input{border:1px solid var(--line);width:100%;min-height:46px;color:var(--ink);background:#fff;border-radius:11px;padding:0 13px}}@media (max-width:760px){.desktop-gradebook,.desktop-structure{display:none}.mobile-gradebook,.mobile-structure-list{display:block}.mobile-student-picker{border-bottom:1px solid var(--line);background:#f8faf8;gap:8px;padding:18px;display:grid}.mobile-student-picker>label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;font-size:.72rem;font-weight:800}.mobile-student-picker select,.structure-card input{border:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);background:#fff;border-radius:11px;padding:0 13px}.mobile-student-navigation{grid-template-columns:48px 1fr 48px;align-items:center;gap:8px;display:grid}.mobile-student-navigation button{border:1px solid var(--line);width:48px;height:44px;color:var(--brand-dark);cursor:pointer;background:#fff;border-radius:10px;font-size:1.1rem}.mobile-student-navigation button:disabled{color:#a8b2af;cursor:not-allowed;opacity:.55}.mobile-student-navigation span{color:var(--muted);text-align:center;font-size:.76rem;font-weight:700}.mobile-grade-list{padding:0 18px 22px}.mobile-student-summary{border-bottom:1px solid #edf0ee;gap:4px;padding:20px 0 14px;display:grid}.mobile-student-summary strong{font-size:.9rem}.mobile-student-summary span{color:var(--muted);font-size:.72rem}.mobile-grade-row{border-bottom:1px solid #edf0ee;grid-template-columns:minmax(0,1fr) 68px;align-items:center;gap:7px 14px;min-height:69px;padding:10px 0;display:grid}.mobile-assessment-label{align-items:center;gap:7px;min-width:0;display:flex;position:relative}.mobile-assessment-label strong{text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.mobile-assessment-label .assessment-tooltip{width:min(250px,100%);left:auto;right:0;transform:translateY(3px)}.mobile-assessment-label:hover .assessment-tooltip,.mobile-assessment-label:focus .assessment-tooltip{transform:translateY(0)}.mobile-grade-input{width:68px;height:46px;font-size:1rem}.field-inline-error{color:var(--danger);grid-column:1/-1;font-size:.7rem;line-height:1.35}.mobile-average{justify-content:space-between;align-items:center;padding-top:18px;font-size:.82rem;font-weight:800;display:flex}.mobile-structure-list{padding:0 18px}.structure-card{border:1px solid var(--line);background:#fbfcfb;border-radius:14px;grid-template-columns:1fr;gap:14px;margin-bottom:14px;padding:17px}.structure-card-heading{justify-content:space-between;align-items:center;gap:12px;min-height:38px;display:flex}.structure-card label{color:var(--muted);gap:7px;font-size:.74rem;font-weight:750;display:grid}.structure-card label:last-child{grid-column:auto}}@media (max-width:680px){.workspace{padding:26px 14px}.workspace-header{align-items:start;display:grid}.workspace-header .secondary-button{width:100%}.summary-row{grid-template-columns:1fr 1fr}.summary-wide{grid-column:1/-1}.gradebook-toolbar{display:grid}.structure-heading{padding:22px;display:grid}.fixed-structure{grid-template-columns:1fr;padding:18px 22px}.structure-save-controls{justify-content:space-between;width:100%}.report-heading{padding:22px;display:grid}.report-config-grid{padding:18px}.report-config-fields{grid-template-columns:1fr}.report-progress{padding-inline:20px;display:grid}.legal-shell{padding:0}.legal-document{min-height:100vh;box-shadow:none;border:0;border-radius:0}.term-tabs{width:100%}.term-tabs button{flex:1;padding-inline:7px}.save-area{justify-content:space-between}.student-form{grid-template-columns:1fr}.modal-card{padding:24px 18px}.modal-actions{grid-column:auto}}.admin-section{max-width:1480px;margin:26px auto 0}.admin-section .workspace-header{margin-bottom:22px}.admin-section .workspace-header h1{font-size:clamp(1.8rem,3vw,2.6rem)}.admin-header-buttons,.admin-toolbar{align-items:center;gap:10px;display:flex}.admin-header-buttons>button,.admin-toolbar>button{white-space:nowrap}.admin-toolbar{margin:18px 0}.admin-catalog-controls,.admin-catalog-pages{flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;display:flex}.admin-catalog-controls input{border:1px solid var(--line);border-radius:8px;width:min(100%,360px);min-height:42px;padding:0 12px}.admin-catalog-controls span,.admin-catalog-pages span{color:var(--muted);font-size:.84rem}.admin-invitation-link{gap:10px;margin-bottom:12px;display:flex}.admin-invitation-link input{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#fafbf9;border-radius:12px;flex:1;padding:0 14px;font-size:.82rem}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:18px 0 14px;display:grid}.admin-form-grid label,.admin-filters label{color:var(--muted);flex-direction:column;gap:6px;font-size:.74rem;font-weight:750;display:flex}.admin-form-grid input:not([type=checkbox]),.admin-form-grid select,.admin-filters input,.admin-filters select,.admin-table select{border:1px solid var(--line);height:44px;min-height:44px;color:var(--ink);background:#fff;border-radius:12px;padding:0 12px;font-size:.86rem}.admin-form-grid input:focus,.admin-form-grid select:focus{outline-offset:1px;outline:2px solid #12685859}.admin-form-grid label.inline-check{color:var(--ink);flex-direction:row;align-items:center;font-size:.82rem;font-weight:600}.admin-filters{flex-wrap:wrap;align-items:flex-end;gap:14px;margin:0 0 18px;display:flex}.admin-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.84rem}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #edf0ee;padding:13px 14px}.admin-table thead th{color:var(--muted);letter-spacing:.015em;text-transform:uppercase;background:#fafbf9;font-size:.7rem;font-weight:800}.admin-table tbody tr:hover{background:#fbfcfb}.admin-clickable-row{cursor:pointer;transition:background .14s,box-shadow .14s}.admin-table tbody .admin-clickable-row:hover{background:#f4f9f7;box-shadow:inset 3px 0 #1268586b}.admin-clickable-row:focus-visible{outline-offset:-3px;background:#f4f9f7;outline:3px solid #12685857}.admin-table .student-cell{z-index:auto;white-space:normal;background:0 0;align-items:flex-start;min-width:0;position:static}.admin-tag{color:var(--brand-dark);background:#1268581a;border-radius:999px;margin-right:6px;padding:3px 9px;font-size:.7rem;font-weight:750;display:inline-block}.admin-tag-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-status{border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:750;display:inline-block}.admin-status.active{color:#145a4d;background:#edf8f4}.admin-status.pending{color:#79520e;background:#fff8e8}.admin-status.disabled{color:#8f3030;background:#fff3f2}.admin-hint{color:var(--muted);margin-top:5px;font-size:.7rem;display:block}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:8px;min-width:118px;display:flex}.admin-row-actions .compact-action{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #cfd9d5;border-radius:10px;font-weight:750}.admin-row-actions .compact-action:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}.admin-row-actions .compact-action:disabled{opacity:.5;cursor:not-allowed}.admin-row-actions .compact-action.danger-link{color:var(--danger);border-color:#f0c9c5}.admin-detail-header{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px;display:flex}.admin-detail-header p{margin:6px 0 0;font-size:.82rem}.admin-subtitle{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin:26px 0 0;font-size:.78rem;font-weight:800}@media (max-width:780px){.admin-section .workspace-header{flex-direction:column;align-items:flex-start;gap:16px}}.admin-modal{width:min(760px,94vw);max-height:88vh;overflow-y:auto}.admin-modal .admin-form-grid{margin-top:6px}.admin-modal .admin-table{min-width:0}.admin-modal-form{display:block}.admin-breadcrumb{color:var(--muted);align-items:center;gap:10px;margin-bottom:14px;font-size:.78rem;font-weight:700;display:flex}.admin-breadcrumb .text-button:disabled{color:var(--ink);cursor:default}.admin-breadcrumb .text-button{color:var(--brand);font-size:inherit;font-weight:inherit;padding:0}.admin-breadcrumb .text-button:hover:not(:disabled){color:var(--brand-dark);text-underline-offset:3px;text-decoration:underline}.admin-section .admin-subtitle{margin-top:30px;margin-bottom:12px}@media (max-width:720px){.admin-responsive-table,.admin-responsive-table tbody,.admin-responsive-table tr,.admin-responsive-table td{width:100%;min-width:0;display:block}.admin-responsive-table thead{display:none}.admin-responsive-table tbody{gap:12px;display:grid}.admin-responsive-table tbody tr{border:1px solid var(--line);background:#fff;border-radius:15px;padding:7px 14px;overflow:hidden;box-shadow:0 8px 24px #1b37310a}.admin-responsive-table tbody tr:hover{background:#fff}.admin-responsive-table tbody td{overflow-wrap:anywhere;border-bottom:1px solid #edf0ee;grid-template-columns:minmax(88px,34%) minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.admin-responsive-table tbody td:last-child{border-bottom:0}.admin-responsive-table tbody td:before{color:var(--muted);content:attr(data-label);letter-spacing:.035em;text-transform:uppercase;font-size:.65rem;font-weight:820}.admin-responsive-table .admin-status,.admin-responsive-table .admin-tag{justify-self:start}.admin-responsive-table .admin-row-actions{grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:start;min-width:0;display:grid}.admin-responsive-table .admin-row-actions>.compact-action,.admin-responsive-table .admin-row-actions>button{grid-column:2;justify-self:start}.admin-responsive-table .admin-row-actions>button~button{margin-top:-4px}.admin-responsive-table .admin-empty-row td{padding:14px 0;display:block}.admin-responsive-table .admin-empty-row td:before{content:none}.admin-detail-header{flex-direction:column}.admin-filters{grid-template-columns:1fr 1fr;display:grid}.admin-filters label:first-child{grid-column:1/-1}.admin-filters .secondary-button{align-self:end}.admin-header-buttons{width:100%}.admin-header-buttons>button{flex:1}.admin-invitation-link{flex-direction:column}}.attendance-panel{background:#fff;border:1px solid #17312d17;border-radius:20px;max-width:1480px;margin:0 auto;overflow:hidden;box-shadow:0 14px 45px #1a352f0f}.attendance-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:28px;padding:28px 30px;display:flex}.attendance-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.65rem;font-weight:500}.attendance-heading p{max-width:760px;color:var(--muted);margin:9px 0 0;font-size:.8rem;line-height:1.55}.attendance-date-controls{flex-shrink:0;align-items:end;gap:10px;display:flex}.attendance-date-controls label{color:var(--muted);gap:6px;font-size:.72rem;font-weight:750;display:grid}.attendance-date-controls input{border:1px solid var(--line);min-height:42px;color:var(--ink);background:#fff;border-radius:11px;padding:0 12px;font-size:.85rem}.attendance-date-controls input:focus-visible{border-color:var(--brand);outline:none}.attendance-panel>.banner{max-width:none;margin:18px 30px 0}.attendance-toolbar{z-index:8;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:74px;padding:14px 30px;display:flex;position:sticky;top:0}.attendance-summary{flex-wrap:wrap;gap:8px;display:flex}.attendance-chip{color:var(--muted);background:#f1f3f1;border-radius:999px;padding:6px 11px;font-size:.74rem}.attendance-chip strong{color:var(--ink)}.attendance-chip.present{color:#166534;background:#dcfce7}.attendance-chip.present strong{color:#14532d}.attendance-chip.absent{color:#991b1b;background:#fee2e2}.attendance-chip.absent strong{color:#7f1d1d}.attendance-chip.late{color:#92400e;background:#fef3c7}.attendance-chip.late strong{color:#78350f}.attendance-chip.excused{color:#1e40af;background:#dbeafe}.attendance-chip.excused strong{color:#1e3a8a}.attendance-list{margin:0;padding:0;list-style:none}.attendance-row{border-bottom:1px solid #edf0ee;align-items:center;gap:14px;padding:12px 30px;display:flex}.attendance-row:last-child{border-bottom:0}.attendance-student{flex:1;min-width:0;display:grid}.attendance-student strong{font-size:.86rem;font-weight:700}.attendance-student small{color:var(--muted);font-size:.71rem}.attendance-options{background:#f1f3f1;border-radius:12px;flex-shrink:0;gap:5px;padding:4px;display:flex}.attendance-option{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:0 13px;font-size:.76rem;font-weight:740}.attendance-option:hover:not(.active){color:var(--ink);background:#ffffffb3}.attendance-option-short{display:none}.attendance-option.active{background:#fff;box-shadow:0 3px 10px #17312d17}.attendance-option.present.active{color:#166534}.attendance-option.absent.active{color:#991b1b}.attendance-option.late.active{color:#92400e}.attendance-option.excused.active{color:#1e40af}.attendance-recorded{text-align:center;place-content:center;justify-items:center;min-height:300px;padding:48px 24px;display:grid}.attendance-recorded .empty-icon{color:var(--brand);background:#e7f1ed;margin-bottom:18px}.attendance-recorded h3{margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:500}.attendance-recorded p{max-width:520px;color:var(--muted);margin:10px 0 18px;font-size:.86rem;line-height:1.6}.attendance-recorded .attendance-summary{justify-content:center;margin-bottom:8px}.attendance-unmarked{color:var(--muted);margin-bottom:22px;font-size:.76rem;font-weight:700}.attendance-capture-modal{width:min(100%,720px)}.attendance-capture-progress{background:#e8ece9;border-radius:999px;height:5px;margin:22px 0 26px;overflow:hidden}.attendance-capture-progress span{border-radius:inherit;background:var(--brand);height:100%;transition:width .18s;display:block}.attendance-capture-student{background:#f5f8f6;border-radius:15px;align-items:center;gap:16px;min-height:98px;padding:20px;display:flex}.attendance-capture-student .roll-number{width:42px;height:42px;font-size:.9rem}.attendance-capture-student div{gap:4px;display:grid}.attendance-capture-student strong{font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.attendance-capture-student small{color:var(--muted)}.attendance-capture-options{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.attendance-capture-options .attendance-option{border:1px solid var(--line);background:#fafbfa;place-content:center;gap:5px;min-height:76px;padding:10px 6px;display:grid}.attendance-capture-options .attendance-option-short{font-size:1rem;display:block}.attendance-capture-options .attendance-option.active{background:#fff;border-color:currentColor;box-shadow:0 5px 16px #17312d1a}.attendance-capture-options .attendance-option.clear.active{color:#53615d}.attendance-capture-navigation{justify-content:space-between;margin-top:14px;display:flex}.attendance-capture-summary{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:24px;padding:14px 0;display:flex}.attendance-capture-summary>span{color:var(--muted);flex-shrink:0;font-size:.76rem;font-weight:700}@media (max-width:620px){.attendance-capture-options{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-capture-options .attendance-option:last-child{grid-column:1/-1}.attendance-capture-summary{flex-direction:column;align-items:flex-start}.attendance-capture-modal .modal-actions{flex-direction:column-reverse;align-items:stretch}.attendance-capture-modal .modal-actions button{width:100%}}.attendance-history{border-top:1px solid var(--line);background:#f7f9f7;padding:20px 30px 26px}.attendance-history h3{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px;font-size:.72rem;font-weight:800}.attendance-history-list{flex-wrap:wrap;gap:8px;display:flex}.attendance-history-item{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:12px;gap:2px;padding:8px 13px;display:grid}.attendance-history-item.active{border-color:var(--brand);background:#e7f1ed}.attendance-history-item strong{font-size:.78rem}.attendance-history-item small{color:var(--muted);font-size:.69rem}@media (max-width:900px){.attendance-heading,.attendance-toolbar,.attendance-row,.attendance-history,.attendance-panel>.banner{padding-left:16px;padding-right:16px}.attendance-panel>.banner{margin-left:16px;margin-right:16px}.attendance-heading{flex-direction:column;gap:16px}.attendance-row{flex-wrap:wrap}.attendance-options{width:100%}.attendance-option{flex:1;padding:0 8px}}@media (max-width:520px){.view-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.view-tabs button{width:100%}.attendance-option-short{display:inline}.attendance-option-label{display:none}.attendance-date-controls{width:100%}.attendance-date-controls label{flex:1}}.offline-banner{max-width:1480px;color:var(--ink);background:#eef2f6;border:1px solid #d5dee6;align-items:center;gap:12px;margin:0 auto 14px;display:flex}.offline-banner>span:nth-child(2){flex:1}.offline-banner .text-button{white-space:nowrap;flex-shrink:0}.update-banner{border-width:0 0 1px;border-radius:0;max-width:none;margin:0}.offline-dot{background:var(--muted);border-radius:50%;flex-shrink:0;width:9px;height:9px}.offline-dot.pending{background:var(--accent)}.offline-dot.rejected{background:var(--danger)}.offline-dot.offline{background:#7a8b99}.offline-dot.syncing{background:var(--brand);animation:1.4s ease-in-out infinite offline-pulse}@keyframes offline-pulse{0%,to{opacity:1}50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.offline-dot.syncing{animation:none}}.grade-input.queued{border-color:var(--accent);background:#fdf8ee}.grade-input.queue-rejected{border-color:var(--danger);background:#fdf0f0}@media (max-width:900px){.offline-banner{flex-wrap:wrap;align-items:flex-start}.offline-dot{margin-top:7px}}.report-subject-status{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:20px;display:grid}.report-subject-status .report-config-card{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.report-inline-link{color:var(--brand-dark);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;justify-self:center;padding:0;font-size:.74rem;font-weight:760;text-decoration:underline}.report-panel .report-subject-status,.report-panel .report-table-scroll{padding-inline:30px}.report-panel .report-table-scroll{box-sizing:border-box;padding-bottom:8px}.report-panel .panel-hint{margin:0 30px 14px;padding:0}@media (max-width:760px){.report-panel .report-subject-status,.report-panel .report-table-scroll{padding-inline:16px}.report-panel .panel-hint,.report-panel .report-section-title,.report-panel>.banner{margin-inline:16px}.report-heading,.report-config-grid,.report-progress{padding-inline:16px}}.external-source-panel{background:#fff;border:1px solid #17312d17;border-radius:20px;gap:16px;max-width:1480px;margin:0 auto 16px;padding:22px 24px;display:grid;box-shadow:0 14px 45px #1a352f0f}.external-source-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.external-source-heading h2{letter-spacing:-.03em;margin:4px 0 0;font-family:Georgia,Times New Roman,serif;font-size:1.35rem;font-weight:500}.external-source-heading p{max-width:760px;color:var(--muted);margin:8px 0 0;font-size:.8rem;line-height:1.55}.external-source-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.external-source-choices{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.external-source-choices button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:#fbfcfb;border-radius:16px;gap:6px;padding:18px;display:grid}.external-source-choices button:hover:enabled{border-color:var(--brand);background:#f1f8f5}.external-source-choices button:disabled{cursor:not-allowed;opacity:.55}.external-source-choices strong{font-size:.95rem}.external-source-choices span{color:var(--muted);font-size:.78rem;line-height:1.5}.external-remove-row{justify-content:flex-end;max-width:1480px;margin:14px auto 0;display:flex}.external-remove-row .danger-link:disabled{cursor:not-allowed;opacity:.5}.read-only-final-grades .read-only-status{color:var(--muted);text-transform:none;margin-top:4px;font-size:.68rem;display:block}@media (max-width:760px){.external-source-panel{padding:18px 16px}.external-source-heading{display:grid}.external-source-actions{justify-content:flex-start}}.app-sidebar{z-index:10;color:#eef6f3;background:#163b35;flex-direction:column;gap:14px;height:100dvh;padding:20px 14px 12px;display:flex;position:sticky;top:0}.app-sidebar button:focus-visible,.app-sidebar a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar-brand{padding:0 8px}.sidebar-brand .brand-mark{width:34px;height:34px}.sidebar-chevron{color:#eef6f38c;flex:none;width:16px;height:16px;transition:transform .15s}.course-switcher{position:relative}.course-switcher-head{gap:6px;display:flex}.course-switcher-trigger,.sidebar-nav-toggle{color:#fff;text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;flex:auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.course-switcher-trigger:hover,.course-switcher-trigger[aria-expanded=true],.sidebar-nav-toggle:hover{background:#ffffff1a;border-color:#ffffff3d}.course-switcher-text,.sidebar-nav-toggle>span{flex:auto;gap:2px;min-width:0;display:grid}.course-switcher-text strong,.course-switcher-text small,.sidebar-nav-toggle strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.course-switcher-text strong,.sidebar-nav-toggle strong{font-size:.9rem}.course-switcher-text small{color:#eef6f399;font-size:.7rem;font-weight:650}.course-switcher-text small:first-child,.sidebar-nav-toggle small,.course-switcher-period>span,.course-switcher-label{color:#eef6f380;letter-spacing:.1em;text-transform:uppercase;font-size:.6rem;font-weight:800}.course-switcher-edit{color:#eef6f3c7;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:14px;flex:none;place-items:center;width:40px;display:grid}.course-switcher-edit svg{width:17px;height:17px}.course-switcher-edit:hover:enabled{color:#fff;background:#ffffff1f}.course-switcher-edit:disabled{cursor:not-allowed;opacity:.5}.course-switcher-panel{z-index:30;background:#10302b;border:1px solid #ffffff24;border-radius:14px;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);left:0;right:0;box-shadow:0 18px 45px #0000004d}.course-switcher-period{gap:6px;display:grid}.course-switcher-period select{color:#eef6f3;background:#ffffff0f;border-color:#ffffff29;border-radius:10px;height:38px;padding:0 10px;font-size:.8rem}.course-switcher-period select:focus{box-shadow:none;border-color:#ffffff73}.course-switcher-period option{color:var(--ink);background:#fff}.course-switcher-list{gap:2px;max-height:min(320px,45vh);margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.course-switcher-list button{color:#eef6f3d1;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;padding:8px 10px;display:flex}.course-switcher-list button:hover,.course-switcher-list button.active{color:#fff;background:#ffffff17}.course-switcher-list button>span{flex:auto;gap:2px;min-width:0;display:grid}.course-switcher-list strong{font-size:.84rem}.course-switcher-list small{color:#eef6f38c;font-size:.68rem}.course-switcher-list svg{width:16px;height:16px;color:var(--accent);flex:none}.course-switcher-empty{color:#eef6f3a6;margin:0;font-size:.76rem}.course-switcher-actions{border-top:1px solid #ffffff14;flex-wrap:wrap;gap:6px;padding-top:10px;display:flex}.course-switcher-actions button{color:#eef6f3;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:6px;padding:7px 10px;font-size:.74rem;font-weight:760;display:inline-flex}.course-switcher-actions button:hover:enabled{background:#ffffff14}.course-switcher-actions button:disabled{cursor:not-allowed;opacity:.5}.course-switcher-actions svg{width:14px;height:14px}.sidebar-nav-toggle{display:none}.sidebar-nav{overscroll-behavior:contain;scrollbar-color:#fff3 transparent;scrollbar-width:thin;flex:auto;min-height:0;margin:0 -6px;padding:0 6px 6px;overflow-y:auto}.sidebar-group+.sidebar-group{margin-top:12px}.sidebar-label,.sidebar-group-toggle{color:#eef6f380;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:.64rem;font-weight:800;display:flex}.sidebar-group-toggle{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px}.sidebar-group-toggle:hover{color:#eef6f3d9}.sidebar-group-toggle>span:first-child{flex:auto;min-width:0}.sidebar-group-toggle[aria-expanded=false] .sidebar-chevron{transform:rotate(-90deg)}.sidebar-group-count{color:#eef6f3b8;letter-spacing:0;text-align:center;background:#0000002e;border-radius:999px;min-width:22px;padding:2px 6px;font-size:.64rem}.sidebar-group-count.has-active{color:#17312d;background:var(--accent)}.assignment-list{gap:2px;margin-top:2px;display:grid}.assignment-item{color:#eef6f3c7;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;align-items:center;gap:10px;width:100%;min-height:40px;padding:6px 8px;display:flex;position:relative}.assignment-item:hover:enabled{color:#fff;background:#ffffff12}.assignment-item.active{color:#fff;box-shadow:inset 3px 0 0 var(--accent);background:#ffffff1f;border-color:#ffffff1a}.assignment-item:disabled{cursor:not-allowed;opacity:.5}.assignment-name{overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:auto;min-width:0;font-size:.84rem;font-weight:650;line-height:1.25;display:-webkit-box;overflow:hidden}.assignment-item.active .assignment-name{font-weight:780}.subject-initial{color:#fff5dd;background:#e6a23c2b;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:850;display:grid}.subject-initial svg{width:15px;height:15px}.student-count,.subject-kind-tag{color:#eef6f3b8;background:#0000002e;border-radius:999px;flex:none;padding:2px 7px;font-size:.64rem;font-weight:800}.sidebar-footer{border-top:1px solid #ffffff17;align-items:center;gap:4px;padding-top:10px;display:flex}.sidebar-user-menu{flex:auto;min-width:0;position:relative}.sidebar-user-trigger{color:#eef6f3;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:6px;display:flex}.sidebar-user-trigger:hover,.sidebar-user-trigger[aria-expanded=true]{background:#ffffff14}.sidebar-user-trigger .avatar{flex:none;width:34px;height:34px}.sidebar-user-text{flex:auto;gap:2px;min-width:0;display:grid}.sidebar-user-text strong,.sidebar-user-text small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user-text strong{font-size:.78rem}.sidebar-user-text small{color:#eef6f380;font-size:.66rem}.sidebar-user-popover{z-index:30;border:1px solid var(--line);width:max(100%,250px);color:var(--ink);background:#fff;border-radius:14px;gap:2px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 18px 45px #091f1b47}.sidebar-user-popover-head{border-bottom:1px solid var(--line);gap:2px;margin-bottom:4px;padding:8px 10px 10px;display:grid}.sidebar-user-popover-head strong{font-size:.82rem}.sidebar-user-popover-head small{color:var(--muted);text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.sidebar-user-popover button,.sidebar-user-popover a{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:9px 10px;font-size:.82rem;font-weight:650;text-decoration:none;display:flex}.sidebar-user-popover button:hover:enabled,.sidebar-user-popover a:hover{background:#eef4f1}.sidebar-user-popover button:disabled{cursor:not-allowed;opacity:.5}.sidebar-user-popover svg{width:16px;height:16px;color:var(--muted);flex:none}.sidebar-badge{color:#17312d;background:var(--accent);border-radius:999px;justify-content:center;min-width:20px;margin-left:auto;padding:1px 6px;font-size:.7rem;font-weight:850;display:inline-flex}.sidebar-inbox{color:#eef6f3cc;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid;position:relative}.sidebar-inbox svg{width:19px;height:19px}.sidebar-inbox:hover:enabled{color:#fff;background:#ffffff14}.sidebar-inbox:disabled{cursor:not-allowed;opacity:.5}.sidebar-inbox .sidebar-badge{min-width:18px;margin:0;padding:0 5px;font-size:.62rem;position:absolute;top:3px;right:1px}@media (min-width:981px) and (max-height:760px) and (pointer:fine){.app-sidebar{gap:10px;padding-top:14px}.sidebar-brand .brand-mark{width:30px;height:30px}.course-switcher-trigger{padding-block:7px}.assignment-item{min-height:34px;padding-block:4px}.subject-initial{border-radius:7px;width:24px;height:24px;font-size:.72rem}.sidebar-group+.sidebar-group{margin-top:8px}.sidebar-footer{padding-top:6px}}@media (max-width:980px){.app-sidebar{flex-flow:wrap;align-items:center;gap:10px;height:auto;padding:12px 14px 14px;position:relative}.sidebar-brand{flex:auto;order:1;padding:0 2px}.course-switcher{flex:100%;order:3}.sidebar-nav-toggle{flex:100%;order:4;display:flex}.app-sidebar.nav-open .sidebar-nav-toggle .sidebar-chevron{transform:rotate(180deg)}.sidebar-nav{background:#00000024;border:1px solid #ffffff1a;border-radius:14px;flex:100%;order:5;max-height:min(62vh,560px);margin:0;padding:6px;display:none}.app-sidebar.nav-open .sidebar-nav{display:block}.assignment-item{min-height:44px}.sidebar-footer{border:0;flex:none;order:2;padding:0}.sidebar-user-menu{flex:none}.sidebar-user-text,.sidebar-user-trigger>.sidebar-chevron{display:none}.sidebar-user-trigger{border-radius:50%;padding:4px}.sidebar-user-popover{width:min(280px,100vw - 28px);inset:calc(100% + 8px) 0 auto auto}}.tutor-term-table{min-width:760px}.tutor-term-table thead th small{text-transform:none;margin-left:4px;font-weight:650}.tutor-term-table .behavior-cell{width:210px}.behavior-entry{align-items:center;gap:10px;display:inline-flex}.tutor-term-table .behavior-cell>.field-inline-error{color:var(--danger);margin-top:6px;font-size:.68rem;display:block}.tutor-term-table .recommendation-cell{text-align:left;min-width:320px}.tutor-term-table textarea{width:100%;min-height:56px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #dce3e0;border-radius:9px;outline:none;padding:8px 10px;font-size:.82rem;line-height:1.45;display:block}.tutor-term-table textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px #1268581a}.tutor-term-table textarea.dirty{border-color:var(--accent);background:#fffbf2}.tutor-term-table .recommendation-cell>small{color:var(--muted);text-align:right;margin-top:4px;font-size:.64rem;display:block}@media (max-width:760px){.tutor-term-table,.tutor-term-table tbody,.tutor-term-table tbody tr,.tutor-term-table .student-cell,.tutor-term-table tbody td{width:100%;min-width:0;display:block}.tutor-term-table thead{display:none}.tutor-term-table tbody tr{border-bottom:1px solid var(--line);padding:16px 18px}.tutor-term-table .student-cell{white-space:normal;border:0;padding:0 0 10px;position:static}.tutor-term-table tbody td{text-align:left;border:0;padding:8px 0}.tutor-term-table tbody td:before{content:attr(data-label);color:var(--muted);margin-bottom:6px;font-size:.68rem;font-weight:760;display:block}}.review-status{border-radius:999px;align-items:center;gap:6px;padding:3px 9px;font-size:.72rem;font-weight:760;display:inline-flex}.review-status:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.review-status.done{color:#145a4d;background:#e3f2ec}.review-status.pending{color:#8a5a14;background:#fdf3e1}.report-subject-status .report-config-card>button{margin-top:auto}.subject-group{border:0;gap:6px;margin:0;padding:0;display:grid}.subject-group legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px;padding:0;font-size:.68rem;font-weight:800}.subject-option{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:center;gap:4px 10px;min-height:46px;padding:4px 12px;font-size:.88rem;display:flex}.subject-option:has(input:checked){border-color:var(--brand);background:#f1f8f5}.subject-option>label{cursor:pointer;flex:auto;align-items:center;gap:10px;min-height:38px;display:flex}.subject-option>label>span{flex:auto}.subject-option small{color:var(--muted);font-size:.7rem}.subject-search{gap:8px;padding-top:4px;display:grid}.subject-search-results{overscroll-behavior:contain;gap:4px;max-height:280px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.subject-search-results button{width:100%;min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:#fbfcfb;border:1px dashed #c9d5d1;border-radius:10px;align-items:center;gap:10px;padding:6px 12px;font-size:.86rem;display:flex}.subject-search-results button:hover:enabled{border-style:solid;border-color:var(--brand);background:#f1f8f5}.subject-search-results button svg{width:16px;height:16px;color:var(--brand);flex:none}.subject-search-results button span{flex:auto}.subject-search-results small{color:var(--muted);font-size:.7rem}.subject-search-toggle{min-height:36px;color:var(--brand-dark);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:.8rem;font-weight:760;text-decoration:underline}.subject-search-toggle:disabled{cursor:not-allowed;opacity:.55}.gradebook-toolbar,.save-area{flex-wrap:wrap}@media (min-width:981px) and (max-width:1280px){.app-shell{grid-template-columns:252px minmax(0,1fr)}.app-sidebar{padding-inline:12px}.workspace{padding:30px 24px}}@media (min-width:761px) and (max-width:1280px){.student-column,.student-cell{width:220px;min-width:220px}.summary-row{grid-template-columns:minmax(130px,170px) minmax(150px,190px) minmax(0,1fr)}}@media (min-width:641px) and (max-width:980px){.course-switcher,.sidebar-nav-toggle{flex:calc(50% - 5px)}.sidebar-nav .assignment-list{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{padding-inline:24px}}@media (pointer:coarse){input,select,textarea{font-size:16px}.grade-input{width:64px;height:44px}.term-tabs button,.view-tabs button,.attendance-option,.assignment-item,.compact-action,.primary-button.compact,.sidebar-group-toggle,.subject-search-toggle{min-height:44px}.sidebar-inbox,.course-switcher-edit{min-width:44px;min-height:44px}.course-switcher-list button,.course-switcher-actions button,.sidebar-user-popover button,.sidebar-user-popover a{min-height:44px}.sidebar-nav{scrollbar-width:auto}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{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-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
