/* ============================================================
   ANPI Bari — Anagrafica Soci — Stile personalizzato
   Palette: blu istituzionale (ispirata allo screenshot allegato)
   ============================================================ */

:root {
    --anpi-blue:       #1a56a5;
    --anpi-blue-dark:  #0d3d7a;
    --anpi-blue-light: #e8f0fb;
    --anpi-accent:     #c62828;   /* rosso ANPI, usato solo come accento */
    --anpi-text:       #1c2b3a;
    --anpi-muted:      #6b7c93;
    --anpi-border:     #dde3ea;
    --anpi-bg:         #f4f6f9;
}

/* Reset / base */
body {
    font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
    background: var(--anpi-bg);
    color: var(--anpi-text);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Navbar */
.bg-primary-anpi {
    background-color: var(--anpi-blue) !important;
}

.navbar-dark .navbar-nav .nav-link {
    color: rgba(255,255,255,.85);
    font-size: .9rem;
    padding: .5rem .9rem;
    border-radius: 4px;
    transition: background .15s;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link.active {
    color: #fff;
    background: rgba(255,255,255,.15);
}
.navbar-brand { font-size: 1rem; }
.text-white-75 { color: rgba(255,255,255,.75) !important; }
.text-primary-anpi { color: var(--anpi-blue) !important; }
.fs-tiny { font-size: .65rem; }

/* Card */
.card {
    border: 1px solid var(--anpi-border);
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.card-header {
    background: #fff;
    border-bottom: 1px solid var(--anpi-border);
    font-weight: 600;
    color: var(--anpi-blue-dark);
}

/* Stat cards (dashboard) */
.stat-card {
    border-left: 4px solid var(--anpi-blue);
}
.stat-card .stat-number {
    font-size: 2rem;
    font-weight: 700;
    color: var(--anpi-blue);
    line-height: 1;
}
.stat-card .stat-label {
    font-size: .8rem;
    color: var(--anpi-muted);
    text-transform: uppercase;
    letter-spacing: .04em;
}
.stat-card.accent { border-left-color: var(--anpi-accent); }
.stat-card.accent .stat-number { color: var(--anpi-accent); }

/* Buttons */
.btn-primary {
    background-color: var(--anpi-blue);
    border-color: var(--anpi-blue);
}
.btn-primary:hover {
    background-color: var(--anpi-blue-dark);
    border-color: var(--anpi-blue-dark);
}
.btn-outline-primary {
    color: var(--anpi-blue);
    border-color: var(--anpi-blue);
}
.btn-outline-primary:hover {
    background-color: var(--anpi-blue);
}

/* Table */
.table thead th {
    background: var(--anpi-blue-light);
    color: var(--anpi-blue-dark);
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    border-bottom: 2px solid var(--anpi-blue);
    white-space: nowrap;
}
.table tbody tr:hover {
    background: var(--anpi-blue-light);
}
.table td { vertical-align: middle; font-size: .9rem; }

/* Badge tipologia */
.badge-partigiano  { background: #1a56a5; color: #fff; }
.badge-patriota    { background: #2e7d32; color: #fff; }
.badge-antifascista{ background: #c62828; color: #fff; }

/* Login page */
.login-wrapper {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--anpi-blue);
}
.login-card {
    width: 100%;
    max-width: 400px;
    border: none;
    border-radius: 12px;
    box-shadow: 0 8px 32px rgba(0,0,0,.25);
}
.login-header {
    background: var(--anpi-blue-dark);
    color: #fff;
    border-radius: 12px 12px 0 0;
    padding: 2rem;
    text-align: center;
}

/* Page titles */
.page-title {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--anpi-blue-dark);
    margin-bottom: .25rem;
}
.page-subtitle {
    font-size: .85rem;
    color: var(--anpi-muted);
}

/* Search bar */
.search-bar .form-control,
.search-bar .form-select {
    border-color: var(--anpi-border);
    font-size: .875rem;
}

/* Footer */
.footer-anpi {
    background: #fff;
    border-top: 1px solid var(--anpi-border);
    margin-top: auto;
}

/* Pagination */
.page-link { color: var(--anpi-blue); }
.page-item.active .page-link {
    background-color: var(--anpi-blue);
    border-color: var(--anpi-blue);
}
