/* =============================================================================
 * Fatti Vision Theme  v1.1.0
 * Client  : Fatti Location
 * Product : Fatti Vision  (powered by Prometheus OmniSight)
 * Palette : Navy #14508C  |  Deep Navy #0D3A66  |  Light Navy #1E6DB5
 * =============================================================================
 * Overrides prometheus-theme.css completely.
 * Design language: clean white cards, Fatti navy chrome, light grey page fill.
 * Matches the aesthetic of the branded login screen.
 * ============================================================================= */

/* ── CSS variables ─────────────────────────────────────────────────────────── */
:root {
    --theme-primary:        #14508C;
    --theme-primary-dark:   #0D3A66;
    --theme-primary-light:  #1E6DB5;
    --theme-primary-xlight: #3A8DDE;
    --theme-bg:             #F2F5F9;
    --theme-bg-card:        #FFFFFF;
    --theme-text:           #1a1a1a;
    --theme-text-muted:     #6c757d;
    --theme-border:         #D0DCE8;
    --theme-shadow:         rgba(20, 80, 140, 0.09);
    --theme-shadow-hover:   rgba(20, 80, 140, 0.18);
    --navbar-height:        70px;
    --page-bg:              #F2F5F9;
}

/* ── Reset Trajan Pro (prometheus-theme.css headings) ───────────────────────── */
h1, h2, h3, h4, h5, h6,
.sidebar h4, .card-header, .modal-title, .navbar-brand, .stat-value {
    font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif !important;
}

/* ── Body ───────────────────────────────────────────────────────────────────── */
body {
    font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
    background: var(--theme-bg) !important;
    color: var(--theme-text);
}

/* ── Navbar ─────────────────────────────────────────────────────────────────── */
.navbar {
    background: linear-gradient(180deg, var(--theme-primary-dark) 0%, var(--theme-primary) 100%) !important;
    border-bottom: 3px solid var(--theme-primary-xlight) !important;
    box-shadow: 0 2px 10px var(--theme-shadow) !important;
    height: var(--navbar-height);
    padding: 0.75rem 1.5rem;
}
.navbar .navbar-brand {
    color: #FFFFFF !important;
    font-size: 1.25rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
}
.navbar .nav-link            { color: rgba(255,255,255,0.85) !important; }
.navbar .nav-link:hover      { color: #FFFFFF !important; }

/* ── Sidebar ─────────────────────────────────────────────────────────────────── */
.sidebar {
    background: linear-gradient(180deg, var(--theme-primary-dark) 0%, var(--theme-primary) 100%) !important;
    border-right: 3px solid var(--theme-primary-xlight) !important;
    box-shadow: 2px 0 10px var(--theme-shadow) !important;
}
.sidebar.collapsed::after    { background: var(--theme-primary-xlight) !important; }
.sidebar h4 {
    color: rgba(255,255,255,0.55) !important;
    font-size: 0.70rem !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    text-transform: uppercase !important;
    padding: 0 20px !important;
    margin: 16px 0 6px !important;
    border-bottom: none !important;
}
.sidebar-link {
    color: rgba(255,255,255,0.85) !important;
    border-left: 3px solid transparent !important;
    padding: 11px 20px !important;
    margin: 2px 0 !important;
    transition: all 0.2s ease !important;
    display: flex; align-items: center; gap: 10px;
}
.sidebar-link:hover {
    background: rgba(255,255,255,0.12) !important;
    color: #FFFFFF !important;
    border-left-color: var(--theme-primary-xlight) !important;
    padding-left: 20px !important;
    transform: none !important;
}
.sidebar-link.active {
    background: rgba(255,255,255,0.18) !important;
    color: #FFFFFF !important;
    border-left-color: var(--theme-primary-xlight) !important;
    font-weight: 600 !important;
}
.sidebar-link i, .sidebar-link:hover i, .sidebar-link.active i {
    color: rgba(255,255,255,0.80) !important;
    margin-right: 0 !important;
    transform: none !important;
    transition: none !important;
}
.sidebar-version             { color: rgba(255,255,255,0.40) !important; opacity: 1 !important; }

/* ── Cards ───────────────────────────────────────────────────────────────────── */
.card {
    background: var(--theme-bg-card) !important;
    border: 1px solid var(--theme-border) !important;
    border-radius: 10px !important;
    box-shadow: 0 2px 8px var(--theme-shadow) !important;
    margin-bottom: 1.5rem;
}
.card:hover      { box-shadow: 0 4px 16px var(--theme-shadow-hover) !important; transform: none !important; }
.card-header {
    background: linear-gradient(135deg, var(--theme-primary-dark) 0%, var(--theme-primary) 100%) !important;
    color: #FFFFFF !important;
    border-bottom: none !important;
    border-radius: 9px 9px 0 0 !important;
    padding: 14px 20px !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
}
.card-header h4, .card-header h5, .card-header .card-title { color: #FFFFFF !important; margin: 0 !important; }
.card-body       { padding: 1.5rem !important; }

/* ── Buttons ─────────────────────────────────────────────────────────────────── */
.btn-primary {
    background: linear-gradient(135deg, var(--theme-primary) 0%, var(--theme-primary-dark) 100%) !important;
    border-color: var(--theme-primary-dark) !important;
    color: #FFFFFF !important;
    font-weight: 500 !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px var(--theme-shadow) !important;
}
.btn-primary:hover, .btn-primary:focus {
    background: linear-gradient(135deg, var(--theme-primary-light) 0%, var(--theme-primary) 100%) !important;
    border-color: var(--theme-primary) !important;
    box-shadow: 0 4px 12px var(--theme-shadow-hover) !important;
    transform: translateY(-1px) !important;
}
.btn-primary:active              { transform: translateY(0) !important; }
.btn-outline-primary             { border-color: var(--theme-primary) !important; color: var(--theme-primary) !important; background: transparent !important; }
.btn-outline-primary:hover       { background: var(--theme-primary) !important; color: #FFFFFF !important; }

/* ── Forms ───────────────────────────────────────────────────────────────────── */
.form-label {
    font-weight: 500 !important;
    color: var(--theme-text) !important;
    font-family: 'Helvetica Neue', Arial, sans-serif !important;
}
.form-control, .form-select {
    border: 1px solid var(--theme-border) !important;
    background-color: #FFFFFF !important;
    color: var(--theme-text) !important;
    border-radius: 6px !important;
}
.form-control:focus, .form-select:focus {
    border-color: var(--theme-primary-light) !important;
    box-shadow: 0 0 0 0.2rem rgba(20,80,140,0.18) !important;
    background-color: #FFFFFF !important;
}
.form-control:hover, .form-select:hover { border-color: var(--theme-primary-light) !important; }

/* ── Tables ──────────────────────────────────────────────────────────────────── */
.table           { border-collapse: separate !important; border-spacing: 0 !important; }
.table thead     { background: linear-gradient(180deg, var(--theme-primary-dark) 0%, var(--theme-primary) 100%) !important; }
.table thead th  {
    background: transparent !important;
    color: #FFFFFF !important;
    border: none !important;
    border-bottom: 3px solid var(--theme-primary-xlight) !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
}
.table tbody tr:hover  { background-color: rgba(20,80,140,0.04) !important; transform: none !important; box-shadow: none !important; }
.table tbody td        { border-bottom: 1px solid var(--theme-border) !important; padding: 10px 16px !important; vertical-align: middle !important; }
.table-striped tbody tr:nth-of-type(odd) { background-color: rgba(20,80,140,0.03) !important; }

/* ── Modals ──────────────────────────────────────────────────────────────────── */
.modal-content   { border: none !important; border-radius: 10px !important; box-shadow: 0 12px 40px rgba(0,0,0,0.18) !important; }
.modal-header {
    background: linear-gradient(135deg, var(--theme-primary-dark) 0%, var(--theme-primary) 100%) !important;
    color: #FFFFFF !important;
    border-bottom: none !important;
    border-radius: 9px 9px 0 0 !important;
    padding: 16px 20px !important;
}
.modal-title     { color: #FFFFFF !important; font-size: 1.1rem !important; font-weight: 600 !important; }
.modal-header .btn-close { filter: invert(1) !important; opacity: 0.8 !important; }
.modal-footer    { border-top: 1px solid var(--theme-border) !important; padding: 12px 20px !important; }

/* ── Stat cards ──────────────────────────────────────────────────────────────── */
.stat-card       { border-left: 4px solid var(--theme-primary) !important; background: #FFFFFF !important; }
.stat-card:hover { transform: translateY(-3px) !important; box-shadow: 0 6px 20px var(--theme-shadow-hover) !important; }
.stat-value      { color: var(--theme-primary) !important; font-weight: 700 !important; font-size: 2.2rem !important; }
.stat-label      { color: var(--theme-text-muted) !important; font-size: 0.80rem !important; text-transform: uppercase !important; letter-spacing: 0.8px !important; font-weight: 600 !important; }

/* ── Progress bars ───────────────────────────────────────────────────────────── */
.progress-bar    { background: linear-gradient(90deg, var(--theme-primary) 0%, var(--theme-primary-light) 100%) !important; }

/* ── Badges ──────────────────────────────────────────────────────────────────── */
.badge.bg-primary { background: var(--theme-primary) !important; }

/* ── Links ───────────────────────────────────────────────────────────────────── */
a            { color: var(--theme-primary-light) !important; text-decoration: none !important; }
a:hover      { color: var(--theme-primary) !important; text-decoration: underline !important; }

/* ── Pagination ──────────────────────────────────────────────────────────────── */
.page-link                    { color: var(--theme-primary) !important; }
.page-link:hover              { color: var(--theme-primary-dark) !important; background-color: rgba(20,80,140,0.08) !important; }
.page-item.active .page-link  { background-color: var(--theme-primary) !important; border-color: var(--theme-primary) !important; color: #FFFFFF !important; }

/* ── Alerts ──────────────────────────────────────────────────────────────────── */
.alert-primary { background-color: rgba(20,80,140,0.09) !important; border-color: var(--theme-primary-light) !important; color: var(--theme-primary-dark) !important; }

/* ── Selection ───────────────────────────────────────────────────────────────── */
::selection      { background-color: var(--theme-primary); color: #FFFFFF; }
::-moz-selection { background-color: var(--theme-primary); color: #FFFFFF; }

/* ── Scrollbar ───────────────────────────────────────────────────────────────── */
::-webkit-scrollbar             { width: 10px; height: 10px; }
::-webkit-scrollbar-track       { background: var(--theme-bg); }
::-webkit-scrollbar-thumb       { background: var(--theme-primary); border-radius: 5px; border: 2px solid var(--theme-bg); }
::-webkit-scrollbar-thumb:hover { background: var(--theme-primary-dark); }

/* Injected by OmniSight theme engine — do not edit manually */
:root { --page-bg: #F4F6F9; }
