/* =========================================
   GLOBAL.CSS - Variáveis e Estilos Base
========================================= */

:root {
    /* Paleta de Cores Global (Dark Mode Persis) */
    --bg-dark: #060a11;
    --bg-card: rgba(20, 31, 45, 0.7);
    --border-color: #2c3e56;
    
    --text-primary: #fdfbf7;
    --text-secondary: #8b9bb4;
    
    --accent: #fcb833;
    --accent-hover: #e5a32b;
    
    --error-bg: rgba(239, 68, 68, 0.1);
    --error-text: #ef4444;
    --success-bg: rgba(16, 185, 129, 0.1);
    --success-text: #10b981;
    
    /* Variáveis de Layout */
    --radius-md: 8px;
    --radius-lg: 12px;
}

/* Reset Global */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: var(--bg-dark);
    font-family: 'Inter', sans-serif;
    color: var(--text-primary);
    -webkit-font-smoothing: antialiased;
}

/* Tipografia Base */
h1, h2, h3 {
    font-family: 'Playfair Display', serif;
    color: var(--text-primary);
}

/* Botões Globais */
.btn-primary {
    background-color: var(--accent);
    color: #000;
    border: none;
    border-radius: var(--radius-lg);
    padding: 16px;
    font-size: 1.1rem;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.1s ease;
    width: 100%;
}
.btn-primary:active { transform: scale(0.98); }
.btn-primary:hover { background-color: var(--accent-hover); }

.btn-danger {
    background: transparent;
    color: var(--error-text);
    border: 1px solid var(--error-text);
    padding: 12px 20px;
    border-radius: var(--radius-md);
    font-weight: bold;
    width: 100%;
    cursor: pointer;
    transition: 0.3s;
}
.btn-danger:hover { background-color: var(--error-bg); }

/* Alertas e Mensagens Globais */
.msg-erro, .msg-sucesso {
    padding: 12px;
    border-radius: var(--radius-md);
    font-size: 0.9rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px;
    width: 100%;
}
.msg-erro { background-color: var(--error-bg); color: var(--error-text); border: 1px solid rgba(239, 68, 68, 0.3); }
.msg-sucesso { background-color: var(--success-bg); color: var(--success-text); border: 1px solid rgba(16, 185, 129, 0.3); }

/* =========================================
   ESTRUTURA GLOBAL (Cabeçalho e Navegação)
========================================= */

/* Fundo padrão para as páginas internas (Dashboard, Estudos, Rotina) */
body.internal-page {
    background-image: linear-gradient(to bottom, rgba(6,10,17,0.3) 0%, var(--bg-dark) 300px), url('../img/bg-login.png');
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    padding-bottom: 90px; /* Espaço para a nav inferior */
}

/* Cabeçalho Topo */
.top-header { padding: 24px 20px 10px; }
.header-content { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
.logo-area { display: flex; align-items: center; gap: 10px; }
.logo-small { width: 35px; height: auto; }
.logo-area h2 { font-size: 1.5rem; }

.user-actions { display: flex; align-items: center; gap: 15px; }
.notification { position: relative; font-size: 1.2rem; color: var(--text-secondary); cursor: pointer; }
.profile-avatar { width: 35px; height: 35px; background-color: var(--border-color); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--text-secondary); cursor: pointer;}

.page-title h1 { font-size: 1.6rem; margin-bottom: 5px; display: flex; align-items: center; gap: 10px; }
.page-title p { color: var(--text-secondary); font-size: 0.9rem; }

/* Navegação Inferior & Botão Flutuante (FAB) */
.fab-button { position: fixed; bottom: 90px; right: 20px; width: 56px; height: 56px; background-color: #3b82f6; color: white; border: none; border-radius: 50%; font-size: 1.5rem; box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4); z-index: 100; transition: transform 0.2s; display: flex; align-items: center; justify-content: center; text-decoration: none;}
.fab-button:active { transform: scale(0.95); }

.bottom-nav { position: fixed; bottom: 0; left: 0; width: 100%; background-color: #080d16; border-top: 1px solid var(--border-color); display: flex; justify-content: space-around; padding: 12px 0; z-index: 100; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
.nav-item { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--text-secondary); text-decoration: none; font-size: 0.65rem; transition: color 0.3s; }
.nav-item i { font-size: 1.2rem; }
.nav-item.active { color: var(--accent); }