﻿/* ============================================================
   MÊTIS - STANDARD CENTRALE UI / UX
   Base grafica comune da applicare progressivamente alle pagine.
   Non usare regole globali invasive: le classi iniziano con metis-.
   ============================================================ */

:root {
    --metis-blue-900: #073B79;
    --metis-blue-800: #0758B6;
    --metis-blue-700: #0D69C8;
    --metis-blue-600: #1685E5;

    --metis-text: #173B63;
    --metis-text-soft: #617E9B;
    --metis-border: #CBDCED;
    --metis-border-strong: #AFC9E2;

    --metis-bg: #F7FAFF;
    --metis-surface: #FFFFFF;
    --metis-surface-soft: #F4F8FC;
    --metis-selected: #EAF4FF;

    --metis-ok-bg: #EAF7EF;
    --metis-ok-text: #23613C;
    --metis-warning-bg: #FFF7E7;
    --metis-warning-text: #9A5200;
    --metis-error-bg: #FFF0F0;
    --metis-error-text: #A32929;

    --metis-radius-sm: 6px;
    --metis-radius-md: 9px;
    --metis-radius-lg: 12px;

    --metis-shadow-sm: 0 3px 10px rgba(7,59,121,.05);
    --metis-shadow-md: 0 6px 18px rgba(7,59,121,.08);

    --metis-font: Aptos, Arial, sans-serif;
    --metis-font-size: 14px;
    --metis-control-height: 40px;
}

/* CONTENITORE PAGINA */
.metis-page {
    font-family: var(--metis-font);
    color: var(--metis-text);
    background: var(--metis-bg);
    min-width: 0;
}

.metis-page-content {
    padding: 20px 24px 28px;
    min-width: 0;
}

/* INTESTAZIONE */
.metis-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    padding: 14px 18px;
    margin-bottom: 16px;
    border-radius: var(--metis-radius-lg);
    background: linear-gradient(90deg,var(--metis-blue-900),var(--metis-blue-700));
    color: #fff;
}

.metis-page-header-title {
    margin: 0;
    font: 800 24px/1.15 var(--metis-font);
    color: #fff;
}

.metis-page-header-subtitle {
    margin-top: 3px;
    font: 400 13px/1.35 var(--metis-font);
    color: rgba(255,255,255,.86);
}

/* BARRA COMANDI */
.metis-command-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 14px;
}

/* PULSANTI */
.metis-btn {
    min-height: var(--metis-control-height);
    padding: 8px 16px;
    border-radius: var(--metis-radius-md);
    font: 800 13px/1 var(--metis-font);
    cursor: pointer;
    transition: background .12s ease, border-color .12s ease, box-shadow .12s ease;
}

.metis-btn-primary {
    border: 1px solid var(--metis-blue-700);
    background: linear-gradient(180deg,var(--metis-blue-600),var(--metis-blue-700));
    color: #fff;
    box-shadow: 0 3px 8px rgba(13,105,200,.14);
}

.metis-btn-secondary {
    border: 1px solid var(--metis-border-strong);
    background: #fff;
    color: var(--metis-blue-800);
}

.metis-btn-danger {
    border: 1px solid #E2A7A7;
    background: #fff;
    color: var(--metis-error-text);
}

.metis-btn:disabled {
    cursor: default;
    opacity: .48;
    box-shadow: none;
}

/* CAMPI */
.metis-field {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.metis-label {
    font: 800 11px/1.2 var(--metis-font);
    color: #496B8E;
    letter-spacing: .02em;
}

.metis-input,
.metis-select,
.metis-textarea {
    width: 100%;
    min-height: var(--metis-control-height);
    box-sizing: border-box;
    border: 1px solid var(--metis-border-strong);
    border-radius: var(--metis-radius-md);
    background: #fff;
    color: var(--metis-text);
    padding: 8px 10px;
    font: 400 var(--metis-font-size)/1.25 var(--metis-font);
}

.metis-textarea {
    min-height: 96px;
    resize: vertical;
}

.metis-input:focus,
.metis-select:focus,
.metis-textarea:focus {
    outline: none;
    border-color: var(--metis-blue-700);
    box-shadow: 0 0 0 3px rgba(13,105,200,.10);
}

/* SEZIONI / CARD */
.metis-card {
    background: var(--metis-surface);
    border: 1px solid var(--metis-border);
    border-radius: var(--metis-radius-lg);
    box-shadow: var(--metis-shadow-sm);
    overflow: hidden;
}

.metis-card-header {
    padding: 10px 14px;
    border-bottom: 1px solid #DCE6F0;
    background: linear-gradient(180deg,#F6FAFF,#EEF5FB);
    color: var(--metis-blue-900);
    font: 850 13px/1.2 var(--metis-font);
}

.metis-card-body {
    padding: 14px;
}

/* GRIGLIE */
.metis-grid {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--metis-font);
    background: #fff;
}

.metis-grid th {
    padding: 10px 12px;
    text-align: left;
    background: linear-gradient(90deg,var(--metis-blue-900),var(--metis-blue-700));
    color: #fff;
    font-size: 11px;
    font-weight: 850;
    border: 0;
}

.metis-grid td {
    padding: 10px 12px;
    border-bottom: 1px solid #E2EBF4;
    color: var(--metis-text);
    font-size: 13px;
}

.metis-grid-row {
    cursor: pointer;
    transition: background .12s ease;
}

.metis-grid-row:hover {
    background: #F3F8FD;
}

.metis-grid-row.is-selected,
.metis-grid-row[aria-selected="true"] {
    background: var(--metis-selected);
    box-shadow: inset 5px 0 var(--metis-blue-700);
}

/* MESSAGGI */
.metis-message {
    padding: 10px 12px;
    border-radius: var(--metis-radius-md);
    font: 700 13px/1.35 var(--metis-font);
}

.metis-message-ok {
    background: var(--metis-ok-bg);
    color: var(--metis-ok-text);
}

.metis-message-warning {
    background: var(--metis-warning-bg);
    color: var(--metis-warning-text);
}

.metis-message-error {
    background: var(--metis-error-bg);
    color: var(--metis-error-text);
}

/* LAYOUT FORM */
.metis-form-grid {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 12px 16px;
}

.metis-form-grid-3 {
    display: grid;
    grid-template-columns: repeat(3,minmax(0,1fr));
    gap: 12px 16px;
}

.metis-span-full {
    grid-column: 1 / -1;
}

/* REGOLE RESPONSIVE */
@media (max-width: 1100px) {
    .metis-form-grid-3 {
        grid-template-columns: repeat(2,minmax(0,1fr));
    }
}

@media (max-width: 760px) {
    .metis-page-content {
        padding: 14px;
    }

    .metis-page-header {
        align-items: flex-start;
    }

    .metis-form-grid,
    .metis-form-grid-3 {
        grid-template-columns: 1fr;
    }

    .metis-command-bar {
        align-items: stretch;
    }

    .metis-btn {
        min-height: 44px;
    }
}

/* METIS-025R3-BRIDGE-SOGGETTI */
.metis-page.metis-standard-page {
    max-width: 1500px;
    margin: 0 auto;
    padding: 20px 24px 36px;
    font-family: var(--metis-font);
    color: var(--metis-text);
    background: var(--metis-bg);
}
.metis-standard-page .metis-standard-header {
    display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
    margin-bottom:16px; padding:14px 18px; border-radius:var(--metis-radius-lg);
    background:linear-gradient(90deg,var(--metis-blue-900),var(--metis-blue-700)); color:#fff;
}
.metis-standard-page .metis-standard-header h1 { margin:0; color:#fff; font-size:24px; line-height:1.15; }
.metis-standard-page .metis-standard-header .text-muted,
.metis-standard-page .metis-standard-header .metis-counter,
.metis-standard-page .metis-page-header-subtitle { color:rgba(255,255,255,.86) !important; }
.metis-standard-page .card { border:1px solid var(--metis-border); border-radius:var(--metis-radius-lg); box-shadow:var(--metis-shadow-sm); background:#fff; }
.metis-standard-page .card-header { border-bottom:1px solid #DCE6F0; background:linear-gradient(180deg,#F6FAFF,#EEF5FB); color:var(--metis-blue-900); font-weight:850; }
.metis-standard-page .form-label { color:#496B8E; font-size:11px; font-weight:800; }
.metis-standard-page .form-control, .metis-standard-page .form-select { min-height:var(--metis-control-height); border:1px solid var(--metis-border-strong); border-radius:var(--metis-radius-md); font-family:var(--metis-font); }
.metis-standard-page .btn { border-radius:var(--metis-radius-md); font-family:var(--metis-font); font-weight:800; }
.metis-standard-page .btn-primary { border-color:var(--metis-blue-700); background:linear-gradient(180deg,var(--metis-blue-600),var(--metis-blue-700)); color:#fff; }
.metis-standard-page .btn-outline-primary { border-color:var(--metis-blue-700); color:var(--metis-blue-800); background:#fff; }
.metis-standard-page .btn-secondary, .metis-standard-page .btn-outline-secondary { border-color:var(--metis-border-strong); background:#fff; color:var(--metis-blue-800); }
.metis-standard-page .table thead th { background:linear-gradient(90deg,var(--metis-blue-900),var(--metis-blue-700)); color:#fff; font-size:11px; font-weight:850; }
.metis-standard-page tr.table-primary > td, .metis-standard-page tr.metis-selected > td { background:var(--metis-selected) !important; box-shadow:inset 5px 0 0 var(--metis-blue-700); }
@media (max-width:760px){ .metis-page.metis-standard-page{padding:14px;} .metis-standard-page .metis-standard-header{align-items:flex-start;} }


/* METIS-027-PREDEMO */
.metis-context-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin:0 0 14px;
    padding:14px 18px;
    border-radius:12px;
    background:linear-gradient(90deg,var(--metis-blue-900),var(--metis-blue-700));
    color:#fff;
}
.metis-context-subject{font:800 23px/1.1 var(--metis-font);color:#fff}
.metis-context-path{margin-top:5px;font:800 11px/1.25 var(--metis-font);letter-spacing:.045em;color:rgba(255,255,255,.84)}
.metis-context-meta{font:700 12px/1.25 var(--metis-font);color:rgba(255,255,255,.84)}
.metis-page.metis-standard-page .metis-demo-actions{
    display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:18px
}
.metis-page.metis-standard-page .table tbody tr.metis-row-selectable{cursor:pointer}
.metis-page.metis-standard-page .table tbody tr.metis-row-selectable:hover>td{background:#f3f8fd}
.metis-page.metis-standard-page .table tbody tr.metis-row-selected>td{
    background:#eaf4ff !important;
    border-top:1px solid #b8d8f6;
    border-bottom:1px solid #b8d8f6;
    box-shadow:none !important;
}
.metis-page.metis-standard-page .table tbody tr.metis-row-selected>td:first-child{
    box-shadow:inset 4px 0 0 var(--metis-blue-700) !important;
}
.metis-page.metis-standard-page .table tbody tr.metis-row-selected>td:not(:first-child){
    border-left-color:transparent !important;
    border-right-color:transparent !important;
}
.metis-subcontext{
    padding:9px 12px;margin:0 0 12px;border-left:4px solid var(--metis-blue-700);
    background:#f3f8fd;color:var(--metis-blue-900);font:800 12px/1.25 var(--metis-font);
}
.metis-subflow-card{border:1px solid var(--metis-border) !important;box-shadow:var(--metis-shadow-sm)}
@media(max-width:760px){
    .metis-context-header{align-items:flex-start}
    .metis-context-subject{font-size:20px}
}
/* METIS-032-SELEZIONE-RIGHE-START */
/* Standard unico MÊTIS:
   - fondo azzurro chiaro su tutta la riga
   - barra blu solo sulla prima cella
   - nessun riquadro blu cella-per-cella
*/

.metis-standard-page tr.table-primary > td,
.metis-standard-page tr.metis-selected > td,
.metis-standard-page tr.metis-row-selected > td,
.metis-standard-page tr.is-selected > td,
.metis-grid-row.metis-selected,
.metis-grid-row.metis-row-selected,
.metis-grid-row.is-selected {
    background: #eaf4ff !important;
    color: inherit !important;
    box-shadow: none !important;
}

.metis-standard-page tr.table-primary > td,
.metis-standard-page tr.metis-selected > td,
.metis-standard-page tr.metis-row-selected > td,
.metis-standard-page tr.is-selected > td {
    border-top: 1px solid #b8d8f6 !important;
    border-bottom: 1px solid #b8d8f6 !important;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
}

.metis-standard-page tr.table-primary > td:first-child,
.metis-standard-page tr.metis-selected > td:first-child,
.metis-standard-page tr.metis-row-selected > td:first-child,
.metis-standard-page tr.is-selected > td:first-child {
    box-shadow: inset 4px 0 0 #0d69c8 !important;
}

.metis-grid-row.metis-selected,
.metis-grid-row.metis-row-selected,
.metis-grid-row.is-selected {
    border-top: 1px solid #b8d8f6 !important;
    border-bottom: 1px solid #b8d8f6 !important;
    box-shadow: inset 4px 0 0 #0d69c8 !important;
}

/* Evita bordi/blocchi blu sui controlli dentro la riga selezionata */
.metis-standard-page tr.table-primary > td *,
.metis-standard-page tr.metis-selected > td *,
.metis-standard-page tr.metis-row-selected > td *,
.metis-standard-page tr.is-selected > td * {
    box-shadow: none;
}

/* I pulsanti mantengono il loro stile */
.metis-standard-page tr.table-primary > td .btn,
.metis-standard-page tr.metis-selected > td .btn,
.metis-standard-page tr.metis-row-selected > td .btn,
.metis-standard-page tr.is-selected > td .btn,
.metis-standard-page tr.table-primary > td .metis-btn,
.metis-standard-page tr.metis-selected > td .metis-btn,
.metis-standard-page tr.metis-row-selected > td .metis-btn,
.metis-standard-page tr.is-selected > td .metis-btn {
    box-shadow: initial;
}

/* METIS-032-SELEZIONE-RIGHE-END */
/* METIS-036-TAB-SOGGETTO-START */
/* Schede soggetto: evidenza maggiore della scheda attiva, senza effetto "pulsante" */

.metis-standard-page .nav-tabs .nav-link,
.metis-page .nav-tabs .nav-link {
    color: #4f5965;
    font-weight: 500;
    border-bottom: 3px solid transparent;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.metis-standard-page .nav-tabs .nav-link:hover,
.metis-page .nav-tabs .nav-link:hover {
    color: #0758b6;
    background: #f5f9fe;
}

.metis-standard-page .nav-tabs .nav-link.active,
.metis-page .nav-tabs .nav-link.active {
    color: #073b79 !important;
    font-weight: 700 !important;
    background: #f3f8fe !important;
    border-color: #d8e4f2 #d8e4f2 #0d69c8 #d8e4f2 !important;
    border-bottom-width: 3px !important;
}

/* Anche per eventuale tab attiva resa tramite aria-current */
.metis-standard-page .nav-tabs .nav-link[aria-current="page"],
.metis-page .nav-tabs .nav-link[aria-current="page"] {
    color: #073b79 !important;
    font-weight: 700 !important;
    background: #f3f8fe !important;
    border-bottom: 3px solid #0d69c8 !important;
}

/* METIS-036-TAB-SOGGETTO-END */
/* METIS-041-LAYOUT-CONTENUTO-START */
/*
   Regola layout MÊTIS:
   MENU | piccolo margine | CONTENUTO
   Il contenuto operativo non deve ricentrarsi allontanandosi dal menu
   quando la finestra cambia dimensione.
*/

.metis-page,
.metis-standard-page {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Override dei container Bootstrap usati dentro le pagine operative */
.metis-page.container,
.metis-page.container-fluid,
.metis-standard-page.container,
.metis-standard-page.container-fluid,
.metis-page .container,
.metis-standard-page .container {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Mantiene un margine interno piccolo e costante */
.metis-page,
.metis-standard-page {
    padding-left: 18px !important;
    padding-right: 18px !important;
}

/* Le tabelle e le card operative sfruttano la larghezza disponibile */
.metis-page .card,
.metis-standard-page .card,
.metis-page .table-responsive,
.metis-standard-page .table-responsive,
.metis-page table,
.metis-standard-page table {
    max-width: none !important;
}

/* Evita che blocchi principali con mx-auto restino centrati */
.metis-page .mx-auto,
.metis-standard-page .mx-auto {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Su schermi piccoli riduce solo il margine, non ricentra */
@media (max-width: 991.98px) {
    .metis-page,
    .metis-standard-page {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}

/* METIS-041-LAYOUT-CONTENUTO-END */