/* ============================================
   OWEN — bread.wine.together.
   Tema sopra admin.css: crema, blu cobalto, ruggine, macchina da scrivere.
   ============================================ */

:root {
    --owen-cream: #FAF6EE;
    --owen-cream-deep: #F2EBDD;
    --owen-blue: #263B80;
    --owen-blue-dark: #1C2C62;
    --owen-badge-cream: #F3EBD3;
    --owen-blue-soft: #E3E6F4;
    --owen-rust: #C4643A;
    --owen-ink: #1E2240;

    --md-primary: var(--owen-blue);
    --md-on-primary: #FFFFFF;
    --md-primary-container: var(--owen-blue-soft);
    --md-on-primary-container: var(--owen-blue-dark);
    --md-secondary: var(--owen-blue);
    --md-secondary-container: var(--owen-blue-soft);
    --md-on-secondary-container: var(--owen-blue-dark);
    --md-tertiary: var(--owen-rust);

    --md-surface: var(--owen-cream);
    --md-surface-container-lowest: #FFFDF8;
    --md-surface-container-low: var(--owen-cream);
    --md-surface-container: var(--owen-cream-deep);
    --md-surface-container-high: #ECE4D3;
    --md-on-surface: var(--owen-ink);
    --md-on-surface-variant: #4A4E6A;
    --md-outline-variant: #E2D9C6;

    --md-font: 'Nunito', -apple-system, 'Segoe UI', sans-serif;
    --owen-mono: 'DM Mono', ui-monospace, 'Courier New', monospace;
}

body { background: var(--owen-cream); }

/* Logo testuale: "owen" + payoff */
.owen-logo {
    font-family: 'Nunito', sans-serif;
    font-weight: 800;
    color: var(--owen-blue);
    letter-spacing: 0.02em;
    line-height: 1;
    text-transform: lowercase;
}
.owen-tagline {
    font-family: var(--owen-mono);
    font-size: 0.68rem;
    color: var(--owen-rust);
    letter-spacing: 0.04em;
}
.navbar-brand .owen-logo { font-size: 1.7rem; }

/* Stemma del profilo: "we" corsivo crema su cerchio blu */
.owen-badge {
    display: inline-flex; align-items: center; justify-content: center;
    width: 38px; height: 38px; border-radius: 50%;
    background: var(--owen-blue); color: var(--owen-badge-cream);
    font-family: 'Caveat', cursive; font-weight: 700; font-size: 1.45rem; line-height: 1;
    padding-bottom: 3px; flex-shrink: 0;
}
.owen-badge.lg { width: 84px; height: 84px; font-size: 3.1rem; padding-bottom: 6px; }
.navbar-brand .owen-app {
    font-family: var(--owen-mono);
    font-size: 0.78rem;
    color: var(--owen-rust);
    border-left: 1px solid var(--md-outline-variant);
    padding-left: 10px;
    margin-left: 4px;
}

.navbar { background: #FFFDF8 !important; box-shadow: 0 1px 0 var(--md-outline-variant); }
.sidebar { background: #FFFDF8; }
.sidebar .nav-link:hover { background: var(--owen-cream-deep); }
.btn-primary { background: var(--owen-blue); border-color: var(--owen-blue); }
.btn-primary:hover, .btn-primary:focus { background: var(--owen-blue-dark); border-color: var(--owen-blue-dark); }
.btn-outline-secondary { color: var(--owen-blue); border-color: #C9CDE6; }
.btn-outline-secondary:hover { background: var(--owen-blue-soft); color: var(--owen-blue-dark); border-color: #C9CDE6; }
a { color: var(--owen-blue); }
a:hover { color: var(--owen-blue-dark); }

/* Titoli di pagina: blu, come il "we" del volantino */
main h1.h2 { color: var(--owen-blue); font-weight: 800; }

/* Etichette e numeri in stile macchina da scrivere */
.kpi .label, .card-section h2, .grid-table th, .table thead th, .text-muted.small, p.small {
    font-family: var(--owen-mono);
}
.kpi .label { color: var(--owen-rust); letter-spacing: 0.06em; }
.kpi .value { font-family: var(--owen-mono); color: var(--owen-blue); font-weight: 500; }
.num { font-family: var(--owen-mono); }
.card-section h2 { color: var(--owen-blue); text-transform: lowercase; letter-spacing: 0.02em; font-weight: 500; }
.card-section h2::after { content: '.'; color: var(--owen-rust); }

/* Riepilogo mensile in home */
.month-block + .month-block { margin-top: 20px; }
.month-title { font-family: 'Nunito', sans-serif; font-weight: 800; color: var(--owen-blue); font-size: 1.15rem; }
.kpi-delta { font-family: var(--owen-mono); font-size: 0.72rem; margin-top: 2px; }
.delta-up { color: #2E7D4F; } .delta-down { color: #B3261E; }

/* Tabelle settimanali */
.week-block + .week-block { margin-top: 32px; }
.week-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 16px;
             align-items: baseline; margin-bottom: 6px; }
.week-title { font-family: var(--owen-mono); color: var(--owen-blue); font-weight: 500; }
.week-total { font-family: var(--owen-mono); font-size: 0.78rem; color: var(--owen-rust); }
.week-avg td { font-family: var(--owen-mono); color: var(--owen-rust); font-weight: 500;
               border-top: 2px solid var(--owen-rust); background: var(--owen-cream); }

.kpi, .card-section { background: #FFFDF8; border-color: var(--md-outline-variant); }
.table { --bs-table-bg: transparent; }
.table thead th { color: var(--md-on-surface-variant); font-weight: 500; font-size: 0.78rem; }
