:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#1b2f39;background:#f3f6f7;font-size:15px}*{box-sizing:border-box}body{margin:0;display:block;min-height:100vh}aside{width:224px;background:#153c3b;color:#e7f2ef;padding:32px 20px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column}.brand{font-size:28px;letter-spacing:2px;font-weight:700}.brand span{display:block;font-size:13px;font-weight:400;letter-spacing:1px;margin-top:9px;color:#b4ceca}nav{display:grid;gap:8px;margin-top:42px}nav button{border:0;background:none;text-align:left;color:#c8dcda;padding:12px 14px;font-size:15px}nav button.active{background:#2c5b56;color:#fff}.sidebar-note{font-size:12px;line-height:1.9;margin-top:auto;color:#aac5c0}main{margin-left:224px;padding:32px 40px;width:calc(100% - 224px);max-width:1600px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:26px}.eyebrow{font-size:12px;color:#647b81;letter-spacing:1px}h1{font-size:27px;margin:8px 0}h2{font-size:18px;margin:0 0 14px}.scope{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.scope label{font-size:12px;color:#62757c}.card,.panel{background:white;border:1px solid #e0e8e9;border-radius:12px;padding:24px;margin-bottom:20px}p{line-height:1.8}button{cursor:pointer;border:1px solid #cddadc;background:white;color:#28424c;border-radius:7px;padding:9px 13px;font:inherit}button:disabled{opacity:.45;cursor:default}.primary{background:#17665c;color:white;border-color:#17665c}input,select{font:inherit;padding:10px 12px;border:1px solid #bccdd0;border-radius:7px;min-width:0}#login-form{display:flex;align-items:center;gap:12px}#token{flex:1;max-width:500px}.identity{font-size:13px;color:#47626b;margin:0 0 18px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.toolbar h2{margin:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{color:#61747b;font-size:12px;font-weight:500;background:#f7f9fa}th,td{padding:14px 12px;border-bottom:1px solid #e6edef;white-space:nowrap}td{max-width:340px;overflow:hidden;text-overflow:ellipsis}.muted{font-size:13px;color:#6b7e85}.empty{padding:50px 20px;text-align:center;color:#6b7e85}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{border:1px solid #dce7e7;background:white;border-radius:12px;padding:23px}.cards h2{margin:12px 0}.cards p{font-size:13px;color:#60767e}.badge{display:inline-block;background:#e9f3ed;color:#24604e;padding:4px 9px;border-radius:5px;font-size:12px}.pending{background:#fff2d8;color:#865c10}#notice{margin:12px 0;color:#92462b;overflow-wrap:anywhere}.row-actions{display:flex;gap:8px}.row-actions button{font-size:12px;padding:5px 8px}dialog{width:min(540px,94vw);border:1px solid #d9e5e5;border-radius:14px;padding:26px;color:#1b2f39}dialog::backdrop{background:#142e3c66}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dialog-heading button{border:0;font-size:22px;padding:0 8px}#fields{display:grid;gap:14px}#fields label{display:grid;gap:7px;font-size:13px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#form-error{color:#a33a28;font-size:13px}footer{font-size:12px;color:#7a8d92;padding:18px 0}.list-bottom{margin-top:18px;display:flex;justify-content:space-between;align-items:center;gap:15px}#content h3{font-size:15px}.login-note{margin-bottom:15px}@media(max-width:1000px){main{padding:24px}header{align-items:flex-start;flex-direction:column}.cards{grid-template-columns:1fr}}@media(max-width:680px){aside{width:76px;padding:20px 8px}.brand{font-size:17px}.brand span,.sidebar-note{display:none}nav button{font-size:12px;padding:10px 5px}main{margin-left:76px;width:calc(100% - 76px);padding:16px}#login-form{flex-direction:column;align-items:stretch}.scope{max-width:100%}h1{font-size:22px}.card,.panel{padding:17px}}

.simulation-toolbar{flex-wrap:wrap;justify-content:flex-start}.simulation-toolbar>button{flex:0 0 auto;white-space:nowrap}.simulation-toolbar>select{flex:0 1 auto;max-width:100%}.sim-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sim-cards article{padding:14px}.sim-cards h2{font-size:24px;margin:8px 0 0}@media(max-width:680px){.sim-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* The account bar is a normal top row; the fixed sidebar owns all navigation. */
#school-identity-bar{margin-left:224px;width:calc(100% - 224px);max-width:1600px;min-width:0}
aside{overflow-y:auto}aside nav{flex-shrink:0}.workspace-links{margin-top:20px;padding-top:16px;border-top:1px solid #38615b}.workspace-links a{color:#c8dcda;text-decoration:none;font-size:13px;line-height:1.6;padding:8px 14px;border-radius:7px}.workspace-links a:hover,.workspace-links a:focus-visible{background:#2c5b56;color:#fff}.sidebar-note{padding-top:20px}
main{min-width:0}header>div:first-child{flex-shrink:0}h1{white-space:nowrap}.scope{min-width:0;justify-content:flex-end}.scope select{max-width:100%;flex:0 1 400px;min-width:0}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.cards article{min-width:0;overflow-wrap:anywhere}
@media(max-width:1000px){.scope{justify-content:flex-start;width:100%}.cards{grid-template-columns:1fr}}
@media(max-width:680px){#school-identity-bar{margin-left:76px;width:calc(100% - 76px)}.workspace-links a{font-size:12px;padding:8px 4px;overflow-wrap:anywhere}.scope select{width:100%;flex-basis:100%}}
