:root{--primary-color:#3b82f6;--text-color:#e2e8f0;--bg-color:#121212;--card-bg:#1e1e1e;--input-bg:#2d2d2d;--border-color:#475569;--success-color:#22c55e;--error-color:#ef4444}body{background-color:var(--bg-color);color:var(--text-color);flex-direction:column;height:100vh;margin:0;padding:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;display:flex}header{background-color:var(--primary-color);color:#fff;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}nav ul{gap:20px;padding:0;list-style:none;display:flex}nav a{color:#fff;font-weight:500;text-decoration:none}nav a:hover{text-decoration:underline}main{flex:1;padding:2rem;overflow-y:auto}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.card{background:var(--card-bg);border:1px solid #333;border-radius:8px;padding:1.5rem;box-shadow:0 4px 6px #0000004d}.card h3{color:var(--primary-color);margin-top:0}.status-indicator{background-color:#ccc;border-radius:50%;width:12px;height:12px;margin-right:8px;display:inline-block}.status-ok{background-color:var(--success-color)}.status-error{background-color:var(--error-color)}footer{color:#94a3b8;background-color:#1e293b;border-top:1px solid #334155;padding:.5rem 1rem;font-size:.8rem}.status-bar{justify-content:space-between;align-items:center;display:flex}.connection-status{align-items:center;gap:5px;display:flex}.btn-logout{background-color:var(--error-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-weight:700}.btn-logout:hover{background-color:#dc2626}.login-container{background-color:var(--bg-color);justify-content:center;align-items:center;height:100vh;display:flex}.login-card{text-align:center;width:100%;max-width:400px;padding:2rem}.btn-primary{background-color:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;width:100%;margin-top:1rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .2s}.btn-primary:hover{background-color:#2563eb}.form-input{background-color:var(--input-bg);width:100%;color:var(--text-color);border:1px solid var(--border-color);box-sizing:border-box;border-radius:4px;margin-bottom:1rem;padding:.75rem;font-size:1rem}.form-input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 2px #3b82f633}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.5rem;font-weight:500;display:block}
