*{box-sizing:border-box}body{margin:0;font:14px system-ui,sans-serif;color:#1f2933;background:#f4f5f8;display:flex;min-height:100vh}
aside{width:200px;background:#1d2b36;padding:14px 0;display:flex;flex-direction:column;flex-shrink:0}.brand{color:#fff;font-weight:700;font-size:20px;padding:0 18px 16px}
aside a{color:#cbd5e0;text-decoration:none;padding:10px 18px;border-left:3px solid transparent}aside a.on,aside a:hover{background:#2c3e4c;color:#fff;border-left-color:#2ca01c}aside .out{margin-top:auto}
main{flex:1;padding:22px 26px;min-width:0}h1{margin:0 0 12px}.tabs{display:flex;gap:4px;border-bottom:2px solid #e3e8ee;margin-bottom:14px;overflow-x:auto}.tabs a{padding:8px 14px;color:#6b7c8d;text-decoration:none;white-space:nowrap;border-bottom:3px solid transparent;margin-bottom:-2px}.tabs a.on{color:#1f2933;font-weight:600;border-color:#2ca01c}
.btn{background:#2ca01c;color:#fff;border:0;border-radius:20px;padding:9px 20px;font-weight:600;cursor:pointer;font:inherit;font-weight:600}.card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 1px 3px #0002}
.cards{display:flex;gap:14px;margin-bottom:14px;flex-wrap:wrap}.cards .card{flex:1;min-width:150px;border-top:4px solid #0077c5}.cards .warn{border-color:#d52b1e}.cards .ok{border-color:#2ca01c}.card small{display:block;color:#6b7c8d}.card b{font-size:22px}
.bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;margin-bottom:14px}.bar label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:12px}input,select{padding:8px;border:1px solid #c5ccd3;border-radius:4px;font:inherit}
.wrap{overflow-x:auto;border-radius:8px;box-shadow:0 1px 3px #0002}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:9px 12px;text-align:left;border-bottom:1px solid #eceff2;white-space:nowrap}th{background:#f8f9fb;font-size:12px;text-transform:uppercase;color:#6b7c8d}.r{text-align:right}
.lnk{background:none;border:0;color:#0077c5;cursor:pointer;font:inherit;padding:0 0 0 10px}.empty{text-align:center;color:#6b7c8d;padding:30px}.note{background:#fff7e0;padding:8px 12px;border-radius:6px}.err{color:#d52b1e}
.login{align-items:center;justify-content:center}.login-box{width:320px;display:flex;flex-direction:column;gap:12px}@media(max-width:700px){aside{width:90px}}
