:root{--ink:#173629;--green:#174c38;--paper:#f5f1e7;--line:#d9cdb9;--muted:#718077;--brown:#9a6b45}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Microsoft YaHei",sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;font-weight:800}.login-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#143f2f,#244d3c 52%,#90704e)}.login-card{width:min(440px,100%);padding:42px;border:1px solid #d2b98f;border-radius:8px 34px 8px 34px;background:#fffdf7;box-shadow:16px 18px 0 rgba(4,26,18,.26)}.logo{width:72px;height:72px;display:grid;place-items:center;border-radius:7px 23px 7px 23px;color:#fff;background:var(--green);font-size:30px;font-weight:900}.eyebrow{color:var(--brown);font-size:11px;font-weight:900;letter-spacing:3px}.login-card .eyebrow{margin-top:25px}.login-card h1{margin:8px 0;font-size:28px}.login-card p{color:var(--muted);line-height:1.7}.login-card form,.modal form{display:grid;gap:16px;margin-top:25px}.login-card label,.modal label{display:grid;gap:8px;color:#41594c;font-size:13px;font-weight:800}.login-card input,.modal input,.modal textarea,.modal select{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px 15px 6px 15px;color:var(--ink);background:#fbf8f1}.login-card button,.modal form>button,.toolbar>button{padding:13px;border-radius:5px 15px 5px 15px;color:#fff;background:var(--green)}.login-card small{display:block;margin-top:20px;color:#8c8980;line-height:1.6}aside{position:fixed;inset:0 auto 0 0;width:246px;padding:28px 18px;color:#eff6f0;background:#143a2b}.brand{display:flex;align-items:center;gap:12px;padding:0 10px 30px}.brand span{display:grid;place-items:center;width:44px;height:44px;border-radius:5px 15px 5px 15px;color:#174c38;background:#fff5df;font-weight:900}.brand b,.brand small{display:block}.brand small{margin-top:4px;color:#aac4b3;font-size:12px}nav{display:grid;gap:7px}.nav,.logout{padding:14px;text-align:left;border-radius:5px 14px 5px 14px;color:#dce9df;background:transparent}.nav.active,.nav:hover{color:#173629;background:#f4ead9}.logout{position:absolute;bottom:25px;left:18px;right:18px;color:#efcfbc;background:rgba(255,255,255,.08)}.workspace{min-height:100vh;margin-left:246px;padding:38px max(34px,4vw)}header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}header h1{margin:6px 0 0;font-size:30px}.admin-dot{padding:9px 14px;border-radius:999px;color:#26704d;background:#dcece1;font-size:13px;font-weight:800}.panel{padding:24px;border:1px solid var(--line);border-radius:7px 24px 7px 24px;background:#fffdf8;box-shadow:7px 9px 0 rgba(60,73,62,.08)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(130px,1fr));gap:16px}.metric{padding:23px;border-left:6px solid var(--green);border-radius:5px 20px 5px 20px;background:#fffaf0;box-shadow:5px 6px 0 rgba(67,78,67,.07)}.metric small{color:var(--muted);font-weight:700}.metric b{display:block;margin-top:10px;color:var(--green);font-size:34px}.intro{margin-top:24px}.intro h2,.toolbar h2,.announcement h2,.consult h2{margin:0}.intro p,.toolbar p,.announcement p,.consult p{color:#55675d;line-height:1.7}.toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.toolbar>button{padding:12px 18px}.table-wrap{overflow:auto;padding:0}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:16px;border-bottom:1px solid #eee5d7;font-size:14px}th{color:#766a5b;background:#f8f1e5}.badge{display:inline-block;padding:5px 9px;border-radius:4px 10px 4px 10px;font-size:12px;font-weight:900}.badge.on{color:#1a6743;background:#dcece1}.badge.off{color:#815c43;background:#f0ded3}.badge.school{color:#765333;background:#efe2cc}.text-button{padding:7px 10px;color:var(--green);background:#e2eee5}.danger{color:#a54339;background:#f6e3df}.announcement-list,.consult-list{display:grid;gap:16px}.announcement{display:flex;justify-content:space-between;gap:24px}.announcement h2{margin-top:10px;font-size:19px}.announcement small{color:#879187}.row-actions{display:flex;gap:10px;align-items:start}.consult-heading{display:flex;justify-content:space-between;gap:20px}.consult-heading h2{margin-top:10px;font-size:18px}.consult-status{padding:8px;border:1px solid var(--line);border-radius:7px;color:var(--green);background:#fbf8f1}.files{display:flex;flex-wrap:wrap;gap:8px}.files span{padding:7px 9px;border-radius:4px 10px 4px 10px;color:#54685c;background:#edf3ef;font-size:12px}.empty-state{text-align:center;color:var(--muted)}#modal{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;inset:0;background:rgba(12,34,25,.6)}.modal{position:relative;z-index:1;width:min(560px,100%);max-height:90vh;overflow:auto;padding:30px;border-radius:8px 28px 8px 28px;background:#fffdf8}.modal h2{margin:0}.modal textarea{min-height:90px;resize:vertical}.modal .check{display:flex;grid-template-columns:auto 1fr;align-items:center}.modal-close{position:absolute;top:13px;right:17px;color:#756e64;background:transparent;font-size:28px}.toast{position:fixed;z-index:30;left:50%;bottom:32px;padding:12px 18px;transform:translateX(-50%);border-radius:999px;color:#fff;background:#173629}@media(max-width:760px){aside{position:relative;width:auto;height:auto;padding:16px}.brand{padding:0 0 14px}.logout{position:static;margin-top:10px;width:100%}nav{grid-template-columns:repeat(2,1fr)}.workspace{margin:0;padding:24px 16px}.metric-grid{grid-template-columns:repeat(2,1fr)}header{align-items:start}.admin-dot{display:none}.toolbar,.announcement,.consult-heading{align-items:start;flex-direction:column}.row-actions{margin-top:6px}}
