:root{--bg:#f5f7fb;--nav:#111827;--panel:#fff;--line:#dfe6ef;--text:#172033;--muted:#64748b;--blue:#2563eb;--green:#15803d;--red:#b91c1c}
*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}
aside{position:fixed;left:0;top:0;bottom:0;width:250px;background:var(--nav);padding:24px 16px;overflow:auto}aside a{display:block;color:#d7deea;text-decoration:none;padding:9px 12px;border-radius:8px;margin:2px 0;font-size:14px}aside a:hover,aside a.active{background:#26344c;color:#fff}.logo{font-weight:900;font-size:20px;color:#e2e8f0;margin:0 10px 28px}.logo span{color:#60a5fa}.group{font-size:10px;color:#75839a;letter-spacing:1.4px;font-weight:800;margin:18px 12px 6px}
main{margin-left:250px;padding:30px 36px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}h1{margin:0;font-size:28px}header p,.muted{color:var(--muted)}.user{background:#fff;border:1px solid var(--line);padding:9px 13px;border-radius:10px}.user small{display:block;color:var(--muted);font-size:10px}
.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px}.card span{font-size:12px;color:var(--muted)}.card strong{display:block;font-size:27px;margin-top:5px}.grid2{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-top:14px}.panel{margin-bottom:14px;overflow:auto}.panel h2{margin:0 0 14px;font-size:17px}.panel em{font-style:normal;font-size:10px;background:#dbeafe;color:#1d4ed8;padding:4px 7px;border-radius:12px}
.metric{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef2f7}
.btn{display:inline-block;background:var(--blue);color:#fff!important;border:0;border-radius:8px;padding:10px 14px;text-decoration:none;font-weight:700;cursor:pointer}.btn.secondary{background:#475569}.small{padding:6px 9px;font-size:11px}.danger{background:#fee2e2;color:var(--red);border:0;border-radius:7px;padding:7px 10px;cursor:pointer}
.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid label,label{font-size:12px;font-weight:700;color:#475569}input,select,textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #cfd8e5;border-radius:8px;background:#fff}textarea{min-height:90px}.inline{display:flex;gap:5px;align-items:center}.inline input{margin:0}
table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:10px;border-bottom:1px solid #edf1f5;vertical-align:top}
.alert{padding:11px 13px;border-radius:9px;margin-bottom:14px}.success{background:#ecfdf5;color:#166534}.error{background:#fef2f2;color:#991b1b}.warning{background:#fff7ed;color:#9a3412}.good{color:var(--green)}.bad{color:var(--red)}
.install{display:flex;min-height:100vh;align-items:center;justify-content:center;background:#eef3f9}.install-card{width:min(720px,94vw);background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px}.install-card .logo{color:#172033;margin-left:0}.check{display:flex;justify-content:space-between;padding:10px;border-bottom:1px solid #eef2f7}.install-card form label{display:block;margin:12px 0}.airow{display:flex;gap:10px}.airow input{margin:0}.result{border:1px solid #e5e7eb;border-radius:9px;padding:12px;margin:10px 0}.result pre{white-space:pre-wrap;font-size:11px;color:#334155}
.action-row{display:flex;gap:6px;align-items:center}.update-file{padding:16px;border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc}.update-summary{margin-top:12px}.kv{display:grid;grid-template-columns:180px 1fr;gap:7px;padding:7px 0;border-bottom:1px solid #eef2f7}
@media(max-width:1100px){.cards{grid-template-columns:repeat(3,1fr)}.form-grid{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}}
