:root{color:#282321;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--red:#df3540;--red-dark:#b91f2c;--red-soft:#fff0f1;--ink:#282321;--muted:#7a726e;--line:#e9e4e1;--surface:#fff;--canvas:#f7f5f3;--sidebar:#211f20;--green:#22896a;--amber:#c67716;--purple:#6f62d9;--control-height:42px;--control-radius:999px;--field-radius:20px;--control-gap:.75rem;--surface-radius:16px;--surface-padding:1.15rem;--section-gap:1rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.35rem;--space-6:1.75rem;--space-7:2.25rem;--shadow-sm:0 1px 2px #251d1a0a, 0 6px 20px #251d1a0a;--shadow-lg:0 24px 70px #2a181429;background:#f7f5f3;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px}body{min-width:320px;min-height:100vh;margin:0;line-height:1.5}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #df354047}h1,h2,h3,p{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand{color:#fff;align-items:center;gap:11px;display:inline-flex}.brand__name{letter-spacing:.18em;font-size:1.42rem;font-weight:820}.brand__mark{grid-template-columns:repeat(2,1fr);gap:3px;width:29px;height:29px;display:grid;transform:rotate(45deg)}.brand__mark i{background:var(--red);border-radius:2px;display:block}.brand__mark i:first-child{opacity:.58}.brand__mark i:nth-child(3){opacity:.82}.brand--compact{justify-content:center}.app-loading{z-index:200;min-width:320px;min-height:100dvh;padding:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));isolation:isolate;color:#fff;background:radial-gradient(circle at 50% 44%, #df35403d, transparent 31%), radial-gradient(circle at 92% 8%, #b91f2c2e, transparent 28%), linear-gradient(155deg, #171415 0%, var(--sidebar) 56%, #2d181c 100%);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.app-loading:before{content:"";z-index:-2;opacity:.2;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:-10%;transform:rotate(-8deg)scale(1.12);-webkit-mask-image:radial-gradient(circle,#000,#0000 68%);mask-image:radial-gradient(circle,#000,#0000 68%)}.app-loading:after{content:"";z-index:-1;aspect-ratio:1;border:1px solid #ffffff12;border-radius:50%;width:min(64vw,420px);position:absolute;box-shadow:0 0 90px #df354024,inset 0 0 70px #ffffff06}.app-loading__identity{place-items:center;gap:2.1rem;display:grid}.app-loading .brand{flex-direction:column;gap:1.45rem}.app-loading .brand__mark{filter:drop-shadow(0 18px 30px #df35404d);gap:7px;width:74px;height:74px}.app-loading .brand__mark i{border-radius:5px}.app-loading .brand__name{color:#fff;letter-spacing:.28em;text-indent:.28em;font-size:clamp(1.55rem,5vw,2rem);line-height:1}.app-loading__pulse{background:#ffffff2e;border-radius:999px;width:34px;height:3px;overflow:hidden}.app-loading__pulse:after{content:"";border-radius:inherit;background:var(--red);width:45%;height:100%;animation:1.25s ease-in-out infinite alternate app-loading-pulse;display:block;box-shadow:0 0 12px #df3540bf}@keyframes app-loading-pulse{0%{transform:translate(0)}to{transform:translate(122%)}}.button{min-height:var(--control-height);cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:0 1.05rem;font-size:.75rem;font-weight:720;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.button svg{width:18px;height:18px}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.button:disabled:hover{background:var(--red);transform:none}.button--primary{background:var(--red);color:#fff;box-shadow:0 8px 20px #df354033}.button--primary:hover{background:var(--red-dark)}.button--outline{color:var(--ink);background:#fff;border-color:#dcd5d1}.button--outline:hover{background:#fcfaf9;border-color:#bdb3ae}.button--large{width:100%;min-height:52px}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:42px;height:42px;display:inline-grid}.icon-button:hover{background:#f4efed}.icon-button svg{width:20px;height:20px}.eyebrow{color:var(--red);letter-spacing:.115em;text-transform:uppercase;align-items:center;gap:.42rem;margin-bottom:.55rem;font-size:.7rem;font-weight:820;line-height:1;display:inline-flex}.eyebrow svg{width:14px;height:14px}.eyebrow--light{color:#f5a0a5}.login-page{background:#fff;grid-template-columns:minmax(400px,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-story{color:#fff;background:radial-gradient(circle at 78% 15%,#df354052,#0000 28%),linear-gradient(145deg,#242021 0%,#151415 66%,#25191a 100%);flex-direction:column;min-height:100vh;padding:clamp(2rem,5vw,4.5rem);display:flex;position:relative;overflow:hidden}.login-story:after{content:"";border:1px solid #ffffff12;border-radius:50%;height:55%;position:absolute;inset:auto -10% -25% 30%;transform:rotate(-14deg)}.login-story__brand{z-index:1;flex-direction:column;align-items:flex-start;width:max-content;display:flex;position:relative}.login-story__brand .brand{gap:14px}.login-story__brand .brand__mark{gap:4px;width:36px;height:36px}.login-story__brand .brand__name{letter-spacing:.2em;font-size:1.85rem}.login-story__tagline{color:#f5a0a5;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;margin:.42rem 0 0 50px;font-size:.72rem;font-weight:820;line-height:1.25}.login-story__glow{filter:blur(70px);background:#df354024;width:340px;height:340px;position:absolute;bottom:8%;right:5%}.login-story__content{z-index:1;max-width:620px;margin:auto 0 0;padding-bottom:clamp(18rem,35vh,24rem);position:relative}.login-story h1{color:#fff;letter-spacing:-.062em;margin-bottom:1.35rem;font-size:clamp(3rem,5vw,5.5rem);line-height:.96}.login-story__content>p{color:#c8c1c0;max-width:530px;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.65}.login-proof{color:#aaa2a1;flex-wrap:wrap;gap:1.25rem;margin-top:1.7rem;font-size:.8rem;display:flex}.login-proof span{align-items:center;gap:.45rem;display:inline-flex}.login-proof svg{color:#f08087;width:16px}.login-visual{z-index:2;width:min(72%,480px);height:290px;position:absolute;bottom:6%;right:7%}.login-visual__card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #ffffff1f;border-radius:24px;position:absolute}.login-visual__card--back{background:#ffffff0e;padding:24px;inset:28px 12% 0 0;transform:rotate(-5deg)}.login-visual__card--back span{background:#ffffff1a;border-radius:99px;width:52%;height:9px;margin-bottom:14px;display:block}.login-visual__card--back span:nth-child(2){width:75%}.login-visual__card--back span:nth-child(3){width:62%}.login-visual__card--front{background:#ffffff1a;width:205px;height:205px;padding:25px;top:0;right:0;transform:rotate(3deg);box-shadow:0 24px 60px #00000038}.login-visual__card--front strong{margin-top:17px;font-size:2.2rem;display:block}.login-visual__card--front small{color:#bbb1b0}.mini-chart{align-items:end;gap:8px;height:70px;display:flex}.mini-chart i{background:#ffffff40;border-radius:5px 5px 2px 2px;flex:1;height:30%}.mini-chart i:nth-child(2){height:55%}.mini-chart i:nth-child(3){height:42%}.mini-chart i:nth-child(4){background:#ed535d;height:75%}.mini-chart i:nth-child(5){background:#f2767e;height:90%}.login-panel{place-items:center;min-height:100vh;padding:2rem;display:grid}.login-panel__inner{width:min(100%,430px)}.login-panel__mobile-brand{display:none}.environment-pill{color:#5d5551;background:#f4f1ef;border-radius:999px;align-items:center;gap:.48rem;margin-bottom:1.5rem;padding:.46rem .72rem;font-size:.75rem;font-weight:720;display:inline-flex}.environment-pill span{background:#35a77f;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #35a77f1f}.login-panel h2{letter-spacing:-.045em;margin-bottom:.6rem;font-size:clamp(2rem,3vw,2.55rem)}.login-subtitle{color:var(--muted);margin-bottom:2rem;line-height:1.6}.login-form{flex-direction:column;display:flex}.login-form label,.field-label-row{margin-bottom:.48rem;font-size:.78rem;font-weight:760}.field-label-row{justify-content:space-between;align-items:center;display:flex}.field-label-row label{margin:0}.field-label-row span{color:#a9a19d;font-weight:600}.login-form input{width:100%;height:50px;color:var(--ink);background:#fcfbfa;border:1px solid #ddd6d2;border-radius:12px;padding:0 .95rem}.login-form input:focus{border-color:var(--red);background:#fff}.login-form>input{margin-bottom:1.2rem}.password-field{position:relative}.password-field input{padding-right:3rem}.password-field button{cursor:pointer;background:0 0;border:0;border-radius:9px;width:40px;height:40px;position:absolute;top:5px;right:5px}.password-field svg{color:#817975;width:18px}.field-help{color:#968e8a;margin:.45rem 0 1.5rem;font-size:.72rem;line-height:1.45}.login-divider{background:var(--line);text-align:center;height:1px;margin:1.7rem 0}.login-divider span{color:#a59d99;background:#fff;padding:0 .8rem;font-size:.75rem;position:relative;top:-.7rem}.demo-note{color:#928a86;justify-content:center;align-items:center;gap:.4rem;margin:.85rem 0 0;font-size:.74rem;display:flex}.demo-note svg{width:15px}.login-developer-link{color:#8d8581;cursor:pointer;background:0 0;border:0;align-items:center;gap:.35rem;width:max-content;margin:1.4rem auto 0;padding:.35rem .2rem;font-size:.7rem;font-weight:680;display:flex}.login-developer-link:hover{color:var(--red)}.login-developer-link svg{width:13px}.app-shell{--sidebar-width:252px;min-height:100vh;padding-left:var(--sidebar-width);background:var(--canvas);transition:padding .18s}.app-shell--collapsed{--sidebar-width:78px}.sidebar{z-index:40;width:var(--sidebar-width);color:#d7d1cf;background:var(--sidebar);flex-direction:column;padding:.9rem .85rem .65rem;transition:width .18s,transform .18s;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar__top{justify-content:space-between;align-items:center;min-height:40px;padding:0 .58rem;display:flex}.sidebar__mobile-close{color:#fff;display:none}.sidebar__nav{flex-direction:column;gap:.08rem;margin-top:.85rem;display:flex}.sidebar__section-label{color:#716b6c;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;margin:.58rem 0 .2rem;padding:0 .62rem;font-size:.56rem;font-weight:820;overflow:hidden}.sidebar__nav a{color:#aaa4a3;white-space:nowrap;border-radius:10px;align-items:center;gap:.65rem;min-height:38px;padding:0 .65rem;font-size:.75rem;font-weight:650;display:flex}.sidebar__nav a svg{flex:none;width:18px;height:18px}.sidebar__nav a:hover{color:#fff;background:#ffffff0e}.sidebar__nav a.active{color:#fff;box-shadow:inset 3px 0 var(--red);background:linear-gradient(90deg,#df35403d,#df35401a)}.sidebar__nav a.active svg{color:#f0646d}.sidebar__developer{color:#817a79;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:.65rem;width:100%;min-height:35px;margin-top:auto;padding:0 .65rem;font-size:.66rem;font-weight:650;display:flex;overflow:hidden}.sidebar__developer:hover{color:#f2ecea;background:#ffffff0a}.sidebar__developer svg{flex:none;width:16px}.sidebar__collapse{color:#807a79;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.72rem;min-height:35px;margin-top:.2rem;padding:0 .65rem;font-size:.69rem;display:flex}.sidebar__collapse:hover{color:#fff;background:#ffffff0a}.sidebar__collapse svg{flex:none;width:18px}.app-shell--collapsed .sidebar{padding-inline:.65rem}.app-shell--collapsed .sidebar__top,.app-shell--collapsed .sidebar__nav a,.app-shell--collapsed .sidebar__developer,.app-shell--collapsed .sidebar__collapse{justify-content:center;padding:0}.app-shell--collapsed .sidebar__section-label{color:#0000;background:#ffffff12;height:1px;margin:.9rem 0 .4rem;padding:0}.app-shell__content{min-width:0;min-height:100vh}.demo-banner{color:#573f09;background:#fff1c8;justify-content:center;align-items:center;gap:.55rem;min-height:38px;padding:.45rem 1.5rem;font-size:.73rem;display:flex}.demo-banner>svg{width:15px}.demo-banner button{color:#684d11;cursor:pointer;background:#ffffff94;border:0;border-radius:7px;align-items:center;gap:.35rem;margin-left:.5rem;padding:.25rem .55rem;font-weight:700;display:inline-flex}.demo-banner button svg{width:13px}.topbar{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:1.25rem;height:74px;padding:0 2rem;display:flex;position:sticky;top:0}.topbar__brand{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;padding:0 .35rem;display:none}.topbar__brand:hover{background:#f6f2f0}.topbar__brand .brand{color:var(--ink)}.topbar__menu{display:none}.topbar__controls{align-items:center;gap:.65rem;display:flex;position:relative}.header-select{position:relative}.header-select select{height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);appearance:none;color:#554e4a;cursor:pointer;background:#faf9f8;max-width:165px;padding:0 2rem 0 .75rem;font-size:.74rem;font-weight:660}.header-select svg{pointer-events:none;width:14px;position:absolute;top:50%;right:.62rem;transform:translateY(-50%)}.header-select--year select{width:86px}.notification-button{color:#625b57;position:relative}.notification-button:after{content:"";background:var(--red);border:2px solid #fff;border-radius:50%;width:7px;height:7px;display:none;position:absolute;top:10px;right:10px}.notification-button.has-unread:after{display:block}.notification-popover{z-index:60;border:1px solid var(--line);width:min(360px,100vw - 1.5rem);box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;padding:.55rem;position:absolute;top:calc(100% + 14px);right:50px}.notification-popover header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:40px;padding:0 .5rem .4rem;display:flex}.notification-popover header strong{font-size:.75rem}.notification-popover header button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.notification-popover header button:hover{background:#f5f1ef}.notification-popover header svg{width:16px}.notification-popover>a{border-bottom:1px solid #f0ece9;border-radius:10px;align-items:center;gap:.6rem;min-height:64px;padding:.55rem;display:flex}.notification-popover>a:hover{background:#faf7f5}.notification-popover>a>div{flex-direction:column;display:flex}.notification-popover>a strong{font-size:.68rem}.notification-popover>a small{color:var(--muted);margin-top:.2rem;font-size:.59rem;line-height:1.4}.notification-popover__empty{line-height:1.45;color:var(--muted)!important}.notification-popover__all{color:var(--red);justify-content:center;font-size:.64rem;font-weight:750;border:0!important;min-height:38px!important}.notification-popover__all svg{width:14px}.notification-popover>p{color:var(--green);align-items:center;gap:.35rem;margin:.45rem .5rem .1rem;font-size:.58rem;display:flex}.notification-popover>p svg{width:13px}.profile-menu{position:relative}.profile-trigger{cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.55rem;min-height:46px;padding:.25rem .45rem;display:flex}.profile-trigger:hover{background:#f6f2f0}.avatar{color:#fff;background:linear-gradient(145deg,#e94650,#a91724);border-radius:11px;place-items:center;width:36px;height:36px;font-size:.7rem;font-weight:820;display:grid;box-shadow:0 6px 18px #cc2a3533}.profile-trigger__text{flex-direction:column;align-items:flex-start;min-width:0;max-width:130px;display:flex}.profile-trigger__text strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;overflow:hidden}.profile-trigger__text small{color:#968e8a;font-size:.63rem}.profile-trigger>svg{color:#928a86;width:14px}.profile-popover{border:1px solid var(--line);width:245px;box-shadow:var(--shadow-lg);background:#fff;border-radius:15px;padding:.5rem;position:absolute;top:calc(100% + 10px);right:0}.profile-popover__identity{border-bottom:1px solid var(--line);flex-direction:column;padding:.7rem .65rem .85rem;display:flex}.profile-popover__identity strong{font-size:.78rem}.profile-popover__identity small{color:var(--muted);margin-top:.16rem;font-size:.67rem}.profile-popover button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:.65rem;width:100%;min-height:38px;padding:0 .65rem;font-size:.72rem;display:flex}.profile-popover button:hover{background:#f7f3f1}.profile-popover button svg{color:#837b77;width:16px}.workspace-filters{display:none}.workspace-filters label{align-items:center;gap:.45rem;display:flex;position:relative}.workspace-filters label span{color:#938b87;font-size:.68rem;font-weight:720}.workspace-filters select{height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);appearance:none;color:#5c5551;background:#fbfaf9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a726e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .65rem center/14px no-repeat;min-width:145px;padding:0 2rem 0 .75rem;font-size:.75rem}.app-main{min-width:0}.mobile-nav{display:none}.global-search{border:1px solid var(--line);background:#faf9f8;border-radius:12px;align-items:center;width:min(33vw,420px);height:42px;display:flex;position:relative}.global-search>svg{color:#968f8b;width:18px;margin-left:.8rem}.global-search input{min-width:0;height:100%;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0 .6rem;font-size:.76rem}.global-search kbd{color:#a19995;background:#fff;border:1px solid #e2dcda;border-radius:6px;margin-right:.55rem;padding:.18rem .38rem;font-size:.61rem;box-shadow:0 1px 1px #00000008}.search-results{z-index:50;border:1px solid var(--line);box-shadow:var(--shadow-lg);background:#fff;border-radius:15px;padding:.4rem;position:absolute;top:calc(100% + 9px);left:0;right:0}.search-results button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:.6rem;width:100%;min-height:54px;padding:.4rem .5rem;display:flex}.search-results button:hover{background:#f8f5f3}.search-results__avatar{width:35px;height:35px;color:var(--red);background:var(--red-soft);border-radius:10px;flex:none;place-items:center;display:grid}.search-results__avatar svg{width:17px}.search-results button>span:nth-child(2){flex-direction:column;flex:1;min-width:0;display:flex}.search-results strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.search-results small{color:#928a86;margin-top:.14rem;font-size:.63rem}.search-results p{color:var(--muted);text-align:center;margin:0;padding:1rem;font-size:.72rem}.status-dot{background:#aaa;border-radius:50%;width:8px;height:8px}.status-dot--active{background:var(--green)}.status-dot--transferred{background:var(--amber)}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1c171673;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.about-project-backdrop{z-index:220}.about-project-dialog{width:min(100%,460px);padding:1.35rem}.about-project-dialog .form-modal__header{align-items:flex-start}.about-project-dialog .form-modal__header .icon-button{flex:none}.about-project-dialog__description{color:var(--muted);margin-bottom:1.1rem;font-size:.76rem;line-height:1.65}.about-project-dialog__links{gap:.55rem;margin-bottom:1rem;display:grid}.about-project-dialog__links a{border:1px solid var(--line);color:#5f5753;background:#fcfaf9;border-radius:13px;justify-content:space-between;align-items:center;gap:.7rem;min-height:48px;padding:.65rem .8rem;font-size:.72rem;font-weight:720;display:flex}.about-project-dialog__links a:hover{color:var(--red);background:var(--red-soft);border-color:#efb9bd}.about-project-dialog__links a>span{gap:.12rem;min-width:0;display:grid}.about-project-dialog__links a strong{font-size:inherit}.about-project-dialog__links a small{overflow-wrap:anywhere;color:var(--muted);font-size:.62rem;font-weight:580}.about-project-dialog__links a>svg{flex:none;width:16px}.about-project-dialog .form-modal__actions{padding-top:.8rem}@media (prefers-reduced-motion:no-preference){.about-project-backdrop{animation:.16s ease-out about-project-fade-in}.about-project-dialog{animation:.18s ease-out about-project-dialog-in}}@keyframes about-project-fade-in{0%{opacity:0}}@keyframes about-project-dialog-in{0%{transform:translateY(.4rem)scale(.985)}}.student-summary{width:min(100%,720px);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;padding:1.5rem;position:relative;overflow-y:auto}.student-summary__close{position:absolute;top:.75rem;right:.75rem}.student-summary__identity{align-items:center;gap:.85rem;padding-right:2.5rem;display:flex}.student-summary__identity>div{min-width:0}.student-summary__avatar{width:52px;height:52px;color:var(--red);background:var(--red-soft);border-radius:15px;flex:none;place-items:center;display:grid}.student-summary__avatar svg{width:24px}.student-summary h2{margin-bottom:.4rem;font-size:1.45rem}.student-summary__identity p{color:var(--muted);margin:0;font-size:.8rem}.student-summary dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1.2rem 0;display:grid}.student-summary dl div{background:#f8f5f3;border-radius:11px;padding:.8rem}.student-summary dt{color:var(--muted);font-size:.64rem}.student-summary dd{margin:.25rem 0 0;font-size:.8rem;font-weight:760}.student-summary__status{border:1px solid var(--line);width:100%;color:inherit;background:#fff;border-radius:8px;margin-top:.1rem;padding:.3rem .4rem;font-family:inherit;font-size:.75rem;font-weight:760}.student-summary__status:disabled{opacity:.6}.student-summary__notice{color:#795b2d;background:#fff8ed;border:1px solid #f0dfc8;border-radius:11px;padding:.9rem;font-size:.72rem;line-height:1.55}.student-summary__periods{margin-top:1.2rem}.student-summary__section-title{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.student-summary__section-title h3{margin:0;font-size:.9rem}.student-summary__section-title>span{color:var(--muted);font-size:.62rem}.student-summary__empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:12px;margin:0;padding:1rem;font-size:.7rem}.student-period{border:1px solid var(--line);background:#fff;border-radius:14px;overflow:hidden}.student-period+.student-period{margin-top:.65rem}.student-period>header{background:#faf8f7;justify-content:space-between;align-items:center;gap:.8rem;min-height:58px;padding:.7rem .8rem;display:flex}.student-period>header>div{flex-direction:column;min-width:0;display:flex}.student-period>header strong{font-size:.72rem}.student-period>header small{color:var(--muted);font-size:.58rem}.student-period>header>span{flex-direction:column;align-items:flex-end;min-width:76px;display:flex}.student-period>header b{color:var(--red);font-size:.85rem}.student-period ul{margin:0;padding:0;list-style:none}.student-period li{border-top:1px solid #f1edeb;align-items:center;gap:.75rem;min-height:49px;padding:.55rem .8rem;display:flex}.student-period li>div{flex-direction:column;flex:1;min-width:0;display:flex}.student-period li strong{text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.student-period li small{color:var(--muted);font-size:.56rem}.student-activity-grade{color:#7c736f;text-align:center;background:#f3efed;border-radius:8px;min-width:64px;padding:.28rem .45rem;font-size:.58rem;font-weight:760}.student-activity-grade--graded{color:#24755c;background:#eaf7f2}.student-activity-grade--absent{color:#9a5d17;background:#fff4de}.page-shell{width:min(100%,1480px);margin:0 auto;padding:1.75rem clamp(1rem,2.5vw,2.5rem) 3.25rem}.page-intro{justify-content:space-between;align-items:center;gap:var(--section-gap);margin-bottom:1.35rem;display:flex}.page-intro h1{letter-spacing:-.045em;margin-bottom:.38rem;font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.06}.page-intro p{color:var(--muted);margin:0;font-size:.83rem}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.metric-card,.panel{border:1px solid var(--line);border-radius:var(--surface-radius);background:var(--surface);box-shadow:var(--shadow-sm)}.metric-card{flex-direction:column;min-width:0;min-height:170px;padding:1.15rem;display:flex}.metric-card--hero{background:linear-gradient(150deg,#fff 35%,#fff4f4 100%);border-color:#edcfd1}.metric-card--attention{background:linear-gradient(150deg,#fff 45%,#fffaf1 100%)}.metric-card__top{justify-content:space-between;align-items:flex-start;min-height:38px;margin-bottom:.8rem;display:flex}.metric-icon{border-radius:11px;place-items:center;width:36px;height:36px;display:inline-grid}.metric-icon svg{width:18px;height:18px}.metric-icon--red{color:var(--red);background:var(--red-soft)}.metric-icon--purple{color:var(--purple);background:#f0edff}.metric-icon--green{color:var(--green);background:#eaf7f2}.metric-icon--amber{color:var(--amber);background:#fff4de}.trend-chip{border-radius:999px;align-items:center;gap:.15rem;padding:.3rem .45rem;font-size:.65rem;font-weight:800;display:inline-flex}.trend-chip svg{width:13px}.trend-chip--up{color:#20795f;background:#e9f6f1}.trend-chip--down{color:#b72c36;background:#ffedef}.metric-card__label{color:#746c68;font-size:.72rem;font-weight:660}.metric-card>strong{color:#272220;letter-spacing:-.035em;margin-top:.12rem;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.1}.metric-card>small{color:#9a928e;margin-top:auto;font-size:.65rem}.progress{background:#e8e3e0;border-radius:99px;height:5px;margin:.5rem 0 .45rem;overflow:hidden}.progress i{border-radius:inherit;background:var(--green);height:100%;display:block}.dashboard-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:.9rem;margin-top:.9rem;display:grid}.dashboard-grid--wide{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr)}.dashboard-detail-layout{grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);align-items:stretch;gap:.9rem;margin-top:.9rem;display:grid}.dashboard-chart-stack{align-content:start;gap:.9rem;min-width:0;display:grid}.panel{min-width:0;padding:var(--surface-padding)}.panel__header{justify-content:space-between;align-items:flex-start;gap:.8rem;min-height:46px;margin-bottom:.65rem;display:flex}.panel__header .eyebrow{margin-bottom:.35rem;font-size:.61rem}.panel__header h2{letter-spacing:-.025em;margin:0;font-size:1.05rem}.panel-tag{color:#7f7773;background:#f4f1ef;border-radius:999px;align-items:center;gap:.3rem;padding:.35rem .55rem;font-size:.62rem;font-weight:700;display:inline-flex}.panel-tag svg{width:12px}.chart{min-width:0;margin:0}.chart figcaption{color:#9a928e;margin-top:.45rem;font-size:.63rem}.chart--short figcaption{margin-top:0}.text-button{color:var(--red);cursor:pointer;background:0 0;border:0;align-items:center;gap:.3rem;padding:.25rem 0;font-size:.68rem;font-weight:760;display:inline-flex}.text-button svg{width:14px}.insight-panel{flex-direction:column;display:flex}.insight-score{align-items:center;gap:1rem;padding:.55rem 0 1rem;display:flex}.insight-score__ring{--progress:70%;text-align:center;background:conic-gradient(var(--red) var(--progress), #f0ebe8 0);border-radius:50%;flex:none;place-content:center;width:100px;height:100px;display:grid;position:relative}.insight-score__ring:before{content:"";background:#fff;border-radius:50%;position:absolute;inset:9px}.insight-score__ring strong,.insight-score__ring small{z-index:1;position:relative}.insight-score__ring strong{font-size:1.45rem}.insight-score__ring small{color:var(--muted);font-size:.58rem}.insight-score>div strong{font-size:.78rem}.insight-score>div p{color:var(--muted);margin:.3rem 0 0;font-size:.69rem;line-height:1.5}.distribution-list{margin:auto 0 0;padding:0;list-style:none}.distribution-list li{border-top:1px solid #f0ece9;justify-content:space-between;align-items:center;min-height:35px;font-size:.68rem;display:flex}.distribution-list li span{color:#736b67;align-items:center;gap:.45rem;display:flex}.distribution-list i{border-radius:3px;width:8px;height:8px}.pending-list{margin:0;padding:0;list-style:none}.pending-list li{border-top:1px solid #f0ece9;align-items:center;gap:.7rem;min-height:56px;display:flex}.pending-list li:first-child{border-top:0}.pending-list__icon{color:#8d817b;background:#f5f1ef;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;display:grid}.pending-list__icon svg{width:16px}.pending-list li div{flex-direction:column;flex:1;min-width:0;display:flex}.pending-list li strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.pending-list li small{color:#9b938f;margin-top:.16rem;font-size:.61rem}.pending-count{color:#9a631e;background:#fff3df;border-radius:7px;flex:none;padding:.25rem .42rem;font-size:.58rem;font-weight:760}.completion-panel{contain:size;flex-direction:column;grid-area:1/2;align-self:stretch;min-height:0;display:flex;overflow:hidden}.planning-completion-panel{grid-area:2/1/auto/-1;min-width:0}.planning-completion-table{max-height:360px}.completion-table__navigation.planning-completion-navigation{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;display:grid}.planning-completion-navigation__group{justify-content:space-between;align-items:center;gap:.75rem;min-width:0;min-height:38px;padding:.65rem .75rem;display:flex}.planning-completion-navigation__group+.planning-completion-navigation__group{border-left:1px solid #eeeae7}.planning-completion-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.planning-completion-list li:nth-child(2){border-top:0}.planning-completion-list li:nth-child(2n){border-left:1px solid #f0ece9}.completion-filter{border:1px solid var(--line);color:#8d817b;cursor:pointer;background:#faf8f7;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;transition:color .18s,border-color .18s,background .18s;display:inline-grid}.completion-filter:hover{color:var(--red);background:var(--red-soft);border-color:#edcfd1}.completion-filter.is-active{color:#24755c;background:#eaf7f2;border-color:#cce7dc}.completion-filter:focus-visible{outline-offset:2px;outline:3px solid #df35402e}.completion-filter svg{width:17px;height:17px}.completion-table{overscroll-behavior:contain;scrollbar-color:#c9c1bd transparent;scrollbar-width:thin;border:1px solid #eeeae7;border-radius:14px;flex:1;min-height:0;overflow-y:auto}.completion-table:focus-visible{outline-offset:2px;outline:3px solid #df35402e}.completion-table__navigation{z-index:1;color:#837a76;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-transform:uppercase;letter-spacing:.06em;background:#faf8f7f5;border-bottom:1px solid #eeeae7;justify-content:space-between;align-items:center;gap:.75rem;min-height:38px;padding:.65rem .75rem;font-size:.58rem;font-weight:780;display:flex;position:sticky;top:0}.completion-list{margin:0;padding:0;list-style:none}.completion-list li{border-top:1px solid #f0ece9;min-height:74px;position:relative}.completion-list li:first-child{border-top:0}.completion-list__link{min-height:74px;color:inherit;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem .8rem;padding:.8rem .75rem 1rem;text-decoration:none;transition:background .16s;display:grid}.completion-list__link:hover{background:#faf8f7}.completion-list__link:focus-visible{z-index:1;outline-offset:-3px;outline:3px solid #df35402e;position:relative}.completion-list__link>div:first-child{flex-direction:column;min-width:0;display:flex}.completion-list__link>div:first-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.completion-list__link>div:first-child small{color:var(--muted);margin-top:.18rem;font-size:.59rem}.completion-rate{white-space:nowrap;align-items:baseline;gap:.2rem;display:flex}.completion-rate strong{font-size:.72rem}.completion-rate small{color:#7f7773;font-size:.55rem}.completion-rate svg{color:#9b938f;width:13px;height:13px;margin-left:.1rem}.completion-rate--high{color:#24755c}.completion-rate--medium{color:#a96815}.completion-rate--low{color:#b72c36}.completion-progress{background:#e8e3e0;border-radius:99px;grid-column:1/-1;height:4px;overflow:hidden}.completion-progress i{border-radius:inherit;height:100%;display:block}.completion-progress--high i{background:var(--green)}.completion-progress--medium i{background:var(--amber)}.completion-progress--low i{background:var(--red)}.completion-empty{color:#988f8b;text-align:center;place-content:center;justify-items:center;min-height:180px;padding:1rem;display:grid}.completion-empty svg{width:28px;color:var(--green)}.completion-empty p{margin:.6rem 0 0;font-size:.68rem;line-height:1.45}.empty-inline{color:#988f8b;text-align:center;place-content:center;justify-items:center;min-height:180px;display:grid}.empty-inline svg{width:28px;color:var(--red)}.empty-inline p{margin:.6rem 0 0;font-size:.72rem}.boot-state{background:var(--canvas);place-items:center;min-height:100vh;padding:2rem;display:grid}.boot-state>.brand{color:var(--ink);position:fixed;top:2rem;left:2rem}.state-card{border:1px solid var(--line);text-align:center;width:min(100%,480px);box-shadow:var(--shadow-sm);background:#fff;border-radius:20px;padding:2rem}.state-card__icon{width:50px;height:50px;color:var(--red);background:var(--red-soft);border-radius:15px;place-items:center;margin:0 auto 1rem;display:grid}.state-card h2{margin-bottom:.55rem;font-size:1.2rem}.state-card p{color:var(--muted);margin-bottom:1.3rem;font-size:.78rem;line-height:1.55}.skeleton{background:#eae5e2;border-radius:12px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#0000,#ffffffa6,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton--heading{width:42%;height:58px;margin-bottom:1.5rem}.skeleton-grid{grid-template-columns:repeat(4,1fr);gap:.9rem;display:grid}.skeleton--card{height:170px}.skeleton--panel{height:340px;margin-top:.9rem}@keyframes shimmer{to{transform:translate(100%)}}.feature-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 130px);display:flex}.feature-page__illustration{width:150px;height:135px;margin-bottom:1.7rem;position:relative}.feature-page__illustration span{z-index:2;width:82px;height:82px;color:var(--red);background:#fff;border:1px solid #efddda;border-radius:25px;place-items:center;margin:20px auto 0;display:grid;position:relative;transform:rotate(-4deg);box-shadow:0 18px 40px #663c321f}.feature-page__illustration span svg{width:34px;height:34px}.feature-page__illustration i{background:#f2e8e5;border-radius:50%;position:absolute}.feature-page__illustration i:nth-child(2){width:120px;height:120px;inset:8px 14px}.feature-page__illustration i:nth-child(3){background:#f2a1a6;width:16px;height:16px;top:10px;right:0}.feature-page__illustration i:nth-child(4){background:#d9d1ef;width:10px;height:10px;bottom:14px;left:0}.feature-page h1{letter-spacing:-.05em;margin-bottom:.7rem;font-size:clamp(2rem,4vw,3.2rem)}.feature-page>p{max-width:570px;color:var(--muted);margin-bottom:1.5rem;line-height:1.65}@media (width<=1180px){.profile-trigger__text{display:none}.global-search{width:min(27vw,290px)}.topbar__controls{gap:.45rem}.header-select select{max-width:170px;padding:0 1.75rem 0 .65rem;font-size:.72rem}.header-select svg{width:13px;right:.55rem}.header-select--year select{width:78px}.dashboard-grid,.dashboard-grid--wide,.dashboard-detail-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr)}}@media (width<=720px),(width>=721px) and (width<=1050px) and (orientation:portrait){.login-page{grid-template-columns:1fr 1fr}.login-story{padding:2.2rem}.login-story__content{padding-bottom:16rem}.login-visual{width:80%}.app-shell,.app-shell--collapsed{--sidebar-width:0px;padding-left:0}.sidebar,.app-shell--collapsed .sidebar{width:252px;padding:.9rem .85rem .65rem;transform:translate(-100%)}.sidebar--open{transform:translate(0);box-shadow:20px 0 60px #0003}.sidebar--open .brand{justify-content:flex-start}.sidebar--open .brand__name,.sidebar--open .sidebar__nav a span,.sidebar--open .sidebar__collapse{display:initial}.sidebar--open .sidebar__nav a,.sidebar--open .sidebar__collapse{justify-content:flex-start;padding:0 .72rem}.sidebar--open .sidebar__section-label{color:#716b6c;background:0 0;height:auto;margin:.58rem 0 .2rem;padding:0 .62rem}.sidebar__mobile-close{display:inline-grid}.sidebar__collapse{display:none!important}.sidebar-backdrop{z-index:35;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#17141461;border:0;position:fixed;inset:0}.topbar__brand{flex:none;display:inline-flex}.topbar__menu{display:none}.topbar{gap:.75rem;height:66px;padding-inline:1rem}.global-search{width:min(30vw,240px);height:38px}.header-select select{max-width:190px;height:36px;font-size:.7rem}.header-select--year select{width:80px}.avatar{width:32px;height:32px}.profile-trigger{min-height:40px;padding:.2rem .3rem}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid--wide,.dashboard-detail-layout{grid-template-columns:1fr}.completion-panel,.planning-completion-panel{grid-area:auto/1}.completion-panel{contain:none}.completion-table{max-height:430px}.completion-table__navigation.planning-completion-navigation{display:flex}.planning-completion-navigation__group{width:100%}.planning-completion-navigation__group+.planning-completion-navigation__group{display:none}.planning-completion-list{display:block}.planning-completion-list li:nth-child(2){border-top:1px solid #f0ece9}.planning-completion-list li:nth-child(2n){border-left:0}.insight-panel{min-height:330px}.distribution-list{margin-top:.8rem}.page-shell{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.mobile-nav{z-index:32;height:70px;padding:.45rem .45rem max(.45rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;justify-content:space-between;align-items:stretch;gap:.2rem;display:flex;position:fixed;inset:auto 0 0}.mobile-nav a,.mobile-nav button{color:#968e8a;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:.18rem;min-width:0;font-size:.55rem;font-weight:680;display:flex;overflow:hidden}.mobile-nav a.active{color:var(--red);background:var(--red-soft)}.mobile-nav svg{width:20px;height:20px}}@media (width<=720px){.login-page{min-height:100dvh;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));background:radial-gradient(circle at 88% 4%,#df354052,#0000 28%),linear-gradient(155deg,#201c1d 0 190px,#f6f4f2 190px 100%);display:block}.login-story{display:none}.login-panel{min-height:calc(100dvh - 2rem);padding:0;display:block}.login-panel__inner{background:#fffffff7;border:1px solid #ffffffd1;border-radius:24px;width:100%;margin:0;padding:1.35rem;box-shadow:0 24px 70px #17101133}.login-panel__mobile-brand{align-items:flex-start;height:82px;margin:0;padding:.45rem .35rem 0;display:flex}.login-panel__mobile-brand .brand{color:#fff}.login-panel__mobile-brand .brand__name{font-size:1.55rem}.environment-pill{margin-bottom:1.15rem}.login-panel h2{font-size:2rem;line-height:1}.login-subtitle{margin-bottom:1.5rem;font-size:.84rem}.login-form input{border-radius:14px;height:52px}.field-help{margin-bottom:1.2rem}.login-form .button--large{border-radius:14px;min-height:52px}.login-divider{margin:1.35rem 0}.demo-note{text-align:center;padding-inline:.4rem;line-height:1.45}.topbar{gap:.25rem;height:64px}.topbar__brand{gap:.45rem}.topbar__brand .brand__mark{gap:2px;width:24px;height:24px}.topbar__brand .brand__name{letter-spacing:.12em;font-size:1rem}.global-search{flex:1;width:auto}.global-search kbd,.header-select,.notification-button,.profile-trigger>svg{display:none}.topbar__controls{gap:0}.profile-trigger{padding:.2rem}.profile-popover,.notification-popover{position:fixed;top:68px;right:.75rem}.workspace-filters{border-bottom:1px solid var(--line);background:#fff;justify-content:flex-start;min-height:58px;padding:.5rem .8rem;display:flex;overflow-x:auto}.workspace-filters label{flex:none}.workspace-filters select{min-width:145px}.page-shell{padding:1.35rem .8rem 6.5rem}.page-intro{align-items:flex-start}.page-intro .button{border-radius:50%;flex:none;gap:0;width:44px;height:44px;min-height:44px;padding:0;font-size:0}.page-intro .button svg{width:20px;height:20px}.page-intro p{max-width:90%;line-height:1.5}.metric-grid{gap:.65rem}.metric-card{min-height:150px;padding:.9rem}.metric-card__top{margin-bottom:.55rem}.panel{border-radius:16px;padding:.95rem}.demo-banner{justify-content:flex-start;padding:.5rem .7rem}.demo-banner span{font-size:.65rem}.demo-banner button{margin-left:auto;font-size:0}.demo-banner button svg{width:16px}.search-results{position:fixed;top:62px;left:.5rem;right:.5rem}.student-summary-backdrop{padding:max(.5rem, env(safe-area-inset-top)) .5rem max(.5rem, env(safe-area-inset-bottom));grid-template-rows:minmax(0,1fr)}.student-summary{overscroll-behavior:contain;border-radius:18px;max-height:100%;padding:1rem}.student-summary__identity{align-items:flex-start}.student-summary h2{overflow-wrap:anywhere;font-size:1.15rem}.student-summary dl{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-grid{grid-template-columns:repeat(2,1fr)}.skeleton--heading{width:70%}}@media (width<=430px){.metric-grid{grid-template-columns:1fr 1fr}.metric-card{min-height:145px}.metric-card>strong{font-size:1.75rem}.metric-icon{width:32px;height:32px}.metric-card__label{font-size:.66rem}.metric-card>small{font-size:.58rem}.insight-score{align-items:flex-start}.insight-score__ring{width:88px;height:88px}.panel__header h2{font-size:.96rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.module-page{max-width:1540px}.module-intro{align-items:center}.module-toolbar{margin-bottom:var(--section-gap);padding:var(--surface-padding);border:1px solid var(--line);border-radius:var(--surface-radius);align-items:end;gap:var(--control-gap);box-shadow:var(--shadow-sm);background:#fff;display:flex}.module-toolbar>label,.module-toolbar>.export-class-filter{flex-direction:column;gap:.38rem;min-width:145px;display:flex}.module-toolbar>label>span,.module-toolbar>.export-class-filter>span{color:#746c68;padding-left:.1rem;font-size:.67rem;font-weight:750}.module-toolbar label>div{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:#fbfaf9;align-items:center;display:flex;position:relative}.module-toolbar select,.module-toolbar input{width:100%;height:calc(var(--control-height) - 2px);appearance:none;color:#4e4744;background:0 0;border:0;outline:0;padding:0 2rem 0 .75rem;font-size:.75rem}.module-toolbar label>div>svg{pointer-events:none;color:#918985;width:14px;position:absolute;right:.65rem}.module-toolbar label>div>svg:first-child:not(:last-child){flex:none;margin-left:.65rem;position:static}.module-toolbar label>div>svg:first-child:not(:last-child)+input,.module-toolbar label>div>svg:first-child:not(:last-child)+select{padding-left:.45rem}.module-toolbar .toolbar-search{flex:1;min-width:180px}.module-empty{text-align:center;background:#ffffffa6;border:1px dashed #ddd4cf;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;min-height:360px;padding:2rem;display:flex}.module-empty>span{width:58px;height:58px;color:var(--red);background:var(--red-soft);border-radius:18px;place-items:center;margin-bottom:1rem;display:grid}.module-empty>span svg{width:25px}.module-empty h2{margin-bottom:.45rem;font-size:1.2rem}.module-empty p{max-width:440px;color:var(--muted);margin-bottom:1.2rem;font-size:.78rem;line-height:1.55}.gradebook-card{border:1px solid var(--line);border-radius:var(--surface-radius);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.gradebook-card__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;min-height:68px;padding:.9rem 1rem;display:flex}.gradebook-card__header>div{flex-direction:column;display:flex}.gradebook-card__header strong{font-size:.82rem}.gradebook-card__header small{color:var(--muted);margin-top:.18rem;font-size:.65rem}.save-legend{color:var(--green);align-items:center;gap:.35rem;font-size:.65rem;font-weight:700;display:inline-flex}.save-legend svg{width:14px}.gradebook-scroll{max-width:100%;overflow:auto}.gradebook-table{border-collapse:separate;border-spacing:0;width:100%;min-width:880px}.gradebook-table th,.gradebook-table td{text-align:left;vertical-align:middle;background:#fff;border-bottom:1px solid #f0ece9;border-right:1px solid #f0ece9;min-width:142px;height:68px;padding:.55rem .7rem}.gradebook-table thead th{z-index:4;color:#756d69;background:#faf8f7;height:78px;font-size:.65rem;position:sticky;top:0}.gradebook-table .student-column{z-index:5;min-width:230px;max-width:230px;position:sticky;left:0}.gradebook-table tbody .student-column{background:#fff}.gradebook-table .average-column{z-index:3;text-align:center;background:#faf8f7;min-width:85px;position:sticky;right:0}.gradebook-table thead .average-column{z-index:6}.gradebook-table .average-column strong{color:var(--red);font-size:.9rem}.gradebook-table tr:last-child th,.gradebook-table tr:last-child td{border-bottom:0}.gradebook-table .is-transferred{opacity:.62}.activity-heading{flex-direction:column;display:flex}.activity-heading>i{border-radius:99px;width:18px;height:3px;margin-bottom:.45rem}.activity-heading__title{justify-content:space-between;align-items:center;gap:.35rem;min-width:0;display:flex}.activity-heading strong{-webkit-line-clamp:2;color:#4c4542;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:.67rem;line-height:1.25;display:-webkit-box;overflow:hidden}.activity-heading small{color:#9b938f;margin-top:.25rem;font-size:.57rem;font-weight:500}.activity-edit-button{color:#8f8783;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;width:28px;height:28px;display:grid}.activity-edit-button:hover,.activity-edit-button:focus-visible,.activity-edit-button[aria-pressed=true]{color:var(--red);background:var(--red-soft);outline:0}.activity-edit-button svg{width:13px;height:13px}.activity-edit-button:disabled{cursor:wait;opacity:.55}.gradebook-table .grade-column--active{background:snow}.grade-edit-selector{display:none}.student-cell{align-items:center;gap:.6rem;display:flex}.student-cell>i{color:#b22b35;background:var(--red-soft);border-radius:10px;flex:none;place-items:center;width:34px;height:34px;font-size:.62rem;font-style:normal;font-weight:800;display:grid}.student-cell>span{flex-direction:column;min-width:0;display:flex}.student-cell strong{text-overflow:ellipsis;white-space:nowrap;color:#3f3936;font-size:.69rem;overflow:hidden}.student-cell small{color:#9c9490;margin-top:.15rem;font-size:.57rem;font-weight:500}.grade-cell{grid-template-columns:minmax(54px,1fr) 28px;gap:.28rem;min-width:120px;display:grid;position:relative}.grade-cell input{color:#3f3936;text-align:center;background:#fcfbfa;border:1px solid #ddd6d2;border-radius:9px;width:100%;min-width:0;height:36px;padding:0 .45rem;font-size:.75rem}.grade-cell input[type=number]{appearance:textfield}.grade-cell input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.grade-cell input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.grade-cell select{color:#0000;cursor:pointer;background:#f5f1ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23877f7b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") 50%/10px no-repeat;border:1px solid #e3ddda;border-radius:8px;width:28px;height:36px;overflow:hidden}.grade-cell input:disabled,.grade-cell select:disabled{cursor:not-allowed;opacity:.62}.grade-cell--saving input{background:#fffaf1;border-color:#e7bb75}.grade-cell--saved input{background:#f4fbf8;border-color:#79bea6;box-shadow:0 0 0 2px #37937421}.grade-cell--error input{border-color:var(--red);background:#fff3f4}.grade-cell__state{color:#918985;font-size:.5rem;position:absolute;top:calc(100% + 2px);left:1px}.grade-cell--saved .grade-cell__state{color:var(--green)}.grade-cell--error .grade-cell__state{color:var(--red)}.form-modal{width:min(100%,720px);max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);background:#fff;border-radius:22px;padding:1.3rem;overflow:auto}.form-modal__header{align-items:center;gap:.8rem;margin-bottom:1rem;display:flex}.form-modal__header>div{flex:1}.form-modal__header h2{margin:0;font-size:1.25rem}.form-modal__header .eyebrow{margin-bottom:.3rem}.form-modal__icon{width:44px;height:44px;color:var(--red);background:var(--red-soft);border-radius:13px;place-items:center;display:grid}.form-modal__icon svg{width:20px}.form-grid{gap:var(--control-gap);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-field{flex-direction:column;gap:.38rem;min-width:0;display:flex}.form-field--wide{grid-column:1/-1}.form-field>span{color:#6f6763;font-size:.68rem;font-weight:730}.form-field input:not([type=file]):not([type=color]),.form-field select{width:100%;height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);color:var(--ink);background-color:#fcfbfa;border:1px solid #ddd6d2;outline:0;padding:0 .75rem;font-size:.75rem}.form-field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a726e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:14px;padding-right:2rem}.form-field textarea{width:100%;min-height:calc(var(--control-height) * 2);border-radius:var(--control-radius);color:var(--ink);resize:vertical;background:#fcfbfa;border:1px solid #ddd6d2;outline:0;padding:.65rem .75rem;font-size:.75rem}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 3px #df35401a}.form-error{color:#a4212b;background:#fff0f1;border-radius:9px;margin:0;padding:.7rem;font-size:.7rem}.form-modal__actions{border-top:1px solid var(--line);justify-content:flex-end;gap:.55rem;padding-top:.4rem;display:flex}.spin{animation:.9s linear infinite rotate}@keyframes rotate{to{transform:rotate(360deg)}}.segmented-control{border:1px solid var(--line);background:#fff;border-radius:12px;padding:.25rem;display:inline-flex}.segmented-control button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.4rem;padding:0 .8rem;font-size:.7rem;font-weight:700;display:inline-flex}.segmented-control button svg{width:15px}.segmented-control button.is-active{color:var(--red);background:var(--red-soft)}.ranking-highlight-grid{grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:.9rem;display:grid}.ranking-highlight{border:1px solid var(--line);min-width:0;box-shadow:var(--shadow-sm);background:#fff;border-radius:17px;grid-template-columns:auto 1fr auto;column-gap:.7rem;padding:1rem;display:grid;position:relative}.ranking-highlight>span{width:38px;height:38px;color:var(--red);background:var(--red-soft);border-radius:11px;grid-row:1/4;place-items:center;display:grid}.ranking-highlight>span svg{width:18px}.ranking-highlight small{color:#a09894;text-transform:uppercase;letter-spacing:.08em;font-size:.58rem}.ranking-highlight>strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.ranking-highlight b{color:var(--red);grid-area:1/3/3;align-self:center;font-size:1.45rem}.ranking-highlight p{color:var(--muted);grid-column:2/4;margin:.18rem 0 0;font-size:.62rem}.ranking-highlight--2>span{color:var(--purple);background:#f0edff}.ranking-highlight--3>span{color:var(--amber);background:#fff4de}.analysis-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:.9rem;display:grid}.ranking-table-panel{overflow:hidden}.responsive-table{max-width:100%;overflow:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{color:#6b635f;text-align:left;white-space:nowrap;border-bottom:1px solid #f0ece9;height:48px;padding:.55rem .7rem;font-size:.68rem}.data-table thead th{color:#9a928e;text-transform:uppercase;letter-spacing:.06em;font-size:.58rem}.data-table tbody th{color:#403a37;font-size:.72rem}.position-badge{min-width:30px;height:26px;color:var(--red);background:var(--red-soft);border-radius:8px;place-items:center;padding:0 .4rem;font-weight:800;display:inline-grid}.series-selector{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;margin-bottom:.9rem;padding:.85rem 1rem;display:grid}.series-selector>div:first-child{flex-direction:column;display:flex}.series-selector>div:first-child strong{font-size:.72rem}.series-selector>div:first-child span{color:var(--muted);font-size:.6rem}.series-selector__options{flex-wrap:wrap;gap:.4rem;display:flex}.series-selector__options button{border:1px solid var(--line);color:#756d69;cursor:pointer;background:#faf9f8;border-radius:999px;align-items:center;gap:.3rem;min-height:34px;padding:0 .7rem;font-size:.65rem;font-weight:680;display:inline-flex}.series-selector__options button.is-selected{color:var(--red);background:var(--red-soft);border-color:#efb9bd}.series-selector__options button svg{width:13px}.series-selector__actions{flex-direction:column;align-items:flex-end;display:flex}.series-selector__actions button{color:var(--red);cursor:pointer;background:0 0;border:0;padding:.15rem;font-size:.6rem}.comparison-metrics{grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:.9rem;display:grid}.comparison-metrics article{border:1px solid var(--line);min-height:132px;box-shadow:var(--shadow-sm);background:#fff;border-radius:17px;grid-template-columns:auto 1fr;column-gap:.7rem;padding:1rem;display:grid}.comparison-metrics .metric-icon{grid-row:1/4}.comparison-metrics small{color:var(--muted);font-size:.64rem}.comparison-metrics strong{font-size:1.55rem;line-height:1}.comparison-metrics p{color:#9a928e;margin:.2rem 0 0;font-size:.62rem}.context-notice{color:#725728;background:#fff9ec;border:1px solid #ead9b4;border-radius:12px;align-items:center;gap:.6rem;margin-bottom:.9rem;padding:.75rem .9rem;font-size:.68rem;display:flex}.context-notice svg{flex:none;width:17px}.analysis-grid--comparison{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr)}.comparison-detail-list{margin:0;padding:0;list-style:none}.comparison-detail-list li{border-bottom:1px solid #f0ece9;padding:.7rem 0}.comparison-detail-list li:last-child{border-bottom:0}.comparison-detail-list header{justify-content:space-between;display:flex}.comparison-detail-list header strong{font-size:.72rem}.comparison-detail-list header span,.comparison-detail-list small{color:var(--muted);font-size:.6rem}.comparison-detail-list li>div{color:#756d69;align-items:center;gap:.5rem;margin:.55rem 0 .35rem;font-size:.62rem;display:flex}.comparison-detail-list li>div i{background:linear-gradient(90deg, #f4c3c6, var(--red));border-radius:99px;flex:1;height:4px}.comparison-detail-list b{color:var(--ink)}.comparison-table-panel{margin-top:.9rem}@media (width<=1050px){.module-toolbar{flex-wrap:wrap}.module-toolbar>label{flex:150px}.analysis-grid,.analysis-grid--comparison,.series-selector{grid-template-columns:1fr}.series-selector__actions{flex-direction:row;align-items:center;gap:.6rem}}@media (width<=720px){.module-intro{align-items:flex-start}.module-intro .segmented-control{align-self:stretch}.module-intro .segmented-control button{flex:1}.module-toolbar{gap:.5rem;padding:.65rem}.module-toolbar>label{flex-basis:calc(50% - .3rem);min-width:132px}.module-toolbar .toolbar-search{flex-basis:100%;order:5}.gradebook-card{border-radius:14px}.gradebook-card__header{align-items:flex-start}.save-legend{text-align:right;justify-content:flex-end;max-width:110px}.gradebook-table .student-column{min-width:185px;max-width:185px}.form-modal{border-radius:18px;max-height:calc(100vh - 1rem);padding:1rem}.form-grid{grid-template-columns:1fr}.form-field--wide{grid-column:1}.ranking-highlight-grid,.comparison-metrics{grid-template-columns:1fr}.ranking-highlight-grid{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.ranking-highlight{scroll-snap-align:start;min-width:82%}.series-selector__options{flex-wrap:nowrap;padding-bottom:.2rem;overflow-x:auto}.series-selector__options button{flex:none}}.export-layout{grid-template-columns:300px minmax(0,1fr);gap:.9rem;display:grid}.export-sidebar{align-content:start;gap:.7rem;min-width:0;display:grid}.filter-requirement{color:#aaa19d;letter-spacing:0;text-transform:none;font-size:.56rem;font-weight:560}.export-options{align-self:start}.export-class-selector{min-width:178px;position:relative}.export-class-selector summary{min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);color:#4e4744;cursor:pointer;background:#fbfaf9;justify-content:space-between;align-items:center;gap:.65rem;padding:0 .75rem;font-size:.75rem;list-style:none;display:flex}.export-class-selector summary::-webkit-details-marker{display:none}.export-class-selector summary svg{color:#918985;flex:none;width:14px;transition:transform .15s}.export-class-selector[open] summary{border-color:#efb9bd}.export-class-selector[open] summary svg{transform:rotate(180deg)}.export-class-selector__options{z-index:12;border:1px solid var(--line);min-width:270px;max-height:350px;box-shadow:var(--shadow-lg);background:#fff;border-radius:12px;padding:.55rem;position:absolute;top:calc(100% + .35rem);left:0;overflow:auto}.export-class-selector__options header{justify-content:space-between;align-items:flex-start;gap:.6rem;padding:.2rem .25rem .55rem;display:flex}.export-class-selector__options header div{gap:.18rem;display:grid}.export-class-selector__options header strong{color:var(--ink);font-size:.68rem}.export-class-selector__options header small{color:var(--muted);font-size:.57rem;line-height:1.35}.export-class-selector__options header button{color:var(--red);cursor:pointer;background:0 0;border:0;padding:.2rem;font-size:.58rem;font-weight:750}.export-class-selector__options header button:disabled{color:#b6afab;cursor:default}.export-class-selector__options .check-row{border-top:0;border-radius:8px;min-height:38px;padding:0 .3rem;font-size:.68rem}.export-class-selector__options .check-row:hover{background:#faf7f6}.export-class-selector__options .check-row:has(input:checked){color:#a4212b;background:var(--red-soft);font-weight:720}.export-class-selector__options .check-row input[type=checkbox]{min-width:18px;accent-color:var(--red);margin:0;border:initial!important;outline:initial!important;appearance:auto!important;-webkit-appearance:checkbox!important;background:initial!important;width:18px!important;height:18px!important;padding:0!important}.export-class-selector__all{background:#fff8f8;margin-bottom:.25rem;border:1px solid #efd5d7!important}.export-class-selector__count{color:#807773;border-bottom:1px solid #eee8e5;margin:.2rem 0 .35rem;padding:0 .3rem .35rem;font-size:.58rem;font-weight:700}.export-fixed-rules{color:#5f5753;margin:.55rem 0 0;font-size:.68rem;line-height:1.55}.export-templates--compact{gap:.7rem;padding:.9rem;display:grid}.export-templates--compact h2{margin:.16rem 0 0;font-size:.92rem}.export-templates--compact p{color:var(--muted);margin:.25rem 0 0;font-size:.61rem;line-height:1.45}.export-template-actions{grid-template-columns:1fr 1fr;gap:.45rem;display:grid}.export-template-actions .button{min-width:0;min-height:38px;padding:.55rem .5rem;font-size:.62rem}.export-template-actions .button svg{width:14px}.check-row{color:#665e5a;cursor:pointer;border-top:1px solid #f0ece9;align-items:center;gap:.6rem;min-height:43px;font-size:.7rem;display:flex}.check-row input{width:17px;height:17px;accent-color:var(--red)}.export-summary{background:#f8f5f3;border-radius:12px;grid-template-columns:auto 1fr;column-gap:.55rem;margin:.8rem 0;padding:.9rem;display:grid}.export-summary strong{color:var(--red);grid-row:1/3;font-size:1.7rem}.export-summary span{color:#5f5753;align-self:end;font-size:.68rem}.export-summary small{color:#9a928e;font-size:.59rem}.export-options .button+.button{margin-top:.55rem}.export-primary-actions{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.export-primary-actions .button{min-width:0;padding-inline:.65rem}.export-primary-actions .button+.button{margin-top:0}.export-success{color:#246d57;background:#edf8f4;border-radius:10px;align-items:flex-start;gap:.45rem;margin:.75rem 0 0;padding:.65rem;font-size:.63rem;line-height:1.45;display:flex}.export-success svg{flex:none;width:15px}.export-preview .panel-tag{align-items:center;gap:.3rem;display:inline-flex}.export-preview .panel-tag svg{width:12px}.preview-note{color:var(--muted);text-align:center;margin:.65rem 0 0;font-size:.62rem}.settings-layout{gap:var(--space-4);grid-template-columns:272px minmax(0,1fr);align-items:start;display:grid}.settings-nav{padding:var(--space-2);border:1px solid var(--line);gap:var(--space-4);box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;flex-direction:column;display:flex}.settings-nav__group{flex-direction:column;gap:2px;display:flex}.settings-nav__label{padding:0 var(--space-3) var(--space-1);color:#a09894;letter-spacing:.11em;text-transform:uppercase;font-size:.58rem;font-weight:820}.settings-nav button{width:100%;min-height:56px;padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-3);color:#746c68;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;display:flex}.settings-nav button:hover{background:#f8f5f3}.settings-nav button.is-active{color:var(--red);background:var(--red-soft)}.settings-nav button>svg{flex:none;width:18px}.settings-nav button span{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-nav button strong{font-size:.72rem}.settings-nav button small{color:#9b938f;font-size:.6rem;line-height:1.3}.settings-content{min-height:450px;padding:var(--space-5)}.settings-stack{gap:var(--space-5);flex-direction:column;display:flex}.settings-stack>form{gap:var(--space-4);flex-direction:column;display:flex}.settings-subpanel{padding:var(--space-4);border:1px solid var(--line);gap:var(--space-4);background:#fcfbfa;border-radius:14px;flex-direction:column;display:flex}.settings-hint{align-items:flex-start;gap:var(--space-2);color:var(--muted);margin:0;font-size:.66rem;line-height:1.5;display:flex}.settings-hint svg{color:#a49b96;flex:none;width:15px;margin-top:1px}.settings-fieldset{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.settings-fieldset>legend{color:#6f6763;padding:0;font-size:.68rem;font-weight:730}.check-chip{min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--control-radius);justify-content:center;align-items:center;gap:var(--space-2);cursor:pointer;background:#fff;font-size:.7rem;font-weight:700;display:inline-flex}.check-chip input{width:15px;height:15px;accent-color:var(--red)}.check-chip:has(input:checked){color:var(--red);background:var(--red-soft);border-color:#efb9bd}.check-chip:focus-within{outline-offset:2px;outline:3px solid #df354047}.time-off-list{flex-direction:column;display:flex}.settings-section-title{align-items:center;gap:var(--space-3);margin:0;display:flex}.settings-section-title h2{letter-spacing:-.015em;margin:0;font-size:1.05rem}.settings-section-title p{color:var(--muted);margin:.25rem 0 0;font-size:.68rem;line-height:1.5}.settings-section-title--compact h2{font-size:.92rem}.email-recipient-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.email-recipient-list li{min-height:58px;padding:var(--space-2) var(--space-3);border:1px solid var(--line);align-items:center;gap:var(--space-2);background:#fff;border-radius:12px;display:flex}.email-recipient-list li.is-inactive{opacity:.62;background:#f8f5f3}.email-recipient-list__identity{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.email-recipient-list__identity strong{font-size:.72rem}.email-recipient-list__identity small{overflow-wrap:anywhere;color:var(--muted);font-size:.6rem}.email-active-switch{min-width:76px;color:var(--muted);cursor:pointer;align-items:center;gap:.4rem;font-size:.6rem;font-weight:700;display:flex}.email-active-switch input{width:16px;height:16px;accent-color:var(--green)}.email-secure-field{border-top:0;margin-top:1.05rem}.email-recipient-type{align-self:flex-start}.email-send-modal{width:min(100%,920px)}.email-send-form{gap:var(--space-4);flex-direction:column;display:flex}.email-recipient-grid{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.email-picker,.email-class-picker{border:0;min-width:0;margin:0;padding:0}.email-picker legend,.email-class-picker legend{color:#6f6763;margin-bottom:.45rem;padding:0;font-size:.68rem;font-weight:730}.email-picker legend small{color:var(--muted);font-weight:560}.email-picker__options{border:1px solid var(--line);background:#fcfbfa;border-radius:12px;gap:2px;max-height:190px;padding:.35rem;display:grid;overflow-y:auto}.email-picker__options>p{color:var(--muted);margin:0;padding:.8rem;font-size:.65rem;line-height:1.5}.email-picker__option{cursor:pointer;border-radius:9px;align-items:center;gap:.55rem;min-height:52px;padding:.5rem;display:flex}.email-picker__option:hover{background:#f5f0ed}.email-picker__option:has(input:checked){color:var(--red);background:var(--red-soft)}.email-picker__option input{width:16px;height:16px;accent-color:var(--red)}.email-picker__option span{flex-direction:column;gap:2px;min-width:0;display:flex}.email-picker__option strong{font-size:.68rem}.email-picker__option small{overflow-wrap:anywhere;color:var(--muted);font-size:.56rem}.email-class-picker>.check-row{border-top:0;min-height:34px}.email-class-picker>div{flex-wrap:wrap;gap:.45rem;display:flex}.email-send-summary{border:1px solid var(--line);background:#f8f5f3;border-radius:13px;padding:.9rem}.email-send-summary h3{margin:0 0 .65rem;font-size:.78rem}.email-send-summary dl{gap:.5rem;margin:0;display:grid}.email-send-summary dl div{grid-template-columns:110px minmax(0,1fr);gap:.6rem;display:grid}.email-send-summary dt{color:var(--muted);font-size:.6rem;font-weight:700}.email-send-summary dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:.64rem;font-weight:650}.email-send-summary dd svg{vertical-align:middle;width:14px}.profile-settings-grid{gap:var(--space-3);flex-direction:column;display:flex}.setup-progress{margin-bottom:var(--section-gap);padding:var(--surface-padding);border-radius:var(--surface-radius);align-items:center;gap:var(--space-5);box-shadow:var(--shadow-sm);background:linear-gradient(150deg,#fff 40%,#fff6f6 100%);border:1px solid #edd8d9;grid-template-columns:minmax(0,1fr) auto;display:grid}.setup-progress__intro{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.setup-progress__intro strong{font-size:.82rem}.setup-progress__intro span{color:var(--muted);font-size:.68rem;line-height:1.5}.setup-progress__intro .progress{margin-top:var(--space-2)}.setup-progress__intro .progress i{background:var(--red)}.setup-progress__steps{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.setup-step{min-height:38px;padding:0 var(--space-3);border:1px solid var(--line);align-items:center;gap:var(--space-2);color:#746c68;cursor:pointer;background:#fff;border-radius:999px;font-size:.68rem;font-weight:700;display:inline-flex}.setup-step:hover{border-color:#d6ccc7}.setup-step__mark{color:#8d8580;background:#f1ece9;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;font-size:.58rem;font-weight:820;display:grid}.setup-step__mark svg{width:12px}.setup-step.is-done{color:#1f7259;background:#f2fbf7;border-color:#b9e0d1}.setup-step.is-done .setup-step__mark{color:#fff;background:var(--green)}.setup-step.is-next{color:var(--red);background:var(--red-soft);border-color:#efb9bd}.setup-step.is-next .setup-step__mark{color:#fff;background:var(--red)}.class-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.class-card{padding:var(--space-3);border:1px solid var(--line);align-items:center;gap:var(--space-4);background:#fff;border-radius:13px;grid-template-columns:minmax(140px,.9fr) minmax(0,1.6fr) auto;display:grid}.class-card__identity{flex-direction:column;gap:3px;min-width:0;display:flex}.class-card__identity strong{text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.class-card__identity small{align-items:center;gap:var(--space-1);color:var(--muted);font-size:.6rem;display:inline-flex}.class-card__identity small svg{width:13px}.class-card__subjects{gap:var(--space-1);flex-wrap:wrap;min-width:0;display:flex}.class-card__actions{align-items:center;gap:var(--space-1);display:flex}.class-card__actions .button{min-height:36px;padding-inline:var(--space-3);font-size:.64rem}.class-card--editing{grid-template-columns:1fr}.class-card--editing form{gap:var(--space-3);flex-direction:column;display:flex}.subject-tag{border:1px solid var(--line);align-items:center;gap:var(--space-1);color:#5c5551;background:#fbfaf9;border-radius:999px;padding:.24rem .5rem;font-size:.6rem;font-weight:700;display:inline-flex}.subject-tag i{border-radius:50%;flex:none;width:8px;height:8px}.subject-tag--empty{color:#a19893;border-style:dashed;font-weight:600}.subject-picker{gap:var(--space-2);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.subject-picker legend{color:#6f6763;padding:0;font-size:.68rem;font-weight:730}.subject-picker__options{gap:var(--space-2);flex-wrap:wrap;display:flex}.subject-chip{min-height:38px;padding:0 var(--space-3);border:1px solid var(--line);align-items:center;gap:var(--space-2);cursor:pointer;background:#fff;border-radius:999px;font-size:.68rem;font-weight:680;display:inline-flex}.subject-chip input{opacity:0;width:1px;height:1px;position:absolute}.subject-chip i{border-radius:50%;flex:none;width:9px;height:9px}.subject-chip svg{width:14px}.subject-chip.is-selected{color:var(--red);background:var(--red-soft);border-color:#efb9bd}.subject-chip:focus-within{outline-offset:2px;outline:3px solid #df354047}.data-requirement{max-width:620px;min-height:min(62vh,520px);padding:var(--space-7) var(--space-5);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;display:flex}.data-requirement__icon{width:62px;height:62px;margin-bottom:var(--space-5);color:var(--red);background:#fff;border:1px solid #f0dcdd;border-radius:20px;place-items:center;display:grid;box-shadow:0 16px 36px #663c321a}.data-requirement__icon svg{width:27px;height:27px}.data-requirement__eyebrow{margin-bottom:var(--space-2);color:var(--red);letter-spacing:.115em;text-transform:uppercase;font-size:.68rem;font-weight:820}.data-requirement h1{margin-bottom:var(--space-3);letter-spacing:-.035em;font-size:clamp(1.5rem,3.4vw,2.1rem);line-height:1.15}.data-requirement p{max-width:46ch;margin-bottom:var(--space-5);color:var(--muted);font-size:.85rem;line-height:1.65}.avatar-settings-card{border:1px solid var(--line);background:#faf8f7;border-radius:13px;align-items:center;gap:.75rem;padding:.85rem;display:flex}.avatar-settings-card>div{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.avatar-settings-card strong{font-size:.68rem}.avatar-settings-card>div span{color:var(--muted);font-size:.6rem;line-height:1.4}.avatar--large{border-radius:16px;flex:none;width:58px;height:58px;font-size:.85rem}.avatar img{border-radius:inherit;object-fit:cover;width:100%;height:100%;display:block}.avatar-upload{min-width:max-content;position:relative;overflow:hidden}.avatar-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.button--ghost{min-height:var(--control-height);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding-inline:.7rem;font-size:.65rem;font-weight:700}.button--ghost:hover{color:var(--red);background:var(--red-soft)}.profile-settings-error{margin:0}.user-directory-notice{color:#5e548e;background:#f7f5ff;border:1px solid #ded8f5;border-radius:11px;align-items:flex-start;gap:.45rem;padding:.75rem;font-size:.64rem;line-height:1.45;display:flex}.user-directory-notice svg{flex:none;width:16px}.user-directory-heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.user-directory-heading strong{font-size:.72rem}.user-directory-heading small{color:var(--muted);font-size:.58rem}.user-search{align-items:center;display:flex;position:relative}.user-search>svg{color:#9b928d;width:16px;position:absolute;left:.75rem}.user-search input{width:100%;height:var(--control-height);border-radius:var(--control-radius);color:var(--ink);background:#fcfbfa;border:1px solid #ddd6d2;outline:0;padding:0 .75rem 0 2.3rem;font-size:.72rem}.user-directory-list{gap:.55rem;display:grid}.user-directory-card{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:.65rem;padding:.7rem;display:flex}.user-directory-card>div{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.user-directory-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.user-directory-card div>span{color:var(--muted);font-size:.6rem}.user-directory-card small{color:#a19893;font-size:.55rem}.user-directory-card .button{min-width:0;padding-inline:.7rem;font-size:.62rem}.user-pagination{color:var(--muted);justify-content:center;align-items:center;gap:.65rem;margin-top:.75rem;font-size:.62rem;display:flex}.user-pagination .icon-button{border:1px solid var(--line);width:34px;height:34px}.user-pagination .icon-button:disabled{opacity:.45;cursor:not-allowed}.formula-note{background:#faf8f7;border:1px solid #ede6e2;border-radius:12px;flex-direction:column;gap:.4rem;margin:0;padding:.85rem;display:flex}.formula-note strong{font-size:.66rem}.formula-note code{color:var(--red);font-size:.72rem}.formula-note span{color:var(--muted);font-size:.61rem}.settings-actions{margin-top:var(--space-1);padding-top:var(--space-4);border-top:1px solid var(--line);justify-content:flex-end;align-items:center;gap:var(--control-gap);flex-wrap:wrap;display:flex}.settings-actions .button{min-width:140px}.activity-type-list{margin:0;padding:0;list-style:none}.activity-type-list li{border-bottom:1px solid #f0ece9;align-items:center;gap:.7rem;min-height:55px;display:flex}.activity-type-list li>i{border-radius:6px;width:12px;height:32px}.activity-type-list li>div{flex-direction:column;flex:1;display:flex}.activity-type-list strong{font-size:.7rem}.activity-type-list small{color:var(--muted);margin-top:.12rem;font-size:.58rem}.activity-type-list code{color:#8c8480;font-size:.6rem}.activity-type-edit{align-items:center;gap:.45rem;flex-direction:row!important}.activity-type-edit input:first-child{flex:1;min-width:0}.activity-type-edit input[type=color]{width:2.2rem;min-width:2.2rem;height:2rem;padding:.15rem}.activity-type-actions{align-items:center;gap:.25rem;flex-direction:row!important;flex:none!important}.type-form{align-items:end;gap:var(--control-gap);grid-template-columns:minmax(0,1fr) 80px auto;display:grid}.local-summary{grid-template-columns:repeat(4,1fr);gap:.65rem;margin:1rem 0;display:grid}.local-summary article{border:1px solid var(--line);background:#faf8f7;border-radius:12px;flex-direction:column;padding:.8rem;display:flex}.local-summary article svg{width:17px;color:var(--red)}.local-summary strong{margin-top:.7rem;font-size:1.35rem}.local-summary span{color:var(--muted);font-size:.58rem}.danger-zone{background:#fff8f8;border:1px solid #f0cfd1;border-radius:13px;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.danger-zone strong{font-size:.72rem}.danger-zone p{max-width:520px;color:var(--muted);margin:.25rem 0 0;font-size:.62rem;line-height:1.45}.settings-message{color:#246d57;background:#edf8f4;border-radius:10px;align-items:center;gap:.45rem;margin:0;padding:.65rem;font-size:.65rem;display:flex}.settings-message svg{width:15px}.school-list{gap:var(--space-2);display:grid}.school-card{border:1px solid var(--line);background:#faf8f7;border-radius:13px;justify-content:space-between;align-items:stretch;gap:.75rem;min-height:92px;padding:.65rem .7rem .65rem .85rem;display:flex}.school-card.is-active{background:snow;border-color:#df354061;box-shadow:0 0 0 3px #df354014}.school-card__main{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:minmax(150px,1.1fr) minmax(240px,1.7fr) auto;align-items:center;gap:1rem;padding:.15rem 0;display:grid}.school-card__main:hover .school-card__configure{color:var(--red)}.school-card__identity{flex-direction:column;min-width:0;display:flex}.school-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.school-card small{color:var(--muted);margin-top:.2rem;font-size:.59rem}.school-card__stats{min-width:0;color:var(--muted);flex-wrap:wrap;gap:.35rem .75rem;font-size:.58rem;display:flex}.school-card__stats span{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.school-card__stats svg{width:13px;color:var(--red)}.school-card__configure{color:#8d827c;white-space:nowrap;align-items:center;gap:.3rem;font-size:.6rem;font-weight:760;display:inline-flex}.school-card__configure span{font-size:1rem;line-height:1}.school-card__actions{gap:.25rem;display:flex}.school-card__actions .icon-button{width:31px;height:31px}.school-card__actions svg{width:14px}.roster-switch{align-self:flex-start}.roster-help{background:#faf8f7;border-radius:11px;flex-direction:column;gap:.22rem;padding:.75rem;display:flex}.roster-help strong{font-size:.68rem}.roster-help span{color:var(--muted);font-size:.61rem;line-height:1.45}.roster-import-tools{justify-content:space-between;align-items:center;gap:var(--control-gap);background:#fffdfa;border:1px solid #e9e1dc;border-radius:11px;padding:.75rem;display:flex}.roster-import-tools>div{flex-direction:column;gap:.18rem;min-width:0;display:flex}.roster-import-tools strong{font-size:.68rem}.roster-import-tools span{color:var(--muted);font-size:.6rem;line-height:1.45}.upload-zone{min-height:100px;color:var(--red);text-align:center;cursor:pointer;background:snow;border:1px dashed #d9c9c3;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:1rem;display:flex}.upload-zone svg{width:22px}.upload-zone strong{color:#5b514d;font-size:.7rem}.upload-zone small{color:var(--muted);font-size:.59rem}.upload-zone input{width:100%;margin-top:.35rem;font-size:.62rem}.roster-table-wrap{max-width:100%;overflow-x:auto}.roster-table{min-width:600px}.roster-table input{width:100%;min-width:90px;min-height:var(--control-height);border-radius:var(--control-radius);border:1px solid #ddd6d2;outline:0;padding:.45rem .55rem;font-size:.66rem}.roster-table td:last-child{text-align:center;width:44px}.roster-table .icon-button{width:30px;height:30px}.roster-table .icon-button svg{width:14px}.roster-actions{justify-content:flex-end;gap:.55rem;margin-top:.75rem;display:flex}.import-result{color:#246d57;background:#edf8f4;border-radius:11px;flex-direction:column;gap:.2rem;padding:.75rem;font-size:.65rem;display:flex}.import-result small{color:#8e6752}.weight-input{color:var(--muted);align-items:center;gap:.2rem;font-size:.68rem;display:inline-flex}.weight-input input{width:62px;min-height:var(--control-height);border-radius:var(--control-radius);text-align:right;border:1px solid #ddd6d2;outline:0;padding:.35rem;font-size:.68rem}.weight-total{color:#a4212b;background:#fff0f1;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.65rem .75rem;font-size:.64rem;display:flex}.weight-total.is-valid{color:#246d57;background:#edf8f4}.weight-total span{text-align:right}.attention-threshold{color:#9a5b13;background:#fff6e7;border-radius:10px;align-items:center;gap:.35rem;padding:.55rem .75rem;font-size:.65rem;font-weight:700;display:inline-flex}.attention-threshold svg{width:15px}.attention-groups{gap:1rem;display:grid}.attention-group .panel__header{align-items:flex-start}.attention-group .panel__header p{color:var(--muted);margin:.25rem 0 0;font-size:.63rem}.attention-group__count{color:#a4212b;background:#fff0f1;border-radius:10px;place-items:center;min-width:32px;height:32px;font-size:.75rem;font-weight:800;display:grid}.attention-group--activity .attention-group__count{color:#7259c9;background:#f0edff}.attention-table th,.attention-table td{white-space:nowrap}.attention-table th:first-child{min-width:170px}.attention-grade{color:var(--red);font-weight:800}.attention-reset{white-space:nowrap;min-height:40px}.attention-reset svg{width:14px}.modal-backdrop--compact{z-index:120}.mini-modal{border:1px solid var(--line);width:min(100%,380px);box-shadow:var(--shadow-lg);text-align:center;background:#fff;border-radius:17px;padding:1.25rem}.mini-modal__icon{width:46px;height:46px;color:var(--amber);background:#fff4de;border-radius:14px;place-items:center;margin:0 auto .8rem;display:grid}.mini-modal__icon svg{width:22px}.mini-modal h2{margin-bottom:.45rem;font-size:1rem}.mini-modal p{color:var(--muted);margin-bottom:1rem;font-size:.7rem;line-height:1.5}.mini-modal .button{min-width:120px}.notifications-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:.9rem;display:grid}.notifications-layout--single{grid-template-columns:minmax(0,1fr)}.notifications-list-panel,.notification-compose-panel{min-width:0}.notifications-filter{flex:none}.notifications-page .panel__header{align-items:flex-start}.notifications-page .panel__header p{color:var(--muted);margin:.25rem 0 0;font-size:.63rem;line-height:1.45}.notification-count-badge{color:var(--red);background:var(--red-soft);white-space:nowrap;border-radius:999px;flex:none;padding:.38rem .6rem;font-size:.62rem;font-weight:750}.notification-list{gap:.55rem;display:grid}.notification-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:13px;align-items:flex-start;gap:.65rem;padding:.75rem;transition:border-color .16s,background .16s;display:flex}.notification-card:hover,.notification-card.is-unread{background:snow;border-color:#efb9bd}.notification-card__icon{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.notification-card__icon svg{width:17px}.notification-card__icon--notice{color:#a86b16;background:#fff4de}.notification-card__icon--changelog{color:var(--purple);background:#f0edff}.notification-card__body{flex:1;min-width:0}.notification-card__meta{color:#988f8a;align-items:center;gap:.45rem;font-size:.57rem;display:flex}.notification-card__meta b{color:var(--red);background:var(--red-soft);border-radius:999px;padding:.12rem .35rem;font-size:.52rem}.notification-card h3{margin:.22rem 0 .25rem;font-size:.73rem}.notification-card p{color:var(--muted);margin:0;font-size:.64rem;line-height:1.45}.notification-card>.icon-button{color:#9a908b;width:32px;height:32px}.notification-card>.icon-button:hover{color:var(--red)}.notification-compose{gap:.75rem;display:grid}.notification-compose .button{width:100%}.notification-compose .form-error,.notification-compose .settings-message{align-items:flex-start;gap:.4rem;display:flex}.notification-compose .form-error svg,.notification-compose .settings-message svg{flex:none;width:15px}.schedule-toolbar-actions{align-items:flex-end;gap:var(--control-gap);display:flex}.schedule-week-switch{height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);background:#faf8f7;gap:.2rem;padding:.2rem;display:inline-flex}.schedule-week-switch button{min-height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:0 .75rem;font-size:.67rem;font-weight:750}.schedule-week-switch button.is-active{color:var(--red);background:var(--red-soft)}.schedule-controls{margin-bottom:var(--section-gap);padding:var(--surface-padding);align-items:end;gap:var(--control-gap);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.schedule-filters{align-items:end;gap:var(--control-gap);grid-template-columns:repeat(3,minmax(145px,1fr));min-width:0;display:grid}.schedule-filters label{grid-template-rows:1rem var(--control-height);gap:.38rem;min-width:0;display:grid}.schedule-filters label span{color:#746c68;align-self:end;align-items:center;gap:.25rem;min-height:1rem;font-size:.67rem;font-weight:750;line-height:1rem;display:inline-flex}.schedule-filters label span svg{width:13px}.schedule-filters select{width:100%;height:var(--control-height);min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);appearance:none;color:var(--ink);background:#fbfaf9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a726e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .65rem center/14px no-repeat;align-self:end;padding:0 2rem 0 .75rem;font-size:.75rem}.schedule-filters-bar{justify-content:space-between;align-items:flex-end;gap:var(--control-gap);min-width:0;display:flex}.schedule-filters-toggle{display:none}.schedule-capacity{min-width:112px;min-height:var(--control-height);border-left:1px solid var(--line);grid-template-columns:auto 1fr;align-content:center;column-gap:.4rem;padding:.1rem 0 .1rem .75rem;display:grid}.schedule-capacity strong{color:var(--red);grid-row:1/3;align-self:center;font-size:1.2rem}.schedule-capacity span{color:#4f4844;white-space:nowrap;font-size:.61rem;font-weight:720}.schedule-capacity small{color:var(--muted);white-space:nowrap;font-size:.54rem}.schedule-edit-notice{color:#795a28;background:#fff9ed;border:1px solid #e6d5b4;border-radius:11px;align-items:center;gap:.45rem;margin-bottom:.8rem;padding:.7rem .8rem;font-size:.65rem;display:flex}.schedule-edit-notice svg{flex:none;width:16px}.schedule-error{align-items:flex-start;gap:.45rem;margin-bottom:.8rem;display:flex}.schedule-error svg{flex:none;width:15px}.schedule-periods{gap:var(--section-gap);display:grid}.schedule-board{padding:var(--surface-padding);overflow:hidden}.schedule-board__heading{justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.85rem;display:flex}.schedule-board__heading h2{margin:.25rem 0 0;font-size:1.1rem}.schedule-board__heading small{color:var(--muted);font-size:.61rem}.schedule-table-wrap{max-width:100%;overflow-x:auto}.schedule-table{border-collapse:separate;border-spacing:.35rem;table-layout:fixed;width:100%;min-width:760px}.schedule-table th{color:#817873;text-align:center;font-size:.62rem;font-weight:760}.schedule-table thead th{color:#fff;text-transform:uppercase;background:#282321;border-radius:10px;height:38px;font-size:.68rem}.schedule-table thead th:first-child{color:#8e8581;text-transform:none;background:#f7f3f1;width:66px;font-size:.6rem}.schedule-table tbody th{border:1px solid var(--line);background:#faf8f7;border-radius:10px;width:66px}.schedule-table tbody th span{color:#a19995;font-size:.5rem;font-weight:600;display:block}.schedule-table td{height:74px;vertical-align:stretch;padding:0}.schedule-slot{cursor:pointer;text-align:center;border:1px solid #e4dedb;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:100%;height:100%;min-height:68px;padding:.45rem .5rem;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.schedule-slot:hover:not(:disabled){box-shadow:var(--shadow-sm);transform:translateY(-1px)}.schedule-slot:disabled{cursor:default}.schedule-slot--empty{color:#8e8783;background:#f4f1ef;font-size:.63rem;font-weight:700}.schedule-slot--empty.is-filtered{color:#b1a9a5;background:#fbfaf9}.schedule-slot--empty svg{width:14px;color:var(--red);margin-top:.15rem}.schedule-slot--filled{border-color:color-mix(in srgb, var(--schedule-color) 45%, white);color:#fff;background:linear-gradient(145deg, color-mix(in srgb, var(--schedule-color) 88%, white), var(--schedule-color))}.schedule-slot--filled strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem;overflow:hidden}.schedule-slot--filled small{text-overflow:ellipsis;white-space:nowrap;opacity:.95;max-width:100%;font-size:.57rem;overflow:hidden}.schedule-slot--filled em{text-overflow:ellipsis;white-space:nowrap;opacity:.8;max-width:100%;font-size:.49rem;font-style:normal;overflow:hidden}.schedule-editor-modal{width:min(100%,500px);box-shadow:var(--shadow-lg);background:#fff;border-radius:18px;padding:1.2rem}.schedule-editor-modal>header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.schedule-editor-modal>header h2{margin:.25rem 0 0;font-size:1.1rem}.schedule-editor-form{gap:.75rem;display:grid}.schedule-entry-switch{width:100%}.schedule-entry-switch button{flex:1}.schedule-editor-form .form-modal__actions{flex-wrap:wrap;margin-top:.25rem}.button--danger{color:#a4212b}.activity-filters{margin-bottom:var(--section-gap);gap:var(--control-gap);grid-template-columns:repeat(3,minmax(150px,1fr));display:grid}.activity-filters label{grid-template-rows:1rem var(--control-height);gap:.38rem;min-width:0;display:grid}.activity-filters label span{color:#746c68;font-size:.67rem;font-weight:750;line-height:1rem}.activity-filters select{width:100%;height:var(--control-height);min-height:var(--control-height);border:1px solid var(--line);border-radius:var(--control-radius);appearance:none;color:var(--ink);background:#fbfaf9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237a726e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .65rem center/14px no-repeat;padding:0 2rem 0 .75rem;font-size:.75rem}.activity-filters select:disabled{opacity:.75;background-color:#f2efed}.activity-card-grid{gap:var(--section-gap);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.activity-card{border:1px solid var(--line);border-radius:var(--surface-radius);min-width:0;min-height:230px;color:var(--ink);box-shadow:var(--shadow-sm);cursor:pointer;text-align:left;background:#fff;flex-direction:column;padding:1rem;transition:transform .16s,box-shadow .16s,border-color .16s;display:flex;position:relative;overflow:hidden}.activity-card:hover{border-color:#e4c5c7;transform:translateY(-2px);box-shadow:0 15px 34px #2a181417}.activity-card__stripe{width:4px;position:absolute;inset:0 auto 0 0}.activity-card__heading,.activity-card footer{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.activity-card__heading span{color:var(--red);background:var(--red-soft);border-radius:999px;padding:.25rem .45rem;font-size:.57rem;font-weight:780}.activity-card__heading small{color:var(--muted);font-size:.58rem}.activity-card h2{text-overflow:ellipsis;white-space:nowrap;margin:1rem 0 .25rem;font-size:1rem;overflow:hidden}.activity-card>p{color:var(--muted);margin-bottom:.9rem;font-size:.66rem}.activity-card__metrics{gap:.45rem;display:grid}.activity-card__metrics span{color:#6e6662;align-items:center;gap:.35rem;font-size:.63rem;display:flex}.activity-card__metrics svg{width:15px;color:var(--red)}.activity-card footer{color:var(--muted);border-top:1px solid #f0ece9;margin-top:auto;padding-top:.8rem;font-size:.61rem;font-weight:700}.activity-card footer svg{width:16px;color:var(--red)}.activity-back{margin-bottom:.6rem}.activity-detail-section{margin-bottom:var(--section-gap)}.activity-options{align-items:end;gap:var(--control-gap);grid-template-columns:repeat(3,minmax(150px,1fr)) auto;display:grid}.activity-group-actions{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.activity-unassigned{background:#fbf9f8;border:1px dashed #d9cfca;border-radius:13px;margin:1rem 0;padding:.8rem}.activity-unassigned>strong{margin-bottom:.6rem;font-size:.68rem;display:block}.activity-unassigned>div{flex-wrap:wrap;gap:.4rem;display:flex}.activity-unassigned span{border:1px solid var(--line);cursor:grab;background:#fff;border-radius:8px;align-items:center;gap:.25rem;padding:.35rem .5rem;font-size:.61rem;display:inline-flex}.activity-unassigned svg,.activity-group-card li svg{color:#9b928e;width:13px}.activity-groups{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.75rem;display:grid}.activity-group-card{border:1px solid var(--line);background:#fcfbfa;border-radius:14px;min-width:0;padding:.8rem}.activity-group-card>header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.activity-group-card>header div{flex-direction:column;display:flex}.activity-group-card>header strong{font-size:.76rem}.activity-group-card>header small{color:var(--muted);font-size:.56rem}.activity-group-card ol{margin:.7rem 0 0;padding:0;list-style:none}.activity-group-card li,.activity-individual-grades>div{border-top:1px solid #eee9e6;justify-content:space-between;align-items:center;gap:.6rem;min-height:48px;padding:.35rem 0;display:flex}.activity-group-card li>span{cursor:grab;align-items:center;gap:.25rem;min-width:0;display:flex}.activity-group-card li b{text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.activity-group-card>p{color:var(--muted);margin:.8rem 0 0;font-size:.61rem}.activity-grade-value{color:#1e7359;background:#e9f7f2;border-radius:9px;flex:none;place-items:center;min-width:58px;min-height:32px;padding:.35rem .55rem;font-size:.68rem;font-weight:780;display:inline-grid}.activity-individual-grades{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1rem;margin-top:1rem;display:grid}.activity-individual-grades>div>span{flex-direction:column;min-width:0;display:flex}.activity-individual-grades b{text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;overflow:hidden}.activity-individual-grades small{color:var(--muted);font-size:.54rem}.time-live-clock{flex-direction:column;align-items:flex-end;display:flex}.time-live-clock strong{color:var(--red);font-size:1.7rem;line-height:1}.time-live-clock span{color:var(--muted);text-transform:capitalize;margin-top:.3rem;font-size:.62rem}.time-layout{margin-bottom:var(--section-gap);align-items:start;gap:var(--section-gap);grid-template-columns:minmax(0,1.25fr) minmax(258px,.75fr);display:grid}.time-manual-panel .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.time-manual-panel .settings-section-title{margin-bottom:var(--space-3)}.time-manual-panel .check-row{margin-top:.15rem}.time-summary{gap:.7rem;display:grid}.time-summary__balance{flex-direction:column;display:flex}.time-summary__balance span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.6rem;font-weight:760}.time-summary__balance strong{color:var(--green);margin-top:.15rem;font-size:1.5rem;line-height:1.05}.time-summary__balance small{color:#988f8a;margin-top:.12rem;font-size:.56rem}.time-summary.is-negative .time-summary__balance strong{color:var(--red)}.time-summary__today{border:1px solid var(--line);background:#fcfbfa;border-radius:12px;padding:.6rem .7rem}.time-summary__today>div{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.time-summary__today span{color:var(--muted);font-size:.6rem;font-weight:760}.time-summary__today strong{font-size:.95rem}.time-summary__today>small{color:#988f8a;font-size:.55rem;display:block}.time-summary__bar{background:#eee9e6;border-radius:99px;height:5px;margin-top:.45rem;overflow:hidden}.time-summary__bar i{border-radius:inherit;background:var(--red);max-width:100%;height:100%;display:block}.time-summary__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:0;display:grid}.time-summary__grid>div{border:1px solid var(--line);background:#fcfbfa;border-radius:12px;min-width:0;padding:.5rem .6rem}.time-summary__grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;font-size:.56rem;font-weight:760}.time-summary__grid dd{letter-spacing:-.01em;margin:.12rem 0 0;font-size:.92rem;font-weight:800}.time-summary__grid dd small{color:#988f8a;letter-spacing:0;margin-top:.1rem;font-size:.54rem;font-weight:600;display:block}.time-history{margin-bottom:var(--section-gap)}.time-entry-list{grid-template-columns:minmax(0,1fr);display:grid}.time-entry-list article{border-top:1px solid #eee9e6;align-items:center;gap:.6rem;min-width:0;min-height:60px;display:flex}.time-entry-list article:first-child{border-top:0}.time-entry-info{flex-direction:column;flex:auto;min-width:0;display:flex}.time-entry-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;overflow:hidden}.time-entry-list small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.58rem;overflow:hidden}.time-entry-actions{flex:none;align-items:center;gap:.1rem;display:flex}.time-entry-type{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.time-entry-type svg{width:16px}.time-entry-type--entrada{color:var(--green);background:#eaf7f2}.time-entry-type--saida{color:var(--red);background:var(--red-soft)}.time-entry-type--off{color:var(--purple);background:#f1edfb}.time-entry-list .icon-button{flex:none;width:34px;height:34px}.time-entry-list .icon-button svg{width:16px}.module-empty--compact{min-height:200px;padding:1.4rem}.module-empty--compact>span{border-radius:14px;width:46px;height:46px;margin-bottom:.7rem}.module-empty--compact>span svg{width:20px}.module-empty--compact h2{font-size:1rem}.module-empty--compact p{margin-bottom:0;font-size:.7rem}.time-off-add{align-items:end;gap:var(--control-gap);grid-template-columns:repeat(2,minmax(150px,1fr)) auto;display:grid}.time-off-row{border-bottom:1px solid #eee9e6;justify-content:space-between;align-items:center;gap:.5rem;min-height:46px;font-size:.64rem;display:flex}.time-weekdays{gap:var(--space-2);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.settings-toggle-list{gap:.7rem;display:grid}.settings-toggle-list .check-row{border:1px solid var(--line);background:#fcfbfa;border-radius:14px;align-items:flex-start;min-height:72px;padding:.9rem 1rem}.settings-toggle-list .check-row>span{flex:1;font-size:.76rem;font-weight:760}.settings-toggle-list .check-row small{color:var(--muted);margin-top:3px;font-size:.62rem;font-weight:600;display:block}@media (width<=900px){.export-layout,.settings-layout,.notifications-layout{grid-template-columns:1fr}.settings-nav__group{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-nav__label{grid-column:1/-1}.setup-progress{grid-template-columns:1fr}.class-card{gap:var(--space-3);grid-template-columns:1fr}.class-card__actions{justify-content:flex-start}.school-card__main{grid-template-columns:minmax(140px,1fr) minmax(190px,1.4fr) auto}.schedule-controls{grid-template-columns:1fr auto;align-items:end}.schedule-filters{grid-area:2/1/auto/-1}.activity-options{grid-template-columns:repeat(2,minmax(150px,1fr))}.time-layout{grid-template-columns:minmax(0,1fr)}.time-summary{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start}.time-summary__balance{align-self:center}.time-summary__today{grid-area:1/2}.time-summary__grid{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=600px){.type-form{grid-template-columns:1fr 72px}.type-form .button{grid-column:1/-1}.local-summary{grid-template-columns:repeat(2,1fr)}.danger-zone{flex-direction:column;align-items:flex-start}.roster-actions{flex-direction:column;align-items:stretch}.roster-actions .button{justify-content:center}.weight-total{flex-direction:column;align-items:flex-start}.weight-total span{text-align:left}.attention-threshold{margin-top:.5rem}.avatar-settings-card{flex-wrap:wrap;align-items:flex-start}.avatar-settings-card>div{flex-basis:calc(100% - 70px)}.avatar-upload,.avatar-settings-card .button--ghost{flex:150px}.roster-import-tools{flex-direction:column;align-items:stretch}.roster-import-tools .button{width:100%}.school-card{align-items:stretch}.school-card__main{grid-template-columns:1fr;gap:.45rem}.school-card__configure{justify-self:start}.school-card__actions{align-items:center}.school-card__actions .icon-button{width:44px;height:44px}.notifications-filter{width:100%}.notifications-filter button{flex:1}.schedule-controls{grid-template-columns:1fr}.schedule-toolbar-actions{width:100%}.schedule-week-switch button{flex:1}.schedule-filters{grid-area:auto/1;grid-template-columns:1fr}.schedule-board{padding:.65rem}.schedule-board__heading{flex-direction:column;align-items:flex-start;gap:.3rem}.activity-filters,.activity-options,.activity-individual-grades{grid-template-columns:1fr}.time-live-clock{align-items:flex-start;width:100%}.time-manual-panel .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-manual-panel .form-grid>.form-field:first-child{grid-column:1/-1}.time-manual-panel .form-grid>.form-field.form-field--wide{grid-column:1}.time-manual-panel .form-grid>.button{order:2;grid-column:2;align-self:end}.time-manual-panel .form-grid>.check-row{order:3;grid-column:1/-1}.time-summary{grid-template-columns:minmax(0,1fr)}.time-summary__today{grid-area:auto/1}.time-summary__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.time-off-add{grid-template-columns:1fr}.time-weekdays{grid-template-columns:repeat(4,minmax(0,1fr))}.user-directory-card{flex-wrap:wrap;align-items:flex-start}.user-directory-card .button{width:100%}}@media (width<=720px){.app-shell,.app-shell__content,.boot-state{min-height:100dvh}.page-shell{padding-bottom:calc(6rem + env(safe-area-inset-bottom))}.workspace-filters{min-height:0;padding:var(--space-2) var(--space-3);display:block;overflow:visible}.workspace-filters label{gap:var(--space-1);grid-template-columns:1fr;width:100%;display:grid}.workspace-filters select{width:100%;min-width:0}.module-toolbar{align-items:stretch;gap:var(--space-3);padding:var(--space-3);flex-direction:column}.module-toolbar>label,.module-toolbar>.export-class-filter,.module-toolbar .toolbar-search{flex-basis:auto;order:0;min-width:0}.module-toolbar .attention-reset{width:100%}.activity-filters,.activity-options,.schedule-filters,.time-off-add{grid-template-columns:1fr}.time-page .page-intro{align-items:stretch}.time-live-clock{flex:auto;justify-content:center;align-self:stretch;align-items:flex-end}.time-live-clock strong{letter-spacing:-.04em;font-size:clamp(2.1rem,13vw,3rem);line-height:.95}.time-live-clock span{text-align:right;margin-top:.3rem;font-size:.63rem}.time-entry-list article{gap:.45rem}.time-entry-list .icon-button{width:32px;height:32px}.time-entry-list .icon-button svg{width:15px}.schedule-controls{padding:var(--space-3);align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.schedule-toolbar-actions,.schedule-filters-bar{display:contents}.schedule-week-switch{flex:none;order:1;width:100%}.schedule-toolbar-actions>.button{flex:none;order:2;gap:.35rem;height:34px;min-height:34px;padding:0 .75rem;font-size:.64rem}.schedule-toolbar-actions>.button svg{width:14px;height:14px}.schedule-filters-toggle{border:1px solid var(--line);border-radius:var(--control-radius);min-height:34px;color:var(--muted);cursor:pointer;background:#faf8f7;order:3;align-items:center;gap:.35rem;padding:0 .7rem;font-size:.64rem;font-weight:750;display:inline-flex}.schedule-filters-toggle svg{width:13px;height:13px}.schedule-filters-toggle svg:last-child{transition:transform .16s}.schedule-filters-toggle[aria-expanded=true]{color:var(--red);background:var(--red-soft);border-color:#f0cfd2}.schedule-filters-toggle[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.schedule-filters-toggle b{color:#fff;background:var(--red);border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 .25rem;font-size:.52rem;display:inline-grid}.schedule-filters{order:5;width:100%;display:none}.schedule-filters.is-open{gap:var(--space-2);grid-template-columns:1fr;display:grid}.schedule-capacity{text-align:right;border-left:0;order:4;justify-items:end;column-gap:.3rem;min-width:0;min-height:0;margin-left:auto;padding:0}.schedule-capacity strong{font-size:.95rem}.schedule-capacity span{font-size:.55rem}.schedule-capacity small{font-size:.49rem}.series-selector__options{flex-wrap:wrap;padding-bottom:0;overflow:visible}.series-selector__options button{flex:0 auto}.ranking-highlight-grid{grid-template-columns:1fr;display:grid;overflow:visible}.ranking-highlight{min-width:0}.comparison-metrics{grid-template-columns:1fr}.settings-content{padding:var(--space-4)}.settings-nav{gap:var(--space-3)}.settings-nav__group{flex-direction:column;display:flex}.settings-nav button{min-height:52px}.setup-progress{padding:var(--space-4);gap:var(--space-4)}.setup-progress__steps{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.setup-step{justify-content:flex-start;width:100%}.settings-subpanel{padding:var(--space-3)}.settings-actions{flex-direction:column-reverse;align-items:stretch}.settings-actions .button{width:100%;min-width:0;height:var(--control-height);flex:none}.subject-picker__options{flex-direction:column;align-items:stretch}.subject-chip{justify-content:flex-start}.class-card__actions .button{flex:1}.type-form{grid-template-columns:1fr}.type-form .button,.type-form .color-field{grid-column:1}.roster-switch{align-self:stretch}.panel__header{flex-wrap:wrap}.notifications-filter{flex:100%}.segmented-control{width:100%;display:flex}.segmented-control button{min-width:0;padding-inline:var(--space-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.responsive-table,.roster-table-wrap,.gradebook-scroll,.schedule-table-wrap{max-width:100%;overflow:visible}.data-table{min-width:0}.data-table,.data-table thead,.data-table tbody,.data-table tr,.data-table th,.data-table td{width:auto;display:block}.data-table thead{display:none}.data-table tbody tr{padding:var(--space-3);border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;display:flex}.data-table tbody tr+tr{margin-top:var(--space-2)}.data-table tbody th{height:auto;padding:0 0 var(--space-2);color:var(--ink);text-align:left;white-space:normal;border:0;order:-1;font-size:.78rem}.data-table tbody td{height:auto;padding:var(--space-2) 0;justify-content:space-between;align-items:center;gap:var(--space-3);white-space:normal;border:0;border-top:1px solid #f3efec;display:flex}.data-table tbody td:before{content:attr(data-label);color:#9a928e;letter-spacing:.06em;text-transform:uppercase;flex:none;font-size:.56rem;font-weight:780}.roster-table{min-width:0}.roster-table tbody td{align-items:stretch;gap:var(--space-1);flex-direction:column}.roster-table tbody td:last-child{flex-direction:row;justify-content:flex-end}.roster-table td:last-child{width:auto}.roster-table input{min-width:0}.grade-edit-selector{margin:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.grade-edit-selector>span{color:#746c68;font-size:.67rem;font-weight:750}.grade-edit-selector select{border:1px solid var(--line);border-radius:var(--control-radius);width:100%;min-height:44px;color:var(--ink);background:#fbfaf9;padding:0 2rem 0 .75rem;font-size:.75rem}.gradebook-table{min-width:0}.gradebook-table,.gradebook-table thead,.gradebook-table tbody,.gradebook-table tr,.gradebook-table th,.gradebook-table td{display:block}.gradebook-table thead{display:none}.gradebook-table tbody tr{margin-bottom:var(--space-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}.gradebook-table tbody .student-column{z-index:auto;min-width:0;max-width:none;height:auto;padding:var(--space-3);background:#faf8f7;border:0;position:static}.gradebook-table tbody td{z-index:auto;min-width:0;height:auto;padding:var(--space-2) var(--space-3);align-items:center;gap:var(--space-2);border:0;border-top:1px solid #f3efec;grid-template-columns:minmax(0,1fr) 130px;display:grid;position:static}.gradebook-table tbody td:before{content:attr(data-label);color:#625b57;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.66rem;font-weight:700;overflow:hidden}.gradebook-table tbody .average-column{text-align:left;background:#fdf6f6}.gradebook-table tbody .average-column:before{color:var(--red)}.gradebook-table tbody tr:last-child{margin-bottom:0}.grade-cell{grid-template-columns:minmax(54px,1fr) 44px;min-width:0}.grade-cell input,.grade-cell select{min-height:44px}.grade-cell select{width:44px}.schedule-table{border-spacing:3px;width:100%;min-width:0}.schedule-table thead th{letter-spacing:0;border-radius:7px;height:28px;padding:0;font-size:.52rem}.schedule-table thead th:first-child,.schedule-table tbody th{width:28px;padding:0;font-size:.5rem}.schedule-table tbody th{border-radius:7px}.schedule-table tbody th span{font-size:.4rem}.schedule-table td{height:56px}.schedule-slot{border-radius:8px;gap:0;min-height:52px;padding:.2rem .15rem}.schedule-slot--empty{font-size:.5rem}.schedule-slot--empty svg{width:11px;margin-top:0}.schedule-slot--filled strong{-webkit-line-clamp:2;letter-spacing:-.015em;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;max-width:100%;font-size:.5rem;line-height:1.1;display:-webkit-box;overflow:hidden}.schedule-slot--filled small{font-size:.45rem;line-height:1.15}.schedule-slot--filled em{display:none}.schedule-board{padding:var(--space-2)}.data-requirement{min-height:min(70dvh,460px);padding:var(--space-6) var(--space-2)}.data-requirement .button{width:100%}.export-primary-actions,.email-recipient-grid{grid-template-columns:1fr}.export-primary-actions .button,.export-template-actions .button{min-height:44px}.modal-backdrop:has(.email-send-modal){align-items:end;padding:0}.email-send-modal{width:100%;max-height:calc(100dvh - max(.5rem, env(safe-area-inset-top)));border-radius:22px 22px 0 0;flex-direction:column;padding:0;display:flex;overflow:hidden}.email-send-modal>.form-modal__header{border-bottom:1px solid var(--line);background:#fff;flex:none;margin:0;padding:1rem}.email-send-modal>.email-send-form{overscroll-behavior:contain;min-height:0;padding:1rem 1rem 0;overflow-y:auto}.email-send-modal .email-picker__options{max-height:150px}.email-send-modal .email-picker__option{min-height:48px}.email-send-modal .form-modal__actions{z-index:2;padding:.75rem 1rem max(.75rem, env(safe-area-inset-bottom));background:#fffffff7;grid-template-columns:1fr;margin-inline:-1rem;display:grid;position:sticky;bottom:0;box-shadow:0 -12px 24px #372a2414}.email-send-modal .form-modal__actions .button{width:100%;min-height:44px}.email-send-summary dl div{grid-template-columns:1fr;gap:.15rem}.email-recipient-list li{flex-wrap:wrap}.email-recipient-list__identity{flex-basis:calc(100% - 80px)}}@media (width<=430px){.setup-progress__steps{grid-template-columns:1fr}.settings-nav button small{display:none}.schedule-table thead th{font-size:.46rem}.schedule-table td{height:52px}.schedule-slot{min-height:48px}.schedule-slot--filled strong{-webkit-line-clamp:3;font-size:.46rem}.schedule-slot--filled small{font-size:.42rem}.gradebook-table tbody td{grid-template-columns:minmax(0,1fr) 112px}}.button,.button--large,.segmented-control,.segmented-control button,.schedule-week-switch,.schedule-week-switch button,.setup-step,.subject-chip,.check-chip,.subject-tag,.global-search,.search-results button,.login-form input,.password-field button,.grade-cell input,.grade-cell select,.roster-table input,.weight-input input,.user-search input,.module-toolbar label>div,.form-field input:not([type=file]):not([type=color]),.form-field select,.header-select select,.workspace-filters select,.schedule-filters select,.activity-filters select,.sidebar__nav a,.sidebar__collapse,.sidebar__developer,.settings-nav button,.profile-popover button,.profile-trigger,.mobile-nav a,.mobile-nav button{border-radius:999px}.form-field textarea,.upload-zone{border-radius:var(--field-radius)}.form-field input:not([type=file]):not([type=color]),.form-field select,.header-select select,.workspace-filters select,.schedule-filters select,.activity-filters select{padding-left:.95rem}.form-field select,.header-select select,.workspace-filters select,.schedule-filters select,.activity-filters select{padding-right:2.1rem}.form-field textarea{padding-inline:.95rem}.module-toolbar select,.module-toolbar input{padding-left:.95rem}.module-toolbar label>div>svg:first-child:not(:last-child){margin-left:.85rem}.user-search input{padding-left:2.5rem}.user-search>svg{left:.95rem}.global-search>svg{margin-left:.95rem}.roster-table input{padding-inline:.75rem}.form-field input[type=color]{width:100%;min-width:64px;height:var(--control-height);cursor:pointer;background:#fcfbfa;border:1px solid #ddd6d2;border-radius:999px;padding:4px}.form-field input[type=color]::-webkit-color-swatch-wrapper{padding:0}.form-field input[type=color]::-webkit-color-swatch{border:0;border-radius:999px}.form-field input[type=color]::-moz-color-swatch{border:0;border-radius:999px}.color-field input{padding:4px}.color-field input[type=color]{width:88px}.activity-type-edit input[type=color]{width:var(--control-height);min-width:var(--control-height);height:var(--control-height);border-radius:999px;padding:4px}.weight-inherited{color:#7b726e;background:#f3efed;border-radius:999px;padding:.38rem .55rem;font-size:.58rem;font-weight:720}.planning-page .module-intro{align-items:flex-start}.planning-toolbar>label{flex:180px}.planning-summary{min-width:max-content;min-height:var(--control-height);border-radius:var(--control-radius);white-space:nowrap;background:#f8f5f3;justify-content:center;align-items:center;gap:.35rem;padding:0 .75rem;display:inline-flex}.planning-summary strong{color:var(--red);font-size:1rem}.planning-summary span{color:var(--muted);font-size:.6rem}.planning-export-button{min-height:var(--control-height);white-space:nowrap;flex:none}.planning-table-panel{padding:0;overflow:hidden}.planning-table-wrap{max-width:100%;overflow:auto}.planning-table{border-collapse:separate;border-spacing:0;width:100%}.planning-table th,.planning-table td{color:#59514d;vertical-align:top;background:#fff;border-bottom:1px solid #eee9e6;border-right:1px solid #eee9e6;min-width:110px;padding:.55rem;font-size:.62rem}.planning-table thead th{z-index:3;color:#756d69;letter-spacing:.035em;text-transform:uppercase;vertical-align:middle;background:#faf8f7;min-height:54px;font-size:.55rem;position:sticky;top:0}.planning-table th:first-child,.planning-table td:first-child{z-index:2;background:#faf8f7;min-width:92px;position:sticky;left:0}.planning-table thead th:first-child{z-index:4}.planning-table .planning-column--class-subject{min-width:165px}.planning-table .planning-column--period{min-width:110px}.planning-table .planning-column--short{min-width:112px}.planning-table .planning-column--content{min-width:280px}.planning-table .planning-column--long{min-width:210px}.planning-table td:first-child small,.planning-class-subject small{color:#a09691;margin-top:.3rem;font-size:.5rem;display:block}.planning-class-subject strong{color:var(--ink);font-size:.66rem;display:block}.planning-table input,.planning-table textarea,.planning-table select{width:100%;min-height:38px;color:var(--ink);font:inherit;resize:vertical;background:#fcfbfa;border:1px solid #ddd6d2;border-radius:9px;outline:0;padding:.5rem}.planning-table select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a726e' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;padding-right:1.8rem}.planning-table input:focus,.planning-table textarea:focus,.planning-table select:focus{border-color:var(--red);background-color:#fff;box-shadow:0 0 0 3px #df354017}.planning-field--saving input,.planning-field--saving textarea,.planning-field--saving select{background-color:#fffaf1;border-color:#e7bb75}.planning-field--saved input,.planning-field--saved textarea,.planning-field--saved select{background-color:#f4fbf8;border-color:#79bea6;box-shadow:0 0 0 2px #37937421}.planning-field--error input,.planning-field--error textarea,.planning-field--error select{border-color:var(--red);background-color:#fff3f4}.planning-field__state{color:#9a928e;text-align:right;min-height:12px;margin-top:.2rem;font-size:.48rem;display:block}.planning-field--saved .planning-field__state{color:var(--green)}.planning-field--error .planning-field__state{color:var(--red)}.planning-conflict-row td:first-child,.planning-conflict-row .planning-class-subject{color:#a92832;background:#fff3f4}.planning-conflict-note{color:var(--red);align-items:flex-start;gap:.3rem;margin-top:.45rem;font-size:.5rem;font-weight:650;line-height:1.35;display:flex}.planning-conflict-note svg{flex:none;width:13px;height:13px}.planning-conflict-row input:disabled,.planning-conflict-row textarea:disabled,.planning-conflict-row select:disabled{opacity:1;color:#8e3037;cursor:not-allowed}.planning-blocked-row td{color:#84560d;vertical-align:middle;background:#fff5df}.planning-blocked-row td:nth-child(2){font-size:.68rem}.planning-blocked-row svg{vertical-align:middle;width:15px;margin-right:.35rem}.planning-semesters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.planning-semesters fieldset{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;margin:0;padding:.85rem;display:grid}.planning-semesters legend{color:var(--ink);padding:0 .3rem;font-size:.65rem;font-weight:780}.planning-visible-fields{border:1px solid var(--line);border-radius:12px;min-width:0;margin:0;padding:.85rem}.planning-visible-fields legend{color:var(--ink);padding:0 .3rem;font-size:.65rem;font-weight:780}.planning-visible-fields>p{color:var(--muted);margin:0 0 .7rem;font-size:.62rem}.planning-visible-fields .settings-toggle-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.planning-settings form>.check-row>span{flex-direction:column;flex:1;gap:.25rem;font-weight:750;display:flex}.planning-settings form>.check-row>span small{color:var(--muted);font-size:.61rem;font-weight:560;line-height:1.45}.planning-location-fields{gap:.65rem;min-width:0;display:grid}.planning-location-fields .form-hint{color:var(--muted);margin-top:.3rem;font-size:.55rem;font-weight:540;line-height:1.4}.planning-event-form{margin-bottom:1rem}.planning-event-form--editing{background:#fffaf1;border:1px solid #e5c589;border-radius:12px;padding:.85rem}.planning-event-list{gap:.45rem;display:grid}.planning-event-list>div{border:1px solid var(--line);background:#fff;border-radius:11px;justify-content:space-between;align-items:center;gap:.35rem;min-height:48px;padding:.25rem .35rem .25rem .7rem;display:flex}.planning-event-list strong,.planning-event-list small{display:block}.planning-event-list strong{font-size:.65rem}.planning-event-list small,.planning-event-list>p{color:var(--muted);margin:.15rem 0 0;font-size:.57rem}.planning-event-item__edit{min-width:0;min-height:42px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;justify-content:space-between;align-items:center;gap:.75rem;padding:.3rem 0;display:flex}.planning-event-item__edit span{min-width:0}.planning-event-item__edit svg{width:15px;height:15px;color:var(--muted);opacity:0;flex:none;transition:opacity .15s}.planning-event-item__edit:hover svg,.planning-event-item__edit:focus-visible svg{opacity:1}.planning-event-item__edit:focus-visible{outline:2px solid var(--red);outline-offset:2px;border-radius:7px}@media (width<=760px){.planning-toolbar>label{flex:none;width:100%}.planning-summary,.planning-export-button{width:100%}.planning-summary{min-height:var(--control-height)}.planning-semesters,.planning-semesters fieldset,.planning-visible-fields .settings-toggle-list{grid-template-columns:1fr}.planning-event-item__edit svg{opacity:1}.planning-table-panel{box-shadow:none;background:0 0;border:0;overflow:visible}.planning-table-wrap{overflow:visible}.planning-table{display:block;min-width:0!important}.planning-table thead{display:none}.planning-table tbody{gap:.75rem;display:grid}.planning-table tbody tr{border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#fff;border-radius:14px;display:block;overflow:hidden}.planning-table tbody td,.planning-table tbody td:first-child{z-index:auto;background:#fff;border-bottom:1px solid #eee9e6;border-right:0;width:auto;min-width:0;padding:.75rem;font-size:.68rem;display:block;position:static;left:auto}.planning-table tbody td:last-child{border-bottom:0}.planning-table tbody td:before{content:attr(data-label);color:#918985;letter-spacing:.055em;text-transform:uppercase;margin-bottom:.4rem;font-size:.54rem;font-weight:780;display:block}.planning-table tbody .planning-column--date{color:var(--ink);background:#faf8f7;font-size:.72rem;font-weight:760}.planning-table tbody .planning-column--date:before{display:none}.planning-table tbody .planning-class-subject{background:#fdfcfc}.planning-table tbody .planning-class-subject strong{font-size:.76rem}.planning-table input,.planning-table textarea,.planning-table select{min-height:44px;padding:.65rem .75rem;font-size:.75rem}.planning-field__state{min-height:14px;font-size:.55rem}.planning-blocked-row td:first-child{color:#84560d;background:#fff9ed}.planning-blocked-row td:nth-child(2){color:#84560d;background:#fff5df;font-size:.7rem;line-height:1.5}}.check-row input[type=checkbox],.time-weekdays input[type=checkbox],.export-layout input[type=checkbox]{width:18px;height:18px;accent-color:var(--red);border-radius:6px}@media (width<=720px){.form-field input[type=date],.form-field input[type=time],.form-field input[type=datetime-local],.form-field input[type=month]{min-width:0;max-width:100%}.schedule-editor-form input[type=date],.schedule-editor-form input[type=time]{padding-inline:var(--space-3)}}@media (width<=600px){.time-manual-panel .form-grid{column-gap:var(--space-4)}.time-manual-panel .form-grid input[type=date],.time-manual-panel .form-grid input[type=time]{padding-inline:var(--space-2);text-align:center}}
