:root{font-family:Inter,PingFang SC,Microsoft Yahei,sans-serif;color:#172a32;background:#f3f6f5}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}h1,h2,p{margin-top:0}.muted,small{color:#7c9194}.center{min-height:100vh;display:grid;place-items:center}.brand{font-size:21px;font-weight:800;letter-spacing:.5px;color:#133d3a}.brand span{font-size:12px;color:#3d9c83;background:#e0f4eb;padding:6px 9px;border-radius:8px;margin-left:7px;vertical-align:3px}.login-wrap{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 80% 15%,#d2f3dc,transparent 34%),#f3f6f5;padding:20px}.login-card{background:#fff;border-radius:24px;padding:38px;width:min(420px,100%);box-shadow:0 16px 60px #2b66501a}.login-card h1{font-size:27px;margin:42px 0 7px}.login-card label{display:block;margin-top:22px;font-weight:600;font-size:14px}.login-card input{width:100%;margin-top:9px}input,select{border:1px solid #d5e1df;background:#fff;padding:12px 14px;border-radius:10px;outline:none}input:focus,select:focus{border-color:#28a47c;box-shadow:0 0 0 3px #28a47c20}.primary{background:#107d61;color:#fff;border:0;border-radius:10px;padding:12px 19px;font-weight:700}.login-card .primary{width:100%;margin-top:27px}.error{color:#ac3b40;font-size:14px;margin:14px 0}.shell{min-height:100vh;display:flex}.sidebar{background:#113e39;color:#fff;width:228px;padding:30px 20px;display:flex;flex-direction:column;gap:45px}.sidebar .brand{color:#fff;white-space:nowrap}.sidebar nav{display:grid;gap:8px}.sidebar button{color:#bdcfca;background:transparent;border:0;text-align:left;padding:12px 15px;border-radius:9px}.sidebar button:hover,.sidebar button.active{background:#ffffff1d;color:#fff}.sidebar .logout{margin-top:auto}.workspace{flex:1;min-width:0;padding:35px 42px}.workspace header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.workspace h1{font-size:27px;margin:7px 0 0}.outline{background:#fff;border:1px solid #d7e4df;color:#2c675a;border-radius:9px;padding:10px 15px}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px}.metric,.panel{background:#fff;border:1px solid #e8eeec;border-radius:15px;box-shadow:0 5px 18px #102b1608}.metric{padding:24px}.metric span{display:block;color:#7b9290;font-size:14px}.metric strong{display:block;font-size:34px;margin-top:17px;color:#143d36}.panel{padding:20px;margin-top:20px}.note h2{font-size:17px}.note p{color:#6a8280;font-size:14px;margin-bottom:0;line-height:1.8}.toolbar{display:flex;gap:12px;flex-wrap:wrap}.toolbar input{min-width:260px;flex:1}.table-wrap{overflow-x:auto;padding:0}table{width:100%;border-collapse:collapse;min-width:650px;font-size:14px}td,th{padding:17px 19px;text-align:left;border-bottom:1px solid #edf2ef}th{color:#849694;font-weight:600;background:#fbfdfc}tr:last-child td{border-bottom:0}.tag{color:#087d57;background:#dff5e9;border-radius:20px;padding:5px 9px;font-size:12px}.tag.off{background:#fbe7e5;color:#b94a49}.link{border:0;color:#138466;background:none;padding:3px}.empty{text-align:center;color:#879a98;padding:45px}.error.panel{background:#fff4f3}@media (max-width:720px){.shell{display:block}.sidebar{width:100%;padding:20px;gap:12px}.sidebar nav{display:flex}.sidebar .logout{position:absolute;right:13px;top:15px}.workspace{padding:24px 15px}.workspace header{margin-bottom:20px}.metric{padding:17px}.metrics{grid-template-columns:repeat(2,1fr)}}
