/* =========================================================
   ACCHIAPPA – palette verde eco
   ========================================================= */
:root {
    --verde-scuro:    #1b4332;
    --verde-foresta:  #2d6a4f;
    --verde-medio:    #40916c;
    --verde-chiaro:   #52b788;
    --verde-pastello: #95d5b2;
    --verde-pallido:  #d8f3dc;
    --verde-bg:       #f0faf4;
}

/* ── BODY ─────────────────────────────────────────────── */
body {
    padding-top: 62px;
    background-color: var(--verde-bg);
    color: #1a2e1f;
}

/* ── NAVBAR BIANCA ────────────────────────────────────── */
.navbar-acchiappa {
    background: #ffffff;
    box-shadow: 0 2px 12px rgba(0,0,0,.1);
}

.navbar-acchiappa .navbar-brand {
    font-weight: 700;
    letter-spacing: .5px;
    color: var(--verde-foresta) !important;
    display: flex;
    align-items: center;
    gap: .5rem;
}

.navbar-acchiappa .navbar-brand img {
    height: 48px;
    width: auto;
    object-fit: contain;
    opacity: 0.75;
    border-radius: 6px;
}

.navbar-acchiappa .nav-link {
    color: var(--verde-foresta) !important;
    font-weight: 500;
    transition: color .2s;
}

.navbar-acchiappa .nav-link:hover,
.navbar-acchiappa .nav-link.active {
    color: var(--verde-scuro) !important;
}

.navbar-acchiappa .navbar-toggler {
    border-color: var(--verde-chiaro);
}

.navbar-acchiappa .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%2340916c' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.navbar-acchiappa .dropdown-menu {
    border: 1px solid var(--verde-pallido);
    border-radius: 10px;
    box-shadow: 0 6px 20px rgba(27,67,50,.15);
}

.navbar-acchiappa .dropdown-item {
    color: var(--verde-foresta);
}

.navbar-acchiappa .dropdown-item:hover,
.navbar-acchiappa .dropdown-item.active {
    background-color: var(--verde-pallido);
    color: var(--verde-scuro);
}

/* bottone logout nel dropdown */
.navbar-acchiappa .dropdown-item-logout {
    background: none;
    border: none;
    width: 100%;
    text-align: left;
    padding: .35rem 1rem;
    color: var(--verde-foresta);
    cursor: pointer;
    font-size: .9375rem;
}

.navbar-acchiappa .dropdown-item-logout:hover {
    background-color: var(--verde-pallido);
    color: var(--verde-scuro);
}

/* ── CARDS ────────────────────────────────────────────── */
.card {
    border: none;
    border-radius: 14px;
    box-shadow: 0 2px 14px rgba(27,67,50,.1);
}

.card-header.bg-brand {
    background: linear-gradient(135deg, var(--verde-foresta) 0%, var(--verde-medio) 100%) !important;
    color: #fff;
    border-radius: 14px 14px 0 0 !important;
    border-bottom: none;
}

/* ── PULSANTI ─────────────────────────────────────────── */
.btn-brand {
    background: linear-gradient(135deg, var(--verde-foresta) 0%, var(--verde-medio) 100%);
    border: none;
    color: #fff;
    font-weight: 600;
    border-radius: 8px;
    transition: all .2s;
}

.btn-brand:hover,
.btn-brand:focus {
    background: linear-gradient(135deg, var(--verde-scuro) 0%, var(--verde-foresta) 100%);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(27,67,50,.3);
}

/* ── FOOTER ───────────────────────────────────────────── */
footer.site-footer {
    background: var(--verde-scuro) !important;
    color: var(--verde-pastello) !important;
}

footer.site-footer a {
    color: var(--verde-pastello);
}

/* ── ALERTS / MESSAGGI ────────────────────────────────── */
.alert-success {
    background-color: var(--verde-pallido);
    border-color: var(--verde-pastello);
    color: var(--verde-scuro);
}

/* ── INPUT FOCUS ──────────────────────────────────────── */
.form-control:focus,
.form-select:focus {
    border-color: var(--verde-chiaro);
    box-shadow: 0 0 0 .2rem rgba(82,183,136,.25);
}

/* ── ICONA MANI (sostituisce bi-recycle) ──────────────── */
.icon-mani {
    height: 1.2em;
    width: auto;
    vertical-align: middle;
    opacity: 0.82;
    border-radius: 3px;
    margin-right: .15em;
}

/* ── TABLE ────────────────────────────────────────────── */
.table thead th {
    background-color: var(--verde-foresta);
    color: #fff;
}

/* ── LOGIN PAGE – sfondo bianco puro ──────────────────── */
.login-page {
    min-height: 100vh;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1rem;
}

.login-box {
    width: 100%;
    max-width: 360px;
    text-align: center;
}

.login-box img.login-logo {
    max-width: 280px;
    width: 85%;
    height: auto;
    margin-bottom: .75rem;
}

.login-box .app-tagline {
    color: #888;
    font-size: .82rem;
    margin-bottom: 2rem;
    letter-spacing: .3px;
}

.login-box .form-label {
    text-align: left;
    display: block;
    color: var(--verde-foresta);
    font-weight: 600;
    font-size: .9rem;
}

.login-box .form-control {
    border-radius: 8px;
    border: 1px solid #d0e8d8;
    padding: .6rem .9rem;
}

.login-box .divider {
    border-top: 1px solid #e8f4ec;
    margin: 1.5rem 0;
}

.privacy-box {
    background: #f0faf4;
    border: 1px solid #c3e6cb;
    border-radius: 8px;
    padding: .85rem 1rem;
    font-size: .82rem;
    color: #4a6255;
}

.privacy-box a {
    color: var(--verde-foresta);
    font-weight: 600;
}
