:root{--bg:#0f172a;--panel:#111827;--card:#1f2937;--text:#e5e7eb;--muted:#94a3b8;--red:#dc2626;--orange:#f97316;--green:#16a34a;--line:#334155;--blue:#2563eb}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#0b1120;color:var(--text)}a{color:inherit}.layout{display:flex;min-height:100vh}.sidebar{width:250px;background:linear-gradient(180deg,#111827,#020617);border-right:1px solid var(--line);padding:22px;position:fixed;top:0;bottom:0}.side-brand{display:flex;flex-direction:column;gap:4px;margin-bottom:30px}.side-brand span{font-size:38px}.side-brand strong{font-size:19px;color:#fff}.side-brand small{color:var(--muted)}.sidebar nav{display:flex;flex-direction:column;gap:10px}.sidebar nav a{text-decoration:none;padding:13px 14px;border-radius:14px;background:#172033;color:#dbeafe;border:1px solid transparent}.sidebar nav a:hover{border-color:#ef4444;background:#1f2937}.content{margin-left:250px;width:calc(100% - 250px);padding:28px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:22px}.topbar h1{margin:0;font-size:30px}.topbar p{margin:7px 0 0;color:var(--muted)}.user{background:#1f2937;padding:10px 14px;border-radius:12px;color:#fecaca}.grid-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:22px}.card{background:linear-gradient(145deg,#1f2937,#111827);padding:22px;border-radius:20px;border:1px solid var(--line);box-shadow:0 14px 30px rgba(0,0,0,.25)}.card small{color:var(--muted);display:block;margin-bottom:10px}.card strong{font-size:34px}.card.ok{border-color:#15803d}.card.danger,.card.fire{border-color:#dc2626}.panel{background:#111827;border:1px solid var(--line);border-radius:22px;padding:22px;margin-bottom:22px;box-shadow:0 15px 35px rgba(0,0,0,.22)}.panel h2{margin-top:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:12px;border-bottom:1px solid #263244;text-align:left}th{color:#bfdbfe;font-size:13px;text-transform:uppercase}td{color:#e5e7eb}.badge{display:inline-flex;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.online,.ok{background:rgba(22,163,74,.15);color:#86efac}.offline,.danger,.critico,.fire{background:rgba(220,38,38,.18);color:#fecaca}.alerta{background:rgba(249,115,22,.18);color:#fed7aa}.event{padding:14px;border-radius:16px;background:#172033;margin-bottom:10px;border-left:5px solid #64748b;display:flex;flex-direction:column;gap:5px}.event.critico{border-left-color:#dc2626}.event.alerta{border-left-color:#f97316}.event.info{border-left-color:#2563eb}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid label{display:flex;flex-direction:column;gap:7px;color:#cbd5e1}.form-grid input,.form-grid select,.form-grid textarea{background:#020617;border:1px solid #334155;color:#e5e7eb;border-radius:12px;padding:12px}.form-grid textarea{min-height:95px}.form-grid .full{grid-column:1/-1}button,.btn{border:0;background:#dc2626;color:white;padding:12px 16px;border-radius:12px;text-decoration:none;cursor:pointer;font-weight:700}.btn.small{padding:8px 10px;font-size:12px;background:#2563eb}.danger-btn{background:#b91c1c!important}.login-body{display:grid;place-items:center;min-height:100vh;background:radial-gradient(circle at top,#7f1d1d,#020617 60%)}.login-card{width:min(440px,92vw);background:rgba(17,24,39,.96);border:1px solid #7f1d1d;border-radius:28px;padding:34px;box-shadow:0 25px 70px rgba(0,0,0,.45);text-align:center}.brand-fire{font-size:54px}.login-card h1{margin:0;color:#fff}.login-card p{color:#cbd5e1}.login-card form{display:flex;flex-direction:column;gap:10px;text-align:left}.login-card input{padding:13px;border-radius:12px;border:1px solid #334155;background:#020617;color:#fff}.login-card button{margin-top:10px}.alert.error{background:#7f1d1d;color:#fecaca;border-radius:12px;padding:12px;margin:14px 0}@media(max-width:900px){.sidebar{position:relative;width:100%;}.layout{display:block}.content{margin-left:0;width:100%;padding:16px}.grid-cards{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}}@media(max-width:600px){.grid-cards{grid-template-columns:1fr}.topbar{display:block}}
