:root{--bg:#f5f7fb;--card:#fff;--text:#172033;--muted:#6b7280;--line:#e6e9ef;--primary:#2563eb;--primary2:#1d4ed8;--danger:#b91c1c;--success:#166534}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}a{text-decoration:none;color:inherit}.install-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#eef4ff,#f7f9fc)}.install-card{width:min(760px,100%);background:var(--card);border:1px solid var(--line);border-radius:24px;padding:38px;box-shadow:0 20px 60px rgba(19,36,72,.08)}.install-card.small{width:min(460px,100%)}.brand{display:flex;align-items:center;gap:12px;margin-bottom:28px}.brand-mark{width:44px;height:44px;border-radius:14px;background:linear-gradient(135deg,var(--primary),#60a5fa);color:white;display:grid;place-items:center;font-weight:800}.brand small{display:block;color:var(--muted);margin-top:3px}.steps{display:flex;align-items:center;margin:0 0 30px}.steps span{width:32px;height:32px;border:2px solid #d7dce5;border-radius:50%;display:grid;place-items:center;color:var(--muted);font-weight:700}.steps span.active{background:var(--primary);border-color:var(--primary);color:white}.steps i{height:2px;background:#e5e7eb;flex:1;margin:0 8px}h1{margin:0 0 10px;font-size:30px}h2{margin-top:0}p{color:var(--muted);line-height:1.6}.reqs{border:1px solid var(--line);border-radius:14px;padding:12px;margin:20px 0}.reqs div{display:flex;gap:10px;padding:10px 6px;border-bottom:1px solid #f0f2f5}.reqs div:last-child{border-bottom:0}.reqs span{font-weight:800;color:var(--success)}.reqs div:has(span:first-child){ }.alert{padding:12px 14px;border-radius:12px;margin:0 0 18px}.alert.error{background:#fef2f2;color:var(--danger)}.alert.success{background:#f0fdf4;color:var(--success)}label{display:block;font-size:14px;font-weight:600;margin:16px 0}input,select{width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d7dce5;border-radius:12px;background:#fff;font:inherit;outline:none}input:focus,select:focus{border-color:#93b4ff;box-shadow:0 0 0 3px #dbeafe}button,.btn{display:inline-flex;justify-content:center;align-items:center;border:0;background:var(--primary);color:white;border-radius:12px;padding:12px 18px;font-weight:700;cursor:pointer}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.muted{color:var(--muted)}.app-bg{min-height:100vh}.shell{display:flex;min-height:100vh}aside{width:250px;background:#0f172a;color:#fff;padding:22px 16px}.brand.side{margin-bottom:35px}.brand.side small{color:#94a3b8}nav{display:grid;gap:5px}nav a{padding:12px 14px;border-radius:10px;color:#cbd5e1}nav a.active,nav a:hover{background:#1e293b;color:#fff}.content{flex:1;padding:34px;max-width:1500px;margin:0 auto;width:100%}.content header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:.12em;color:var(--primary);font-weight:800}.user-chip{padding:10px 14px;background:white;border:1px solid var(--line);border-radius:999px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.cards>div{background:white;border:1px solid var(--line);border-radius:18px;padding:22px}.cards small{display:block;color:var(--muted)}.cards strong{display:block;font-size:34px;margin-top:7px}.panel{background:white;border:1px solid var(--line);border-radius:18px;padding:26px;margin-top:18px}.landing{min-height:100vh;background:radial-gradient(circle at top right,#dbeafe,transparent 35%),#f8fafc}.public-header{display:flex;align-items:center;justify-content:space-between;padding:22px 5%;border-bottom:1px solid rgba(15,23,42,.05)}.public-header>a{font-weight:700}.hero{max-width:1150px;margin:0 auto;padding:100px 30px}.hero h1{font-size:58px;max-width:820px;line-height:1.05}.hero p{font-size:20px;max-width:700px}.actions{margin-top:30px}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}.shell{display:block}aside{width:auto}.hero h1{font-size:42px}}@media(max-width:560px){.cards{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.install-card{padding:24px}.hero{padding:70px 22px}.hero h1{font-size:36px}}
.mod-table{width:100%;border-collapse:collapse}.mod-table th,.mod-table td{text-align:left;padding:15px;border-bottom:1px solid var(--line);vertical-align:middle}.mod-table small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.badge.ok{background:#dcfce7;color:#166534}.badge.off{background:#f1f5f9;color:#475569}.btn-small{padding:8px 11px;border-radius:9px;font-size:12px}
