:root{--bg:#f4f6f9;--card:#fff;--ink:#1c2733;--mut:#64748b;--pri:#1e4e8c;--ok:#1a7f4b;--bad:#b42318;--line:#dde3ea}
*{box-sizing:border-box}body{margin:0;font:16px/1.55 "Segoe UI",system-ui,sans-serif;background:var(--bg);color:var(--ink);display:flex;min-height:100vh}
aside{width:250px;background:#12263f;color:#fff;padding:20px 12px;position:sticky;top:0;height:100vh;flex-shrink:0}
aside h1{font-size:17px;margin:0 8px 20px;line-height:1.3}aside h1 span{color:#7fb2f0}
nav a{display:block;color:#c9d6e6;text-decoration:none;padding:9px 12px;border-radius:6px;margin-bottom:2px;font-size:15px}
nav a:hover{background:#1d3a5f}nav a.on{background:var(--pri);color:#fff}
main{flex:1;padding:28px 36px;max-width:980px}h2{margin-top:0}h3{margin:22px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.stat b{font-size:28px;display:block;color:var(--pri)}.mut{color:var(--mut);font-size:14px}
.btn{background:var(--pri);color:#fff;border:0;border-radius:6px;padding:9px 16px;font-size:15px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.sec{background:#e8eef6;color:var(--pri)}.btn.red{background:var(--bad)}.sp{background:#e8eef6;border:0;border-radius:50%;width:30px;height:30px;cursor:pointer}
.bar{height:10px;background:#e3e9f0;border-radius:6px;overflow:hidden}.bar i{display:block;height:100%;background:var(--pri)}
table{width:100%;border-collapse:collapse}td,th{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:15px}
.ex{padding:12px 0;border-bottom:1px solid var(--line)}.ex label{display:block;padding:3px 0;cursor:pointer}
input[type=text],textarea,input[type=search]{width:100%;padding:9px;border:1px solid var(--line);border-radius:6px;font:inherit}
textarea{min-height:320px}.ok{color:var(--ok)}.bad{color:var(--bad)}.tag{font-size:12px;padding:2px 8px;border-radius:10px;background:#e8eef6;color:var(--pri)}
.note{background:#fff8e1;border-left:4px solid #e0a800;padding:10px 14px;border-radius:4px;font-size:14px;margin-top:10px}
@media(max-width:800px){body{flex-direction:column}aside{width:100%;height:auto;position:static}main{padding:16px}}
