* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: inherit; /* mantém a cor do texto */
}

a:hover,
a:focus {
    text-decoration: underline; /* acessibilidade: indica link */
    opacity: 0.85;
}

.hamburger {
    text-transform: uppercase;
    font-size:20px;
    cursor:pointer;
    padding:6px 12px;
    border-radius:8px;
    background: var(--primary);
    color:white;
    transition: .25s ease-in-out;
}

.hamburger:hover {
    background: var(--primary-dark);
    transform: scale(1.05);
}

.side-menu {
    position: fixed;
    top: 0;
    left: -260px;
    width: 260px;
    height: 100%;
    background: var(--card);
    padding: 20px;
    transition: .35s ease-in-out;
    box-shadow: 3px 0 12px rgba(0,0,0,.2);
    display: flex;
    flex-direction: column;
    gap: 15px;
    z-index: 9998;
}

.side-menu.open {
    left: 0;
}

.side-menu a {
    padding: 12px;
    background: #002980;
    color: white;
    border-radius: 8px;
    text-align: center;
    font-weight: 600;
    transition: .25s;
}

.side-menu a:hover {
    transform: scale(1.03);
    background: #001e5c;
}

.overlay {
    display: none;
    position: fixed;
    top:0; left:0;
    width:100%; height:100%;
    background: rgba(0,0,0,.45);
    z-index:9997;
}
.overlay.show { display:block; }

@media screen and (min-width: 768px) {
    .hamburger {
        display:none;
    }

    .side-menu {
        left:0; /* Menu fixo no desktop */
        position:static;
        height:auto;
        box-shadow:none;
        flex-direction: row;
        width:100%;
    }

    .side-menu a {
        flex:1;
        text-align:center;
    }
}

@media screen and (max-width: 480px) {
    .vol-list { grid-template-columns: 1fr; }
    .btn { width: 100%; }
}

body.dark-mode {
    background:#2e2e2e;
    color:#e6e6e6;
}

body.dark-mode .header-top,
body.dark-mode .side-menu,
body.dark-mode .card,
body.dark-mode .card-event {
    background:#1a1f25;
}

body.dark-mode .input_dados,
body.dark-mode select {
    background:#1d242c;
    border-color:#333;
    color:#fff;
}

body.dark-mode .input_dados:focus,
body.dark-mode select:focus {
    border-color:#0099ff;
    box-shadow:0 0 8px rgba(0,153,255,0.25);
}

body.dark-mode .btn-primary { background:#005eff; }
body.dark-mode .btn-reset { background:#7a2d00; }
body.dark-mode .logout-btn { background:#ff4444; }

body.dark-mode .side-menu a {
    background:#002b70;
}

body.dark-mode .hamburger {
    background:#005eff;
}

body.dark-mode #retorno {
    background:#121417;
    color:#cfcfcf;
    border-color:#333;
}

body.dark-mode .helper { color:#cfcfcf; }
