:root{font-family:system-ui,'Microsoft YaHei',sans-serif;color:#17332d;background:#f3f6f3;font-size:14px}*{box-sizing:border-box}body{margin:0;display:flex;min-height:100vh}aside{width:240px;flex-shrink:0;background:#123a31;color:#fff;padding:35px 22px;position:fixed;inset:0 auto 0 0;overflow:auto}.brand{font-weight:750;font-size:28px;letter-spacing:2px}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#a6c6b9;margin:10px 0 36px}nav button{display:block;width:100%;text-align:left;background:none;color:#c3d7cf;margin:5px 0;padding:12px 15px}nav button.active{background:#d6ef85;color:#17332d}.aside-note{font-size:11px;line-height:2;color:#9abaae;margin-top:40px}main{margin-left:240px;padding:38px 42px;width:calc(100% - 240px)}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}h1{font-size:29px;margin:7px 0}h2{font-size:20px}.eyebrow{color:#71867d;font-size:12px}button{border:0;border-radius:7px;padding:10px 16px;background:#1f614b;color:white;font:inherit;cursor:pointer}button:hover{filter:brightness(.93)}button.quiet{background:#e3ebe5;color:#385c4e}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}input,select,textarea{font:inherit;border:1px solid #cfdbd2;border-radius:6px;padding:10px;background:white;color:#17332d;width:100%}textarea{min-height:100px}label{display:block;margin:13px 0;color:#526c60}label input,label select,label textarea{margin-top:6px}input[type=checkbox]{width:auto}.card{background:white;border:1px solid #e1e8e1;border-radius:12px;padding:24px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:16px}.metric{font-size:36px;font-weight:650;margin-top:14px}.muted{color:#71867d;line-height:1.8}.table-wrap{overflow:auto;background:white;border:1px solid #e1e8e1;border-radius:10px;margin-top:18px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;background:#eaf0ea;padding:13px;white-space:nowrap;color:#5d7165}td{padding:13px;border-top:1px solid #edf1ed;max-width:420px;overflow-wrap:anywhere}td button{font-size:12px;padding:7px;margin:3px}.pill{display:inline-block;background:#eef3df;color:#4a652e;border-radius:20px;padding:4px 9px}.empty{padding:45px;text-align:center;color:#7b8c80}.hero{background:#e5eecf;padding:22px;border-radius:12px;line-height:1.9}#notice{line-height:1.7;margin-bottom:14px;color:#376648}#notice.error,#edit-error{color:#b23a32}dialog{border:0;border-radius:14px;max-width:800px;width:90%;max-height:85vh;padding:28px;box-shadow:0 25px 100px #17332d44}dialog::backdrop{background:#17332d88}pre{white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.6}a{color:#1d7357}.login{max-width:480px;margin:60px auto}.bar{height:12px;background:#dde7dc;border-radius:5px;overflow:hidden}.bar span{display:block;height:100%;background:#538861}.button-row{display:flex;gap:8px;margin:8px 0}.button-row input{min-width:100px}.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toolbar input{max-width:350px}@media(max-width:900px){aside{width:180px;padding:25px 12px}main{margin-left:180px;width:calc(100% - 180px);padding:25px 18px}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){body{display:block}aside{position:relative;width:100%;padding:16px}.brand small,.aside-note{display:none}nav{display:flex;overflow:auto}nav button{white-space:nowrap;width:auto}.brand{font-size:22px}main{margin:0;width:100%;padding:20px}.grid{gap:8px}.card{padding:15px}}
