/* public/css/variables.css */
/* Estilos base do sistema inteiro */

/* ===== CONTAINER PRINCIPAL ===== */
.app-container {
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: var(--bg-primary);
}

/* ===== LATERAL ÍCONES ===== */
.app-nav {
    width: var(--nav-width);
    height: 100%;
    background-color: var(--bg-secondary);
    border-right: 1px solid var(--border);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 12px 0;
    flex-shrink: 0;
    gap: 4px;
}

/* Logo no topo */
.nav-logo {
    width: 36px;
    height: 36px;
    background-color: var(--accent);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
    margin-bottom: 16px;
    flex-shrink: 0;
}

/* Botões da nav */
.nav-btn {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: none;
    border: none;
    color: var(--text-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
    position: relative;
}

.nav-btn:hover {
    background-color: var(--bg-hover);
    color: var(--text-primary);
}

.nav-btn.active {
    background-color: var(--accent-soft);
    color: var(--accent);
}

/* Espaçador */
.nav-spacer {
    flex: 1;
}

/* Avatar do usuário no rodapé da nav */
.nav-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: var(--accent);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    margin-top: 8px;
}

/* ===== INPUTS E BOTÕES ===== */
input,
textarea,
select {
    font-family: inherit;
    font-size: 14px;
    border: none;
    outline: none;
    color: var(--text-primary);
    background-color: var(--bg-input);
    border-radius: var(--radius-sm);
    padding: 10px 14px;
    width: 100%;
    transition: background-color 0.2s ease;
}

input::placeholder,
textarea::placeholder {
    color: var(--text-placeholder);
}

button {
    font-family: inherit;
    font-size: 14px;
    border: none;
    outline: none;
    cursor: pointer;
    transition: background-color 0.2s ease, opacity 0.2s ease;
}

/* ===== BOTÃO PADRÃO ===== */
.btn-primary {
    background-color: var(--accent);
    color: #fff;
    padding: 9px 20px;
    border-radius: 20px;
    font-weight: 600;
    font-size: 13px;
}

.btn-primary:hover {
    background-color: var(--accent-hover);
}

/* Botão vermelho (perigo/excluir) */
.btn-danger {
    background-color: transparent;
    color: var(--danger);
    border: 1px solid var(--danger);
    padding: 7px 16px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 12px;
}

.btn-danger:hover {
    background-color: var(--danger-hover);
    color: #fff;
}

/* Botão transparente (secundário) */
.btn-ghost {
    background-color: transparent;
    color: var(--text-secondary);
    padding: 8px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-ghost:hover {
    background-color: var(--bg-hover);
    color: var(--text-primary);
}

/* ===== ICON BUTTON ===== */
.icon-btn {
    background: none;
    border: none;
    color: var(--text-secondary);
    padding: 8px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.icon-btn:hover {
    background-color: var(--bg-hover);
    color: var(--text-primary);
}

.icon-btn.active {
    color: var(--accent);
}

/* ===== RESPONSIVO — MOBILE ===== */
/* Telas menores que 768px (tablets e celulares) */
@media (max-width: 768px) {

    /* Texto um pouco menor no mobile */
    html,
    body {
        font-size: 13px;
    }
}