*{box-sizing:border-box;margin:0;padding:0}
body{font-family:Arial,Helvetica,sans-serif;background:#eef3f9;color:#172033}
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1d4ed8)}
.login-card{width:420px;background:white;border-radius:22px;padding:36px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.brand{font-size:28px;font-weight:900;color:#2563eb;margin-bottom:16px}.login-card h1{margin-bottom:8px}.login-card p{color:#64748b;margin-bottom:24px}
label{display:block;margin:14px 0 6px;font-weight:700}input{width:100%;padding:14px;border:1px solid #cbd5e1;border-radius:10px;font-size:16px}
button{width:100%;padding:14px;margin-top:20px;border:0;border-radius:10px;background:#22c55e;color:white;font-weight:900;cursor:pointer}.hint{margin-top:18px;background:#eff6ff;padding:12px;border-radius:10px;color:#1e3a8a}
#loginMessage{margin-top:12px;font-weight:700;color:#dc2626}
.sidebar{position:fixed;left:0;top:0;width:260px;height:100vh;background:#0f172a;color:white;padding:28px 20px}
.sidebar h2{font-size:28px;margin-bottom:30px;color:#22c55e}.sidebar a{display:block;color:#dbeafe;text-decoration:none;padding:14px;border-radius:10px;margin-bottom:8px;font-weight:700}.sidebar a.active,.sidebar a:hover{background:#1d4ed8;color:white}
.content{margin-left:260px;padding:34px}.topbar{display:flex;justify-content:space-between;align-items:center;background:white;border-radius:18px;padding:26px;box-shadow:0 8px 28px rgba(15,23,42,.08);margin-bottom:28px}.topbar h1{font-size:34px;color:#0f172a}.topbar p{color:#64748b;margin-top:6px}
.status{background:#dcfce7;color:#166534;padding:10px 16px;border-radius:999px;font-weight:900}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:28px}.kpi{background:#0f172a;color:white;border-radius:18px;padding:24px}.kpi span{display:block;color:#93c5fd;margin-bottom:10px}.kpi strong{font-size:34px;color:#22c55e}.kpi small{display:block;color:#cbd5e1;margin-top:8px}
.panel-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.panel,.system-cards article,.component-grid div{background:white;border-radius:18px;padding:26px;box-shadow:0 8px 28px rgba(15,23,42,.08)}.panel h2{margin-bottom:18px}
.activity,.service-row{display:flex;justify-content:space-between;border-bottom:1px solid #e5e7eb;padding:14px 0}.activity b,.service-row strong{color:#16a34a}
.system-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.system-cards h2{color:#2563eb;margin-bottom:12px}.system-cards p{color:#475569;margin-bottom:18px}.system-cards ul{padding-left:20px}.system-cards li{margin-bottom:9px}
.flow{background:white;border-radius:20px;padding:32px;max-width:760px;margin:0 auto 28px;box-shadow:0 8px 28px rgba(15,23,42,.08)}.node{background:#eff6ff;border:2px solid #2563eb;border-radius:14px;padding:16px;text-align:center;font-weight:900;max-width:360px;margin:auto}.node.wide{max-width:620px;background:#ecfdf5;border-color:#22c55e}.arrow{text-align:center;font-size:28px;color:#2563eb;font-weight:900;margin:8px}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:620px;margin:auto}
.component-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.component-grid h3{color:#2563eb;margin-bottom:10px}
.bar-row{display:grid;grid-template-columns:140px 1fr 60px;gap:14px;align-items:center;margin:18px 0}.bar{height:18px;background:#e5e7eb;border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:#22c55e}
@media(max-width:900px){.sidebar{position:static;width:100%;height:auto}.content{margin-left:0}.kpi-grid,.panel-grid,.system-cards,.component-grid{grid-template-columns:1fr}.topbar{flex-direction:column;align-items:flex-start;gap:14px}}
