:root{--bg:#f5f7fb;--card:#fff;--text:#14213d;--muted:#5f6b7a;--border:#dde3ee;--green:#0f9d58;--yellow:#d99000;--red:#d93025;--blue:#2563eb}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.container{max-width:1180px;margin:0 auto;padding:24px}.header{justify-content:space-between;align-items:center;gap:24px;margin-bottom:22px;display:flex}.brand{min-width:0}.brand h1{letter-spacing:-.03em;margin:0;font-size:28px}.brand p{color:var(--muted);margin:6px 0 0;font-weight:600}.brand-with-logo{align-items:center;gap:24px;display:flex}.logo-box{background:#fff;border-radius:28px;flex-shrink:0;justify-content:center;align-items:center;width:180px;height:180px;padding:10px;display:flex;box-shadow:0 8px 24px #00000014}.logo-box img{object-fit:contain;width:100%;height:100%}.header-status{flex-direction:column;align-items:flex-end;gap:10px;min-width:230px;display:flex}.header-status form{margin:0}.last-update{color:#64748b;box-shadow:none;background:0 0;border:0;padding:0;font-size:13px;font-weight:800}.logout-button{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:900;box-shadow:0 6px 18px #0f172a0f}.logout-button:hover{background:#f8fafc;border-color:#94a3b8}.grid{gap:16px;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--card);border:1px solid var(--border);border-radius:18px;padding:20px;box-shadow:0 8px 30px #12263f0f}.card h2,.card h3{margin-top:0}.badge{white-space:nowrap;border-radius:999px;align-items:center;padding:7px 12px;font-size:13px;font-weight:800;display:inline-flex}.badge.green{color:var(--green);background:#e7f6ee}.badge.yellow{color:var(--yellow);background:#fff4d6}.badge.red{color:var(--red);background:#fde8e6}.badge.gray{color:#4b5563;background:#edf1f7}.kpi{flex-direction:column;gap:5px;display:flex}.kpi .label{color:var(--muted);font-size:13px}.kpi .value{font-size:24px;font-weight:800}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--border);text-align:left;padding:12px 10px;font-size:14px}.table th{color:var(--muted);font-weight:700}.button-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}button,.btn{cursor:pointer;border:0;border-radius:12px;justify-content:center;align-items:center;padding:11px 14px;font-weight:800;text-decoration:none;display:inline-flex}.btn-primary{background:var(--blue);color:#fff}.btn-green{background:var(--green);color:#fff}.btn-red{background:var(--red);color:#fff}.btn-yellow{background:var(--yellow);color:#fff}.btn-gray{color:var(--text);background:#e8edf5}.notice{color:#6c4a00;background:#fff9e6;border:1px solid #ffe3a3;border-radius:14px;padding:14px}.footer{color:var(--muted);margin-top:24px;font-size:12px}.login-page{background:radial-gradient(circle at 0 0,#0ea5e929,#0000 34%),linear-gradient(135deg,#f8fafc,#eef6ff);justify-content:center;align-items:center;min-height:100vh;padding:32px;display:flex}.login-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:32px;width:100%;max-width:430px;padding:34px;box-shadow:0 24px 70px #0f172a24}.login-logo{object-fit:contain;width:150px;height:150px;margin:0 auto 18px}.login-eyebrow{letter-spacing:.09em;text-transform:uppercase;color:#0284c7;margin:0 0 6px;font-size:13px;font-weight:900}.login-card h1{color:#0f172a;margin:0;font-size:34px;line-height:1.1}.login-description{color:#64748b;margin:12px 0 26px;font-weight:600;line-height:1.45}.login-form{text-align:left}.login-form label{color:#334155;margin-bottom:8px;font-weight:800;display:block}.login-form input{border:1px solid #cbd5e1;border-radius:16px;outline:none;width:100%;padding:14px 16px;font-size:18px;font-weight:800}.login-form input:focus{border-color:#0284c7;box-shadow:0 0 0 4px #0284c71f}.login-form button{color:#fff;cursor:pointer;background:#0284c7;border:0;border-radius:16px;width:100%;margin-top:16px;padding:14px 18px;font-size:16px;font-weight:900}.login-error{color:#dc2626;margin:10px 0 0;font-size:14px;font-weight:800}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.header{flex-direction:column;align-items:flex-start}.brand-with-logo{align-items:flex-start}.header-status{align-items:flex-start;min-width:0}.logo-box{width:140px;height:140px}}@media (max-width:560px){.container{padding:16px}.brand-with-logo{flex-direction:column;gap:16px}.brand h1{font-size:24px}.logo-box{width:130px;height:130px}}
