:root {
    --navy: #0a192f;
    --dark-blue: #112240;
    --cyan: #64ffda;
    --white: #e6f1ff;
    --gray: #8892b0;
    --light: #f8f9fa;
    --danger: #ff4d4d;
    --success: #2ecc71;
}

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Inter', sans-serif; }
body { background: var(--light); color: var(--navy); }
.hidden { display: none !important; }

/* ANIMATED LOADING */
#loading-screen {
    position: fixed; inset: 0; background: var(--navy);
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    z-index: 9999; transition: 0.5s;
}
.spinner {
    width: 60px; height: 60px; border: 4px solid rgba(100, 255, 218, 0.1);
    border-top-color: var(--cyan); border-radius: 50%;
    animation: spin 0.8s linear infinite; margin-bottom: 20px;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* AUTH PAGE */
#auth-page { 
    height: 100vh; display: flex; align-items: center; justify-content: center; 
    background: radial-gradient(circle, var(--dark-blue) 0%, var(--navy) 100%); 
}
.auth-card { 
    background: white; padding: 40px; border-radius: 16px; width: 100%; max-width: 380px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.3); text-align: center;
}
.auth-card h2 { margin-bottom: 20px; color: var(--navy); }
.auth-card input { 
    width: 100%; padding: 14px; margin: 8px 0; border: 2px solid #eee; 
    border-radius: 8px; outline: none; transition: 0.3s;
}
.auth-card input:focus { border-color: var(--cyan); }
#toggle-auth { margin-top: 20px; font-size: 14px; cursor: default; color: var(--gray); }
#toggle-auth span { 
    color: var(--navy); font-weight: bold; cursor: pointer; 
    text-decoration: underline; margin-left: 5px;
}
#toggle-auth span:hover { color: var(--cyan); }

/* DASHBOARD COMPONENTS */
header {
    height: 70px; background: var(--navy); display: flex; 
    justify-content: space-between; align-items: center; 
    padding: 0 25px; color: white; position: sticky; top: 0; z-index: 100;
}
.header-actions button {
    background: rgba(255,255,255,0.1); border: none; color: white;
    width: 40px; height: 40px; border-radius: 8px; cursor: pointer; margin-left: 10px;
}
.header-actions button:hover { background: var(--cyan); color: var(--navy); }

.sidebar {
    width: 250px; height: 100vh; background: var(--dark-blue);
    position: fixed; left: 0; top: 0; padding-top: 80px;
}
.sidebar li {
    padding: 15px 25px; color: var(--gray); cursor: pointer;
    display: flex; align-items: center; gap: 15px; transition: 0.2s;
}
.sidebar li:hover, .sidebar li.active {
    background: rgba(100, 255, 218, 0.05); color: var(--cyan);
    border-right: 4px solid var(--cyan);
}

/* CONTENT */
main { margin-left: 250px; padding: 40px; min-height: 100vh; }
.stat-card {
    background: white; padding: 25px; border-radius: 15px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}
.stat-card h3 { font-size: 14px; color: var(--gray); margin-bottom: 10px; }
.stat-card p { font-size: 24px; font-weight: bold; color: var(--navy); }

/* TOAST COLORS */
.bg-success { background: var(--success); color: white; }
.bg-danger { background: var(--danger); color: white; }
#toast {
    position: fixed; bottom: 30px; right: 30px; padding: 15px 30px;
    border-radius: 10px; font-weight: 500; z-index: 1000; animation: slideIn 0.3s ease;
}
@keyframes slideIn { from { transform: translateX(100%); } to { transform: translateX(0); } }

/* MOBILE RESPONSIVE */
@media (max-width: 768px) {
    .sidebar {
        width: 100%; height: 70px; top: auto; bottom: 0;
        padding-top: 0; display: flex; justify-content: space-around;
    }
    .sidebar ul { display: flex; width: 100%; }
    .sidebar li { flex: 1; flex-direction: column; font-size: 10px; justify-content: center; padding: 5px; gap: 5px; }
    .sidebar li i { font-size: 18px; }
    main { margin-left: 0; padding: 20px; padding-bottom: 100px; }
}
