/* Colori condivisi, calcolati dalle due scelte dell'amministratore. */
body.clinicagest-shell { --shell-primary:var(--ui-primary-ink, #01445a); }
body.clinicagest-shell .sidebar-navigation { background:var(--ui-primary); border-color:var(--ui-primary-border); }
body.clinicagest-shell .sidebar-navigation .user-details { background:var(--ui-primary-hover); border-color:var(--ui-primary-border); }
body.clinicagest-shell .sidebar-navigation .user-details img { border-color:var(--ui-secondary); }
body.clinicagest-shell .sidebar-navigation .user-info a,
body.clinicagest-shell #side-menu > li > a { color:var(--ui-on-primary); }
body.clinicagest-shell .sidebar-navigation .user-info p,
body.clinicagest-shell .shell-navigation-label,
body.clinicagest-shell #side-menu .nav-second-level > li > a,
body.clinicagest-shell #side-menu .arrow,
body.clinicagest-shell #side-menu > li > a i:not(.arrow),
body.clinicagest-shell .shell-sidebar-footer,
body.clinicagest-shell .shell-sidebar-footer strong { color:var(--ui-primary-muted) !important; }
body.clinicagest-shell #side-menu > li > a:hover,
body.clinicagest-shell #side-menu > li > a:focus,
body.clinicagest-shell #side-menu > li.active > a,
body.clinicagest-shell #side-menu > li > a.active,
body.clinicagest-shell #side-menu .nav-second-level > li > a:hover { background:var(--ui-primary-hover); color:var(--ui-on-primary); }
body.clinicagest-shell #side-menu .nav-second-level,
body.clinicagest-shell .shell-sidebar-footer { border-color:var(--ui-primary-border); }
body.clinicagest-shell #side-menu .nav-second-level > li > a.active,
body.clinicagest-shell #side-menu .nav-second-level > li > a[aria-current=page],
body.clinicagest-shell #side-menu > li > a[aria-current=page] { background:var(--ui-secondary); color:var(--ui-on-secondary) !important; box-shadow:inset 3px 0 var(--ui-on-secondary); }
body.clinicagest-shell #side-menu > li > a[aria-current=page] i:not(.arrow) { color:var(--ui-on-secondary) !important; }
body.clinicagest-shell .sidebar-navigation .btn-mobile-view { background:var(--ui-primary-hover); color:var(--ui-on-primary); }
body.clinicagest-shell .topbar a.menu-right-item,
body.clinicagest-shell .button-menu-mobile,
body.clinicagest-shell .topbar .notifi-title,
body.clinicagest-shell .topbar .dropdown-menu > li > a:hover { background:var(--ui-soft); border-color:var(--ui-border); color:var(--ui-primary-ink) !important; }
body.clinicagest-shell .topbar a.menu-right-item:hover,
body.clinicagest-shell .topbar .open > a.menu-right-item { background:var(--ui-border) !important; border-color:var(--ui-border); }
/* Anche i modali spostati sotto body e i vecchi comandi usano il tema. */
body.clinicagest-shell :is(.btn-primary, .btn-menu-modal-cod, .btn-salva-custom, .btn-custom-blue, .btn-center-rounded, .btn-vista-calendario, .fc-button-primary) {
    background:var(--ui-secondary) !important; border-color:var(--ui-secondary) !important; color:var(--ui-on-secondary) !important;
}
body.clinicagest-shell :is(.btn-primary, .btn-menu-modal-cod, .btn-salva-custom, .btn-custom-blue, .btn-center-rounded, .btn-vista-calendario, .fc-button-primary):is(:hover, :focus, :active, .active),
body.clinicagest-shell .open > .btn-primary.dropdown-toggle {
    background:var(--ui-secondary-hover) !important; border-color:var(--ui-secondary-hover) !important; color:var(--ui-on-secondary) !important; box-shadow:0 3px 10px var(--ui-border) !important;
}
body.clinicagest-shell :is(.btn-secondary, .btn-default, .btn-light, .btn-outline-primary, .btn-outline-secondary, .btn-outline-dark) {
    background:var(--ui-soft) !important; border-color:var(--ui-border) !important; color:var(--ui-primary-ink) !important;
}
body.clinicagest-shell :is(.btn-secondary, .btn-default, .btn-light, .btn-outline-primary, .btn-outline-secondary, .btn-outline-dark):is(:hover, :focus, :active, .active),
body.clinicagest-shell .open > :is(.btn-default, .btn-secondary).dropdown-toggle {
    background:var(--ui-primary) !important; border-color:var(--ui-primary) !important; color:var(--ui-on-primary) !important;
}
body.clinicagest-shell :is(.btn-dark, .btn-info) {
    background:var(--ui-primary) !important; border-color:var(--ui-primary) !important; color:var(--ui-on-primary) !important;
}
body.clinicagest-shell :is(.btn-dark, .btn-info):is(:hover, :focus, :active, .active) {
    background:var(--ui-primary-hover) !important; border-color:var(--ui-primary-hover) !important; color:var(--ui-on-primary) !important;
}
body.clinicagest-shell .btn-link { color:var(--ui-primary-ink) !important; }
body.clinicagest-shell .fc-button { background:var(--ui-soft) !important; border-color:var(--ui-border) !important; color:var(--ui-primary-ink) !important; }
body.clinicagest-shell .fc-button:is(:hover, :focus, :active, .fc-button-active, .fc-state-active) { background:var(--ui-secondary) !important; border-color:var(--ui-secondary) !important; color:var(--ui-on-secondary) !important; }
body.clinicagest-shell :is(.btn, .fc-button-primary):is(:disabled, .disabled, [aria-disabled=true]) {
    opacity:0.55; transform:none !important; box-shadow:none !important;
}
body.clinicagest-shell :is(.btn, .fc-button-primary):focus-visible {
    outline:2px solid var(--ui-primary-ink) !important; outline-offset:3px;
}
/* Il vecchio pulsante elimina era blu: resta riconoscibile come azione distruttiva. */
body.clinicagest-shell .btn-elimina-custom { background:var(--ui-danger, #e5484d) !important; border-color:var(--ui-danger, #e5484d) !important; color:#fff !important; }
body.clinicagest-shell .btn-elimina-custom:is(:hover, :focus, :active) { background:var(--ui-danger-dark, #c9363b) !important; border-color:var(--ui-danger-dark, #c9363b) !important; }
body.clinicagest-shell .pagination > li > :is(a, span) { color:var(--ui-primary-ink); border-color:var(--ui-border); }
body.clinicagest-shell .pagination > li > a:is(:hover, :focus) { background:var(--ui-soft); color:var(--ui-primary-ink); }
body.clinicagest-shell .pagination > .active > :is(a, span),
body.clinicagest-shell .assistiti-area .pagination > .active > :is(a, span) { background:var(--ui-secondary) !important; border-color:var(--ui-secondary) !important; color:var(--ui-on-secondary) !important; }
body.clinicagest-shell .clinicagest-home .widget-inline-box h3 { color:var(--ui-primary-ink); }
body.clinicagest-shell .clinicagest-home .widget-inline { border-top:3px solid var(--ui-secondary); }
body.clinicagest-shell .clinicagest-home .rounded-circle { border-radius:50% !important; }
body.clinicagest-shell .clinicagest-home .clickable-panel > .panel-heading { background:var(--ui-primary) !important; color:var(--ui-on-primary) !important; }
body.clinicagest-shell .clinicagest-home #refertoModal .modal-header :is(.modal-title, .close) { color:var(--ui-on-primary) !important; }
body.clinicagest-shell .btn > a { color:inherit !important; }
body.clinicagest-shell .assistiti-area { --clinica-primary:var(--ui-primary); --clinica-soft:var(--ui-soft); --clinica-border:var(--ui-border); }
body.clinicagest-shell .assistiti-area .assistiti-page-header { border-bottom-color:var(--ui-secondary); }
body.clinicagest-shell .assistiti-area .assistiti-page-header > div > .assistiti-title,
body.clinicagest-shell .assistiti-area .modal-title { color:var(--ui-on-primary); }
body.clinicagest-shell .assistiti-area .assistiti-page-header > div > .assistiti-eyebrow,
body.clinicagest-shell .assistiti-area .assistiti-page-header > div > .assistiti-subtitle,
body.clinicagest-shell .assistiti-area .modal-header .assistiti-subtitle { color:var(--ui-primary-muted); }
body.clinicagest-shell .assistiti-area .assistiti-page-header .assistiti-summary span { background:var(--ui-primary-hover); color:var(--ui-on-primary); }
body.clinicagest-shell .assistiti-area .modal-header { border-bottom-color:var(--ui-secondary); }
body.clinicagest-shell .assistiti-area .modal-header .close { color:var(--ui-on-primary); }
body.clinicagest-shell .assistiti-area .assistiti-title,
body.clinicagest-shell .assistiti-area .assistiti-search > span,
body.clinicagest-shell .assistiti-area .assistito-link,
body.clinicagest-shell .assistiti-area .assistiti-eyebrow,
body.clinicagest-shell .assistiti-area .panel-title,
body.clinicagest-shell .assistiti-area .assistiti-form-section { color:var(--ui-primary-ink); }
body.clinicagest-shell .assistiti-area .btn-default,
body.clinicagest-shell .assistiti-area .btn-dark,
body.clinicagest-shell .assistiti-area .pagination > li > a { color:var(--ui-primary-ink); }
body.clinicagest-shell .assistiti-area .table > thead > tr > th { color:var(--ui-on-primary) !important; }
body.clinicagest-shell .assistiti-area .assistiti-toolbar,
body.clinicagest-shell .assistiti-area .panel > .panel-heading,
body.clinicagest-shell .assistiti-area .assistiti-swipe { background:var(--ui-soft); border-color:var(--ui-border); }
body.clinicagest-shell .assistiti-area .panel > .panel-heading { border-left-color:var(--ui-secondary); }
body.clinicagest-shell .assistiti-area .assistiti-swipe,
body.clinicagest-shell .assistiti-area .assistiti-results { color:var(--ui-primary-ink); }
body.clinicagest-shell .assistiti-area .assistiti-results { background:var(--ui-border); }
body.clinicagest-shell .assistiti-area .assistiti-card { border-color:var(--ui-border); }
body.clinicagest-shell .assistiti-area .table-striped > tbody > tr:nth-of-type(even) { background:var(--ui-soft); }
body.clinicagest-shell .assistiti-area .table > tbody > tr:hover { background:var(--ui-border); }
body.clinicagest-shell .assistiti-area .nav-tabs > li.active > a { background:var(--ui-secondary) !important; color:var(--ui-on-secondary) !important; box-shadow:inset 0 -3px var(--ui-primary-ink); }
body.clinicagest-shell .assistiti-area .assistiti-header-action > p > .btn-menu-modal-cod,
body.clinicagest-shell .assistiti-area .assistiti-page-header > .assistiti-back { background:var(--ui-secondary) !important; border-color:var(--ui-secondary) !important; color:var(--ui-on-secondary) !important; }
body.clinicagest-shell .assistiti-area .assistiti-header-action > p > .btn-menu-modal-cod:hover,
body.clinicagest-shell .assistiti-area .assistiti-page-header > .assistiti-back:hover { background:var(--ui-secondary-hover) !important; border-color:var(--ui-secondary-hover) !important; }
body.clinicagest-shell .assistiti-area .pagination > .active > a { background:var(--ui-secondary); border-color:var(--ui-secondary); color:var(--ui-on-secondary); }
body.clinicagest-shell .assistiti-area .select2-container--default .select2-results__option--highlighted[aria-selected] { background:var(--ui-secondary) !important; color:var(--ui-on-secondary); }
body.clinicagest-shell .appuntamento-scheda .scheda-titolo,
body.clinicagest-shell .appuntamento-scheda .list-group-item strong { color:var(--ui-primary-ink); }
body.clinicagest-shell .appuntamento-scheda > .nav-tabs > li.active > a { background:var(--ui-secondary); color:var(--ui-on-secondary); box-shadow:inset 0 -3px var(--ui-primary-ink); }
body.clinicagest-shell .appuntamento-scheda .scheda-stato:not(.scheda-stato-annullato) { background:var(--ui-soft); color:var(--ui-primary-ink); }
body.clinicagest-shell :focus-visible { outline-color:var(--ui-primary-ink) !important; }

.tema-area { max-width:1120px; margin:auto; }
.tema-area h1 { color:var(--ui-primary-ink); font-size:28px; margin:0 0 10px; }
.tema-intro { color:#637983; margin-bottom:26px; }
.tema-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.tema-card { background:#fff; border:1px solid var(--ui-border); border-radius:14px; padding:24px; }
.tema-card h2 { font-size:18px; color:var(--ui-primary-ink); margin:0 0 22px; }
.tema-field { margin-bottom:24px; }
.tema-field > label { display:block; margin-bottom:8px; color:#2e4c59; }
.tema-inputs { display:flex; gap:12px; align-items:center; }
.tema-inputs input[type=color] { width:64px; height:46px; padding:3px; border:1px solid #cddde3; border-radius:8px; background:#fff; cursor:pointer; }
.tema-inputs input[type=text] { width:145px; padding:11px 12px; border:1px solid #cddde3; border-radius:8px; font-family:monospace; text-transform:uppercase; }
.tema-field small { display:block; color:#647983; line-height:1.6; margin-top:8px; }
.tema-actions { display:flex; flex-wrap:wrap; gap:10px; }
.tema-message { padding:14px 18px; border-radius:10px; margin:0 0 20px; }
.tema-message-success { background:#e8f5ed; color:#216547; }
.tema-message-error { background:#fff0f2; color:#a23145; }
.tema-preview { border:1px solid #dce7ec; border-radius:12px; overflow:hidden; }
.tema-preview-header { padding:20px; background:var(--preview-primary); color:var(--preview-on-primary); font-size:16px; font-weight:600; }
.tema-preview-content { padding:22px; background:#f6f9fb; }
.tema-preview-selected { padding:11px 14px; margin-bottom:22px; border-radius:8px; background:var(--preview-secondary); color:var(--preview-on-secondary); }
.tema-preview-button { display:inline-block; padding:11px 18px; border:0; border-radius:8px; background:var(--preview-secondary); color:var(--preview-on-secondary); font-weight:600; }
.tema-preview-note { color:#647983; margin:16px 0 0; font-size:12px; line-height:1.6; }
@media(max-width:767px) { .tema-grid { grid-template-columns:1fr; } .tema-card { padding:18px; } }
