:root {
  --bg: #f3f7f7;
  --surface: #ffffff;
  --surface-2: #eef6f5;
  --text: #16302e;
  --muted: #637a77;
  --line: #dbe8e6;
  --primary: #0f766e;
  --primary-dark: #0b5f59;
  --primary-soft: #dff4f1;
  --warning: #b45309;
  --danger: #b42318;
  --success: #19713f;
  --shadow: 0 16px 40px rgba(16, 54, 50, .10);
  --radius: 18px;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; font-family: Inter, Segoe UI, Arial, sans-serif; color: var(--text); background: var(--bg); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.hidden { display: none !important; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 290px 1fr; }
.sidebar { background: #0b4f4a; color: #fff; padding: 24px 20px; display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; z-index: 20; }
.brand { display: flex; gap: 12px; align-items: center; margin-bottom: 28px; }
.brand-mark { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; font-size: 28px; font-weight: 700; background: #fff; color: var(--primary); }
.brand strong { display: block; font-size: 17px; }
.brand span { display: block; margin-top: 3px; font-size: 12px; color: #cde4e1; }
.profile-switcher { padding: 16px; border-radius: 16px; background: rgba(255,255,255,.08); margin-bottom: 18px; }
.profile-switcher label { display: block; margin-bottom: 7px; font-size: 12px; color: #d4e9e6; }
.profile-switcher select { width: 100%; border: 0; border-radius: 10px; padding: 10px; margin-bottom: 10px; color: var(--text); background: #fff; }
.nav { display: grid; gap: 5px; }
#mainNav { flex: 1; min-height: 0; overflow-y: auto; overflow-x: hidden; scrollbar-gutter: stable; padding-right: 4px; }
#mainNav::-webkit-scrollbar,.monitor-nav::-webkit-scrollbar{width:8px}
#mainNav::-webkit-scrollbar-thumb,.monitor-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.24);border-radius:999px}
#mainNav::-webkit-scrollbar-track,.monitor-nav::-webkit-scrollbar-track{background:transparent}
.nav-item { border: 0; text-align: left; padding: 9px 13px; border-radius: 11px; color: #d9ece9; background: transparent; }
.nav-item:hover, .nav-item.active { background: rgba(255,255,255,.13); color: #fff; }
.sidebar-footer { margin-top: auto; padding: 12px; display: flex; align-items: center; gap: 9px; font-size: 12px; color: #d4e9e6; }

.sidebar-session { padding: 0 12px 12px; }
.sidebar-logout { width: 100%; border: 0; border-top: 1px solid rgba(255,255,255,.18); background: transparent; color: #fff; padding: 12px 4px 2px; display: flex; align-items: center; gap: 9px; font: inherit; font-weight: 700; cursor: pointer; text-align: left; }
.sidebar-logout:hover, .sidebar-logout:focus-visible { color: #fff; opacity: .88; outline: none; }
.status-dot { width: 9px; height: 9px; border-radius: 50%; background: #62d49e; box-shadow: 0 0 0 4px rgba(98,212,158,.12); }
.main { min-width: 0; }
.topbar { min-height: 96px; padding: 20px 30px; display: flex; align-items: center; gap: 18px; background: rgba(255,255,255,.86); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 10; backdrop-filter: blur(16px); }
.topbar h1 { margin: 0; font-size: 25px; }
.topbar p { margin: 5px 0 0; color: var(--muted); font-size: 14px; }
.top-actions { margin-left: auto; display: flex; gap: 10px; }
.menu-btn { display: none; }
.view-container { padding: 28px 30px 44px; }
.grid { display: grid; gap: 18px; }
.grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: 0 7px 24px rgba(20,64,60,.045); }
.card h2, .card h3 { margin-top: 0; }
.card-title-row { display: flex; justify-content: space-between; gap: 15px; align-items: center; margin-bottom: 14px; }
.card-title-row h2, .card-title-row h3 { margin: 0; }
.kpi { min-height: 132px; }
.kpi-label { color: var(--muted); font-size: 13px; }
.kpi-value { margin-top: 12px; font-size: 30px; font-weight: 750; letter-spacing: -.03em; }
.kpi-note { margin-top: 8px; font-size: 12px; color: var(--muted); }
.profile-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 18px; }
.avatar { width: 72px; height: 72px; border-radius: 22px; display: grid; place-items: center; font-weight: 800; font-size: 23px; background: var(--primary-soft); color: var(--primary); }
.profile-hero h2 { margin: 0; }
.profile-hero p { margin: 5px 0 0; color: var(--muted); }
.badge { display: inline-flex; align-items: center; border-radius: 999px; padding: 5px 9px; background: var(--surface-2); color: var(--primary-dark); font-size: 12px; font-weight: 650; }
.badge.warning { background: #fff2dd; color: var(--warning); }
.badge.danger { background: #fee9e7; color: var(--danger); }
.badge.success { background: #e7f7ed; color: var(--success); }
.section-spacer { height: 18px; }
.btn { border: 1px solid transparent; border-radius: 11px; padding: 10px 14px; font-weight: 700; transition: .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { color: #fff; background: var(--primary); }
.btn-primary:hover { background: var(--primary-dark); }
.btn-light { color: var(--text); background: #fff; border-color: var(--line); }
.btn-danger { color: #fff; background: var(--danger); }
.btn-ghost { color: var(--primary); background: transparent; border-color: var(--line); }
.btn-full { width: 100%; }
.btn-small { padding: 7px 10px; font-size: 12px; }
.icon-btn { border: 0; background: transparent; width: 38px; height: 38px; border-radius: 10px; font-size: 22px; color: var(--text); }
.icon-btn:hover { background: var(--surface-2); }
.table-wrap { width: 100%; overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-size: 12px; color: var(--muted); padding: 11px 12px; border-bottom: 1px solid var(--line); white-space: nowrap; }
td { padding: 13px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
tr:last-child td { border-bottom: 0; }
.row-actions { display: flex; gap: 6px; flex-wrap: wrap; }
.timeline { position: relative; padding-left: 26px; }
.timeline::before { content: ""; position: absolute; left: 7px; top: 8px; bottom: 8px; width: 2px; background: var(--line); }
.timeline-item { position: relative; margin: 0 0 16px; padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.timeline-item::before { content: ""; position: absolute; left: -25px; top: 21px; width: 13px; height: 13px; border-radius: 50%; background: var(--primary); border: 3px solid var(--bg); }
.timeline-date { font-weight: 800; color: var(--primary); font-size: 13px; }
.timeline-item h3 { margin: 6px 0; font-size: 16px; }
.timeline-item p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.form-group { display: grid; gap: 6px; }
.form-group.full { grid-column: 1 / -1; }
.form-group label { font-size: 12px; color: var(--muted); font-weight: 700; }
.form-control { width: 100%; border: 1px solid #cbdcda; border-radius: 11px; padding: 10px 11px; background: #fff; color: var(--text); }
textarea.form-control { min-height: 92px; resize: vertical; }
.form-control:focus { outline: 3px solid rgba(15,118,110,.12); border-color: var(--primary); }
.form-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; margin-top: 7px; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(10,32,30,.46); z-index: 50; }
.modal { position: fixed; top: 4vh; left: 50%; transform: translateX(-50%); width: min(820px, calc(100% - 28px)); max-height: 92vh; overflow: auto; background: #fff; border-radius: 22px; box-shadow: var(--shadow); z-index: 60; }
.modal-header { padding: 20px 22px; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; position: sticky; top: 0; background: #fff; z-index: 1; }
.modal-header h2 { margin: 0; }
.modal-header p { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.modal-body { padding: 22px; }
.file-drop { border: 2px dashed #b7d3cf; border-radius: 16px; padding: 24px; text-align: center; background: #f8fbfb; }
.file-drop.dragover { border-color: var(--primary); background: var(--primary-soft); }
.file-list { display: grid; gap: 10px; margin-top: 14px; }
.file-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
.file-meta strong { display: block; overflow-wrap: anywhere; }
.file-meta span { color: var(--muted); font-size: 12px; }
.notice { border-left: 4px solid var(--primary); background: var(--primary-soft); padding: 13px 14px; border-radius: 9px; color: var(--primary-dark); font-size: 13px; line-height: 1.45; }
.notice.warning { border-color: var(--warning); background: #fff7e8; color: #7a4105; }
.backup-status { display: flex; gap: 12px; align-items: flex-start; }
.backup-status .status-icon { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; background: var(--primary-soft); color: var(--primary); font-weight: 800; }
.meta-list { display: grid; grid-template-columns: 170px 1fr; gap: 9px 14px; }
.meta-list dt { color: var(--muted); }
.meta-list dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.empty-state { min-height: calc(100vh - 96px); display: grid; place-items: center; align-content: center; text-align: center; padding: 40px; }
.empty-state p { max-width: 520px; color: var(--muted); }
.empty-icon { width: 74px; height: 74px; border-radius: 22px; display: grid; place-items: center; background: var(--primary-soft); color: var(--primary); font-size: 36px; font-weight: 700; }
.toast { position: fixed; right: 24px; bottom: 24px; max-width: 420px; padding: 13px 16px; color: #fff; background: #173d39; border-radius: 12px; box-shadow: var(--shadow); z-index: 100; }
.list-stack { display: grid; gap: 10px; }
.list-item { border: 1px solid var(--line); border-radius: 14px; padding: 14px; background: #fff; display: flex; gap: 14px; justify-content: space-between; align-items: flex-start; }
.list-item h3 { margin: 0 0 5px; font-size: 15px; }
.list-item p { margin: 0; color: var(--muted); font-size: 13px; }
.search-row { display: flex; gap: 10px; margin-bottom: 14px; }
.search-row .form-control { flex: 1; }
.progress { height: 8px; background: #dce9e7; border-radius: 999px; overflow: hidden; }
.progress > span { display: block; height: 100%; width: 0; background: var(--primary); transition: width .2s; }
.print-root { display: none; }
@media (max-width: 1080px) {
  .grid-4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .grid-3 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 820px) {
  .app-shell { display: block; }
  .sidebar { position: fixed; left: -310px; transition: left .2s ease; width: 290px; }
  .sidebar.open { left: 0; }
  .menu-btn { display: inline-grid; place-items: center; }
  .topbar { padding: 14px 16px; flex-wrap: wrap; }
  .top-actions { width: 100%; margin: 0; }
  .top-actions .btn { flex: 1; }
  .view-container { padding: 18px 16px 36px; }
  .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .profile-hero { grid-template-columns: auto 1fr; }
  .profile-hero > .btn { grid-column: 1 / -1; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full, .form-actions { grid-column: 1; }
  .meta-list { grid-template-columns: 1fr; }
}
@media print {
  body > *:not(#printRoot) { display: none !important; }
  #printRoot { display: block !important; color: #111; background: #fff; font-family: Arial, sans-serif; }
  .print-page { page-break-after: always; padding: 8mm 10mm; }
  .print-page:last-child { page-break-after: auto; }
  .print-cover { min-height: 255mm; display: flex; flex-direction: column; justify-content: center; text-align: center; }
  .print-cover h1 { font-size: 30pt; margin: 0 0 10mm; }
  .print-cover h2 { font-size: 19pt; margin: 0 0 5mm; }
  .print-section h2 { border-bottom: 2px solid var(--primary); padding-bottom: 3mm; }
  .print-table { width: 100%; border-collapse: collapse; font-size: 9.5pt; }
  .print-table th, .print-table td { border: 1px solid #bbb; padding: 2.5mm; vertical-align: top; }
  .print-event { margin: 0 0 5mm; padding-bottom: 4mm; border-bottom: 1px solid #ddd; }
  .print-event h3 { margin: 1mm 0; }
  @page { size: A4; margin: 12mm; }
}

/* V2 OCR */
.modal:has(.import-workspace) { width: min(1180px, calc(100% - 28px)); }
.import-workspace { display: grid; gap: 16px; }
.ocr-health { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 12px 14px; border: 1px solid var(--line); border-radius: 13px; background: #f8fbfb; }
.ocr-health span { color: var(--muted); font-size: 12px; text-align: right; }
.ocr-health.ok { border-color: #bfe5cd; background: #f0fbf4; }
.ocr-health.error { border-color: #f1c2bd; background: #fff5f4; }
.import-queue { display: grid; gap: 14px; }
.import-card { border: 1px solid var(--line); border-radius: 17px; padding: 16px; background: #fff; display: grid; gap: 13px; }
.import-card.success { border-color: #b7dfc6; box-shadow: inset 4px 0 #2a8a51; }
.import-card.warning { border-color: #efd19e; box-shadow: inset 4px 0 #c57714; }
.import-card.danger { border-color: #efc0ba; box-shadow: inset 4px 0 #b42318; }
.import-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.check-row { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; }
.check-row input { margin-top: 4px; }
.check-row strong, .check-row small { display: block; overflow-wrap: anywhere; }
.check-row small { margin-top: 3px; color: var(--muted); }
.compact-grid { padding-top: 3px; }
.compact-grid small, .form-group small { color: var(--muted); font-size: 11px; line-height: 1.35; }
.confidence { display: inline-flex; margin-left: 6px; color: var(--primary); font-weight: 800; }
.duplicate-box { padding: 13px; border-radius: 12px; background: #fff7e8; border: 1px solid #efd19e; }
.duplicate-box p { margin: 5px 0 10px; color: #6f4a17; }
.decision-note { font-weight: 700; }
.candidate-list { display: flex; gap: 7px; flex-wrap: wrap; padding-top: 10px; }
details { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
summary { cursor: pointer; font-weight: 750; color: var(--primary-dark); }
.ocr-text { margin-top: 10px; min-height: 220px !important; font-family: Consolas, monospace; font-size: 12px; line-height: 1.45; }
.sticky-actions { position: sticky; bottom: -22px; z-index: 3; background: rgba(255,255,255,.96); padding: 14px 0 2px; border-top: 1px solid var(--line); }
.chart-controls { max-width: 760px; margin-bottom: 16px; }
.chart-shell { width:100%; overflow:hidden; border:1px solid var(--line); border-radius:14px; padding:10px 12px 6px; background:#fff; box-shadow:0 1px 2px rgba(15,35,32,.035); }
.health-chart { display:block; width:100%; min-width:0; height:auto; }
.chart-grid { stroke:color-mix(in srgb,var(--line) 82%,#ffffff); stroke-width:.8; }
.chart-axis { stroke: #80928f; stroke-width: 1.2; }
.chart-line { fill:none; stroke:var(--primary); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.chart-point circle { fill:#fff; stroke:var(--primary); stroke-width:2; cursor:pointer; }
.chart-point:hover circle { r:5.5; fill:var(--primary-soft); }
.chart-axis-label { font-size:11px; fill:#667b78; }
.chart-axis-title { font-size:12px; font-weight:650; fill:var(--primary-dark); }
@media (max-width: 820px) {
  .import-card-head, .ocr-health { flex-direction: column; }
  .ocr-health span { text-align: left; }
  .modal:has(.import-workspace) { width: calc(100% - 12px); top: 1vh; max-height: 98vh; }
  .sticky-actions { bottom: -22px; flex-wrap: wrap; }
  .sticky-actions .btn { flex: 1; }
}

/* Flusso importazione OCR V2.3 */
.queue-summary { display: flex; flex-wrap: wrap; gap: 8px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 12px; background: #f8fbfa; color: var(--muted); font-size: 13px; }
.queue-summary span { padding: 5px 9px; border-radius: 999px; background: #fff; border: 1px solid var(--line); }
.queue-summary span.attention { color: #8a4b08; border-color: #efd19e; background: #fff7e8; }
.import-card.processing { background: #fbfdfc; }
.ready-summary { padding: 11px 13px; border-radius: 12px; background: #eef9f2; border: 1px solid #b7dfc6; color: #245d39; }
.optional-review { display: grid; gap: 12px; padding-top: 4px; }

/* V2.3 */
.form-control.invalid { border-color: #b42318; background: #fff5f4; box-shadow: 0 0 0 2px rgba(180,35,24,.08); }
.health-card-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.health-card-grid figure { margin: 0; border: 1px solid var(--line); border-radius: 16px; padding: 12px; background: #f8fbfa; }
.health-card-grid img { display: block; width: 100%; max-height: 320px; object-fit: contain; border-radius: 10px; background: #fff; }
.health-card-grid figcaption { margin-top: 8px; font-weight: 750; color: var(--primary-dark); text-align: center; }
@media (max-width: 700px) { .health-card-grid { grid-template-columns: 1fr; } }
@media print {
  .print-health-card { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; }
  .print-health-card figure { margin: 0; }
  .print-health-card img { max-width: 100%; max-height: 85mm; object-fit: contain; }
  .print-health-card figcaption { text-align: center; font-weight: bold; margin-top: 2mm; }
}
.disabled-candidate{cursor:not-allowed;opacity:.72;pointer-events:none}

/* V2.3 OCR a 3 passaggi */
.ocr-structured-text{
  white-space:pre-wrap;
  overflow:auto;
  max-height:520px;
  margin:12px 0 0;
  padding:14px;
  border:1px solid var(--border);
  border-radius:12px;
  background:#f8fbfb;
  font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;
  font-size:.9rem;
  line-height:1.55;
}

/* V3.0: acquisizione documenti, fotocamera, scanner e tessera sanitaria */
.acquisition-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}
.capture-overlay{position:fixed;inset:0;z-index:1400;background:rgba(5,22,28,.86);display:flex;align-items:center;justify-content:center;padding:18px}
.capture-panel{width:min(980px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:18px;padding:18px;box-shadow:0 20px 70px rgba(0,0,0,.4)}
.capture-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}
.capture-header h2{margin:0 0 4px}.capture-header p{margin:0;color:#5d7477}
.capture-video{display:block;width:100%;max-height:58vh;object-fit:contain;background:#07191d;border-radius:14px}
.capture-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;margin-top:12px}
.capture-previews figure{margin:0}.capture-previews img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;border:1px solid #cfe0df;border-radius:10px}.capture-previews figcaption{text-align:center;font-size:.8rem;margin-top:4px}
.capture-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:14px}
.health-card-thumb{border:0;padding:0;background:transparent;cursor:pointer;width:100%}
.health-card-thumb img{display:block;width:100%}
.health-card-viewer{text-align:center}.health-card-viewer img{display:block;max-width:100%;max-height:68vh;margin:0 auto;border-radius:16px;box-shadow:0 12px 34px rgba(0,0,0,.18)}
.health-card-side-label{display:inline-block;margin-bottom:12px;padding:6px 12px;border-radius:999px;background:#e1f5f1;color:#075c55;font-weight:700}
.center-actions{justify-content:center;margin-top:16px}
@media(max-width:700px){.capture-overlay{padding:0}.capture-panel{max-height:100vh;border-radius:0;min-height:100vh}.capture-video{max-height:52vh}.top-actions{gap:6px}.top-actions .btn{padding:9px 10px;font-size:.85rem}}


/* V3.1.0: accesso diretto e visualizzazione tessera sanitaria */
.health-card-page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.health-card-page-grid.single{grid-template-columns:minmax(0,860px);justify-content:center}
.health-card-display{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:0 7px 24px rgba(20,64,60,.045)}
.health-card-display-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.health-card-large{width:100%;min-height:260px;border:0;border-radius:16px;background:#f2f7f6;padding:14px;display:grid;place-items:center;cursor:pointer}
.health-card-large img{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:12px;background:#fff}
.health-card-placeholder{min-height:260px;border:2px dashed #bdd3d0;border-radius:16px;background:#f8fbfa;display:grid;place-content:center;text-align:center;padding:24px;color:var(--muted);margin-bottom:14px}
.health-card-placeholder span{font-size:24px;font-weight:800;color:var(--primary-dark)}
.health-card-placeholder small{margin-top:8px}
.health-card-display .row-actions{margin-top:14px}
.health-card-hero .badge{align-self:center}
.center-actions{justify-content:center;margin-top:16px}
@media (max-width:820px){.health-card-page-grid{grid-template-columns:1fr}.health-card-large,.health-card-placeholder{min-height:210px}.health-card-hero .row-actions{grid-column:1/-1}}

/* V4.1.0 - esportazione PDF tabellare e grafici normalizzati */
@media print {
  #printRoot { font-size: 10pt; line-height: 1.32; }
  .print-page { box-sizing: border-box; }
  .print-document { page-break-after: always; padding: 6mm 7mm; }
  .print-document-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 8mm; border-bottom: 2px solid var(--primary); padding-bottom: 3mm; margin-bottom: 4mm; }
  .print-document-header h2 { margin: 1mm 0 0; border: 0; padding: 0; font-size: 17pt; }
  .print-document-date { font-size: 10pt; font-weight: 700; }
  .print-document-category { border: 1px solid #9abdb8; border-radius: 999px; padding: 1.5mm 3mm; font-size: 8.5pt; white-space: nowrap; }
  .print-subtitle { margin: 5mm 0 2mm; font-size: 11.5pt; color: #16302e; }
  .print-table { table-layout: fixed; }
  .print-table thead { display: table-header-group; }
  .print-table tr { page-break-inside: avoid; break-inside: avoid; }
  .print-table th { background: #eef6f5; font-weight: 700; text-align: left; }
  .print-meta-table, .print-compact-table { table-layout: auto; }
  .print-meta-table th, .print-compact-table th { width: 34%; }
  .print-results-table { font-size: 8.6pt; }
  .print-results-table .col-test { width: 31%; }
  .print-results-table .col-result { width: 13%; }
  .print-results-table .col-unit { width: 14%; }
  .print-results-table .col-reference { width: 27%; }
  .print-results-table .col-status { width: 15%; }
  .print-results-table td, .print-results-table th { padding: 2mm; overflow-wrap: anywhere; }
  .numeric-cell { white-space: nowrap; }
  .print-status { display: inline-block; border-radius: 999px; padding: 1mm 2mm; border: 1px solid #bccbc8; font-size: 7.8pt; white-space: nowrap; }
  .print-status.alto, .print-status.basso { border-color: #d99a7f; background: #fff1eb; }
  .print-status.nei-limiti { border-color: #9dcbae; background: #eff9f2; }
  .print-narrative p { margin: 0 0 3mm; text-align: left; white-space: normal; }
  .print-document-footer { margin-top: 6mm; padding-top: 2mm; border-top: 1px solid #ccd8d6; font-size: 8pt; color: #536966; }
  .print-index-table th:nth-child(1), .print-index-table td:nth-child(1) { width: 18%; }
  .print-index-table th:nth-child(3), .print-index-table td:nth-child(3) { width: 22%; }
  .print-index-table th:nth-child(4), .print-index-table td:nth-child(4) { width: 10%; text-align: center; }
}
.graph-single-note { margin-bottom: 12px; }

/* V4.2.1 - interpretazione integrale, schede per tipologia e frontespizio professionale */
.timeline-preview { margin-top: 9px !important; color: var(--text) !important; line-height: 1.55 !important; }
.document-report { display: grid; gap: 14px; }
.document-report section { padding: 14px 16px; border: 1px solid var(--line); border-radius: 13px; background: #fbfdfd; }
.document-report h4 { margin: 0 0 8px; color: var(--primary-dark); font-size: 15px; }
.document-report p { margin: 0 0 9px; line-height: 1.58; white-space: pre-wrap; }
.document-report p:last-child { margin-bottom: 0; }
.narrative-editor, .narrative-review { min-height: 440px !important; line-height: 1.55 !important; font-family: "Segoe UI", Arial, sans-serif !important; font-size: 14px !important; }
.import-review-table td { min-width: 135px; }
.source-link-note { color: var(--muted); font-size: 12px; }

@media print {
  .print-cover {
    min-height: 255mm;
    display: grid;
    grid-template-rows: auto 1fr auto;
    text-align: left;
    padding: 0 !important;
    border: 1px solid #d9e5e3;
    overflow: hidden;
    position: relative;
  }
  .print-cover::after {
    content: "";
    position: absolute;
    right: -42mm;
    bottom: 18mm;
    width: 115mm;
    height: 115mm;
    border: 17mm solid var(--primary-soft);
    border-radius: 50%;
    z-index: 0;
  }
  .cover-band {
    position: relative;
    z-index: 1;
    min-height: 63mm;
    padding: 18mm 18mm 12mm;
    color: #fff;
    background: var(--primary-dark);
  }
  .cover-mark {
    width: 18mm;
    height: 18mm;
    border: 1.2mm solid rgba(255,255,255,.85);
    border-radius: 5mm;
    display: grid;
    place-items: center;
    font-size: 20pt;
    font-weight: 700;
    margin-bottom: 10mm;
  }
  .print-cover h1 { margin: 0; font-size: 31pt; line-height: 1.04; letter-spacing: .02em; }
  .cover-label { margin-top: 4mm; font-size: 10pt; letter-spacing: .16em; text-transform: uppercase; opacity: .84; }
  .cover-person {
    position: relative;
    z-index: 1;
    align-self: center;
    margin: 0 18mm;
    padding: 12mm 13mm;
    border-left: 2.2mm solid var(--primary);
    background: rgba(255,255,255,.94);
  }
  .cover-person h2 { margin: 0 0 7mm; font-size: 24pt; color: #16302e; }
  .cover-rule { width: 32mm; height: 1.2mm; background: var(--primary); margin-bottom: 8mm; }
  .cover-person dl { display: grid; grid-template-columns: 46mm 1fr; gap: 3.5mm 7mm; margin: 0; font-size: 10.5pt; }
  .cover-person dt { color: #637a77; }
  .cover-person dd { margin: 0; font-weight: 700; color: #16302e; }
  .cover-summary {
    position: relative;
    z-index: 1;
    margin-top: 10mm;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4mm;
  }
  .cover-summary div { padding: 4mm; border: 1px solid #cbdcda; background: #f5faf9; }
  .cover-summary strong { display: block; font-size: 17pt; color: var(--primary-dark); }
  .cover-summary span { display: block; margin-top: 1mm; font-size: 8.5pt; color: #637a77; }
  .cover-footer {
    position: relative;
    z-index: 1;
    padding: 8mm 18mm 10mm;
    font-size: 8.5pt;
    color: #637a77;
    border-top: 1px solid #d9e5e3;
  }
  .print-report-section { margin: 0 0 5mm; break-inside: auto; }
  .print-report-section h3 {
    margin: 0 0 2.2mm;
    padding: 2.2mm 3mm;
    color: var(--primary-dark);
    background: var(--primary-soft);
    border-left: 1.2mm solid var(--primary);
    font-size: 11pt;
  }
  .print-report-section p { margin: 0 0 2.5mm; line-height: 1.48; text-align: left; }
  .print-bullet { padding-left: 5mm; text-indent: -3mm; }
  .print-empty { padding: 4mm; border: 1px solid #d9e5e3; color: #637a77; }
  .print-document-footer { break-inside: avoid; }
}

/* V4.3.0 - Preferenze, palette, diagnosi/problemi, grafici e tabelle chiuse */
.sidebar { background: var(--sidebar, #0b4f4a); }
.profile-switcher { border-left: 5px solid var(--profile-accent, var(--primary)); }
.profile-label-row { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.profile-label-row label { margin:0; }
.profile-color-dot { width:14px; height:14px; border-radius:50%; border:2px solid rgba(255,255,255,.85); box-shadow:0 0 0 2px color-mix(in srgb, var(--profile-accent, var(--primary)) 45%, transparent); flex:0 0 auto; }

.avatar { box-shadow: inset 0 0 0 2px var(--profile-accent, var(--primary)); }
.profile-hero .avatar { background: color-mix(in srgb, var(--profile-accent, var(--primary)) 16%, white); color: var(--profile-accent, var(--primary)); }
.preserve-lines, .multiline-content { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; }
.multiline-content { margin-top: 10px; color: var(--text); }
.exemption-item > div:first-child { min-width: 0; flex: 1; }
.color-control { min-height: 44px; padding: 5px; }
.preferences-layout { display: grid; gap: 18px; }
.preference-section { display: grid; gap: 12px; }
.palette-preview { display: flex; flex-wrap: wrap; gap: 10px; }
.palette-chip { border: 1px solid var(--line); background: var(--surface); color: var(--text); border-radius: 12px; padding: 9px 12px; display: inline-flex; align-items: center; gap: 8px; }
.palette-chip span { width: 20px; height: 20px; border-radius: 50%; background: var(--chip); box-shadow: 0 0 0 5px var(--chip-soft); }
.palette-chip.selected { border-color: var(--chip); box-shadow: 0 0 0 3px var(--chip-soft); }
.graph-selection-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.graph-choice { padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-2); }
.storage-card { margin-top: 15px; display: flex; align-items: center; gap: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-2); }
.storage-card span { color: var(--muted); flex: 1; }
.preference-actions { position: sticky; bottom: 12px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: color-mix(in srgb, var(--surface) 94%, transparent); box-shadow: var(--shadow); z-index: 3; }
.diagnosis-main-section { padding: 16px; border: 1px solid var(--line); border-radius: 15px; background: var(--surface-2); }
.diagnosis-main-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.diagnosis-main-card { background: var(--surface); border: 1px solid var(--line); border-left: 5px solid var(--profile-accent, var(--primary)); border-radius: 13px; padding: 15px; }
.diagnosis-main-head { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; }
.diagnosis-main-head h3 { margin: 0; }
.diagnosis-meta { color: var(--muted); font-size: 12px; }
.diagnosis-sort { min-width: 230px; }
.source-quote { padding: 12px; border-left: 4px solid var(--primary); background: var(--surface-2); white-space: pre-wrap; }
.compact-textarea { min-height: 60px !important; margin-top: 6px; }
.proposal-table { max-height: 58vh; overflow: auto; }
.proposal-table table { min-width: 1080px; }

.chart-visual { min-width: 0; }
.chart-reference-line { stroke: var(--chart-secondary, #2f9b8e); stroke-width: 2; stroke-dasharray: 8 6; }
.chart-reference-legend { margin-top: 10px; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-2); color: var(--text); }
.chart-reference-legend small { display: block; color: var(--muted); margin-top: 2px; }
.chart-reference-key { width: 42px; border-top: 2px dashed var(--chart-secondary, #2f9b8e); flex: 0 0 auto; }
.chart-reference-legend.muted { color: var(--muted); }
.chart-date-label { font-size: 10px; }
.chart-line { stroke: var(--primary); }
.chart-point circle { stroke: var(--primary); }

html[data-text-scale="compact"] { font-size: 14px; }
html[data-text-scale="large"] { font-size: 18px; }
html[data-density="compact"] .card { padding: 14px; }
html[data-density="compact"] td, html[data-density="compact"] th { padding: 8px 9px; }
html[data-density="compact"] .nav-item { padding: 7px 11px; }
html[data-theme="dark"] { --bg:#17201f; --surface:#202c2b; --surface-2:#293735; --text:#edf5f3; --muted:#aec2be; --line:#3b4b48; }
html[data-theme="dark"] body, html[data-theme="dark"] .topbar { background: var(--bg); color: var(--text); }
html[data-theme="dark"] .topbar { background: color-mix(in srgb, var(--surface) 88%, transparent); }
html[data-theme="dark"] .card, html[data-theme="dark"] .timeline-item, html[data-theme="dark"] .health-card-display, html[data-theme="dark"] .import-card, html[data-theme="dark"] .form-control, html[data-theme="dark"] .btn-light { background: var(--surface); color: var(--text); }
html[data-theme="dark"] .chart-shell { background: var(--surface); }
html[data-theme="dark"] .chart-axis-title { fill: var(--text); }
html[data-theme="dark"] .chart-axis-label { fill: var(--muted); }
html[data-theme="system"] { color-scheme: light dark; }
@media (prefers-color-scheme: dark) {
  html[data-theme="system"] { --bg:#17201f; --surface:#202c2b; --surface-2:#293735; --text:#edf5f3; --muted:#aec2be; --line:#3b4b48; }
  html[data-theme="system"] .card, html[data-theme="system"] .timeline-item, html[data-theme="system"] .form-control, html[data-theme="system"] .btn-light { background: var(--surface); color: var(--text); }
}
@media (max-width: 820px) {
  .graph-selection-grid, .diagnosis-main-grid { grid-template-columns: 1fr; }
  .storage-card { align-items: flex-start; flex-direction: column; }
  .diagnosis-sort { width: 100%; }
}

@media print {
  .print-table { border: 1px solid #777 !important; border-collapse: collapse !important; }
  .print-table th, .print-table td { border: 1px solid #777 !important; }
  .print-table tbody tr:last-child > th, .print-table tbody tr:last-child > td { border-bottom: 1px solid #777 !important; }
  .print-multiline { white-space: pre-wrap !important; line-height: 1.4; }
  .print-diagnosis-main { margin-bottom: 6mm; padding: 4mm; border: 1px solid #b9cbc8; border-left: 1.5mm solid var(--primary); break-inside: avoid; }
  .print-diagnosis-main h3 { margin: 0 0 2mm; font-size: 11pt; }
  .print-diagnosis-main p { margin: 0 0 1.5mm; white-space: pre-wrap; }
  .print-graph-page .chart-shell { border: 0; padding: 0; overflow: visible; }
  .print-graph-page .health-chart { min-width: 0; width: 100%; max-height: 145mm; }
  .print-graph-page .chart-reference-legend { break-inside: avoid; font-size: 8.5pt; border-color: #bbb; }
  .print-graph-page .chart-line { stroke: var(--primary) !important; }
  .print-graph-page .chart-reference-line { stroke: var(--chart-secondary) !important; }
  .print-graph-page .chart-point circle { stroke: var(--primary) !important; }
}

@media print {
  #printRoot {
    --text: #172522;
    --muted: #5f716e;
    --surface: #ffffff;
    --surface-2: #f3f7f6;
    --line: #b9c5c2;
    color: var(--text) !important;
    background: #ffffff !important;
  }
  #printRoot table, #printRoot th, #printRoot td, #printRoot p, #printRoot h1, #printRoot h2, #printRoot h3 { color: inherit; }
}

/* V4.4.0 - Area Monitoraggio personale e versionamento documenti */
.nav-section-label { padding: 8px 12px 4px; color: rgba(255,255,255,.65); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.nav-item-feature { border: 1px solid rgba(255,255,255,.25); margin-top: 8px; background: color-mix(in srgb, var(--profile-accent, var(--primary)) 22%, transparent); }
.nav-back { margin-top: 10px; border-top: 1px solid rgba(255,255,255,.18); border-radius: 0; padding-top: 14px; }
.monitor-nav { flex: 1; min-height: 0; overflow-y: auto; }
.monitor-hero { background: linear-gradient(135deg, color-mix(in srgb, var(--primary-soft) 75%, white), var(--surface)); border-left: 6px solid var(--profile-accent, var(--primary)); }
.monitor-hero-grid { display:grid; grid-template-columns: 1.4fr .6fr; gap:18px; align-items:center; }
.monitor-kpi-grid { display:grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap:12px; }
.monitor-kpi { border:1px solid var(--line); border-radius:14px; padding:14px; background:var(--surface-2); }
.monitor-kpi strong { display:block; font-size:23px; color:var(--primary-dark); margin-top:4px; }
.monitor-kpi small { color:var(--muted); }
.module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.module-card { border:1px solid var(--line); border-radius:15px; padding:16px; background:var(--surface); display:flex; flex-direction:column; gap:8px; }
.module-card h3 { margin:0; }
.module-card .btn { margin-top:auto; align-self:flex-start; }
.measurement-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; align-items:end; }
.measurement-delta { font-weight:700; }
.measurement-delta.negative { color:#2f7d4a; }
.measurement-delta.positive { color:#a34232; }
.measurement-delta.neutral { color:var(--muted); }
.journey-progress { height:14px; margin-bottom:8px; background:var(--surface-2); border-radius:99px; overflow:hidden; border:1px solid var(--line); }
.journey-progress > span { display:block; height:100%; width:var(--progress,0%); background:linear-gradient(90deg,var(--primary),var(--chart-secondary)); }
.journey-summary { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:12px; }
.journey-summary > div { padding:12px; border:1px solid var(--line); background:var(--surface-2); border-radius:12px; }
.journey-summary strong { display:block; font-size:20px; }
.bmi-calculator { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:end; max-width:900px; }
.bmi-calculator .form-group { margin:0; }
.calorie-summary .calorie-explain { display:block; margin-top:6px; color:var(--muted); font-size:12px; line-height:1.35; }
.calorie-info { margin:10px 0 12px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.calorie-info summary { cursor:pointer; padding:10px 12px; font-weight:700; color:var(--primary); }
.calorie-info > div { padding:0 12px 10px; color:var(--muted); font-size:13px; line-height:1.45; }
.calorie-info p { margin:6px 0; }
.safety-note { border-left:5px solid #c57a16; background:#fff8e8; color:#5a4219; padding:12px 14px; border-radius:10px; }
html[data-theme="dark"] .safety-note { background:#3a311f; color:#f2dfad; }
.monitor-chart-legend { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.monitor-chart-legend span { display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--muted); }
.monitor-chart-legend i { width:26px; border-top:3px solid var(--legend-color,var(--primary)); }
.body-measure-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.body-silhouette { width:190px; min-height:310px; margin:auto; position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.body-silhouette img { display:block; width:100%; height:290px; object-fit:contain; object-position:center; }
.body-silhouette .body-label { font-size:12px; line-height:1.25; color:var(--text); text-align:center; font-weight:600; }
.version-box { border:1px solid var(--line); border-radius:13px; padding:13px; background:var(--surface-2); }
.version-diff-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.version-stat { padding:10px; border:1px solid var(--line); border-radius:10px; background:var(--surface); }
.version-stat strong { display:block; font-size:18px; }
.version-history { margin-top:12px; }
.version-history-item { border-left:4px solid var(--primary); padding:8px 12px; margin:8px 0; background:var(--surface-2); }
.print-monitor-table td, .print-monitor-table th { vertical-align:top; }
.print-silhouette-wrap { display:grid; grid-template-columns:55mm 1fr; gap:7mm; align-items:center; break-inside:avoid; }
.print-silhouette-wrap .body-silhouette { width:48mm; min-height:82mm; height:auto; }
.print-silhouette-wrap .body-silhouette img { width:46mm; height:76mm; object-fit:contain; }
.print-silhouette-wrap .body-silhouette .body-label { font-size:7.5pt; }
.print-index-monitor-links { margin-top:5mm; padding-top:3mm; border-top:.45mm solid #cfd8d7; }
.print-index-monitor-links h3 { margin:0 0 2mm; font-size:10pt; }
.print-index-monitor-link { display:inline-block; margin:0 5mm 1.5mm 0; font-weight:700; color:#203c39!important; text-decoration:underline; }
@media (max-width: 1050px) { .monitor-kpi-grid,.journey-summary { grid-template-columns:repeat(2,minmax(0,1fr)); } .module-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) { .monitor-hero-grid,.version-diff-grid { grid-template-columns:1fr; } .monitor-kpi-grid,.journey-summary,.module-grid,.body-measure-grid,.bmi-calculator { grid-template-columns:1fr; } }
@media print {
  .print-monitor-section { margin-bottom:8mm; }
  .print-monitor-section h2 { border-bottom:1.2mm solid var(--primary); padding-bottom:2mm; }
  .print-monitor-chart { break-before:page; }
  .print-monitor-chart .health-chart { width:100%; max-height:145mm; }
}
.monitor-chart-line { fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.monitor-chart-point { fill:#fff; stroke-width:2; }
.monitor-series-0 { stroke:var(--primary); --legend-color:var(--primary); }
.monitor-series-1 { stroke:var(--chart-secondary); --legend-color:var(--chart-secondary); }
.monitor-series-2 { stroke:color-mix(in srgb, var(--primary) 55%, #d58a20); --legend-color:color-mix(in srgb, var(--primary) 55%, #d58a20); }
.monitor-series-3 { stroke:color-mix(in srgb, var(--primary) 55%, #8f52b8); --legend-color:color-mix(in srgb, var(--primary) 55%, #8f52b8); }
.monitor-series-4 { stroke:color-mix(in srgb, var(--primary) 55%, #4e7f9d); --legend-color:color-mix(in srgb, var(--primary) 55%, #4e7f9d); }
.monitor-chart-legend i.reference { border-top:2px dashed var(--chart-secondary); }

/* V5.0.0 - sicurezza, avatar, cloud e tabelle compatte */
.profile-switcher-row{display:flex;align-items:center;gap:10px}.profile-switcher-avatar{width:38px;height:38px;min-width:38px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.14);font-weight:800}.profile-switcher-avatar img,.avatar-photo img{width:100%;height:100%;object-fit:cover;display:block;transform-origin:center}.avatar-photo{overflow:hidden}.avatar-editor{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px}.avatar-large{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;font-size:32px;background:var(--primary-soft);color:var(--primary-dark);overflow:hidden}
.document-bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);margin-bottom:14px}.document-select{display:flex;align-items:flex-start;gap:10px}.document-select>input{margin-top:5px}.trash-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.trash-summary>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.exemption-code{display:inline-flex;padding:3px 8px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-weight:800;margin-right:7px}.exemption-extended-card{display:grid;gap:8px}.exemption-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.exemption-block{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.diagnosis-main-card{padding:10px 11px;line-height:1.28}.diagnosis-main-card p{margin:4px 0}.diagnosis-main-card .multiline-content{margin-top:5px;line-height:1.3}.diagnosis-history-table th,.diagnosis-history-table td{padding:7px 8px;line-height:1.25}.diagnosis-history-table .diagnosis-date-col{width:11%}.diagnosis-history-table .diagnosis-condition-col{width:31%}.diagnosis-history-table .diagnosis-category-col{width:20%}.diagnosis-history-table .diagnosis-notes-col{width:38%}
.therapy-table{table-layout:fixed}.therapy-table th,.therapy-table td{padding:7px 8px;line-height:1.28;overflow-wrap:anywhere}.therapy-table .therapy-col-1{min-width:62px}
.security-overlay{position:fixed;inset:0;z-index:10000;background:linear-gradient(145deg,#073f3b,#0f766e 55%,#dff5ef);display:grid;place-items:center;padding:20px}.security-overlay.hidden{display:none}.security-panel{width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;background:var(--surface,#fff);color:var(--text,#172522);border-radius:24px;padding:26px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.security-brand{display:flex;align-items:center;gap:14px;margin-bottom:18px}.security-brand img{width:72px;height:72px;border-radius:18px}.security-brand span{font-size:11px;letter-spacing:.11em;color:var(--muted);font-weight:700}.security-brand h1{margin:3px 0 0}.security-form{display:grid;gap:13px}.security-form label{display:grid;gap:6px;font-weight:650}.btn-full{width:100%}.security-error{margin-bottom:12px}.mfa-setup-grid{display:grid;grid-template-columns:190px 1fr;gap:18px;align-items:center;margin:18px 0}.mfa-qr{min-height:180px;display:grid;place-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px}.mfa-qr img{width:164px;height:164px}.mfa-qr span{display:none;font-size:12px;color:var(--muted);text-align:center}.mfa-qr.qr-unavailable img{display:none}.mfa-qr.qr-unavailable span{display:block}.mono{font-family:Consolas,"Courier New",monospace}.recovery-codes{font:700 16px/1.8 Consolas,monospace;letter-spacing:.06em;padding:16px;border:1px dashed var(--line);border-radius:12px;background:var(--surface-2);white-space:pre-wrap}.permission-row{display:grid;grid-template-columns:1fr minmax(170px,220px);align-items:center;gap:12px;margin:8px 0}
.cloud-card{display:grid;gap:14px}.cloud-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cloud-status-grid>div{padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.cloud-status-grid span,.cloud-status-grid strong{display:block}.cloud-status-grid span{font-size:12px;color:var(--muted);margin-bottom:4px}.cloud-setup{border:1px solid var(--line);border-radius:14px;padding:0 14px;background:var(--surface-2)}.cloud-setup summary{cursor:pointer;font-weight:800;padding:13px 0}.cloud-provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding-bottom:14px}.cloud-provider{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.cloud-provider h3{margin:0}.cloud-provider label{display:grid;gap:5px}.cloud-provider .btn{align-self:end}
@media(max-width:820px){.avatar-editor{grid-template-columns:1fr}.trash-summary,.cloud-status-grid,.cloud-provider-grid{grid-template-columns:1fr}.mfa-setup-grid{grid-template-columns:1fr}.permission-row{grid-template-columns:1fr}.profile-switcher-row{align-items:flex-end}}

@media print {
  .print-table th,.print-table td{padding:1.35mm 1.55mm!important;line-height:1.18!important}
  .print-results-table th,.print-results-table td{padding:1.05mm 1.25mm!important;line-height:1.12!important}
  .striped-results tbody tr:nth-child(even){background:#edf1f0!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .striped-results tbody tr:nth-child(odd){background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-status{font-weight:800!important;border-width:1.2px!important;padding:.65mm 1.4mm!important}
  .print-status.alto,.print-status.basso{color:#111!important;background:repeating-linear-gradient(135deg,#e1e1e1 0,#e1e1e1 2px,#fff 2px,#fff 5px)!important;border:1.5px solid #111!important;text-transform:uppercase;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .print-status.alto::before{content:"▲ ";font-weight:900}.print-status.basso::before{content:"▼ ";font-weight:900}
  .print-diagnosis-main.print-diagnosis-compact{margin-bottom:2.2mm;padding:2mm 2.5mm;line-height:1.15}.print-diagnosis-main.print-diagnosis-compact h3{margin:0 0 .8mm;font-size:10.5pt}.print-diagnosis-main.print-diagnosis-compact p{margin:0 0 .7mm;line-height:1.15}
  .print-diagnosis-table{table-layout:fixed;font-size:8.7pt}.print-diagnosis-table th,.print-diagnosis-table td{padding:1.15mm 1.35mm!important;line-height:1.14!important;overflow-wrap:anywhere}
  .print-therapy-table{table-layout:fixed;font-size:8.7pt}.print-therapy-table th,.print-therapy-table td{padding:1.15mm 1.3mm!important;line-height:1.14!important;overflow-wrap:anywhere}.print-therapy-table td:first-child,.print-therapy-table th:first-child{white-space:nowrap}
  .print-exemptions-extended{display:grid;gap:2.5mm}.print-exemption-card{border:1px solid #777;padding:2.2mm 2.6mm;break-inside:avoid}.print-exemption-card header{display:grid;grid-template-columns:28mm 1fr;gap:3mm;padding-bottom:1.5mm;border-bottom:1px solid #aaa}.print-exemption-card header strong{font-size:10pt}.print-exemption-card>div{margin-top:1.4mm}.print-exemption-card p{margin:.7mm 0 0;line-height:1.2}.print-exemption-meta{display:flex;gap:8mm;flex-wrap:wrap}.print-exemption-compact th:first-child,.print-exemption-compact td:first-child{width:24%}
  .print-index-link{color:#111!important;text-decoration:underline}.print-avatar{width:29mm;height:29mm;border-radius:50%;overflow:hidden;float:right;margin-left:8mm;border:1.2mm solid var(--primary)}.print-avatar img{width:100%;height:100%;object-fit:cover}
}
.brand-icon{overflow:hidden;background:#fff!important;padding:2px}.brand-icon img{width:100%;height:100%;object-fit:cover;border-radius:9px}.profile-switcher-row select{flex:1;min-width:0}
.conflict-list{display:grid;gap:14px}.conflict-card{border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface-2)}.conflict-card header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.conflict-card h3{margin:6px 0}.conflict-card small{color:var(--muted)}.conflict-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}.conflict-columns section{padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.conflict-columns h4{margin:0 0 8px}.conflict-columns dl{display:grid;grid-template-columns:minmax(90px,.45fr) 1fr;gap:4px 8px;margin:0;font-size:12px}.conflict-columns dt{font-weight:800;color:var(--muted)}.conflict-columns dd{margin:0;overflow-wrap:anywhere}@media(max-width:760px){.conflict-columns{grid-template-columns:1fr}}
.bulk-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);margin:12px 0}.bulk-toolbar #selectedDocsCount{color:var(--muted);font-size:13px}.diagnosis-history-table{table-layout:fixed;min-width:1050px}.diagnosis-history-table .diag-date{width:9%}.diagnosis-history-table .diag-condition{width:23%}.diagnosis-history-table .diag-category{width:14%}.diagnosis-history-table .diag-status{width:12%}.diagnosis-history-table .diag-notes{width:28%}.diagnosis-history-table .diag-actions{width:14%}


/* TEST 6 · Diagnosi molti-a-molti e ricerca clinica */
.modal.modal-diagnosis-workspace { width:min(1480px,calc(100% - 24px)); top:1vh; max-height:98vh; }
.diagnosis-search-panel { display:grid; gap:12px; margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--surface-2); }
.diagnosis-search-panel h3 { margin:0 0 4px; }
.diagnosis-search-controls { display:grid; grid-template-columns:minmax(260px,1fr) minmax(230px,.45fr) auto; gap:10px; align-items:end; }
.diagnosis-proposal-workspace,.diagnosis-search-workspace { display:grid; gap:15px; }
.diagnosis-proposal-list,.diagnosis-search-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.diagnosis-proposal-card,.diagnosis-evidence-card { min-width:0; padding:16px; border:1px solid var(--line); border-radius:15px; background:var(--surface); box-shadow:0 4px 16px rgba(20,45,42,.05); }
.diagnosis-proposal-card header { display:flex; justify-content:space-between; gap:12px; margin-bottom:13px; }
.diagnosis-proposal-card header strong,.diagnosis-proposal-card header small { display:block; }
.diagnosis-proposal-card header small { margin-top:4px; color:var(--muted); }
.diagnosis-evidence-card { display:grid; gap:11px; }
.diagnosis-evidence-snippets { display:grid; gap:8px; }
.diagnosis-evidence-snippets blockquote { margin:0; padding:10px 12px; border-left:4px solid var(--profile-accent,var(--primary)); background:var(--surface-2); border-radius:0 10px 10px 0; overflow-wrap:anywhere; }
.diagnosis-link-panel { position:sticky; bottom:0; z-index:2; padding:15px; border:1px solid var(--line); border-radius:15px; background:color-mix(in srgb,var(--surface) 97%,transparent); box-shadow:var(--shadow); }
@media (max-width:1000px){.diagnosis-proposal-list,.diagnosis-search-results{grid-template-columns:1fr}.diagnosis-search-controls{grid-template-columns:1fr}.modal.modal-diagnosis-workspace{width:calc(100% - 12px)}}

/* TEST 7 RIPROGETTATA R3: matrice completa entro la larghezza reale dell'app */
.preference-section{min-width:0;overflow:hidden}
.permission-actor-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);margin:12px 0 8px;font-size:.88rem}.permission-actor-banner span{color:var(--muted);font-weight:700}
.permission-matrix-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;margin:8px 0 16px;box-sizing:border-box}
.permission-matrix{border-collapse:collapse;border-spacing:0;width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed;font-size:clamp(.58rem,.54vw,.72rem);box-sizing:border-box}
.permission-matrix col.col-user{width:17%}.permission-matrix col.col-level{width:9%}.permission-matrix col.col-capability{width:5.2857%}
.permission-matrix th,.permission-matrix td{border:1px solid var(--line);padding:5px 2px;text-align:center;vertical-align:middle;background:#fff;min-width:0!important;max-width:0;box-sizing:border-box;overflow:hidden;overflow-wrap:anywhere;word-break:normal}
.permission-matrix thead th{background:var(--surface-2);font-weight:750;white-space:normal;line-height:1.02;height:78px;padding:4px 2px}
.permission-matrix thead th span{display:block;line-height:1.02}.permission-matrix thead th small{display:block;margin-top:3px;font-size:.76em;line-height:1;color:var(--muted);font-weight:650}
.permission-matrix .permission-user-cell{text-align:left;padding:7px 7px;max-width:none}.permission-matrix .permission-user-cell strong{display:block;font-size:1.08em;line-height:1.12}.permission-matrix .permission-user-cell small{display:block;font-size:.83em;line-height:1.12;overflow-wrap:anywhere}.permission-active-user{margin-top:4px}
.permission-user-tools{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-top:6px}.permission-active-inline{display:inline-flex;align-items:center;gap:3px;font-size:.76em;white-space:nowrap}.permission-active-inline input{width:14px;height:14px;margin:0}.permission-user-tools .btn{padding:3px 5px;font-size:.76em;line-height:1.05;margin:0}
.permission-matrix .permission-level-cell{text-align:left;padding:5px;max-width:none}.permission-matrix .permission-level-cell strong,.permission-matrix .permission-level-cell small{display:block;line-height:1.12}.permission-matrix .permission-level-cell .form-control{min-width:0!important;width:100%;padding:5px 2px;font-size:.86em;line-height:1.05}
.permission-matrix tr[data-access-level="administrator"] td{background:color-mix(in srgb,var(--primary-soft) 55%,#fff)}
.permission-check-cell input[type="checkbox"]{width:16px;height:16px;max-width:100%;accent-color:var(--primary);cursor:pointer;margin:0}.permission-check-cell input[disabled]{cursor:not-allowed;opacity:.62}
.permission-matrix .badge{font-size:.72em;padding:2px 4px}
@media(max-width:1350px){.permission-matrix{font-size:.54rem}.permission-matrix col.col-user{width:18%}.permission-matrix col.col-level{width:9%}.permission-matrix col.col-capability{width:5.2143%}.permission-matrix thead th{height:74px}.permission-matrix th,.permission-matrix td{padding:4px 1px}.permission-check-cell input[type="checkbox"]{width:15px;height:15px}.permission-user-tools .btn{font-size:.7em;padding:3px}}
@media(max-width:1100px){.permission-matrix{font-size:.49rem}.permission-matrix col.col-user{width:19%}.permission-matrix col.col-level{width:9%}.permission-matrix col.col-capability{width:5.1428%}.permission-matrix thead th{height:72px}.permission-user-tools{gap:2px}.permission-active-inline{font-size:.7em}.permission-user-tools .btn{font-size:.66em;padding:2px}}

/* TEST 8: leggibilita matrice permessi e verifica backup */
.permission-matrix-wrap{overflow-x:hidden!important;overflow-y:visible!important}
.permission-matrix{width:100%!important;max-width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:.66rem!important}
.permission-matrix col.col-user{width:17.5%!important}
.permission-matrix col.col-level{width:10.5%!important}
.permission-matrix col.col-capability{width:5.142857%!important}
.permission-matrix th,.permission-matrix td{padding:3px 1px!important;min-width:0!important;max-width:none!important;overflow:hidden!important;overflow-wrap:anywhere!important}
.permission-matrix thead th{height:76px!important;padding:3px 1px!important;font-size:.64rem!important;line-height:1.04!important}
.permission-matrix thead th:first-child,.permission-matrix thead th:nth-child(2){font-size:.78rem!important}
.permission-matrix .permission-user-cell{padding:7px 8px!important;font-size:.78rem!important;line-height:1.2!important}
.permission-matrix .permission-user-cell strong{font-size:.92rem!important;line-height:1.18!important}
.permission-matrix .permission-user-cell small{font-size:.72rem!important;line-height:1.18!important}
.permission-matrix .permission-level-cell{padding:6px!important;font-size:.76rem!important}
.permission-matrix .permission-level-cell strong{font-size:.86rem!important}
.permission-matrix .permission-level-cell small{font-size:.72rem!important}
.permission-matrix .permission-level-cell .form-control{font-size:.78rem!important;padding:5px 3px!important}
.permission-user-tools{gap:3px!important;margin-top:5px!important}
.permission-user-tools .btn{padding:3px 5px!important;font-size:.7rem!important}
.permission-active-inline{font-size:.69rem!important}
.permission-check-cell input[type="checkbox"]{width:15px!important;height:15px!important}
@media(max-width:1350px){
  .permission-matrix{font-size:.62rem!important}
  .permission-matrix thead th{font-size:.59rem!important;padding:2px 0!important;height:80px!important}
  .permission-matrix thead th:first-child,.permission-matrix thead th:nth-child(2){font-size:.74rem!important}
  .permission-matrix .permission-user-cell{font-size:.75rem!important;padding:6px!important}
  .permission-matrix .permission-user-cell strong{font-size:.86rem!important}
  .permission-matrix .permission-level-cell{font-size:.72rem!important;padding:4px!important}
  .permission-check-cell input[type="checkbox"]{width:14px!important;height:14px!important}
}
.backup-verification-card{margin-bottom:14px}
.backup-report-grid{display:grid;grid-template-columns:repeat(7,minmax(80px,1fr));gap:8px;margin-top:12px}
.backup-report-grid>div{border:1px solid var(--line);border-radius:10px;background:var(--surface-2);padding:9px;text-align:center}
.backup-report-grid small{display:block;color:var(--muted);font-weight:650}
.backup-report-grid strong{display:block;font-size:1.25rem;margin-top:2px}
@media(max-width:1000px){.backup-report-grid{grid-template-columns:repeat(4,minmax(80px,1fr))}}
@media(max-width:650px){.backup-report-grid{grid-template-columns:repeat(2,minmax(80px,1fr))}}

/* TEST 9: scelta sicura tra ripristino completo, integrazione e soli documenti */
.modal:has(.backup-restore-wizard){width:min(1120px,calc(100% - 24px));top:2vh;max-height:96vh}
.backup-restore-wizard{display:grid;gap:18px}
.backup-source-summary{display:grid;grid-template-columns:2fr .7fr 1fr .7fr;gap:10px}
.backup-source-summary>div,.restore-plan-summary>div{border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:11px 12px;min-width:0}
.backup-source-summary small,.backup-source-summary strong,.restore-plan-summary small,.restore-plan-summary strong{display:block}
.backup-source-summary small,.restore-plan-summary small{color:var(--muted);font-weight:700;margin-bottom:4px}
.backup-source-summary strong{overflow-wrap:anywhere}
.backup-profile-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:13px}
.backup-profile-table{margin:0;min-width:720px}
.backup-profile-table td:first-child strong,.backup-profile-table td:first-child small{display:block}
.backup-profile-table td:first-child small{color:var(--muted);margin-top:3px}
.restore-mode-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.restore-mode-card{display:flex;align-items:flex-start;gap:11px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface);cursor:pointer;transition:.15s ease}
.restore-mode-card:hover{border-color:var(--primary)}
.restore-mode-card:has(input:checked){border:2px solid var(--primary);background:var(--primary-soft);padding:14px}
.restore-mode-card.danger:has(input:checked){border-color:#a33a32;background:#fff0ee}
.restore-mode-card.recommended::after{content:"CONSIGLIATA";align-self:flex-start;padding:3px 6px;border-radius:999px;background:var(--primary);color:#fff;font-size:.62rem;font-weight:850;letter-spacing:.04em}
.restore-mode-card input{margin-top:3px;accent-color:var(--primary)}
.restore-mode-card span{min-width:0}.restore-mode-card strong,.restore-mode-card small{display:block}.restore-mode-card small{margin-top:6px;color:var(--muted);line-height:1.35}
.restore-mapping-section{display:grid;gap:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}
.restore-mapping-section.hidden,.restore-full-confirmation.hidden{display:none!important}
.restore-mapping-list{display:grid;gap:9px}
.restore-mapping-list>label{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(260px,1fr);gap:14px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.restore-mapping-list strong,.restore-mapping-list small{display:block}.restore-mapping-list small{color:var(--muted);margin-top:3px}
.restore-plan-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:9px;margin-bottom:10px}
.restore-plan-summary strong{font-size:1.35rem}
.restore-full-confirmation{padding:14px;border:2px solid #a33a32;border-radius:13px;background:#fff0ee}
.restore-full-confirmation label{display:grid;gap:8px}
.backup-report-grid{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))!important}
@media(max-width:900px){.restore-mode-grid{grid-template-columns:1fr}.backup-source-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.restore-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.restore-mapping-list>label{grid-template-columns:1fr}.backup-source-summary{grid-template-columns:1fr}.restore-plan-summary{grid-template-columns:1fr}}

/* TEST 10 · backup duplicati e PDF clinico strutturato */
@media print {
  @page { size:A4; margin:14mm 12mm 15mm; }
  .print-page { padding:0!important; }
  .print-table { width:100%; border-collapse:collapse!important; table-layout:fixed; break-inside:auto; page-break-inside:auto; margin:0 0 4mm; }
  .print-table thead { display:table-header-group!important; }
  .print-table tfoot { display:table-footer-group!important; }
  .print-table tr { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-table th,.print-table td { vertical-align:middle!important; padding:1.25mm 1.5mm!important; line-height:1.18!important; overflow-wrap:anywhere; word-break:normal; }
  .print-table tbody tr:last-child>th,.print-table tbody tr:last-child>td { border-bottom:1px solid #777!important; }
  .print-status { background:#fff!important; border-radius:999px; font-weight:800!important; padding:.65mm 1.4mm!important; white-space:nowrap; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .print-status.nei-limiti { color:#18743b!important; border:1.5px solid #18743b!important; background:#fff!important; }
  .print-status.non-definito { color:#444!important; border:1.4px solid #666!important; background:#fff!important; }
  .print-status.alto,.print-status.basso { color:#b00020!important; border:1.6px solid #b00020!important; background:#fff!important; text-transform:uppercase; }
  .print-status.alto::before { content:"▲ "; color:#b00020; font-weight:900; }
  .print-status.basso::before { content:"▼ "; color:#b00020; font-weight:900; }
  .print-key-value-table .col-label { width:28%; }
  .print-key-value-table .col-value { width:72%; }
  .print-key-value-table tbody th { background:#f3f6f5!important; }
  .print-ecg-table td,.print-ecg-table th { font-size:9pt; }
  .print-narrative-table .col-section { width:24%; }
  .print-narrative-table .col-content { width:76%; }
  .print-narrative-table tbody th { background:#f3f6f5!important; }
  .print-narrative-table td { white-space:normal; }
  .print-therapy-table td:first-child,.print-therapy-table th:first-child { white-space:normal!important; }
  .print-document-header,.print-document-footer { break-inside:avoid; page-break-inside:avoid; }
}

/* TEST 10: valori numerici lunghi non devono invadere le colonne adiacenti nel PDF. */
@media print {
  .print-results-table .numeric-cell,
  .print-results-table .numeric-cell strong {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-all !important;
  }
}


/* TEST 11 · tessera, grafici finali, margini e campi PDF modificabili */
.pdf-field-editor{display:grid;gap:8px;margin-top:10px}
.pdf-field-row{display:grid;grid-template-columns:88px minmax(150px,.55fr) minmax(260px,1fr) auto;gap:8px;align-items:start;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.pdf-field-row textarea{min-height:64px;resize:vertical}
.pdf-field-toggle{display:flex;align-items:center;gap:6px;font-size:.86rem;font-weight:700;padding-top:10px}
.pdf-field-toggle input{width:16px;height:16px;margin:0}
@media(max-width:780px){.pdf-field-row{grid-template-columns:1fr}.pdf-field-toggle{padding-top:0}}

@media print {
  @page { size:A4; margin:10mm; }
  .print-page { padding:0!important; }
  .print-document-header { margin:0 0 3mm!important; padding:0 0 2.5mm!important; }
  .print-document-header h2 { margin:0!important; padding:0!important; line-height:1.12; }
  .print-document-date { margin-top:1mm; line-height:1; }
  .print-health-card-section { break-inside:avoid; page-break-inside:avoid; }
  .print-health-card-section>h2 { margin-top:5mm; }
  .print-health-card img { display:block; max-width:100%; max-height:76mm; object-fit:contain; }
  .print-graphs-page { break-before:page; }
  .print-graphs-page>h2 { margin:0 0 3mm; }
  .print-graphs-grid { display:grid; grid-template-rows:repeat(2,minmax(0,1fr)); gap:4mm; height:244mm; }
  .print-graph-card { break-inside:avoid; page-break-inside:avoid; overflow:hidden; border:1px solid #c9d4d2; padding:2.5mm 3mm; display:flex; flex-direction:column; }
  .print-graph-card h3 { margin:0 0 1mm; font-size:11pt; }
  .print-graph-card p { margin:0 0 1.5mm; font-size:8.5pt; }
  .print-graph-card .chart-shell { flex:1; min-height:0; border:0; padding:0; overflow:hidden; }
  .print-graph-card .health-chart { width:100%; height:100%; max-height:100mm!important; min-width:0; }
  .print-graph-card .monitor-health-chart { width:100%; height:100%; max-height:100mm!important; }
}

/* TEST 12 · allineamento reale dei titoli di sezione e gruppo tiroideo */
@media print {
  /*
     Le pagine create con .print-section usavano il margine superiore
     predefinito del browser per il primo h2. I referti usano invece
     .print-document-header h2 con margine azzerato. Questa differenza
     spiegava lo spazio aggiuntivo visibile, per esempio, sopra
     "Terapie farmacologiche in corso" ma non sopra i titoli dei referti.
  */
  .print-page.print-section > h2:first-child {
    margin-top: 0 !important;
    margin-block-start: 0 !important;
  }
}


/* TEST 13 · opzione PDF "Risparmia spazio" */
@media print {
  /*
     Solo i referti e le visite smettono di forzare una nuova pagina.
     Frontespizio, scheda personale, terapie, indice, monitoraggi e grafici
     conservano le rispettive interruzioni di pagina.
  */
  #printRoot.print-space-saving .print-document {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  /* Il titolo non deve restare isolato in fondo pagina. */
  #printRoot.print-space-saving .print-document-header {
    page-break-after: avoid !important;
    break-after: avoid-page !important;
  }

  /* Mantiene un distacco leggibile tra due documenti sulla stessa pagina. */
  #printRoot.print-space-saving .print-document-footer {
    margin-bottom: 5mm !important;
  }
}

/* TEST 14 · flusso compatto coerente, righe narrative divisibili e indice navigabile */
@media print {
  /*
     In modalità Risparmia spazio tutte le sezioni cliniche partecipano allo
     stesso flusso. Restano isolate soltanto copertina e pagine dei grafici.
  */
  #printRoot.print-space-saving .print-flow-section {
    page-break-before: auto !important;
    break-before: auto !important;
    page-break-after: auto !important;
    break-after: auto !important;
    min-height: 0 !important;
  }
  #printRoot.print-space-saving .print-cover {
    page-break-after: always !important;
    break-after: page !important;
  }
  #printRoot.print-space-saving .print-graphs-page {
    page-break-before: always !important;
    break-before: page !important;
    page-break-after: always !important;
    break-after: page !important;
  }
  #printRoot.print-space-saving .print-flow-section + .print-flow-section {
    margin-top: 4.5mm;
  }
  #printRoot.print-space-saving .print-flow-section > h2,
  #printRoot.print-space-saving .print-flow-section > h3,
  #printRoot.print-space-saving .print-document-header {
    page-break-after: avoid !important;
    break-after: avoid-page !important;
  }
  #printRoot.print-space-saving .print-flow-section > h2 + table,
  #printRoot.print-space-saving .print-flow-section > h3 + table,
  #printRoot.print-space-saving .print-document-header + table {
    page-break-before: avoid !important;
    break-before: avoid-page !important;
  }
  #printRoot.print-space-saving .print-treatment-section > h2:not(:first-child) {
    margin-top: 4.5mm !important;
  }

  /* Le righe lunghe sono già suddivise in blocchi clinici leggibili. */
  .print-table tr.print-splittable-row {
    page-break-inside: avoid !important;
    break-inside: avoid-page !important;
  }
  .print-continuation-row th,
  .print-continuation-row td {
    border-top-style: dashed !important;
  }
  .print-continuation-label { display:block; font-weight:700; }
  .print-continuation-label small { display:block; margin-top:.5mm; font-size:7.5pt; font-weight:600; color:#555; }

  /* Navigazione bidirezionale tra indice e documenti nel PDF. */
  .print-document-footer { display:flex; justify-content:space-between; gap:5mm; align-items:flex-end; }
  .print-back-index { color:#111!important; text-decoration:underline; white-space:nowrap; font-weight:700; }
  .print-index-link { font-weight:700; }
}


/* TEST 14 · impedisce che il solo piè di documento occupi una nuova pagina */
@media print {
  .print-document .print-table tbody tr:last-child,
  .print-document .print-narrative:last-child {
    page-break-after: avoid !important;
    break-after: avoid-page !important;
  }
  .print-document-footer {
    page-break-before: avoid !important;
    break-before: avoid-page !important;
  }
}


/* TEST 15 · pulizia clinica uniforme e divisione più fine dei testi lunghi */
@media print {
  .print-narrative-table td,
  .print-diagnosis-table td:last-child,
  .print-narrative p {
    orphans: 4;
    widows: 4;
  }
  .print-splittable-row td,
  .print-splittable-row th {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
  #printRoot.print-space-saving .print-flow-section:empty { display:none !important; }
  #printRoot.print-space-saving .print-flow-section + .print-flow-section { margin-top:3.5mm; }
  #printRoot.print-space-saving .print-document-footer { margin-bottom:3.5mm !important; }
}

@media print {
  .print-document-header-actions { display:flex; flex-direction:column; align-items:flex-end; gap:1.2mm; }
  .print-document-header .print-back-index { font-size:7.8pt; }
  .print-meta-table tr:last-child th,
  .print-meta-table tr:last-child td { font-size:8pt; color:#444; }
}


/* TEST 16 · tabelle laboratorio riparate e impaginazione compatta */
@media print {
  .print-results-table tbody { break-inside:auto!important; page-break-inside:auto!important; }
  .print-results-table tr { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-results-table { margin-bottom:2.5mm!important; }
  .print-status.insufficiente { color:#9a5200!important; border:1.5px solid #9a5200!important; background:#fff!important; }
}


/* TEST 17 · fonti degli stati, avvertenze e colori di attenzione */
.print-status.da-verificare,.badge.da-verificare { color:#9a5200!important; border-color:#c06b00!important; background:#fff8e8!important; }
.print-status.insufficiente,.badge.insufficiente { color:#b00020!important; border-color:#b00020!important; background:#fff!important; }
.print-reference-source { margin-left:1mm; font-weight:800; color:#7a4700; }
.print-interpretation-legend { margin:4mm 0; }
.print-legend-box { border:1px solid #aebfbc; border-left:1.5mm solid var(--primary); padding:3mm 4mm; font-size:8.5pt; }
.print-legend-box p { margin:0 0 1.4mm; }
.print-legend-box p:last-child { margin-bottom:0; }
.security-warning-scroll { max-height:48vh; overflow:auto; border:1px solid #ccd8d6; padding:14px; margin:12px 0; background:#fff; line-height:1.45; }
@media print {
  .print-results-table tbody { break-inside:auto!important; page-break-inside:auto!important; }
  .print-results-table tr { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-interpretation-legend { break-inside:avoid; page-break-inside:avoid; }
}

/* TEST 20 · validazione clinica centrale, sottosezioni e colonna Riferimento */
.lab-panel-block { margin-top:16px; }
.lab-panel-block:first-child { margin-top:10px; }
.lab-panel-block > h4 {
  margin:0 0 7px;
  padding:7px 10px;
  border-left:4px solid var(--primary);
  background:#f5f0ef;
  font-size:.94rem;
}
.print-lab-panel { margin:2.5mm 0 4mm; }
.print-panel-title {
  margin:0 0 1.5mm;
  padding:1.5mm 2.2mm;
  border-left:1.2mm solid var(--primary);
  background:#f1f5f4;
  font-size:9.5pt;
  line-height:1.15;
}
@media print {
  .print-lab-panel { break-inside:auto; page-break-inside:auto; }
  .print-panel-title {
    break-after:avoid-page;
    page-break-after:avoid;
  }
  .print-panel-title + .print-results-table thead {
    display:table-header-group;
  }
}

/* TEST 22 · sezioni narrative unificate, celle confinate e stato non applicabile */
.print-status.alterato,.badge.alterato { color:#b00020!important; border-color:#b00020!important; background:#fff!important; }
@media print {
  .print-narrative-table .col-section { width:24%!important; }
  .print-narrative-table .col-content { width:76%!important; }
  .print-narrative-table th,
  .print-narrative-table td {
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    vertical-align:top!important;
    max-width:0;
  }
  .print-narrative-table tbody th {
    hyphens:auto;
  }
  .print-narrative-row {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .print-narrative-row th,
  .print-narrative-row td {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  .print-interpretation-legend {
    margin-top:0!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
}


/* TEST 22 · flusso PDF definitivo, righe narrative divisibili e interfaccia reattiva */
.inline-field-actions{display:flex;gap:8px;align-items:center}.inline-field-actions .form-control{flex:1;min-width:0}.inline-field-actions .btn{white-space:nowrap}
@media(max-width:700px){.inline-field-actions{align-items:stretch;flex-direction:column}}
@media print {
  /* L'ultima riga di una tabella non deve essere trascinata dal blocco successivo. */
  .print-document .print-table tbody tr:last-child,
  .print-document .print-narrative:last-child { page-break-after:auto!important; break-after:auto!important; }
  .print-document-footer { page-break-before:auto!important; break-before:auto!important; }

  /* Metadati, fonte originale, risultati e pannelli partecipano al flusso disponibile. */
  .print-document,.print-meta-table,.print-source-table,.print-lab-panel,.print-results-table,.print-narrative-table { break-inside:auto!important; page-break-inside:auto!important; }
  .print-source-table { margin-top:2.5mm!important; margin-bottom:3mm!important; }
  .print-source-table th { width:34%; }
  .print-subtitle { break-after:avoid-page!important; page-break-after:avoid!important; }
  .print-subtitle + .print-lab-panel { break-before:avoid-page!important; page-break-before:avoid!important; }
  .print-panel-title { break-after:avoid-page!important; page-break-after:avoid!important; }
  .print-panel-title + .print-results-table { break-before:avoid-page!important; page-break-before:avoid!important; }
  .print-results-table thead,.print-narrative-table thead { display:table-header-group!important; }
  .print-results-table tbody tr { break-inside:avoid!important; page-break-inside:avoid!important; }

  /* Le sezioni narrative sono divise in blocchi PDF, non in nuovi record clinici. */
  .print-narrative-table tbody tr { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-narrative-continuation th,.print-narrative-continuation td { border-top-style:dashed!important; }
  .print-narrative-table th,.print-narrative-table td { overflow-wrap:anywhere!important; white-space:normal!important; }

  /* In modalità risparmio spazio nessun contenitore del referto forza un salto. */
  #printRoot.print-space-saving .print-document,
  #printRoot.print-space-saving .print-document > .print-table,
  #printRoot.print-space-saving .print-document > .print-lab-panel,
  #printRoot.print-space-saving .print-document > .print-narrative-table { page-break-before:auto!important;break-before:auto!important;page-break-after:auto!important;break-after:auto!important; }
}


/* TEST 23 · flusso PDF verificato e nessuna ricomparsa di record legacy */
@media print {
  .print-document-intro { break-inside:avoid!important; page-break-inside:avoid!important; margin:0 0 3mm!important; }
  .print-document-intro .print-meta-table { margin-bottom:0!important; break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-document .print-table tbody tr:last-child { page-break-after:auto!important; break-after:auto!important; }
  .print-lab-panel,.print-results-table,.print-results-table tbody { break-inside:auto!important; page-break-inside:auto!important; }
  .print-results-table thead { display:table-header-group!important; }
  .print-results-table tr { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-panel-title { break-after:avoid-page!important; page-break-after:avoid!important; }
  .print-narrative-table tbody { break-inside:auto!important; page-break-inside:auto!important; }
  .print-narrative-table tbody tr { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-narrative-continuation th { color:transparent!important; border-top:0!important; }
  .print-narrative-continuation td { border-top:0!important; }
  .print-narrative-table th,.print-narrative-table td { vertical-align:top!important; overflow-wrap:anywhere!important; white-space:normal!important; }
}


/* TEST 24: regole finali e non sovrascrivibili per la stampa clinica. */
@media print {
  .print-document-intro {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .print-document-intro .print-meta-table {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: 0 !important;
  }
  .print-document > .print-narrative-table,
  .print-narrative-table,
  .print-narrative-table tbody,
  .print-narrative-table tbody tr,
  .print-narrative-table tbody th,
  .print-narrative-table tbody td {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  .print-narrative-table tbody tr {
    break-before: auto !important;
    break-after: auto !important;
  }
  .print-narrative-table tbody tr + tr th,
  .print-narrative-table tbody tr + tr td {
    border-top: 1px solid #6f7f7c !important;
  }
  .print-narrative-row th,
  .print-narrative-row td {
    vertical-align: top !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .print-narrative-continuation { display: none !important; }
  .print-results-table tbody,
  .print-lab-panel {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }
  .print-results-table thead,
  .print-narrative-table thead { display: table-header-group !important; }
  .print-results-table tbody tr {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .print-panel-title,
  .print-subtitle {
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }
}

/* TEST 25 · frammentazione narrativa controllata, grafici nel flusso e indice esteso */
.print-narrative-sections { display:block; }
.print-narrative-section,
.print-narrative-fragment { margin:0 0 3mm; }
.print-narrative-grid-header,
.print-narrative-grid-body { display:grid; grid-template-columns:24% 76%; }
.print-narrative-grid-header > div {
  padding:1.25mm 1.5mm;
  border:1px solid #777;
  background:#eef6f5;
  font-weight:700;
  line-height:1.18;
}
.print-narrative-grid-header > div + div { border-left:0; }
.print-narrative-grid-body {
  border-left:1px solid #777;
  border-right:1px solid #777;
  border-bottom:1px solid #777;
}
.print-narrative-label,
.print-narrative-content {
  padding:1.25mm 1.5mm;
  vertical-align:top;
  overflow-wrap:anywhere;
  white-space:normal;
}
.print-narrative-label {
  background:#f3f6f5;
  border-right:1px solid #777;
}
.print-narrative-label strong { display:block; }
.print-narrative-label small {
  display:block;
  margin-top:.8mm;
  font-size:7.4pt;
  line-height:1.2;
  color:#555;
  font-weight:600;
}
.print-narrative-content p { margin:0 0 2.2mm; line-height:1.4; }
.print-narrative-content p:last-child { margin-bottom:0; }
.print-index-panel-row td { padding-top:.8mm!important; padding-bottom:.8mm!important; border-top:0!important; background:#fafcfc; }
.print-index-panel-link { display:inline-block; padding-left:5mm; font-size:8.4pt; font-weight:650; color:#203c39!important; text-decoration:underline; }
.print-panel-title { scroll-margin-top:10mm; }

/* Il layout viene misurato fuori schermo prima dell'apertura della stampa. */
#printRoot.print-preparing {
  display:block!important;
  position:absolute!important;
  left:-10000px!important;
  top:0!important;
  width:190mm!important;
  visibility:hidden!important;
  color:#111!important;
  background:#fff!important;
  font:10pt/1.32 Arial,sans-serif!important;
  box-sizing:border-box!important;
}
#printRoot.print-preparing .print-page { padding:0!important; box-sizing:border-box!important; }
#printRoot.print-preparing .print-document { padding:0!important; }
#printRoot.print-preparing .print-document-header { display:flex; justify-content:space-between; gap:8mm; border-bottom:2px solid var(--primary); padding:0 0 2.5mm; margin:0 0 3mm; }
#printRoot.print-preparing .print-document-header h2 { margin:0; font-size:17pt; line-height:1.12; }
#printRoot.print-preparing .print-document-date { margin-top:1mm; font-size:10pt; font-weight:700; }
#printRoot.print-preparing .print-table { width:100%; border-collapse:collapse; table-layout:fixed; margin:0 0 4mm; font-size:9.5pt; }
#printRoot.print-preparing .print-table th,
#printRoot.print-preparing .print-table td { border:1px solid #777; padding:1.25mm 1.5mm; line-height:1.18; vertical-align:top; }
#printRoot.print-preparing .print-table th { background:#eef6f5; text-align:left; }
#printRoot.print-preparing .print-meta-table { table-layout:auto; }
#printRoot.print-preparing .print-meta-table th { width:34%; }
#printRoot.print-preparing .print-subtitle { margin:5mm 0 2mm; font-size:11.5pt; }
#printRoot.print-preparing .print-panel-title { margin:0 0 1.5mm; padding:1.5mm 2.2mm; font-size:9.5pt; line-height:1.15; }
#printRoot.print-preparing .print-lab-panel { margin:2.5mm 0 4mm; }
#printRoot.print-preparing .print-section > h2:first-child { margin-top:0; }
#printRoot.print-preparing .print-graph-card { height:112mm; box-sizing:border-box; }
.print-measure-sandbox { position:absolute!important; left:0!important; top:0!important; width:100%!important; visibility:hidden!important; pointer-events:none!important; }

@media print {
  .print-force-page-before { break-before:page!important; page-break-before:always!important; }
  .print-narrative-section { display:none!important; }
  .print-narrative-fragment {
    display:block!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
  }
  .print-narrative-grid-header,
  .print-narrative-grid-body { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-narrative-grid-header { display:grid!important; }
  .print-narrative-grid-body { display:grid!important; }
  .print-narrative-content { orphans:4; widows:4; }

  /* L'ultimo referto può condividere lo spazio residuo con i grafici. */
  .print-document-before-graphs { break-after:auto!important; page-break-after:auto!important; }
  .print-graphs-section { margin-top:4.5mm; break-before:auto!important; page-break-before:auto!important; }
  .print-graphs-start { break-inside:avoid!important; page-break-inside:avoid!important; }
  .print-graphs-start > h2 { margin:0 0 3mm; border-bottom:2px solid var(--primary); padding-bottom:3mm; }
  .print-graphs-section > .print-graph-card { margin-top:4mm; }
  .print-graph-card {
    height:112mm!important;
    min-height:112mm!important;
    max-height:112mm!important;
    box-sizing:border-box!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    overflow:hidden!important;
    border:1px solid #c9d4d2!important;
    padding:2.5mm 3mm!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .print-graph-card .chart-shell { flex:1; min-height:0; border:0!important; padding:0!important; overflow:hidden!important; }
  .print-graph-card .health-chart,
  .print-graph-card .monitor-health-chart { width:100%!important; height:100%!important; max-height:100mm!important; min-width:0!important; }
  .print-monitor-chart { break-before:auto!important; page-break-before:auto!important; }
  .print-graphs-page { break-before:auto!important; page-break-before:auto!important; }

  /* Sottovoci presenti solo nell'indice esteso generato dal codice. */
  .print-index-panel-row td:first-child,
  .print-index-panel-row td:last-child { color:transparent; }
}


/* TEST 26 · flusso definitivo dei referti e protezione universale del testo narrativo */
@media print {
  /* I referti partecipano sempre al flusso, in entrambe le modalità PDF. */
  #printRoot .print-document {
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    min-height:0!important;
    margin-top:4.5mm!important;
  }
  #printRoot .print-document:first-of-type { margin-top:0!important; }

  /* Titolo e tabella metadati possono usare anche solo una parte dello spazio residuo. */
  #printRoot .print-document-intro,
  #printRoot .print-document-intro .print-meta-table {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-document-header {
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }
  #printRoot .print-meta-table tbody,
  #printRoot .print-meta-table tr {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* Pannelli e risultati possono proseguire nella pagina successiva riga per riga. */
  #printRoot .print-lab-panel,
  #printRoot .print-results-table,
  #printRoot .print-results-table tbody {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-results-table thead { display:table-header-group!important; }
  #printRoot .print-results-table tbody tr {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  /* Il testo sorgente rimane visibile se la preparazione JS non viene eseguita.
     Viene nascosto soltanto dopo la creazione verificata dei frammenti TEST 26. */
  #printRoot:not([data-print-layout-prepared="test26"]) .print-narrative-section {
    display:block!important;
  }
  #printRoot[data-print-layout-prepared="test26"] .print-narrative-section {
    display:none!important;
  }
  #printRoot[data-print-layout-prepared="test26"] .print-narrative-fragment {
    display:block!important;
  }
}

/* TEST 28 - tabella narrativa unica, bordi completi e controllo canonico del PDF. */
.print-narrative-table {
  width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  margin:0 0 3mm;
  border:1px solid #777;
}
.print-narrative-table .col-section { width:24%; }
.print-narrative-table .col-content { width:76%; }
.print-narrative-table th,
.print-narrative-table td {
  border:1px solid #777;
  padding:1.25mm 1.5mm;
  vertical-align:top;
  overflow-wrap:anywhere;
  white-space:normal;
  line-height:1.35;
}
.print-narrative-table thead th {
  background:#eef6f5;
  font-weight:700;
  text-align:left;
}
.print-narrative-table tbody th {
  background:#f3f6f5;
  text-align:left;
}
.print-narrative-table tbody th small {
  display:block;
  margin-top:.8mm;
  font-size:7.4pt;
  line-height:1.2;
  color:#555;
  font-weight:600;
}
.print-narrative-table .print-narrative-content p { margin:0 0 2.2mm; }
.print-narrative-table .print-narrative-content p:last-child { margin-bottom:0; }
.print-narrative-fragment-table { box-decoration-break:clone; -webkit-box-decoration-break:clone; }

@media print {
  #printRoot .print-document {
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
    min-height:0!important;
    margin-top:4.5mm!important;
  }
  #printRoot .print-document:first-of-type { margin-top:0!important; }
  #printRoot .print-document-intro,
  #printRoot .print-document-intro .print-meta-table {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-document-header {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }
  #printRoot .print-meta-table tbody,
  #printRoot .print-meta-table tr {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #printRoot .print-narrative-source-table,
  #printRoot .print-narrative-fragment-table {
    border:1px solid #777!important;
    border-collapse:collapse!important;
  }
  #printRoot .print-narrative-table thead { display:table-header-group!important; }
  #printRoot .print-narrative-table th,
  #printRoot .print-narrative-table td {
    border:1px solid #777!important;
    vertical-align:top!important;
  }
  #printRoot .print-narrative-fragment-table {
    display:table!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #printRoot[data-print-layout-prepared="test28"] .print-narrative-source-table { display:none!important; }
  #printRoot[data-print-layout-prepared="test28"] .print-narrative-fragment-table { display:table!important; }
  #printRoot:not([data-print-layout-prepared="test28"]) .print-narrative-source-table { display:table!important; }
  #printRoot .print-narrative-section,
  #printRoot .print-narrative-fragment,
  #printRoot .print-narrative-grid-header,
  #printRoot .print-narrative-grid-body { display:none!important; }
  .print-force-page-before { break-before:page!important; page-break-before:always!important; }
}

/* TEST 27 v3 - flusso continuo reale tra documenti e tabelle narrative. */
@media print {
  #printRoot .print-page.print-document,
  #printRoot.print-space-saving .print-page.print-document {
    page-break-before:auto!important;
    break-before:auto!important;
    page-break-after:auto!important;
    break-after:auto!important;
    min-height:0!important;
    height:auto!important;
  }
  #printRoot .print-document + .print-document .print-document-intro {
    margin-top:4.5mm!important;
  }
  #printRoot .print-document-intro {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-document-header {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }
  #printRoot .print-meta-table {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-meta-table tr {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #printRoot .print-narrative-fragment-table {
    border:1px solid #777!important;
    border-collapse:collapse!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #printRoot .print-narrative-fragment-table th,
  #printRoot .print-narrative-fragment-table td {
    border:1px solid #777!important;
  }
}


/* TEST 30 - flusso verticale completo, blocchi minimi e frammentazione delle righe narrative lunghe. */
@media print {
  #printRoot .print-document {
    margin-top:0!important;
    break-before:auto!important;
    page-break-before:auto!important;
    break-after:auto!important;
    page-break-after:auto!important;
  }
  #printRoot .print-document + .print-document .print-document-intro {
    margin-top:2.5mm!important;
  }
  #printRoot .print-document-intro {
    margin-bottom:2.5mm!important;
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-document > :last-child {
    margin-bottom:0!important;
  }
  #printRoot .print-document-header {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }
  #printRoot .print-meta-table,
  #printRoot .print-meta-table tbody {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-meta-table tr {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #printRoot .print-subtitle,
  #printRoot .print-panel-title {
    break-after:avoid-page!important;
    page-break-after:avoid!important;
  }
  #printRoot .print-lab-panel,
  #printRoot .print-results-table,
  #printRoot .print-results-table tbody {
    break-inside:auto!important;
    page-break-inside:auto!important;
  }
  #printRoot .print-results-table thead { display:table-header-group!important; }
  #printRoot .print-results-table tbody tr {
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }
  #printRoot .print-narrative-fragment-table {
    display:table!important;
    border:1px solid #777!important;
    border-collapse:collapse!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
    margin-bottom:2.5mm!important;
    box-decoration-break:clone;
    -webkit-box-decoration-break:clone;
  }
  #printRoot .print-narrative-fragment-table thead { display:table-header-group!important; }
  #printRoot .print-narrative-fragment-table th,
  #printRoot .print-narrative-fragment-table td { border:1px solid #777!important; }
  #printRoot .print-narrative-continuation-start th small {
    display:block!important;
    margin-top:.8mm!important;
    font-size:7.4pt!important;
    line-height:1.2!important;
    color:#555!important;
    font-weight:600!important;
  }
  #printRoot[data-print-layout-prepared="test30"] .print-narrative-source-table { display:none!important; }
  #printRoot[data-print-layout-prepared="test30"] .print-narrative-fragment-table { display:table!important; }
  .print-force-page-before { break-before:page!important; page-break-before:always!important; }
}

/* TEST 30 - stessa area utile durante misurazione e stampa. */
@media print {
  #printRoot {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
}

/* TEST 30 - area utile unica e flusso reale nello spazio residuo. */
#printRoot.print-preparing {
  width:186mm!important;
  max-width:186mm!important;
}
#printRoot.print-preparing .print-document,
#printRoot.print-preparing .print-page.print-document {
  padding:0!important;
  margin-left:0!important;
  margin-right:0!important;
}

@media print {
  /* I margini fisici sono definiti una sola volta da @page. Nessun referto
     aggiunge un secondo rientro orizzontale o verticale. */
  #printRoot {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  #printRoot .print-page,
  #printRoot .print-section,
  #printRoot .print-document,
  #printRoot .print-page.print-document,
  #printRoot.print-space-saving .print-page.print-document {
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
    margin-bottom:0!important;
    box-sizing:border-box!important;
  }
  #printRoot .print-document-intro {
    margin-top:0!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:0!important;
  }
  #printRoot .print-document + .print-document .print-document-intro {
    margin-top:2.5mm!important;
  }

  /* I frammenti creati dal misuratore TEST 30 sono già dimensionati sullo
     spazio reale della pagina e possono quindi restare atomici senza essere
     spostati inutilmente. */
  #printRoot[data-print-layout-prepared="test30"] .print-narrative-source-table {
    display:none!important;
  }
  #printRoot[data-print-layout-prepared="test30"] .print-narrative-fragment-table {
    display:table!important;
  }
}

/* TEST 32 · motore di impaginazione unico e deterministico.
   Questa sezione è l'unica autorità per le pagine PDF generate dal paginator. */
@page { size: A4; margin: 0; }

#printRoot.print-preparing {
  display:block!important;
  position:absolute!important;
  left:-12000px!important;
  top:0!important;
  width:210mm!important;
  max-width:210mm!important;
  margin:0!important;
  padding:0!important;
  visibility:hidden!important;
  background:#fff!important;
  color:#111!important;
  font:10pt/1.32 Arial,sans-serif!important;
  box-sizing:border-box!important;
}
.print-paginated-root {
  width:210mm;
  margin:0;
  padding:0;
  background:#fff;
  box-sizing:border-box;
}
.print-sheet {
  width:210mm;
  height:297mm;
  margin:0;
  padding:10mm;
  box-sizing:border-box;
  overflow:hidden;
  position:relative;
  background:#fff;
}
.print-sheet-content {
  width:190mm;
  height:277mm;
  margin:0;
  padding:0;
  overflow:hidden;
  box-sizing:border-box;
}
.print-sheet-content > .print-document-gap {
  display:block;
  width:100%;
  height:4mm;
  min-height:4mm;
  max-height:4mm;
  margin:0!important;
  padding:0!important;
  flex:0 0 4mm;
}
.print-paginated-root .print-page,
.print-paginated-root .print-section,
.print-paginated-root .print-document,
.print-paginated-root .print-flow-section,
.print-paginated-root .print-section-fragment,
.print-paginated-root .print-document-fragment {
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  break-before:auto!important;
  page-break-before:auto!important;
  break-after:auto!important;
  page-break-after:auto!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.print-paginated-root .print-document-fragment > .print-document-intro,
.print-paginated-root .print-document-fragment > .print-document-intro-fragment {
  margin:0!important;
  padding:0!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.print-paginated-root .print-document-fragment > :not(:first-child) {
  margin-top:2.5mm!important;
}
.print-paginated-root .print-document-fragment > .print-subtitle + .print-lab-panel-fragment,
.print-paginated-root .print-document-fragment > .print-subtitle + table {
  margin-top:0!important;
}
.print-paginated-root .print-document-header {
  margin:0 0 3mm!important;
  padding:0 0 2.5mm!important;
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.print-paginated-root .print-document-header h2 {
  margin:0!important;
  padding:0!important;
  line-height:1.12!important;
}
.print-paginated-root .print-document-date { margin-top:1mm!important; }
.print-paginated-root .print-table {
  width:100%!important;
  margin:0!important;
  border-collapse:collapse!important;
  table-layout:fixed;
  box-sizing:border-box!important;
}
.print-paginated-root .print-meta-table { table-layout:auto!important; }
.print-paginated-root .print-meta-table tr,
.print-paginated-root .print-results-table tr,
.print-paginated-root .print-table-continuation tr {
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
.print-paginated-root .print-narrative-fragment-table {
  display:table!important;
  width:100%!important;
  margin:0!important;
  border:1px solid #777!important;
  border-collapse:collapse!important;
  table-layout:fixed!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.print-paginated-root .print-narrative-fragment-table thead,
.print-paginated-root .print-results-table thead,
.print-paginated-root .print-table-continuation thead {
  display:table-header-group!important;
}
.print-paginated-root .print-narrative-fragment-table th,
.print-paginated-root .print-narrative-fragment-table td {
  border:1px solid #777!important;
  vertical-align:top!important;
  overflow-wrap:anywhere!important;
  white-space:normal!important;
}
.print-paginated-root .print-narrative-fragment-table tbody tr,
.print-paginated-root .print-narrative-fragment-table tbody th,
.print-paginated-root .print-narrative-fragment-table tbody td {
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.print-paginated-root .print-narrative-continuation-start th small,
.print-paginated-root .print-panel-title small {
  display:block!important;
  margin-top:.8mm!important;
  font-size:7.4pt!important;
  line-height:1.2!important;
  color:#555!important;
  font-weight:600!important;
}
.print-paginated-root .print-lab-panel-fragment {
  width:100%!important;
  margin:0!important;
  padding:0!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.print-paginated-root .print-lab-panel-fragment .print-panel-title {
  margin:0 0 1.5mm!important;
}
.print-paginated-root .print-subtitle {
  margin:0 0 2mm!important;
  padding:0!important;
}
.print-paginated-root .print-section-fragment > h2:first-child {
  margin-top:0!important;
}
.print-paginated-root .print-source-table,
.print-paginated-root .print-narrative-source-table,
.print-paginated-root .print-force-page-before {
  break-before:auto!important;
  page-break-before:auto!important;
}
.print-paginated-root .print-oversize-block,
.print-paginated-root .print-oversize-row {
  outline:0!important;
}

@media print {
  html,body {
    width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
  }
  body > *:not(#printRoot) { display:none!important; }
  #printRoot {
    display:block!important;
    width:210mm!important;
    max-width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    color:#111!important;
    box-sizing:border-box!important;
  }
  #printRoot > .print-paginated-root { display:block!important; }
  .print-sheet {
    display:block!important;
    width:210mm!important;
    height:297mm!important;
    margin:0!important;
    padding:10mm!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    break-after:page!important;
    page-break-after:always!important;
  }
  .print-sheet:last-child {
    break-after:auto!important;
    page-break-after:auto!important;
  }
  .print-sheet-content {
    width:190mm!important;
    height:277mm!important;
    overflow:hidden!important;
  }
  .print-paginated-root * {
    box-sizing:border-box;
  }
}

/* TEST 32 · metriche identiche durante preparazione e stampa. */
.print-paginated-root {
  font:10pt/1.32 Arial,sans-serif!important;
  color:#111!important;
}
.print-paginated-root .print-document-header h2 { font-size:17pt!important; }
.print-paginated-root .print-document-date { font-size:10pt!important; font-weight:700!important; }
.print-paginated-root .print-table { font-size:9.5pt!important; }
.print-paginated-root .print-table th,
.print-paginated-root .print-table td {
  padding:1.25mm 1.5mm!important;
  line-height:1.18!important;
  vertical-align:top!important;
  border:1px solid #777!important;
}
.print-paginated-root .print-table th {
  background:#eef6f5!important;
  text-align:left!important;
}
.print-paginated-root .print-narrative-table th,
.print-paginated-root .print-narrative-table td {
  line-height:1.35!important;
}
.print-paginated-root .print-narrative-content p {
  margin:0 0 2.2mm!important;
  line-height:1.35!important;
}
.print-paginated-root .print-narrative-content p:last-child { margin-bottom:0!important; }
.print-paginated-root .print-panel-title {
  padding:1.5mm 2.2mm!important;
  font-size:9.5pt!important;
  line-height:1.15!important;
}
.print-paginated-root .print-section-fragment > h2,
.print-paginated-root .print-section-fragment > h1 {
  margin:0 0 3mm!important;
}
@media print {
  #printRoot,
  #printRoot > .print-paginated-root { font:10pt/1.32 Arial,sans-serif!important; }
}

/* TEST 32 · prevalenza esplicita sulle regole legacy con selettori #printRoot. */
#printRoot .print-paginated-root .print-document-fragment > .print-document-intro,
#printRoot .print-paginated-root .print-document-fragment > .print-document-intro-fragment {
  margin:0!important;
  padding:0!important;
}
#printRoot .print-paginated-root .print-status {
  display:inline-block!important;
  border-radius:999px!important;
  padding:.65mm 1.4mm!important;
  border:1.2px solid #bccbc8!important;
  font-size:7.8pt!important;
  font-weight:800!important;
  line-height:1.18!important;
  white-space:nowrap!important;
  background:#fff!important;
}
#printRoot .print-paginated-root .print-status.nei-limiti {
  color:#18743b!important;
  border:1.5px solid #18743b!important;
}
#printRoot .print-paginated-root .print-status.non-definito {
  color:#444!important;
  border:1.4px solid #666!important;
}
#printRoot .print-paginated-root .print-status.alto,
#printRoot .print-paginated-root .print-status.basso,
#printRoot .print-paginated-root .print-status.alterato,
#printRoot .print-paginated-root .print-status.insufficiente {
  color:#b00020!important;
  border:1.5px solid #b00020!important;
  text-transform:uppercase;
}

/* TEST 32 · gli elementi visivi usati dal dossier devono avere le stesse
   metriche durante la misurazione a schermo e nella stampa. Nelle versioni
   precedenti le regole della tessera sanitaria erano soltanto in @media print:
   durante il paginator le immagini conservavano le dimensioni naturali e
   producevano falsi overflow. */
.print-paginated-root .print-health-card-section {
  width:100%!important;
  margin:0!important;
  padding:0!important;
  min-width:0!important;
  max-width:none!important;
  break-inside:auto!important;
  page-break-inside:auto!important;
}
.print-paginated-root .print-health-card-section > h2 {
  margin:0 0 3mm!important;
}
.print-paginated-root .print-health-card {
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8mm!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
.print-paginated-root .print-health-card figure {
  display:block!important;
  min-width:0!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.print-paginated-root .print-health-card img {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:76mm!important;
  margin:0 auto!important;
  object-fit:contain!important;
}
.print-paginated-root .print-health-card figcaption {
  margin-top:2mm!important;
  text-align:center!important;
  font-weight:700!important;
}
.print-paginated-root .print-avatar {
  display:block!important;
  width:29mm!important;
  height:29mm!important;
  min-width:29mm!important;
  max-width:29mm!important;
  min-height:29mm!important;
  max-height:29mm!important;
  border-radius:50%!important;
  overflow:hidden!important;
  float:right!important;
  margin:0 0 3mm 8mm!important;
  border:1.2mm solid var(--primary)!important;
  box-sizing:border-box!important;
}
.print-paginated-root .print-avatar img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:cover!important;
}


/* TEST 34 · autorità finale unica per geometria, distanze e frammenti. */
:root { --print-flow-gap: 4mm; --print-page-padding: 10mm; }

#printRoot .print-paginated-root .print-flow-gap,
#printRoot .print-paginated-root .print-document-gap {
  display:block!important; width:100%!important; height:var(--print-flow-gap)!important;
  min-height:var(--print-flow-gap)!important; max-height:var(--print-flow-gap)!important;
  margin:0!important; padding:0!important; border:0!important;
}

/* Il frontespizio occupa l'intera area utile 190 x 277 mm. */
#printRoot .print-paginated-root .print-cover {
  width:100%!important; height:277mm!important; min-height:277mm!important; max-height:277mm!important;
  margin:0!important; box-sizing:border-box!important;
}

/* Titoli di nuova sezione: una sola distanza superiore, uguale ovunque. */
#printRoot .print-paginated-root .print-section-fragment > h1:not(:first-child),
#printRoot .print-paginated-root .print-section-fragment > h2:not(:first-child),
#printRoot .print-paginated-root .print-section-fragment > h3:not(:first-child) {
  margin-top:var(--print-flow-gap)!important;
}
#printRoot .print-paginated-root .print-section-fragment > h1:first-child,
#printRoot .print-paginated-root .print-section-fragment > h2:first-child,
#printRoot .print-paginated-root .print-section-fragment > h3:first-child { margin-top:0!important; }

/* Le tabelle sono frammenti autonomi, chiusi su ogni pagina. */
#printRoot .print-paginated-root table.print-table-fragment {
  border:1px solid #777!important; border-collapse:collapse!important;
  break-inside:auto!important; page-break-inside:auto!important;
}
#printRoot .print-paginated-root table.print-table-fragment > tbody > tr:last-child > th,
#printRoot .print-paginated-root table.print-table-fragment > tbody > tr:last-child > td { border-bottom:1px solid #777!important; }
#printRoot .print-paginated-root table.print-table-fragment > thead > tr:first-child > th { border-top:1px solid #777!important; }

/* Le righe sono unità di stampa; il paginator decide il cambio pagina. */
#printRoot .print-paginated-root table.print-table-fragment > tbody > tr {
  break-inside:avoid!important; page-break-inside:avoid!important;
}

/* Diagnosi principali: niente più blocchi atomici imposti dal CSS. */
#printRoot .print-paginated-root .print-diagnosis-main,
#printRoot .print-paginated-root .print-diagnosis-main-fragment {
  break-inside:auto!important; page-break-inside:auto!important; box-sizing:border-box!important;
}
#printRoot .print-paginated-root .print-diagnosis-main-fragment h3 small {
  display:block!important; margin-top:.8mm!important; font-size:7.4pt!important; line-height:1.2!important; color:#555!important; font-weight:600!important;
}

/* Le continuazioni non introducono distanze aggiuntive. */
#printRoot .print-paginated-root .print-continuation-wrapper > :first-child,
#printRoot .print-paginated-root .print-table-continuation { margin-top:0!important; }

/* TEST 34 · frontespizio: stessa geometria in misurazione, anteprima e stampa. */
#printRoot .print-paginated-root .print-cover {
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  text-align:left!important;
  padding:0!important;
  border:1px solid #d9e5e3!important;
  overflow:hidden!important;
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:100%!important;
}
#printRoot .print-paginated-root .print-cover::after {
  content:""; position:absolute; right:-42mm; bottom:18mm; width:115mm; height:115mm;
  border:17mm solid var(--primary-soft); border-radius:50%; z-index:0;
}
#printRoot .print-paginated-root .print-cover .cover-band {
  position:relative; z-index:1; min-height:63mm; padding:18mm 18mm 12mm; color:#fff; background:var(--primary-dark);
}
#printRoot .print-paginated-root .print-cover .cover-mark {
  width:18mm; height:18mm; border:1.2mm solid rgba(255,255,255,.85); border-radius:5mm;
  display:grid; place-items:center; font-size:20pt; font-weight:700; margin-bottom:10mm;
}
#printRoot .print-paginated-root .print-cover h1 { margin:0!important; font-size:31pt; line-height:1.04; letter-spacing:.02em; }
#printRoot .print-paginated-root .print-cover .cover-label { margin-top:4mm; font-size:10pt; letter-spacing:.16em; text-transform:uppercase; opacity:.84; }
#printRoot .print-paginated-root .print-cover .cover-person {
  position:relative; z-index:1; align-self:center; margin:0 18mm; padding:12mm 13mm;
  border-left:2.2mm solid var(--primary); background:rgba(255,255,255,.94);
}
#printRoot .print-paginated-root .print-cover .cover-person h2 { margin:0 0 7mm; font-size:24pt; color:#16302e; }
#printRoot .print-paginated-root .print-cover .cover-rule { width:32mm; height:1.2mm; background:var(--primary); margin-bottom:8mm; }
#printRoot .print-paginated-root .print-cover .cover-person dl { display:grid; grid-template-columns:46mm 1fr; gap:3.5mm 7mm; margin:0; font-size:10.5pt; }
#printRoot .print-paginated-root .print-cover .cover-person dt { color:#637a77; }
#printRoot .print-paginated-root .print-cover .cover-person dd { margin:0; font-weight:700; color:#16302e; }
#printRoot .print-paginated-root .print-cover .cover-summary { position:relative; z-index:1; margin-top:10mm; display:grid; grid-template-columns:repeat(3,1fr); gap:4mm; }
#printRoot .print-paginated-root .print-cover .cover-summary div { padding:4mm; border:1px solid #cbdcda; background:#f5faf9; }
#printRoot .print-paginated-root .print-cover .cover-summary strong { display:block; font-size:17pt; color:var(--primary-dark); }
#printRoot .print-paginated-root .print-cover .cover-summary span { display:block; margin-top:1mm; font-size:8.5pt; color:#637a77; }
#printRoot .print-paginated-root .print-cover .cover-footer {
  position:relative; z-index:1; margin:0!important; padding:8mm 18mm 10mm; font-size:8.5pt;
  color:#637a77; border-top:1px solid #d9e5e3;
}
#printRoot .print-paginated-root .print-row-continuation {
  display:block; margin-top:.8mm; font-size:7.4pt; line-height:1.2; color:#555; font-weight:600;
}

/* TEST 34 · i titoli di sezione hanno la stessa metrica durante misura e stampa. */
#printRoot .print-paginated-root .print-section-fragment > h2,
#printRoot .print-paginated-root .print-section-fragment > h1 {
  border-bottom:2px solid var(--primary)!important;
  padding-bottom:3mm!important;
  box-sizing:border-box!important;
}

/* TEST 34 · metrica testuale identica tra fase di misura e media di stampa. */
#printRoot .print-paginated-root .print-multiline,
#printRoot .print-paginated-root .print-diagnosis-main p,
#printRoot .print-paginated-root .print-diagnosis-main-fragment p {
  white-space:pre-wrap!important;
}

/* TEST 34 · stessa distanza superiore anche per i sottotitoli clinici dei referti. */
#printRoot .print-paginated-root .print-document-fragment > .print-subtitle:not(:first-child) {
  margin-top:var(--print-flow-gap)!important;
}

/* TEST 34 · blocco metrico definitivo: le stesse regole sono attive durante
   la misurazione DOM e durante @media print, così il paginator non decide
   usando dimensioni diverse da quelle che verranno realmente stampate. */
#printRoot .print-paginated-root .print-document-header {
  display:flex!important; justify-content:space-between!important; align-items:flex-start!important;
  gap:8mm!important; border-bottom:2px solid var(--primary)!important;
  padding:0 0 2.5mm!important; margin:0 0 3mm!important;
}
#printRoot .print-paginated-root .print-document-header h2 {
  margin:0!important; padding:0!important; border:0!important; font-size:17pt!important; line-height:1.12!important;
}
#printRoot .print-paginated-root .print-document-date {
  margin-top:1mm!important; font-size:10pt!important; font-weight:700!important; line-height:1!important;
}
#printRoot .print-paginated-root .print-document-header-actions {
  display:flex!important; flex-direction:column!important; align-items:flex-end!important; gap:1.2mm!important;
}
#printRoot .print-paginated-root .print-document-category {
  display:block!important; border:1px solid var(--primary)!important; border-radius:999px!important;
  padding:1.5mm 3mm!important; font-size:8.5pt!important; line-height:1.32!important; white-space:nowrap!important;
  background:#fff!important; color:var(--primary-dark)!important; -webkit-print-color-adjust:exact; print-color-adjust:exact;
}
#printRoot .print-paginated-root .print-document-header .print-back-index {
  display:block!important; color:#111!important; text-decoration:underline!important; white-space:nowrap!important;
  font-size:7.8pt!important; line-height:1.32!important; font-weight:700!important;
}
#printRoot .print-paginated-root .print-index-link,
#printRoot .print-paginated-root .print-index-link strong { font-weight:700!important; }

#printRoot .print-paginated-root .print-meta-table,
#printRoot .print-paginated-root .print-compact-table { table-layout:auto!important; }
#printRoot .print-paginated-root .print-meta-table th,
#printRoot .print-paginated-root .print-compact-table th { width:34%!important; }
#printRoot .print-paginated-root .print-meta-table tr:last-child th,
#printRoot .print-paginated-root .print-meta-table tr:last-child td {
  font-size:8pt!important; line-height:1.18!important; color:#444!important;
}

#printRoot .print-paginated-root .print-results-table .col-test { width:31%!important; }
#printRoot .print-paginated-root .print-results-table .col-result { width:13%!important; }
#printRoot .print-paginated-root .print-results-table .col-unit { width:14%!important; }
#printRoot .print-paginated-root .print-results-table .col-reference { width:27%!important; }
#printRoot .print-paginated-root .print-results-table .col-status { width:15%!important; }
#printRoot .print-paginated-root .print-results-table .numeric-cell,
#printRoot .print-paginated-root .print-results-table .numeric-cell strong {
  white-space:normal!important; overflow-wrap:anywhere!important; word-break:break-all!important;
}
#printRoot .print-paginated-root .print-table th,
#printRoot .print-paginated-root .print-table td,
#printRoot .print-paginated-root .print-index-link,
#printRoot .print-paginated-root .print-index-panel-link,
#printRoot .print-paginated-root .print-status { overflow-wrap:anywhere!important; }

#printRoot .print-paginated-root .print-index-table th:nth-child(1),
#printRoot .print-paginated-root .print-index-table td:nth-child(1) { width:18%!important; }
#printRoot .print-paginated-root .print-index-table th:nth-child(3),
#printRoot .print-paginated-root .print-index-table td:nth-child(3) { width:22%!important; }
#printRoot .print-paginated-root .print-index-table th:nth-child(4),
#printRoot .print-paginated-root .print-index-table td:nth-child(4) { width:10%!important; text-align:center!important; }

#printRoot .print-paginated-root .print-subtitle {
  margin:0 0 2mm!important; padding:0!important; font-size:11.5pt!important; line-height:1.32!important; color:#16302e!important;
}
#printRoot .print-paginated-root .print-empty {
  padding:4mm!important; border:1px solid #d9e5e3!important; color:#637a77!important;
}
#printRoot .print-paginated-root .print-status.alto::before { content:"▲ "!important; color:#b00020!important; font-weight:900!important; }
#printRoot .print-paginated-root .print-status.basso::before { content:"▼ "!important; color:#b00020!important; font-weight:900!important; }

/* ============================================================
   TEST 36 · intestazioni PDF neutre e leggibili
   ============================================================ */

/* Banda identificativa neutra: identica per tutti i profili e indipendente dalla palette.
   #ececec resta discreto a video e produce un grigio chiaramente percepibile anche
   su stampanti laser e in scala di grigi, senza ridurre il contrasto del testo nero. */
#printRoot .print-paginated-root {
  --print-heading-band: #ececec;
}
#printRoot .print-paginated-root .print-document-header {
  position:relative!important;
  isolation:isolate;
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
#printRoot .print-paginated-root .print-document-header::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  bottom:2.5mm;
  background:var(--print-heading-band);
  z-index:0;
  pointer-events:none;
}
#printRoot .print-paginated-root .print-document-header > * {
  position:relative;
  z-index:1;
}
/* Le sezioni principali usano la stessa banda, senza aggiungere padding o altezza. */
#printRoot .print-paginated-root .print-section-fragment > h1,
#printRoot .print-paginated-root .print-section-fragment > h2 {
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
  background-image:linear-gradient(var(--print-heading-band),var(--print-heading-band));
  background-repeat:no-repeat;
  background-position:left top;
  background-size:100% calc(100% - 3mm);
}

/* Archivio condiviso: un solo provider selezionabile alla volta. */
.cloud-provider-choice {
  display:grid;
  grid-template-columns:minmax(250px,.82fr) minmax(0,1.55fr);
  gap:16px;
  align-items:stretch;
  padding-bottom:14px;
}
.cloud-provider-selector,
.cloud-provider-stage {
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--surface);
  padding:16px;
}
.cloud-provider-selector {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.cloud-provider-selector h3,
.cloud-provider-stage h3 { margin:0; }
.cloud-provider-selector label { display:grid; gap:6px; }
.cloud-security-box {
  margin-top:2px;
  padding:13px;
  border:1px solid color-mix(in srgb,var(--primary) 18%,var(--line));
  border-radius:12px;
  background:color-mix(in srgb,var(--primary) 5%,var(--surface-2));
}
.cloud-security-box strong { display:block; margin-bottom:5px; }
.cloud-security-box p { margin:0; color:var(--muted); font-size:12px; line-height:1.48; }
.cloud-security-recommended {
  display:inline-flex;
  width:max-content;
  margin-top:8px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--primary-soft);
  color:var(--primary-dark);
  font-size:11px;
  font-weight:750;
}
.cloud-provider-stage { min-height:252px; }
.cloud-provider-pane { display:grid; gap:12px; height:100%; }
.cloud-provider-pane > p { margin:0; }
.cloud-mega-account-grid {
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(210px,.75fr);
  gap:14px;
  align-items:stretch;
}
.cloud-provider-compact {
  display:grid;
  gap:10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-2);
}
.cloud-provider-compact h4 { margin:0; font-size:14px; }
.cloud-provider-compact label { display:grid; gap:5px; }
.cloud-provider-compact .btn { align-self:end; }
.cloud-referral-note { margin:0; font-size:11px; line-height:1.4; color:var(--muted); }
.cloud-archive-provider-line {
  display:flex;
  align-items:center;
  gap:8px;
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:10px;
  background:var(--surface-2);
  color:var(--muted);
  font-size:12px;
}
.cloud-archive-provider-line strong { color:var(--text); }
.cloud-no-connection { margin:0; }
@media(max-width:900px){
  .cloud-provider-choice,.cloud-mega-account-grid{grid-template-columns:1fr}
}

/* ============================================================
   TEST 37 · paginazione globale a riempimento reale
   ============================================================ */
#printRoot .print-paginated-root .print-interpretation-legend,
#printRoot .print-paginated-root .print-flow-box-fragment {
  break-inside:auto!important;
  page-break-inside:auto!important;
}
#printRoot .print-paginated-root .print-flow-box-fragment {
  box-sizing:border-box!important;
}
#printRoot .print-paginated-root table.print-table-fragment > tbody > tr.print-row-fragment {
  break-inside:avoid!important;
  page-break-inside:avoid!important;
}
#printRoot .print-paginated-root .print-row-fragment-continuation .print-row-continuation {
  display:block!important;
  margin-top:.8mm!important;
  font-size:7.4pt!important;
  line-height:1.2!important;
  color:#555!important;
  font-weight:600!important;
  white-space:normal!important;
}


/* V6.0.1 · leggibilità Esenzioni estese */
.exemption-card-stack{
  display:grid;
  gap:26px;
}
.exemption-card{
  display:grid;
  gap:14px;
  padding:2px 0 22px;
}
.exemption-card + .exemption-card{
  padding-top:22px;
  border-top:1px solid var(--line);
}
.exemption-card header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.exemption-card header h3{
  margin:8px 0 0;
}
.exemption-card .exemption-meta-grid{
  gap:18px 34px;
}
.exemption-card .exemption-meta-grid > div{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-width:0;
}
.exemption-card .exemption-meta-grid > div small{
  flex:0 0 auto;
  color:var(--muted);
}
.exemption-card .exemption-meta-grid > div strong{
  min-width:0;
}

@media(max-width:760px){
  .exemption-card header{display:grid;}
  .exemption-card .exemption-meta-grid{grid-template-columns:1fr;}
}

@media print{
  #printRoot:not(.print-space-saving) .print-graphs-section .print-section-fragment{
    margin:0!important;
  }
  #printRoot:not(.print-space-saving) .print-graphs-section .print-graph-card{
    height:112mm!important;
    min-height:112mm!important;
    max-height:112mm!important;
  }
  .print-exemptions-extended{gap:4mm!important;}
  .print-exemption-meta>span{
    display:inline-flex;
    align-items:baseline;
    gap:2.2mm;
  }
}

/* V6.0.1 stabilita · chiave archivio visibile e continuazione esenzioni */
.cloud-recovery-inline{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
  padding:14px;
  margin:10px 0 14px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface-soft,#f7f9f9);
}
.cloud-recovery-inline label{display:block;font-weight:700;margin-bottom:6px;}
.cloud-recovery-inline small{display:block;margin-top:6px;color:var(--muted);}
@media(max-width:760px){.cloud-recovery-inline{grid-template-columns:1fr;}}

@media print{
  .print-exemption-card-fragment header .print-exemption-continuation{
    grid-column:1 / -1;
    display:block;
    margin-top:.8mm;
    font-size:8pt;
    font-weight:600;
    color:#555;
  }
}

/* V6.0.4 · avanzamento reale esportazione e guida sincronizzazione */
.export-progress-overlay{
  position:fixed;inset:0;z-index:99999;display:grid;place-items:center;
  padding:24px;background:rgba(11,31,34,.48);backdrop-filter:blur(2px);
}
.export-progress-card{
  width:min(620px,calc(100vw - 32px));overflow:hidden;border-radius:18px;
  background:var(--surface,#fff);box-shadow:0 22px 70px rgba(0,0,0,.28);border:1px solid var(--line);
}
.export-progress-head{
  display:flex;align-items:center;gap:16px;padding:18px 22px;background:var(--primary-dark,#0b5f59);color:#fff;
}
.export-progress-head img{width:58px;height:58px;object-fit:contain;flex:0 0 auto;}
.export-progress-head strong{display:block;font-size:1.25rem;line-height:1.2;}
.export-progress-head span{display:block;margin-top:4px;opacity:.88;}
.export-progress-body{padding:24px;}
.export-progress-row{display:flex;justify-content:space-between;gap:16px;align-items:baseline;margin-bottom:10px;}
.export-progress-row>span{font-weight:700;}
.export-progress-row>strong{font-size:1.1rem;color:var(--primary);}
.export-progress-track{height:16px;border-radius:999px;background:var(--surface2,#edf3f2);overflow:hidden;border:1px solid var(--line);}
.export-progress-track>span{display:block;height:100%;width:0;background:var(--primary,#0f766e);transition:width .18s ease;}
.export-progress-body p{margin:14px 0 8px;min-height:2.6em;line-height:1.45;}
.export-progress-body small{color:var(--muted);}
.cloud-pending-advice{margin:12px 0 14px;}
.cloud-pending-advice strong{display:inline;}
@media(max-width:640px){.export-progress-overlay{padding:12px}.export-progress-head{padding:16px}.export-progress-body{padding:18px}.export-progress-head img{width:48px;height:48px}}

/* FIX9 - Agenda e scadenze */
.form-grid .span-2 { grid-column: span 2; }
.calendar-provider-card { overflow: visible; }
.calendar-provider-row { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; }
.calendar-provider-row > div:first-child { min-width:0; flex:1; }
.calendar-list, .calendar-suggestion-list { display:grid; gap:12px; }
.calendar-event, .calendar-suggestion { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:14px; align-items:start; border:1px solid var(--line); border-radius:14px; padding:14px; background:var(--surface-2); }
.calendar-suggestion { grid-template-columns:minmax(0,1fr) auto; }
.calendar-date-box { width:58px; min-height:58px; border-radius:12px; background:var(--primary-soft); color:var(--primary-dark); display:flex; flex-direction:column; align-items:center; justify-content:center; text-transform:uppercase; }
.calendar-date-box strong { font-size:22px; line-height:1; }
.calendar-date-box span { font-size:11px; margin-top:4px; }
.calendar-event-title { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.calendar-event-title h3, .calendar-suggestion h3 { margin:0; }
.calendar-event-main p, .calendar-suggestion p { margin:7px 0 0; }
.calendar-source { margin-top:9px; padding:9px 11px; border-left:3px solid var(--primary); background:color-mix(in srgb, var(--primary-soft) 65%, transparent); border-radius:8px; font-size:12px; line-height:1.45; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.calendar-source span { color:var(--muted); }
.calendar-reminder-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; }
@media (max-width: 820px) {
  .form-grid .span-2 { grid-column:span 1; }
  .calendar-provider-row { flex-direction:column; }
  .calendar-event, .calendar-suggestion { grid-template-columns:1fr; }
  .calendar-date-box { width:52px; }
  .calendar-reminder-grid { grid-template-columns:1fr; }
  .calendar-source { flex-direction:column; }
}

/* FIX10 - Agenda locale autonoma */
.calendar-month-toolbar{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 14px}
.calendar-month-toolbar strong{min-width:180px;text-align:center;text-transform:capitalize}
.calendar-month-weekdays,.calendar-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}
.calendar-month-weekdays{margin-bottom:7px;color:var(--muted);font-size:12px;font-weight:700;text-align:center}
.calendar-month-day{min-height:104px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:9px;text-align:left;color:inherit;display:flex;flex-direction:column;gap:5px;overflow:hidden;cursor:pointer}
.calendar-month-day:hover{border-color:var(--primary);background:var(--primary-soft)}
.calendar-month-day.empty{visibility:hidden;pointer-events:none}
.calendar-month-day.today{outline:2px solid var(--primary);outline-offset:-2px}
.calendar-month-day strong{font-size:14px}
.calendar-month-day span{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.calendar-month-day small{color:var(--muted);font-size:10px}
.calendar-history{display:grid;gap:8px;margin-top:12px}
.btn.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-dark)}
@media(max-width:900px){.calendar-month-day{min-height:82px;padding:6px}.calendar-month-day span{font-size:10px}.calendar-month-weekdays,.calendar-month-grid{gap:4px}}

.security-choice-grid{display:grid;gap:12px;margin:18px 0}.security-choice-grid .btn{min-height:48px}

/* BETA R14 · progresso ripristino cloud */
.cloud-restore-progress{display:grid;gap:7px;margin:14px 0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.cloud-restore-progress-track{height:8px;overflow:hidden;border-radius:999px;background:#dbe8e6;position:relative}
.cloud-restore-progress-track span{position:absolute;inset:0 auto 0 -35%;width:35%;background:var(--primary);border-radius:999px;animation:cloudRestoreSlide 1.15s ease-in-out infinite}
.cloud-restore-progress small{color:var(--muted)}
@keyframes cloudRestoreSlide{0%{left:-35%}55%{left:60%}100%{left:110%}}

/* avanzamento cloud transazionale */
.cloud-restore-progress.determinate .cloud-restore-progress-track span{left:0;animation:none;width:0;transition:width .18s ease}
.cloud-restore-progress-track.stopped span{animation:none!important;width:0!important;left:0!important}
.cloud-restore-progress-head,.cloud-sync-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cloud-sync-progress{display:grid;gap:7px;margin:12px 0;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.cloud-sync-progress-track{height:9px;overflow:hidden;border-radius:999px;background:#dbe8e6}
.cloud-sync-progress-track span{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .18s ease}
.cloud-sync-progress small{color:var(--muted)}
.cloud-main-progress-overlay{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;background:rgba(15,42,47,.42);padding:20px}
.cloud-main-progress-card{width:min(520px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 18px 55px rgba(0,0,0,.22)}
.cloud-main-progress-head{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.cloud-main-progress-head img{width:42px;height:42px}
.cloud-main-progress-head div{display:grid;gap:2px}
.cloud-main-progress-head span,.cloud-main-progress-card p{color:var(--muted)}
.cloud-main-progress-track{height:10px;margin:15px 0 10px;overflow:hidden;border-radius:999px;background:#dbe8e6}
.cloud-main-progress-track span{display:block;height:100%;background:var(--primary);border-radius:999px;transition:width .18s ease}
.cloud-sync-progress.indeterminate .cloud-sync-progress-track{position:relative}
.cloud-sync-progress.indeterminate .cloud-sync-progress-track span{position:relative;left:-35%;width:35%!important;animation:cloudSyncSlide 1.05s ease-in-out infinite;transition:none}
@keyframes cloudSyncSlide{0%{left:-35%}55%{left:60%}100%{left:110%}}


/* R26 · densità globale e layout dati personali */
@media screen {
  .app-shell { grid-template-columns: 264px 1fr; }
  .sidebar { padding: 14px 12px; }
  .brand { gap: 9px; margin-bottom: 13px; }
  .brand-mark { width: 38px; height: 38px; border-radius: 11px; font-size: 24px; }
  .brand strong { font-size: 16px; line-height: 1.15; }
  .brand span { margin-top: 2px; font-size: 11px; line-height: 1.2; }
  .profile-switcher { padding: 10px; border-radius: 12px; margin-bottom: 10px; }
  .profile-switcher label { margin-bottom: 4px; }
  .profile-switcher-row { gap: 7px; }
  .profile-switcher-avatar { width: 34px; height: 34px; min-width: 34px; }
  .profile-switcher select { padding: 7px 8px; margin-bottom: 7px; border-radius: 8px; }
  .nav { gap: 1px; }
  #mainNav, .monitor-nav { padding-right: 2px; scrollbar-gutter: auto; }
  .nav-item { padding: 6px 9px; min-height: 31px; border-radius: 8px; line-height: 1.2; }
  .nav-item-feature { margin-top: 4px; }
  .nav-section-label { padding: 5px 9px 3px; }
  .nav-back { margin-top: 5px; padding-top: 8px; }
  .sidebar-footer { padding: 7px 9px; gap: 7px; }

  .topbar { min-height: 74px; padding: 12px 22px; gap: 14px; }
  .topbar h1 { font-size: 22px; }
  .topbar p { margin-top: 3px; font-size: 13px; }
  .top-actions { gap: 7px; }
  .view-container { padding: 18px 22px 28px; }
  .grid { gap: 12px; }
  .card { padding: 14px; border-radius: 14px; }
  .card-title-row { gap: 10px; margin-bottom: 9px; }
  .section-spacer { height: 10px; }
  .btn { padding: 8px 11px; border-radius: 9px; }
  .btn-small { padding: 5px 8px; }
  .icon-btn { width: 34px; height: 34px; }
  th { padding: 8px 9px; }
  td { padding: 9px; }
  .form-grid { gap: 10px; }
  .form-group { gap: 4px; }
  .form-control { padding: 8px 9px; border-radius: 9px; }
  textarea.form-control { min-height: 74px; }
  .form-actions { gap: 7px; margin-top: 4px; }
  .modal-header { padding: 14px 16px; gap: 14px; }
  .modal-body { padding: 16px; }
  .file-drop { padding: 16px; }
  .file-list { gap: 7px; margin-top: 10px; }
  .file-row { gap: 9px; padding: 9px; }
  .notice { padding: 10px 11px; }
  .list-stack { gap: 7px; }
  .list-item { padding: 10px; gap: 10px; }
  details { padding: 8px 10px; }
  .timeline-item { margin-bottom: 10px; padding: 12px; }
  .meta-list { grid-template-columns: 145px minmax(0,1fr); gap: 6px 10px; }
  .cloud-card { gap: 10px; }
  .cloud-status-grid { gap: 7px; }
  .cloud-status-grid>div { padding: 9px 10px; }
  .cloud-setup summary { padding: 9px 0; }
  .cloud-provider-grid { gap: 8px; padding-bottom: 10px; }
  .cloud-provider { gap: 7px; padding: 10px; }
  .preferences-layout { gap: 12px; }
  .preference-section { gap: 8px; }

  .personal-page-grid { display:grid; grid-template-columns:minmax(430px,1.06fr) minmax(380px,.94fr); gap:12px; align-items:stretch; }
  .profile-data-card, .personal-health-card { min-width:0; }
  .profile-details-head { display:grid; grid-template-columns:64px minmax(0,1fr); gap:11px; align-items:center; margin-bottom:10px; }
  .profile-page-avatar { width:64px; height:64px; border-radius:50%; font-size:20px; }
  .profile-details-title { min-width:0; }
  .profile-details-title .card-title-row { margin:0; }
  .profile-meta-list { font-size:13px; line-height:1.28; }
  .profile-meta-list dt, .profile-meta-list dd { min-width:0; }
  .personal-health-title { align-items:flex-start; }
  .personal-health-title .kpi-note { margin:3px 0 0; }
  .health-card-compact-toolbar { display:flex; justify-content:space-between; align-items:center; gap:8px; margin:4px 0 7px; }
  .health-card-compact-label { font-size:12px; font-weight:800; color:var(--primary-dark); margin-bottom:5px; }
  .health-card-compact-view { width:100%; border:1px solid var(--line); border-radius:11px; background:#f7faf9; padding:7px; display:grid; place-items:center; cursor:pointer; }
  .health-card-compact-view img { display:block; width:100%; max-height:245px; object-fit:contain; border-radius:8px; background:#fff; }
  .health-card-compact-placeholder { min-height:190px; border:1px dashed #bdd3d0; border-radius:11px; display:grid; place-content:center; gap:4px; text-align:center; color:var(--muted); background:#f8fbfa; }
  .health-card-compact-placeholder strong { color:var(--primary-dark); }
  .health-card-compact-actions { margin-top:8px; gap:6px; }

  .diagnosis-import-wrap { margin-top:8px; }
  .diagnosis-import-table td small { display:block; margin-top:4px; line-height:1.25; overflow-wrap:anywhere; }

  html[data-density="compact"] .sidebar { padding-top:10px; padding-bottom:10px; }
  html[data-density="compact"] .nav-item { padding:5px 8px; min-height:28px; }
  html[data-density="compact"] .card { padding:11px; }
  html[data-density="compact"] .view-container { padding-top:14px; }
  html[data-density="compact"] .form-control { padding:7px 8px; }
  html[data-density="compact"] td, html[data-density="compact"] th { padding:6px 7px; }
}
@media screen and (max-width: 1180px) {
  .personal-page-grid { grid-template-columns:1fr; }
  .personal-health-card { max-width:none; }
}
@media screen and (max-width: 820px) {
  .app-shell { display:block; }
  .sidebar { width:264px; left:-280px; }
  .view-container { padding:14px 12px 26px; }
  .topbar { padding:11px 12px; }
  .meta-list { grid-template-columns:1fr; gap:3px; }
  .profile-details-head { grid-template-columns:54px minmax(0,1fr); }
  .profile-page-avatar { width:54px; height:54px; }
}

/* R26 · supporto terapie e accessi secondari */
.field-help{display:block;margin-top:4px;font-size:12px;line-height:1.35;color:var(--muted,#657176)}
.kpi-action{margin-top:8px}
.print-subtext{font-size:9pt;color:#4f5c60;font-weight:400}

/* R30 · rifiniture UI richieste */
@media screen {
  .calorie-info summary {
    display:flex;
    align-items:center;
    gap:7px;
  }
  .calorie-info-icon {
    width:18px;
    height:18px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 18px;
    color:var(--primary);
  }
  .calorie-info-icon svg {
    width:18px;
    height:18px;
    display:block;
    fill:none;
    stroke:currentColor;
    stroke-width:1.55;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .calorie-info-icon .info-dot {
    fill:currentColor;
    stroke:none;
  }

  .journey-progress { margin-bottom:8px; }

  .personal-page-grid { align-items:stretch; }
  .profile-data-card,
  .personal-health-card {
    height:100%;
    box-sizing:border-box;
  }

  .modal:has(.import-workspace) { overflow-x:hidden; }
  .import-workspace,
  .optional-review { min-width:0; }
  .diagnosis-import-wrap {
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  .diagnosis-import-table {
    width:100%;
    max-width:100%;
    min-width:0!important;
    table-layout:fixed;
  }
  .diagnosis-import-table col.diag-import-insert { width:4.5%; }
  .diagnosis-import-table col.diag-import-condition { width:34%; }
  .diagnosis-import-table col.diag-import-date { width:13%; }
  .diagnosis-import-table col.diag-import-clinical-state { width:21%; }
  .diagnosis-import-table col.diag-import-main { width:5.5%; }
  .diagnosis-import-table col.diag-import-notes { width:22%; }
  .diagnosis-import-table th,
  .diagnosis-import-table td {
    min-width:0;
    padding:7px 6px;
    vertical-align:top;
  }
  .diagnosis-import-table th:first-child,
  .diagnosis-import-table th:nth-child(5),
  .diagnosis-import-table td.diag-import-check {
    text-align:center;
  }
  .diagnosis-import-table th:first-child,
  .diagnosis-import-table th:nth-child(5) {
    padding-left:2px;
    padding-right:2px;
    font-size:11px;
    line-height:1.15;
    overflow-wrap:anywhere;
  }
  .diagnosis-import-table .form-control {
    width:100%;
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
  .diagnosis-import-stack {
    display:grid;
    grid-template-columns:1fr;
    gap:6px;
    min-width:0;
  }
  .diagnosis-import-stack label {
    display:grid;
    gap:3px;
    min-width:0;
  }
  .diagnosis-import-stack label > span {
    font-size:10px;
    font-weight:700;
    color:var(--muted);
    line-height:1.1;
  }
  .diagnosis-import-table td small {
    overflow-wrap:anywhere;
  }
  .diagnosis-import-table .compact-textarea {
    min-height:76px!important;
    resize:vertical;
  }
}

@media screen and (max-width:1180px) {
  .profile-data-card,
  .personal-health-card { height:auto; }
}

/* R38 · tipografia uniforme, Diagnosi e Confronta */
@media screen {
  /* Dati Personali è il riferimento del corpo tipografico dell'app. */
  body { font-size:13px; line-height:1.35; }

  .compare-value-normal { color:var(--success); }
  .compare-value-alert { color:var(--danger); }
  .compare-value-neutral { color:var(--text); }
  .compare-history-table td strong { font-weight:800; }

  .diagnosis-table-heading { align-items:flex-end; }
  .diagnosis-table-controls { display:flex; gap:10px; align-items:flex-end; flex-wrap:wrap; justify-content:flex-end; }
  .diagnosis-table-controls .form-group { min-width:190px; }
  .diagnosis-table-controls .diagnosis-sort { min-width:220px; }
  .diagnosis-view-compact .diagnosis-main-card .row-actions { margin-top:8px; }
  .diagnosis-history-table-compact { min-width:820px; }
  .diagnosis-history-table-compact .diag-date { width:11%; }
  .diagnosis-history-table-compact .diag-condition-compact { width:34%; }
  .diagnosis-history-table-compact .diag-category { width:18%; }
  .diagnosis-history-table-compact .diag-status { width:15%; }
  .diagnosis-history-table-compact .diag-actions-compact { width:22%; }
}
@media screen and (max-width:820px) {
  .diagnosis-table-heading { align-items:stretch; }
  .diagnosis-table-controls { width:100%; justify-content:stretch; }
  .diagnosis-table-controls .form-group { flex:1 1 180px; min-width:0; }
}

/* R39 · Diagnosi: selettore solo Quadro clinico principale; sidebar compatta adattiva */
@media screen {
  /* Lo spazio verticale disponibile non viene piu distribuito tra le voci. */
  .nav,
  #mainNav,
  .monitor-nav {
    align-content: start;
    grid-auto-rows: max-content;
  }
  #mainNav,
  .monitor-nav {
    scrollbar-width: none;
  }
  #mainNav::-webkit-scrollbar,
  .monitor-nav::-webkit-scrollbar {
    display: none;
  }
  #mainNav { gap: 4px; }
  #mainNav .nav-item { min-height: 32px; }

  .diagnosis-main-heading { align-items: flex-end; }
  .diagnosis-main-controls {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
  }
  .diagnosis-main-controls .diagnosis-view { min-width: 190px; }
}

/* Compressione progressiva solo quando l'altezza del monitor lo richiede. */
@media screen and (min-width: 821px) and (max-height: 800px) {
  .sidebar { padding-top: 10px; padding-bottom: 10px; }
  .brand { margin-bottom: 8px; }
  .profile-switcher { padding: 8px; margin-bottom: 8px; }
  .profile-switcher select { padding-top: 6px; padding-bottom: 6px; margin-bottom: 5px; }
  #mainNav { gap: 2px; }
  #mainNav .nav-item { padding-top: 5px; padding-bottom: 5px; min-height: 29px; }
  .nav-item-feature { margin-top: 2px; }
  .sidebar-footer { padding-top: 5px; padding-bottom: 5px; }
}

@media screen and (min-width: 821px) and (max-height: 680px) {
  .sidebar { padding-top: 7px; padding-bottom: 7px; }
  .brand { margin-bottom: 5px; }
  .brand-mark { width: 34px; height: 34px; }
  .profile-switcher { padding: 6px 8px; margin-bottom: 5px; }
  .profile-switcher label { margin-bottom: 2px; }
  .profile-switcher select { padding-top: 4px; padding-bottom: 4px; margin-bottom: 4px; }
  #mainNav { gap: 0; }
  #mainNav .nav-item { padding-top: 4px; padding-bottom: 4px; min-height: 26px; }
  .nav-item-feature { margin-top: 1px; }
  .sidebar-footer { padding-top: 3px; padding-bottom: 3px; }
}

@media screen and (max-width: 820px) {
  .diagnosis-main-heading { align-items: stretch; }
  .diagnosis-main-controls { width: 100%; justify-content: stretch; }
  .diagnosis-main-controls .diagnosis-view { flex: 1 1 190px; min-width: 0; }
}


/* Public BETA 1 · logo sidebar: riquadro bianco quadrato, icona più grande */
@media screen and (min-width: 821px) and (min-height: 681px) {
  .brand-mark.brand-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    flex: 0 0 46px;
    box-sizing: border-box;
    padding: 3px;
    background: #fff !important;
    border-radius: 9px;
  }
  .brand-mark.brand-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
  }
}

/* R41 · Panoramica compatta, Aiuto separato e sidebar coerente */
@media screen {
  .dashboard-summary-grid {
    display:grid;
    grid-template-columns:minmax(230px,1.25fr) repeat(4,minmax(160px,1fr));
    gap:12px;
    align-items:stretch;
  }
  .dashboard-summary-grid .card {
    min-width:0;
  }
  .dashboard-profile-card {
    min-height:108px;
    display:grid;
    align-content:start;
    gap:9px;
  }
  .dashboard-profile-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
  }
  .dashboard-profile-card .avatar {
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:17px;
    font-size:19px;
  }
  .dashboard-profile-copy h2 {
    margin:0;
    font-size:19px;
    line-height:1.15;
  }
  .dashboard-profile-copy p {
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px;
    line-height:1.35;
  }
  .dashboard-kpi {
    min-height:108px;
    padding-top:13px;
    padding-bottom:13px;
  }
  .dashboard-kpi-head {
    min-height:27px;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:7px;
  }
  .dashboard-kpi-head .btn-small {
    margin-top:-3px;
    white-space:nowrap;
  }
  .dashboard-kpi .kpi-value {
    margin-top:6px;
    font-size:27px;
  }
  .dashboard-kpi .dashboard-kpi-date {
    font-size:18px;
    line-height:1.2;
    overflow-wrap:anywhere;
  }
  .dashboard-kpi .kpi-note {
    margin-top:5px;
    line-height:1.3;
  }
  .dashboard-detail-grid {
    align-items:stretch;
  }
  .dashboard-deadlines-card,
  .dashboard-detail-grid > .card {
    min-height:100%;
  }
  .dashboard-deadlines-list .list-item {
    padding:9px 10px;
    min-height:0;
  }
  .dashboard-deadlines-list .list-item strong {
    font-size:13px;
  }
  .help-continuous-text {
    display:grid;
    font-size:14px;
    gap:0;
    line-height:1.55;
  }
  .help-continuous-text p {
    margin:0;
    padding:10px 0;
    border-top:1px solid var(--line);
  }
  .help-continuous-text p:first-child {
    border-top:0;
    padding-top:3px;
  }
  .help-continuous-text strong:first-child {
    color:var(--primary-dark);
  }
  .help-continuous-text a {
    color:var(--primary);
    font-weight:700;
  }
  .sidebar-session {
    display:grid;
    gap:0;
  }
  .sidebar-help {
    width:100%;
    border-top:1px solid rgba(255,255,255,.18);
    border-radius:0;
    padding:10px 4px 7px;
    min-height:0;
    font-weight:700;
    color:#fff;
  }
  .sidebar-help:hover,
  .sidebar-help:focus-visible,
  .sidebar-help.active {
    background:transparent;
    color:#fff;
    opacity:.88;
    outline:none;
  }
  .sidebar-logout {
    border-top:0;
    padding-top:7px;
  }
}

@media screen and (max-width: 1320px) and (min-width: 821px) {
  .dashboard-summary-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .dashboard-profile-card {
    grid-column:span 1;
  }
}

@media screen and (max-width: 820px) {
  .dashboard-summary-grid {
    grid-template-columns:1fr;
  }
  .dashboard-profile-head {
    align-items:center;
  }
}

/* R41 · Panoramica unica + recapiti multipli */
@media screen {
  .dashboard-summary-grid.dashboard-summary-grid-four { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .dashboard-personal-grid { align-items:stretch; }
  .profile-phone-list { display:grid; gap:8px; margin-bottom:8px; }
  .profile-phone-row { display:grid; grid-template-columns:minmax(120px,.75fr) minmax(160px,1fr) minmax(200px,1.35fr) auto; gap:8px; align-items:center; }
  .profile-phone-display-list { display:grid; gap:5px; }
  .profile-phone-display { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
}
@media screen and (max-width:1320px) and (min-width:821px) { .dashboard-summary-grid.dashboard-summary-grid-four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media screen and (max-width:820px) { .dashboard-summary-grid.dashboard-summary-grid-four { grid-template-columns:1fr; } .profile-phone-row { grid-template-columns:1fr; } }


/* Percorso peso: grafico automatico percorso/target/proiezione */
.weight-trajectory{margin-top:18px;border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--surface,#fff);overflow:hidden}
.weight-trajectory-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.weight-trajectory-head h3{margin:0 0 4px}
.weight-chart-legend{display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:.84rem;font-weight:700;color:var(--muted)}
.weight-chart-legend span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.weight-chart-legend i{display:inline-block;width:28px;height:0;border-top:2px solid}
.weight-chart-legend i.actual{height:12px;border:0;position:relative}
.weight-chart-legend i.actual::before{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--primary);transform:translateY(-50%)}
.weight-chart-legend i.actual::after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#fff;border:2px solid var(--primary);left:50%;top:50%;transform:translate(-50%,-50%)}
.weight-chart-legend i.goal{border-color:var(--chart-secondary);border-top-style:dashed}
.weight-chart-legend i.projection{border-color:var(--primary-dark);border-top-style:dashed}
.weight-chart-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 8px}
.weight-chart-summary>div{padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.weight-chart-summary small,.weight-chart-summary strong{display:block}.weight-chart-summary small{color:var(--muted);margin-bottom:4px}.weight-chart-summary strong{font-size:1rem}
.weight-chart-summary .late strong{color:#b42318}.weight-chart-summary .ahead strong{color:#067647}.weight-chart-summary .ontrack strong{color:#166534}.weight-chart-summary .neutral strong{color:var(--muted)}
.weight-chart-svg-wrap{width:100%;overflow:hidden;padding-top:4px}
.weight-chart-legend-bottom{justify-content:center;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--line)}
.weight-chart-end-label{font-size:11px;font-weight:700}.weight-chart-end-label.goal{fill:var(--chart-secondary)}.weight-chart-end-label.projection{fill:var(--primary-dark)}
.weight-chart-end-tick{stroke-width:2}.weight-chart-end-tick.goal{stroke:var(--chart-secondary)}.weight-chart-end-tick.projection{stroke:var(--primary-dark)}
.weight-chart-svg{display:block;width:100%;min-width:0;height:auto;background:linear-gradient(180deg,color-mix(in srgb,var(--primary) 3%,transparent),transparent);border-radius:10px}
.weight-chart-grid{stroke:color-mix(in srgb,var(--line) 82%,#fff);stroke-width:.8}.weight-chart-grid.vertical{stroke-opacity:.48}
.weight-chart-axis{font-size:11px;fill:#667b78}.weight-chart-axis-label{font-size:12px;fill:var(--primary-dark);font-weight:650}.weight-chart-date-label{font-size:10.5px}
.weight-chart-actual-line{fill:none;stroke:var(--primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.weight-chart-point{fill:#fff;stroke:var(--primary);stroke-width:2;cursor:help}
.weight-chart-goal-line{stroke:var(--chart-secondary);stroke-width:1.8;stroke-dasharray:7 6;fill:none}
.weight-chart-projection-line{stroke:var(--primary-dark);stroke-width:1.8;stroke-dasharray:7 6;fill:none}
.weight-chart-goal-end{fill:#fff;stroke:var(--chart-secondary);stroke-width:2}.weight-chart-projection-end{fill:#fff;stroke:var(--primary-dark);stroke-width:2}
@media(max-width:760px){.weight-chart-summary{grid-template-columns:1fr}.weight-trajectory{padding:12px}}


/* Dati profilo: anagrafica a sinistra, contatti rapidi nel box interno a destra. */
.profile-data-layout{
  display:grid;
  grid-template-columns:minmax(0,.90fr) minmax(390px,1.10fr);
  column-gap:18px;
  row-gap:12px;
  align-items:start;
}
.profile-main-meta{margin:0;min-width:0;grid-template-columns:120px minmax(0,1fr);gap:6px 8px}
.profile-address-value>div+div{margin-top:2px}
.profile-contacts-panel{
  grid-column:2;
  grid-row:1;
  min-width:0;
  align-self:stretch;
  border:1px solid color-mix(in srgb,var(--primary) 16%,var(--line));
  border-radius:14px;
  background:color-mix(in srgb,var(--primary-soft) 68%,#fff);
  padding:16px 18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.profile-contact-group h3{
  margin:0 0 8px;
  color:var(--primary-dark);
  font-size:15px;
  font-weight:800;
}
.profile-contacts-list{
  display:grid;
  grid-template-columns:110px minmax(0,1fr);
  gap:7px 8px;
  margin:0;
  font-size:13px;
  line-height:1.35;
}
.profile-contacts-list dt{color:var(--muted);font-weight:600;min-width:0}
.profile-contacts-list dd{margin:0;min-width:0;font-weight:700;overflow-wrap:anywhere}
.profile-contacts-list a{font-weight:750}
.profile-contact-note{white-space:pre-wrap;font-weight:600!important}
.profile-contact-separator{
  height:1px;
  margin:12px 0 14px;
  background:color-mix(in srgb,var(--primary) 12%,var(--line));
}
.profile-notes-wide{
  grid-column:1;
  grid-row:2;
  display:grid;
  grid-template-columns:120px minmax(0,1fr);
  gap:6px 8px;
  padding:0;
  border:0;
  font-size:13px;
  line-height:1.28;
}
.profile-notes-label{color:var(--muted)}
.profile-notes-value{min-width:0;white-space:pre-wrap;overflow-wrap:anywhere}
@media screen and (max-width:900px){
  .profile-data-layout{grid-template-columns:1fr;gap:14px}
  .profile-contacts-panel{grid-column:1;grid-row:auto}
  .profile-notes-wide{grid-column:1;grid-row:auto}
}
@media screen and (max-width:560px){
  .profile-main-meta{grid-template-columns:1fr;gap:3px}
  .profile-contacts-list{grid-template-columns:1fr;gap:5px}
  .profile-contacts-list dd{margin-bottom:5px}
  .profile-notes-wide{grid-template-columns:1fr;gap:4px}
}


/* Profilo · Panoramica a tre moduli */
@media screen {
  .dashboard-profile-three{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px;
    align-items:stretch;
  }
  .dashboard-profile-three .dashboard-profile-box{
    min-width:0;
    height:100%;
    box-sizing:border-box;
  }
  .dashboard-profile-three .profile-details-head{
    grid-template-columns:58px minmax(0,1fr);
    margin-bottom:12px;
  }
  .dashboard-profile-three .profile-page-avatar{
    width:58px;
    height:58px;
  }
  .dashboard-profile-meta{
    grid-template-columns:112px minmax(0,1fr);
    gap:7px 8px;
    font-size:12.5px;
    line-height:1.3;
  }
  .dashboard-profile-meta dt{color:var(--muted);font-weight:600}
  .dashboard-profile-meta dd{margin:0;min-width:0;overflow-wrap:anywhere}
  .dashboard-emergency-card{
    border-color:color-mix(in srgb,#9f0000 22%,var(--line));
    background:color-mix(in srgb,#9f0000 3%,var(--card));
  }
  .dashboard-emergency-title{margin-bottom:10px}
  .emergency-dashboard-block h3{
    margin:0 0 8px;
    font-size:13px;
    color:#7f1d1d;
  }
  .emergency-dashboard-list{
    display:grid;
    grid-template-columns:112px minmax(0,1fr);
    gap:7px 8px;
    margin:0;
    font-size:12.5px;
    line-height:1.3;
  }
  .emergency-dashboard-list dt{color:var(--muted);font-weight:600}
  .emergency-dashboard-list dd{margin:0;min-width:0;font-weight:650;overflow-wrap:anywhere}
  .emergency-clinical-list dd{font-weight:650}
  .emergency-text-value{white-space:pre-wrap;overflow-wrap:anywhere}
  .emergency-dashboard-separator{
    height:1px;
    margin:12px 0;
    background:color-mix(in srgb,#9f0000 15%,var(--line));
  }
  .dashboard-health-card .personal-health-title{
    gap:8px;
  }
  .dashboard-health-card .personal-health-title h2{
    margin-bottom:2px;
  }
  .dashboard-health-card .personal-health-title .kpi-note{
    font-size:11.5px;
    line-height:1.25;
  }
  .dashboard-health-card .health-card-compact-toolbar{
    margin:5px 0 6px;
  }
  .dashboard-health-card .health-card-compact-view{
    padding:5px;
  }
  .dashboard-health-card .health-card-compact-view img{
    max-height:168px;
  }
  .dashboard-health-card .health-card-compact-placeholder{
    min-height:150px;
  }
  .dashboard-health-card .health-card-compact-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;
  }
  .dashboard-health-card .health-card-compact-actions .btn{
    width:100%;
    justify-content:center;
  }
  .profile-form-section-title{
    margin-top:8px;
    padding-top:12px;
    border-top:1px solid var(--line);
  }
  .profile-form-section-title h3{margin:0 0 3px}
}
@media screen and (max-width:1320px){
  .dashboard-profile-three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dashboard-health-card{grid-column:1 / -1}
}
@media screen and (max-width:900px){
  .dashboard-profile-three{grid-template-columns:1fr}
  .dashboard-health-card{grid-column:auto}
}


/* FIX2 · Profilo, tessera, emergenza e monitoraggio */
@media screen {
  .dashboard-health-card{padding:12px}
  .dashboard-health-card .health-card-compact-view{padding:4px}
  .dashboard-health-card .health-card-compact-view img{width:100%;height:auto;max-height:none;object-fit:contain}
  .dashboard-health-card .health-card-compact-placeholder{min-height:205px}
  .dashboard-health-card .health-card-compact-actions{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .dashboard-health-card .health-card-compact-actions .btn{width:100%;min-width:0;padding:5px 3px;font-size:10px;line-height:1.15;white-space:nowrap;justify-content:center}
  .emergency-inline-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;line-height:1.3}
  .emergency-inline-row>span{min-width:0;overflow-wrap:anywhere}
  .emergency-note-row{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px;margin-top:6px;font-size:12px;line-height:1.3}
  .emergency-note-row>span{color:var(--muted);font-weight:600}
  .emergency-note-row strong{white-space:pre-wrap;overflow-wrap:anywhere}
  .monitor-summary-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
  .monitor-summary-card{min-width:0}
  .monitor-summary-value{margin:8px 0 4px;font-size:24px;line-height:1;font-weight:800;color:var(--primary-dark)}
  .monitor-mini-list{display:grid;gap:6px;margin-top:10px;font-size:12px}
  .monitor-mini-list span{display:block}
  .vital-mini-list button{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--card);padding:8px 9px;display:flex;justify-content:space-between;gap:8px;cursor:pointer;color:inherit;font:inherit}
  .vital-mini-list button:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--card))}
}
@media screen and (max-width:1450px){
  .dashboard-health-card .health-card-compact-actions{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media screen and (max-width:1100px){
  .monitor-summary-three{grid-template-columns:1fr}
}

.monitor-summary-card .vital-mini-list button strong{max-width:70%;text-align:left}


/* FIX · emergenza e tessera sanitaria */
@media screen {
  .emergency-inline-row-compact{justify-content:flex-start}
  .emergency-inline-row-compact > span{display:block;max-width:100%;overflow-wrap:anywhere}
  .emergency-inline-row-compact a{font-weight:700}
  .dashboard-health-card .personal-health-title{align-items:flex-start}
  .dashboard-health-card .health-card-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:0 0 auto}
  .dashboard-health-card .health-card-header-actions .badge{align-self:flex-end}
  .dashboard-health-card .health-card-compact-label{margin-top:2px}
  .dashboard-health-card .health-card-compact-actions{display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;gap:6px !important}
  .dashboard-health-card .health-card-compact-actions .btn{width:100%;min-width:0;min-height:46px;padding:8px 5px;font-size:12px;line-height:1.15;white-space:normal;text-align:center;justify-content:center;align-items:center}
}


/* Rifiniture richieste: grafico monitoraggio */
.monitor-graph-filter{max-width:320px}
.monitor-chart-line.monitor-series-1{stroke:#7a7a7a;stroke-width:2}
.monitor-chart-point.monitor-series-0{fill:#fff;stroke-width:2}
.monitor-chart-point.monitor-series-1{fill:#fff;stroke:#7a7a7a;stroke-width:2}
.monitor-chart-legend i.monitor-series-0{border-top-style:solid;border-top-width:2px}
.monitor-chart-legend i.monitor-series-1{border-top-style:solid;border-top-width:2px;border-top-color:#7a7a7a}

.monitor-chart-line.monitor-series-0{stroke:var(--primary);}


/* FIX4 · grafici uniformi, cruscotto monitoraggio e tessera compatta */
@media screen {
  .monitor-inline-chart{margin-top:14px}
  .monitor-inline-chart.compact{margin-top:8px}
  .monitor-inline-chart-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:0 0 9px}
  .monitor-inline-chart-head h3{margin:0}
  .monitor-inline-chart-head .kpi-note{margin:3px 0 0}
  .monitor-vital-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
  .body-graph-filter{width:min(280px,100%);margin:0}
  .monitor-graphs-dashboard{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .monitor-graphs-dashboard-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface)}
  .monitor-graphs-dashboard-card .chart-shell{padding:7px 9px 3px}
  .dashboard-health-card .health-card-compact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:5px}
  .dashboard-health-card .health-card-compact-head h2{margin:0 0 2px}
  .dashboard-health-card .health-card-number-row{margin:0}
  .dashboard-health-card .health-card-top-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin-bottom:4px}
  .dashboard-health-card .health-card-top-actions{display:flex;gap:6px;min-width:0}
  .dashboard-health-card .health-card-top-actions .btn{flex:1 1 auto;min-width:0}
  .dashboard-health-card .health-card-expiry-row{margin:0;text-align:right;white-space:nowrap}
  .dashboard-health-card .health-card-compact-label{margin:1px 0 4px}
}
@media screen and (max-width:1150px){
  .monitor-vital-chart-grid,.monitor-graphs-dashboard{grid-template-columns:1fr}
}
@media screen and (max-width:760px){
  .dashboard-health-card .health-card-top-row{grid-template-columns:1fr}
  .dashboard-health-card .health-card-expiry-row{text-align:left;white-space:normal}
}
@media screen {
  .monitor-graphs-dashboard-card-wide{grid-column:1 / -1}
  .monitor-graphs-dashboard-card-wide .monitor-vital-chart-grid h4{margin:0 0 6px;color:var(--primary-dark)}
}


/* FIX5 · rifiniture grafiche globali, tessera compatta e dashboard monitoraggio */
@media screen {
  /* Assi e serie: tipografia uniforme e tratto più professionale su tutti i grafici */
  .chart-axis-label,
  .chart-date-label,
  .weight-chart-axis,
  .weight-chart-date-label{font-size:11px}
  .chart-line,
  .monitor-chart-line{stroke-width:1.6}
  .monitor-chart-line.monitor-series-0,
  .monitor-chart-line.monitor-series-1{stroke-width:1.6}
  .chart-point circle,
  .monitor-chart-point{stroke-width:1.7}
  .monitor-chart-point.monitor-series-0,
  .monitor-chart-point.monitor-series-1{stroke-width:1.7}
  .monitor-chart-legend i{border-top-width:1.6px}

  /* Riduzione automatica delle etichette X quando la finestra si restringe */
  .chart-x-tick{display:inline}

  /* Percorso peso: semantica cromatica storica approvata */
  .weight-chart-legend i.actual::before{background:#2563a8}
  .weight-chart-legend i.actual::after{border-color:#2563a8}
  .weight-chart-legend i.goal{border-color:#2f7d4a}
  .weight-chart-legend i.projection{border-color:#b42318}
  .weight-chart-end-label.goal{fill:#2f7d4a}
  .weight-chart-end-label.projection{fill:#b42318}
  .weight-chart-end-tick.goal{stroke:#2f7d4a}
  .weight-chart-end-tick.projection{stroke:#b42318}
  .weight-chart-actual-line{stroke:#2563a8;stroke-width:1.7}
  .weight-chart-point{stroke:#2563a8;stroke-width:1.8}
  .weight-chart-goal-line{stroke:#2f7d4a;stroke-width:1.6}
  .weight-chart-projection-line{stroke:#b42318;stroke-width:1.6}
  .weight-chart-goal-end{stroke:#2f7d4a;stroke-width:1.8}
  .weight-chart-projection-end{stroke:#b42318;stroke-width:1.8}

  /* Stessa semantica nel riepilogo compatto dei grafici */
  .monitor-chart-line.weight-actual-series{stroke:#2563a8}
  .monitor-chart-point.weight-actual-series{stroke:#2563a8;fill:#fff}
  .monitor-chart-line.weight-goal-series{stroke:#2f7d4a;stroke-dasharray:7 6}
  .monitor-chart-point.weight-goal-series{stroke:#2f7d4a;fill:#fff}
  .monitor-chart-line.weight-projection-series{stroke:#b42318;stroke-dasharray:7 6}
  .monitor-chart-point.weight-projection-series{stroke:#b42318;fill:#fff}
  .monitor-chart-legend i.weight-actual-series{border-top-color:#2563a8}
  .monitor-chart-legend i.weight-goal-series{border-top-color:#2f7d4a;border-top-style:dashed}
  .monitor-chart-legend i.weight-projection-series{border-top-color:#b42318;border-top-style:dashed}

  /* Il cruscotto riempie i vuoti lasciati dalle schede a doppia larghezza */
  .monitor-graphs-dashboard{grid-auto-flow:dense;align-items:start}

  /* Tessera: badge e scadenza in alto, due comandi superiori su una sola riga */
  .dashboard-health-card .health-card-compact-head{align-items:flex-start;margin-bottom:5px}
  .dashboard-health-card .health-card-header-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}
  .dashboard-health-card .health-card-header-meta .badge{align-self:flex-end}
  .dashboard-health-card .health-card-expiry-row{margin:0;text-align:right;white-space:nowrap}
  .dashboard-health-card .health-card-top-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 4px}
  .dashboard-health-card .health-card-top-actions .btn{width:100%;min-width:0}
  .dashboard-health-card .health-card-top-actions .btn:only-child{grid-column:1 / -1}
  .dashboard-health-card .health-card-compact-label{margin:1px 0 4px}
  .dashboard-health-card .health-card-compact-actions{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
}

@media screen and (max-width:1000px){
  .chart-x-tick.tick-mod-1,
  .chart-x-tick.tick-mod-3{display:none}
  .chart-x-tick.chart-x-tick-last{display:inline}
}
@media screen and (max-width:650px){
  .chart-x-tick.tick-mod-1,
  .chart-x-tick.tick-mod-2,
  .chart-x-tick.tick-mod-3{display:none}
  .chart-x-tick.chart-x-tick-last{display:inline}
}
@media screen and (max-width:760px){
  .dashboard-health-card .health-card-header-meta{align-items:flex-end}
  .dashboard-health-card .health-card-expiry-row{text-align:right;white-space:normal}
}


/* FIX6 · assi temporali coerenti e tessera su riga unica */
@media screen {
  /* Stessa tipografia effettiva per tutte le etichette degli assi */
  .chart-axis-label,
  .chart-date-label,
  .weight-chart-axis,
  .weight-chart-date-label{
    font-family:Inter,"Segoe UI",Arial,sans-serif;
    font-size:11px;
    font-weight:500;
    font-style:normal;
    font-variant-numeric:tabular-nums;
    text-rendering:geometricPrecision;
  }

  /* Se Pressione/Frequenza contiene una sola serie, il riquadro non spreca metà larghezza */
  .monitor-vital-chart-grid.single{grid-template-columns:1fr}

  /* Tessera: Fronte + cambio lato come unico blocco, caricamento sulla stessa riga a destra */
  .dashboard-health-card .health-card-side-row{
    display:flex;
    align-items:center;
    gap:8px;
    margin:1px 0 4px;
    min-width:0;
  }
  .dashboard-health-card .health-card-side-switch{
    display:inline-flex;
    align-items:center;
    gap:6px;
    min-width:0;
  }
  .dashboard-health-card .health-card-side-switch .health-card-compact-label{
    margin:0;
    line-height:1;
  }
  .dashboard-health-card .health-card-flip-btn{
    min-height:26px;
    height:26px;
    padding:2px 8px;
    font-size:10.5px;
    line-height:1;
    border-radius:8px;
    white-space:nowrap;
  }
  .dashboard-health-card .health-card-upload-btn{
    margin-left:auto;
    flex:0 0 auto;
    min-height:30px;
    padding:4px 10px;
    white-space:nowrap;
  }
}
@media screen and (max-width:760px){
  .dashboard-health-card .health-card-side-row{
    flex-wrap:wrap;
  }
  .dashboard-health-card .health-card-upload-btn{
    margin-left:auto;
  }
}

/* 1.0.0 · uniformità tipografica accesso familiare */
#familyInviteForm .btn,#inviteDossierUserBtn{font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:13px;font-weight:700;letter-spacing:normal}


/* WINDOWS V9: Prepara visita e Cerca nel Dossier. Solo nuovi selettori. */
.visit-prep-page{display:grid;gap:16px}.visit-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,var(--surface-2),#fff)}.visit-hero h2,.visit-block h3,.visit-export-card h3{margin-top:0}.visit-hero p{margin-bottom:0;color:var(--muted)}.visit-hero-count{min-width:130px;text-align:center;border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.visit-hero-count strong{display:block;font-size:2rem;color:var(--primary)}.visit-hero-count span{display:block;color:var(--muted);font-size:.82rem}.visit-config-grid{align-items:end}.visit-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visit-doc-choice{display:grid;grid-template-columns:1fr auto;gap:8px 12px;align-items:start;padding:13px;border:1px solid var(--line);border-radius:13px;background:#fff}.visit-doc-choice>.check-row{grid-column:1/-1}.visit-doc-choice .visit-match-reason{margin:0;color:var(--muted);font-size:.78rem;line-height:1.35}.visit-request-entry{display:grid;grid-template-columns:minmax(190px,.42fr) minmax(260px,1fr) auto;gap:9px;margin-bottom:12px}.visit-request-list{display:grid;gap:8px}.visit-request-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.visit-request-row>div{display:flex;align-items:center;gap:9px;min-width:0}.visit-window-label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem}.visit-window-label .form-control{min-width:125px}.visit-export-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.visit-picker-list{max-height:55vh;overflow:auto;display:grid;gap:7px}.visit-picker-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;cursor:pointer}.visit-picker-row span,.visit-picker-row strong,.visit-picker-row small{display:block}.visit-picker-row small{margin-top:3px;color:var(--muted)}.dossier-search-page{display:grid;gap:12px}.dossier-search-bar{margin-bottom:0}.dossier-search-summary{padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);margin-bottom:14px}.search-result-group{margin-top:18px}.search-result-snippet{margin-top:8px!important;color:var(--text)!important;line-height:1.42}.dossier-search-result>div{min-width:0;flex:1}@media(max-width:900px){.visit-doc-grid{grid-template-columns:1fr}.visit-request-entry{grid-template-columns:1fr}.visit-hero,.visit-export-card{align-items:flex-start;flex-direction:column}.visit-export-card .row-actions{width:100%}.visit-export-card .btn{flex:1}}@media print{#printRoot.visit-print-root .visit-print-cover{min-height:235mm}#printRoot.visit-print-root .visit-print-summary h3{margin-top:6mm}#printRoot.visit-print-root .visit-print-list{padding-left:6mm;line-height:1.5}#printRoot.visit-print-root:not(.print-space-saving) .print-document{page-break-before:always;break-before:page}}


/* ========================================================================
   WINDOWS V13 UI REDESIGN
   Visual-only layer on top of V11 functional baseline.
   ======================================================================== */
:root{
  --v13-sidebar:260px;
  --profile-accent:var(--primary);
  --v13-navy:#12385f;
  --v13-muted:#698096;
  --v13-line:#dfe8f1;
  --v13-soft:#f6f9fc;
}
html,body{background:#eef4f9;color:#173956}
.app-shell{grid-template-columns:var(--v13-sidebar) minmax(0,1fr);background:#eef4f9}
.sidebar{background:#fbfdff;color:var(--v13-navy);padding:18px 12px 14px;border-right:1px solid #dce6ef;box-shadow:7px 0 24px rgba(28,61,92,.035)}
.brand{gap:11px;margin:0 5px 18px;padding:0 4px}.brand-mark{width:42px;height:42px;border-radius:13px;background:#eaf4ff;color:#176dc3;box-shadow:none}.brand-mark img{width:34px;height:34px}.brand strong{font-size:16px;color:#0e3157}.brand span{font-size:10.5px;color:#75899d;margin-top:2px}
.profile-switcher{padding:10px;border-radius:13px;background:#fff;border:1px solid #dfe8f1;margin:0 3px 14px;box-shadow:0 3px 10px rgba(29,62,92,.025)}
.profile-switcher label{color:#6c8195;font-size:10.5px;margin-bottom:5px}.profile-switcher-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:7px;align-items:center}.profile-switcher-avatar{width:32px;height:32px;border-radius:10px;overflow:hidden}.profile-switcher select{margin:0;border:1px solid #dbe5ee;padding:7px 8px;border-radius:9px;font-size:11px;background:#fbfdff}.profile-switcher .btn{margin-top:8px;padding:7px 9px;font-size:10.5px;border-radius:9px}
#mainNav{padding:0 2px 8px;scrollbar-gutter:auto}.nav-v13{gap:3px}.nav-item{color:#34536f;padding:7px 10px;border-radius:9px;font-size:11.5px;font-weight:650}.nav-item:hover{background:#f0f6fb;color:#123d66}.nav-item.active{background:color-mix(in srgb,var(--profile-accent) 12%,#fff);color:color-mix(in srgb,var(--profile-accent) 82%,#12385f);box-shadow:inset 3px 0 0 var(--profile-accent)}
.nav-item-major{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;align-items:center;font-size:12.5px;padding:9px 10px}.nav-icon{width:20px;height:20px;display:grid;place-items:center;color:#315979}.nav-icon svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-item-major.active .nav-icon{color:var(--profile-accent)}
.nav-group{border:0;margin:1px 0}.nav-group>summary{list-style:none;display:grid;grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;align-items:center;padding:9px 10px;border-radius:9px;color:#234968;font-size:12.5px;font-weight:750;cursor:pointer}.nav-group>summary::-webkit-details-marker{display:none}.nav-group>summary:hover{background:#f3f7fb}.nav-chevron{font-size:14px;text-align:center;color:#7790a5;transition:.15s}.nav-group:not([open]) .nav-chevron{transform:rotate(-90deg)}.nav-group-items{position:relative;margin:1px 0 4px 30px;padding-left:10px;display:grid;gap:1px}.nav-group-items::before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:1px;background:#dce6ef}.nav-group-items .nav-item{padding:6px 8px;font-size:10.8px;border-radius:7px}
.v13-legacy-monitor-nav{display:none!important}.sidebar-color-shortcut{margin:8px 4px 6px;border:1px solid #dce6ef;background:#fff;color:#173d5e;border-radius:12px;padding:8px 9px;display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;text-align:left}.sidebar-color-shortcut:hover{background:#f8fbfe}.sidebar-color-preview{width:22px;height:22px;border-radius:999px;box-shadow:0 0 0 3px #fff,0 0 0 4px #d6e3ed}.sidebar-color-shortcut strong,.sidebar-color-shortcut small{display:block}.sidebar-color-shortcut strong{font-size:10.5px}.sidebar-color-shortcut small{font-size:9px;color:#8293a3;margin-top:1px}.sidebar-footer{margin:0 4px;padding:8px 6px;color:#72879a;border-top:1px solid #e4ebf2;font-size:9.5px}.status-dot{width:7px;height:7px}.sidebar-session{padding:0 4px}.sidebar-help{display:none}.sidebar-logout{color:#34536f;border-top:0;padding:8px 7px;font-size:10.5px}.sidebar-logout:hover{color:#123d66;background:#f2f6fa;border-radius:8px}

.topbar{min-height:74px;padding:12px 20px;gap:13px;background:rgba(255,255,255,.94);border-bottom:1px solid #dce6ef;backdrop-filter:blur(14px)}.topbar h1{font-size:22px;color:#102f52}.topbar p{font-size:10.5px;margin-top:3px;color:#75899c}.global-search-shortcut{margin-left:auto;min-width:320px;max-width:430px;height:40px;border:1px solid #d8e4ee;background:#fbfdff;color:#71879a;border-radius:10px;padding:0 13px;display:flex;gap:9px;align-items:center;text-align:left;font-size:11px}.global-search-shortcut:hover{background:#f5f9fc;border-color:#c6d8e7}.global-search-icon{width:18px;height:18px;display:grid;place-items:center;color:var(--profile-accent)}.global-search-icon svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8}.top-actions{margin-left:0;gap:6px;flex-wrap:wrap;justify-content:flex-end}.top-actions .btn{padding:8px 10px;border-radius:9px;font-size:10px}.top-actions .btn-primary{background:var(--profile-accent)}
.view-container{padding:16px 20px 34px}.card{border-color:#dfe8f1;border-radius:14px;box-shadow:0 5px 18px rgba(30,61,91,.035)}
.btn-primary{background:var(--profile-accent)}.btn-primary:hover{background:color-mix(in srgb,var(--profile-accent) 82%,#000)}.btn-ghost{color:var(--profile-accent)}

.ui-icon{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dashboard-v13-hero{min-height:86px;border:1px solid color-mix(in srgb,var(--profile-accent) 13%,#dfe8f1);border-radius:14px;padding:18px 22px;margin-bottom:14px;background:linear-gradient(105deg,color-mix(in srgb,var(--profile-accent) 9%,#fff) 0%,#fff 58%,color-mix(in srgb,var(--profile-accent) 12%,#eaf5ff) 100%);display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden}.dashboard-v13-hero::after{content:"";position:absolute;right:-50px;bottom:-90px;width:360px;height:180px;border-radius:50%;background:linear-gradient(135deg,transparent,color-mix(in srgb,var(--profile-accent) 15%,transparent));transform:rotate(-8deg)}.dashboard-v13-hero>div{position:relative;z-index:1}.dashboard-v13-hero h2{margin:0;color:#10345a;font-size:22px}.dashboard-v13-hero p{margin:5px 0 0;color:#667f95;font-size:11.5px}.dashboard-v13-hero-mark{text-align:center;font-style:italic;color:color-mix(in srgb,var(--profile-accent) 80%,#376a8b);margin-right:60px}.dashboard-v13-hero-mark span,.dashboard-v13-hero-mark strong{display:block;font-size:13px;font-weight:500}.dashboard-v13-hero-mark strong{margin-top:2px}
.dashboard-v13-grid{display:grid;gap:12px;margin-bottom:12px}.dashboard-v13-top-grid{grid-template-columns:1fr .95fr 1.05fr}.dashboard-v13-middle-grid{grid-template-columns:.9fr 1.45fr}.dashboard-v13-bottom-grid{grid-template-columns:1.15fr .9fr .95fr}.dashboard-v13-panel{padding:14px;min-width:0}.dashboard-v13-panel-head{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:9px}.dashboard-v13-panel-head h3{font-size:13.5px;color:#173c60;margin:0}.dashboard-v13-title-icon{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--profile-accent) 10%,#f4f9fd);color:var(--profile-accent)}.dashboard-v13-title-icon .ui-icon{width:16px;height:16px}.dashboard-v13-panel-head .btn{font-size:9.5px;padding:6px 8px}
.dashboard-v13-summary-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;border:0;border-top:1px solid #edf2f6;background:transparent;padding:9px 2px;text-align:left;color:inherit}.dashboard-v13-summary-row:first-of-type{border-top:0}.dashboard-v13-summary-row button{}.dashboard-v13-summary-row:hover{background:#f8fbfe}.dashboard-v13-summary-row strong,.dashboard-v13-summary-row small{display:block}.dashboard-v13-summary-row strong{font-size:10.8px;color:#234763}.dashboard-v13-summary-row small{font-size:9.6px;color:#71869a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v13-summary-row b{font-size:11px;color:#234763;background:#edf4fa;border-radius:999px;min-width:24px;padding:4px 7px;text-align:center}
.dashboard-v13-iconbox{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:#eef5fb;color:#3476ad}.dashboard-v13-iconbox .ui-icon{width:16px;height:16px}.dashboard-v13-iconbox.violet{background:#f0ecff;color:#7356c8}.dashboard-v13-iconbox.teal{background:#e8f7f6;color:#178b86}.dashboard-v13-iconbox.rose{background:#ffedf1;color:#d04b6c}.dashboard-v13-iconbox.red{background:#fff0f0;color:#d44747}.dashboard-v13-iconbox.warn{background:#fff1e8;color:#e46d3b}.dashboard-v13-iconbox.soft{background:#eef6ff;color:#4d7fae}.dashboard-v13-list{display:grid}.dashboard-v13-list-row{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;border:0;border-top:1px solid #edf2f6;background:transparent;padding:8px 1px;text-align:left;color:inherit}.dashboard-v13-list-row:first-child{border-top:0}.dashboard-v13-list-row:hover{background:#f8fbfe;border-radius:8px}.dashboard-v13-date{width:38px;height:38px;border-radius:9px;background:color-mix(in srgb,var(--profile-accent) 9%,#f4f9fd);color:var(--profile-accent);display:flex;flex-direction:column;align-items:center;justify-content:center}.dashboard-v13-date strong{font-size:14px;line-height:1}.dashboard-v13-date small{font-size:8px;text-transform:uppercase;margin-top:2px}.dashboard-v13-row-main{min-width:0}.dashboard-v13-row-main strong,.dashboard-v13-row-main small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v13-row-main strong{font-size:10.7px;color:#1c405f}.dashboard-v13-row-main small{font-size:9.3px;color:#788b9c;margin-top:2px}.dashboard-v13-row-meta{font-size:9px;color:#658099;white-space:nowrap}.dashboard-v13-doc-row .btn{font-size:8.8px;padding:5px 7px}.dashboard-v13-empty{font-size:10px;color:#7c8e9e;margin:14px 3px}.dashboard-v13-monitor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dashboard-v13-monitor-card{border:1px solid #e1eaf2;background:#fbfdff;border-radius:11px;padding:10px;text-align:left;color:#173d5f;min-width:0}.dashboard-v13-monitor-card:hover{border-color:color-mix(in srgb,var(--profile-accent) 30%,#dce7f0);background:#f8fbfe}.dashboard-v13-monitor-card .dashboard-v13-iconbox{margin-bottom:7px}.dashboard-v13-monitor-card small,.dashboard-v13-monitor-card strong,.dashboard-v13-monitor-card span{display:block}.dashboard-v13-monitor-card small{font-size:9px;color:#6e8397}.dashboard-v13-monitor-card strong{font-size:16px;margin:5px 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dashboard-v13-monitor-card span{font-size:8.7px;color:#8797a5}.dashboard-v13-weight-layout{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:12px;align-items:stretch}.dashboard-v13-chart{min-height:145px;height:145px;overflow:hidden}.dashboard-v13-chart .chart-shell,.dashboard-v13-chart svg{max-height:145px}.dashboard-v13-chart-empty{height:145px;display:grid;place-items:center;text-align:center;border:1px dashed #d7e3ed;border-radius:10px;color:#7b8fa0;font-size:10px;padding:16px}.dashboard-v13-weight-layout aside{border-left:1px solid #e4ebf2;padding-left:12px;display:flex;flex-direction:column;justify-content:center}.dashboard-v13-weight-layout aside>strong{font-size:22px;color:#163a5f}.dashboard-v13-weight-layout aside>small{font-size:9px;color:#768b9d;margin-top:3px}.dashboard-v13-weight-goal{margin-top:12px;padding-top:9px;border-top:1px solid #e8eef4}.dashboard-v13-weight-goal span,.dashboard-v13-weight-goal b{display:block}.dashboard-v13-weight-goal span{font-size:8.8px;color:#7c8e9e}.dashboard-v13-weight-goal b{font-size:12px;margin-top:2px}.dashboard-v13-weight-delta{margin-top:10px;font-size:12px;font-weight:750}.dashboard-v13-weight-delta.good{color:#168a52}.dashboard-v13-weight-delta.warn{color:#c16b22}.dashboard-v13-weight-delta small{font-weight:500;font-size:8.5px;margin-top:2px}
.dashboard-v13-prevention-list{display:grid}.dashboard-v13-prevention-row{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) 16px;gap:9px;align-items:center;border:0;border-top:1px solid #edf2f6;background:transparent;padding:9px 1px;text-align:left}.dashboard-v13-prevention-row:first-child{border-top:0}.dashboard-v13-prevention-row:hover{background:#f8fbfe}.dashboard-v13-prevention-row strong,.dashboard-v13-prevention-row small{display:block}.dashboard-v13-prevention-row strong{font-size:10.7px;color:#1e435f}.dashboard-v13-prevention-row small{font-size:9px;color:#788c9f;margin-top:2px}.dashboard-v13-arrow{font-size:18px;color:#8da0b0}.dashboard-v13-safe-empty{min-height:90px;display:flex;gap:10px;align-items:center;justify-content:center;color:#6d8498;font-size:10px}.dashboard-v13-safe-empty .ui-icon{color:#2d9a66}
.dashboard-v13-prepare p,.dashboard-v13-share p{font-size:10px;line-height:1.45;color:#71869a;margin:0 0 10px}.dashboard-v13-prepare ul{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}.dashboard-v13-prepare li{font-size:9.5px;color:#425f77;padding-left:18px;position:relative}.dashboard-v13-prepare li::before{content:"✓";position:absolute;left:0;top:-1px;color:#1a9a62;font-weight:800}.dashboard-v13-prepare .btn,.dashboard-v13-share>.btn{font-size:9.5px;padding:8px;margin-top:6px}.dashboard-v13-security-note{margin-top:9px;border-radius:10px;background:#edf8f2;display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;color:#16714b}.dashboard-v13-security-note>.ui-icon{width:18px;height:18px}.dashboard-v13-security-note strong,.dashboard-v13-security-note small{display:block}.dashboard-v13-security-note strong{font-size:9.5px}.dashboard-v13-security-note small{font-size:8.3px;color:#5c806e;margin-top:1px}.dashboard-v13-security-note .btn{font-size:8px;padding:5px 7px;background:#fff}

/* Agenda V13 simple/extended presentation, preserving existing event logic */
#viewContainer[data-calendar-presentation="simple"] .calendar-provider-card>p,#viewContainer[data-calendar-presentation="simple"] .calendar-provider-card>.notice,#viewContainer[data-calendar-presentation="simple"] .calendar-event-main>.kpi-note,#viewContainer[data-calendar-presentation="simple"] .calendar-event-main>.calendar-source,#viewContainer[data-calendar-presentation="simple"] .calendar-event-main>.notice{display:none}
#viewContainer[data-calendar-presentation="simple"] .calendar-provider-card{padding:13px 16px}#viewContainer[data-calendar-presentation="simple"] .calendar-provider-card .card-title-row{margin-bottom:8px}#viewContainer[data-calendar-presentation="simple"] .calendar-event{padding:10px 12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;background:#fff}#viewContainer[data-calendar-presentation="simple"] .calendar-event-main>p{margin:4px 0 0;font-size:12px}#viewContainer[data-calendar-presentation="simple"] .calendar-event .row-actions{justify-content:flex-end;max-width:360px}.calendar-v13-actions{align-items:center}.calendar-v13-view-label{font-size:11px;color:#70869a;font-weight:700}.calendar-v13-separator{width:1px;height:28px;background:#dfe8f1;margin:0 2px}.calendar-v13-actions .btn.active{background:color-mix(in srgb,var(--profile-accent) 10%,#fff);color:color-mix(in srgb,var(--profile-accent) 82%,#173b5e);border-color:color-mix(in srgb,var(--profile-accent) 25%,#d7e3ee);box-shadow:inset 0 -2px 0 var(--profile-accent)}.calendar-provider-card{border-top:3px solid color-mix(in srgb,var(--profile-accent) 70%,#fff)}.calendar-event{box-shadow:0 3px 12px rgba(30,62,92,.03);border-color:#dfe8f1;background:#fbfdff}.calendar-event:hover{border-color:color-mix(in srgb,var(--profile-accent) 30%,#dfe8f1)}.calendar-date-box{background:color-mix(in srgb,var(--profile-accent) 9%,#fff);color:var(--profile-accent)}.calendar-month-day{border-radius:10px;background:#fff;border-color:#dfe8f1}.calendar-month-day:hover{background:color-mix(in srgb,var(--profile-accent) 5%,#fff)}.calendar-month-day.today{outline-color:var(--profile-accent);background:color-mix(in srgb,var(--profile-accent) 7%,#fff)}

@media(max-width:1380px){.global-search-shortcut{min-width:240px;max-width:330px}.top-actions #doctorExportBtn{display:none}.dashboard-v13-top-grid{grid-template-columns:1fr 1fr}.dashboard-v13-top-grid>section:first-child{grid-column:1/-1}.dashboard-v13-bottom-grid{grid-template-columns:1fr 1fr}.dashboard-v13-bottom-grid>section:last-child{grid-column:1/-1}}
@media(max-width:1100px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.topbar{flex-wrap:wrap}.global-search-shortcut{order:3;width:100%;max-width:none;margin-left:0}.top-actions{margin-left:auto}.dashboard-v13-middle-grid,.dashboard-v13-top-grid,.dashboard-v13-bottom-grid{grid-template-columns:1fr}.dashboard-v13-top-grid>section:first-child,.dashboard-v13-bottom-grid>section:last-child{grid-column:auto}}
@media(max-width:820px){.app-shell{display:block}.sidebar{position:fixed;width:var(--v13-sidebar);left:calc(var(--v13-sidebar) * -1 - 12px)}.sidebar.open{left:0}.view-container{padding:14px}.topbar{padding:10px 12px}.global-search-shortcut{display:none}.top-actions{width:100%}.dashboard-v13-hero{align-items:flex-start;flex-direction:column}.dashboard-v13-hero-mark{display:none}.dashboard-v13-monitor-grid{grid-template-columns:1fr}.dashboard-v13-weight-layout{grid-template-columns:1fr}.dashboard-v13-weight-layout aside{border-left:0;border-top:1px solid #e4ebf2;padding:10px 0 0}.calendar-v13-actions{width:100%}.calendar-v13-separator{display:none}}


/* V13 FIX2 · leggibilità e panoramica */
@media screen {
  .app-shell { grid-template-columns: 282px 1fr; }
  .sidebar { padding: 16px 14px; }
  .brand { gap: 10px; margin-bottom: 16px; }
  .brand strong { font-size: 18px; line-height: 1.16; }
  .brand span { font-size: 12px; line-height: 1.25; }
  .profile-switcher { padding: 12px; border-radius: 14px; margin-bottom: 12px; }
  .profile-switcher label, .profile-label-row label { font-size: 13px; font-weight: 700; }
  .profile-switcher select { padding: 9px 10px; font-size: 14px; }
  .btn, .form-control { font-size: 14px; }
  .btn-small { font-size: 12.5px; padding: 6px 10px; }
  .nav-item, .nav-group > summary { font-size: 14px; }
  .nav-item { padding: 8px 10px; min-height: 36px; border-radius: 10px; }
  .nav-group-items .nav-item { font-size: 13.5px; }
  .sidebar-footer { font-size: 12.5px; padding: 9px 10px; }
  .sidebar-logout { font-size: 14px; padding-top: 13px; }

  .topbar { min-height: 82px; padding: 14px 24px; }
  .topbar h1 { font-size: 26px; }
  .topbar p { font-size: 14px; }
  .global-search-shortcut { font-size: 14px; min-height: 44px; }
  .top-actions .btn { font-size: 13px; }
  .view-container { padding: 22px 24px 30px; }
  .card { padding: 16px; }

  .dashboard-v13-hero { min-height: 98px; padding: 20px 24px; margin-bottom: 16px; }
  .dashboard-v13-hero h2 { font-size: 27px; }
  .dashboard-v13-hero p { font-size: 13px; }
  .dashboard-v13-hero-mark span, .dashboard-v13-hero-mark strong { font-size: 14px; }

  .dashboard-v13-grid { gap: 14px; margin-bottom: 14px; }
  .dashboard-v13-panel { padding: 16px; }
  .dashboard-v13-panel-head { grid-template-columns: 32px minmax(0,1fr) auto; gap: 10px; margin-bottom: 12px; }
  .dashboard-v13-title-icon { width: 32px; height: 32px; }
  .dashboard-v13-title-icon .ui-icon { width: 18px; height: 18px; }
  .dashboard-v13-panel-head h3 { font-size: 18px; }
  .dashboard-v13-panel-head .btn { font-size: 12px; padding: 7px 11px; }

  .dashboard-v13-summary-row { grid-template-columns: 38px minmax(0,1fr) auto; gap: 11px; padding: 11px 2px; }
  .dashboard-v13-summary-row strong { font-size: 13px; }
  .dashboard-v13-summary-row small { font-size: 11px; }
  .dashboard-v13-summary-row b { font-size: 12px; min-width: 28px; padding: 4px 8px; }

  .dashboard-v13-iconbox { width: 34px; height: 34px; }
  .dashboard-v13-iconbox .ui-icon { width: 18px; height: 18px; }
  .dashboard-v13-list-row { gap: 11px; padding: 10px 2px; }
  .dashboard-v13-date { width: 42px; height: 42px; }
  .dashboard-v13-date strong { font-size: 16px; }
  .dashboard-v13-date small { font-size: 9px; }
  .dashboard-v13-row-main strong { font-size: 13px; }
  .dashboard-v13-row-main small { font-size: 11px; }
  .dashboard-v13-row-meta { font-size: 11px; }
  .dashboard-v13-doc-row .btn { font-size: 11px; padding: 6px 10px; }
  .dashboard-v13-empty { font-size: 12px; }

  .dashboard-v13-monitor-grid { gap: 10px; }
  .dashboard-v13-monitor-card { padding: 12px; }
  .dashboard-v13-monitor-card small { font-size: 11px; }
  .dashboard-v13-monitor-card strong { font-size: 20px; }
  .dashboard-v13-monitor-card span { font-size: 11px; }

  .dashboard-v13-weight-layout { grid-template-columns: minmax(0,1fr) 170px; gap: 16px; }
  .dashboard-v13-chart { min-height: 230px; height: 230px; }
  .dashboard-v13-chart .chart-shell, .dashboard-v13-chart svg { min-height: 230px; height: 230px; max-height: 230px; }
  .dashboard-v13-chart .chart-axis-label { font-size: 12px; }
  .dashboard-v13-chart .chart-axis-title { font-size: 13px; }
  .dashboard-v13-chart-empty { height: 230px; font-size: 12px; }
  .dashboard-v13-weight-layout aside { padding-left: 16px; }
  .dashboard-v13-weight-layout aside>strong { font-size: 30px; }
  .dashboard-v13-weight-layout aside>small { font-size: 12px; }
  .dashboard-v13-weight-goal span { font-size: 11px; }
  .dashboard-v13-weight-goal b { font-size: 15px; }
  .dashboard-v13-weight-delta { font-size: 15px; }
  .dashboard-v13-weight-delta small { font-size: 11px; }

  .dashboard-v13-prevention-row { grid-template-columns: 38px minmax(0,1fr) 18px; gap: 11px; padding: 11px 2px; }
  .dashboard-v13-prevention-row strong { font-size: 13px; }
  .dashboard-v13-prevention-row small { font-size: 11px; }
  .dashboard-v13-arrow { font-size: 20px; }
  .dashboard-v13-safe-empty { font-size: 12px; }

  .dashboard-v13-prepare p, .dashboard-v13-share p { font-size: 12px; margin-bottom: 12px; }
  .dashboard-v13-prepare ul { gap: 7px; margin-bottom: 12px; }
  .dashboard-v13-prepare li { font-size: 11px; padding-left: 18px; }
  .dashboard-v13-prepare .btn, .dashboard-v13-share>.btn { font-size: 12px; padding: 9px; }
  .dashboard-v13-security-note { grid-template-columns: 30px minmax(0,1fr) auto; gap: 10px; padding: 10px; }
  .dashboard-v13-security-note strong { font-size: 11px; }
  .dashboard-v13-security-note small { font-size: 10px; }
  .dashboard-v13-security-note .btn { font-size: 10px; padding: 6px 8px; }

  #sidebarColorShortcut { display: none !important; }
}

@media(max-width:1100px){
  .app-shell{grid-template-columns:250px minmax(0,1fr)}
}


/* V13 FIX3 · testo secondario più leggibile e grafico peso più ampio */
@media screen {
  .dashboard-v13-hero p { font-size: 15px; line-height: 1.45; }
  .dashboard-v13-hero-mark span, .dashboard-v13-hero-mark strong { font-size: 15px; line-height: 1.35; }

  .dashboard-v13-summary-row small { font-size: 13px; line-height: 1.35; }
  .dashboard-v13-row-main small { font-size: 12.5px; line-height: 1.35; }
  .dashboard-v13-row-meta { font-size: 12px; }
  .dashboard-v13-date small { font-size: 10px; }
  .dashboard-v13-empty { font-size: 13px; line-height: 1.4; }

  .dashboard-v13-monitor-card small { font-size: 12.5px; line-height: 1.35; }
  .dashboard-v13-monitor-card span { font-size: 12px; line-height: 1.35; }

  .dashboard-v13-weight-layout { grid-template-columns: minmax(0,1fr) 190px; gap: 18px; }
  .dashboard-v13-chart { min-height: 300px; height: 300px; }
  .dashboard-v13-chart .chart-shell, .dashboard-v13-chart svg { min-height: 300px; height: 300px; max-height: 300px; }
  .dashboard-v13-chart .chart-axis-label { font-size: 13px; }
  .dashboard-v13-chart .chart-axis-title { font-size: 14px; }
  .dashboard-v13-chart-empty { height: 300px; font-size: 13px; }
  .dashboard-v13-weight-layout aside>small { font-size: 13px; line-height: 1.4; }
  .dashboard-v13-weight-goal span { font-size: 12px; }
  .dashboard-v13-weight-delta small { font-size: 12px; line-height: 1.3; }

  .dashboard-v13-prevention-row small { font-size: 12.5px; line-height: 1.35; }
  .dashboard-v13-safe-empty { font-size: 13px; line-height: 1.4; }
  .dashboard-v13-prepare p, .dashboard-v13-share p { font-size: 13.5px; line-height: 1.5; }
  .dashboard-v13-prepare li { font-size: 12.5px; line-height: 1.4; }
  .dashboard-v13-security-note small { font-size: 11.5px; line-height: 1.35; }
}


/* V13 FIX4 · uniformità pulsanti e preferenze grafico panoramica */
@media screen {
  .btn, .btn-small, .profile-switcher .btn, .top-actions .btn, .dashboard-v13-share > .btn, #addProfileBtn, [data-action="export-pdf-dashboard"], [data-action="doctor-export"] {
    font-size: 14px !important;
    line-height: 1.2;
  }
  .profile-switcher .btn, #addProfileBtn { padding-top: 10px; padding-bottom: 10px; }
  .dashboard-v13-share > .btn { padding-top: 10px; padding-bottom: 10px; }
  .dashboard-v13-panel-head .btn, .dashboard-v13-doc-row .btn, .dashboard-v13-security-note .btn { font-size: 14px !important; }
  .dashboard-v13-row-main small, .dashboard-v13-summary-row small, .dashboard-v13-prevention-row small, .dashboard-v13-monitor-card small, .dashboard-v13-monitor-card span, .dashboard-v13-empty, .dashboard-v13-prepare p, .dashboard-v13-share p, .dashboard-v13-prepare li, .dashboard-v13-security-note small, .dashboard-v13-weight-layout aside > small, .dashboard-v13-weight-goal span {
    font-size: 12.5px !important;
    line-height: 1.45;
  }
  .dashboard-v13-row-main strong, .dashboard-v13-summary-row strong, .dashboard-v13-prevention-row strong { font-size: 14px !important; }
  .dashboard-v13-chart { min-height: 280px; height: 280px; }
  .dashboard-v13-chart .chart-shell, .dashboard-v13-chart svg { min-height: 280px; height: 280px; max-height: 280px; }
  .dashboard-v13-chart .chart-axis-label { font-size: 12.5px; }
  .dashboard-v13-chart .chart-axis-title { font-size: 14px; }
}

/* V13 FIX5 · revisione generale densità Preferenze e Backup */
@media screen {
  /* Preferenze: più contenuto visibile e meno moduli dispersivi */
  #preferencesForm.preferences-layout {
    grid-template-columns: repeat(12,minmax(0,1fr));
    gap: 12px;
    align-items: start;
  }
  #preferencesForm > .preference-section { min-width:0; padding:14px; gap:8px; }
  #preferencesForm > .pref-appearance,
  #preferencesForm > .pref-agenda,
  #preferencesForm > .pref-pdf,
  #preferencesForm > #securityPreferences,
  #preferencesForm > .pref-test22,
  #preferencesForm > .preference-actions { grid-column: 1 / -1; }
  #preferencesForm > .pref-docs,
  #preferencesForm > .pref-warnings,
  #preferencesForm > #updatesPreferenceSection { grid-column: span 6; }
  #preferencesForm .card-title-row { margin-bottom:8px; }
  #preferencesForm .card-title-row h2 { font-size:20px; }
  #preferencesForm .kpi-note { margin-top:4px; line-height:1.35; }
  #preferencesForm .section-spacer { height:6px; }
  #preferencesForm .form-grid { gap:9px 12px; }
  #preferencesForm .form-group { gap:4px; }
  #preferencesForm .form-control { min-height:40px; }
  #preferencesForm .check-row { gap:8px; }
  #preferencesForm .check-row small { line-height:1.3; }

  .pref-appearance .form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; }
  .pref-appearance .color-control { min-height:40px; }

  .pref-agenda { grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:14px!important; }
  .pref-agenda > .card-title-row,
  .pref-agenda > .form-grid,
  .pref-agenda > .row-actions,
  .pref-agenda > details[open],
  .pref-agenda > details:not(.pref-google-summary),
  .pref-agenda > .check-row:last-of-type { grid-column:1/-1; }
  .pref-agenda > .pref-google-summary { grid-column:1/-1; }
  .pref-google-summary { border:1px solid var(--line); border-radius:11px; background:var(--surface-2); overflow:hidden; }
  .pref-google-summary > summary { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:10px 12px; color:var(--text); }
  .pref-google-summary > summary span:first-child { min-width:0; }
  .pref-google-summary > summary strong,.pref-google-summary > summary small { display:block; }
  .pref-google-summary > summary small { margin-top:2px; color:var(--muted); font-weight:500; }
  .pref-google-summary > .notice { margin:0 10px 10px; padding:10px 12px; }
  .pref-agenda .calendar-reminder-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px 10px; }
  .pref-agenda .calendar-reminder-grid .check-row { padding:3px 0; }
  .pref-agenda .agenda-reminders-group > small,
  .pref-agenda .agenda-reorder-group > small { line-height:1.3; }

  .pref-pdf > .form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px 12px; align-items:start; }
  .pref-pdf > .form-grid > .form-group,
  .pref-pdf > .form-grid > .check-row { min-width:0; padding:8px 9px; border:1px solid var(--line); border-radius:10px; background:var(--surface-2); }
  .pref-pdf-graphs-spacer { height:3px!important; }
  .pref-pdf-graphs-title { margin:2px 0 6px; }
  .graph-selection-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:7px!important; }
  .graph-choice { min-height:54px; padding:8px 9px!important; border-radius:9px!important; align-items:center; }
  .graph-choice input { margin-top:0; flex:0 0 auto; }
  .graph-choice strong { font-size:12.5px; line-height:1.2; }
  .graph-choice small { font-size:11.5px; line-height:1.2; margin-top:2px; }

  .pref-docs .storage-card { margin-top:8px; padding:10px; }
  .pref-warnings .notice { padding:10px 12px; line-height:1.4; }
  #updatesPreferenceSection { align-self:start; }
  #updatesPreferenceSection .grid-2 { gap:8px 16px; }
  #updatesPreferenceSection .row-actions { margin-top:8px!important; }

  #securityPreferences { gap:9px; }
  #securityPreferences > .notice { padding:10px 12px; line-height:1.4; }
  #securityPreferences .section-spacer { height:8px; }
  #securityPreferences h3 { margin-bottom:7px; }

  .preference-actions { grid-column:1/-1!important; padding:10px 12px!important; margin-top:0; }

  /* Backup e ripristino: quattro funzioni principali nella prima fascia */
  .backup-top-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; align-items:stretch; }
  .backup-compact-card { padding:14px; display:flex; flex-direction:column; gap:10px; min-width:0; }
  .backup-compact-card h2 { margin:0; font-size:18px; }
  .backup-compact-card .kpi-note { margin:3px 0 0; line-height:1.35; }
  .backup-compact-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
  .backup-state-icon { width:28px; height:28px; border-radius:9px; display:grid; place-items:center; flex:0 0 28px; background:var(--surface-2); color:var(--muted); font-weight:800; }
  .backup-state-icon.ok { background:#e7f7ed; color:var(--success); }
  .backup-compact-state { display:flex; flex-direction:column; gap:2px; min-height:36px; }
  .backup-compact-state span { color:var(--muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .backup-compact-card .row-actions { margin-top:auto; gap:7px; }
  .backup-compact-card .row-actions .btn { padding-left:10px; padding-right:10px; }
  .backup-migration-status { border:1px solid var(--line); background:var(--surface-2); border-radius:10px; padding:9px 10px; display:grid; gap:3px; }
  .backup-migration-status span { color:var(--muted); line-height:1.3; }
  .backup-inline-details { padding:0 9px; border-radius:9px; }
  .backup-inline-details summary { padding:7px 0; }
  .backup-inline-details .notice { margin:0 0 8px; padding:8px 10px; }
  .compact-notice { margin:0; padding:8px 10px; }
  .backup-cloud-host { margin-top:12px; }
  .backup-cloud-host .cloud-card { gap:10px; padding:14px; }
  .backup-cloud-host .cloud-status-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:7px; }
  .backup-cloud-host .cloud-status-grid > div { padding:8px 9px; border-radius:9px; }
  .backup-cloud-host .cloud-status-grid span { font-size:11.5px; margin-bottom:2px; }
  .backup-cloud-host .cloud-status-grid strong { font-size:13px; }
  .backup-cloud-host .row-actions { gap:7px; }
  .backup-cloud-host .cloud-card > .kpi-note { margin:0; }
  .backup-cloud-host .cloud-setup { border-radius:10px; }
  .backup-cloud-host .cloud-setup summary { padding:8px 0; }
  .backup-admin-strip { margin-top:12px; padding:12px 14px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
  .backup-admin-strip h2 { margin:0; font-size:18px; }
  .backup-admin-strip .kpi-note { margin:3px 0 0; }
  .backup-admin-strip .row-actions { flex:0 0 auto; }
}

@media screen and (min-width: 1900px) {
  .graph-selection-grid { grid-template-columns:repeat(6,minmax(0,1fr))!important; }
}
@media screen and (max-width: 1450px) {
  .backup-top-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .backup-cloud-host .cloud-status-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pref-pdf > .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .graph-selection-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}
@media screen and (max-width: 1050px) {
  #preferencesForm.preferences-layout { grid-template-columns:1fr; }
  #preferencesForm > .preference-section,#preferencesForm > #updatesPreferenceSection { grid-column:1!important; }
  .pref-appearance .form-grid { grid-template-columns:1fr; }
  .pref-agenda { grid-template-columns:1fr; }
  .pref-agenda > * { grid-column:1!important; }
  .pref-agenda .calendar-reminder-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .graph-selection-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .backup-top-grid { grid-template-columns:1fr; }
  .backup-cloud-host .cloud-status-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .backup-admin-strip { align-items:flex-start; flex-direction:column; }
}


/* V13 FIX6 · revisione trasversale interfaccia Windows */
@media screen {
  :root { --ui-radius:14px; --ui-gap:12px; }
  .view-container { padding:18px 20px 26px; }
  .card, .unified-section-card { border:1px solid #dce6ef; border-radius:var(--ui-radius); box-shadow:none; background:#fff; }
  .card-title-row, .compact-section-head { align-items:flex-start; gap:12px; margin-bottom:10px; }
  .card-title-row h2, .card-title-row h3 { color:#12385c; }
  .section-spacer { height:8px; }
  .list-item, .timeline-item, .calendar-suggestion { border-color:#e0e8ef; }
  .table-wrap { border:1px solid #dfe7ee; border-radius:12px; overflow:auto; }
  table { background:#fff; }
  th { background:#f6f9fc; color:#567087; }
  .search-row { display:grid; grid-template-columns:minmax(260px,1fr) 220px; gap:10px; margin-bottom:10px; }
  .bulk-toolbar { gap:8px; padding:9px 10px; border:1px solid #e0e8ef; border-radius:10px; background:#f8fbfd; margin-bottom:10px; }
  .module-grid, .grid-2 { gap:12px; }
  .module-card { border:1px solid #dfe7ee; border-radius:12px; background:#fff; }

  /* Barra superiore: una sola riga sui desktop normali */
  .topbar { display:grid; grid-template-columns:300px minmax(260px,1fr) auto; align-items:center; min-height:82px; padding:12px 20px; gap:12px; }
  .topbar > div:first-of-type { min-width:0; max-width:300px; }
  .topbar h1 { font-size:25px; }
  .topbar p { font-size:13px; line-height:1.35; max-width:270px; }
  .global-search-shortcut { margin:0; width:100%; min-width:0; max-width:none; }
  .top-actions { margin:0; flex-wrap:nowrap; gap:5px; white-space:nowrap; }
  .top-actions .btn { padding:8px 9px; font-size:13px!important; }

  /* Preferenze: struttura compatta */
  #preferencesForm.preferences-layout { grid-template-columns:repeat(12,minmax(0,1fr)); gap:10px; }
  #preferencesForm > .preference-section { padding:13px 14px; }
  .pref-agenda { display:block!important; }
  .pref-agenda-top { display:grid; grid-template-columns:minmax(0,1fr) minmax(320px,.85fr); gap:12px; align-items:end; }
  .pref-google-compact { min-height:64px; border:1px solid var(--line); background:var(--surface-2); border-radius:11px; padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .pref-google-compact strong,.pref-google-compact small { display:block; }
  .pref-google-compact small { margin-top:3px; color:var(--muted); }
  .pref-google-consent-row { margin-top:10px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; }
  .pref-google-consent-row .row-actions { margin:0; flex-wrap:nowrap; }
  .pref-agenda-lower { margin-top:10px; display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:start; }
  .pref-agenda-lower > div { border:1px solid #e1e9f0; border-radius:11px; padding:10px 12px; background:#fbfdff; }
  .pref-agenda-lower label { font-weight:700; }
  .pref-agenda .calendar-reminder-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:4px 10px; }
  .agenda-medication-settings { display:grid; gap:10px; }
  .agenda-medication-settings .form-group { margin:0; }
  .medication-google-name { margin:0!important; padding-top:8px; border-top:1px solid #e3eaf0; }
  .pref-developer-google { margin-top:10px; }
  .pref-pdf > .form-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .graph-selection-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }

  /* Cronologia molto più densa */
  .timeline { padding-left:20px; }
  .compact-timeline-item { padding:11px 12px; margin-bottom:8px; }
  .compact-timeline-item::before { left:-22px; top:16px; width:11px; height:11px; }
  .timeline-mainline { display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .timeline-mainline-left { min-width:0; display:flex; align-items:center; gap:9px; flex-wrap:nowrap; }
  .timeline-mainline .timeline-date { flex:0 0 auto; margin:0; font-size:13px; }
  .timeline-mainline h3 { margin:0; font-size:14.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .timeline-mainline .badge { flex:0 0 auto; }
  .timeline-actions { flex:0 0 auto; margin:0; }
  .timeline-meta { margin-top:5px; color:var(--muted); font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .timeline-preview { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:5px 0 0!important; font-size:12.5px!important; line-height:1.35!important; }

  /* Agenda nuova */
  .agenda-provider-strip { padding:10px 12px; display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
  .agenda-provider-status { display:flex; align-items:center; gap:10px; min-width:0; }
  .agenda-provider-status > div { display:flex; gap:6px; flex-wrap:wrap; }
  .agenda-provider-error { color:var(--danger); font-size:12px; }
  .agenda-main-card { padding:0; overflow:hidden; }
  .agenda-main-head { padding:14px 16px 8px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
  .agenda-main-head h2 { margin:0; font-size:24px; color:#12385c; }
  .agenda-main-head p { margin:3px 0 0; }
  .agenda-tabs { display:flex; gap:4px; padding:0 16px; border-bottom:1px solid #dfe7ee; }
  .agenda-tab { border:0; background:transparent; padding:10px 14px; color:#355978; font-weight:700; border-bottom:3px solid transparent; }
  .agenda-tab.active { color:var(--profile-accent); border-bottom-color:var(--profile-accent); }
  .agenda-split { display:grid; grid-template-columns:minmax(0,1fr) 390px; min-height:560px; }
  .agenda-list-pane { min-width:0; border-right:1px solid #dfe7ee; }
  .agenda-filter-row { display:grid; grid-template-columns:minmax(220px,1fr) 220px; gap:8px; padding:10px 12px; background:#f8fbfd; border-bottom:1px solid #e3eaf0; }
  .agenda-scroll-list { max-height:640px; overflow:auto; padding:0 10px 10px; }
  .agenda-day-group { margin-top:8px; }
  .agenda-day-title { display:flex; justify-content:space-between; gap:10px; padding:7px 4px; color:#365c7a; font-size:13px; text-transform:capitalize; }
  .agenda-day-title span { color:var(--muted); }
  .agenda-event-row { width:100%; display:grid; grid-template-columns:58px 38px minmax(0,1fr) auto 18px; gap:9px; align-items:center; padding:9px 9px; border:1px solid #e2e9ef; border-radius:10px; background:#fff; color:inherit; text-align:left; margin-bottom:6px; }
  .agenda-event-row:hover,.agenda-event-row.selected { border-color:color-mix(in srgb,var(--profile-accent) 45%,#dfe7ee); background:color-mix(in srgb,var(--profile-accent) 5%,#fff); }
  .agenda-event-time strong,.agenda-event-time small { display:block; }
  .agenda-event-time strong { font-size:14px; color:#153b60; }
  .agenda-event-time small { font-size:10.5px; color:var(--muted); margin-top:2px; }
  .agenda-event-icon,.agenda-detail-icon { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:#edf5fb; color:#3476ad; }
  .agenda-event-icon .ui-icon,.agenda-detail-icon .ui-icon { width:18px; height:18px; }
  .agenda-event-icon.rose,.agenda-detail-icon.rose{background:#ffedf1;color:#d04b6c}.agenda-event-icon.teal,.agenda-detail-icon.teal{background:#e8f7f6;color:#178b86}.agenda-event-icon.violet,.agenda-detail-icon.violet{background:#f0ecff;color:#7356c8}.agenda-event-icon.green,.agenda-detail-icon.green{background:#e8f7ef;color:#23885a}.agenda-event-icon.amber,.agenda-detail-icon.amber{background:#fff3df;color:#cf7a16}
  .agenda-event-content { min-width:0; }
  .agenda-event-titleline { display:flex; align-items:center; gap:7px; min-width:0; }
  .agenda-event-titleline > strong { font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .agenda-event-content > small { display:block; color:var(--muted); font-size:11.5px; margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .agenda-event-note { display:block; margin-top:3px; color:#4f6d84; font-size:11.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .agenda-category-badge { font-size:10.5px; }
  .agenda-sync-pill { font-size:10.5px; white-space:nowrap; }
  .agenda-sync-pill.success { background:#e5f7ed; color:#147346; }.agenda-sync-pill.warning { background:#fff0df; color:#a65a00; }.agenda-sync-pill.neutral { background:#edf3f8; color:#506b80; }
  .agenda-event-chevron { color:#7890a4; font-size:20px; }
  .agenda-detail-panel { min-width:0; padding:14px; background:#fbfdff; }
  .agenda-detail-panel.empty { display:grid; place-items:center; color:var(--muted); }
  .agenda-detail-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
  .agenda-detail-head > div { display:flex; gap:10px; min-width:0; }
  .agenda-detail-head h3 { margin:0 0 4px; font-size:19px; color:#143a60; }
  .agenda-detail-actions { display:flex; gap:7px; margin:10px 0; }
  .agenda-detail-list { display:grid; gap:0; border-top:1px solid #e2e9ef; }
  .agenda-detail-list > div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:10px; padding:9px 0; border-bottom:1px solid #e8eef3; }
  .agenda-detail-list span:first-child { color:var(--muted); font-size:11.5px; }
  .agenda-detail-list strong { font-size:12.5px; color:#274a66; }
  .agenda-detail-note { font-weight:500!important; line-height:1.4; }
  .agenda-map-card { margin-top:12px; border:1px solid #dfe7ee; border-radius:11px; overflow:hidden; background:#fff; }
  .agenda-map-card iframe { width:100%; height:180px; border:0; display:block; }
  .agenda-map-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; font-size:11.5px; }
  .agenda-detail-links { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:12px; }
  .agenda-secondary-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:10px; }
  .agenda-secondary-grid .card { padding:10px 12px; }
  .agenda-secondary-grid summary { display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .calendar-suggestion-list.compact .calendar-suggestion { padding:10px 14px; }
  .calendar-history.compact .list-item { padding:8px; }
  .agenda-month-host { padding:12px 14px 16px; }

  /* Uniformazione sezioni esistenti */
  .diagnosis-main-section,.therapy-page,.monitor-hero,.profile-data-card,.personal-health-card,.cloud-card { border-radius:var(--ui-radius); }
  .diagnosis-main-controls,.therapy-toolbar,.monitor-inline-chart-head { gap:8px; }
  .preferences-layout .notice,.backup-cloud-host .notice { border-radius:10px; }
  .form-control { border-color:#d6e2ea; background:#fff; }
  .btn { box-shadow:none!important; }
  .btn-light,.btn-ghost { border-color:#d7e2ea; }
  .badge { font-weight:700; }
  .help-continuous { padding:14px; }
}
@media screen and (min-width:1900px){.graph-selection-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}}
@media screen and (max-width:1500px){
  .topbar { grid-template-columns:270px minmax(220px,1fr) auto; }
  .topbar > div:first-of-type { max-width:270px; }
  .topbar p { max-width:245px; }
  .top-actions .btn { padding:7px 7px; font-size:12px!important; }
  .agenda-split { grid-template-columns:minmax(0,1fr) 350px; }
  .agenda-event-row { grid-template-columns:52px 36px minmax(0,1fr) auto 16px; }
}
@media screen and (max-width:1250px){
  .topbar { display:flex; flex-wrap:wrap; }
  .topbar > div:first-of-type { flex:0 0 260px; }
  .global-search-shortcut { flex:1 1 280px; }
  .top-actions { width:100%; justify-content:flex-start; flex-wrap:wrap; }
  .agenda-split { grid-template-columns:1fr; }
  .agenda-list-pane { border-right:0; }
  .agenda-detail-panel { border-top:1px solid #dfe7ee; }
  .pref-agenda-top,.pref-agenda-lower { grid-template-columns:1fr; }
  .pref-google-consent-row { grid-template-columns:1fr; }
}
@media screen and (max-width:900px){
  .timeline-mainline { align-items:flex-start; }
  .timeline-mainline-left { flex-wrap:wrap; }
  .timeline-actions { width:100%; }
  .agenda-filter-row,.agenda-secondary-grid { grid-template-columns:1fr; }
  .agenda-event-row { grid-template-columns:48px 34px minmax(0,1fr) 16px; }
  .agenda-sync-pill { grid-column:3/4; justify-self:start; }
}


/* V13 FIX6 · compattazione pagine secondarie */
@media screen {
  .search-row:has(> :only-child) { display:flex; }
  .search-row:has(> :only-child) > * { width:min(360px,100%); }
  .therapy-table td,.therapy-table th,.diagnosis-history-table td,.diagnosis-history-table th,.documents-table td,.documents-table th { vertical-align:top; }
  .diagnosis-search-panel { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(420px,1.2fr); gap:14px; align-items:end; padding:12px; border-radius:11px; }
  .diagnosis-search-controls { display:grid; grid-template-columns:minmax(220px,1fr) 260px auto; gap:8px; align-items:end; }
  .diagnosis-search-panel > small { grid-column:1/-1; margin-top:-4px; }
  .diagnosis-main-grid { gap:10px; }
  .diagnosis-main-card { padding:11px 12px; }
  .diagnosis-history .list-item { padding:8px 10px; }
  .exemption-card-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .exemption-card { margin:0; padding:12px; }

  .visit-prep-page { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
  .visit-prep-page > .visit-hero,.visit-prep-page > .visit-config-grid,.visit-prep-page > .visit-export-card { grid-column:1/-1; }
  .visit-prep-page > section.card:nth-child(2) { grid-column:1/-1; }
  .visit-prep-page .card { margin:0; }
  .visit-hero { min-height:0; }
  .visit-block { padding:13px; }
  .visit-doc-grid { gap:8px; }
  .visit-doc-choice { padding:9px; border-radius:10px; }
  .visit-request-entry { gap:8px; }
  .visit-export-card { padding:12px 14px; }
  .visit-export-copy{min-width:180px}
  .visit-pdf-layout{display:grid;gap:4px;min-width:285px;max-width:340px}
  .visit-pdf-layout label{font-size:.78rem;font-weight:700;color:var(--text)}
  .visit-pdf-layout small{font-size:.72rem;color:var(--muted);line-height:1.3}
  .visit-export-card .row-actions{justify-content:flex-end}

  #dossierSearchOutputV9 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-items:start; }
  #dossierSearchOutputV9 > .dossier-search-summary,#dossierSearchOutputV9 > .notice { grid-column:1/-1; }
  .search-result-group { border:1px solid #e0e8ef; border-radius:11px; padding:10px; background:#fbfdff; }
  .search-result-group .card-title-row { margin-bottom:7px; }
  .search-result-group .list-item { padding:8px; }

  .monitor-hero { padding:14px; }
  .monitor-kpi-grid,.journey-summary { gap:10px; }
  .journey-summary > div { padding:10px; }
  .monitor-graphs-dashboard { gap:10px; }
  .monitor-graphs-dashboard-card { padding:10px; }

  .help-continuous { max-width:none; }
  .help-continuous-text { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .help-topic { margin:0; padding:0; border:1px solid #e0e8ef; border-radius:10px; background:#fbfdff; }
  .help-topic > summary { padding:10px 12px; color:#173e62; font-size:13.5px; }
  .help-topic-body { padding:0 12px 11px; color:#49677e; font-size:13px; line-height:1.48; }
  .help-security-declaration { margin-bottom:10px; }

  .backup-top-grid { gap:10px; }
  .backup-cloud-host { margin-top:10px; }
  .backup-admin-strip { margin-top:10px; }
}
@media screen and (max-width:1300px){
  .diagnosis-search-panel { grid-template-columns:1fr; }
  .diagnosis-search-controls { grid-template-columns:1fr 220px auto; }
  .exemption-card-stack,.visit-prep-page,#dossierSearchOutputV9,.help-continuous-text { grid-template-columns:1fr; }
  .visit-prep-page > * { grid-column:1!important; }
}


/* V13 FIX6 · rifiniture finali barra superiore e calendario mensile */
@media screen {
  .topbar { grid-template-columns:270px minmax(220px,1fr) auto; }
  .topbar > div:first-of-type { max-width:270px; }
  .topbar p { max-width:240px; }
  .calendar-month-entry { display:flex!important; align-items:center; justify-content:space-between; gap:4px; }
  .calendar-month-entry b { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
  .calendar-month-entry em { flex:0 0 auto; padding:1px 4px; border-radius:999px; font-style:normal; font-size:8.5px; background:#edf3f8; color:#506b80; }
  .calendar-month-entry em.success { background:#e5f7ed; color:#147346; }
  .calendar-month-entry em.warning { background:#fff0df; color:#a65a00; }
}
@media screen and (max-width:1750px){
  .topbar { grid-template-columns:245px minmax(205px,1fr) auto; gap:9px; }
  .topbar > div:first-of-type { max-width:245px; }
  .topbar p { max-width:225px; }
  .top-actions { gap:4px; }
  .top-actions .btn { padding:7px 7px; font-size:12.5px!important; }
}


/* V13 FIX7 · ripristino sezione Emergenza nella Panoramica */
@media screen {
  .dashboard-v13-emergency-panel {
    margin-bottom:14px;
    border-color:color-mix(in srgb,#b42318 22%,var(--line));
    background:linear-gradient(110deg,color-mix(in srgb,#b42318 3%,#fff),#fff 55%);
  }
  .dashboard-v13-title-icon.emergency {
    color:#b42318;
    background:#fff0ef;
  }
  .dashboard-v13-emergency-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px 14px;
  }
  .dashboard-v13-emergency-item {
    display:grid;
    grid-template-columns:36px minmax(0,1fr);
    gap:10px;
    align-items:center;
    min-width:0;
    padding:10px 11px;
    border:1px solid #e8eef4;
    border-radius:11px;
    background:rgba(255,255,255,.82);
  }
  .dashboard-v13-emergency-item small,
  .dashboard-v13-emergency-item strong,
  .dashboard-v13-emergency-item span { display:block; min-width:0; }
  .dashboard-v13-emergency-item small { font-size:12.5px; color:#70869a; margin-bottom:2px; }
  .dashboard-v13-emergency-item strong { font-size:14px; color:#173d5f; line-height:1.3; overflow-wrap:anywhere; }
  .dashboard-v13-emergency-item div>span { font-size:12.5px; color:#637c90; margin-top:2px; overflow-wrap:anywhere; }
  .dashboard-v13-emergency-item a { color:var(--profile-accent); font-weight:700; text-decoration:none; }
}
@media(max-width:1250px){.dashboard-v13-emergency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.dashboard-v13-emergency-grid{grid-template-columns:1fr}}


/* V13 FIX8 · preferenze ottimizzate e restyling trasversale */
@media screen {
  .topbar { grid-template-columns:minmax(220px,235px) minmax(280px,1fr) auto; gap:10px; }
  .topbar > div:first-of-type { max-width:235px; }
  .topbar p { max-width:220px; line-height:1.32; }
  .global-search-shortcut { min-height:42px; padding-inline:12px; }
  .top-actions { gap:5px; }
  .top-actions .btn { padding:7px 8px; font-size:12.5px !important; }

  #preferencesForm.preferences-layout { gap:12px; }
  #preferencesForm > .pref-appearance { order:10; grid-column:span 6; }
  #preferencesForm > .pref-warnings { order:11; grid-column:span 6; }
  #preferencesForm > .pref-agenda { order:20; grid-column:1 / -1; }
  #preferencesForm > .pref-pdf { order:30; grid-column:1 / -1; }
  #preferencesForm > #securityPreferences { order:40; grid-column:1 / -1; }
  #preferencesForm > .pref-test22 { order:45; grid-column:1 / -1; }
  #preferencesForm > .pref-docs,
  #preferencesForm > #updatesPreferenceSection,
  #preferencesForm > .preference-actions { order:50; grid-column:span 4; align-self:stretch; }

  #preferencesForm > .preference-section,
  #preferencesForm > #updatesPreferenceSection,
  #preferencesForm > .preference-actions { border-radius:16px; border:1px solid #d9e5ef; background:linear-gradient(180deg,#ffffff,#fbfdff); box-shadow:0 10px 28px rgba(15,72,110,.05); }
  #preferencesForm > .preference-section .card-title-row,
  #updatesPreferenceSection .card-title-row { margin-bottom:10px; padding-bottom:8px; border-bottom:1px solid #edf2f7; }
  #preferencesForm > .preference-section h2,
  #updatesPreferenceSection h2 { font-size:19px; letter-spacing:-.01em; }
  #preferencesForm .kpi-note { color:#60788d; }

  .pref-appearance .form-grid,
  .pref-agenda-top,
  .pref-agenda-lower { display:grid; gap:10px 12px; }
  .pref-agenda-top { grid-template-columns:minmax(290px,1.1fr) minmax(260px,.9fr); align-items:end; }
  .pref-agenda-lower { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); align-items:start; }
  .pref-google-compact { min-height:40px; border:1px solid #dbe6ef; border-radius:12px; padding:10px 12px; background:#f8fbfe; display:flex; align-items:center; justify-content:space-between; gap:10px; }
  .pref-google-compact .badge { min-width:108px; justify-content:center; text-align:center; }
  .pref-google-consent-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:10px 12px; border:1px solid #dbe6ef; border-radius:12px; background:#fcfdff; }
  .pref-google-consent-row .row-actions { margin:0; }
  .pref-agenda .agenda-reminders-group,
  .pref-agenda .agenda-medication-settings { padding:12px; border:1px solid #dbe6ef; border-radius:12px; background:#fcfdff; }

  .pref-pdf > .form-grid { grid-template-columns:minmax(285px,1.15fr) repeat(4,minmax(175px,1fr)); gap:9px 10px; }
  .pref-pdf > .form-grid > .form-group,
  .pref-pdf > .form-grid > .check-row { min-height:66px; }
  .pref-pdf > .form-grid > .check-row span { min-width:0; }
  .pref-pdf-graphs-title { margin-top:4px; }

  .pref-docs .form-grid { grid-template-columns:minmax(0,1fr) 240px; align-items:start; gap:12px; }
  .pref-docs .storage-card { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:11px 12px; border-radius:12px; background:#fcfdff; border:1px solid #dbe6ef; }
  .pref-docs .storage-card span { flex:1; min-width:0; color:#60788d; }

  .pref-warnings .notice { min-height:0; padding:14px 16px; border-radius:13px; background:linear-gradient(180deg,#fff8ee,#fffdf9); }
  .pref-warnings .badge,
  #updatesPreferenceSection .badge,
  .backup-migration-card .badge { min-height:40px; min-width:96px; display:inline-grid; place-items:center; text-align:center; line-height:1.18; padding:8px 14px; }
  #updatesPreferenceSection .grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 16px; }
  #updatesPreferenceSection .grid-2 > div { padding:10px 11px; border:1px solid #dbe6ef; border-radius:12px; background:#fcfdff; }
  #updatesPreferenceSection .row-actions { margin-top:auto !important; }

  .preference-actions { padding:14px !important; display:flex; flex-direction:column; justify-content:center; gap:12px; }
  .preference-actions::before { content:"Salvataggio preferenze"; display:block; font-size:19px; font-weight:700; color:#143b60; }
  .preference-actions::after { content:"Conferma o ripristina le impostazioni correnti del Dossier."; display:block; margin-top:-8px; color:#60788d; font-size:13px; line-height:1.4; }
  .preference-actions .btn { width:100%; min-height:44px; }

  body[data-active-view="preferences"] .search-row,
  body[data-active-view="documents"] .search-row,
  body[data-active-view="diagnoses"] .diagnosis-search-panel,
  body[data-active-view="compare"] .search-row { border:1px solid #dce7ef; border-radius:14px; background:linear-gradient(180deg,#fcfdff,#f8fbfe); box-shadow:0 8px 20px rgba(15,72,110,.04); }
  body[data-active-view="documents"] .bulk-toolbar,
  body[data-active-view="compare"] #compareOutput > h3,
  body[data-active-view="therapies"] .search-row,
  body[data-active-view="exemptions"] .search-row { border-radius:13px; }

  body[data-active-view="timeline"] .timeline-shell,
  body[data-active-view="documents"] #viewContainer > .card,
  body[data-active-view="therapies"] #viewContainer > .card,
  body[data-active-view="diagnoses"] #viewContainer > .card,
  body[data-active-view="exemptions"] #viewContainer > .card,
  body[data-active-view="doctors"] #viewContainer > .card,
  body[data-active-view="compare"] #viewContainer > .card,
  body[data-active-view="search-dossier"] #viewContainer > .card,
  body[data-active-view="backup"] .backup-compact-card,
  body[data-active-view="backup"] .backup-admin-strip,
  body[data-active-view="backup"] .backup-verification-card,
  body[data-active-view="profile"] .profile-data-card,
  body[data-active-view="profile"] .personal-health-card { border-radius:18px; background:linear-gradient(180deg,#ffffff,#fbfdff); box-shadow:0 12px 32px rgba(15,72,110,.06); }

  body[data-active-view="timeline"] .compact-timeline { display:grid; gap:10px; }
  body[data-active-view="timeline"] .compact-timeline-item { padding:13px 14px; border:1px solid #dfe8ef; border-radius:14px; background:linear-gradient(180deg,#ffffff,#fbfdff); box-shadow:0 8px 20px rgba(15,72,110,.04); }
  body[data-active-view="timeline"] .timeline-meta { margin-top:6px; color:#678095; }
  body[data-active-view="timeline"] .timeline-preview { margin:8px 0 0; color:#36536d; line-height:1.5; }

  body[data-active-view="documents"] .documents-table,
  body[data-active-view="therapies"] .therapy-table,
  body[data-active-view="diagnoses"] .diagnosis-history-table,
  body[data-active-view="compare"] .compare-history-table { border-collapse:separate; border-spacing:0 8px; }
  body[data-active-view="documents"] .documents-table thead th,
  body[data-active-view="therapies"] .therapy-table thead th,
  body[data-active-view="diagnoses"] .diagnosis-history-table thead th,
  body[data-active-view="compare"] .compare-history-table thead th { background:#f2f7fb; color:#48667c; border:0; padding:11px 12px; }
  body[data-active-view="documents"] .documents-table tbody td,
  body[data-active-view="therapies"] .therapy-table tbody td,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody td,
  body[data-active-view="compare"] .compare-history-table tbody td { background:#fbfdff; border-top:1px solid #e1e9f0; border-bottom:1px solid #e1e9f0; padding:11px 12px; }
  body[data-active-view="documents"] .documents-table tbody td:first-child,
  body[data-active-view="therapies"] .therapy-table tbody td:first-child,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody td:first-child,
  body[data-active-view="compare"] .compare-history-table tbody td:first-child { border-left:1px solid #e1e9f0; border-top-left-radius:12px; border-bottom-left-radius:12px; }
  body[data-active-view="documents"] .documents-table tbody td:last-child,
  body[data-active-view="therapies"] .therapy-table tbody td:last-child,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody td:last-child,
  body[data-active-view="compare"] .compare-history-table tbody td:last-child { border-right:1px solid #e1e9f0; border-top-right-radius:12px; border-bottom-right-radius:12px; }
  body[data-active-view="documents"] .documents-table tbody tr:hover td,
  body[data-active-view="therapies"] .therapy-table tbody tr:hover td,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody tr:hover td,
  body[data-active-view="compare"] .compare-history-table tbody tr:hover td { background:#f7fbff; }

  body[data-active-view="documents"] .bulk-toolbar,
  body[data-active-view="therapies"] .search-row,
  body[data-active-view="exemptions"] .search-row,
  body[data-active-view="compare"] .search-row { padding:10px 12px; background:#f9fcff; border:1px solid #dce7ef; }
  body[data-active-view="documents"] .table-wrap,
  body[data-active-view="therapies"] .table-wrap,
  body[data-active-view="diagnoses"] .table-wrap,
  body[data-active-view="compare"] .table-wrap { margin-top:8px; }

  body[data-active-view="doctors"] .list-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  body[data-active-view="doctors"] .list-item { padding:14px; border:1px solid #dfe8ef; border-radius:15px; background:linear-gradient(180deg,#ffffff,#fbfdff); box-shadow:0 8px 20px rgba(15,72,110,.04); }
  body[data-active-view="doctors"] .list-item h3 { color:#123a60; }

  body[data-active-view="exemptions"] .list-stack,
  body[data-active-view="search-dossier"] .list-stack { gap:10px; }
  body[data-active-view="exemptions"] .exemption-card,
  body[data-active-view="diagnoses"] .diagnosis-main-card,
  body[data-active-view="search-dossier"] .search-result-group,
  body[data-active-view="prepare-visit"] .card,
  body[data-active-view="monitor-home"] .monitor-card,
  body[data-active-view="monitor-weight"] .card,
  body[data-active-view="monitor-body"] .card,
  body[data-active-view="monitor-graphs"] .monitor-graphs-dashboard-card { box-shadow:0 10px 24px rgba(15,72,110,.05); }

  body[data-active-view="backup"] .backup-top-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
  body[data-active-view="backup"] .backup-migration-status { min-height:84px; justify-content:center; }
  body[data-active-view="backup"] .backup-compact-card .row-actions { gap:8px; }
  body[data-active-view="backup"] #cloudPanelHost .card { border-radius:18px; background:linear-gradient(180deg,#ffffff,#fbfdff); }
}
@media screen and (max-width:1680px) {
  .topbar { grid-template-columns:minmax(205px,225px) minmax(260px,1fr) auto; }
  .topbar > div:first-of-type { max-width:225px; }
  .topbar p { max-width:210px; }
  .pref-pdf > .form-grid { grid-template-columns:minmax(250px,1.1fr) repeat(2,minmax(180px,1fr)); }
}
@media screen and (max-width:1360px) {
  #preferencesForm > .pref-docs,
  #preferencesForm > #updatesPreferenceSection,
  #preferencesForm > .preference-actions { grid-column:span 6; }
  .pref-pdf > .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body[data-active-view="backup"] .backup-top-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:1180px) {
  .topbar { display:flex; flex-wrap:wrap; }
  .topbar > div:first-of-type { flex:0 0 230px; max-width:none; }
  .topbar p { max-width:none; }
  .global-search-shortcut { flex:1 1 260px; }
  .top-actions { width:100%; justify-content:flex-start; flex-wrap:wrap; }
  #preferencesForm > .pref-appearance,
  #preferencesForm > .pref-warnings,
  #preferencesForm > .pref-docs,
  #preferencesForm > #updatesPreferenceSection,
  #preferencesForm > .preference-actions { grid-column:1 / -1; }
  .pref-agenda-top,.pref-agenda-lower,.pref-docs .form-grid { grid-template-columns:1fr; }
  body[data-active-view="doctors"] .list-stack { grid-template-columns:1fr; }
}
@media screen and (max-width:900px) {
  .pref-pdf > .form-grid { grid-template-columns:1fr; }
  .preference-actions::before, .preference-actions::after { content:none; }
  body[data-active-view="backup"] .backup-top-grid { grid-template-columns:1fr; }
}


/* V13 FIX9 · restyling completo e correzione layout finale */
@media screen {
  /* linguaggio visivo trasversale */
  :root {
    --v13x-card-shadow: 0 14px 36px rgba(18,58,96,.08);
    --v13x-soft-shadow: 0 10px 24px rgba(18,58,96,.06);
    --v13x-card-bg: linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
    --v13x-border: #d7e3ee;
  }
  .app-shell { background: linear-gradient(180deg,#edf4f9 0%,#e7eff6 100%); }
  .topbar, .sidebar, #viewContainer > .card, .card, .dashboard-v13-panel { box-sizing:border-box; }
  .sidebar { background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%); border-right:1px solid #d7e3ee; box-shadow:inset -1px 0 0 rgba(255,255,255,.6); }
  .sidebar-header { padding-bottom:12px; border-bottom:1px solid #e6eef5; }
  .profile-switcher, .sidebar-nav-group, .sidebar-footer { background:var(--v13x-card-bg); border:1px solid var(--v13x-border); border-radius:18px; box-shadow:var(--v13x-soft-shadow); }
  .sidebar-nav .nav-item { border-radius:14px; transition:transform .15s ease, background .15s ease, box-shadow .15s ease; }
  .sidebar-nav .nav-item:hover { transform:translateX(2px); box-shadow:0 8px 18px rgba(18,58,96,.07); }
  .sidebar-nav .nav-item.active { box-shadow:0 10px 22px rgba(160,0,0,.10); }
  .topbar { background:rgba(255,255,255,.84); backdrop-filter:blur(10px); border:1px solid #dde8f1; border-radius:20px; box-shadow:var(--v13x-soft-shadow); padding:14px 18px; margin-bottom:14px; }
  .global-search-shortcut { border-radius:15px; background:linear-gradient(180deg,#ffffff,#f8fbfe); border:1px solid #d5e2ec; box-shadow: inset 0 1px 0 rgba(255,255,255,.85); }
  .top-actions .btn, .btn-light, .btn-secondary { border-radius:14px; box-shadow:none; }
  .btn-primary { box-shadow:0 10px 22px rgba(160,0,0,.18); }
  .card, #viewContainer > .card { border-radius:20px; border:1px solid var(--v13x-border); background:var(--v13x-card-bg); box-shadow:var(--v13x-card-shadow); }
  .card-title-row { padding-bottom:10px; border-bottom:1px solid #ecf2f7; margin-bottom:12px; }
  .card-title-row h2, .view-title h1 { letter-spacing:-.015em; color:#153b60; }
  .kpi-note, .view-title p { color:#678095; }
  .notice { border-radius:15px; box-shadow:inset 0 1px 0 rgba(255,255,255,.55); }
  .badge { border-radius:999px; display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:7px 14px; font-weight:700; line-height:1.15; }
  .form-control, select.form-control, input.form-control, textarea.form-control { border-radius:14px; border:1px solid #cfdce7; background:linear-gradient(180deg,#ffffff,#fbfdff); box-shadow: inset 0 1px 2px rgba(18,58,96,.03); }
  .search-row, .bulk-toolbar, .documents-filters, .diagnosis-search-panel, .monitor-toolbar { border-radius:16px; background:linear-gradient(180deg,#ffffff,#f8fbfe); border:1px solid #d9e5ef; box-shadow:var(--v13x-soft-shadow); }
  .table-wrap { border-radius:16px; padding:6px; background:linear-gradient(180deg,#f8fbfe,#f2f7fb); border:1px solid #dce7ef; }
  .documents-table, .therapy-table, .diagnosis-history-table, .compare-history-table { border-collapse:separate; border-spacing:0 8px; }
  .documents-table tbody td, .therapy-table tbody td, .diagnosis-history-table tbody td, .compare-history-table tbody td { box-shadow:0 4px 12px rgba(18,58,96,.04); }
  .list-item, .graph-choice, .search-result-item, .compare-result-card, .diagnosis-main-card, .exemption-card, .backup-stat, .doctor-summary-card, .profile-contacts-panel { border-radius:16px; border:1px solid #dce7ef; background:var(--v13x-card-bg); box-shadow:var(--v13x-soft-shadow); }
  .compact-timeline-item { border-left:4px solid #e7b0a9; }

  /* Preferenze: assetto definitivo */
  #preferencesForm.preferences-layout { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px; align-items:stretch !important; }
  #preferencesForm > .preference-section, #preferencesForm > #updatesPreferenceSection, #preferencesForm > .preference-actions { display:flex; flex-direction:column; min-width:0; height:100%; }
  #preferencesForm > .pref-appearance, #preferencesForm > .pref-warnings { grid-column:span 6; min-height:294px; }
  #preferencesForm > .pref-agenda, #preferencesForm > .pref-pdf, #preferencesForm > #securityPreferences, #preferencesForm > .pref-test22 { grid-column:1 / -1; }
  #preferencesForm > .pref-docs, #preferencesForm > #updatesPreferenceSection, #preferencesForm > .preference-actions { grid-column:span 4 !important; }

  .pref-appearance .form-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:auto; align-items:end; }
  .pref-appearance .form-group, .pref-pdf > .form-grid > .form-group, .pref-pdf > .form-grid > .check-row { height:100%; min-height:84px; }
  .pref-warnings .notice { flex:1; display:flex; flex-direction:column; justify-content:center; min-height:132px; }
  .pref-warnings #reviewGeneralWarningsBtn { margin-top:12px; }

  .pref-agenda-top { display:grid; grid-template-columns:minmax(300px,1fr) minmax(300px,1fr); gap:12px; align-items:start; }
  .pref-google-compact { min-height:72px; }
  .pref-google-consent-row { margin-top:10px; }
  .pref-agenda-lower { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.85fr); gap:14px; }
  .pref-agenda .calendar-reminder-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 14px; }
  .pref-agenda .agenda-reminders-group, .pref-agenda .agenda-medication-settings { min-height:100%; }

  .pref-pdf > .form-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:stretch; }
  .pref-pdf > .form-grid > .form-group, .pref-pdf > .form-grid > .check-row { padding:12px 12px; border-radius:14px; border:1px solid #dbc8c8; background:linear-gradient(180deg,#fff9f9,#fffefe); display:flex; flex-direction:column; justify-content:flex-start; }
  .pref-pdf > .form-grid > .form-group label, .pref-pdf > .form-grid > .check-row strong { margin-bottom:6px; }
  .pref-pdf > .form-grid > .check-row span { display:flex; flex-direction:column; gap:4px; }
  .graph-selection-grid { display:grid !important; grid-template-columns:repeat(6,minmax(0,1fr)) !important; gap:8px !important; }
  .graph-choice { min-height:58px; padding:8px 10px !important; }

  .pref-docs .form-grid { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:12px; }
  .pref-docs .storage-card { margin-top:auto; min-height:92px; }
  #updatesPreferenceSection .grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; }
  #updatesPreferenceSection .grid-2 > div { min-height:64px; display:flex; flex-direction:column; justify-content:center; }
  #updatesPreferenceSection .row-actions { margin-top:auto !important; }

  .preference-actions { padding:16px !important; justify-content:center; }
  .preference-actions::before { content:"Salvataggio preferenze"; display:block; font-size:20px; font-weight:800; color:#143b60; margin-bottom:4px; }
  .preference-actions::after { content:"Conferma o ripristina le impostazioni correnti del Dossier."; display:block; font-size:13px; color:#678095; line-height:1.4; margin-bottom:12px; }
  .preference-actions .btn { width:100%; min-height:46px; }

  /* resto sezioni con look coerente */
  body[data-active-view="documents"] .documents-table thead th,
  body[data-active-view="therapies"] .therapy-table thead th,
  body[data-active-view="diagnoses"] .diagnosis-history-table thead th,
  body[data-active-view="compare"] .compare-history-table thead th { border-radius:12px; background:linear-gradient(180deg,#f4f8fb,#edf4f9); color:#49677c; }
  body[data-active-view="documents"] .documents-table tbody tr:hover td,
  body[data-active-view="therapies"] .therapy-table tbody tr:hover td,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody tr:hover td,
  body[data-active-view="compare"] .compare-history-table tbody tr:hover td { background:#f4faff; }
  body[data-active-view="timeline"] .compact-timeline { gap:12px; }
  body[data-active-view="timeline"] .compact-timeline-item { padding:15px 16px; }
  body[data-active-view="timeline"] .timeline-head { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:start; }
  body[data-active-view="timeline"] .timeline-head .row-actions { justify-self:end; margin:0; }
  body[data-active-view="timeline"] .timeline-titleline { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  body[data-active-view="timeline"] .timeline-preview { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
  body[data-active-view="doctors"] .list-stack { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  body[data-active-view="doctors"] .list-item { padding:16px; }
  body[data-active-view="backup"] .backup-top-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
  body[data-active-view="backup"] .backup-compact-card, body[data-active-view="backup"] #cloudPanelHost .card { border-radius:18px; }
  body[data-active-view="prepare-visit"] .prepare-visit-grid, body[data-active-view="monitor-home"] .monitor-dashboard-grid { gap:14px; }
  body[data-active-view="search-dossier"] .search-result-group { border-radius:18px; padding:14px; }
}
@media screen and (max-width:1650px) {
  .pref-pdf > .form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .graph-selection-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
}
@media screen and (max-width:1360px) {
  #preferencesForm > .pref-docs, #preferencesForm > #updatesPreferenceSection, #preferencesForm > .preference-actions { grid-column:span 6 !important; }
  .pref-pdf > .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pref-agenda-top, .pref-agenda-lower { grid-template-columns:1fr; }
  body[data-active-view="backup"] .backup-top-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:1100px) {
  #preferencesForm > .pref-appearance, #preferencesForm > .pref-warnings, #preferencesForm > .pref-docs, #preferencesForm > #updatesPreferenceSection, #preferencesForm > .preference-actions { grid-column:1 / -1 !important; }
  .pref-appearance .form-grid, .pref-pdf > .form-grid, .pref-agenda .calendar-reminder-grid { grid-template-columns:1fr; }
  .graph-selection-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  body[data-active-view="doctors"] .list-stack, body[data-active-view="backup"] .backup-top-grid { grid-template-columns:1fr; }
}

/* V13 FIX10 · restyling strutturale completo Windows */
@media screen {
  :root {
    --modern-line:#d9e5ef;
    --modern-line-strong:#c9d9e6;
    --modern-surface:#ffffff;
    --modern-soft:#f7fbfe;
    --modern-shadow:0 10px 28px rgba(18,58,96,.07);
    --modern-shadow-hover:0 14px 32px rgba(18,58,96,.11);
  }

  body { background:linear-gradient(180deg,#eef5fa 0%,#e8f0f6 100%); }
  .view-container { padding:18px 20px 28px; }
  .card { border-color:var(--modern-line); border-radius:18px; background:linear-gradient(180deg,#fff 0%,#fbfdff 100%); box-shadow:var(--modern-shadow); }
  .card-title-row { border-bottom:1px solid #edf2f6; padding-bottom:10px; margin-bottom:12px; }
  .card-title-row h2,.card-title-row h3 { color:#143a60; letter-spacing:-.012em; }
  .btn { border-radius:12px; }
  .btn-primary { box-shadow:0 8px 18px color-mix(in srgb,var(--profile-accent) 22%,transparent)!important; }
  .form-control { border-radius:12px; border-color:#cfdeea; background:#fff; }
  .notice { border-radius:13px; }
  .badge { min-height:30px; display:inline-flex; align-items:center; justify-content:center; text-align:center; line-height:1.15; }

  /* banner strutturale: tutte le sezioni parlano lo stesso linguaggio di Panoramica e Agenda */
  .modern-view-banner {
    position:relative;
    display:grid;
    grid-template-columns:54px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    min-height:86px;
    margin-bottom:14px;
    padding:14px 16px;
    border:1px solid var(--modern-line);
    border-radius:18px;
    background:linear-gradient(120deg,#fff 0%,#fbfdff 60%,#f2f7fb 100%);
    box-shadow:var(--modern-shadow);
    overflow:hidden;
  }
  .modern-view-banner::after {
    content:"";
    position:absolute;
    width:210px;height:210px;border-radius:50%;
    right:-88px;top:-118px;
    background:color-mix(in srgb,var(--profile-accent) 8%,transparent);
    pointer-events:none;
  }
  .modern-view-banner-icon {
    width:50px;height:50px;border-radius:16px;
    display:grid;place-items:center;
    background:#edf5fb;color:#256a9c;
    box-shadow:inset 0 0 0 1px rgba(37,106,156,.09);
  }
  .modern-view-banner-icon .ui-icon { width:26px;height:26px; }
  .modern-view-banner.tone-rose .modern-view-banner-icon { background:#fff0f0;color:#ad2e36; }
  .modern-view-banner.tone-teal .modern-view-banner-icon { background:#e9f8f6;color:#178779; }
  .modern-view-banner.tone-violet .modern-view-banner-icon { background:#f1edff;color:#6c52d9; }
  .modern-view-banner.tone-green .modern-view-banner-icon { background:#eaf8ee;color:#2d8a55; }
  .modern-view-banner-copy h2 { margin:0;color:#12385d;font-size:22px;letter-spacing:-.015em; }
  .modern-view-banner-copy p { margin:4px 0 0;color:#667f94;font-size:13px;line-height:1.35; }
  .modern-view-banner-chips { position:relative;z-index:1;display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap; }
  .modern-view-banner-chips span { padding:7px 10px;border:1px solid #d7e4ee;border-radius:999px;background:#fff;color:#45647d;font-size:12px;font-weight:700;white-space:nowrap; }

  /* sidebar più moderna e coerente */
  .nav-v13 .nav-item,.nav-v13 summary { border-radius:11px; transition:background .15s ease,transform .15s ease,box-shadow .15s ease; }
  .nav-v13 .nav-item:hover,.nav-v13 summary:hover { background:#f1f7fb; transform:translateX(2px); }
  .nav-v13 .nav-item.active { box-shadow:0 8px 18px color-mix(in srgb,var(--profile-accent) 12%,transparent); }
  .profile-switcher { border-radius:15px; box-shadow:0 8px 20px rgba(18,58,96,.05); }

  /* documenti, terapie, diagnosi e confronti: tabelle trasformate in righe-card */
  body[data-active-view="documents"] .table-wrap,
  body[data-active-view="therapies"] .table-wrap,
  body[data-active-view="diagnoses"] .table-wrap,
  body[data-active-view="compare"] .table-wrap {
    border:0;background:transparent;padding:0;overflow:visible;
  }
  body[data-active-view="documents"] .documents-table,
  body[data-active-view="therapies"] .therapy-table,
  body[data-active-view="diagnoses"] .diagnosis-history-table,
  body[data-active-view="compare"] .compare-history-table {
    border-collapse:separate!important;border-spacing:0 8px!important;
  }
  body[data-active-view="documents"] .documents-table thead th,
  body[data-active-view="therapies"] .therapy-table thead th,
  body[data-active-view="diagnoses"] .diagnosis-history-table thead th,
  body[data-active-view="compare"] .compare-history-table thead th {
    padding:9px 11px;border:0;background:#eef5fa;color:#506c82;font-size:12px;font-weight:800;
  }
  body[data-active-view="documents"] .documents-table thead th:first-child,
  body[data-active-view="therapies"] .therapy-table thead th:first-child,
  body[data-active-view="diagnoses"] .diagnosis-history-table thead th:first-child,
  body[data-active-view="compare"] .compare-history-table thead th:first-child { border-radius:12px 0 0 12px; }
  body[data-active-view="documents"] .documents-table thead th:last-child,
  body[data-active-view="therapies"] .therapy-table thead th:last-child,
  body[data-active-view="diagnoses"] .diagnosis-history-table thead th:last-child,
  body[data-active-view="compare"] .compare-history-table thead th:last-child { border-radius:0 12px 12px 0; }
  body[data-active-view="documents"] .documents-table tbody td,
  body[data-active-view="therapies"] .therapy-table tbody td,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody td,
  body[data-active-view="compare"] .compare-history-table tbody td {
    padding:11px 12px;background:#fff;border-top:1px solid var(--modern-line);border-bottom:1px solid var(--modern-line);box-shadow:0 7px 18px rgba(18,58,96,.045);
  }
  body[data-active-view="documents"] .documents-table tbody td:first-child,
  body[data-active-view="therapies"] .therapy-table tbody td:first-child,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody td:first-child,
  body[data-active-view="compare"] .compare-history-table tbody td:first-child { border-left:1px solid var(--modern-line);border-radius:14px 0 0 14px; }
  body[data-active-view="documents"] .documents-table tbody td:last-child,
  body[data-active-view="therapies"] .therapy-table tbody td:last-child,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody td:last-child,
  body[data-active-view="compare"] .compare-history-table tbody td:last-child { border-right:1px solid var(--modern-line);border-radius:0 14px 14px 0; }
  body[data-active-view="documents"] .documents-table tbody tr:hover td,
  body[data-active-view="therapies"] .therapy-table tbody tr:hover td,
  body[data-active-view="diagnoses"] .diagnosis-history-table tbody tr:hover td,
  body[data-active-view="compare"] .compare-history-table tbody tr:hover td { background:#f7fbfe;box-shadow:var(--modern-shadow-hover); }

  /* filtri e toolbar */
  body[data-active-view="documents"] .search-row,
  body[data-active-view="documents"] .bulk-toolbar,
  body[data-active-view="therapies"] .search-row,
  body[data-active-view="exemptions"] .search-row,
  body[data-active-view="compare"] .search-row,
  body[data-active-view="diagnoses"] .diagnosis-search-panel {
    border:1px solid var(--modern-line);border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbfe);box-shadow:0 8px 20px rgba(18,58,96,.045);padding:11px 12px;
  }

  /* cronologia: card compatte con azioni allineate */
  body[data-active-view="timeline"] .timeline-shell { padding:16px; }
  body[data-active-view="timeline"] .compact-timeline { display:grid;gap:9px; }
  body[data-active-view="timeline"] .compact-timeline-item {
    position:relative;padding:12px 14px 11px 16px;border:1px solid #e1c4c4;border-radius:15px;background:#fff;box-shadow:0 8px 20px rgba(18,58,96,.045);
  }
  body[data-active-view="timeline"] .compact-timeline-item::before { content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:4px;border-radius:0 4px 4px 0;background:var(--profile-accent); }
  body[data-active-view="timeline"] .timeline-mainline { align-items:center; }
  body[data-active-view="timeline"] .timeline-mainline-left { display:flex;align-items:center;gap:8px;min-width:0; }
  body[data-active-view="timeline"] .timeline-actions { margin-left:auto;flex-wrap:nowrap; }
  body[data-active-view="timeline"] .timeline-meta { margin-top:5px;font-size:12px; }
  body[data-active-view="timeline"] .timeline-preview { margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4; }

  /* medici, esenzioni, ricerca, prepara visita */
  body[data-active-view="doctors"] .list-stack { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
  body[data-active-view="doctors"] .list-item,
  body[data-active-view="exemptions"] .exemption-card,
  body[data-active-view="search-dossier"] .search-result-group,
  body[data-active-view="prepare-visit"] .card,
  body[data-active-view="monitor-home"] .card,
  body[data-active-view="monitor-weight"] .card,
  body[data-active-view="monitor-body"] .card,
  body[data-active-view="monitor-pressure"] .card,
  body[data-active-view="monitor-spo2"] .card,
  body[data-active-view="monitor-glucose"] .card,
  body[data-active-view="monitor-graphs"] .card {
    border-radius:17px;border-color:var(--modern-line);box-shadow:var(--modern-shadow);background:linear-gradient(180deg,#fff,#fbfdff);
  }
  body[data-active-view="doctors"] .list-item { position:relative;padding:15px 16px 14px 62px;min-height:92px; }
  body[data-active-view="doctors"] .list-item::before { content:"✚";position:absolute;left:15px;top:15px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eaf4fb;color:#2870a3;font-weight:900; }
  body[data-active-view="search-dossier"] #dossierSearchOutputV9 { gap:12px; }
  body[data-active-view="search-dossier"] .search-result-group { padding:12px; }

  /* Preferenze: correzioni richieste */
  #preferencesForm.preferences-layout { display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:12px!important;align-items:stretch!important; }
  #preferencesForm > .preference-section,
  #preferencesForm > #updatesPreferenceSection,
  #preferencesForm > .preference-actions { position:static!important;bottom:auto!important;z-index:auto!important;height:100%!important;min-width:0;align-self:stretch!important; }

  #preferencesForm > .pref-appearance { order:10;grid-column:span 6!important; }
  #preferencesForm > .pref-warnings { order:11;grid-column:span 6!important; }
  #preferencesForm > .pref-agenda { order:20;grid-column:1/-1!important; }
  #preferencesForm > .pref-pdf { order:30;grid-column:1/-1!important; }
  #preferencesForm > #securityPreferences { order:40;grid-column:1/-1!important; }
  #preferencesForm > .pref-test22 { order:45;grid-column:1/-1!important; }
  #preferencesForm > .pref-docs { order:50;grid-column:span 4!important; }
  #preferencesForm > #updatesPreferenceSection { order:51;grid-column:span 4!important; }
  #preferencesForm > .preference-actions { order:52;grid-column:span 4!important; }

  .pref-appearance,.pref-warnings { min-height:0!important; }
  .pref-appearance .card-title-row,.pref-warnings .card-title-row { margin-bottom:8px; }
  .pref-appearance .form-grid { margin-top:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-items:end; }
  .pref-warnings .card-title-row { align-items:flex-start; }
  .pref-head-actions { margin-left:auto;display:flex;flex-direction:column;align-items:stretch;gap:6px;flex:0 0 auto; }
  .pref-head-actions .badge,.pref-head-actions .btn { min-width:112px;max-width:150px; }
  .pref-warnings .notice { flex:0 0 auto!important;min-height:0!important;padding:10px 13px!important;line-height:1.34!important;margin:0!important; }
  .pref-warnings .notice strong { display:block;margin-bottom:5px; }
  .pref-warnings #reviewGeneralWarningsBtn { margin:0!important; }

  .pref-pdf > .form-grid { display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;align-items:stretch!important; }
  .pref-pdf > .form-grid > .form-group,
  .pref-pdf > .form-grid > .check-row { min-height:70px!important;height:auto!important;padding:9px 10px!important;margin:0!important;border:1px solid #e1c8c8!important;border-radius:13px!important;background:linear-gradient(180deg,#fffafa,#fff)!important; }
  .pref-pdf > .form-grid > .form-group { display:flex!important;flex-direction:column;justify-content:flex-start; }
  .pref-pdf > .form-grid > .check-row { display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;column-gap:8px!important;row-gap:0!important; }
  .pref-pdf > .form-grid > .check-row > input { grid-column:1;grid-row:1;margin-top:2px!important; }
  .pref-pdf > .form-grid > .check-row > span { grid-column:2;grid-row:1;display:block!important; }
  .pref-pdf > .form-grid > .check-row strong { display:block;margin:0 0 4px!important;line-height:1.22; }
  .pref-pdf > .form-grid > .check-row small { display:block;line-height:1.25; }

  .graph-selection-grid { display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important; }
  .graph-choice { position:relative;display:grid!important;grid-template-columns:auto 34px minmax(0,1fr)!important;align-items:center!important;gap:8px!important;min-height:58px!important;padding:7px 10px!important;border:1px solid #d8e4ee!important;border-radius:13px!important;background:#fff!important;box-shadow:0 6px 16px rgba(18,58,96,.035)!important;transition:.15s ease!important; }
  .graph-choice::before { content:"↗";grid-column:2;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:#eef5fa;color:#49708d;font-size:16px;font-weight:900; }
  .graph-choice > input { grid-column:1;margin:0!important; }
  .graph-choice > span { grid-column:3;min-width:0; }
  .graph-choice strong { font-size:12.5px!important;line-height:1.15!important; }
  .graph-choice small { display:block;color:#35546d;font-size:11px!important;margin-top:2px!important; }
  .graph-choice:hover { transform:translateY(-1px);border-color:#bfcfdd!important;box-shadow:0 9px 20px rgba(18,58,96,.07)!important; }
  .graph-choice:has(input:checked) { border-color:color-mix(in srgb,var(--profile-accent) 55%,#d8e4ee)!important;background:color-mix(in srgb,var(--profile-accent) 15%,#fff)!important;box-shadow:0 8px 20px color-mix(in srgb,var(--profile-accent) 10%,transparent)!important; }

  #preferencesForm > .pref-docs,
  #preferencesForm > #updatesPreferenceSection,
  #preferencesForm > .preference-actions { min-height:285px!important;max-height:none!important; }
  .pref-docs .storage-card { margin-top:auto!important; }
  #updatesPreferenceSection .card-title-row { align-items:flex-start; }
  #updatesPreferenceSection .grid-2 { margin-top:2px; }
  #updatesPreferenceSection .row-actions { display:none!important; }
  .preference-actions { padding:14px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:10px!important; }
  .preference-actions::before { content:"Salvataggio preferenze"!important;display:block!important;font-size:19px!important;font-weight:800!important;color:#143a60!important;margin-bottom:2px!important; }
  .preference-actions::after { content:"Conferma o ripristina le impostazioni correnti del Dossier."!important;display:block!important;font-size:12.5px!important;color:#6b8295!important;line-height:1.35!important;margin:0 0 5px!important; }
  .preference-actions .btn { width:100%!important;min-height:42px!important; }

  /* backup e profilo */
  body[data-active-view="backup"] .backup-top-grid { gap:12px; }
  body[data-active-view="backup"] .backup-compact-card { border-radius:17px;box-shadow:var(--modern-shadow); }
  .backup-migration-card .badge { display:inline-grid!important;place-items:center!important;text-align:center!important;line-height:1.15!important; }
  body[data-active-view="profile"] .profile-data-card,body[data-active-view="profile"] .personal-health-card { border-radius:18px;box-shadow:var(--modern-shadow); }
}

@media screen and (max-width:1700px) {
  .graph-selection-grid { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
}
@media screen and (max-width:1420px) {
  .pref-pdf > .form-grid { grid-template-columns:repeat(3,minmax(0,1fr))!important; }
  #preferencesForm > .pref-docs,#preferencesForm > #updatesPreferenceSection,#preferencesForm > .preference-actions { grid-column:span 6!important; }
  body[data-active-view="doctors"] .list-stack { grid-template-columns:1fr; }
}
@media screen and (max-width:1100px) {
  .modern-view-banner { grid-template-columns:48px minmax(0,1fr); }
  .modern-view-banner-chips { grid-column:1/-1;justify-content:flex-start; }
  #preferencesForm > .pref-appearance,#preferencesForm > .pref-warnings,#preferencesForm > .pref-docs,#preferencesForm > #updatesPreferenceSection,#preferencesForm > .preference-actions { grid-column:1/-1!important; }
  .pref-appearance .form-grid,.pref-pdf > .form-grid { grid-template-columns:1fr!important; }
  .graph-selection-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
}

/* V13 FIX11 · restyling strutturale completo, grafici e monitoraggio */
@media screen {
  :root {
    --surface-card:#ffffff;
    --surface-soft:#f7fbfe;
    --surface-muted:#eef5fa;
    --border-soft:#d9e5ef;
    --shadow-card:0 12px 28px rgba(18,58,96,.07);
    --shadow-hover:0 16px 34px rgba(18,58,96,.11);
  }

  /* contenitori comuni */
  .modern-content-shell { padding:16px; }
  .modern-content-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding-bottom:12px; margin-bottom:14px; border-bottom:1px solid #eaf1f6; }
  .modern-content-head h2 { margin:0; color:#12385d; font-size:21px; letter-spacing:-.015em; }
  .modern-content-head p { margin:5px 0 0; color:#667f94; font-size:13px; line-height:1.4; }
  .modern-filter-strip { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; padding:11px 12px; margin-bottom:14px; border:1px solid var(--border-soft); border-radius:15px; background:linear-gradient(180deg,#fff,#f8fbfe); }
  .modern-filter-summary { display:flex; align-items:center; gap:10px; min-width:0; }
  .modern-filter-summary strong,.modern-filter-summary small { display:block; }
  .modern-filter-summary strong { color:#173f63; font-size:14px; }
  .modern-filter-summary small { margin-top:2px; color:#71879a; font-size:12px; }
  .modern-filter-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:#2870a3; background:#eaf4fb; }
  .modern-filter-icon.green { color:#26845a; background:#e9f7ee; }
  .modern-filter-icon .ui-icon { width:20px; height:20px; }
  .compact-control { margin:0; min-width:230px; }
  .compact-control label { margin-bottom:4px; }
  .modern-empty-state { min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:24px; color:#698095; }
  .modern-empty-state .ui-icon { width:42px; height:42px; color:#90a6b7; margin-bottom:10px; }
  .modern-empty-state h3 { margin:0; color:#234b6a; font-size:18px; }
  .modern-empty-state p { margin:5px 0 0; max-width:520px; }

  /* emergenza, alta priorità */
  .dashboard-v13-emergency-panel.emergency-priority-panel {
    margin:14px 0;
    border:1px solid #d99090;
    background:linear-gradient(115deg,#fff6f5 0%,#fff 48%,#fdf7f7 100%);
    box-shadow:0 14px 32px rgba(155,28,28,.10);
    overflow:hidden;
  }
  .emergency-priority-head { padding-bottom:10px; border-bottom:1px solid #f0d4d4; }
  .emergency-priority-head > div:nth-child(2) { flex:1; }
  .emergency-priority-head h3 { color:#8f1111!important; font-size:20px!important; }
  .emergency-priority-head p { margin:2px 0 0; color:#9a4a4a; font-size:12.5px; }
  .emergency-priority-badge { padding:6px 10px; border-radius:999px; background:#9f0000; color:#fff; font-weight:800; font-size:10.5px; letter-spacing:.05em; }
  .emergency-priority-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
  .emergency-priority-grid .dashboard-v13-emergency-item { min-height:68px; background:#fff; border-color:#ead9d9; }
  .emergency-priority-grid .emergency-critical { border-color:#dfa9a9; background:linear-gradient(180deg,#fff9f8,#fff); box-shadow:inset 4px 0 0 #b72626; }
  .emergency-priority-grid .emergency-critical strong { color:#7b1010; }

  /* Terapie */
  .therapy-modern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .therapy-modern-card { min-width:0; padding:13px; border:1px solid var(--border-soft); border-radius:17px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:var(--shadow-card); transition:.15s ease; }
  .therapy-modern-card:hover { transform:translateY(-1px); box-shadow:var(--shadow-hover); }
  .therapy-modern-card.is-paused { opacity:.76; }
  .therapy-modern-top { display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:start; padding-bottom:10px; border-bottom:1px solid #edf2f6; }
  .therapy-modern-icon { width:40px; height:40px; border-radius:13px; display:grid; place-items:center; color:#6c52d9; background:#f1edff; }
  .therapy-modern-icon .ui-icon { width:21px; height:21px; }
  .therapy-modern-title small { color:#7b90a2; font-weight:700; }
  .therapy-modern-title h3 { margin:2px 0 0; color:#143b60; font-size:15px; line-height:1.25; }
  .therapy-modern-title p { margin:3px 0 0; color:#70869a; font-size:11.5px; }
  .therapy-modern-data { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
  .therapy-modern-data > div { padding:8px 9px; border-radius:11px; background:#f6fafe; border:1px solid #e4edf4; }
  .therapy-modern-data small,.therapy-modern-data strong { display:block; }
  .therapy-modern-data small { color:#7a8fa1; font-size:10.5px; }
  .therapy-modern-data strong { margin-top:3px; color:#294d69; font-size:12.5px; }
  .therapy-modern-schedule { min-height:66px; margin-top:9px; padding:9px 10px; border-radius:11px; background:#fff; border:1px solid #e4edf4; }
  .therapy-modern-schedule small { color:#7a8fa1; font-size:10.5px; }
  .therapy-modern-schedule p { margin:4px 0 0; color:#35546d; font-size:12px; line-height:1.35; }
  .therapy-modern-actions { display:flex; justify-content:flex-end; gap:6px; flex-wrap:wrap; margin-top:10px; }

  /* Esenzioni */
  .exemption-modern-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .exemption-modern-grid.extended { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .exemption-modern-card { min-width:0; padding:13px; border:1px solid var(--border-soft); border-radius:17px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:var(--shadow-card); }
  .exemption-modern-head { display:grid; grid-template-columns:42px minmax(0,1fr); gap:10px; align-items:start; }
  .exemption-modern-icon { width:40px; height:40px; border-radius:13px; display:grid; place-items:center; background:#e9f7ee; color:#278358; }
  .exemption-modern-icon .ui-icon { width:21px; height:21px; }
  .exemption-modern-head small { color:#278358; font-weight:800; }
  .exemption-modern-head h3 { margin:2px 0 0; color:#143b60; font-size:15px; }
  .exemption-modern-meta { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
  .exemption-modern-meta > div { padding:8px 9px; border-radius:11px; border:1px solid #e3edf3; background:#f8fbfd; }
  .exemption-modern-meta small,.exemption-modern-meta strong { display:block; }
  .exemption-modern-meta small { color:#7b90a2; font-size:10.5px; }
  .exemption-modern-meta strong { margin-top:3px; color:#34546c; font-size:12px; }
  .exemption-modern-text { margin-top:9px; padding:9px 10px; border-radius:11px; background:#fff; border:1px solid #e3edf3; }
  .exemption-modern-text small { color:#6f879a; font-weight:700; }
  .exemption-modern-text p { margin:4px 0 0; color:#36566f; line-height:1.4; }
  .exemption-modern-actions { display:flex; gap:6px; flex-wrap:wrap; justify-content:flex-end; margin-top:10px; }

  /* Documenti */
  .documents-modern-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
  .document-modern-card { min-width:0; padding:13px; border:1px solid var(--border-soft); border-radius:17px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:var(--shadow-card); transition:.15s ease; }
  .document-modern-card:hover { transform:translateY(-1px); box-shadow:var(--shadow-hover); }
  .document-modern-card.selected { border-color:color-mix(in srgb,var(--profile-accent) 45%,#d9e5ef); box-shadow:0 12px 28px color-mix(in srgb,var(--profile-accent) 10%,transparent); }
  .document-modern-head { display:grid; grid-template-columns:24px 40px minmax(0,1fr) auto; gap:9px; align-items:start; }
  .document-select-box { padding-top:8px; }
  .document-modern-icon { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:#2a70a2; background:#eaf4fb; }
  .document-modern-icon .ui-icon { width:20px; height:20px; }
  .document-modern-title small { color:#7d90a1; }
  .document-modern-title h3 { margin:2px 0 0; font-size:14.5px; color:#143b60; }
  .document-modern-title p { margin:3px 0 0; color:#6d8396; font-size:11.5px; }
  .document-modern-meta { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:11px; }
  .document-modern-meta > div { padding:8px 9px; border:1px solid #e4edf3; border-radius:11px; background:#f8fbfd; }
  .document-modern-meta small,.document-modern-meta strong { display:block; }
  .document-modern-meta small { color:#7b90a2; font-size:10.5px; }
  .document-modern-meta strong { margin-top:3px; color:#35536c; font-size:12px; overflow-wrap:anywhere; }
  .document-modern-foot { display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:10px; }
  .document-modern-status { display:flex; flex-direction:column; gap:5px; color:#71879a; font-size:11px; }
  .pdf-toggle { display:flex; align-items:center; gap:6px; font-weight:700; color:#49667d; }

  /* Diagnosi */
  .diagnosis-modern-search { display:grid; grid-template-columns:minmax(260px,.7fr) minmax(500px,1.3fr); gap:14px; align-items:center; padding:12px; border:1px solid var(--border-soft); border-radius:16px; background:linear-gradient(180deg,#fff,#f8fbfe); }
  .diagnosis-modern-search > div:first-child { display:flex; align-items:center; gap:10px; }
  .diagnosis-search-icon { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:#ad2e36; background:#fff0f0; }
  .diagnosis-search-icon .ui-icon { width:21px; height:21px; }
  .diagnosis-modern-search h3 { margin:0; font-size:14.5px; color:#143b60; }
  .diagnosis-modern-search p { margin:3px 0 0; color:#6c8295; font-size:12px; }
  .diagnosis-section-head { display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin:16px 0 10px; }
  .diagnosis-section-head h3 { margin:0; color:#173e62; font-size:16px; }
  .diagnosis-section-head p { margin:3px 0 0; color:#70869a; font-size:12px; }
  .diagnosis-focus-section { padding:13px; border:1px solid #e4caca; border-radius:17px; background:linear-gradient(180deg,#fff8f8,#fff); }
  .diagnosis-focus-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .diagnosis-focus-card { padding:12px; border:1px solid #e2eaf0; border-radius:15px; background:#fff; box-shadow:0 8px 18px rgba(18,58,96,.045); }
  .diagnosis-focus-head { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:9px; align-items:start; }
  .diagnosis-focus-icon { width:36px; height:36px; border-radius:11px; display:grid; place-items:center; color:#ad2e36; background:#fff0f0; }
  .diagnosis-focus-icon .ui-icon { width:19px; height:19px; }
  .diagnosis-focus-head small { color:#7a8fa1; }
  .diagnosis-focus-head h3 { margin:2px 0 0; color:#143b60; font-size:14px; }
  .diagnosis-focus-head p { margin:3px 0 0; color:#71879a; font-size:11px; }
  .diagnosis-focus-body { margin-top:9px; color:#39586f; line-height:1.4; }
  .diagnosis-focus-actions { display:flex; justify-content:flex-end; gap:6px; margin-top:9px; }
  .diagnosis-records-list { display:grid; gap:9px; }
  .diagnosis-record-card { display:grid; grid-template-columns:145px minmax(0,1fr) auto; gap:12px; align-items:start; padding:11px 12px; border:1px solid var(--border-soft); border-radius:15px; background:#fff; box-shadow:0 7px 18px rgba(18,58,96,.04); }
  .diagnosis-record-date strong,.diagnosis-record-date small { display:block; }
  .diagnosis-record-date strong { color:#143b60; }
  .diagnosis-record-date small { margin-top:3px; color:#74899b; }
  .diagnosis-record-title { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
  .diagnosis-record-title h3 { margin:0; color:#143b60; font-size:13.5px; }
  .diagnosis-record-main > p { margin:4px 0 0; color:#6c8295; font-size:11.5px; }
  .diagnosis-record-note { margin-top:6px; color:#3c5b72; font-size:12px; line-height:1.4; }
  .diagnosis-record-actions { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
  .diagnosis-history-modern { margin-top:8px; border:1px solid #e7d4d4; border-radius:10px; background:#fffafa; }
  .diagnosis-history-modern summary { padding:7px 9px; color:#7b2020; font-weight:700; }
  .diagnosis-history-modern article { display:grid; grid-template-columns:100px 1fr 100px auto; gap:8px; align-items:center; padding:7px 9px; border-top:1px solid #f1e3e3; }

  /* Medici */
  .doctor-modern-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .doctor-modern-card { min-width:0; padding:14px; border:1px solid var(--border-soft); border-radius:17px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:var(--shadow-card); }
  .doctor-modern-head { display:grid; grid-template-columns:44px minmax(0,1fr) auto; gap:10px; align-items:start; }
  .doctor-modern-icon { width:42px; height:42px; border-radius:13px; display:grid; place-items:center; color:#2870a3; background:#eaf4fb; }
  .doctor-modern-icon .ui-icon { width:22px; height:22px; }
  .doctor-modern-head small { color:#6f879a; font-weight:700; }
  .doctor-modern-head h3 { margin:2px 0 0; color:#143b60; font-size:15px; }
  .doctor-modern-head p { margin:3px 0 0; color:#70869a; font-size:11.5px; }
  .doctor-modern-contacts { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px; }
  .doctor-modern-contacts a { display:flex; align-items:center; gap:7px; padding:8px 9px; border:1px solid #e1eaf1; border-radius:11px; background:#f8fbfd; color:#31546f; text-decoration:none; overflow:hidden; }
  .doctor-modern-contacts .ui-icon { width:17px; height:17px; flex:0 0 auto; }
  .doctor-modern-contacts span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .doctor-modern-note { margin-top:9px; padding:8px 9px; border-radius:11px; background:#fff; border:1px solid #e3ebf2; color:#536f84; }
  .doctor-modern-actions { display:flex; justify-content:flex-end; gap:6px; margin-top:10px; }

  /* Confronta */
  .compare-modern-search { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:9px; align-items:center; padding:11px; border:1px solid var(--border-soft); border-radius:15px; background:#f8fbfe; }
  .compare-modern-search > span { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:#6c52d9; background:#f1edff; }
  .compare-modern-search .ui-icon { width:20px; height:20px; }
  .compare-result-section { margin-top:14px; }
  .compare-result-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:8px; }
  .compare-result-head h3 { margin:0; color:#173e62; }
  .compare-values-list { display:grid; gap:8px; }
  .compare-value-card { display:grid; grid-template-columns:160px minmax(150px,.8fr) minmax(150px,.8fr) 110px auto; gap:10px; align-items:center; padding:10px 11px; border:1px solid var(--border-soft); border-radius:14px; background:#fff; box-shadow:0 6px 16px rgba(18,58,96,.04); }
  .compare-value-card small,.compare-value-card strong { display:block; }
  .compare-value-card small { color:#7a8fa1; }
  .compare-value-card strong { margin-top:2px; color:#294d68; }
  .compare-doc-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .compare-doc-card { display:grid; grid-template-columns:36px minmax(0,1fr) auto; gap:9px; align-items:center; padding:10px; border:1px solid var(--border-soft); border-radius:14px; background:#fff; }
  .compare-doc-card > span { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; background:#eaf4fb; color:#2870a3; }
  .compare-doc-card .ui-icon { width:18px; height:18px; }
  .compare-doc-card h3 { margin:0; color:#173e62; font-size:13px; }
  .compare-doc-card p { margin:3px 0 0; color:#71879a; font-size:11px; }

  /* Grafici clinici */
  .clinical-graphs-shell { padding:14px; }
  .clinical-graphs-toolbar { display:flex; gap:10px; align-items:flex-end; padding:10px 11px; border:1px solid var(--border-soft); border-radius:15px; background:linear-gradient(180deg,#fff,#f8fbfe); }
  .clinical-graphs-toolbar .form-group { margin:0; min-width:300px; max-width:420px; }
  .clinical-graph-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(430px,.9fr); gap:14px; margin-top:14px; align-items:start; }
  .clinical-graph-main { display:grid; gap:12px; }
  .clinical-graph-card,.clinical-related-panel { border:1px solid var(--border-soft); border-radius:18px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:var(--shadow-card); overflow:hidden; }
  .clinical-graph-card { padding:13px; }
  .clinical-graph-card-head { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:6px; }
  .clinical-graph-card-head > div { display:flex; align-items:center; gap:10px; }
  .clinical-graph-icon { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:#a51d24; background:#fff0f0; }
  .clinical-graph-icon .ui-icon { width:21px; height:21px; }
  .clinical-graph-card h3 { margin:0; color:#143b60; font-size:17px; }
  .clinical-graph-card p { margin:3px 0 0; color:#71879a; font-size:12px; }
  .clinical-chart-compact { height:390px!important; min-height:390px!important; max-height:390px!important; }
  .clinical-chart-compact svg { height:390px!important; min-height:390px!important; max-height:390px!important; }
  .clinical-related-panel { padding:0; }
  .clinical-related-head { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:13px 14px; border-bottom:1px solid #e8eef4; }
  .clinical-related-head h3 { margin:0; color:#143b60; font-size:17px; }
  .clinical-related-head p { margin:3px 0 0; color:#71879a; font-size:11.5px; }
  .clinical-related-columns,.clinical-related-row { display:grid; grid-template-columns:100px minmax(100px,.8fr) minmax(120px,1fr) 105px 22px; gap:8px; align-items:center; }
  .clinical-related-columns { padding:8px 11px; background:#eef5fa; color:#5f778b; font-size:10.5px; font-weight:800; }
  .clinical-related-list { max-height:470px; overflow:auto; padding:7px; }
  .clinical-related-row { width:100%; border:1px solid transparent; border-radius:11px; background:#fff; padding:9px 8px; color:#385972; text-align:left; margin-bottom:5px; transition:.15s ease; }
  .clinical-related-row:hover,.clinical-related-row.selected { border-color:#d4e1eb; background:#f7fbfe; box-shadow:0 6px 15px rgba(18,58,96,.06); }
  .clinical-related-row strong { color:#143b60; font-size:12px; }
  .clinical-related-row > b { font-size:20px; color:#6e8799; text-align:center; }
  .clinical-related-row .badge { min-height:26px; padding:5px 8px; font-size:10px; }
  .clinical-graph-detail-empty { min-height:112px; display:grid; place-items:center; padding:18px; border:1px dashed #ccdbe6; border-radius:15px; background:#fff; color:#71879a; text-align:center; }
  .clinical-graph-detail-card { min-height:112px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:12px; border:1px solid var(--border-soft); border-radius:15px; background:#fff; box-shadow:var(--shadow-card); }
  .clinical-graph-detail-icon { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:#2870a3; background:#eaf4fb; }
  .clinical-graph-detail-icon .ui-icon { width:21px; height:21px; }
  .clinical-graph-detail-copy small { color:#72889a; }
  .clinical-graph-detail-copy h3 { margin:2px 0 0; color:#143b60; font-size:14px; }
  .clinical-graph-detail-copy p { margin:4px 0 0; color:#617a8f; font-size:11.5px; }

  /* Monitoraggio: stessa struttura dei grafici clinici */
  .monitor-explorer-layout { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(390px,.85fr); gap:14px; margin-top:14px; align-items:start; }
  .monitor-explorer-main { display:grid; gap:12px; }
  .monitor-explorer-chart-card,.monitor-explorer-panel,.monitor-explorer-detail-card,.monitor-explorer-detail-empty { border:1px solid var(--border-soft); border-radius:18px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:var(--shadow-card); }
  .monitor-explorer-chart-card { padding:13px; }
  .monitor-explorer-chart-head { display:flex; gap:10px; align-items:center; margin-bottom:5px; }
  .monitor-explorer-icon { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:#eef5fa; color:#2870a3; }
  .monitor-explorer-icon .ui-icon { width:21px; height:21px; }
  .monitor-explorer-chart-head h3 { margin:0; color:#143b60; font-size:17px; }
  .monitor-explorer-chart-head p { margin:3px 0 0; color:#71879a; }
  .monitor-explorer-chart { height:360px!important; min-height:360px!important; max-height:360px!important; }
  .monitor-explorer-chart svg { height:360px!important; min-height:360px!important; max-height:360px!important; }
  .monitor-explorer-panel { overflow:hidden; }
  .monitor-explorer-panel-head { display:flex; justify-content:space-between; gap:10px; align-items:center; padding:13px 14px; border-bottom:1px solid #e7eef4; }
  .monitor-explorer-panel-head h3 { margin:0; color:#143b60; }
  .monitor-explorer-panel-head p { margin:3px 0 0; color:#71879a; font-size:11.5px; }
  .monitor-explorer-columns,.monitor-explorer-row { display:grid; grid-template-columns:100px minmax(120px,1fr) minmax(130px,1fr) 22px; gap:8px; align-items:center; }
  .monitor-explorer-columns { padding:8px 11px; background:#eef5fa; color:#5f778b; font-size:10.5px; font-weight:800; }
  .monitor-explorer-list { max-height:440px; overflow:auto; padding:7px; }
  .monitor-explorer-row { width:100%; padding:9px 8px; border:1px solid transparent; border-radius:11px; background:#fff; text-align:left; color:#3b5a72; margin-bottom:5px; }
  .monitor-explorer-row:hover,.monitor-explorer-row.selected { border-color:#d4e1eb; background:#f7fbfe; box-shadow:0 6px 15px rgba(18,58,96,.06); }
  .monitor-explorer-row strong { color:#143b60; }
  .monitor-explorer-row b { font-size:20px; text-align:center; color:#6c8498; }
  .monitor-explorer-detail-empty { min-height:105px; display:grid; place-items:center; padding:16px; color:#71879a; text-align:center; box-shadow:none; border-style:dashed; }
  .monitor-explorer-detail-card { min-height:105px; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:10px; align-items:center; padding:12px; }
  .monitor-explorer-detail-icon { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:#eef5fa; color:#2870a3; }
  .monitor-explorer-detail-icon .ui-icon { width:21px; height:21px; }
  .monitor-explorer-detail-card small { color:#71879a; }
  .monitor-explorer-detail-card h3 { margin:2px 0 0; color:#143b60; font-size:14px; }
  .monitor-explorer-detail-card p { margin:4px 0 0; color:#617a8f; font-size:11.5px; }
  .monitor-safety-note { margin-top:12px; }
  .monitor-graph-selector { width:min(420px,100%); margin:0; }

  /* Percorso peso */
  .weight-modern-summary { display:grid; grid-template-columns:260px minmax(0,1fr); gap:12px; margin-bottom:12px; }
  .weight-progress-card { padding:12px; border:1px solid var(--border-soft); border-radius:15px; background:#f8fbfd; }
  .weight-progress-card small,.weight-progress-card strong { display:block; }
  .weight-progress-card strong { margin-top:3px; color:#143b60; font-size:22px; }
  .weight-progress-card p { margin:5px 0 0; color:#71879a; font-size:11.5px; }
  .weight-modern-kpis { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
  .weight-modern-kpis > div { padding:10px; border:1px solid #e2ebf2; border-radius:13px; background:#fff; }
  .weight-modern-kpis small,.weight-modern-kpis strong { display:block; }
  .weight-modern-kpis small { color:#73899b; }
  .weight-modern-kpis strong { margin-top:4px; color:#143b60; font-size:13px; }
  .monitor-tools-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:12px; margin-top:14px; }
  .monitor-tool-card { padding:13px; border:1px solid var(--border-soft); border-radius:17px; background:#fff; box-shadow:var(--shadow-card); }
  .monitor-tool-head { display:flex; gap:10px; align-items:center; padding-bottom:9px; margin-bottom:10px; border-bottom:1px solid #eaf1f6; }
  .monitor-tool-head > span { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; color:#2870a3; background:#eaf4fb; }
  .monitor-tool-head .ui-icon { width:20px; height:20px; }
  .monitor-tool-head h3 { margin:0; color:#143b60; }
  .monitor-tool-head p { margin:3px 0 0; color:#71879a; font-size:11.5px; }

  /* Preferenze richieste */
  #preferencesForm > .pref-appearance,
  #preferencesForm > .pref-warnings { min-height:0!important; height:auto!important; }
  .pref-appearance .form-grid { margin-top:4px!important; }
  .pref-warnings .card-title-row { display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; gap:10px!important; align-items:start!important; }
  .pref-warnings .pref-head-actions { display:flex!important; flex-direction:row!important; align-items:center!important; gap:6px!important; }
  .pref-warnings .notice { padding:9px 12px!important; line-height:1.28!important; }
  .pref-warnings .notice strong { margin-bottom:3px!important; }
  .pref-pdf > .form-grid > .check-row { min-height:58px!important; }
  .pref-pdf > .form-grid > .form-group { min-height:58px!important; }
  .pref-pdf > .form-grid > .check-row > input { align-self:start!important; margin-top:1px!important; }
  .pref-pdf > .form-grid > .check-row > span { display:block!important; }
  .pref-pdf > .form-grid > .check-row strong { display:inline!important; margin:0!important; }
  .pref-pdf > .form-grid > .check-row small { margin-top:4px!important; }
  #preferencesForm > .pref-docs,
  #preferencesForm > #updatesPreferenceSection,
  #preferencesForm > .preference-actions { min-height:255px!important; }
  #updatesPreferenceSection .pref-head-actions { flex-direction:column!important; align-items:stretch!important; }
  #updatesPreferenceSection .pref-head-actions .btn { min-width:96px!important; }
  .preference-actions { position:static!important; bottom:auto!important; }
}

@media screen and (max-width:1550px) {
  .therapy-modern-grid,.exemption-modern-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .clinical-graph-layout,.monitor-explorer-layout { grid-template-columns:minmax(0,1.25fr) minmax(360px,.8fr); }
  .clinical-related-columns,.clinical-related-row { grid-template-columns:88px minmax(90px,.8fr) minmax(100px,1fr) 92px 20px; }
  .weight-modern-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media screen and (max-width:1250px) {
  .documents-modern-grid,.doctor-modern-grid,.diagnosis-focus-grid,.compare-doc-grid { grid-template-columns:1fr; }
  .diagnosis-modern-search { grid-template-columns:1fr; }
  .clinical-graph-layout,.monitor-explorer-layout { grid-template-columns:1fr; }
  .clinical-related-list,.monitor-explorer-list { max-height:360px; }
  .weight-modern-summary,.monitor-tools-grid { grid-template-columns:1fr; }
  .emergency-priority-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:850px) {
  .therapy-modern-grid,.exemption-modern-grid,.exemption-modern-grid.extended { grid-template-columns:1fr; }
  .document-modern-meta,.therapy-modern-data,.exemption-modern-meta,.doctor-modern-contacts { grid-template-columns:1fr; }
  .diagnosis-record-card { grid-template-columns:1fr; }
  .diagnosis-record-actions { justify-content:flex-start; }
  .clinical-related-columns { display:none; }
  .clinical-related-row { grid-template-columns:86px minmax(90px,1fr) 22px; }
  .clinical-related-row > span:nth-of-type(3),.clinical-related-row .badge { display:none; }
  .monitor-explorer-columns { display:none; }
  .monitor-explorer-row { grid-template-columns:90px minmax(0,1fr) 22px; }
  .monitor-explorer-row > span:nth-of-type(2) { display:none; }
  .weight-modern-kpis { grid-template-columns:1fr 1fr; }
  .emergency-priority-grid { grid-template-columns:1fr; }
}
@media screen {
  .documents-modern-toolbar { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:12px; align-items:end; margin-bottom:10px; }
  .documents-search-box { display:grid; grid-template-columns:38px minmax(0,1fr); gap:8px; align-items:center; padding:7px 8px; border:1px solid var(--border-soft); border-radius:14px; background:#f8fbfd; }
  .documents-search-box > span { width:34px; height:34px; border-radius:10px; display:grid; place-items:center; color:#2870a3; background:#eaf4fb; }
  .documents-search-box .ui-icon { width:18px; height:18px; }
  .documents-search-box .form-control { border:0; box-shadow:none; background:transparent; min-height:36px; }
  .modern-bulk-toolbar { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:9px 10px!important; margin-bottom:10px; }
  .modern-bulk-toolbar #selectedDocsCount { margin-right:auto; color:#667f94; font-weight:700; }
}
@media screen and (max-width:900px){.documents-modern-toolbar{grid-template-columns:1fr}}

/* V13 FIX12 · correzioni finali di layout e restyling trasversale */
@media screen {
  /* Emergenza: riconoscibile immediatamente */
  .dashboard-v13-emergency-panel.emergency-priority-panel {
    background:linear-gradient(120deg,#fff0ef 0%,#fff7f6 52%,#fbe6e4 100%)!important;
    border:2px solid #d66d6d!important;
    box-shadow:0 18px 38px rgba(154,20,20,.16)!important;
  }
  .dashboard-v13-emergency-panel.emergency-priority-panel::before {
    content:"";display:block;position:absolute;left:0;top:0;bottom:0;width:6px;background:#a40000;
  }
  .dashboard-v13-emergency-panel.emergency-priority-panel { position:relative; }
  .emergency-priority-grid .dashboard-v13-emergency-item { background:rgba(255,255,255,.86)!important; }

  /* Terapie: cronologia lineare su riga unica */
  .therapy-timeline-list { display:grid;gap:7px; }
  .therapy-timeline-head,.therapy-timeline-row { display:grid;grid-template-columns:78px 40px minmax(180px,1.2fr) minmax(145px,.82fr) minmax(96px,.55fr) minmax(210px,1.3fr) minmax(132px,.72fr) 82px auto;gap:9px;align-items:center; }
  .therapy-timeline-head { padding:8px 12px;color:#617b90;font-size:11px;font-weight:800;background:#eef5fa;border-radius:12px; }
  .therapy-timeline-row { min-height:72px;padding:10px 12px;border:1px solid #d9e5ef;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 7px 18px rgba(18,58,96,.045); }
  .therapy-timeline-row:hover { border-color:#c5d6e4;box-shadow:0 11px 24px rgba(18,58,96,.075); }
  .therapy-timeline-row.is-paused { opacity:.72; }
  .therapy-row-time strong { color:#173d60;font-size:14px; }
  .therapy-row-med { min-width:0; }
  .therapy-row-med strong,.therapy-row-med small { display:block; }
  .therapy-row-med strong { color:#123b60;font-size:13.5px;line-height:1.25; }
  .therapy-row-med small { margin-top:3px;color:#70879a;font-size:11px; }
  .therapy-row-cell small,.therapy-row-cell strong,.therapy-row-cell span { display:block; }
  .therapy-row-cell small { color:#7a90a2;font-size:10.5px;margin-bottom:3px; }
  .therapy-row-cell strong,.therapy-row-cell span { color:#35546d;font-size:12px;line-height:1.3; }
  .therapy-row-actions { display:flex;gap:6px;justify-content:flex-end;flex-wrap:nowrap; }
  .therapy-row-reorder { min-width:0; }
  .therapy-reorder-state { display:grid;grid-template-columns:20px minmax(0,1fr);gap:7px;align-items:center;min-width:0; }
  .therapy-reorder-check { width:18px;height:18px;border-radius:5px;border:1.5px solid #aebfcb;display:grid;place-items:center;font-size:12px;font-weight:900;line-height:1;background:#fff;color:#fff;box-sizing:border-box; }
  .therapy-reorder-state.enabled .therapy-reorder-check { background:#1c9a5d;border-color:#1c9a5d; }
  .therapy-reorder-state strong,.therapy-reorder-state small { display:block;line-height:1.2;overflow-wrap:anywhere; }
  .therapy-reorder-state strong { color:#2f526d;font-size:11.5px; }
  .therapy-reorder-state small { margin-top:2px;color:#768b9c;font-size:9.8px; }
  .therapy-reorder-state.disabled { opacity:.72; }

  /* Esenzioni: codice evidente, azioni in alto, layout esteso a incastro */
  .exemption-modern-head { grid-template-columns:42px minmax(0,1fr) auto!important;align-items:start!important; }
  .exemption-modern-title .exemption-code { display:block;color:#178450;font-size:15px;line-height:1.2;margin-bottom:3px; }
  .exemption-modern-title h3 { font-size:15px!important;line-height:1.25;margin:0!important; }
  .exemption-modern-actions { margin:0!important;align-self:start;display:flex;gap:6px;flex-wrap:nowrap; }
  .exemption-modern-grid.extended { display:block!important;column-count:2;column-gap:12px; }
  .exemption-modern-grid.extended .exemption-modern-card { display:inline-block;width:100%;margin:0 0 12px;break-inside:avoid;page-break-inside:avoid; }
  .exemption-modern-grid.compact .exemption-modern-card { min-height:0; }

  /* Cronologia clinica: card moderne e compatte */
  .timeline-modern-list { position:relative;display:grid;gap:9px;padding-left:18px; }
  .timeline-modern-list::before { content:"";position:absolute;left:17px;top:15px;bottom:15px;width:2px;background:#d7e3ec; }
  .timeline-modern-card { position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:11px;align-items:start;padding:11px 12px;border:1px solid #dbe6ef;border-radius:15px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 7px 18px rgba(18,58,96,.045); }
  .timeline-modern-marker { z-index:1;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#edf5fb;color:#2870a3;box-shadow:0 0 0 4px #fff; }
  .timeline-modern-marker .ui-icon { width:20px;height:20px; }
  .timeline-modern-marker.rose { background:#fff0f1;color:#b12833; }.timeline-modern-marker.teal{background:#e9f8f6;color:#17897d}.timeline-modern-marker.violet{background:#f1edff;color:#6f53d7}
  .timeline-modern-title { display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0; }
  .timeline-modern-title h3 { margin:0;color:#143b60;font-size:14px;line-height:1.25; }
  .timeline-modern-date { color:#a00000;font-weight:800;font-size:12.5px; }
  .timeline-modern-meta { margin:4px 0 0;color:#6e8496;font-size:11.5px; }
  .timeline-modern-preview { margin:5px 0 0;color:#3d5b73;font-size:11.5px;line-height:1.35;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden; }
  .timeline-modern-actions { display:flex;gap:6px;white-space:nowrap; }

  /* Documenti: una riga per documento */
  .documents-modern-list { display:grid;gap:7px; }
  .document-row-head,.document-row-modern { display:grid;grid-template-columns:24px 40px minmax(250px,1.4fr) minmax(220px,1.15fr) minmax(170px,.85fr) minmax(180px,.9fr) auto;gap:9px;align-items:center; }
  .document-row-head { padding:7px 10px;background:#eef5fa;color:#5d768a;border-radius:11px;font-size:10.5px;font-weight:800; }
  .document-row-modern { min-height:76px;padding:9px 10px;border:1px solid #dbe6ef;border-radius:14px;background:#fff;box-shadow:0 6px 16px rgba(18,58,96,.04); }
  .document-row-modern.selected { border-color:color-mix(in srgb,var(--profile-accent) 45%,#dbe6ef);background:color-mix(in srgb,var(--profile-accent) 3%,#fff); }
  .document-row-title small,.document-row-title strong,.document-row-title span,.document-row-cell small,.document-row-cell strong,.document-row-status small { display:block; }
  .document-row-title small { color:#7a8fa1;font-size:10.5px; }.document-row-title strong{color:#143b60;font-size:13px;line-height:1.25;margin:2px 0}.document-row-title span{color:#71879a;font-size:10.8px}
  .document-row-cell small { color:#7a8fa1;font-size:10.5px;margin-bottom:3px; }.document-row-cell strong{color:#35546d;font-size:11.5px;line-height:1.3;overflow-wrap:anywhere}.document-row-status{display:flex;flex-direction:column;gap:4px;color:#6f8597;font-size:10.5px}.document-row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}

  /* Cerca nel Dossier */
  .dossier-search-modern-bar { display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;padding:10px;border:1px solid #d8e4ed;border-radius:15px;background:linear-gradient(180deg,#fff,#f8fbfe); }
  .dossier-search-modern-bar>span { width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#eaf4fb;color:#2870a3; }.dossier-search-modern-bar .ui-icon{width:18px;height:18px}
  .dossier-search-results-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start; }
  .search-modern-group { min-width:0;padding:12px;border:1px solid #dbe6ef;border-radius:17px;background:linear-gradient(180deg,#fff,#fbfdff);box-shadow:0 9px 22px rgba(18,58,96,.055); }
  .search-modern-head { display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:8px;align-items:center;padding-bottom:9px;border-bottom:1px solid #e9eff4; }.search-modern-head>span:first-child{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#eef5fa;color:#2870a3}.search-modern-head .ui-icon{width:17px;height:17px}.search-modern-head h3{margin:0;color:#143b60;font-size:14.5px}
  .search-modern-list { display:grid;gap:7px;margin-top:8px; }
  .search-modern-item { position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:start;padding:9px;border:1px solid #e2ebf2;border-radius:12px;background:#fff;min-height:0!important;height:auto!important;overflow:visible!important; }
  .search-modern-icon { width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#f0f6fb;color:#2870a3; }.search-modern-icon .ui-icon{width:17px;height:17px}.search-modern-item h4{margin:0;color:#143b60;font-size:13px}.search-modern-item p{margin:3px 0 0;color:#698195;font-size:11px;line-height:1.35;overflow-wrap:anywhere}.search-result-snippet{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}.search-modern-item .btn{align-self:start}

  /* Monitoraggio: stessa gerarchia della Panoramica */
  .monitor-home-modern { display:grid;gap:14px; }
  .monitor-home-greeting { display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;background:linear-gradient(120deg,#fff5f4,#fff 55%,#eef8fb); }
  .monitor-home-greeting h2 { margin:0;color:#143b60;font-size:24px; }.monitor-home-greeting p{margin:5px 0 0;color:#678095}
  .monitor-home-top-grid { display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.65fr);gap:14px; }
  .monitor-home-kpi-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px; }
  .monitor-home-kpi { text-align:left;border:1px solid #dce7ef;border-radius:13px;background:#fff;padding:10px;display:grid;grid-template-columns:36px 1fr;column-gap:8px;align-items:center;color:inherit; }.monitor-home-kpi small,.monitor-home-kpi strong,.monitor-home-kpi>span:last-child{grid-column:2}.monitor-home-kpi strong{color:#143b60;font-size:15px}.monitor-home-kpi small,.monitor-home-kpi>span:last-child{color:#72889a;font-size:10.5px}.monitor-home-progress{display:flex;flex-direction:column}.monitor-home-progress-value{display:flex;align-items:baseline;gap:8px}.monitor-home-progress-value strong{font-size:30px;color:#8f1010}.monitor-home-progress-value span{color:#71879a}.monitor-home-progress p{color:#71879a;margin:7px 0 0}.monitor-home-module-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.monitor-home-module-grid .module-card{min-height:150px}

  /* Percorso peso */
  .weight-modern-head { grid-template-columns:minmax(260px,1fr) minmax(260px,.75fr) auto!important;align-items:center!important; }
  .weight-head-progress { min-width:240px;padding:9px 12px;border:1px solid #ead3d3;border-radius:13px;background:#fff7f7; }.weight-head-progress small,.weight-head-progress strong{display:block}.weight-head-progress small{color:#7a8fa1}.weight-head-progress strong{color:#9a1010;font-size:20px;margin:2px 0 5px}.weight-modern-summary{display:block!important;margin-bottom:12px}.weight-modern-kpis{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:9px!important}.weight-modern-kpis>div{min-height:58px!important;padding:8px 10px!important;display:flex;flex-direction:column;justify-content:center}.weight-modern-kpis small{font-size:10.5px}.weight-modern-kpis strong{font-size:12.5px!important}

  /* pannelli monitoraggio: fondo allineato */
  .monitor-explorer-layout { align-items:stretch!important; }
  .monitor-explorer-main { display:grid!important;grid-template-rows:auto minmax(105px,1fr)!important;height:100%!important; }
  .monitor-explorer-panel { height:100%!important;align-self:stretch!important;display:flex!important;flex-direction:column!important; }
  .monitor-explorer-list { flex:1; }
  .monitor-explorer-detail { height:100%; }
  .monitor-explorer-detail-card,.monitor-explorer-detail-empty { height:100%;box-sizing:border-box; }

  /* tutti i grafici monitoraggio nella stessa pagina */
  .monitor-all-graphs { display:grid;gap:16px; }
  .monitor-all-graph-section { padding-top:14px;border-top:1px solid #e3ebf2; }.monitor-all-graph-section:first-child{padding-top:0;border-top:0}

  /* asse X: Data / Data clinica non tagliato */
  .clinical-chart-compact .health-chart,.monitor-explorer-chart .health-chart,.monitor-inline-chart .health-chart,.dashboard-v13-chart .health-chart { overflow:visible!important; }
  .clinical-chart-compact .chart-axis-title:not(.chart-y-axis-title),.monitor-explorer-chart .chart-axis-title:not(.chart-y-axis-title),.monitor-inline-chart .chart-axis-title:not(.chart-y-axis-title),.dashboard-v13-chart .chart-axis-title:not(.chart-y-axis-title) { transform:translateY(-7px); }
  .clinical-chart-compact,.monitor-explorer-chart,.monitor-inline-chart .chart-shell { padding-bottom:8px!important;box-sizing:border-box; }

  /* Grafici clinici: referto completo sotto */
  .clinical-inline-report { border:1px solid #d9e5ef;border-radius:17px;background:#fff;box-shadow:0 9px 22px rgba(18,58,96,.055);overflow:hidden; }
  .clinical-inline-report-head { display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border-bottom:1px solid #e9eff4;background:#fbfdff; }.clinical-inline-report-head small,.clinical-inline-report-head h3,.clinical-inline-report-head p{display:block}.clinical-inline-report-head h3{margin:2px 0 0;color:#143b60;font-size:14px}.clinical-inline-report-head p{margin:3px 0 0;color:#6f8698;font-size:11px}.clinical-inline-report-body{max-height:430px;overflow:auto;padding:12px}.clinical-inline-report-section h4{margin:0 0 9px;color:#143b60}.clinical-inline-report-section section{padding:8px 0;border-bottom:1px solid #edf2f6}.clinical-inline-report-section section:last-child{border-bottom:0}.clinical-inline-report-section p{margin:4px 0;color:#35546d;line-height:1.45}.clinical-inline-lab-group{margin-bottom:12px}.clinical-inline-lab-group>strong{display:block;margin-bottom:6px;color:#3b5a72}.clinical-inline-report-text{white-space:normal;color:#35546d;line-height:1.45}

  /* Agenda 60 / 40 */
  .agenda-split { grid-template-columns:minmax(0,3fr) minmax(430px,2fr)!important; }
  .agenda-detail-panel { padding:15px 16px!important; }

  /* Prepara visita: due colonne indipendenti senza vuoti forzati */
  .visit-prep-modern { display:grid!important;grid-template-columns:1fr!important;gap:12px!important; }
  .visit-prep-columns { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start; }
  .visit-prep-column { display:grid;gap:12px;align-content:start; }
  .visit-prep-column .visit-block { min-height:0;height:auto; }
  .visit-medications-card { border:1px solid #d9e5ef!important;background:linear-gradient(180deg,#fff,#fbfdff)!important;box-shadow:0 9px 22px rgba(18,58,96,.055)!important; }
  .visit-medication-list { display:grid;gap:7px; }.visit-medication-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px;border:1px solid #e3ebf1;border-radius:12px;background:#fff}.visit-med-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#f1edff;color:#6f53d7}.visit-med-icon .ui-icon{width:18px;height:18px}.visit-medication-row h3{margin:0;color:#143b60;font-size:13px}.visit-medication-row p{margin:3px 0 0;color:#71879a;font-size:11px}

  /* Preferenze: grafici selezionabili davvero compatti */
  .graph-choice { grid-template-columns:auto 30px minmax(0,1fr)!important;grid-template-rows:auto!important;min-height:48px!important;padding:6px 8px!important;align-items:center!important; }
  .graph-choice::before { grid-column:2!important;grid-row:1!important;width:28px!important;height:28px!important;align-self:center!important; }
  .graph-choice>input { grid-column:1!important;grid-row:1!important;align-self:center!important;margin:0!important; }
  .graph-choice>span { grid-column:3!important;grid-row:1!important;align-self:center!important; }
  .graph-choice strong { display:block!important;line-height:1.12!important; }.graph-choice small{margin-top:2px!important;line-height:1.1!important}
}
@media screen and (max-width:1500px){
  .therapy-timeline-head,.therapy-timeline-row{grid-template-columns:70px 38px minmax(165px,1.15fr) minmax(125px,.78fr) 86px minmax(185px,1.2fr) minmax(120px,.7fr) 78px auto;gap:8px}
  .document-row-head,.document-row-modern{grid-template-columns:22px 36px minmax(220px,1.3fr) minmax(190px,1fr) minmax(150px,.8fr) minmax(155px,.8fr) auto}
  .monitor-home-module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media screen and (max-width:1200px){
  .therapy-timeline-head{display:none}.therapy-timeline-row{grid-template-columns:70px 38px minmax(180px,1fr) 1fr;}.therapy-row-cell.schedule{grid-column:3/-1}.therapy-row-reorder{grid-column:3/-1}.therapy-row-actions{grid-column:3/-1}.document-row-head{display:none}.document-row-modern{grid-template-columns:24px 38px minmax(0,1fr) auto}.document-row-cell,.document-row-status{grid-column:3/-1}.document-row-actions{grid-column:3/-1}.dossier-search-results-grid,.visit-prep-columns{grid-template-columns:1fr}.monitor-home-top-grid{grid-template-columns:1fr}.monitor-home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weight-modern-head{grid-template-columns:1fr!important}.weight-modern-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.agenda-split{grid-template-columns:1fr!important}.exemption-modern-grid.extended{column-count:1}
}


/* V13 FIX13 · rifiniture dopo collaudo FIX12 */
@media screen {
  /* 1. Una sola intestazione pagina: sulle sezioni con banner, la topbar diventa solo barra comandi. */
  body.modern-banner-page .topbar-view-heading { display:none!important; }
  body.modern-banner-page .topbar { grid-template-columns:minmax(360px,1fr) auto!important; }
  body.modern-banner-page .global-search-shortcut { margin-left:0!important; max-width:680px!important; width:100%; }
  body.modern-banner-page .modern-view-banner { margin-top:0; }

  /* 5. Diagnosi: gerarchia più netta senza cambiare la logica. */
  .diagnosis-focus-card { border-left:4px solid color-mix(in srgb,var(--profile-accent) 38%,#e4ebf1)!important; }
  .diagnosis-record-card { border-left:3px solid #dce7ef!important; }
  .diagnosis-focus-head { align-items:flex-start!important; }

  /* 8. Cronologia: testo compatto, niente righe ridondanti. */
  .timeline-modern-card { padding:10px 12px!important; }
  .timeline-modern-title { gap:8px!important; }
  .timeline-modern-meta { margin:4px 0 0!important; }
  .timeline-modern-preview { margin:4px 0 0!important; -webkit-line-clamp:1!important; }
  .timeline-modern-actions { align-self:start!important; }

  /* 9. Grafici clinici: pannelli sinistro e destro chiudono sulla stessa linea. */
  .clinical-graph-layout { align-items:stretch!important; }
  .clinical-graph-main { height:100%!important; grid-template-rows:auto minmax(112px,1fr)!important; }
  .clinical-related-panel { height:100%!important; display:flex!important; flex-direction:column!important; }
  .clinical-related-list { flex:1 1 auto!important; max-height:none!important; min-height:0!important; }
  #clinicalGraphDetail { height:100%!important; min-height:0!important; }
  #clinicalGraphDetail > .clinical-graph-detail-empty,
  #clinicalGraphDetail > .clinical-inline-report { height:100%!important; box-sizing:border-box!important; }

  /* 10. Percorso peso: l'avanzamento riempie davvero lo spazio centrale. */
  .weight-modern-head { grid-template-columns:minmax(260px,.85fr) minmax(420px,1.65fr) auto!important; gap:16px!important; }
  .weight-head-progress { width:100%!important; min-width:0!important; box-sizing:border-box!important; padding:10px 16px!important; }
  .weight-head-progress .journey-progress { width:100%!important; }

  /* 10. Pagina Grafici monitoraggio: solo grafici, due per riga. */
  .monitor-graphs-only-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .monitor-graph-only-card { min-width:0; padding:12px; border:1px solid #d9e5ef; border-radius:18px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:0 9px 22px rgba(18,58,96,.055); }
  .monitor-graph-only-head { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
  .monitor-graph-only-head h3 { margin:0; color:#143b60; font-size:16px; }
  .monitor-graph-only-head p { margin:2px 0 0; color:#71879a; font-size:11px; }
  .monitor-graph-only-chart { height:315px!important; min-height:315px!important; max-height:315px!important; padding-bottom:12px!important; overflow:visible!important; }
  .monitor-graph-only-chart svg { height:315px!important; min-height:315px!important; max-height:315px!important; overflow:visible!important; }
  .monitor-graph-only-chart .chart-axis-title:not(.chart-y-axis-title) { transform:translateY(-8px)!important; }
  .monitor-graph-only-empty { min-height:170px; display:grid; place-items:center; color:#71879a; border:1px dashed #d5e1ea; border-radius:14px; background:#fbfdff; }

  /* 11. Agenda: più respiro dai margini senza sprecare spazio. */
  .agenda-scroll-list { padding:4px 14px 14px!important; }
  .agenda-day-title { padding:8px 6px!important; }
  .agenda-event-row { padding:10px 12px!important; }
  .agenda-detail-panel { padding:18px 20px!important; }
  .agenda-detail-list > div { padding:10px 3px!important; }
  .agenda-map-footer { padding:9px 12px!important; }

  /* 12. Archivio documenti: prima colonna dati più stretta, struttura più larga, PDF più compatto. */
  .document-row-head,.document-row-modern { grid-template-columns:22px 36px minmax(190px,.9fr) minmax(330px,1.65fr) minmax(150px,.65fr) minmax(120px,.52fr) auto!important; }
  .document-row-cell,.document-row-status,.document-row-title { min-width:0; }
  .document-row-cell strong,.document-row-title strong { overflow-wrap:anywhere; }

  /* 13. Cerca nel Dossier: gruppi a tutta larghezza, risultati a griglia fluida. */
  .dossier-search-results-grid { display:grid!important; grid-template-columns:1fr!important; gap:12px!important; align-items:start!important; }
  .search-modern-group { width:100%!important; box-sizing:border-box!important; }
  .search-modern-list { display:grid!important; grid-template-columns:repeat(auto-fill,minmax(300px,1fr))!important; gap:8px!important; align-items:start!important; }
  .search-modern-item { height:100%!important; box-sizing:border-box!important; }
  .search-result-snippet { -webkit-line-clamp:2!important; }

  /* Asse X: ulteriore margine di sicurezza globale. */
  .clinical-chart-compact,.monitor-explorer-chart,.monitor-inline-chart,.dashboard-v13-chart,.monitor-graph-only-chart { padding-bottom:14px!important; }
  .clinical-chart-compact .chart-axis-title:not(.chart-y-axis-title),.monitor-explorer-chart .chart-axis-title:not(.chart-y-axis-title),.monitor-inline-chart .chart-axis-title:not(.chart-y-axis-title),.dashboard-v13-chart .chart-axis-title:not(.chart-y-axis-title),.monitor-graph-only-chart .chart-axis-title:not(.chart-y-axis-title) { transform:translateY(-10px)!important; }
}
@media screen and (max-width:1500px){
  .weight-modern-head { grid-template-columns:minmax(240px,.8fr) minmax(320px,1.35fr) auto!important; }
  .document-row-head,.document-row-modern { grid-template-columns:22px 34px minmax(175px,.82fr) minmax(280px,1.5fr) minmax(135px,.62fr) minmax(110px,.48fr) auto!important; }
}
@media screen and (max-width:1250px){
  body.modern-banner-page .topbar { display:flex!important; flex-wrap:wrap!important; }
  body.modern-banner-page .global-search-shortcut { flex:1 1 320px!important; }
  .monitor-graphs-only-grid { grid-template-columns:1fr; }
  .weight-modern-head { grid-template-columns:1fr!important; }
  .weight-head-progress { max-width:none!important; }
}

/* V13 FIX14 · correzioni collaudo FIX13 */
@media screen {
  /* 1. Se esiste il banner moderno, non ripetere subito sotto il titolo della stessa pagina. */
  body.modern-banner-page #viewContainer > .modern-view-banner + .modern-content-shell > .modern-content-head > div:first-child {
    display:none !important;
  }
  body.modern-banner-page #viewContainer > .modern-view-banner + .modern-content-shell > .modern-content-head:has(> div:first-child:only-child) {
    display:none !important;
  }
  body.modern-banner-page #viewContainer > .modern-view-banner + .modern-content-shell > .modern-content-head {
    justify-content:flex-end !important;
    min-height:0 !important;
    padding-bottom:10px !important;
  }

  /* 5. Diagnosi: archivio realmente ridisegnato, non semplice lista piatta. */
  .diagnosis-records-list {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
  .diagnosis-record-card {
    position:relative !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    gap:11px !important;
    align-items:start !important;
    padding:14px !important;
    min-height:128px !important;
    border:1px solid #d9e5ef !important;
    border-left:1px solid #d9e5ef !important;
    border-radius:17px !important;
    background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%) !important;
    box-shadow:0 9px 22px rgba(18,58,96,.055) !important;
  }
  .diagnosis-record-card::before {
    content:"";
    position:absolute;
    inset:0 auto 0 0;
    width:4px;
    border-radius:17px 0 0 17px;
    background:color-mix(in srgb,var(--profile-accent) 48%,#dbe6ef);
  }
  .diagnosis-record-icon {
    width:40px;
    height:40px;
    border-radius:12px;
    display:grid;
    place-items:center;
    background:#fff0f1;
    color:#b12833;
  }
  .diagnosis-record-icon .ui-icon { width:20px;height:20px; }
  .diagnosis-record-title {
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    flex-wrap:wrap !important;
    padding-right:4px;
  }
  .diagnosis-record-title h3 { margin:0 !important;font-size:14.5px !important;color:#143b60 !important; }
  .diagnosis-record-meta {
    display:flex;
    gap:6px 12px;
    flex-wrap:wrap;
    margin-top:5px;
    color:#6d8396;
    font-size:11px;
  }
  .diagnosis-record-meta span:not(:last-child)::after { content:"·";margin-left:12px;color:#a3b2bf; }
  .diagnosis-record-note {
    margin-top:9px !important;
    padding:9px 10px !important;
    border:1px solid #e5edf3 !important;
    border-radius:11px !important;
    background:#f8fbfd !important;
    color:#35546d !important;
    line-height:1.4 !important;
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
  .diagnosis-record-actions {
    display:flex !important;
    gap:6px !important;
    align-items:flex-start !important;
    justify-content:flex-end !important;
    flex-wrap:wrap !important;
    max-width:200px;
  }
  .diagnosis-focus-card {
    background:linear-gradient(180deg,#fff,#fbfdff) !important;
    box-shadow:0 9px 22px rgba(18,58,96,.055) !important;
  }
  .diagnosis-focus-card:hover,.diagnosis-record-card:hover {
    transform:translateY(-1px);
    box-shadow:0 13px 28px rgba(18,58,96,.08) !important;
  }

  /* 8. Cronologia: più compatta, anteprima solo se realmente distinta dai metadati. */
  .timeline-modern-card { min-height:0 !important; }
  .timeline-modern-meta + .timeline-modern-preview { border-top:1px solid #edf2f6;padding-top:5px; }

  /* 11. Agenda: margini interni chiaramente più ampi. */
  .agenda-scroll-list { padding:10px 20px 20px !important; }
  .agenda-day-title { padding:10px 8px !important; }
  .agenda-event-row { padding:12px 16px !important; }
  .agenda-event-main { padding-right:5px !important; }
  .agenda-detail-panel { padding:22px 24px !important; }
  .agenda-detail-head { padding:2px 2px 8px !important; }
  .agenda-detail-actions { margin:12px 2px !important; }
  .agenda-detail-list > div { padding:11px 5px !important; }
  .agenda-detail-links { margin-left:2px !important;margin-right:2px !important; }
  .agenda-map-footer { padding:11px 14px !important; }

  /* 12. Archivio documenti: ancora più spazio alla Struttura, meno a Documento e PDF/lettura. */
  .document-row-head,.document-row-modern {
    grid-template-columns:22px 34px minmax(165px,.70fr) minmax(390px,2.15fr) minmax(135px,.58fr) minmax(88px,.34fr) auto !important;
    gap:8px !important;
  }
  .document-row-status { font-size:10px !important; }
  .document-row-status .pdf-toggle { gap:4px !important; }

  /* 13. Cerca nel Dossier: il contenitore risultati usa tutta la larghezza, senza mezza pagina vuota. */
  #dossierSearchOutputV9 {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }
  #dossierSearchOutputV9 > .dossier-search-summary,
  #dossierSearchOutputV9 > .dossier-search-results-grid,
  #dossierSearchOutputV9 > .notice {
    grid-column:1 / -1 !important;
    width:100% !important;
    box-sizing:border-box !important;
  }
  .dossier-search-results-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    gap:14px !important;
  }
  .search-modern-group {
    width:100% !important;
    max-width:none !important;
  }
  .search-modern-list {
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(330px,1fr)) !important;
    gap:9px !important;
    width:100% !important;
  }
  .search-modern-item { min-width:0 !important; }
}
@media screen and (max-width:1450px){
  .diagnosis-records-list { grid-template-columns:1fr !important; }
  .document-row-head,.document-row-modern {
    grid-template-columns:22px 32px minmax(155px,.66fr) minmax(315px,1.95fr) minmax(120px,.54fr) minmax(82px,.32fr) auto !important;
  }
  .search-modern-list { grid-template-columns:repeat(auto-fit,minmax(300px,1fr)) !important; }
}
@media screen and (max-width:1120px){
  .diagnosis-record-card { grid-template-columns:40px minmax(0,1fr) !important; }
  .diagnosis-record-actions { grid-column:2;justify-content:flex-start !important;max-width:none; }
}


/* V13 FIX15 · intestazioni operative, cronologia deduplicata e colonne leggibili */
@media screen {
  /* I comandi del primo blocco entrano nella testata grafica superiore. */
  .modern-view-banner {
    grid-template-columns:auto minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:14px !important;
  }
  .modern-view-banner-side {
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:8px;
    min-width:0;
  }
  .modern-view-banner-chips {
    display:flex;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
  }
  .modern-view-banner-actions {
    display:flex;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
  }
  .modern-view-banner-actions .btn { min-height:34px; }
  body.modern-banner-page #viewContainer > .modern-view-banner + .modern-content-shell > .modern-content-head:empty {
    display:none !important;
  }

  /* Archivio documenti: più spazio a Documento, meno a Struttura; PDF resta compatto. */
  .document-row-head,.document-row-modern {
    grid-template-columns:22px 34px minmax(250px,1.28fr) minmax(260px,1.18fr) minmax(135px,.56fr) minmax(88px,.34fr) auto !important;
    gap:8px !important;
  }
  .document-row-head > span:nth-child(n+3),
  .document-row-modern > .document-row-title,
  .document-row-modern > .document-row-cell,
  .document-row-modern > .document-row-status {
    position:relative;
    border-radius:10px;
    background:linear-gradient(90deg,rgba(227,238,247,.46) 0%,rgba(255,255,255,.96) 13%,rgba(255,255,255,.98) 86%,rgba(239,245,250,.68) 100%);
    box-shadow:inset 1px 0 0 rgba(41,88,123,.13), inset -1px 0 0 rgba(255,255,255,.96);
  }
  .document-row-head > span:nth-child(n+3) { padding:8px 10px; }
  .document-row-modern > .document-row-title,
  .document-row-modern > .document-row-cell,
  .document-row-modern > .document-row-status { padding:8px 10px; }
  .document-row-modern.selected > .document-row-title,
  .document-row-modern.selected > .document-row-cell,
  .document-row-modern.selected > .document-row-status {
    background:linear-gradient(90deg,rgba(252,238,238,.72),rgba(255,255,255,.98) 18%,rgba(255,255,255,.98) 84%,rgba(249,235,235,.62));
  }

  /* Tutte le tabelle: colonne percepibili come fasce distinte, senza griglia pesante. */
  #viewContainer table {
    border-collapse:separate !important;
    border-spacing:0 6px !important;
  }
  #viewContainer table thead th {
    background:linear-gradient(90deg,rgba(221,233,243,.82) 0%,rgba(244,248,251,.98) 14%,rgba(244,248,251,.98) 86%,rgba(231,239,246,.78) 100%) !important;
    box-shadow:inset 1px 0 0 rgba(36,78,111,.16), inset -1px 0 0 rgba(255,255,255,.95) !important;
    border-top:1px solid #d9e5ee !important;
    border-bottom:1px solid #d9e5ee !important;
  }
  #viewContainer table tbody td {
    background:linear-gradient(90deg,rgba(239,246,251,.48) 0%,rgba(255,255,255,.98) 12%,rgba(255,255,255,.98) 88%,rgba(244,248,251,.68) 100%) !important;
    box-shadow:inset 1px 0 0 rgba(48,92,124,.10), inset -1px 0 0 rgba(255,255,255,.98) !important;
    border-top:1px solid #e2ebf2 !important;
    border-bottom:1px solid #e2ebf2 !important;
  }
  #viewContainer table thead th:nth-child(even) {
    background:linear-gradient(90deg,rgba(228,238,246,.90),rgba(249,251,253,.98) 16%,rgba(249,251,253,.98) 84%,rgba(235,242,248,.82)) !important;
  }
  #viewContainer table tbody td:nth-child(even) {
    background:linear-gradient(90deg,rgba(245,249,252,.72),rgba(255,255,255,.99) 15%,rgba(255,255,255,.99) 85%,rgba(247,250,252,.82)) !important;
  }
  #viewContainer table tbody tr:hover td {
    background:linear-gradient(90deg,rgba(230,241,249,.78),rgba(247,252,255,.99) 16%,rgba(247,252,255,.99) 84%,rgba(234,243,250,.78)) !important;
  }
  #viewContainer table thead th:first-child,
  #viewContainer table tbody td:first-child { border-top-left-radius:10px;border-bottom-left-radius:10px; }
  #viewContainer table thead th:last-child,
  #viewContainer table tbody td:last-child { border-top-right-radius:10px;border-bottom-right-radius:10px; }

  /* Cronologia: una sola riga informativa utile e nessun eco OCR dei metadati. */
  .timeline-modern-meta { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .timeline-modern-preview { color:#4d687d !important; }
}
@media screen and (max-width:1450px){
  .document-row-head,.document-row-modern {
    grid-template-columns:22px 32px minmax(220px,1.18fr) minmax(235px,1.08fr) minmax(120px,.52fr) minmax(82px,.32fr) auto !important;
  }
}
@media screen and (max-width:1180px){
  .modern-view-banner { grid-template-columns:auto minmax(0,1fr) !important; }
  .modern-view-banner-side { grid-column:2;align-items:flex-start; }
  .modern-view-banner-chips,.modern-view-banner-actions { justify-content:flex-start; }
}

/* V13 FIX16 · profilo, agenda e tabelle a riga continua */
@media screen {
  /* Accesso diretto ai Dati del profilo dal riquadro Profilo attivo */
  .profile-switcher-row { align-items:center; }
  .profile-avatar-shortcut {
    border:0;background:transparent;padding:0;margin:0;display:grid;place-items:center;cursor:pointer;border-radius:999px;flex:0 0 auto;
  }
  .profile-avatar-shortcut:hover { box-shadow:0 0 0 3px color-mix(in srgb,var(--profile-accent) 14%,transparent); }
  .profile-data-page-btn { margin-top:7px; min-height:34px; }

  /* Agenda: solo Vista semplice e Calendario, 60/40 con dettagli persistenti */
  .agenda-split { grid-template-columns:minmax(0,3fr) minmax(430px,2fr) !important; }
  .agenda-calendar-split { align-items:stretch; }
  .agenda-calendar-pane { min-width:0; border-right:1px solid #dfe8ef; }
  .agenda-month-host { height:100%; box-sizing:border-box; }
  .calendar-month-day {
    cursor:default !important;
    padding:7px !important;
    min-height:104px;
  }
  .calendar-month-date {
    align-self:flex-start;border:0;background:transparent;padding:0 2px;color:#143b60;cursor:pointer;font:inherit;
  }
  .calendar-month-date:hover { color:var(--profile-accent); }
  .calendar-month-entry {
    width:100%;border:0;background:transparent;padding:3px 4px;margin:0;border-radius:7px;cursor:pointer;text-align:left;color:inherit;
  }
  .calendar-month-entry:hover { background:color-mix(in srgb,var(--profile-accent) 7%,#fff); }
  .calendar-month-entry.selected { background:color-mix(in srgb,var(--profile-accent) 11%,#fff); box-shadow:inset 3px 0 0 var(--profile-accent); }
  .agenda-travel-estimate {
    margin:12px 0 4px;padding:12px 14px;border:1px solid #d8e5ee;border-radius:13px;background:linear-gradient(180deg,#f8fbfe,#f3f8fc);
  }
  .agenda-travel-estimate > div { display:flex;align-items:center;justify-content:space-between;gap:12px; }
  .agenda-travel-estimate span { color:#60788d;font-size:12px; }
  .agenda-travel-estimate strong { color:#143b60;font-size:15px; }
  .agenda-travel-estimate small { display:block;margin-top:5px;color:#758a9b;font-size:11px;line-height:1.35; }

  /* Tabelle: una riga unica e continua, colonne contigue distinguibili solo dalla sfumatura. */
  #viewContainer table {
    border-collapse:separate !important;
    border-spacing:0 6px !important;
  }
  #viewContainer table thead th,
  #viewContainer table tbody td {
    border-radius:0 !important;
    box-shadow:none !important;
    border-left:0 !important;
    border-right:0 !important;
  }
  #viewContainer table thead th {
    background:linear-gradient(90deg,#eaf2f8 0%,#f5f9fc 12%,#f5f9fc 88%,#e9f1f7 100%) !important;
    border-top:1px solid #d9e5ee !important;
    border-bottom:1px solid #d9e5ee !important;
  }
  #viewContainer table tbody td {
    background:linear-gradient(90deg,#f4f8fb 0%,#ffffff 12%,#ffffff 88%,#f3f8fb 100%) !important;
    border-top:1px solid #e1eaf1 !important;
    border-bottom:1px solid #e1eaf1 !important;
  }
  #viewContainer table thead th + th,
  #viewContainer table tbody td + td {
    box-shadow:inset 1px 0 0 rgba(50,93,124,.10) !important;
  }
  #viewContainer table thead th:nth-child(even) {
    background:linear-gradient(90deg,#eef5fa 0%,#f9fbfd 12%,#f9fbfd 88%,#edf4f9 100%) !important;
  }
  #viewContainer table tbody td:nth-child(even) {
    background:linear-gradient(90deg,#f7fafc 0%,#ffffff 12%,#ffffff 88%,#f6fafc 100%) !important;
  }
  #viewContainer table tbody tr:hover td {
    background:linear-gradient(90deg,#eaf4fb 0%,#f8fcff 12%,#f8fcff 88%,#e9f3fa 100%) !important;
  }
  #viewContainer table thead th:first-child,
  #viewContainer table tbody td:first-child {
    border-top-left-radius:11px !important;border-bottom-left-radius:11px !important;border-left:1px solid #d9e5ee !important;
  }
  #viewContainer table thead th:last-child,
  #viewContainer table tbody td:last-child {
    border-top-right-radius:11px !important;border-bottom-right-radius:11px !important;border-right:1px solid #d9e5ee !important;
  }

  /* Archivio documenti: stessa logica continua anche nella griglia custom. */
  .document-row-head,
  .document-row-modern {
    column-gap:0 !important;
    row-gap:0 !important;
    overflow:hidden;
  }
  .document-row-head {
    padding:0 !important;
    background:transparent !important;
    border:1px solid #d9e5ee;
    border-radius:11px !important;
  }
  .document-row-modern {
    padding:0 !important;
    background:#fff !important;
    border:1px solid #dbe6ef !important;
    border-radius:14px !important;
  }
  .document-row-head > span,
  .document-row-modern > * {
    min-height:100%;box-sizing:border-box;border-radius:0 !important;margin:0 !important;
  }
  .document-row-head > span {
    display:flex;align-items:center;padding:8px 10px !important;
    background:linear-gradient(90deg,#eaf2f8,#f7fafc 14%,#f7fafc 86%,#eaf2f8) !important;
  }
  .document-row-head > span + span { box-shadow:inset 1px 0 0 rgba(46,88,119,.10) !important; }
  .document-row-modern > .document-select-box,
  .document-row-modern > .document-modern-icon,
  .document-row-modern > .document-row-title,
  .document-row-modern > .document-row-cell,
  .document-row-modern > .document-row-status,
  .document-row-modern > .document-row-actions {
    padding:9px 10px !important;
    background:linear-gradient(90deg,#f4f8fb 0%,#fff 14%,#fff 86%,#f3f8fb 100%) !important;
    box-shadow:none !important;
    border:0 !important;
    display:flex;
    align-items:center;
  }
  .document-row-modern > .document-row-title,
  .document-row-modern > .document-row-cell,
  .document-row-modern > .document-row-status { display:block; }
  .document-row-modern > * + * { box-shadow:inset 1px 0 0 rgba(48,92,124,.10) !important; }
  .document-row-modern.selected > * {
    background:linear-gradient(90deg,rgba(249,235,235,.72),rgba(255,255,255,.99) 14%,rgba(255,255,255,.99) 86%,rgba(248,232,232,.70)) !important;
  }
  .document-row-actions { justify-content:flex-end;gap:6px; }
}
@media screen and (max-width:1180px) {
  .agenda-split { grid-template-columns:1fr !important; }
  .agenda-calendar-pane { border-right:0;border-bottom:1px solid #dfe8ef; }
}


/* V13 FIX17 · calendario leggibile, stime locali ricalibrate e archivio riequilibrato */
@media screen {
  /* Archivio documenti: checkbox e icona leggibili, Documento ridimensionato senza perdere Struttura. */
  .document-row-head,.document-row-modern {
    grid-template-columns:32px 48px minmax(210px,1.00fr) minmax(330px,1.55fr) minmax(145px,.62fr) minmax(112px,.44fr) auto !important;
    column-gap:0 !important; row-gap:0 !important;
  }
  .document-row-modern > .document-select-box {
    padding:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; min-width:32px !important;
  }
  .document-row-modern > .document-select-box input { width:16px !important;height:16px !important;flex:0 0 16px !important; }
  .document-row-modern > .document-modern-icon {
    width:auto !important;height:100% !important;min-height:76px !important;padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;
  }
  .document-row-modern > .document-modern-icon .ui-icon { width:22px !important;height:22px !important; }
  .document-row-head > span:nth-child(1),.document-row-head > span:nth-child(2) { padding:0 !important; }
  .document-row-modern > .document-row-title,.document-row-modern > .document-row-cell,.document-row-modern > .document-row-status,.document-row-modern > .document-row-actions { padding:9px 10px !important; }
  .document-row-modern > * + *, .document-row-head > span + span { box-shadow:inset 1px 0 0 rgba(48,92,124,.10) !important; }

  /* Calendario mensile: tre livelli di lettura, stato Win/Google su riga propria. */
  .calendar-month-day { min-height:142px !important;padding:7px !important; }
  .calendar-month-entry {
    display:grid !important;grid-template-columns:1fr !important;gap:2px !important;width:100% !important;padding:5px 6px !important;margin-top:4px !important;text-align:left !important;
  }
  .calendar-month-entry-main { display:flex;align-items:baseline;gap:5px;min-width:0; }
  .calendar-month-entry-time { flex:0 0 auto;font-size:10px;color:#143b60; }
  .calendar-month-entry-title { min-width:0;font-size:10px;line-height:1.15;white-space:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2; }
  .calendar-month-entry-meta { display:block;min-width:0;font-size:8.8px;line-height:1.15;color:#71879a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
  .calendar-month-entry-sync { justify-self:start;display:inline-flex;align-items:center;max-width:100%;padding:2px 6px;border-radius:999px;font-size:8.2px;font-style:normal;line-height:1.1;background:#edf3f8;color:#506b80;white-space:nowrap; }
  .calendar-month-entry-sync.success { background:#e5f7ed;color:#147346; }
  .calendar-month-entry-sync.warning { background:#fff0df;color:#a65a00; }
  .calendar-month-more { display:block;margin:4px 4px 0;color:#71879a;font-size:9px; }
}
@media screen and (max-width:1450px){
  .document-row-head,.document-row-modern {
    grid-template-columns:30px 44px minmax(185px,.92fr) minmax(285px,1.48fr) minmax(125px,.58fr) minmax(102px,.42fr) auto !important;
  }
}


/* V14 LOTTO 1: sole nuove sezioni cliniche, senza alterare i moduli esistenti */

.lot1-page{display:grid;gap:16px}.lot1-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.lot1-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.lot1-card{border:1px solid var(--line,#dbe8e6);border-radius:16px;background:var(--surface,#fff);padding:16px;display:grid;gap:9px}.lot1-card h3{margin:0;font-size:1.02rem}.lot1-card p{margin:0;line-height:1.45}.lot1-meta{display:flex;gap:7px;flex-wrap:wrap;color:var(--muted,#64748b);font-size:.86rem}.lot1-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.lot1-empty{padding:28px;border:1px dashed var(--line,#dbe8e6);border-radius:16px;text-align:center;color:var(--muted,#64748b)}
.lot1-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.lot1-summary-section{border:1px solid var(--line,#dbe8e6);border-radius:16px;padding:16px;background:var(--surface,#fff)}.lot1-summary-section h3{margin:0 0 10px}.lot1-summary-section ul{margin:0;padding-left:19px}.lot1-summary-section li+li{margin-top:6px}.lot1-emergency{border:2px solid #b91c1c;border-radius:18px;padding:18px;background:#fff}.lot1-emergency h2{color:#991b1b;margin:0 0 4px}.lot1-emergency-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-top:14px}.lot1-emergency-box{border:1px solid #fecaca;background:#fff7f7;border-radius:12px;padding:12px}.lot1-emergency-box h3{margin:0 0 8px;font-size:1rem}.lot1-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lot1-form-grid .full{grid-column:1/-1}.lot1-check-list{display:grid;gap:8px;max-height:260px;overflow:auto;padding:4px}.lot1-check{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line,#dbe8e6);border-radius:10px;padding:9px}.lot1-severity-high{border-left:5px solid #b91c1c}.lot1-severity-medium{border-left:5px solid #d97706}.lot1-severity-low{border-left:5px solid #15803d}@media(max-width:820px){.lot1-form-grid{grid-template-columns:1fr}.lot1-form-grid .full{grid-column:auto}}




/* V14 LOTTO 1 FIX2 · correzioni chirurgiche verificate */
@media screen {
  /* Le nuove voci sono normali nav-item: nessun font/colore parallelo. */

  /* Emergenza: il tasto Modifica conserva la posizione originaria; l'export offline sta sotto ai dati. */
  .emergency-priority-head { grid-template-columns:32px minmax(0,1fr) auto auto!important; }
  .emergency-offline-actions { display:flex; justify-content:flex-end; padding:10px 0 0; }

  /* Interventi: titolo su due righe e ricerca appena più corta, senza alterare le altre pagine. */
  body[data-active-view="interventions"] .topbar-view-heading {
    min-width:285px!important;
    max-width:285px!important;
  }
  body[data-active-view="interventions"] .topbar-view-heading h1 {
    max-width:285px!important;
    line-height:1.18;
  }
  body[data-active-view="interventions"] .topbar-view-heading p {
    max-width:285px!important;
  }
  body[data-active-view="interventions"] .global-search-shortcut {
    width:min(100%,540px)!important;
    max-width:540px!important;
    min-width:300px!important;
    justify-self:start;
  }
}
@media screen and (min-width:1181px) and (max-width:1680px) {
  body[data-active-view="interventions"] .topbar {
    grid-template-columns:285px minmax(300px,540px) auto!important;
  }
}
@media screen and (max-width:1180px) {
  body[data-active-view="interventions"] .topbar-view-heading {
    flex:0 0 285px!important;
  }
  body[data-active-view="interventions"] .global-search-shortcut {
    flex:0 1 500px!important;
  }
}

/* V15 LOTTO 2 · estensioni contestuali, senza nuove macrosezioni */
@media screen {
  .lot2-adherence-panel{margin-top:16px;display:grid;gap:12px}
  .lot2-adherence-summary{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
  .lot2-adherence-card{border:1px solid #dbe6ef;border-radius:14px;background:#fff;padding:12px 14px;display:grid;gap:8px}
  .lot2-adherence-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
  .lot2-adherence-card h3{margin:0;font-size:14px;color:#183b5b}
  .lot2-adherence-card p{margin:0;color:#667f95;font-size:12px;line-height:1.4}
  .lot2-adherence-list{display:grid;gap:8px}
  .lot2-adherence-row{display:grid;grid-template-columns:minmax(120px,1fr) auto auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid #e1eaf1;border-radius:11px;background:#fbfdfe}
  .lot2-adherence-row small{color:#71879a}
  .lot2-adherence-counts{display:flex;gap:6px;flex-wrap:wrap}
  .lot2-adherence-counts .badge{font-weight:700}

  .lot2-audit-section{margin-top:16px}
  .lot2-audit-list{display:grid;gap:8px;margin-top:12px;max-height:420px;overflow:auto;padding-right:3px}
  .lot2-audit-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 12px;border:1px solid #dfe8ef;border-radius:12px;background:#fff}
  .lot2-audit-row strong{display:block;color:#183b5b;font-size:13px}
  .lot2-audit-row small{display:block;color:#71879a;font-size:11px;margin-top:2px}

  .lot2-dicom-section{margin-top:16px}
  .lot2-dicom-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:12px}
  .lot2-dicom-card{border:1px solid #dbe6ef;border-radius:14px;background:#fff;overflow:hidden;display:grid;grid-template-columns:120px minmax(0,1fr);min-height:128px}
  .lot2-dicom-card>img,.lot2-dicom-placeholder{width:120px;height:100%;min-height:128px;object-fit:cover;background:#eef4f8}
  .lot2-dicom-placeholder{display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;color:#71879a;font-size:11px;box-sizing:border-box}
  .lot2-dicom-card>div:last-child{padding:12px;min-width:0;display:grid;gap:5px;align-content:start}
  .lot2-dicom-card h3{margin:0;font-size:14px;color:#183b5b;overflow-wrap:anywhere}
  .lot2-dicom-card p,.lot2-dicom-card small{margin:0;color:#71879a;font-size:11px;line-height:1.35}

  .lot2-health-source{margin-top:14px;border:1px solid #dfe8ef;border-radius:13px;background:#fff;padding:12px 14px}
  .lot2-health-source h3{margin:0 0 4px;font-size:14px;color:#183b5b}
  .lot2-health-source p{margin:0;color:#71879a;font-size:12px}
  .lot2-source-pills{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
  .lot2-source-pill{display:inline-flex;align-items:center;gap:5px;border:1px solid #dfe8ef;border-radius:999px;background:#f7fafc;padding:5px 9px;font-size:11px;color:#35536d}
}
@media screen and (max-width:760px){
  .lot2-adherence-row{grid-template-columns:1fr}
  .lot2-audit-row{grid-template-columns:1fr}
  .lot2-dicom-card{grid-template-columns:1fr}
  .lot2-dicom-card>img,.lot2-dicom-placeholder{width:100%;height:160px;min-height:160px}
}

/* V16 · LOTTO 2 chiuso + LOTTO 3 · interventi chirurgici */
@media screen {
  /* Agenda: solo la cella compatta delle proposte, con respiro ai due lati. */
  .calendar-suggestion-list.compact .calendar-suggestion {
    padding:12px 20px 12px 18px;
  }
  .calendar-suggestion-list.compact .calendar-suggestion > .row-actions {
    padding-right:2px;
  }

  /* Classificazione visibile della provenienza delle singole rilevazioni importate. */
  .lot2-source-badge { display:inline-flex; margin:6px 0 2px; width:max-content; }
  .lot2-dicom-link-label { display:grid; gap:5px; margin-top:4px; color:#35536d; font-size:11px; font-weight:700; }
  .lot2-dicom-link-label .form-control { width:100%; min-width:0; font-weight:400; }

  /* Percorsi di cura: raggruppamento dentro Agenda, non nuova sezione autonoma. */
  .lot3-care-plans { margin-top:16px; }
  .lot3-care-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:12px; margin-top:12px; }
  .lot3-care-card { border:1px solid #dbe6ef; border-radius:14px; background:#fff; padding:14px; display:grid; gap:9px; min-width:0; }
  .lot3-care-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
  .lot3-care-head small,.lot3-care-head p,.lot3-care-card p { margin:0; color:#71879a; font-size:11px; line-height:1.4; }
  .lot3-care-head h3 { margin:2px 0 3px; color:#183b5b; font-size:14px; }
  .lot3-fieldset { border:1px solid #dfe8ef; border-radius:12px; padding:10px 12px; min-width:0; }
  .lot3-fieldset legend { color:#35536d; font-weight:700; padding:0 5px; }

  /* Interoperabilità FHIR/FSE: pagina autonoma senza alterare Preferenze o Backup. */
  .lot3-interop { display:grid; gap:16px; }
  .lot3-fhir-panel,.lot3-fse-panel,.lot3-platform-panel { border:1px solid #dfe8ef; border-radius:16px; background:#fff; padding:16px; min-width:0; }
  .lot3-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; }
  .lot3-section-head h2,.lot3-platform-panel h2 { margin:0; color:#183b5b; }
  .lot3-section-head p,.lot3-platform-panel>p { margin:4px 0 0; color:#71879a; line-height:1.45; }
  .lot3-fhir-info { display:flex; gap:7px; flex-wrap:wrap; margin-top:13px; }
  .lot3-fse-layout { display:grid; grid-template-columns:minmax(220px,300px) minmax(0,1fr); gap:18px; margin-top:16px; align-items:start; }
  .lot3-italy { display:grid; gap:12px; justify-items:center; }
  .lot3-italy svg { width:min(100%,210px); height:auto; }
  .lot3-italy-main,.lot3-italy-island { fill:#fff2d9; stroke:#d49b3a; stroke-width:3; }
  .lot3-fse-legend { display:grid; gap:6px; width:100%; color:#536b7e; font-size:11px; }
  .lot3-fse-legend span { display:flex; align-items:center; gap:7px; }
  .lot3-fse-legend i { width:11px; height:11px; border-radius:50%; display:inline-block; flex:0 0 auto; }
  .lot3-fse-legend .full { background:#1f9d68; }
  .lot3-fse-legend .partial { background:#d49b3a; }
  .lot3-fse-legend .none { background:#b8c4cd; }
  .lot3-region-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .lot3-region { border:1px solid #e0e8ef; border-radius:11px; padding:9px 10px; background:#fbfdfe; min-width:0; }
  .lot3-region strong { display:block; color:#183b5b; font-size:12px; }
  .lot3-region span { display:block; color:#71879a; font-size:10px; line-height:1.35; margin-top:2px; }
  .lot3-region.partial { border-left:4px solid #d49b3a; }
  .lot3-region.none { border-left:4px solid #b8c4cd; }
  .lot3-platform-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:14px; }
  .lot3-platform-grid>div { border:1px solid #dfe8ef; border-radius:12px; padding:12px; background:#fbfdfe; min-width:0; display:grid; gap:5px; }
  .lot3-platform-grid>div strong { color:#183b5b; font-size:13px; }
  .lot3-platform-grid>div small { color:#71879a; font-size:11px; line-height:1.4; }
}
@media screen and (max-width:960px) {
  .lot3-fse-layout { grid-template-columns:1fr; }
  .lot3-platform-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media screen and (max-width:620px) {
  .lot3-region-grid,.lot3-platform-grid { grid-template-columns:1fr; }
}


/* V16 REBASE FIX2 · correzioni chirurgiche Blocco 2/3 */
@media screen {
  .lot2-health-import-card{margin:12px 0 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #d8e4ec;border-radius:16px;background:#fff;padding:15px 17px}
  .lot2-health-import-card h3{margin:0 0 5px;color:#183b5b;font-size:16px}
  .lot2-health-import-card p{margin:0;color:#5f7689;font-size:12px;line-height:1.5;max-width:900px}
  .lot2-health-import-card .lot2-source-pills{margin-top:10px}
  .lot2-health-import-card>.btn{white-space:nowrap}

  .lot3-fse-layout{grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:20px}
  .lot3-italy-map{width:min(100%,270px);height:auto;display:block;object-fit:contain}
  .lot3-map-source{display:block;color:#7a8fa0;font-size:9px;line-height:1.3;text-align:center;margin-top:2px}
  .lot3-region-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
  .lot3-region.none{border-left:4px solid #b8c4cd;background:#fbfdfe}
  .lot3-region span{font-size:10px}
}
@media screen and (max-width:1180px){.lot3-region-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media screen and (max-width:960px){.lot3-fse-layout{grid-template-columns:1fr}.lot3-region-grid{grid-template-columns:repeat(4,minmax(0,1fr));}.lot3-italy-map{width:min(100%,250px)}}
@media screen and (max-width:760px){.lot2-health-import-card{grid-template-columns:1fr}.lot2-health-import-card>.btn{justify-self:start}.lot3-region-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media screen and (max-width:460px){.lot3-region-grid{grid-template-columns:1fr}}

/* DICOM: import progressivo, scelta archivio e visualizzatore locale. */
.lot2-storage-choice{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border:1px solid #dbe6ef;border-radius:14px;padding:12px;background:#fbfdff;cursor:pointer}
.lot2-storage-choice input{margin-top:3px}
.lot2-storage-choice strong,.lot2-storage-choice small{display:block}.lot2-storage-choice small{margin-top:3px;color:#71879a;line-height:1.4}
.lot2-dicom-import-review{border:1px solid #dbe6ef;border-radius:14px;padding:12px;display:grid;gap:8px;background:#fbfdff}.lot2-dicom-import-review small{color:#71879a}.lot2-dicom-import-review label{display:grid;gap:5px;color:#35536d;font-size:11px;font-weight:700}
.lot2-dicom-progress-overlay,.lot2-dicom-viewer-overlay{position:fixed;inset:0;background:rgba(10,32,30,.58);z-index:120;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.lot2-dicom-progress-card{width:min(520px,100%);background:#fff;border-radius:18px;padding:22px;box-shadow:0 18px 60px rgba(0,0,0,.28);display:grid;gap:10px}.lot2-dicom-progress-card h3,.lot2-dicom-progress-card p{margin:0}.lot2-dicom-progress-card small{color:#71879a}
.lot2-progress-track{height:12px;background:#e5edf3;border-radius:999px;overflow:hidden}.lot2-progress-track span{display:block;height:100%;width:0;background:#9b0000;transition:width .18s ease}
.lot2-dicom-viewer{width:min(1180px,100%);height:min(92vh,900px);background:#fff;border-radius:18px;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 18px 60px rgba(0,0,0,.35)}
.lot2-dicom-viewer header,.lot2-dicom-viewer footer{display:flex;align-items:center;gap:10px;padding:12px 14px;border-color:#dbe6ef}.lot2-dicom-viewer header{justify-content:space-between;border-bottom:1px solid #dbe6ef}.lot2-dicom-viewer header strong,.lot2-dicom-viewer header small{display:block}.lot2-dicom-viewer header small{color:#71879a;margin-top:2px}.lot2-dicom-viewer footer{border-top:1px solid #dbe6ef}.lot2-dicom-viewer footer input[type=range]{flex:1;min-width:120px}
.lot2-dicom-canvas-wrap{position:relative;min-height:0;background:#111;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none}.lot2-dicom-canvas-wrap canvas{max-width:100%;max-height:100%;width:auto;height:auto;image-rendering:auto;transform-origin:center center;will-change:transform}.lot2-dicom-canvas-wrap.is-zoomed{cursor:grab}.lot2-dicom-canvas-wrap.is-dragging{cursor:grabbing}.lot2-dicom-zoom-controls{display:flex;align-items:center;gap:6px;margin-left:auto}.lot2-dicom-zoom-controls [data-dicom-zoom-label]{min-width:46px;text-align:center;font-size:11px;font-weight:800;color:#35536d}.lot2-dicom-orientation{position:absolute;z-index:3;color:#fff;background:rgba(0,0,0,.58);border:1px solid rgba(255,255,255,.35);border-radius:6px;padding:3px 6px;font-size:11px;font-weight:900;letter-spacing:.04em;pointer-events:none;text-shadow:0 1px 2px #000}.lot2-dicom-orientation.hidden{display:none}.lot2-dicom-orientation-top{top:10px;left:50%;transform:translateX(-50%)}.lot2-dicom-orientation-bottom{bottom:10px;left:50%;transform:translateX(-50%)}.lot2-dicom-orientation-left{left:10px;top:50%;transform:translateY(-50%)}.lot2-dicom-orientation-right{right:10px;top:50%;transform:translateY(-50%)}.lot2-dicom-viewer-message{position:absolute;inset:20px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background:rgba(0,0,0,.65);border-radius:12px;padding:18px;z-index:4}.lot2-dicom-viewer-message.hidden{display:none}
.lot2-mpr-viewer{width:min(1480px,98vw);height:min(94vh,980px)}.lot2-mpr-grid{min-height:0;background:#0b1118;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden}.lot2-mpr-pane{position:relative;min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;background:#111}.lot2-mpr-pane>strong{position:absolute;z-index:2;left:10px;top:8px;background:rgba(0,0,0,.58);color:#fff;border-radius:6px;padding:4px 7px;font-size:11px}.lot2-mpr-pane canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;cursor:crosshair}.lot2-mpr-controls{flex-wrap:wrap}.lot2-mpr-controls [data-mpr-position]{font-size:12px;font-weight:800;margin-right:auto}.lot2-mpr-controls [data-mpr-angles]{font-size:12px;color:#52626f;min-width:190px;text-align:right}
@media(max-width:720px){.lot2-dicom-viewer-overlay{padding:6px}.lot2-dicom-viewer{height:98vh;border-radius:12px}.lot2-dicom-viewer footer{flex-wrap:wrap}.lot2-dicom-viewer footer input[type=range]{order:3;flex-basis:100%}.lot2-dicom-zoom-controls{margin-left:0}.lot2-mpr-grid{grid-template-columns:1fr;grid-template-rows:repeat(4,minmax(240px,1fr));overflow:auto}.lot2-mpr-viewer{height:98vh}.lot2-mpr-controls [data-mpr-angles]{text-align:left}}


/* FIX9 - Archivio immagini associate e backup media */
.document-linked-images{overflow:hidden}
.document-linked-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;margin-top:12px}
.document-linked-image-card{border:1px solid var(--border,#dbe5ea);border-radius:16px;background:var(--surface,#fff);overflow:hidden;min-width:0}
.document-linked-image-open{display:block;width:100%;height:140px;border:0;padding:0;background:#eef3f5;cursor:pointer;overflow:hidden}
.document-linked-image-open img{display:block;width:100%;height:100%;object-fit:contain;background:#0f172a}
.document-linked-image-open span{display:grid;place-items:center;height:100%;font-weight:700;color:#52626f}
.document-linked-image-card>div{display:grid;gap:5px;padding:10px 12px}
.document-linked-image-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.document-linked-image-card small{color:var(--muted,#64748b)}
.document-image-viewer-overlay{position:fixed;inset:0;z-index:12000;background:rgba(2,12,20,.86);display:grid;place-items:center;padding:18px}
.document-image-viewer{width:min(1180px,96vw);height:min(820px,94vh);background:#fff;border-radius:18px;display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.35)}
.document-image-viewer .card-title-row{padding:12px 16px;border-bottom:1px solid #dbe5ea}
.document-image-stage{min-height:0;overflow:auto;display:block;background:#111827;padding:18px;box-sizing:border-box}.document-image-canvas{position:relative;margin:auto;min-width:1px;min-height:1px}.document-image-canvas img{position:absolute;left:50%;top:50%;display:block;max-width:none;max-height:none;transform-origin:center center}.document-image-error{color:#fff;text-align:center;padding:24px}.document-image-viewer footer{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid #dbe5ea;justify-content:center;flex-wrap:wrap}.document-image-zoom-label{min-width:46px;text-align:center;font-size:12px;font-weight:800;color:#35536d}.document-attach-review{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;margin:14px 0}.document-attach-review-card{border:1px solid #dbe5ea;border-radius:14px;overflow:hidden;background:#fff}.document-attach-review-card img,.document-attach-review-card>span{display:block;width:100%;height:120px;object-fit:contain;background:#111827;color:#fff}.document-attach-review-card>span{display:grid;place-items:center}.document-attach-review-card>div{display:grid;gap:4px;padding:9px 11px}.document-attach-review-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-attach-review-card small{color:#64748b}
.cloud-media-backup-choice{margin-top:12px;padding:12px 14px;border:1px solid #dbe5ea;border-radius:14px;background:#f8fbfc}
.cloud-media-backup-choice small{display:block;margin-top:5px;color:#64748b;line-height:1.4}
@media(max-width:720px){.document-linked-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.document-linked-image-open{height:115px}.document-image-viewer-overlay{padding:6px}.document-image-viewer{width:100%;height:96vh;border-radius:12px}}


/* V16 FIX10 · stato clinico unificato a schermo */
.badge.nei-limiti {
  color:#18743b!important;
  border:1px solid #9dcbae!important;
  background:#eff9f2!important;
}
.badge.alto,.badge.basso,.badge.alterato,.badge.insufficiente,.badge.critico {
  color:#b00020!important;
  border:1px solid #d89aa5!important;
  background:#fff1f3!important;
  text-transform:uppercase;
}
.badge.alto::before { content:"▲ "; font-weight:900; margin-right:2px; }
.badge.basso::before { content:"▼ "; font-weight:900; margin-right:2px; }
.badge.da-verificare {
  color:#8b5600!important;
  border:1px solid #d9b56e!important;
  background:#fff8e8!important;
}
.badge.non-definito {
  color:#4d5d68!important;
  border:1px solid #ccd6dd!important;
  background:#f6f8fa!important;
}
.document-linked-dicom { border-left:4px solid #315a73!important; }
.document-linked-dicom .dicom-summary-line { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:7px; color:#60788b; }
.document-linked-dicom .dicom-summary-line .badge { min-height:26px; }

/* V16 FIX10 · frontespizi PDF moderni, neutrali e robusti in bianco e nero */
@media print {
  #printRoot .modern-pdf-cover {
    position:relative!important;
    min-height:255mm!important;
    height:255mm!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    text-align:left!important;
    padding:18mm 17mm 14mm!important;
    overflow:hidden!important;
    background:#fff!important;
    color:#111!important;
    box-sizing:border-box!important;
    border:0!important;
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
  #printRoot .modern-pdf-cover::before,
  #printRoot .modern-pdf-cover::after {
    content:""!important;
    position:absolute!important;
    border:10mm solid #e9e9e9!important;
    border-radius:50%!important;
    width:86mm!important;
    height:86mm!important;
    right:-49mm!important;
    z-index:0!important;
    box-sizing:border-box!important;
  }
  #printRoot .modern-pdf-cover::before { top:54mm!important; }
  #printRoot .modern-pdf-cover::after { bottom:-45mm!important; right:-17mm!important; width:105mm!important; height:105mm!important; border-width:8mm!important; }
  #printRoot .modern-cover-topline,
  #printRoot .modern-cover-title,
  #printRoot .modern-cover-patient,
  #printRoot .modern-cover-summary,
  #printRoot .modern-cover-footer { position:relative!important; z-index:1!important; }
  #printRoot .modern-cover-topline { display:flex!important; justify-content:space-between!important; gap:12mm!important; align-items:flex-start!important; }
  #printRoot .modern-cover-kicker { margin:0!important; font-size:8.5pt!important; font-weight:800!important; letter-spacing:.23em!important; text-transform:uppercase!important; color:#3e4449!important; }
  #printRoot .modern-cover-motto { margin:0!important; padding-left:5mm!important; border-left:1px solid #777!important; font-size:6.8pt!important; line-height:1.55!important; letter-spacing:.18em!important; text-transform:uppercase!important; color:#666!important; max-width:38mm!important; }
  #printRoot .modern-cover-title { margin-top:7mm!important; }
  #printRoot .modern-cover-title::before { content:""; display:block; width:14mm; height:1.2mm; background:#111; margin-bottom:6mm; }
  #printRoot .modern-pdf-cover h1 { margin:0!important; font-size:31pt!important; line-height:1.02!important; letter-spacing:-.02em!important; color:#111!important; }
  #printRoot .modern-cover-subtitle { margin:3mm 0 0!important; font-size:12pt!important; line-height:1.35!important; color:#656a70!important; }
  #printRoot .modern-cover-patient { margin-top:27mm!important; max-width:122mm!important; padding-left:8mm!important; border-left:1.2mm solid #222!important; }
  #printRoot .modern-cover-label { margin:0 0 4mm!important; font-size:7.5pt!important; letter-spacing:.18em!important; text-transform:uppercase!important; color:#666!important; }
  #printRoot .modern-cover-patient h2 { margin:0 0 9mm!important; font-size:22pt!important; line-height:1.1!important; color:#111!important; }
  #printRoot .modern-cover-meta { display:grid!important; grid-template-columns:35mm 1fr!important; gap:3mm 7mm!important; margin:0!important; font-size:9.3pt!important; }
  #printRoot .modern-cover-meta dt { color:#666!important; }
  #printRoot .modern-cover-meta dd { margin:0!important; font-weight:800!important; color:#111!important; }
  #printRoot .modern-cover-summary { margin-top:16mm!important; display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:4mm!important; max-width:145mm!important; }
  #printRoot .modern-cover-summary > div { min-height:26mm!important; padding:5mm!important; border:1px solid #bfc4c8!important; background:#fff!important; box-sizing:border-box!important; }
  #printRoot .modern-cover-summary strong { display:block!important; font-size:19pt!important; line-height:1!important; color:#111!important; }
  #printRoot .modern-cover-summary span { display:block!important; margin-top:3mm!important; font-size:8.2pt!important; line-height:1.25!important; color:#555!important; }
  #printRoot .modern-cover-visit-box { grid-column:1/-1!important; min-height:auto!important; padding:4mm 5mm!important; background:#f4f4f4!important; }
  #printRoot .modern-cover-visit-box small { display:block!important; font-size:7pt!important; letter-spacing:.12em!important; text-transform:uppercase!important; color:#666!important; }
  #printRoot .modern-cover-visit-box strong { margin-top:1.5mm!important; font-size:15pt!important; line-height:1.15!important; }
  #printRoot .modern-cover-product { position:relative!important; z-index:1!important; margin-top:auto!important; display:grid!important; grid-template-columns:minmax(0,1fr) 21mm!important; gap:5mm!important; align-items:center!important; width:100%!important; max-width:none!important; padding:4mm 0!important; border-top:1px solid #c7c7c7!important; }
  #printRoot .modern-cover-product strong { display:block!important; font-size:8.4pt!important; color:#111!important; }
  #printRoot .modern-cover-product span { display:block!important; margin-top:1.2mm!important; font-size:7.1pt!important; line-height:1.45!important; color:#555!important; }
  #printRoot .modern-cover-product b { color:#111!important; }
  #printRoot .modern-cover-product .modern-cover-qr { display:block!important; width:20mm!important; height:20mm!important; object-fit:contain!important; filter:grayscale(1)!important; }
  #printRoot .modern-cover-footer { margin-top:0!important; padding-top:4mm!important; border-top:1px solid #bbb!important; font-size:6.8pt!important; line-height:1.35!important; color:#666!important; width:100%!important; max-width:none!important; white-space:nowrap!important; }
  #printRoot .modern-pdf-cover .print-avatar,
  #printRoot .modern-pdf-cover img:not(.modern-cover-qr) { display:none!important; }
}

/* FIX21: Agenda familiare e matrice permessi più leggibili, senza modifiche funzionali ai settori esterni */
.security-panel:has(#agendaAccessForm){width:min(920px,calc(100vw - 40px));overflow-x:hidden}
.agenda-family-form{min-width:0}
.agenda-family-fieldset{min-width:0;overflow:hidden;padding:10px 12px 12px}
.agenda-permission-grid{display:grid;grid-template-columns:minmax(220px,1.55fr) repeat(3,minmax(110px,.75fr));align-items:stretch;min-width:0}
.agenda-permission-head{font-weight:800;background:var(--surface-2);border:1px solid var(--line);border-radius:10px 10px 0 0}
.agenda-permission-head>span{padding:10px 8px;text-align:center;border-right:1px solid var(--line)}
.agenda-permission-head>span:first-child{text-align:left}.agenda-permission-head>span:last-child{border-right:0}
.agenda-permission-row{border:1px solid var(--line);border-top:0;background:#fff}
.agenda-permission-row:last-of-type{border-radius:0 0 10px 10px}
.agenda-permission-row.is-own-profile{background:var(--surface-2)}
.agenda-profile-identity{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;padding:10px 8px;min-width:0;border-right:1px solid var(--line)}
.agenda-profile-identity strong,.agenda-profile-identity small{display:block;max-width:100%;overflow-wrap:anywhere}.agenda-profile-identity small{color:var(--muted)}
.agenda-profile-identity .badge{margin-top:2px}
.agenda-permission-check{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px!important;padding:9px 6px;border-right:1px solid var(--line);font-weight:700!important;text-align:center;cursor:pointer}
.agenda-permission-check:last-child{border-right:0}
.agenda-permission-check input{width:17px;height:17px;margin:0;accent-color:var(--primary)}
.agenda-permission-check span{font-size:.78rem;color:var(--muted)}
.agenda-permission-check input:checked+span{color:var(--text)}
.agenda-permission-check input:disabled{cursor:not-allowed;opacity:.62}.agenda-permission-check:has(input:disabled){cursor:default}
@media(max-width:760px){
  .security-panel:has(#agendaAccessForm){width:calc(100vw - 20px);padding:18px}
  .agenda-permission-grid{grid-template-columns:minmax(150px,1.35fr) repeat(3,minmax(76px,.7fr))}
  .agenda-permission-head>span,.agenda-profile-identity,.agenda-permission-check{padding-left:5px;padding-right:5px}
  .agenda-permission-head{font-size:.8rem}.agenda-profile-identity{font-size:.84rem}.agenda-permission-check span{font-size:.69rem}
}

.permission-matrix thead th{height:54px!important}
.permission-matrix thead th small{display:none!important}
.permission-matrix .permission-user-cell[rowspan="2"]{vertical-align:middle!important}
.permission-subrow{height:42px}
.permission-subrow-modification td:not(.permission-user-cell){border-top:1px dashed color-mix(in srgb,var(--line) 80%,transparent)}
.permission-level-cell{vertical-align:middle!important;text-align:center!important}
.permission-level-choice{display:flex!important;align-items:center;justify-content:flex-start;gap:5px!important;margin:0;font-weight:800!important;white-space:nowrap}
.permission-level-choice input{width:14px;height:14px;margin:0;accent-color:var(--primary)}
.permission-level-static{display:block;font-weight:800;line-height:1.1}.permission-level-cell small{margin-top:2px;color:var(--muted)}
.permission-cell-empty{background:var(--surface-2)!important}
.permission-subrow-consultation .permission-level-cell{background:color-mix(in srgb,var(--primary-soft) 28%,#fff)}
.permission-subrow-modification .permission-level-cell{background:color-mix(in srgb,var(--surface-2) 72%,#fff)}
.permission-matrix tr[data-access-level="administrator"].permission-subrow td{background:color-mix(in srgb,var(--primary-soft) 55%,#fff)}
.permission-matrix tr[data-access-level="administrator"].permission-subrow .permission-cell-empty{background:color-mix(in srgb,var(--primary-soft) 38%,#fff)!important}


/* FIX23 · Vivid Clinical UI — riferimenti grafici approvati 17/09/2026 */
@media screen {
  :root{
    --vivid-blue:#0877d1;--vivid-blue2:#15a5e8;--vivid-cyan:#00a8c6;--vivid-teal:#009688;
    --vivid-green:#18a957;--vivid-lime:#39b86a;--vivid-rose:#e83e63;--vivid-pink:#f0446e;
    --vivid-orange:#f28a18;--vivid-violet:#7454e8;--vivid-red:#d92f3d;--vivid-navy:#103d68;
  }
  .app-shell{background:linear-gradient(135deg,#edf7ff 0%,#f8fbff 38%,#eef9f6 100%)}
  .sidebar{background:linear-gradient(180deg,#ffffff 0%,#f5faff 55%,#f2fbf8 100%)!important;border-right:1px solid #cfe0ed!important}
  .nav-item-major,.nav-group>summary{grid-template-columns:36px minmax(0,1fr) 16px!important;column-gap:9px!important;min-height:44px!important}
  .nav-item-major{grid-template-columns:36px minmax(0,1fr)!important}
  .nav-icon{width:32px!important;height:32px!important;display:grid!important;place-items:center!important;border-radius:10px!important;color:#fff!important;box-shadow:0 6px 14px rgba(16,61,104,.16),inset 0 1px 0 rgba(255,255,255,.28)!important;overflow:hidden!important;line-height:0!important}
  .nav-icon svg{width:18px!important;height:18px!important;display:block!important;margin:auto!important;position:static!important;transform:none!important;stroke:#fff!important;stroke-width:2.15!important;fill:none!important}
  .nav-tone-blue{background:linear-gradient(145deg,#0877d1,#14a5ea)!important}.nav-tone-rose{background:linear-gradient(145deg,#dc3157,#f25b7b)!important}.nav-tone-cyan{background:linear-gradient(145deg,#008cc5,#08b4d4)!important}.nav-tone-green{background:linear-gradient(145deg,#118e4b,#2dc56d)!important}.nav-tone-pink{background:linear-gradient(145deg,#ed285e,#ff6685)!important}.nav-tone-teal{background:linear-gradient(145deg,#008a86,#16b9a4)!important}.nav-tone-violet{background:linear-gradient(145deg,#6246d9,#8a65f4)!important}
  .nav-item.active .nav-icon,.nav-group[open]>summary .nav-icon{filter:saturate(1.12);box-shadow:0 8px 18px rgba(8,119,209,.22),0 0 0 3px rgba(8,119,209,.09)!important}
  .nav-group-items{margin-left:38px!important}.nav-group-items::before{background:linear-gradient(#b8d7ef,#b7e6d3)!important;width:2px!important}
  .nav-group-items .nav-item.active{color:#075da6!important;background:#e7f4ff!important;font-weight:780!important}

  .ui-icon{display:block!important;margin:auto!important;position:static!important;transform:none!important;stroke-width:2.05!important}
  .dashboard-v13-iconbox,.dashboard-v13-title-icon,.agenda-event-icon,.agenda-detail-icon,.modern-view-banner-icon,.modern-filter-icon,.therapy-modern-icon,.exemption-modern-icon,.document-modern-icon,.diagnosis-search-icon,.diagnosis-focus-icon,.doctor-modern-icon,.clinical-graph-icon,.clinical-graph-detail-icon,.timeline-modern-marker,.search-modern-icon,.monitor-explorer-icon,.monitor-explorer-detail-icon,.backup-state-icon{
    display:grid!important;place-items:center!important;align-items:center!important;justify-items:center!important;line-height:0!important;overflow:hidden!important;
  }
  .dashboard-v13-iconbox>.ui-icon,.dashboard-v13-title-icon>.ui-icon,.agenda-event-icon>.ui-icon,.agenda-detail-icon>.ui-icon,.modern-view-banner-icon>.ui-icon,.modern-filter-icon>.ui-icon,.therapy-modern-icon>.ui-icon,.exemption-modern-icon>.ui-icon,.document-modern-icon>.ui-icon,.diagnosis-search-icon>.ui-icon,.diagnosis-focus-icon>.ui-icon,.doctor-modern-icon>.ui-icon,.clinical-graph-icon>.ui-icon,.clinical-graph-detail-icon>.ui-icon,.timeline-modern-marker>.ui-icon,.search-modern-icon>.ui-icon,.monitor-explorer-icon>.ui-icon,.monitor-explorer-detail-icon>.ui-icon{margin:auto!important;align-self:center!important;justify-self:center!important}

  .dashboard-v13-title-icon{background:linear-gradient(145deg,var(--vivid-blue),var(--vivid-blue2))!important;color:#fff!important;box-shadow:0 7px 16px rgba(8,119,209,.20)!important}
  .dashboard-v13-iconbox{background:linear-gradient(145deg,#0877d1,#18a5e7)!important;color:#fff!important;box-shadow:0 6px 14px rgba(8,119,209,.18)!important}
  .dashboard-v13-iconbox.doc,.document-modern-icon,.search-modern-icon{background:linear-gradient(145deg,#0877d1,#1aa8e5)!important;color:#fff!important}
  .dashboard-v13-iconbox.blue,.modern-filter-icon{background:linear-gradient(145deg,#0877d1,#36aaf0)!important;color:#fff!important}
  .dashboard-v13-iconbox.rose,.agenda-event-icon.rose,.agenda-detail-icon.rose,.modern-view-banner.tone-rose .modern-view-banner-icon,.diagnosis-search-icon,.diagnosis-focus-icon{background:linear-gradient(145deg,#dc3157,#f45b7c)!important;color:#fff!important}
  .dashboard-v13-iconbox.teal,.agenda-event-icon.teal,.agenda-detail-icon.teal,.modern-view-banner.tone-teal .modern-view-banner-icon,.doctor-modern-icon{background:linear-gradient(145deg,#008e88,#19bfa9)!important;color:#fff!important}
  .dashboard-v13-iconbox.violet,.agenda-event-icon.violet,.agenda-detail-icon.violet,.modern-view-banner.tone-violet .modern-view-banner-icon,.therapy-modern-icon{background:linear-gradient(145deg,#6546dc,#8a63f0)!important;color:#fff!important}
  .dashboard-v13-iconbox.green,.agenda-event-icon.green,.agenda-detail-icon.green,.modern-view-banner.tone-green .modern-view-banner-icon,.exemption-modern-icon,.modern-filter-icon.green{background:linear-gradient(145deg,#138f4e,#35c971)!important;color:#fff!important}
  .dashboard-v13-iconbox.red{background:linear-gradient(145deg,#d9273c,#f05b62)!important;color:#fff!important}.dashboard-v13-iconbox.warn,.agenda-event-icon.amber,.agenda-detail-icon.amber{background:linear-gradient(145deg,#e7760a,#ffad29)!important;color:#fff!important}
  .clinical-graph-icon{background:linear-gradient(145deg,#d72c49,#ef5b72)!important;color:#fff!important}.clinical-graph-detail-icon{background:linear-gradient(145deg,#0877d1,#18a5e7)!important;color:#fff!important}
  .timeline-modern-marker.blue{background:linear-gradient(145deg,#0877d1,#20a9e7)!important;color:#fff!important}.timeline-modern-marker.teal{background:linear-gradient(145deg,#008f88,#18b9a6)!important;color:#fff!important}.timeline-modern-marker.violet{background:linear-gradient(145deg,#6447dc,#8964f1)!important;color:#fff!important}.timeline-modern-marker.rose{background:linear-gradient(145deg,#dd3158,#f15a79)!important;color:#fff!important}

  .dashboard-v13-hero{background:linear-gradient(120deg,#dff7ff 0%,#e8fbf6 52%,#d9f3ff 100%)!important;border:1px solid #bfe5ef!important;box-shadow:0 12px 28px rgba(8,119,209,.08)!important}
  .dashboard-v13-panel,.card{border-color:#cfe0ec!important;box-shadow:0 12px 28px rgba(18,72,112,.07)!important}
  .btn-primary{background:linear-gradient(135deg,#0877d1,#0666bd)!important;border-color:#0666bd!important;color:#fff!important;box-shadow:0 8px 18px rgba(8,119,209,.20)!important}.btn-primary:hover{filter:saturate(1.12) brightness(.98)}
  .badge.success{background:#dff8e9!important;color:#087b42!important;border-color:#a9e5c1!important}.badge.warning{background:#fff0d9!important;color:#a75900!important;border-color:#ffd39a!important}
  .cloud-card .cloud-status-grid>div{border:1px solid #c8ddea!important;background:linear-gradient(145deg,#f8fcff,#eef8ff)!important}.cloud-card .cloud-status-grid>div:nth-child(1){border-left:4px solid var(--vivid-blue)!important}.cloud-card .cloud-status-grid>div:nth-child(2){border-left:4px solid var(--vivid-teal)!important}.cloud-card .cloud-status-grid>div:nth-child(4){border-left:4px solid var(--vivid-orange)!important}.cloud-card .cloud-status-grid>div:nth-child(5){border-left:4px solid var(--vivid-green)!important}
  .cloud-quota-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}.cloud-quota-card{border:1px solid #cae0ec;border-radius:14px;background:linear-gradient(145deg,#f8fcff,#f1fbf7);padding:11px 13px}.cloud-quota-card span,.cloud-quota-card strong{display:block}.cloud-quota-card span{font-size:10px;color:#668096}.cloud-quota-card strong{font-size:15px;color:#123d66;margin-top:3px}.cloud-quota-card.good{border-left:4px solid var(--vivid-green)}.cloud-quota-card.info{border-left:4px solid var(--vivid-blue)}.cloud-quota-card.warn{border-left:4px solid var(--vivid-orange)}
  .cloud-sync-progress.indeterminate .cloud-sync-progress-track span{width:34%!important;animation:fix23-indeterminate 1.15s ease-in-out infinite!important;background:linear-gradient(90deg,var(--vivid-blue),var(--vivid-teal))!important}@keyframes fix23-indeterminate{0%{transform:translateX(-115%)}100%{transform:translateX(315%)}}
  .cloud-sync-progress-track{overflow:hidden!important}.cloud-sync-progress-track span{background:linear-gradient(90deg,#0877d1,#1ab1d6,#19a75d)!important}

  .document-group-badge{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:4px 8px;border-radius:999px;background:#e5f4ff;color:#0765ad;font-size:10px;font-weight:800;border:1px solid #bcdcf2}
  .document-association-list{display:grid;gap:9px;max-height:420px;overflow:auto;padding-right:4px}.document-association-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #d6e4ee;border-radius:14px;padding:10px 12px;background:#fbfdff}.document-association-item.compatible{border-color:#9fd5c2;background:#f2fbf7}.document-association-item small,.document-association-item strong{display:block}.document-association-item small{color:#6f8598;margin-top:2px}.document-association-item .ui-icon{width:19px;height:19px}.document-group-card{border:1px solid #bcdcf0!important;background:linear-gradient(145deg,#f7fcff,#f1faf7)!important}.document-group-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px 0;border-top:1px solid #dfebf2}.document-group-row:first-of-type{border-top:0}.document-group-row-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#0877d1,#1ba8e6);color:white}.document-group-row-icon .ui-icon{width:17px;height:17px}

  @media(max-width:1180px){.cloud-quota-grid{grid-template-columns:1fr}.nav-item-major,.nav-group>summary{grid-template-columns:34px minmax(0,1fr) 16px!important}}
}


/* FIX24 · completamento grafico e identità membro */
@media screen {
  /* Il login resta nella palette protetta originale. */
  .security-overlay .btn-primary{background:var(--primary)!important;border-color:var(--primary-dark)!important;color:#fff!important;box-shadow:0 8px 18px rgba(15,118,110,.18)!important}
  .security-overlay .btn-primary:hover{background:var(--primary-dark)!important;filter:none!important}
  /* Nell'app il colore scelto dal membro resta l'accento operativo prioritario. */
  #appShell .btn-primary{background:var(--profile-accent,var(--primary))!important;border-color:color-mix(in srgb,var(--profile-accent,var(--primary)) 84%,#000)!important;color:#fff!important;box-shadow:0 8px 18px color-mix(in srgb,var(--profile-accent,var(--primary)) 24%,transparent)!important}
  #appShell .btn-primary:hover{background:color-mix(in srgb,var(--profile-accent,var(--primary)) 84%,#000)!important;filter:none!important}
  .profile-switcher,.dashboard-v13-hero,.diagnosis-main-card,.monitor-hero{--local-member-accent:var(--profile-accent,var(--primary))}

  /* Tutte le testate moderne usano icone vive, non pastello. */
  #viewContainer .modern-view-banner-icon,#viewContainer .modern-filter-icon,#viewContainer .search-modern-icon,#viewContainer .monitor-explorer-icon,#viewContainer .monitor-explorer-detail-icon,#viewContainer .doctor-modern-icon,#viewContainer .clinical-graph-icon,#viewContainer .clinical-graph-detail-icon,#viewContainer .diagnosis-record-icon,#viewContainer .diagnosis-search-icon,#viewContainer .diagnosis-focus-icon,#viewContainer .therapy-modern-icon,#viewContainer .exemption-modern-icon,#viewContainer .document-modern-icon,#viewContainer .visit-med-icon{
    display:grid!important;place-items:center!important;align-items:center!important;justify-items:center!important;color:#fff!important;line-height:0!important;box-shadow:0 7px 16px rgba(19,65,105,.16)!important;overflow:hidden!important
  }
  #viewContainer .modern-view-banner-icon>.ui-icon,#viewContainer .modern-filter-icon>.ui-icon,#viewContainer .search-modern-icon>.ui-icon,#viewContainer .monitor-explorer-icon>.ui-icon,#viewContainer .monitor-explorer-detail-icon>.ui-icon,#viewContainer .doctor-modern-icon>.ui-icon,#viewContainer .clinical-graph-icon>.ui-icon,#viewContainer .clinical-graph-detail-icon>.ui-icon,#viewContainer .diagnosis-record-icon>.ui-icon,#viewContainer .diagnosis-search-icon>.ui-icon,#viewContainer .diagnosis-focus-icon>.ui-icon,#viewContainer .therapy-modern-icon>.ui-icon,#viewContainer .exemption-modern-icon>.ui-icon,#viewContainer .document-modern-icon>.ui-icon,#viewContainer .visit-med-icon>.ui-icon{margin:auto!important;position:static!important;transform:none!important;stroke:#fff!important;color:#fff!important}
  #viewContainer .modern-view-banner.tone-blue .modern-view-banner-icon,#viewContainer .document-modern-icon,#viewContainer .search-modern-icon,#viewContainer .clinical-graph-detail-icon{background:linear-gradient(145deg,#0877d1,#18a7e8)!important}
  #viewContainer .modern-view-banner.tone-teal .modern-view-banner-icon,#viewContainer .doctor-modern-icon{background:linear-gradient(145deg,#008f88,#17bda8)!important}
  #viewContainer .modern-view-banner.tone-rose .modern-view-banner-icon,#viewContainer .diagnosis-record-icon,#viewContainer .diagnosis-search-icon,#viewContainer .diagnosis-focus-icon,#viewContainer .clinical-graph-icon{background:linear-gradient(145deg,#df3158,#f15478)!important}
  #viewContainer .modern-view-banner.tone-violet .modern-view-banner-icon,#viewContainer .therapy-modern-icon,#viewContainer .visit-med-icon{background:linear-gradient(145deg,#6747df,#8c62f0)!important}
  #viewContainer .modern-view-banner.tone-green .modern-view-banner-icon,#viewContainer .exemption-modern-icon{background:linear-gradient(145deg,#129250,#2fc56c)!important}
  #viewContainer .modern-view-banner.tone-amber .modern-view-banner-icon{background:linear-gradient(145deg,#e67508,#ffad2c)!important}
  #viewContainer .modern-view-banner.tone-red .modern-view-banner-icon{background:linear-gradient(145deg,#cf2638,#f25360)!important}
  #viewContainer .modern-filter-icon{background:linear-gradient(145deg,#6545dc,#8b61ee)!important}
  #viewContainer .modern-filter-icon.green{background:linear-gradient(145deg,#118f4d,#31c76c)!important}

  /* Monitoraggio: colori forti per pagina e mini-icone interne. */
  body[data-active-view="monitor-weight"] #viewContainer .monitor-explorer-icon,body[data-active-view="monitor-weight"] #viewContainer .monitor-explorer-detail-icon{background:linear-gradient(145deg,#0877d1,#21a7e8)!important}
  body[data-active-view="monitor-pressure"] #viewContainer .monitor-explorer-icon,body[data-active-view="monitor-pressure"] #viewContainer .monitor-explorer-detail-icon{background:linear-gradient(145deg,#dc3157,#f45b7c)!important}
  body[data-active-view="monitor-glucose"] #viewContainer .monitor-explorer-icon,body[data-active-view="monitor-glucose"] #viewContainer .monitor-explorer-detail-icon{background:linear-gradient(145deg,#e74a4a,#ff704f)!important}
  body[data-active-view="monitor-spo2"] #viewContainer .monitor-explorer-icon,body[data-active-view="monitor-spo2"] #viewContainer .monitor-explorer-detail-icon,body[data-active-view="monitor-graphs"] #viewContainer .monitor-explorer-icon{background:linear-gradient(145deg,#00988f,#19bfa9)!important}
  body[data-active-view="monitor-body"] #viewContainer .monitor-explorer-icon,body[data-active-view="monitor-body"] #viewContainer .monitor-explorer-detail-icon{background:linear-gradient(145deg,#6949dc,#9169f1)!important}

  /* Grafici selezionabili: anche l'icona interna è viva. */
  #viewContainer .graph-choice::before{background:linear-gradient(145deg,#dff1ff,#cbe8fb)!important;color:#0877d1!important;border:1px solid #a9d6f1!important;box-shadow:0 4px 10px rgba(8,119,209,.10)!important}
  #viewContainer .graph-choice:has(input:checked)::before{background:var(--profile-accent,var(--primary))!important;color:#fff!important;border-color:var(--profile-accent,var(--primary))!important}

  /* Pillole dei membri: colore personale pieno, mai sovrascritto dalla palette globale. */
  .member-profile-pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:5px 10px;border:1px solid var(--member-color);border-radius:999px;font-size:10.5px;font-weight:850;line-height:1.05;box-shadow:0 4px 10px color-mix(in srgb,var(--member-color) 22%,transparent);white-space:nowrap}
  .member-profile-pill.compact{padding:4px 8px;font-size:9.5px}
  .family-member-pills{display:flex;gap:5px;flex-wrap:wrap;margin-top:4px}
  .calendar-suggestion-main{display:grid;gap:6px;justify-items:start}
  .calendar-suggestion-main h3,.calendar-suggestion-main p{margin:0}
  .family-medication-event{border-left:4px solid #704fe1!important}
  .family-medication-members{display:grid;gap:10px;margin-top:12px}
  .family-medication-member{border:1px solid #d8e4ee;border-radius:13px;padding:11px 12px;background:#fbfdff}
  .family-medication-member ul{margin:9px 0 0;padding-left:18px;display:grid;gap:7px}.family-medication-member li strong,.family-medication-member li span{display:block}.family-medication-member li span{font-size:10px;color:#6d8395;margin-top:2px}

  /* Logout coerente e centrato. */
  .sidebar-logout{display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;gap:9px!important;align-items:center!important;padding:8px 7px!important}
  .sidebar-logout-icon{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#cf2638,#f25360);color:#fff;box-shadow:0 5px 12px rgba(207,38,56,.18)}
  .sidebar-logout-icon svg{width:17px;height:17px;display:block;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round;margin:auto}
}


/* FIX24 · audit finale cromatico: nessuna icona operativa resta pastello */
@media screen {
  #appShell .dashboard-v13-hero{
    background:linear-gradient(115deg,color-mix(in srgb,var(--profile-accent,var(--primary)) 18%,#fff) 0%,#fff 56%,color-mix(in srgb,var(--profile-accent,var(--primary)) 24%,#eaf7ff) 100%)!important;
    border-color:color-mix(in srgb,var(--profile-accent,var(--primary)) 38%,#cfe0ec)!important;
    box-shadow:0 12px 30px color-mix(in srgb,var(--profile-accent,var(--primary)) 13%,transparent)!important
  }
  #appShell .dashboard-v13-hero::after{background:linear-gradient(135deg,transparent,color-mix(in srgb,var(--profile-accent,var(--primary)) 24%,transparent))!important}
  #appShell .dashboard-v13-hero-mark{color:color-mix(in srgb,var(--profile-accent,var(--primary)) 88%,#274f70)!important}
  #appShell .profile-switcher{border-left-color:var(--profile-accent,var(--primary))!important}
  #appShell .nav-item.active{box-shadow:inset 3px 0 0 var(--profile-accent,var(--primary))!important;background:color-mix(in srgb,var(--profile-accent,var(--primary)) 11%,#fff)!important}

  #viewContainer .graph-choice::before{background:linear-gradient(145deg,#0877d1,#18a7e8)!important;color:#fff!important;border-color:#0877d1!important;box-shadow:0 5px 12px rgba(8,119,209,.18)!important}
  #viewContainer .graph-selection-grid .graph-choice:nth-child(6n+2)::before{background:linear-gradient(145deg,#008f88,#18bda8)!important;border-color:#008f88!important}
  #viewContainer .graph-selection-grid .graph-choice:nth-child(6n+3)::before{background:linear-gradient(145deg,#6747df,#8c62f0)!important;border-color:#6747df!important}
  #viewContainer .graph-selection-grid .graph-choice:nth-child(6n+4)::before{background:linear-gradient(145deg,#dc3157,#f45b7c)!important;border-color:#dc3157!important}
  #viewContainer .graph-selection-grid .graph-choice:nth-child(6n+5)::before{background:linear-gradient(145deg,#e67508,#ffad2c)!important;border-color:#e67508!important}
  #viewContainer .graph-selection-grid .graph-choice:nth-child(6n)::before{background:linear-gradient(145deg,#129250,#31c76d)!important;border-color:#129250!important}
  #viewContainer .graph-choice:has(input:checked)::before{background:var(--profile-accent,var(--primary))!important;border-color:var(--profile-accent,var(--primary))!important;color:#fff!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--profile-accent,var(--primary)) 14%,transparent),0 6px 14px color-mix(in srgb,var(--profile-accent,var(--primary)) 22%,transparent)!important}

  #viewContainer .backup-state-icon{background:linear-gradient(145deg,#0877d1,#18a7e8)!important;color:#fff!important;border:0!important;box-shadow:0 5px 12px rgba(8,119,209,.16)!important}
  #viewContainer .backup-state-icon.ok{background:linear-gradient(145deg,#138f4e,#35c971)!important;color:#fff!important}
  #viewContainer .empty-icon{background:linear-gradient(145deg,#6747df,#8c62f0)!important;color:#fff!important;box-shadow:0 8px 18px rgba(103,71,223,.18)!important}
  #appShell .global-search-icon{width:28px!important;height:28px!important;border-radius:9px!important;background:var(--profile-accent,var(--primary))!important;color:#fff!important;box-shadow:0 4px 10px color-mix(in srgb,var(--profile-accent,var(--primary)) 20%,transparent)!important}
  #appShell .global-search-icon svg{width:16px!important;height:16px!important;stroke:#fff!important;margin:auto!important}

  #viewContainer .monitor-explorer-chart-head .monitor-explorer-icon,#viewContainer .monitor-graph-only-head .monitor-explorer-icon{color:#fff!important}
  #viewContainer .modern-empty-state>.ui-icon{width:42px!important;height:42px!important;padding:10px!important;border-radius:13px!important;background:linear-gradient(145deg,#0877d1,#18a7e8)!important;color:#fff!important;stroke:#fff!important;box-shadow:0 7px 16px rgba(8,119,209,.16)!important}
}

/* FIX25 · SISTEMA ICONE GLOBALE UNICO
   Geometria centralizzata: nessuna pagina puo piu stirare, spostare o ridimensionare
   autonomamente i contenitori delle icone. I colori identificativi dei membri e il login
   restano fuori da questa regola. */
@media screen {
  #appShell {
    --cd-icon-blue-a:#0877d1;
    --cd-icon-blue-b:#18a7e8;
    --cd-icon-teal-a:#008f88;
    --cd-icon-teal-b:#17bda8;
    --cd-icon-violet-a:#6747df;
    --cd-icon-violet-b:#8c62f0;
    --cd-icon-rose-a:#df3158;
    --cd-icon-rose-b:#f15478;
    --cd-icon-green-a:#129250;
    --cd-icon-green-b:#2fc56c;
    --cd-icon-orange-a:#e67508;
    --cd-icon-orange-b:#ffad2c;
  }

  /* Unica geometria per tutti i box-icona dell'app. La singola pagina puo scegliere
     il tipo/colore, ma non puo piu cambiare rapporto, centratura o shrink. */
  #appShell :where(
    .nav-icon,.sidebar-logout-icon,.global-search-icon,
    .dashboard-v13-iconbox,.dashboard-v13-title-icon,
    .agenda-event-icon,.agenda-detail-icon,
    .modern-view-banner-icon,.modern-filter-icon,
    .therapy-modern-icon,.exemption-modern-icon,
    .document-modern-icon,.document-group-row-icon,
    .diagnosis-record-icon,.diagnosis-search-icon,.diagnosis-focus-icon,
    .doctor-modern-icon,.clinical-graph-icon,.clinical-graph-detail-icon,
    .timeline-modern-marker,.search-modern-icon,
    .monitor-explorer-icon,.monitor-explorer-detail-icon,
    .backup-state-icon,.visit-med-icon,.status-icon,
    .monitor-tool-head > span,.dossier-search-modern-bar > span,
    .search-modern-head > span:first-child
  ) {
    inline-size:var(--cd-icon-size,40px)!important;
    block-size:var(--cd-icon-size,40px)!important;
    min-inline-size:var(--cd-icon-size,40px)!important;
    min-block-size:var(--cd-icon-size,40px)!important;
    max-inline-size:var(--cd-icon-size,40px)!important;
    max-block-size:var(--cd-icon-size,40px)!important;
    aspect-ratio:1 / 1!important;
    flex:0 0 var(--cd-icon-size,40px)!important;
    padding:0!important;
    box-sizing:border-box!important;
    display:grid!important;
    place-items:center!important;
    align-items:center!important;
    justify-items:center!important;
    align-self:center!important;
    justify-self:center!important;
    overflow:hidden!important;
    line-height:0!important;
    border-radius:var(--cd-icon-radius,12px)!important;
  }

  #appShell :where(
    .nav-icon,.sidebar-logout-icon,.global-search-icon,
    .dashboard-v13-iconbox,.dashboard-v13-title-icon,
    .agenda-event-icon,.agenda-detail-icon,
    .modern-view-banner-icon,.modern-filter-icon,
    .therapy-modern-icon,.exemption-modern-icon,
    .document-modern-icon,.document-group-row-icon,
    .diagnosis-record-icon,.diagnosis-search-icon,.diagnosis-focus-icon,
    .doctor-modern-icon,.clinical-graph-icon,.clinical-graph-detail-icon,
    .timeline-modern-marker,.search-modern-icon,
    .monitor-explorer-icon,.monitor-explorer-detail-icon,
    .backup-state-icon,.visit-med-icon,.status-icon,
    .monitor-tool-head > span,.dossier-search-modern-bar > span,
    .search-modern-head > span:first-child
  ) > :where(.ui-icon,svg) {
    inline-size:var(--cd-glyph-size,21px)!important;
    block-size:var(--cd-glyph-size,21px)!important;
    min-inline-size:var(--cd-glyph-size,21px)!important;
    min-block-size:var(--cd-glyph-size,21px)!important;
    max-inline-size:var(--cd-glyph-size,21px)!important;
    max-block-size:var(--cd-glyph-size,21px)!important;
    margin:auto!important;
    padding:0!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
    align-self:center!important;
    justify-self:center!important;
    display:block!important;
  }

  /* Taglie canoniche. */
  #appShell .modern-view-banner-icon{--cd-icon-size:50px;--cd-glyph-size:26px;--cd-icon-radius:16px}
  #appShell .dashboard-v13-title-icon{--cd-icon-size:32px;--cd-glyph-size:18px;--cd-icon-radius:10px}
  #appShell .dashboard-v13-iconbox{--cd-icon-size:38px;--cd-glyph-size:20px;--cd-icon-radius:12px}
  #appShell .nav-icon{--cd-icon-size:32px;--cd-glyph-size:18px;--cd-icon-radius:10px}
  #appShell .sidebar-logout-icon{--cd-icon-size:30px;--cd-glyph-size:17px;--cd-icon-radius:10px}
  #appShell .global-search-icon{--cd-icon-size:28px;--cd-glyph-size:16px;--cd-icon-radius:9px}
  #appShell .document-modern-icon{--cd-icon-size:38px;--cd-glyph-size:20px;--cd-icon-radius:12px}
  #appShell .document-group-row-icon{--cd-icon-size:32px;--cd-glyph-size:17px;--cd-icon-radius:10px}
  #appShell .search-modern-icon,#appShell .search-modern-head>span:first-child{--cd-icon-size:32px;--cd-glyph-size:17px;--cd-icon-radius:10px}
  #appShell .dossier-search-modern-bar>span{--cd-icon-size:34px;--cd-glyph-size:18px;--cd-icon-radius:10px}
  #appShell .monitor-tool-head>span{--cd-icon-size:38px;--cd-glyph-size:20px;--cd-icon-radius:12px}

  /* Archivio Documenti: il box icona resta SEMPRE quadrato e centrato nella colonna.
     Annulla la vecchia regola V13 che lo stirava all'altezza dell'intera riga. */
  #appShell #viewContainer .document-row-modern > .document-modern-icon{
    inline-size:38px!important;
    block-size:38px!important;
    min-inline-size:38px!important;
    min-block-size:38px!important;
    max-inline-size:38px!important;
    max-block-size:38px!important;
    aspect-ratio:1/1!important;
    align-self:center!important;
    justify-self:center!important;
    margin:auto!important;
    padding:0!important;
    flex:0 0 38px!important;
    background:linear-gradient(145deg,var(--cd-icon-blue-a),var(--cd-icon-blue-b))!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 6px 14px rgba(8,119,209,.18)!important;
    border-radius:12px!important;
  }
  #appShell #viewContainer .document-row-modern > .document-modern-icon > .ui-icon{
    inline-size:20px!important;block-size:20px!important;min-inline-size:20px!important;min-block-size:20px!important;max-inline-size:20px!important;max-block-size:20px!important;
    margin:auto!important;stroke:#fff!important;color:#fff!important
  }

  /* Mini-icone operative che prima restavano pastello. */
  #appShell #viewContainer .monitor-tool-head>span,
  #appShell #viewContainer .dossier-search-modern-bar>span,
  #appShell #viewContainer .search-modern-head>span:first-child{
    background:linear-gradient(145deg,var(--cd-icon-blue-a),var(--cd-icon-blue-b))!important;
    color:#fff!important;
    border:0!important;
    box-shadow:0 6px 14px rgba(8,119,209,.16)!important
  }
  #appShell #viewContainer :where(.monitor-tool-head>span,.dossier-search-modern-bar>span,.search-modern-head>span:first-child)>.ui-icon{
    stroke:#fff!important;color:#fff!important
  }

  /* Grafici di laboratorio: un'unica identita cromatica per tutta la categoria.
     Nessuna rotazione di sei colori in base alla colonna e nessun cambio colore quando selezionato. */
  #appShell #viewContainer .graph-selection-grid .graph-choice::before,
  #appShell #viewContainer .graph-selection-grid .graph-choice:nth-child(n)::before,
  #appShell #viewContainer .graph-selection-grid .graph-choice:has(input:checked)::before{
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
    max-width:28px!important;
    max-height:28px!important;
    aspect-ratio:1/1!important;
    display:grid!important;
    place-items:center!important;
    align-self:center!important;
    justify-self:center!important;
    border-radius:9px!important;
    background:linear-gradient(145deg,var(--cd-icon-blue-a),var(--cd-icon-blue-b))!important;
    color:#fff!important;
    border:1px solid var(--cd-icon-blue-a)!important;
    box-shadow:0 5px 12px rgba(8,119,209,.18)!important;
  }
  #appShell #viewContainer .graph-selection-grid .graph-choice:has(input:checked)::before{
    box-shadow:0 0 0 3px rgba(8,119,209,.13),0 6px 14px rgba(8,119,209,.24)!important;
  }

  /* I colori dinamici dei membri restano sovrani solo sugli elementi di identita membro.
     Il sistema icone globale non modifica --profile-accent, --member-color o il login. */
  #appShell .member-profile-pill,
  #appShell [style*="--member-color"]{
    --cd-member-color:var(--member-color,var(--profile-accent,var(--primary)));
  }
}


/* FIX26 · SISTEMA ICONE UNIFICATO PER PAGINA/CATEGORIA
   Un'unica geometria e un'unica identita cromatica per testata + elementi interni.
   Nessuna icona legacy pastello, nessuna deformazione. Login e colori membri esclusi. */
@media screen {
  body { --cd-page-a:#0877d1; --cd-page-b:#18a7e8; --cd-page-shadow:rgba(8,119,209,.20); }
  body[data-active-view="compare"],body[data-active-view="preferences"],body[data-active-view="therapies"],body[data-active-view="monitor-body"],body[data-active-view="monitor-preferences"]{--cd-page-a:#6747df;--cd-page-b:#8c62f0;--cd-page-shadow:rgba(103,71,223,.22)}
  body[data-active-view="doctors"],body[data-active-view="prepare-visit"],body[data-active-view="monitor-home"],body[data-active-view="monitor-spo2"],body[data-active-view="monitor-graphs"]{--cd-page-a:#008f88;--cd-page-b:#17bda8;--cd-page-shadow:rgba(0,143,136,.22)}
  body[data-active-view="diagnoses"],body[data-active-view="symptom-diary"],body[data-active-view="calendar"],body[data-active-view="monitor-pressure"],body[data-active-view="monitor-heart"],body[data-active-view="monitor-glucose"]{--cd-page-a:#df3158;--cd-page-b:#f15478;--cd-page-shadow:rgba(223,49,88,.22)}
  body[data-active-view="exemptions"],body[data-active-view="vaccinations"],body[data-active-view="backup"]{--cd-page-a:#129250;--cd-page-b:#2fc56c;--cd-page-shadow:rgba(18,146,80,.22)}

  /* Unico insieme di superfici-icona dell'interfaccia operativa. */
  #appShell #viewContainer :where(
    .modern-view-banner-icon,.modern-filter-icon,.therapy-modern-icon,.exemption-modern-icon,
    .document-modern-icon,.document-group-row-icon,.diagnosis-record-icon,.diagnosis-search-icon,.diagnosis-focus-icon,
    .doctor-modern-icon,.clinical-graph-icon,.clinical-graph-detail-icon,.timeline-modern-marker,
    .search-modern-icon,.monitor-explorer-icon,.monitor-explorer-detail-icon,.backup-state-icon,.visit-med-icon,
    .agenda-event-icon,.agenda-detail-icon,.agenda-page-icon,.status-icon,
    .compare-modern-search>span,.compare-doc-card>span,.documents-search-box>span,
    .dossier-search-modern-bar>span,.search-modern-head>span:first-child,.monitor-tool-head>span
  ){
    --cd-icon-size-local:38px;
    inline-size:var(--cd-icon-size-local)!important;block-size:var(--cd-icon-size-local)!important;
    min-inline-size:var(--cd-icon-size-local)!important;min-block-size:var(--cd-icon-size-local)!important;
    max-inline-size:var(--cd-icon-size-local)!important;max-block-size:var(--cd-icon-size-local)!important;
    aspect-ratio:1/1!important;flex:0 0 var(--cd-icon-size-local)!important;
    display:grid!important;place-items:center!important;align-self:center!important;justify-self:center!important;
    padding:0!important;margin:0!important;overflow:hidden!important;line-height:0!important;box-sizing:border-box!important;
    border-radius:12px!important;border:0!important;
    background:linear-gradient(145deg,var(--cd-page-a),var(--cd-page-b))!important;
    color:#fff!important;box-shadow:0 6px 14px var(--cd-page-shadow)!important;
  }
  #appShell #viewContainer :where(
    .modern-view-banner-icon,.modern-filter-icon,.therapy-modern-icon,.exemption-modern-icon,
    .document-modern-icon,.document-group-row-icon,.diagnosis-record-icon,.diagnosis-search-icon,.diagnosis-focus-icon,
    .doctor-modern-icon,.clinical-graph-icon,.clinical-graph-detail-icon,.timeline-modern-marker,
    .search-modern-icon,.monitor-explorer-icon,.monitor-explorer-detail-icon,.backup-state-icon,.visit-med-icon,
    .agenda-event-icon,.agenda-detail-icon,.agenda-page-icon,.status-icon,
    .compare-modern-search>span,.compare-doc-card>span,.documents-search-box>span,
    .dossier-search-modern-bar>span,.search-modern-head>span:first-child,.monitor-tool-head>span
  ) :where(.ui-icon,svg),
  #appShell #viewContainer :where(
    .modern-view-banner-icon,.modern-filter-icon,.therapy-modern-icon,.exemption-modern-icon,
    .document-modern-icon,.document-group-row-icon,.diagnosis-record-icon,.diagnosis-search-icon,.diagnosis-focus-icon,
    .doctor-modern-icon,.clinical-graph-icon,.clinical-graph-detail-icon,.timeline-modern-marker,
    .search-modern-icon,.monitor-explorer-icon,.monitor-explorer-detail-icon,.backup-state-icon,.visit-med-icon,
    .agenda-event-icon,.agenda-detail-icon,.agenda-page-icon,.status-icon,
    .compare-modern-search>span,.compare-doc-card>span,.documents-search-box>span,
    .dossier-search-modern-bar>span,.search-modern-head>span:first-child,.monitor-tool-head>span
  ) > .ui-icon{
    width:20px!important;height:20px!important;min-width:20px!important;min-height:20px!important;max-width:20px!important;max-height:20px!important;
    margin:auto!important;padding:0!important;position:static!important;inset:auto!important;transform:none!important;
    display:block!important;stroke:#fff!important;color:#fff!important;fill:none!important;
  }

  /* Taglie canoniche: grande testata, media card, piccola toolbar. */
  #appShell #viewContainer .modern-view-banner-icon{--cd-icon-size-local:50px;border-radius:16px!important}
  #appShell #viewContainer .agenda-page-icon{--cd-icon-size-local:46px;border-radius:15px!important}
  #appShell #viewContainer :where(.documents-search-box>span,.dossier-search-modern-bar>span,.search-modern-head>span:first-child,.compare-doc-card>span){--cd-icon-size-local:34px;border-radius:10px!important}
  #appShell #viewContainer .search-modern-icon{--cd-icon-size-local:32px;border-radius:10px!important}

  /* Documenti: nessuna regola di riga puo trasformare il quadrato in una fascia verticale. */
  #appShell #viewContainer .document-row-modern>.document-modern-icon{
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;
    inline-size:38px!important;block-size:38px!important;aspect-ratio:1/1!important;flex:0 0 38px!important;
    align-self:center!important;justify-self:center!important;margin:auto!important
  }

  /* Agenda: icona visibile nella testata interna, senza alterare pillole/colori dei membri. */
  #appShell #viewContainer .agenda-main-title{display:flex;align-items:flex-start;gap:12px;min-width:0}
  #appShell #viewContainer .agenda-main-title>div{min-width:0}

  /* Medici: testata e card interne condividono lo stesso verde-teal di pagina. */
  body[data-active-view="doctors"] #appShell #viewContainer .modern-view-banner-icon,
  body[data-active-view="doctors"] #appShell #viewContainer .doctor-modern-icon{background:linear-gradient(145deg,var(--cd-page-a),var(--cd-page-b))!important}

  /* Grafici laboratorio: una sola categoria cromatica, mai colore per colonna/posizione. */
  #appShell #viewContainer .graph-selection-grid .graph-choice::before,
  #appShell #viewContainer .graph-selection-grid .graph-choice:nth-child(n)::before,
  #appShell #viewContainer .graph-selection-grid .graph-choice:has(input:checked)::before{
    width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px!important;max-height:28px!important;
    aspect-ratio:1/1!important;display:grid!important;place-items:center!important;border-radius:9px!important;
    background:linear-gradient(145deg,#0877d1,#18a7e8)!important;color:#fff!important;border:1px solid #0877d1!important;
    box-shadow:0 5px 12px rgba(8,119,209,.18)!important
  }
  #appShell #viewContainer .graph-selection-grid .graph-choice:has(input:checked)::before{box-shadow:0 0 0 3px rgba(8,119,209,.14),0 6px 14px rgba(8,119,209,.24)!important}

  /* Prepara visita: pillola proprietario sempre accanto a ogni richiesta/farmaco familiare. */
  #appShell #viewContainer .visit-medication-main{display:grid;gap:4px;justify-items:start;min-width:0}
  #appShell #viewContainer .visit-medication-main h3,#appShell #viewContainer .visit-medication-main p{margin:0}
  #appShell #viewContainer .visit-request-row>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}

  /* Le identita membro restano sovrane e non ereditano il colore di pagina. */
  #appShell .member-profile-pill,[style*="--member-color"]{background:var(--member-color)!important;color:var(--member-text,#fff)!important;border-color:var(--member-color)!important}
}


/* FIX33 - identita cromatica unica dei farmaci in ogni scheda */
.medication-semantic-icon{
  background:linear-gradient(145deg,#6747df,#8c62f0)!important;
  color:#fff!important;
  border-color:transparent!important;
}
.medication-semantic-icon .ui-icon{color:#fff!important;stroke:currentColor!important;}

.medication-empty-state>.ui-icon{color:#6747df!important;}
.search-modern-head>.medication-semantic-icon{display:grid;place-items:center;border-radius:10px;}


/* FIX35 - farmaci: identita cromatica viola vincolante in ogni contesto */
#appShell #viewContainer .medication-semantic-icon,
#appShell #viewContainer .agenda-event-icon.medication-semantic-icon,
#appShell #viewContainer .agenda-detail-icon.medication-semantic-icon,
#appShell #viewContainer .visit-med-icon.medication-semantic-icon,
#appShell #viewContainer .therapy-modern-icon.medication-semantic-icon,
#appShell #viewContainer .modern-filter-icon.medication-semantic-icon,
#appShell #viewContainer .dashboard-v13-iconbox.medication-semantic-icon,
#appShell #viewContainer .timeline-modern-marker.medication-semantic-icon,
#appShell #viewContainer .search-modern-icon.medication-semantic-icon,
#appShell #viewContainer .search-modern-head > .medication-semantic-icon{
  background:linear-gradient(145deg,#6747df,#8c62f0)!important;
  background-color:#6747df!important;
  color:#fff!important;
  border-color:transparent!important;
}
#appShell #viewContainer .medication-semantic-icon > .ui-icon,
#appShell #viewContainer .medication-semantic-icon > svg,
#appShell #viewContainer .medication-semantic-icon .ui-icon,
#appShell #viewContainer .medication-semantic-icon svg{
  color:#fff!important;
  stroke:#fff!important;
  fill:none!important;
}


/* PUBLIC 1.0.0 R6 · Terapie: layout coerente e stato riordino */
#therapyForm .therapy-plan-effective-placeholder{visibility:hidden;pointer-events:none;min-height:1px}
#therapyForm .therapy-lead-days-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
#therapyForm .therapy-lead-days-control>span{font-size:11px;font-weight:700;color:var(--muted);white-space:nowrap}
#therapyForm .therapy-reorder-calculation{height:100%;box-sizing:border-box}


/* 1.0.0 LICENSE R8 UI · correzione chirurgica pannello licenza Preferenze */
@media screen {
  #preferencesForm > .pref-license {
    order:5;
    grid-column:1 / -1 !important;
    height:auto !important;
    min-height:0 !important;
    padding:14px 16px !important;
  }
  .pref-license .card-title-row {
    margin-bottom:10px !important;
    align-items:flex-start !important;
    gap:14px;
  }
  .pref-license .card-title-row > div:first-child { min-width:0; }
  .pref-license .card-title-row .badge {
    flex:0 0 auto;
    min-width:82px;
    text-align:center;
  }
  .pref-license-grid {
    display:grid;
    grid-template-columns:minmax(280px,2.15fr) minmax(140px,.9fr) minmax(190px,1.2fr) minmax(145px,.85fr);
    gap:10px 12px;
    align-items:stretch;
    min-width:0;
  }
  .pref-license-grid > * { min-width:0; }
  .pref-license .form-group { margin:0 !important; min-width:0; }
  .pref-license .form-control,
  .pref-license .notice {
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }
  .pref-license .notice {
    min-height:40px;
    display:flex;
    align-items:center;
    padding:9px 11px !important;
    line-height:1.25;
    overflow-wrap:anywhere;
  }
  .pref-license-id small {
    display:block;
    margin-top:5px;
    line-height:1.3;
  }
  .pref-license-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    align-content:end;
    min-width:0;
  }
  .pref-license-actions .btn {
    width:100%;
    min-height:40px;
    margin:0 !important;
    white-space:normal;
  }
  .pref-license-warning { margin-top:10px !important; }
}
@media screen and (max-width:820px) {
  .pref-license-grid { grid-template-columns:1fr; }
  .pref-license-actions {
    grid-column:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media screen and (max-width:620px) {
  .pref-license-actions { grid-template-columns:1fr; }
}


/* 1.0.0 LICENSE R9 · semantica visiva stato licenza */
@media screen {
  .pref-license .notice.success {
    border-color:#2a8a51 !important;
    background:#e7f7ed !important;
    color:#147346 !important;
  }
  .pref-license .notice.neutral {
    border-color:#a9bac8 !important;
    background:#f4f7fa !important;
    color:#435c6d !important;
  }
}

.graph-choice:has(input:checked) strong{color:#102f49!important}.graph-choice:has(input:checked) small{color:#294a63!important}

/* webapp: lo scanner non si comanda dal browser, il tasto spiega come fare */
#scannerBtn,#calendarBookingScannerBtn,[data-action^="scanner-card-"]{opacity:.55}
.dispositivo-computer #cameraBtn,.dispositivo-computer #calendarBookingCameraBtn,.dispositivo-computer [data-action^="camera-card-"]{display:none!important}
