:root{color:#17231f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17231f;--muted:#5f6f68;--forest:#0f5e54;--forest-light:#e6f0ee;--accent:#c9622e;--accent-soft:#fbe9dd;--surface:#fff;--line:#e5e2d9;--danger:#a92e2e;--danger-soft:#fff0ef;--success:#176b4a;--success-soft:#e7f5ed;--shadow:0 14px 42px #1a382f14;background:#f6f5f0;font-family:Inter,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#eef3f0;min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,summary,input,select,textarea{min-height:44px}button{cursor:pointer}button:disabled{cursor:progress;opacity:.62}:focus-visible{outline-offset:3px;outline:3px solid #2c7a65}.skip-link{z-index:100;color:#fff;background:var(--forest);border-radius:.65rem;padding:.75rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.app-shell{grid-template:56px 1fr/232px minmax(0,1fr);min-height:100vh;display:grid}.topbar{z-index:20;color:var(--ink);border-bottom:1px solid var(--line);background:#fff;grid-column:1/-1;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 1.25rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.8rem;min-width:0;display:flex}.brand-mark{color:#fff;background:var(--forest);border:1px solid #0f5e542e;border-radius:12px;flex:0 0 44px;place-items:center;width:44px;height:44px;font-weight:900;display:grid}.brand div{gap:.2rem;min-width:0;display:grid}.brand strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand span:not(.brand-mark){color:var(--muted);font-size:.75rem}.user-menu{align-items:center;gap:.75rem;display:flex}.user-menu>span{text-align:right;display:grid}.user-menu small{color:var(--muted)}.sidebar{color:#fff;background:var(--forest);flex-direction:column;align-self:start;height:calc(100vh - 56px);padding:1rem .8rem .85rem;display:flex;position:sticky;top:56px;overflow-y:auto}.sidebar-brand{border-bottom:1px solid #ffffff2e;padding:.65rem .65rem 1rem}.sidebar-brand strong{font-size:.95rem;line-height:1.45;display:block}.sidebar-brand span{color:#d5e7e1;margin-top:.4rem;font-size:.76rem;line-height:1.5;display:block}.sidebar nav{align-content:start;gap:.2rem;padding:.5rem 0;display:grid}.nav-section{color:#bad2ca;letter-spacing:.12em;margin:.55rem .55rem .15rem;font-size:.68rem;font-weight:800}.nav-item{color:#e4efeb;text-align:left;background:0 0;border:0;border-left:3px solid #0000;border-radius:.2rem .65rem .65rem .2rem;width:100%;min-height:42px;padding:.62rem .7rem}.nav-item.is-active{color:#fff;border-left-color:var(--accent);background:#ffffff29;font-weight:800}.nav-item:not(.is-active):is(:focus-visible,:active){color:#fff;background:#ffffff1f}.sidebar-spacer{flex:1;min-height:.5rem}.role-switch{color:#fff;text-align:center;background:#ffffff14;border:1px solid #ffffff52;border-radius:.65rem;margin:.3rem .25rem .7rem;padding:.65rem .75rem;font-size:.82rem;font-weight:750;text-decoration:none;display:block}.role-switch:is(:focus-visible,:active){background:#ffffff29}.boundary-details{color:#d5e7e1;border-top:1px solid #fff3;padding-top:.6rem;font-size:.78rem}.boundary-details summary{cursor:pointer;color:#fff;align-items:center;font-weight:750;display:flex}.boundary-details ul{margin:.4rem 0 0;padding-left:1.1rem}.boundary-details li+li{margin-top:.55rem}.main-content{background:#f6f5f0;min-width:0;padding:clamp(1rem,3vw,2.4rem)}.page-stack{gap:1.2rem;max-width:1440px;margin:0 auto;display:grid}.page-header{max-width:920px}.eyebrow{color:#966a00;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:850}h1,h2,h3,p{overflow-wrap:anywhere}h1{color:var(--forest);letter-spacing:-.025em;margin:0;font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.12}h2{color:var(--forest);margin:0;font-size:1.18rem}.page-description{color:var(--muted);margin:.75rem 0 0;font-size:1rem;line-height:1.7}.notice{border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:.4rem .75rem .75rem .4rem;padding:.9rem 1rem;line-height:1.6}.card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:1rem}.account-settings{max-width:860px;padding:1.25rem}.account-settings hr{border:0;border-top:1px solid var(--line);margin:1.5rem 0}.account-details{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:1rem 0 1.25rem;display:grid}.account-details div{background:#f3f7f5;border-radius:.7rem;padding:.75rem}.account-details dt{color:var(--muted);font-size:.76rem;font-weight:750}.account-details dd{color:var(--forest);overflow-wrap:anywhere;margin:.25rem 0 0;font-weight:750}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:.8rem;display:flex}.section-heading p{max-width:720px;color:var(--muted);margin:0;font-size:.85rem}.operations{gap:.7rem;display:grid}.operation-card{overflow:clip}.operation-card>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;list-style:none;display:flex}.operation-card>summary::-webkit-details-marker{display:none}.operation-card[open]>summary{border-bottom:1px solid var(--line);background:var(--forest-light)}.summary-title{color:var(--forest);font-weight:800}.summary-action{color:var(--muted);font-size:.8rem}.operation-body{padding:1rem}.operation-body>p{color:var(--muted);margin:0 0 1rem;line-height:1.55}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1rem;display:grid}.field{align-content:start;gap:.3rem;display:grid}.field-wide{grid-column:1/-1}.field label{font-size:.9rem;font-weight:720}.required{color:var(--danger)}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #a9bdb4;border-radius:.65rem;padding:.66rem .75rem}.field textarea{resize:vertical;min-height:104px}.field [aria-invalid=true]{border-color:var(--danger);background:var(--danger-soft)}.field-help,.field-error{min-height:1em;margin:0;font-size:.76rem}.field-help{color:var(--muted)}.field-error{color:var(--danger);font-weight:650}.acknowledgement{background:#fffae9;border:1px solid #d4b661;border-radius:.7rem;grid-template-columns:44px 1fr;align-items:start;gap:.4rem;margin:1rem 0;padding:.75rem;display:grid}.acknowledgement input{width:44px;height:44px;margin:0}.acknowledgement label{padding-top:.65rem;line-height:1.5}.acknowledgement .field-error{grid-column:2}.form-result{border-radius:.65rem;padding:.7rem .85rem}.result-success{color:var(--success);background:var(--success-soft)}.result-error{color:var(--danger);background:var(--danger-soft)}.button{border:1px solid #0000;border-radius:.65rem;min-height:44px;padding:.62rem .9rem;font-weight:760}.button-primary{color:#fff;background:var(--forest)}.button-secondary{color:var(--forest);border-color:var(--forest);background:#fff}.button-quiet{color:inherit;background:0 0;border-color:#85a09599}.button-full{width:100%}.mobile-nav-toggle{display:none}.collections{gap:1rem;display:grid}.data-card{min-width:0;padding:1rem}.card-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}.card-heading p{max-width:840px;color:var(--muted);margin:.35rem 0 0;font-size:.86rem;line-height:1.55}.table-scroll{border:1px solid var(--line);border-radius:.75rem;margin-top:.9rem;overflow:auto}table{border-collapse:collapse;background:#fff;width:100%;min-width:720px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e3ebe7;padding:.72rem .75rem;font-size:.86rem}th{color:var(--forest);letter-spacing:.02em;background:#edf4f0;font-size:.76rem;position:sticky;top:0}tr:last-child td{border-bottom:0}.status-cell{font-weight:700}.source-rule,.source-ai,.source-teacher{font-weight:750}.source-rule{color:#2b6655}.source-ai{color:#8a5a00}.source-teacher{color:#533f8f}.state-panel{background:#f3f6f4;border-radius:.7rem;margin-top:.85rem;padding:.8rem}.state-panel p{color:var(--muted);margin:.25rem 0}.state-error,.state-timeout,.state-forbidden{color:var(--danger);background:var(--danger-soft)}.technical-reference,.stale-note{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.stale-note{color:var(--muted)}.forbidden-page{max-width:760px;padding:1.5rem}.login-shell{grid-template-columns:minmax(0,1.2fr) minmax(320px,480px);min-height:100vh;display:grid}.login-brand{color:var(--forest);letter-spacing:.06em;margin:0 0 1.25rem;font-size:.9rem;font-weight:850}.login-intro{color:var(--ink);background:linear-gradient(150deg,#eadfc4 0%,#f2e9d4 52%,#f6eedb 100%);flex-direction:column;justify-content:center;padding:clamp(2rem,7vw,7rem);display:flex}.login-intro h1{color:var(--forest);margin-top:1rem}.login-intro>p:not(.badge){color:#4f625a;max-width:760px;line-height:1.7}.badge{color:#743719;background:#f7d7c4;border-radius:99px;align-self:flex-start;margin:0;padding:.4rem .72rem;font-size:.8rem;font-weight:850}.boundary-list{color:#4f625a;max-width:800px;margin:1rem 0 0;padding-left:1.2rem;line-height:1.55}.boundary-list li+li{margin-top:.65rem}.login-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:1.2rem;align-self:center;margin:1.2rem;padding:clamp(1.25rem,4vw,2rem)}.login-card h2{margin-bottom:1rem;font-size:1.7rem}.login-card form{gap:.8rem;display:grid}.login-footnote{color:var(--muted);font-size:.75rem;line-height:1.5}.role-entry{color:var(--forest);text-underline-offset:3px;margin-top:.85rem;font-size:.88rem;font-weight:750;display:inline-flex}@media (width<=900px){.app-shell{grid-template-columns:1fr}.topbar{grid-column:1}.mobile-nav-toggle{display:block}.user-menu>span{display:none}.sidebar{z-index:15;visibility:hidden;height:calc(100vh - 56px);transition:transform .18s,visibility .18s;position:fixed;inset:56px 0 auto;transform:translate(-100%)}.sidebar.is-open{visibility:visible;transform:translate(0)}.main-content{grid-column:1}.login-shell{grid-template-columns:1fr}.login-intro{padding:2rem 1.25rem}.login-card{justify-self:center;width:min(560px,100% - 2rem)}}@media (width<=680px){.topbar{padding:.65rem .75rem}.brand strong{font-size:.86rem}.brand span:not(.brand-mark){display:none}.main-content{padding:1rem .75rem 2rem}.form-grid{grid-template-columns:1fr}.field-wide{grid-column:1}.section-heading,.card-heading{flex-direction:column;align-items:stretch}.card-heading .button{align-self:start}.operation-card>summary{min-height:52px}.table-scroll{border:0;overflow:visible}table,thead,tbody,tr,th,td{min-width:0;display:block}thead{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}tbody{gap:.75rem;display:grid}tr{border:1px solid var(--line);border-radius:.7rem;overflow:hidden}td{border-bottom:1px solid #e3ebe7;grid-template-columns:minmax(108px,38%) 1fr;gap:.5rem;display:grid}td:before{content:attr(data-label);color:var(--muted);font-size:.74rem;font-weight:750}tr:last-child td:not(:last-child){border-bottom:1px solid #e3ebe7}.login-intro{min-height:46vh}.login-card{margin:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}
