:root{font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#e8eaef;background-color:#0f1219;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:#7ab8ff;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0 0 .5rem;font-weight:600}.app-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}aside.nav{background:#161b26;border-right:1px solid #252b38;padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.5rem}aside.nav .brand{font-size:1rem;font-weight:700;letter-spacing:.02em;color:#fff;margin-bottom:1rem}aside.nav .brand-link{display:block;margin-bottom:1rem;color:#fff!important;text-decoration:none!important;font-size:1rem;font-weight:700;letter-spacing:.02em;padding:.45rem .6rem;border-radius:6px}aside.nav .brand-link:hover{background:#252b38;text-decoration:none!important}aside.nav a{display:block;padding:.45rem .6rem;border-radius:6px;color:#b8c0d0}aside.nav a.active{background:#252b38;color:#fff}main{padding:1.5rem 2rem 3rem;max-width:1200px}.panel{background:#161b26;border:1px solid #252b38;border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem}.muted{color:#8b95a8;font-size:.875rem}.grid{display:grid;gap:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.kpi{background:#1c2230;border-radius:8px;padding:.75rem 1rem;border:1px solid #2a3142}.kpi .v{font-size:1.35rem;font-weight:700;color:#fff}.kpi .l{font-size:.75rem;color:#8b95a8;text-transform:uppercase;letter-spacing:.04em}table{width:100%;border-collapse:collapse;font-size:.875rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid #252b38}th{color:#8b95a8;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}button,select,input,textarea{font:inherit;border-radius:6px;border:1px solid #353c4d;background:#1c2230;color:#e8eaef;padding:.45rem .65rem}button.primary{background:#2d62d8;border-color:#2d62d8;color:#fff;cursor:pointer}button.primary:hover{background:#3a6fe8}button.ghost{background:transparent;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.row-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.badge{display:inline-block;font-size:.7rem;padding:.15rem .45rem;border-radius:4px;background:#2a3142;color:#c5cbd8}.badge.warn{background:#4a3a1a;color:#f5d78e}.badge.danger{background:#4a1a1a;color:#f5a8a8}.badge.ok{background:#1a3a2a;color:#9ee0b8}select{max-width:100%}.landing{min-height:100vh;padding:2.5rem 1.75rem 4rem;max-width:960px;margin:0 auto}.landing-header{margin-bottom:2rem}.landing-domain{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#7a8494;margin:0 0 .35rem}.landing-header h1{font-size:1.75rem;margin-bottom:.35rem}.landing-lead{margin:0;max-width:36rem}.landing-grid{list-style:none;margin:0;padding:0;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.app-card{display:flex;flex-direction:column;height:100%;min-height:160px;padding:1.25rem 1.35rem;border-radius:12px;border:1px solid #252b38;background:#161b26;text-decoration:none!important;color:inherit;transition:border-color .15s ease,background .15s ease}.app-card--active:hover{border-color:#3d4a63;background:#1a2130}.app-card--soon{opacity:.65;cursor:not-allowed}.app-card-title{font-weight:700;font-size:1.1rem;margin-bottom:.5rem;color:#fff}.app-card-desc{flex:1;margin:0;font-size:.9rem;color:#9aa3b2;line-height:1.45}.app-card-cta{margin-top:1rem;font-size:.85rem;font-weight:600;color:#7ab8ff}.app-card--soon .app-card-cta{color:#6b7280}
