:root{font-family:Inter,PingFang SC,system-ui,sans-serif;color:#dce5f2;background:#08101b;font-synthesis:none}*{box-sizing:border-box}body{margin:0}.shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}aside{padding:24px 16px;background:#0d1725;border-right:1px solid #213249}.brand{font-size:19px;font-weight:750;padding:8px 10px 24px}.brand span{display:block;font-size:11px;color:#61d7b8;margin-top:5px}aside section{margin:8px 0 18px}aside h2{font-size:11px;letter-spacing:.12em;color:#6f849e;padding:0 10px;text-transform:uppercase}button{border:1px solid #30445e;background:#132238;color:#dce5f2;border-radius:8px;padding:9px 13px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#116c5c;border-color:#1da88e}aside button{display:block;width:100%;border:0;background:transparent;text-align:left;margin:2px 0}aside button:hover,aside button.active{background:#1a2b42;color:#75e3c4}.shell>main{padding:28px;overflow:hidden}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}header h1{margin:4px 0;font-size:27px}header small{color:#7690ad}.actions{display:flex;gap:10px}.danger{background:#6f1d2a;border-color:#b84256}.grid{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px}.metric,.panel,.empty,.table,pre{background:#0e1a2a;border:1px solid #20344d;border-radius:12px}.metric{padding:18px}.metric span{display:block;color:#7f96b2;font-size:12px}.metric strong{display:block;margin-top:12px;font-size:18px}.login,.loading{min-height:100vh;display:grid;place-items:center}.login form{width:min(420px,92vw);background:#0e1a2a;padding:34px;border:1px solid #263b55;border-radius:16px;box-shadow:0 22px 80px #0008}.login form p{color:#8198b3}.login label{display:block;margin:18px 0;color:#a9bad0}input,select{width:100%;margin-top:7px;padding:11px;border:1px solid #314862;border-radius:8px;background:#091321;color:#fff}.login button{width:100%;background:#116c5c;border-color:#1da88e}.error{background:#451d29;color:#ffbdc7;border:1px solid #91384b;padding:12px;border-radius:8px}.error.panel{margin:20px 0}.empty{padding:60px;text-align:center;color:#849ab4}.table{overflow:auto}.toolbar{display:flex;gap:12px;padding:14px}.toolbar input{margin:0;max-width:360px}table{width:100%;border-collapse:collapse;font-size:13px}th,td{padding:12px;border-top:1px solid #20344d;text-align:left;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}th{color:#7890aa;background:#0b1624}.panel{padding:20px;margin:16px 0}.panel h2,.panel h3{margin-top:0}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}.cards .panel{margin:0}.row,.button-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.button-row{justify-content:flex-start;flex-wrap:wrap}.badge{padding:5px 9px;border-radius:999px;font-size:12px}.badge.good{background:#143d34;color:#75e3c4}.badge.bad{background:#52202b;color:#ffbdc7}.warning{color:#ffce73}code{color:#8fcbe8}dl{display:grid;grid-template-columns:120px 1fr;gap:7px;font-size:13px}dt{color:#7f96b2}dd{margin:0}.form-row{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px}.form-row h2,.form-row p,.form-row pre,.form-row .button-row{grid-column:1/-1}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.field-grid article{padding:14px;border:1px solid #20344d;border-radius:10px}.field-grid label,.field-grid small{display:block;margin:10px 0}.field-grid label input{width:auto;margin-right:6px}.control-card small{display:block;margin-top:12px;color:#7f96b2}pre{padding:18px;overflow:auto;color:#9eb4cc}@media(max-width:850px){.shell{display:block}.shell aside{display:flex;overflow:auto;padding:10px;border:0}.brand{min-width:120px}.brand span,aside h2{display:none}aside section{display:flex;margin:0}aside button{white-space:nowrap;width:auto}.shell>main{padding:16px}.grid{grid-template-columns:repeat(2,1fr)}header{align-items:flex-end}.actions{flex-direction:column}.danger{font-weight:700}.form-row,.cards{grid-template-columns:1fr}th,td{max-width:180px}}
