:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#172c3f;background:#f4f6f9;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0;border-radius:9px;padding:11px 16px;background:#23675d;color:white;font-weight:600}button:hover{filter:brightness(.95)}button:disabled{opacity:.5;cursor:wait}input,select{border:1px solid #d5dce4;border-radius:9px;padding:11px;background:white;color:#172c3f}input:focus,select:focus,button:focus-visible{outline:3px solid #91c7bc;outline-offset:2px}label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#536273}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.6px}h2{font-size:18px}p{color:#687887;line-height:1.8}.layout{display:grid;grid-template-columns:244px 1fr;min-height:100vh}.sidebar{background:#122e31;color:#d9e9e7;padding:32px 20px;display:flex;flex-direction:column;gap:24px}.brand{font-size:21px;font-weight:700;color:#fff}.brand small{font-size:11px;display:block;letter-spacing:2px;margin-top:8px;color:#9ebbb7}.sidebar label{color:#afc6c3}.sidebar select{width:100%;background:#234145;border-color:#416062;color:#fff}.nav{display:grid;gap:7px}.nav button{background:transparent;text-align:left;color:#afc6c3;font-weight:500}.nav button.active{background:#31514f;color:#fff}.sidefoot{margin-top:auto;font-size:12px;line-height:1.8;color:#9ab3b0}.sidefoot button{padding:8px 0;background:transparent;color:white}.main{padding:36px 44px;max-width:1500px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.eyebrow{font-size:12px;color:#6e7c88;letter-spacing:1px;margin-bottom:10px}.tag{font-size:12px;background:#e5f1eb;color:#2d6b58;border-radius:20px;padding:8px 12px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.card,.panel{border:1px solid #e1e7ed;background:white;border-radius:16px;padding:24px;box-shadow:0 3px 12px #21334203}.metric{font-size:32px;font-weight:650;margin:12px 0;color:#1f4545}.muted{color:#73818e;font-size:12px}.panel{margin-bottom:20px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:15px}.empty{padding:44px 18px;text-align:center;background:#f7f9fb;border:1px dashed #d9e1e9;border-radius:12px}.empty h3{margin-bottom:10px}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left}th{font-size:12px;color:#788592;font-weight:500;background:#f7f9fb}td,th{padding:16px;border-bottom:1px solid #e9edf2}td button{padding:7px 12px;font-size:12px;background:#edf3f2;color:#26594f}.status{display:inline-block;border-radius:20px;padding:5px 9px;background:#e8f3ed;color:#347159;font-size:12px}.status.off{background:#f7ece9;color:#a25f4c}.row{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid #edf0f3;gap:20px}.row p{font-size:12px}.row input[type=checkbox]{width:23px;height:23px;accent-color:#23675d}.row label{display:block;color:#203b45;font-size:14px;font-weight:600}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.actions{display:flex;gap:12px;align-items:center;margin-top:24px}.secondary{background:#edf2f5;color:#516570}.login{max-width:440px;margin:12vh auto;padding:36px;background:white;border:1px solid #e0e7ed;border-radius:20px}.login .brand{color:#23584f;margin-bottom:32px}.login h1{font-size:25px;margin-bottom:12px}.login form{display:grid;gap:20px;margin-top:26px}.notice{background:#f1f6f5;border-radius:10px;padding:14px;margin-top:20px;font-size:12px;color:#526c66;line-height:1.8}.error{color:#ac402d;font-size:13px;margin-top:12px}#toast{position:fixed;right:28px;bottom:28px;background:#203f3b;color:white;padding:14px 22px;border-radius:12px;display:none;max-width:420px}.search{width:260px}.loading{padding:60px;text-align:center;color:#60737a}.model{margin-top:18px;padding:20px;background:#f7f9fb;border-radius:12px;display:flex;justify-content:space-between;gap:20px}.model h3{margin-bottom:8px;font-size:15px}@media(max-width:850px){.layout{grid-template-columns:1fr}.sidebar{padding:20px}.brand small,.sidefoot{display:none}.nav{display:flex;overflow:auto}.sidebar label{max-width:350px}.main{padding:24px 18px}.cards{grid-template-columns:1fr}.formgrid{grid-template-columns:1fr}.top{gap:15px}.search{width:180px}}

[hidden]{display:none!important}
.main{margin:0 auto}.row{flex-direction:row}.panel{padding:22px}.row{padding:16px 0}.top{margin-bottom:24px}.section-title{margin-bottom:18px}
