:root {
    --primary: #00ff41; /* Verde Hacker */
    --bg-dark: #050505;
    --card-bg: #0d0d0d;
    --danger: #ff3e3e;
    --warning: #ffae00;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'JetBrains Mono', monospace; }

body { background-color: var(--bg-dark); color: var(--primary); font-size: 14px; overflow: hidden; }

/* 1. TELA DE LOGIN */
#login-screen {
    position: fixed; top: 0; left: 0; width: 100%; height: 100%;
    background: radial-gradient(circle, #0a0a0a 0%, #000 100%);
    z-index: 9999; display: flex; align-items: center; justify-content: center;
}
.login-box {
    text-align: center; width: 380px; padding: 50px;
    background: rgba(0, 255, 65, 0.03);
    border: 1px solid var(--primary); border-radius: 8px;
    box-shadow: 0 0 20px rgba(0, 255, 65, 0.2);
    transition: all 0.3s;
}
.login-input {
    display: block; width: 100%; margin: 15px 0; background: #000;
    border: 1px solid #222; color: var(--primary); padding: 12px; outline: none;
    transition: 0.2s;
}
.login-input:focus { border-color: var(--primary); }
.login-btn {
    width: 100%; padding: 12px; background: var(--primary); color: #000;
    border: none; font-weight: bold; cursor: pointer; transition: 0.3s;
    letter-spacing: 1px;
}
.login-btn:hover { background: #fff; box-shadow: 0 0 15px var(--primary); }
.login-footer { margin-top: 25px; font-size: 0.7rem; color: #444; border-top: 1px solid #1a1a1a; padding-top: 15px;}

/* 2. INTERFACE PRINCIPAL */
#main-interface { display: flex; height: 100vh; }
.sidebar { width: 260px; background: #080808; border-right: 1px solid #111; padding: 30px; display: flex; flex-direction: column; }
.highlight { color: #fff; text-shadow: 0 0 10px var(--primary); }
nav ul { list-style: none; margin-top: 50px; }
nav ul li { margin-bottom: 25px; }
nav ul li a { text-decoration: none; color: #666; font-size: 0.85rem; transition: 0.2s; letter-spacing: 0.5px; display: block; }
nav ul li a:hover, nav ul li a.active { color: var(--primary); }
nav ul li a.active { font-weight: bold; border-left: 2px solid var(--primary); padding-left: 10px;}

.content { flex: 1; padding: 40px; overflow-y: auto; background-color: #030303; }
header { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid #1a1a1a; padding-bottom: 25px; }
header h1 { font-size: 1.6rem; color: #fff; margin-bottom: 3px; }
header p { color: #555; font-size: 0.9rem;}
.live-clock { font-size: 1.5rem; color: #fff; font-weight: bold; }

/* Grid e Cards do Dashboard */
.stats-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 30px 0; }
.card { background: var(--card-bg); padding: 25px; border: 1px solid #1a1a1a; border-radius: 4px;}
.card h3 { font-size: 0.75rem; color: #555; margin-bottom: 10px; }
.value { font-size: 2rem; font-weight: bold; }

/* Tabela de Dados */
.data-table-section { background: var(--card-bg); padding: 25px; border: 1px solid #1a1a1a; border-radius: 4px;}
.data-table-section h3 { margin-bottom: 20px; color: #eee;}
table { width: 100%; border-collapse: collapse; font-size: 0.85rem; color: #999;}
th { text-align: left; color: #555; padding: 12px; border-bottom: 1px solid #1a1a1a; }
td { padding: 12px; border-bottom: 1px solid #111; }
tr:hover { background-color: rgba(255, 255, 255, 0.02);}

/* Health Panel */
.system-health { margin-top: auto; font-size: 0.7rem; color: #444; border-top: 1px solid #1a1a1a; padding-top: 20px;}
.system-health p { margin-bottom: 5px;}

/* ANIMAÇÕES E CLASSES STATUS */
.fade-in { animation: fadeIn 0.8s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.live-blink { animation: blink 1s infinite; }
@keyframes blink { 50% { opacity: 0.5; } }

.shake { animation: shake 0.5s; }
@keyframes shake { 0%, 100% {transform: translateX(0);} 10%, 30%, 50%, 70%, 90% {transform: translateX(-5px);} 20%, 40%, 60%, 80% {transform: translateX(5px);}}

.status-safe { color: var(--primary); }
.status-elevated { color: var(--warning); text-shadow: 0 0 5px var(--warning);}
.status-critical { color: var(--danger); font-weight: bold; }
.status-low { color: #666; }

.terminal-placeholder { background: #000; border: 1px solid #1a1a1a; padding: 20px; color: #666; min-height: 200px; font-size: 0.9rem;}