:root{--ink:#0A2440;--blue:#11487E;--green:#28A745;--paper:#EEF1F4;--card:#fff;--rule:#D3DBE3;--muted:#5A6B7C;--danger:#B3261E;--warn:#B4700A}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px}button{font:inherit;cursor:pointer;border:0;border-radius:3px;padding:9px 15px;background:var(--blue);color:#fff;font-weight:600}button.sm{padding:5px 11px;font-size:.85rem}button.ghost{background:transparent;color:var(--blue);border:1px solid var(--blue)}button.danger{background:var(--danger)}button:disabled{opacity:.5;cursor:not-allowed}input,select{font:inherit;width:100%;padding:10px 12px;border:1px solid var(--rule);border-radius:3px}label{display:block;margin:12px 0 4px;font-size:.85rem;font-weight:500}.shell{display:flex;min-height:100vh}aside{width:210px;background:var(--ink);color:#fff;padding:22px 0;flex-shrink:0}aside .brand{font-weight:700;font-size:1.2rem;padding:0 22px 20px}aside .brand span{color:var(--green)}aside button{display:block;width:100%;text-align:left;background:none;color:#b9c7d6;border-radius:0;padding:11px 22px;font-weight:400}aside button[aria-current=true]{background:#ffffff1a;color:#fff;font-weight:600;border-left:3px solid var(--green)}main{flex:1;padding:26px 30px;overflow-x:auto}h1{font-size:1.4rem;margin:0 0 20px}.card{background:var(--card);border:1px solid var(--rule);border-radius:5px;padding:20px;margin-bottom:16px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:20px}.kpi{background:var(--card);border:1px solid var(--rule);border-radius:5px;padding:16px}.kpi b{display:block;font-size:1.7rem;line-height:1.2}.kpi span{color:var(--muted);font-size:.83rem}.kpi.alarm{border-color:var(--danger)}.kpi.alarm b{color:var(--danger)}table{width:100%;border-collapse:collapse;font-size:.88rem}th,td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--rule);white-space:nowrap}th{color:var(--muted);font-size:.78rem;font-weight:600}.badge{font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:3px;background:#e8edf2;color:var(--blue)}.badge.ok{background:#28a74524;color:#16612b}.badge.err{background:#b3261e1f;color:var(--danger)}.badge.wait{background:#ef9f272e;color:var(--warn)}.muted{color:var(--muted)}.alert{padding:12px 14px;border-radius:3px;margin-bottom:14px;font-size:.9rem}.alert.err{background:#b3261e17;color:var(--danger);border-left:3px solid var(--danger)}.alert.ok{background:#28a7451a;color:#16612b;border-left:3px solid var(--green)}.center{max-width:380px;margin:12vh auto}
