/* =============================================================
   Tema Netrix per la piattaforma Lavins (17/9/2026)
   Minimalista: Inter per il testo, Instrument Serif per i titoli,
   antracite su bianco, bordi sottili, angoli 6px, niente ombre,
   pulsanti piatti. Il verde Lavins resta solo come richiamo del cliente.
   Caricato dopo style.css: ridefinisce variabili e componenti.
   ============================================================= */
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/InstrumentSerif-400-italic-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Instrument Serif'; font-style: italic; font-weight: 400; font-display: swap; src: url('../fonts/InstrumentSerif-400-italic-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/InstrumentSerif-400-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Instrument Serif'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/InstrumentSerif-400-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Inter-400-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/Inter-400-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/Inter-500-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/Inter-500-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Inter-600-normal-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/Inter-600-normal-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
    --black: #1a2428;
    --nx-ink: #1a2428;
    --nx-ink-70: rgba(26, 36, 40, .70);
    --nx-ink-55: rgba(26, 36, 40, .55);
    --nx-line: rgba(26, 36, 40, .12);
    --nx-line-strong: rgba(26, 36, 40, .20);
    --nx-surface: #f7f8f8;
    --nx-accent: #2a5b6e;
    --primary: #5e9a2f;          /* verde Lavins, solo richiami */
    --primary-dark: #4c7f25;
    --primary-bg: #eef5e6;
    --ws: #2a5b6e;               /* dati letti da WebSarp */
    --ambra: #9a6a12;
    --red: #b3261e;
    --radius: 6px;
    --shadow: none;
    --shadow-lg: none;
    --gray-100: #f7f8f8;
    --gray-200: rgba(26, 36, 40, .08);
    --gray-300: rgba(26, 36, 40, .16);
}

/* ─── Base ─────────────────────────────── */
body { font-family: 'Inter', system-ui, sans-serif; font-size: 14px; line-height: 1.55; color: var(--nx-ink); background: var(--nx-surface); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { color: var(--nx-ink); }
a { color: var(--nx-ink); text-decoration: underline; text-decoration-color: var(--nx-line-strong); text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--nx-ink); }
.page-title { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 2rem; line-height: 1.15; letter-spacing: -.01em; margin-bottom: 1.25rem; }
.page-title .muted { font-family: 'Inter', sans-serif; font-size: .82rem !important; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-ink-55); margin-left: .5rem; }
.muted, .empty-state { color: var(--nx-ink-55); }
.main-content { padding: 2rem 2rem 3rem; }

/* ─── Barra superiore ───────────────────── */
.topbar { background: #fff; border-bottom: 1px solid var(--nx-line); box-shadow: none; height: 60px; }
.topbar-brand, .topbar-brand span { color: var(--nx-ink); }
.topnav-item, .topnav-trigger { color: var(--nx-ink-70); font-size: .86rem; font-weight: 500; background: none; border-radius: var(--radius); }
.topnav-item:hover, .topnav-trigger:hover { color: var(--nx-ink); background: var(--nx-surface); }
.topnav-item.active { color: var(--nx-ink); background: none; box-shadow: inset 0 -2px 0 var(--primary); border-radius: 0; }
.topnav-menu { background: #fff; border: 1px solid var(--nx-line); border-radius: var(--radius); box-shadow: 0 8px 24px rgba(26, 36, 40, .06); padding: .35rem; }
.topnav-menu a { color: var(--nx-ink); text-decoration: none; border-radius: 4px; font-size: .86rem; }
.topnav-menu a:hover { background: var(--nx-surface); color: var(--nx-ink); }
.topnav-menu a.active { background: var(--primary-bg); color: var(--nx-ink); }
.topnav-gear { color: var(--nx-ink-70); background: none; border: 1px solid var(--nx-line); }
.topnav-gear:hover { color: var(--nx-ink); background: var(--nx-surface); }
.topbar-user { color: var(--nx-ink-70); }
.topbar-logout { color: var(--nx-ink); border: 1px solid var(--nx-line); background: #fff; text-decoration: none; }
.topbar-logout:hover { background: var(--nx-surface); color: var(--nx-ink); }

/* ─── Pulsanti piatti ───────────────────── */
.btn { font-family: inherit; font-size: .84rem; font-weight: 500; line-height: 1; height: 38px; padding: 0 1rem; border-radius: var(--radius); border: 1px solid transparent; box-shadow: none; transform: none; display: inline-flex; align-items: center; justify-content: center; gap: .4rem; text-decoration: none; white-space: nowrap; transition: background-color .15s, border-color .15s, color .15s; }
.btn:hover { transform: none; box-shadow: none; text-decoration: none; }
.btn:focus-visible { outline: 2px solid var(--nx-accent); outline-offset: 2px; }
.btn-primary { background: var(--nx-ink); border-color: var(--nx-ink); color: #fff; }
.btn-primary:hover { background: #2c3a40; border-color: #2c3a40; color: #fff; }
.btn-outline { background: #fff; border-color: var(--nx-line-strong); color: var(--nx-ink); }
.btn-outline:hover { background: var(--nx-surface); border-color: var(--nx-ink-55); color: var(--nx-ink); }
.btn-danger { background: #fff; border-color: rgba(179, 38, 30, .35); color: var(--red); }
.btn-danger:hover { background: #fbeeed; color: var(--red); }
.btn-sm, .btn-small { height: 30px !important; padding: 0 .7rem !important; font-size: .78rem !important; }
button.btn:disabled { opacity: .5; cursor: wait; }

/* ─── Campi ─────────────────────────────── */
.form-group label, .login-form label { font-size: .76rem; font-weight: 500; color: var(--nx-ink-70); text-transform: none; letter-spacing: 0; }
.form-group input, .form-group select, .form-group textarea, .login-form input,
.campo input, .campo select, .campo textarea { height: 38px; border: 1px solid var(--nx-line-strong); border-radius: var(--radius); background: #fff; font-family: inherit; font-size: .88rem; color: var(--nx-ink); box-shadow: none; }
.form-group textarea, .campo textarea { height: auto; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus, .login-form input:focus,
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; border-color: var(--nx-ink); box-shadow: 0 0 0 3px rgba(26, 36, 40, .08); }
.campo > span:first-child { font-size: .76rem; color: var(--nx-ink-70); }
.zona-file { border-color: var(--nx-line-strong); color: var(--nx-ink-55); }
.zona-file b { color: var(--nx-ink); text-decoration: underline; text-decoration-color: var(--nx-line-strong); text-underline-offset: 3px; }
.campo-file:hover .zona-file, .campo-file:focus-within .zona-file { border-color: var(--nx-ink); background: #fff; }

/* Barre filtro: campi e pulsanti sulla stessa riga di base */
form[method="get"] { align-items: flex-end !important; }
form[method="get"] .form-group { margin-bottom: 0 !important; }
form[method="get"] .form-group label { margin-bottom: .3rem; }

/* ─── Pannelli ──────────────────────────── */
.card, .form-card, .kpi-card, .tabs-panel, .entity-card, .table-container, .login-card { background: #fff; border: 1px solid var(--nx-line); border-radius: var(--radius); box-shadow: none; }
.pannello-form, .inline-add { background: var(--nx-surface); border: 1px solid var(--nx-line); border-radius: var(--radius); }
.pannello-form h4 { font-family: 'Inter', sans-serif; font-size: .72rem !important; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--nx-ink-70); }

/* KPI */
.kpi-grid { gap: 1rem; }
.kpi-card { padding: 1.1rem 1.2rem; text-decoration: none; color: var(--nx-ink); transition: border-color .15s; }
.kpi-card:hover { border-color: var(--nx-ink-55); transform: none; box-shadow: none; text-decoration: none; }
.kpi-value { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 2.2rem; line-height: 1.1; color: var(--nx-ink); }
.kpi-label { font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--nx-ink-55); }

/* ─── Tabelle ───────────────────────────── */
.table-container { overflow-x: auto; }
.data-table th { background: #fff; color: var(--nx-ink-55); font-size: .68rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; padding: .8rem .9rem; border-bottom: 1px solid var(--nx-line-strong); text-align: left; }
.data-table td { padding: .75rem .9rem; border-bottom: 1px solid var(--nx-line); font-size: .86rem; color: var(--nx-ink); vertical-align: middle; }
.data-table th:last-child, .data-table td:last-child { text-align: left; }
.data-table tbody tr:hover { background: var(--nx-surface); }
.data-table tbody tr:last-child td { border-bottom: none; }
.data-table td a { color: var(--nx-ink); }
.data-table th.ws-col { box-shadow: inset 0 -2px 0 var(--ws); }
.th-ordina { color: inherit; text-decoration: none; }
.tab-pane .data-table { border: 1px solid var(--nx-line); border-radius: var(--radius); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.data-table td form, .azione-riga { margin: 0; display: inline; }

/* ─── Badge piatti ──────────────────────── */
.badge { border-radius: 4px; font-size: .7rem; font-weight: 500; padding: .15rem .5rem; letter-spacing: .02em; }
.badge-stato-aperta, .badge-stato-bozza, .badge-stato-contattato { background: var(--nx-surface); color: var(--nx-ink-70); border: 1px solid var(--nx-line); }
.badge-stato-in_corso, .badge-stato-confermato, .badge-stato-vinto { background: var(--primary-bg); color: var(--primary-dark); }
.badge-stato-sospesa, .badge-stato-in_trattativa { background: #f6efe1; color: var(--ambra); }
.badge-stato-chiusa, .badge-stato-fatturato { background: var(--nx-ink); color: #fff; }
.badge-stato-evaso, .badge-stato-nuovo { background: #e8f0f3; color: var(--nx-accent); }
.badge-stato-annullato, .badge-stato-perso { background: #fbeeed; color: var(--red); }

/* ─── Schede con dettaglio ───────────────── */
.entity-layout { grid-template-columns: 340px 1fr; gap: 1.5rem; }
.entity-card-header { background: #fff; color: var(--nx-ink); padding: 1.2rem 1.25rem .9rem; border-bottom: 1px solid var(--nx-line); }
.entity-card-header h2 { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 1.5rem; line-height: 1.15; color: var(--nx-ink); margin: 0 0 .35rem; }
.entity-card-body { padding: .6rem 1.25rem 1.25rem; }
.entity-actions { background: #fff; border-top: 1px solid var(--nx-line); padding: 1rem 1.25rem; }
.info-row { border-bottom: 1px solid var(--nx-line); padding: .5rem 0; font-size: .86rem; }
.info-lbl { color: var(--nx-ink-55); font-size: .66rem; letter-spacing: .09em; min-width: 104px; }
.entity-back { color: var(--nx-ink-70); font-size: .8rem; text-decoration: none; letter-spacing: .02em; }
.entity-back:hover { color: var(--nx-ink); text-decoration: underline; }

/* Tab su fondo chiaro */
.tabs-header { background: #fff; border-bottom: 1px solid var(--nx-line); padding: 0 .5rem; }
.tab-btn { color: var(--nx-ink-55); font-family: inherit; font-size: .84rem; font-weight: 500; padding: .95rem .85rem; border-bottom: 2px solid transparent; background: none; }
.tab-btn:hover { color: var(--nx-ink); background: none; }
.tab-btn.active { color: var(--nx-ink); font-weight: 600; border-bottom-color: var(--primary); background: none; }
.tab-n { background: var(--nx-surface); color: var(--nx-ink-70); border: 1px solid var(--nx-line); font-weight: 500; }
.tab-btn.active .tab-n { background: var(--nx-ink); color: #fff; border-color: var(--nx-ink); }
.tab-pane { padding: 1.5rem; }
.tab-pane h4 { font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--nx-ink-55); font-weight: 600; margin: 1.5rem 0 .6rem; }
.tab-pane h4:first-child { margin-top: 0; }

/* Messaggi */
.flash, .alert { border-radius: var(--radius); font-size: .85rem; }
.flash-ok, .alert-success { background: var(--primary-bg); color: var(--primary-dark); border: 1px solid rgba(94, 154, 47, .25); }
.flash-error, .alert-error { background: #fbeeed; color: var(--red); border: 1px solid rgba(179, 38, 30, .2); }

/* Elenchi soci e cantieri */
.socio-nome { font-weight: 500; font-size: .9rem; text-decoration: none; }
.socio-sotto { color: var(--nx-ink-55); font-size: .76rem; }
.solo-piattaforma { color: var(--ambra); }
.scad-passata { color: var(--red); font-weight: 600; }
.scad-vicina { color: var(--ambra); font-weight: 600; }
.soci-completare { background: #fff; border: 1px solid var(--nx-line); border-left: 3px solid var(--ambra); border-radius: var(--radius); }
.soci-completare h2 { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 1.3rem; }
.ws-legenda { color: var(--nx-ink-70); }

/* Login */
.login-page { background: var(--nx-surface); }
.login-logo-area { background: #fff; border-bottom: 1px solid var(--nx-line); }
.login-logo-area h1 { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; color: var(--nx-ink); font-size: 2rem; }
.login-logo-area p { color: var(--nx-ink-55); letter-spacing: .08em; text-transform: uppercase; font-size: .72rem; }

/* Commesse: blocchi attività e riepilogo */
.att-block, .cs-box { border: 1px solid var(--nx-line); border-radius: var(--radius); box-shadow: none; }
.att-head { background: var(--nx-surface); border-bottom: 1px solid var(--nx-line); }
.cs-box { background: #fff; }
.att-sotto { border-radius: 4px; }

@media (max-width: 900px) {
    .entity-layout { grid-template-columns: 1fr; }
    .page-title { font-size: 1.6rem; }
    .main-content { padding: 1.25rem 1rem 2rem; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Ritocchi dopo la prima verifica */
.entity-card-header h2 { font-family: 'Inter', system-ui, sans-serif; font-weight: 600; font-size: 1.05rem; letter-spacing: .01em; line-height: 1.35; }
.main-content > h2, .main-content > section > h2 { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400 !important; font-size: 1.45rem !important; }
.soci-completare h2 span { font-family: 'Inter', system-ui, sans-serif; color: var(--nx-ink-55); }
.data-table .ws-val, .data-table td.ws-val, .data-table a.ws-val, .info-val.ws-val, a.ws-val { color: var(--ws); }
.campo > .btn { align-self: flex-start; }
.info-val a { color: var(--nx-ink); }
.riga-titolo { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.riga-titolo p { margin: 0; }
.riga-titolo form { margin: 0; }
.stato { display: inline-block; font-size: .74rem; font-weight: 500; padding: .12rem .5rem; border-radius: 4px; border: 1px solid var(--nx-line); }
.stato-ok { color: var(--ws); background: #e8f0f3; border-color: transparent; }
.stato-no { color: var(--ambra); background: #f6efe1; border-color: transparent; }
.stato-attesa { color: var(--nx-ink-55); background: #fff; }

/* Colonna sinistra delle schede e barra dei tab nei colori Lavins (richiesta Marco 17/9/2026) */
:root { --lavins: #6aa33a; --lavins-scuro: #4f7f28; --lavins-tenue: #eef4e6; --lavins-bordo: #d5e4c3; }
.entity-card { background: var(--lavins-tenue); border-color: var(--lavins-bordo); }
.entity-card-header { background: var(--lavins-tenue); border-bottom-color: var(--lavins-bordo); }
.entity-card .info-row { border-bottom-color: var(--lavins-bordo); }
.entity-card .info-lbl { color: #5b6b50; }
.entity-actions { background: var(--lavins-tenue); border-top-color: var(--lavins-bordo); }
.entity-card .campo > span:first-child { color: #4d5c43; }
.tabs-header { background: var(--lavins); border-bottom: none; padding: 0 .5rem; }
.tab-btn { color: rgba(255, 255, 255, .78); }
.tab-btn:hover { color: #fff; }
.tab-btn.active { color: #fff; border-bottom: 3px solid #fff; }
.tab-n { background: rgba(255, 255, 255, .18); color: #fff; border-color: transparent; }
.tab-btn.active .tab-n { background: #fff; color: var(--lavins-scuro); border-color: #fff; }
.tabs-panel { border-color: var(--lavins-bordo); overflow: hidden; }

/* Risorse Umane */
.riepilogo-stati { display: flex; flex-wrap: wrap; gap: .6rem; margin-bottom: 1.25rem; }
.riepilogo-stato { display: flex; align-items: center; gap: .6rem; padding: .55rem .8rem; background: #fff; border: 1px solid var(--nx-line); border-radius: var(--radius); text-decoration: none; color: var(--nx-ink); }
.riepilogo-stato strong { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-size: 1.5rem; line-height: 1; }
.riepilogo-stato:hover, .riepilogo-stato.attivo { border-color: var(--nx-ink); }
.stato-scaduta { color: #fff; background: var(--red); border-color: transparent; }
.stato-dafare { color: var(--red); background: #fbeeed; border-color: transparent; }
.riga-gruppo td { background: var(--nx-surface) !important; font-size: .68rem; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; color: var(--nx-ink-55); }
.sel-livello { height: 32px; padding: 0 .4rem; border: 1px solid var(--nx-line-strong); border-radius: 4px; font: inherit; font-size: .78rem; background: #fff; color: var(--nx-ink); }
.sel-livello.liv-obbligatorio { background: var(--lavins-tenue); border-color: var(--lavins); color: var(--lavins-scuro); font-weight: 600; }
.sel-livello.liv-se_previsto { background: #e8f0f3; border-color: transparent; color: var(--nx-accent); }
.sel-livello.liv-non_serve { color: var(--nx-ink-55); }

/* Requisiti: una sola tabella senza scorrimento */
.data-table.tabella-requisiti { table-layout: fixed; width: 100%; background: #fff; border: 1px solid var(--nx-line); border-radius: var(--radius); border-collapse: separate; border-spacing: 0; }
.tabella-requisiti col.col-voce { width: 170px; }
.tabella-requisiti col.col-num { width: 74px; }
.tabella-requisiti th { white-space: normal; line-height: 1.25; padding: .55rem .35rem; font-size: .62rem; letter-spacing: .05em; vertical-align: bottom; overflow-wrap: anywhere; hyphens: auto; }
.tabella-requisiti td { padding: .2rem .35rem; }
.tabella-requisiti td.nome-voce { font-weight: 500; font-size: .82rem; padding-left: .7rem; }
.tabella-requisiti th:first-child { padding-left: .7rem; }
.tabella-requisiti .sel-livello { width: 100%; height: 26px; font-size: .72rem; padding: 0 .2rem; }
.tabella-requisiti .inp-giorni { width: 100%; height: 26px; padding: 0 .35rem; border: 1px solid var(--nx-line-strong); border-radius: 4px; font: inherit; font-size: .78rem; }
.tabella-requisiti .riga-gruppo td { padding: .35rem .7rem; }

.tabella-requisiti .elimina-voce { float: right; border: 0; background: none; color: var(--nx-ink-70); cursor: pointer; font-size: 1rem; line-height: 1; padding: 0 .2rem; visibility: hidden; }
.tabella-requisiti tr:hover .elimina-voce, .tabella-requisiti .elimina-voce:focus { visibility: visible; }
.tabella-requisiti .elimina-voce:hover { color: #b3261e; }

/* Piano visite e corsi per la tipologia del socio */
.piano-voci { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .35rem 1.25rem; margin: .5rem 0 .75rem; }
.piano-voci .check-campo { display: flex; align-items: flex-start; height: auto; }
.piano-voci small { display: block; font-size: .75rem; }
.piano-voci input:disabled + span { opacity: .6; }
