﻿:root{font-family:"Segoe UI",Arial,sans-serif;color:#1f2937;background:#f3f5f7}*{box-sizing:border-box}body{margin:0}.layout{min-height:100vh;display:grid;grid-template-columns:235px 1fr}aside{background:#173c67;color:#fff;padding:24px 18px;display:flex;flex-direction:column;gap:8px}.brand{font-size:25px;font-weight:700;margin-bottom:20px}.brand small{font-size:12px}.nav{border:0;background:transparent;color:white;text-align:left;padding:11px 13px;border-radius:8px;cursor:pointer}.nav.active,.nav:hover{background:#ffffff20}.note{margin-top:auto;font-size:12px;line-height:1.5;opacity:.75}main{padding:28px 32px;min-width:0}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}h1{margin:0}h2{margin-top:0}header p{margin:5px 0;color:#6b7280}#status{background:#fff;padding:8px 12px;border-radius:999px}.page{display:none}.page.active{display:block}.hidden{display:none!important}.cards{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:14px;margin-bottom:18px}.card,.panel{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000012}.card{padding:18px}.card span,.muted{color:#6b7280}.card b{font-size:30px;display:block;margin-top:5px}.panel{padding:18px;margin-bottom:18px}.toolbar,.setting-row,.form-row{display:flex;gap:10px;align-items:center;margin-bottom:14px}.toolbar input,.form-row input,.setting-row select,.modal-card input,.modal-card textarea{flex:1;padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.toolbar button,.back,.panel button,.projects-toolbar button{background:#173c67;color:#fff;border:0;border-radius:8px;padding:9px 13px;cursor:pointer}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 12px;border-bottom:1px solid #e5e7eb;text-align:left}th{background:#f8fafc;color:#475569;font-size:12px}.click{cursor:pointer}.click:hover{background:#f8fafc}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:12px}.ok{background:#dcfce7;color:#166534}.off{background:#fee2e2;color:#991b1b}.warn{background:#fff7ed}.grid,.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.item{padding:9px 0;border-bottom:1px solid #e5e7eb}.head-title{font-size:22px;font-weight:700}.head-meta{color:#6b7280;line-height:1.6;margin-top:6px}.maintenance-photo{display:flex;gap:10px;align-items:center;margin-top:8px}.maintenance-thumb{width:92px;height:68px;object-fit:cover;border-radius:7px;cursor:pointer}.photo-link{border:0!important;background:none!important;color:#173c67!important;text-decoration:underline;padding:0!important}.dashboard-alerts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.alert-card{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 3px #00000012}.alert-card span{display:block;color:#64748b}.alert-card b{font-size:30px;display:block;margin-top:6px}.alert-card small{color:#92400e}.clickable{cursor:pointer}.projects-toolbar{display:flex;justify-content:space-between;align-items:center}.view-tabs{display:flex;gap:8px;margin-bottom:14px}.view-tabs button{border:1px solid #cbd5e1;background:#fff;padding:8px 12px;border-radius:8px;cursor:pointer}.view-tabs button.active{background:#173c67;color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}.project-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #00000012;cursor:pointer}.project-card:hover{box-shadow:0 3px 10px #00000018}.project-card h3{margin:0 0 8px}.project-meta{font-size:13px;color:#64748b;line-height:1.5}.project-alert{margin-top:10px;color:#92400e;font-size:13px}.phase-row{display:grid;grid-template-columns:55px minmax(260px,1fr) 150px 150px 95px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e5e7eb}.phase-code{font-weight:700}.phase-name strong{display:block}.phase-name span{font-size:12px;color:#64748b}.phase-date{font-size:13px}.phase-status{font-size:12px}.checklist-head{display:flex;justify-content:space-between}.checklist-row{display:grid;grid-template-columns:34px 1fr 130px;gap:10px;align-items:start;padding:9px 0;border-bottom:1px solid #e5e7eb}.checklist-row.done .check-desc{text-decoration:line-through;color:#64748b}.check-desc small{display:block;color:#92400e;margin-top:3px}.gantt-wrap{overflow-x:auto}.gantt-header{display:grid;grid-template-columns:280px minmax(700px,1fr);border-bottom:1px solid #e5e7eb;padding-bottom:8px}.gantt-scale{display:flex;justify-content:space-between;font-size:12px;color:#64748b}.gantt-row{display:grid;grid-template-columns:280px minmax(700px,1fr);min-height:48px;border-bottom:1px solid #eef2f7;align-items:center}.gantt-label{padding-right:12px}.gantt-label strong{display:block}.gantt-label span{font-size:12px;color:#64748b}.gantt-track{height:26px;background:#f1f5f9;border-radius:6px;position:relative}.gantt-marker{position:absolute;top:3px;width:10px;height:20px;background:#173c67;border-radius:4px;transform:translateX(-50%);cursor:pointer}.gantt-marker.done{background:#15803d}.gantt-project-group{margin-top:18px}.gantt-project-group h3{margin-bottom:8px}.modal{display:none;position:fixed;inset:0;z-index:10000}.modal.open{display:block}.modal-backdrop{position:absolute;inset:0;background:#0008}.modal-card{position:relative;z-index:1;width:min(600px,92vw);margin:6vh auto;background:#fff;border-radius:12px;padding:22px}.modal-card label{display:flex;flex-direction:column;gap:6px;margin:12px 0;font-size:13px;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:10px}.modal-actions .secondary{background:#e5e7eb;color:#1f2937}.checkline{flex-direction:row!important;align-items:center}.checkline input{flex:0}.image-modal-card{position:relative;z-index:1;background:white;width:min(1100px,92vw);height:min(850px,90vh);margin:5vh auto;border-radius:12px;display:flex;flex-direction:column}.image-close{position:absolute;right:12px;top:8px;width:36px;height:36px}.image-title{padding:18px 55px 10px 18px}.image-body{flex:1;display:flex;align-items:center;justify-content:center;padding:18px}.image-body img{max-width:100%;max-height:100%;object-fit:contain}
.projects-toolbar-actions{display:flex;gap:12px;align-items:center}.projects-toolbar-actions label{display:flex;gap:7px;align-items:center;font-size:13px}.projects-toolbar-actions select,.project-filter select,.project-status-editor select,.panel select{padding:8px;border:1px solid #cbd5e1;border-radius:8px}.project-filter{margin-left:auto;display:flex;gap:7px;align-items:center}.project-status-editor{display:flex;gap:12px;align-items:center}.project-status-editor label{display:flex;gap:8px;align-items:center}.notification-settings label{display:flex;flex-direction:column;gap:6px;margin:10px 0}.notification-settings .checkline{flex-direction:row}.client-results{max-height:230px;overflow:auto;margin:-6px 0 12px;border-radius:8px}.client-results button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid #e5e7eb;background:#f8fafc;color:#1f2937;padding:9px;cursor:pointer}.client-results button:hover{background:#e2e8f0}.dashboard-project-link{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;border-bottom:1px solid #e5e7eb!important;border-radius:0!important;background:#fff!important;color:#1f2937!important;text-align:left;padding:11px 4px!important}.dashboard-project-link:hover{background:#f8fafc!important}.dashboard-project-link span{color:#92400e;font-size:13px}.weekly-gantt{overflow-x:auto;padding-bottom:8px}.gantt-drag-help{position:sticky;left:0;color:#475569;font-size:13px}.weekly-grid{display:grid;min-width:max-content;border-top:1px solid #cbd5e1;border-left:1px solid #cbd5e1;margin-bottom:22px}.week-corner,.week-head,.weekly-label,.week-cell{border-right:1px solid #cbd5e1;border-bottom:1px solid #cbd5e1}.week-corner,.week-head{position:sticky;top:0;background:#eaf0f6;z-index:2;font-weight:700;font-size:11px;padding:8px 5px;text-align:center}.week-corner{left:0;z-index:4;text-align:left}.weekly-label{position:sticky;left:0;z-index:1;background:#fff;display:grid;grid-template-columns:1fr 28px;gap:2px 8px;align-items:center;padding:6px 9px;min-height:42px}.weekly-label strong{font-size:12px}.weekly-label small{grid-column:1;color:#64748b}.gantt-kind{grid-row:1/3;grid-column:2;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-weight:800;text-transform:lowercase}.gantt-kind.p{background:#dbeafe;color:#1d4ed8}.gantt-kind.c{background:#dcfce7;color:#15803d}.week-cell{display:flex;align-items:center;justify-content:center;min-height:42px;background:#fff;font-size:12px;font-weight:800}.week-cell:nth-child(even){background:#f8fafc}.week-cell.marked.p{background:#dbeafe}.week-cell.marked.c{background:#dcfce7}.week-cell.marked.complete{box-shadow:inset 0 0 0 3px #14532d}.week-cell.planning-drop{transition:background .15s}.week-cell.planning-drop:hover{background:#eff6ff}.week-marker{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;color:#fff;text-transform:lowercase}.week-marker.p{background:#2563eb;cursor:grab}.week-marker.p:active{cursor:grabbing}.week-marker.c{background:#16a34a}.gantt-project-title{position:sticky;left:0;display:block;border:0;background:#173c67;color:#fff;padding:9px 13px;border-radius:8px;margin:18px 0 7px;cursor:pointer;text-align:left;font-weight:700}
@media(max-width:1100px){.grid,.admin-grid{grid-template-columns:1fr}.phase-row{grid-template-columns:45px 1fr}.phase-date,.phase-status{grid-column:2}.dashboard-alerts{grid-template-columns:1fr}.projects-toolbar{align-items:flex-start}.projects-toolbar-actions{flex-direction:column;align-items:flex-end}}
@media(max-width:900px){.layout{grid-template-columns:1fr}aside{display:flex;position:sticky;top:0;z-index:20;flex-direction:row;flex-wrap:wrap;padding:8px 12px;gap:4px}.brand,aside .note{display:none}.nav{padding:8px 10px}.cards{grid-template-columns:repeat(2,1fr)}}
.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#173c67}.login-card{width:min(420px,92vw);background:#fff;padding:30px;border-radius:14px;box-shadow:0 15px 45px #0004}.login-card label{display:flex;flex-direction:column;gap:6px;margin:15px 0}.login-card input{padding:11px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}.login-card button,.session-info button{background:#173c67;color:#fff;border:0;border-radius:8px;padding:10px 14px;cursor:pointer}.session-info{display:flex;align-items:center;gap:10px}.session-info #session-user{font-size:13px;color:#475569}
.password-field{display:flex;gap:6px}.password-field input{flex:1}.password-toggle{white-space:nowrap}.notification-center{position:absolute;right:32px;top:82px;z-index:100;width:min(620px,calc(100vw - 24px));max-height:70vh;overflow:auto;background:#fff;border-radius:12px;box-shadow:0 12px 38px #0003;padding:16px}.notification-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.notification-head>div{display:flex;gap:7px}.notification-head button{padding:6px 9px}.notification-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px;border-bottom:1px solid #e5e7eb;border-left:5px solid #64748b}.notification-item.unread{background:#f8fbff}.notification-item.read{opacity:.82}.notification-item.urgent{border-left-color:#b91c1c}.notification-item.advance{border-left-color:#d97706}.notification-item.maintenance{border-left-color:#0f766e}.notification-open{display:block;width:100%;padding:0;background:transparent!important;color:#172b46!important;text-align:left;border:0!important}.notification-open strong{display:flex;align-items:center;gap:5px}.notification-open div,.notification-open small{display:block;margin-top:4px}.notification-mark-read{align-self:center;white-space:nowrap;padding:6px 8px}.notification-read-state{align-self:center;font-size:12px;color:#64748b}.mold-legend{display:flex;gap:18px;margin:8px 0;font-size:13px}.service-badge{display:inline-block;border:1px solid #173c67;border-radius:999px;padding:3px 8px;font-weight:700}.attention-badge{font-weight:700;font-size:12px}.attention-badge.urgent{color:#991b1b}.attention-badge.advance{color:#92400e}.gantt-bar{height:26px;border-radius:5px;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;position:relative;cursor:grab;z-index:1}.gantt-bar.p{background:#2563eb}.gantt-bar.c{background:#15803d;background-image:repeating-linear-gradient(45deg,#15803d,#15803d 5px,#166534 5px,#166534 10px)}.gantt-handle{position:absolute;top:0;width:8px;height:100%;background:#fff8;border:1px solid #0005;cursor:ew-resize}.gantt-handle.left{left:0}.gantt-handle.right{right:0}.public-phases{margin-top:8px;font-size:13px}
@media(max-width:700px){.notification-center{right:12px;top:72px}.notification-head{align-items:flex-start}.notification-head>div{flex-wrap:wrap;justify-content:flex-end}.notification-item{grid-template-columns:1fr}.notification-mark-read,.notification-read-state{justify-self:start}.session-info #status{display:none}.mold-legend{flex-direction:column;gap:4px}}
.app-logo{display:block;max-width:180px;max-height:70px;object-fit:contain;margin:0 auto 12px}.brand .app-logo{max-width:150px;max-height:54px;margin:0 0 10px}.template-row{display:block;width:100%;text-align:left;background:#fff!important;color:#1f2937!important;border-bottom:1px solid #e5e7eb!important;border-radius:0!important}.logo-preview{display:block;max-width:260px;max-height:120px;object-fit:contain;margin:12px 0}.logo-row{display:grid;grid-template-columns:110px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #e5e7eb}.logo-row img{width:100px;height:65px;object-fit:contain;background:#f8fafc}
.week-cell:nth-child(even),.week-cell.week-base{background:#fff}.week-cell.week-alt{background:#f8fafc}.week-cell.bar-start{position:relative;z-index:3;overflow:visible}
.week-cell:has(.gantt-segment){position:relative;z-index:1}.gantt-segment{width:calc(100% + 1px)!important;min-width:calc(100% + 1px);border-radius:0;margin-right:-1px}.gantt-segment.first{border-radius:5px 0 0 5px}.gantt-segment.last{border-radius:0 5px 5px 0}.gantt-segment.first.last{border-radius:5px}
.date-entry{position:relative;display:flex;align-items:center;gap:6px;width:100%}.date-entry>input[data-date-text]{min-width:0;flex:1}.date-picker-button{flex:0 0 42px!important;width:42px;padding:9px 6px!important;background:#eaf0f6!important;color:#173c67!important;border:1px solid #cbd5e1!important}.date-picker-native{position:absolute!important;right:0!important;bottom:0!important;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none}
.weekly-grid{position:relative}.dependency-lines{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:visible}.dependency-link{fill:none;stroke:#111;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.daily-gantt .week-head{padding:3px 0;display:flex;min-height:34px;flex-direction:column;align-items:center;justify-content:center;line-height:.9;overflow:hidden;font-size:7px;z-index:10}.daily-gantt .week-head span{font-size:7px;color:#64748b}.daily-gantt .week-head strong{font-size:8px;margin:2px 0}.daily-gantt .week-corner{z-index:12}.daily-gantt .week-cell.week-start{border-left:2px solid #64748b}.daily-gantt .gantt-segment{font-size:7px}.daily-gantt .dependency-lines{z-index:4}.gantt-drag-date{display:none;position:absolute;z-index:20;background:#111827;color:#fff;padding:6px 9px;border-radius:6px;font-size:12px;font-weight:700;white-space:nowrap;pointer-events:none;box-shadow:0 3px 10px #0005}.gantt-drag-date.visible{display:block}
.daily-gantt .today-column{border-left:2px solid #dc2626!important}.daily-gantt .week-head.today-column{background:#fee2e2;color:#991b1b}.copy-planned-to-actual{grid-column:1/3;justify-self:start;border:1px solid #15803d;background:#ecfdf5;color:#166534;border-radius:5px;padding:1px 5px;font-size:10px;font-weight:700;cursor:pointer}.copy-planned-to-actual:hover{background:#d1fae5}.copy-planned-to-actual:disabled{opacity:.55;cursor:wait}
.weekly-label .copy-planned-to-actual{position:absolute;right:40px;top:8px;grid-column:auto;padding:2px 5px;font-size:9px}
.daily-gantt .weekly-label{z-index:8;overflow:hidden;box-shadow:1px 0 0 #cbd5e1}.daily-gantt .week-corner{z-index:12}.daily-gantt .dependency-link.c{stroke:#111;stroke-dasharray:4 2}
.terms-card{width:min(980px,96vw);max-height:94vh;overflow:auto;padding:26px 30px}.terms-card h1{overflow-wrap:anywhere}.terms-language-notice{margin:10px 0;padding:9px 11px;border-left:4px solid #b7791f;background:#fff7ed;color:#78350f}.terms-text,.terms-specific-clauses,.terms-specific-footer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.terms-text{max-height:43vh;overflow:auto;margin:16px 0;padding:18px;border:1px solid #cbd5e1;border-radius:9px;background:#fff}.terms-text:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.terms-specific-section{margin:18px 0 10px;padding:17px 18px;border:2px solid #173c67;border-radius:10px;background:#f8fafc}.terms-specific-section h2{margin:0 0 12px;font-size:17px;line-height:1.35;color:#173c67}.terms-specific-clauses{font-size:14px}.terms-specific-footer{margin-top:12px;font-size:13px;color:#475569}.terms-consent{align-items:flex-start!important;margin:16px 0!important;padding:12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}.terms-consent input{width:20px;height:20px;margin:1px 8px 0 0;flex:0 0 20px}.terms-consent input:focus-visible,.terms-card button:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.terms-card #terms-accept:disabled{cursor:not-allowed;opacity:.5}.governance-terms-form{display:grid;gap:9px}.governance-terms-form input,.governance-terms-form textarea{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:7px;font:inherit}
@media(max-width:640px){.terms-card{width:100%;max-height:100vh;min-height:100vh;border-radius:0;padding:18px 14px}.terms-card h1{font-size:24px}.terms-text{max-height:36vh;padding:13px;font-size:14px}.terms-specific-section{padding:13px}.terms-specific-section h2{font-size:15px}.terms-consent{padding:10px;font-size:14px}}
.synchronization-admin{border-top:4px solid #173c67}.synchronization-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.sync-status-grid{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;margin:16px 0}.sync-status-card{border:1px solid #dbe3ec;border-radius:10px;padding:13px;background:#f8fafc}.sync-status-card span,.sync-status-card small{display:block;color:#64748b}.sync-status-card strong{display:block;margin:5px 0;font-size:17px}.sync-actions{display:flex;gap:10px;margin:14px 0}.sync-actions button:disabled{opacity:.45;cursor:not-allowed}.sync-running{padding:10px 12px;background:#fff7ed;color:#9a3412;border-radius:8px;font-weight:700}.sync-auto-settings{display:flex;gap:12px;align-items:end;flex-wrap:wrap;padding:14px;margin:18px 0;background:#f8fafc;border-radius:10px}.sync-auto-settings h3{width:100%;margin:0}.sync-auto-settings label{display:flex;flex-direction:column;gap:5px}.sync-auto-settings .checkline{flex-direction:row}.sync-auto-settings input[type=number]{padding:8px;border:1px solid #cbd5e1;border-radius:7px;width:140px}.sync-run-detail{margin:12px 0;padding:14px;background:#f8fafc;border:1px solid #dbe3ec;border-radius:10px}.sync-entity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.sync-entity{padding:9px;background:white;border-radius:7px;border:1px solid #e2e8f0}.sync-ok{color:#166534}.sync-error{color:#991b1b}.sync-warning{color:#9a3412}.sync-history-row{cursor:pointer}.sync-history-row:hover{background:#f1f5f9}
.gespro-anomalies{margin-top:22px;padding-top:18px;border-top:1px solid #dbe3ec}.anomaly-filters{display:grid;grid-template-columns:150px minmax(180px,1fr) minmax(220px,2fr) auto;gap:10px;align-items:end;margin:14px 0}.anomaly-filters label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700;color:#475569}.anomaly-filters input,.anomaly-filters select{padding:8px;border:1px solid #cbd5e1;border-radius:7px;font:inherit}.anomaly-informativa{background:#e0f2fe;color:#075985}.anomaly-warning{background:#ffedd5;color:#9a3412}.anomaly-bloccante{background:#fee2e2;color:#991b1b}.gespro-anomalies details{min-width:230px}.gespro-anomalies pre{max-width:520px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;background:#f8fafc;padding:8px;border-radius:6px}.anomaly-resolution{margin-top:7px;font-size:12px}
@media(max-width:1000px){.sync-status-grid{grid-template-columns:1fr 1fr}.anomaly-filters{grid-template-columns:1fr 1fr}}@media(max-width:600px){.sync-status-grid{grid-template-columns:1fr}.synchronization-heading{flex-direction:column}.anomaly-filters{grid-template-columns:1fr}}

.ui-icon{display:inline-block;width:1.05em;height:1.05em;flex:0 0 auto;background:currentColor;vertical-align:-.15em;mask-position:center;mask-repeat:no-repeat;mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-size:contain}
.icon-alert{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 21h20L12 3Zm0 5 1 7h-2l1-7Zm0 10a1.2 1.2 0 1 1 0 2.4A1.2 1.2 0 0 1 12 18Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3 2 21h20L12 3Zm0 5 1 7h-2l1-7Zm0 10a1.2 1.2 0 1 1 0 2.4A1.2 1.2 0 0 1 12 18Z'/%3E%3C/svg%3E")}
.icon-check{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9.2 17.2-5-5L6 10.4l3.2 3.2L18 4.8l1.8 1.8-10.6 10.6Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9.2 17.2-5-5L6 10.4l3.2 3.2L18 4.8l1.8 1.8-10.6 10.6Z'/%3E%3C/svg%3E")}
.icon-info{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 10h2v8h-2v-8Zm0-4h2v2h-2V6Zm1-4a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 10h2v8h-2v-8Zm0-4h2v2h-2V6Zm1-4a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Z'/%3E%3C/svg%3E")}
.icon-eye{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2 12 2 12s4.5 7 10 7 10-7 10-7-4.5-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2 12 2 12s4.5 7 10 7 10-7 10-7-4.5-7-10-7Zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8Zm0-2a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z'/%3E%3C/svg%3E")}
.icon-archive{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18v5h-2v11H5V9H3V4Zm4 5v9h10V9H7Zm-2-3v1h14V6H5Zm4 5h6v2H9v-2Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 4h18v5h-2v11H5V9H3V4Zm4 5v9h10V9H7Zm-2-3v1h14V6H5Zm4 5h6v2H9v-2Z'/%3E%3C/svg%3E")}
.icon-tool{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 6.5a6 6 0 0 1-7.7 5.7L6 19.5A2.1 2.1 0 1 1 3 16.5l7.3-7.3A6 6 0 0 1 17.5 2l-3.2 3.2 2.5 2.5L20 4.5c.7.6 1 1.3 1 2Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 6.5a6 6 0 0 1-7.7 5.7L6 19.5A2.1 2.1 0 1 1 3 16.5l7.3-7.3A6 6 0 0 1 17.5 2l-3.2 3.2 2.5 2.5L20 4.5c.7.6 1 1.3 1 2Z'/%3E%3C/svg%3E")}
.icon-clock{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm1-13h-2v6l5 3 1-1.7-4-2.3V7Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16Zm1-13h-2v6l5 3 1-1.7-4-2.3V7Z'/%3E%3C/svg%3E")}
.icon-sync{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.7 6.3A8 8 0 0 0 4.3 9H2l3.5 3.5L9 9H6.4a6 6 0 0 1 9.9-1.3L17.7 6.3ZM18.5 11.5 15 15h2.6a6 6 0 0 1-9.9 1.3l-1.4 1.4A8 8 0 0 0 19.7 15H22l-3.5-3.5Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.7 6.3A8 8 0 0 0 4.3 9H2l3.5 3.5L9 9H6.4a6 6 0 0 1 9.9-1.3L17.7 6.3ZM18.5 11.5 15 15h2.6a6 6 0 0 1-9.9 1.3l-1.4 1.4A8 8 0 0 0 19.7 15H22l-3.5-3.5Z'/%3E%3C/svg%3E")}
.icon-bell{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9Zm-8 11h4a2 2 0 0 1-4 0Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 7-3 9h18c0-2-3-2-3-9Zm-8 11h4a2 2 0 0 1-4 0Z'/%3E%3C/svg%3E")}
.icon-calendar{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2Zm11 8H6v10h12V10ZM6 8h12V6H6v2Z'/%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h2v2h6V2h2v2h3v18H4V4h3V2Zm11 8H6v10h12V10ZM6 8h12V6H6v2Z'/%3E%3C/svg%3E")}
.operations-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin:18px 0}.operation-card{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;color:#172b46;border:1px solid #d7e0ea;border-left:4px solid #5b718d;border-radius:12px;padding:16px;min-height:112px;box-shadow:0 4px 16px #173c6710}.operation-card>.ui-icon{width:30px;height:30px}.operation-card span span{display:block}.operation-card small,.operation-card b{display:block;color:#64748b}.operation-card strong{display:block;font-size:26px;line-height:1.15;margin:3px 0}.operation-card.attention{border-left-color:#b45309}.operation-card.maintenance{border-left-color:#0f766e}.operation-card.warning{border-left-color:#9f1239}.operation-card.neutral{border-left-color:#2563eb}.operation-card:hover{background:#f8fafc;border-color:#9fb1c5}.operation-card:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}
.attention-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 7px;border-radius:999px;border:1px solid currentColor}.attention-badge.maintenance{color:#0f5f58;background:#ecfdf5}.mold-legend span{display:inline-flex;align-items:center;gap:5px}
.anomaly-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.section-icon{width:30px;height:30px;color:#b45309}.anomaly-filters{grid-template-columns:repeat(3,minmax(150px,1fr))}.anomaly-bulk-actions{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 14px}.anomaly-table-wrap{max-width:100%;overflow:auto}.anomaly-table{min-width:1180px}.anomaly-table th{white-space:nowrap}.anomaly-table td{vertical-align:top}.anomaly-description{min-width:250px;max-width:390px}.status-stack,.anomaly-row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.anomaly-row-actions button{white-space:nowrap;padding:6px 8px}.badge{display:inline-flex;align-items:center;gap:4px}.admin-da_verificare{background:#fff7ed;color:#9a3412}.admin-presa_visione{background:#eff6ff;color:#1d4ed8}.admin-accettata{background:#ecfdf5;color:#166534}.gespro-anomalies code{font-size:11px;overflow-wrap:anywhere}.gespro-anomalies summary{cursor:pointer;color:#173c67;font-weight:700}
@media(max-width:1100px){.operations-grid{grid-template-columns:1fr 1fr}.anomaly-filters{grid-template-columns:1fr 1fr}}
@media(max-width:650px){main{padding:18px 14px}header{flex-direction:column;gap:12px}.session-info{width:100%;flex-wrap:wrap;justify-content:flex-start}.form-row,.toolbar,.setting-row{flex-direction:column;align-items:stretch}.operations-grid{grid-template-columns:1fr}.operation-card{min-height:auto}.anomaly-filters{grid-template-columns:1fr}.anomaly-heading{align-items:center}.anomaly-description{min-width:220px}.sync-actions{flex-wrap:wrap}.anomaly-bulk-actions button{width:100%}}
.view-tabs{flex-wrap:wrap}.view-tabs>input,.view-tabs>select{min-width:0;max-width:100%}@media(max-width:650px){.view-tabs>input,.view-tabs>select,.view-tabs>.project-filter{width:100%;margin-left:0}.view-tabs>.project-filter select{flex:1}}
.language-picker{display:flex;align-items:center;gap:6px;font-size:13px}.language-picker select{padding:7px 9px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#172b46}.login-card .language-picker{flex-direction:row;justify-content:flex-end;margin:0 0 8px}.login-card .language-picker select{width:auto}.session-info .language-picker{margin:0}.session-info .language-picker span{color:#475569}@media(max-width:650px){.session-info .language-picker{order:3}.session-info .language-picker span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.login-utilities{display:flex;justify-content:flex-end}.section-actions{display:flex;align-items:center;gap:8px}.help-button,.help-inline{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;padding:7px 10px;border:1px solid #9fb1c5;border-radius:999px;background:#fff;color:#173c67;font-weight:800}.help-button:hover,.help-inline:hover{background:#eef5ff}.help-inline{width:34px;height:34px;min-width:34px;min-height:34px;padding:0}.help-dialog{display:none;position:fixed;inset:0;z-index:500}.help-dialog.open{display:block}.help-backdrop{position:absolute;inset:0;background:#0f2745b8}.help-panel{position:absolute;inset:5vh 4vw;margin:auto;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 24px 70px #07182c66;overflow:hidden}.help-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid #d7e0ea;background:#f7fafc}.help-header h1{margin:0;font-size:24px}.help-close{width:40px;height:40px;padding:0;border-radius:999px;font-size:25px;line-height:1}.help-layout{display:grid;grid-template-columns:minmax(220px,290px) minmax(0,1fr);min-height:0;flex:1}.help-index{padding:16px;border-right:1px solid #d7e0ea;background:#f8fafc;overflow:auto}.help-index input{width:100%;margin-bottom:12px}.help-topic-link{display:block;width:100%;margin:0 0 5px;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:#173c67;text-align:left;font-weight:650}.help-topic-link:hover,.help-topic-link.active{background:#dceafe;color:#0f3e78}.help-topic{padding:24px 28px;overflow:auto}.help-topic h2{margin-top:0;color:#112b4c}.help-topic p{max-width:78ch;line-height:1.6}.help-topic h2:focus{outline:none}.help-dialog button:focus-visible,.help-dialog input:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
@media(max-width:700px){.help-panel{inset:10px;max-height:none}.help-layout{grid-template-columns:1fr;grid-template-rows:minmax(130px,34vh) minmax(0,1fr)}.help-index{border-right:0;border-bottom:1px solid #d7e0ea}.help-topic{padding:18px}.help-button span{display:none}}
@media(max-width:400px){.help-panel{inset:0;border-radius:0}.help-header{padding:12px 14px}.help-header h1{font-size:20px}.help-layout{grid-template-rows:minmax(120px,32vh) minmax(0,1fr)}.help-index,.help-topic{padding:13px}.session-info .help-button{order:4}}
.admin-wide{grid-column:1/-1}.admin-grid,.admin-grid>*,.synchronization-admin{min-width:0;max-width:100%}.user-filters,.publication-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.user-filters>*{min-width:150px;flex:1}.bulk-mold-list{max-height:340px;overflow:auto;border:1px solid #cbd5e1;border-radius:8px;margin:10px 0}.bulk-mold-row{display:flex;gap:10px;padding:9px;border-bottom:1px solid #e2e8f0}.bulk-mold-row span{display:flex;flex-direction:column;min-width:0}.bulk-mold-row strong,.bulk-mold-row small{overflow-wrap:anywhere}.wide-modal{max-width:850px}.public-gantt-project{margin-bottom:22px}.public-gantt .gantt-handle{display:none}.public-gantt .gantt-bar{cursor:default}.maintenance-photo,.photo-link,.maintenance-thumb{display:none!important}@media(max-width:640px){.user-filters{display:grid;grid-template-columns:1fr}.publication-actions button{flex:1 1 45%}.admin-wide{grid-column:auto}}
.bulk-mode{display:flex;flex-wrap:wrap;gap:8px 20px;margin:8px 0 14px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px}.bulk-mode legend{font-weight:700}.bulk-mode .checkline{margin:0}.template-row-with-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;padding:0!important}.template-row-with-actions .template-row{min-width:0}.registry-delete{align-self:center;margin:8px}.danger{background:#b91c1c!important;color:#fff!important}.danger:disabled{background:#94a3b8!important;cursor:not-allowed;opacity:.7}@media(max-width:640px){.template-row-with-actions{grid-template-columns:1fr}.registry-delete{justify-self:start}.bulk-mode{display:grid}.wide-modal{width:calc(100vw - 20px);max-height:92vh;overflow:auto}.bulk-mold-list{max-height:36vh}}
.terms-acceptances-filters{display:grid;grid-template-columns:2fr repeat(3,minmax(150px,1fr));gap:10px;margin:12px 0}.terms-acceptances-filters label{display:flex;flex-direction:column;gap:5px;min-width:0}.terms-acceptances-filters input,.terms-acceptances-filters select{width:100%;min-width:0}.terms-acceptances-table-wrap{max-width:100%;overflow:auto}.terms-acceptances-table{min-width:1180px}.terms-acceptances-table th,.terms-acceptances-table td{vertical-align:top}.terms-acceptance-status{display:inline-block;border-radius:999px;padding:3px 8px;font-size:.78rem;font-weight:700;white-space:nowrap}.terms-acceptance-status.status-completa{background:#dcfce7;color:#166534}.terms-acceptance-status.status-mancante{background:#fee2e2;color:#991b1b}.terms-acceptance-status.status-versione_precedente{background:#fef3c7;color:#92400e}.terms-acceptance-audit{margin:8px 0 0;padding-left:18px;min-width:260px}.terms-acceptance-audit li{margin-bottom:7px;overflow-wrap:anywhere}
@media(max-width:900px){.terms-acceptances-filters{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.terms-acceptances-filters{grid-template-columns:1fr}.terms-acceptances-panel .section-heading{align-items:flex-start}.terms-acceptances-panel .section-actions{width:100%;display:flex;flex-wrap:wrap}.terms-acceptances-panel .section-actions button{flex:1 1 140px}.terms-acceptances-table{min-width:0}.terms-acceptances-table thead{display:none}.terms-acceptances-table,.terms-acceptances-table tbody,.terms-acceptances-table tr,.terms-acceptances-table td{display:block;width:100%}.terms-acceptances-table tr{border:1px solid #cbd5e1;border-radius:8px;margin:0 0 10px;padding:8px}.terms-acceptances-table td{border:0;padding:5px 8px 5px 44%;position:relative;min-height:30px;overflow-wrap:anywhere}.terms-acceptances-table td::before{content:attr(data-label);position:absolute;left:8px;top:5px;width:40%;font-weight:700;color:#475569}.terms-acceptances-table td[colspan]{padding:12px}.terms-acceptances-table td[colspan]::before{display:none}}
.maintenance-sheet-selector{width:min(760px,calc(100vw - 24px));max-height:90vh;overflow:auto}.maintenance-sheet-selector>label{display:flex;flex-direction:column;gap:6px;margin:10px 0}.maintenance-sheet-selector>label.checkline{flex-direction:row}.maintenance-sheet-molds{max-height:42vh;overflow:auto;border:1px solid #d7e0ea;border-radius:9px;background:#f8fafc}.maintenance-sheet-mold{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px 12px;border-bottom:1px solid #e2e8f0;background:#fff;cursor:pointer}.maintenance-sheet-mold:last-child{border-bottom:0}.maintenance-sheet-mold input{margin-top:4px}.maintenance-sheet-mold span,.maintenance-sheet-mold small{display:block}.maintenance-sheet-mold small{margin-top:3px;color:#64748b}.maintenance-print-preview{position:fixed;inset:0;z-index:450;background:#e8edf3;overflow:auto;padding:18px}.maintenance-print-actions{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:210mm;margin:0 auto 14px;padding:12px 16px;background:#fff;border-radius:10px;box-shadow:0 2px 12px #0002}.maintenance-print-actions h2{margin:0}.maintenance-print-actions>div{display:flex;gap:8px}.maintenance-print-sheet{width:210mm;min-height:297mm;margin:0 auto 18px;padding:14mm 14mm 12mm;background:#fff;color:#111;box-shadow:0 3px 18px #0003;font-family:Arial,sans-serif}.maintenance-print-header{display:grid;grid-template-columns:42mm 1fr;align-items:center;gap:8mm;margin:0 0 8mm;padding-bottom:5mm;border-bottom:2px solid #24384f}.maintenance-print-header img{display:block;max-width:40mm;max-height:22mm;object-fit:contain}.maintenance-print-header h1{margin:0 0 3mm;font-size:19pt;color:#172b46}.maintenance-print-header p{margin:0;font-size:9pt;line-height:1.5;color:#374151}.maintenance-print-mold dl{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #9ca3af;margin:0 0 6mm}.maintenance-print-mold dl>div{display:grid;grid-template-columns:40mm 1fr;border-bottom:1px solid #d1d5db;min-height:9mm}.maintenance-print-mold dl>div:nth-last-child(-n+1){border-bottom:0}.maintenance-print-mold dt,.maintenance-print-mold dd{margin:0;padding:2mm 3mm;font-size:9.5pt}.maintenance-print-mold dt{font-weight:700;background:#eef1f4}.maintenance-print-period{margin-bottom:5mm;padding:3mm 4mm;border:1px solid #9ca3af;background:#f8fafc}.maintenance-print-period h2{margin:0 0 2mm;font-size:11pt}.maintenance-print-period p{margin:0;font-size:10pt}.maintenance-print-table{width:100%;border-collapse:collapse;font-size:9pt}.maintenance-print-table th,.maintenance-print-table td{padding:2.4mm 2mm;border:1px solid #9ca3af;vertical-align:top}.maintenance-print-table th{background:#e5e7eb;color:#111}.maintenance-print-table th:first-child,.maintenance-print-table td:first-child{width:10mm;text-align:center}.maintenance-print-table th:nth-child(2),.maintenance-print-table td:nth-child(2){width:25mm;white-space:nowrap}.maintenance-print-table th:nth-child(3),.maintenance-print-table td:nth-child(3){width:37mm}.maintenance-print-empty td{text-align:center!important;padding:8mm!important;color:#4b5563}.maintenance-print-total{margin:4mm 0;font-weight:700}.maintenance-print-note{display:block!important;margin:5mm 0 0!important;padding:3mm 4mm!important;background:#f8fafc!important;color:#374151!important;border:1px solid #d1d5db!important;font-size:8.5pt;line-height:1.45}.maintenance-print-note p{margin:1mm 0 0}.maintenance-print-sheet footer{display:flex;justify-content:space-between;gap:10mm;margin-top:8mm;padding-top:3mm;border-top:1px solid #9ca3af;font-size:8pt;color:#4b5563}
@media(max-width:900px){.maintenance-print-preview{padding:10px}.maintenance-print-sheet{width:100%;min-height:0;padding:18px}.maintenance-print-actions{max-width:none}.maintenance-print-header{grid-template-columns:120px 1fr}.maintenance-print-mold dl{grid-template-columns:1fr}}
@media(max-width:640px){.maintenance-sheet-selector .form-row{flex-direction:column;align-items:stretch}.maintenance-print-actions{align-items:flex-start;flex-direction:column}.maintenance-print-actions>div{width:100%;flex-wrap:wrap}.maintenance-print-header{grid-template-columns:1fr}.maintenance-print-sheet{padding:12px}.maintenance-print-table{font-size:8pt}}
@media print{@page{size:A4 portrait;margin:12mm}body{background:#fff!important}body>*{display:none!important}#maintenance-print-preview{display:none!important}body:not(.global-maintenance-events-printing):not(.terms-printing) #maintenance-print-preview:not(.hidden){display:block!important;position:static!important;inset:auto!important;overflow:visible!important;padding:0!important;background:#fff!important}#maintenance-print-preview .maintenance-print-actions{display:none!important}#maintenance-print-document{display:block!important}.maintenance-print-sheet{display:block!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important;box-shadow:none!important;break-after:page;page-break-after:always}.maintenance-print-sheet:last-child{break-after:auto;page-break-after:auto}.maintenance-print-header{break-inside:avoid;page-break-inside:avoid}.maintenance-print-table thead{display:table-header-group}.maintenance-print-table tr{break-inside:avoid;page-break-inside:avoid}.maintenance-print-note,.maintenance-print-sheet footer{break-inside:avoid;page-break-inside:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* Intestazioni istituzionali: asset FPT/ISO caricati dall'Amministrazione GesMold. */
.institutional-logos{display:flex;align-items:center;justify-content:center;gap:12px;min-width:0}.institutional-logos .app-logo{margin:0;flex:0 1 auto;width:auto;height:auto;object-fit:contain}.iso-logo-group{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}.iso-logo-group img{display:block;max-width:150px;max-height:58px;width:auto;height:auto;object-fit:contain}.login-institutional-logos{margin:0 auto 14px}.sidebar-institutional-logos{align-items:flex-start;justify-content:flex-start;flex-direction:column;gap:7px;margin-bottom:10px}.sidebar-institutional-logos .iso-logo-group img{max-width:150px;max-height:45px}

/* Scheda manutenzione A4 verticale: corpo Arial 11 pt e dettagli multilinea. */
.maintenance-print-sheet{font-size:11pt}.maintenance-print-header{grid-template-columns:70mm 1fr;gap:6mm;margin-bottom:6mm}.maintenance-print-logos{display:flex;align-items:center;gap:5mm;min-width:0}.maintenance-print-header .maintenance-print-fpt{max-width:28mm;max-height:18mm}.maintenance-print-header .maintenance-print-iso{max-width:36mm;max-height:18mm}.maintenance-print-header h1{font-size:18pt}.maintenance-print-header p{font-size:10.5pt}.maintenance-print-mold dt,.maintenance-print-mold dd{font-size:10.5pt}.maintenance-print-section{margin:0 0 6mm}.maintenance-print-section>h2{margin:0 0 2.5mm;font-size:13pt;color:#172b46}.maintenance-print-period{margin-bottom:3mm;font-size:10.5pt}.maintenance-print-table{font-size:10.5pt;line-height:1.35;table-layout:fixed}.maintenance-print-table th,.maintenance-print-table td{padding:2.2mm 2mm;overflow-wrap:anywhere}.maintenance-program-table th:first-child,.maintenance-program-table td:first-child{width:42%;text-align:left}.maintenance-program-table th:nth-child(2),.maintenance-program-table td:nth-child(2){width:15%;white-space:normal}.maintenance-program-table th:nth-child(3),.maintenance-program-table td:nth-child(3){width:25%}.maintenance-program-table th:nth-child(4),.maintenance-program-table td:nth-child(4){width:18%}.maintenance-events-table th:first-child,.maintenance-events-table td:first-child{width:9%;text-align:center}.maintenance-events-table th:nth-child(2),.maintenance-events-table td:nth-child(2){width:17%;white-space:nowrap}.maintenance-events-table th:nth-child(3),.maintenance-events-table td:nth-child(3){width:24%;white-space:normal}.maintenance-events-table th:nth-child(4),.maintenance-events-table td:nth-child(4){width:50%}.maintenance-expected{margin-top:1.5mm;color:#334155}.maintenance-program-notes{margin-top:1mm;color:#475569}.maintenance-due{color:#9a3412}.maintenance-not-due{color:#166534}.maintenance-print-note{font-size:10pt}.maintenance-print-sheet footer{font-size:9pt}.maintenance-print-section,.maintenance-print-mold{break-inside:auto;page-break-inside:auto}

@media(max-width:900px){.sidebar-institutional-logos{display:flex;flex-direction:row;align-items:center}.sidebar-institutional-logos .app-logo{display:block!important;max-width:92px;max-height:36px}.sidebar-institutional-logos .iso-logo-group img{max-width:100px;max-height:34px}.maintenance-print-header{grid-template-columns:1fr}.maintenance-print-logos{justify-content:flex-start}}
@media(max-width:640px){.login-institutional-logos{gap:8px;flex-wrap:wrap}.login-institutional-logos .app-logo{max-width:125px;max-height:52px}.login-institutional-logos .iso-logo-group img{max-width:125px;max-height:48px}.sidebar-institutional-logos{flex-wrap:wrap}.maintenance-print-sheet{font-size:10pt}.maintenance-print-table{font-size:9.5pt}.maintenance-program-table,.maintenance-events-table{min-width:670px}.maintenance-print-section{overflow-x:auto}.maintenance-print-logos{flex-wrap:wrap}}
.maintenance-program-table th:nth-child(3),.maintenance-program-table td:nth-child(3){width:24%}.maintenance-program-table th:nth-child(4),.maintenance-program-table td:nth-child(4){width:19%}.maintenance-program-table td:nth-child(4) strong{font-size:9.5pt;overflow-wrap:normal;word-break:normal}
.view-as-customer-banner{position:sticky;top:0;z-index:120;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-28px -32px 20px;padding:12px 32px;background:#fff3cd;border-bottom:2px solid #b7791f;color:#5f370e;box-shadow:0 2px 8px #0002}.view-as-customer-banner>div{display:flex;flex-direction:column;gap:3px;min-width:0}.view-as-customer-banner span{overflow-wrap:anywhere}.view-as-customer-banner button,.view-as-customer-action{border:1px solid #7c4a03!important;background:#fff!important;color:#6b3e00!important;font-weight:700;white-space:nowrap}.view-as-customer-banner button:focus-visible,.view-as-customer-action:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
@media(max-width:900px){.view-as-customer-banner{top:49px}}
@media(max-width:650px){.view-as-customer-banner{margin:-18px -14px 16px;padding:10px 14px;align-items:flex-start;flex-direction:column}.view-as-customer-banner button{width:100%;white-space:normal}}
.maintenance-expected-result{margin:5px 0 7px;padding-left:18px;color:#334155;line-height:1.4;overflow-wrap:anywhere}.maintenance-expected-result span{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.02em}
/* Schede manutenzione approvate: Eventi verticale, Programma orizzontale. */
.maintenance-print-header .maintenance-print-iso{max-width:29.4mm!important;max-height:10.5mm!important}
.app-footer-details{margin-top:28px;padding:12px 0 2px;border-top:1px solid #dbe3ec;color:#64748b;font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.password-account{padding:9px 11px;border-left:4px solid #173c67;background:#f1f5f9;overflow-wrap:anywhere}.password-policy{margin:5px 0 12px;color:#475569;font-size:12px;line-height:1.4}
.maintenance-program-sheet{width:297mm;min-height:210mm;font-size:10pt}.maintenance-program-sheet .maintenance-print-table{font-size:8.5pt;line-height:1.2}.maintenance-program-sheet .maintenance-print-table th,.maintenance-program-sheet .maintenance-print-table td{padding:1.5mm 1.3mm}.maintenance-program-table th:nth-child(1),.maintenance-program-table td:nth-child(1){width:13%;text-align:left}.maintenance-program-table th:nth-child(2),.maintenance-program-table td:nth-child(2){width:25%}.maintenance-program-table th:nth-child(3),.maintenance-program-table td:nth-child(3){width:12%}.maintenance-program-table th:nth-child(4),.maintenance-program-table td:nth-child(4){width:10%}.maintenance-program-table th:nth-child(5),.maintenance-program-table td:nth-child(5){width:13%}.maintenance-program-table th:nth-child(6),.maintenance-program-table td:nth-child(6){width:17%}.maintenance-program-table th:nth-child(7),.maintenance-program-table td:nth-child(7){width:10%}.maintenance-events-table th:nth-child(5),.maintenance-events-table td:nth-child(5){width:25mm;text-align:center}.maintenance-check{font-size:15pt;font-weight:700;color:#166534}.maintenance-print-sheet{display:flex;flex-direction:column}.maintenance-print-sheet footer{margin-top:auto}
@media print{@page maintenanceEvents{size:A4 portrait;margin:12mm}@page maintenanceProgram{size:A4 landscape;margin:10mm}.maintenance-events-sheet{page:maintenanceEvents}.maintenance-program-sheet{page:maintenanceProgram}}

/* Footer istituzionale Web: ultimo elemento della sidebar, mai sovrapposto al menu. */
aside{min-height:100vh;max-height:100vh;position:sticky;top:0;overflow-y:auto}
aside .app-footer-details{margin-top:auto;padding:14px 4px 2px;border-top:1px solid #ffffff38;color:#e5edf7;font-size:11px;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap;flex:0 0 auto}
@media(max-width:900px){aside{min-height:auto;max-height:none;overflow:visible}aside .app-footer-details{order:99;flex:1 0 100%;width:100%;margin-top:4px;padding:7px 10px 2px;border-top-color:#ffffff38;font-size:10.5px;line-height:1.35}}
@media(max-width:390px){aside .app-footer-details{padding-left:6px;padding-right:6px;font-size:10px}}

/* Registri operativi Rappresentanti / Stampisti */
.external-registry-detail{margin-top:1rem;padding:1rem;border:1px solid #cbd8e6;border-radius:10px;background:#f8fbff}
.external-registry-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.external-registry-detail h3,.external-registry-detail p{margin:.15rem 0 .45rem}
.external-registry-detail ul{margin:.5rem 0;padding-left:1.25rem}
.external-registry-detail li{margin:.35rem 0}
.external-registry-table th,.external-registry-table td{vertical-align:top}
.link-button{border:0;background:transparent;color:#164b7a;padding:0;text-decoration:underline;text-align:left}
@media(max-width:640px){.external-registry-detail-head{display:block}.external-registry-detail-head>button{margin-top:.5rem}.external-registry .section-actions{display:grid;grid-template-columns:1fr}.external-registry-table{min-width:760px}}
.terms-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media(max-width:390px){.terms-actions{align-items:stretch}.terms-actions button{width:100%}}
@media print{
 @page{size:A4 portrait;margin:16mm 14mm 18mm}
 html{background:#fff!important}
 body.terms-printing{background:#fff!important;color:#000!important;font-family:Arial,Helvetica,sans-serif!important;font-size:11pt!important}
 body.terms-printing>*{display:none!important}
 body.terms-printing #maintenance-print-preview{display:none!important}
 body.terms-printing #terms-screen{display:block!important;position:static!important;width:auto!important;min-height:0!important;padding:0!important;background:#fff!important}
 body.terms-printing #terms-screen .terms-card{display:block!important;width:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}
 body.terms-printing #terms-screen h1{margin:0 0 4mm!important;font-size:20pt!important;line-height:1.2!important;break-after:avoid-page;page-break-after:avoid}
 body.terms-printing #terms-version{margin:0 0 5mm!important;color:#333!important}
 body.terms-printing .terms-language-notice{border-color:#555!important;background:#fff!important;color:#000!important}
 body.terms-printing .terms-text{max-height:none!important;overflow:visible!important;margin:5mm 0!important;padding:0!important;border:0!important;border-radius:0!important;background:#fff!important;color:#000!important;font-size:10.5pt!important;line-height:1.45!important;white-space:pre-wrap!important}
 body.terms-printing .terms-specific-section{margin:7mm 0 0!important;padding:5mm!important;border:1.2pt solid #000!important;border-radius:0!important;background:#fff!important;color:#000!important;break-inside:auto;page-break-inside:auto}
 body.terms-printing .terms-specific-section h2{color:#000!important;font-size:13pt!important;break-after:avoid-page;page-break-after:avoid}
 body.terms-printing .terms-specific-clauses,body.terms-printing .terms-specific-footer{color:#000!important;font-size:10pt!important;line-height:1.45!important}
 body.terms-printing .terms-consent,body.terms-printing .terms-actions,body.terms-printing #terms-error{display:none!important}
}

/* Gestione amministrativa indipendente della visibilità portale degli stampi. */
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.mold-portal-bulk{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px}.mold-portal-bulk-actions{display:flex;flex-wrap:wrap;gap:8px}.mold-state-badge,.portal-visibility-toggle{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700;white-space:nowrap}.mold-state-badge.current{background:#dcfce7;color:#166534}.mold-state-badge.obsolete{background:#f1f5f9;color:#475569}.portal-visibility-toggle.visible{background:#dcfce7!important;color:#166534!important;border:1px solid #86efac!important}.portal-visibility-toggle.hidden-state{background:#fee2e2!important;color:#991b1b!important;border:1px solid #fca5a5!important}.molds-table td{vertical-align:middle}.molds-table input[type=checkbox]{width:18px;height:18px}.toolbar>label{display:flex;align-items:center;gap:6px}.toolbar>label:has(select){flex-direction:column;align-items:flex-start}.toolbar>label select{min-width:145px}
.mold-visibility-guide{margin:0 0 12px;padding:11px 14px;border-left:4px solid #b91c1c;background:#fff7ed;color:#7c2d12;border-radius:8px;font-size:.9rem;line-height:1.45}.mold-service-status{display:block;font-weight:700;font-size:.8rem}.mold-service-status+small{display:block;margin-top:3px;color:#64748b;white-space:nowrap}.status-attivo{color:#166534}.status-disabilitato,.status-scaduto{color:#991b1b}.status-non_iniziato{color:#92400e}.status-nessun_servizio{color:#64748b}.service-none{background:#f1f5f9!important;color:#475569!important}.admin-help-launch{display:flex;justify-content:space-between;align-items:center;gap:18px}.admin-help-launch h2{margin:0}.admin-help-launch p{margin:.35rem 0 0}
@media(max-width:640px){.mold-portal-bulk,.admin-help-launch{align-items:stretch;flex-direction:column}.mold-visibility-guide{font-size:.84rem}.molds-table{min-width:980px}}
@media(max-width:900px){.mold-portal-bulk{align-items:flex-start;flex-direction:column}.molds-table{min-width:1050px}}
@media(max-width:640px){.mold-portal-bulk-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.mold-portal-bulk-actions button{white-space:normal}.toolbar>label select{width:100%}}
.client-shot-policies{display:grid;gap:.55rem;max-height:28rem;overflow:auto;padding-right:.25rem}
.representative-client-editor{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.representative-client-editor>input[type="search"]{width:100%;margin:.4rem 0}
.representative-governance-note{margin:.5rem 0 .8rem;padding:.7rem .8rem;border-left:4px solid #245b91;border-radius:.35rem;background:#edf5fc;color:#243b53;font-size:.92rem;line-height:1.45;overflow-wrap:anywhere}
.representative-client-options{display:grid;gap:.35rem;max-height:20rem;overflow:auto;padding:.25rem;border:1px solid var(--line);border-radius:.55rem}
.representative-client-option{display:flex;align-items:flex-start;gap:.55rem;padding:.5rem;border-radius:.4rem;background:var(--surface,#fff)}
.representative-client-option:hover{background:var(--surface-soft,#f4f7fb)}
.representative-client-option span{display:grid;min-width:0}.representative-client-option small{color:var(--muted);overflow-wrap:anywhere}
.admin-collapsible{padding-top:.8rem}.admin-collapse-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem;border-bottom:1px solid var(--line);padding-bottom:.55rem}
.admin-collapse-title{margin:0;font-size:1.15rem}.admin-collapse-toggle{flex:0 0 auto;background:transparent;color:var(--primary,#173f70);border:1px solid currentColor;padding:.35rem .7rem}
.admin-collapse-toggle:focus-visible{outline:3px solid #2563eb;outline-offset:2px}.admin-original-section-title{display:none!important}.admin-collapse-body[hidden]{display:none!important}
.admin-collapsible.is-collapsed .admin-collapse-header{margin-bottom:0;border-bottom:0}
@media(max-width:640px){.admin-collapse-header{align-items:flex-start}.admin-collapse-toggle{white-space:nowrap}.representative-client-option{padding:.45rem}.representative-client-editor .section-actions{align-items:stretch;flex-direction:column}}
.client-shot-policy-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(10rem,auto) auto;gap:.55rem;align-items:center;padding:.55rem;border:1px solid var(--line);border-radius:.5rem}
.client-shot-policy-row span{min-width:0}.client-shot-policy-row strong,.client-shot-policy-row small{display:block}.client-shot-policy-row small{color:var(--muted);margin-top:.15rem}
@media(max-width:640px){.client-shot-policy-row{grid-template-columns:1fr}.client-shot-policy-row button{width:100%}}

/* Finestre amministrative con contenuti estesi. */
.modal-card{max-height:calc(100dvh - 2rem);margin:1rem auto;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.modal-card>.modal-actions,.modal-card>form>.modal-actions{position:sticky;bottom:-22px;z-index:5;margin:14px -2px -22px;padding:12px 2px 22px;background:linear-gradient(to bottom,rgba(255,255,255,.94),#fff 30%);border-top:1px solid #e5e7eb}
.bulk-client-picker input[type="search"]{width:100%}
.bulk-client-picker select{width:100%;padding:10px;border:1px solid #cbd5e1;border-radius:8px;font:inherit}
@media(max-width:640px){.modal-card{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);margin:8px auto;padding:16px}.modal-card>.modal-actions,.modal-card>form>.modal-actions{bottom:-16px;margin-right:0;margin-bottom:-16px;margin-left:0;padding-bottom:16px;flex-wrap:wrap}.modal-actions button{flex:1 1 auto}}

/* Programma manutenzioni: tabella completa e consultabile per tutti i ruoli autorizzati. */
.maintenance-frequency-help{margin:.35rem 0 1rem;padding:.7rem .85rem;border-left:4px solid #245b91;border-radius:.35rem;background:#edf5fc;color:#243b53;font-size:.9rem;line-height:1.45}
.maintenance-program-table-wrap{max-width:100%;border:1px solid #dbe3ec;border-radius:.55rem}
.maintenance-program-view{min-width:980px;margin:0}
.maintenance-program-view th{white-space:normal;vertical-align:bottom}
.maintenance-program-view td{vertical-align:top;line-height:1.4;overflow-wrap:anywhere}
.maintenance-program-view .maintenance-program-activity{min-width:15rem}
.maintenance-program-view .maintenance-result-label{display:block;color:#475569;font-size:.78rem;font-weight:700}
.maintenance-program-view .maintenance-program-frequency{text-align:right;white-space:nowrap}
.maintenance-program-select{width:2.5rem;text-align:center}.maintenance-program-select input{width:18px;height:18px}
.maintenance-program-admin{min-width:8.5rem}.maintenance-program-admin button{display:block;margin-bottom:.35rem}.maintenance-program-admin small{display:block;color:#64748b}
.maintenance-publication-admin table{min-width:980px}.maintenance-publication-admin td{vertical-align:top}.maintenance-publication-admin .publication-actions{margin-bottom:.75rem}.maintenance-publication-filters{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(10rem,14rem) auto;gap:.6rem;align-items:end;margin:.8rem 0}.maintenance-publication-pager{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.75rem}@media(max-width:640px){.maintenance-publication-filters{grid-template-columns:1fr}.maintenance-publication-pager{justify-content:space-between}}
@media(max-width:640px){.maintenance-frequency-help{font-size:.84rem}.maintenance-program-view{min-width:900px}.maintenance-program-view th,.maintenance-program-view td{padding:8px 9px}}

/* Storico manutenzioni: evento sempre conservato, dati Programma aggiunti solo quando ID_PROGRAMMA è risolto. */
.maintenance-history-table-wrap{max-width:100%;border:1px solid #dbe3ec;border-radius:.55rem}
.maintenance-history-view{min-width:1040px;margin:0}
.maintenance-history-view th{white-space:normal;vertical-align:bottom}
.maintenance-history-view td{vertical-align:top;line-height:1.4;overflow-wrap:anywhere}
.maintenance-history-date{white-space:nowrap}
.maintenance-history-activity{min-width:16rem}
.maintenance-history-select{width:2.5rem;text-align:center}.maintenance-history-select input{width:18px;height:18px}
.maintenance-history-admin{min-width:7rem}
@media(max-width:640px){.maintenance-history-view{min-width:960px}.maintenance-history-view th,.maintenance-history-view td{padding:8px 9px}}

/* La Scheda eventi usa A4 orizzontale per mantenere leggibili i nuovi dati del Programma. */
.maintenance-events-sheet{width:297mm;min-height:210mm;font-size:9.5pt}
.maintenance-events-sheet .maintenance-print-table{font-size:8.2pt;line-height:1.2}
.maintenance-events-sheet .maintenance-print-table th,.maintenance-events-sheet .maintenance-print-table td{padding:1.4mm 1.2mm}
.maintenance-events-sheet .maintenance-events-table th:nth-child(1),.maintenance-events-sheet .maintenance-events-table td:nth-child(1){width:4%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(2),.maintenance-events-sheet .maintenance-events-table td:nth-child(2){width:10%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(3),.maintenance-events-sheet .maintenance-events-table td:nth-child(3){width:11%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(4),.maintenance-events-sheet .maintenance-events-table td:nth-child(4){width:20%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(5),.maintenance-events-sheet .maintenance-events-table td:nth-child(5){width:8%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(6),.maintenance-events-sheet .maintenance-events-table td:nth-child(6){width:10%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(7),.maintenance-events-sheet .maintenance-events-table td:nth-child(7){width:11%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(8),.maintenance-events-sheet .maintenance-events-table td:nth-child(8){width:20%}
.maintenance-events-sheet .maintenance-events-table th:nth-child(9),.maintenance-events-sheet .maintenance-events-table td:nth-child(9){width:6%;text-align:center}
@media print{@page maintenanceEvents{size:A4 landscape;margin:10mm}}
.panel .help-inline:hover,.panel .help-inline:focus-visible{background:#eef5ff;color:#173c67}

/* Rev.17: consultazione globale server-side degli eventi manutentivi. */
.maintenance-events-filters{display:grid;grid-template-columns:repeat(4,minmax(12rem,1fr));gap:.75rem;margin:.9rem 0}.maintenance-events-filters label{display:flex;flex-direction:column;gap:.3rem;min-width:0}.maintenance-events-filters input[type=search]{background:#fff;border:1px solid #94a3b8;min-height:2.65rem;padding:.55rem .7rem}.maintenance-events-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.65rem}.maintenance-events-table-wrap{max-width:100%;overflow-x:auto;overflow-y:visible}.maintenance-events-global .maintenance-events-table{width:1830px;min-width:1830px;table-layout:fixed}.maintenance-events-global th,.maintenance-events-global td{vertical-align:top;overflow-wrap:break-word;word-break:normal;hyphens:none}.maintenance-events-global td small{display:block;color:#64748b}.maintenance-events-global .maintenance-events-col-code{width:100px}.maintenance-events-global .maintenance-events-col-description{width:300px}.maintenance-events-global .maintenance-events-col-client{width:220px}.maintenance-events-global .maintenance-events-col-date{width:120px;white-space:nowrap}.maintenance-events-global .maintenance-events-col-event{width:380px}.maintenance-events-global .maintenance-events-col-batch{width:120px;white-space:nowrap}.maintenance-events-global .maintenance-events-col-category{width:130px}.maintenance-events-global .maintenance-events-col-frequency{width:130px}.maintenance-events-global .maintenance-events-col-result{width:220px}.maintenance-events-global .maintenance-events-col-state{width:110px}.maintenance-events-pagination{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:.8rem}.maintenance-events-print-document{display:none}.global-maintenance-events-print{font-size:10pt;line-height:1.15;color:#111}.global-maintenance-events-print .maintenance-print-header{grid-template-columns:62mm 1fr;gap:4mm;margin-bottom:4mm}.global-maintenance-events-print .maintenance-print-mold{display:none}.global-maintenance-events-print table{width:100%;table-layout:fixed;border-collapse:collapse}.global-maintenance-events-print col.maintenance-events-col-code{width:6%}.global-maintenance-events-print col.maintenance-events-col-description{width:14%}.global-maintenance-events-print col.maintenance-events-col-client{width:11%}.global-maintenance-events-print col.maintenance-events-col-date{width:8%}.global-maintenance-events-print col.maintenance-events-col-event{width:25%}.global-maintenance-events-print col.maintenance-events-col-batch{width:8%}.global-maintenance-events-print col.maintenance-events-col-category{width:7%}.global-maintenance-events-print col.maintenance-events-col-frequency{width:7%}.global-maintenance-events-print col.maintenance-events-col-result{width:8%}.global-maintenance-events-print col.maintenance-events-col-state{width:6%}.global-maintenance-events-print th,.global-maintenance-events-print td{padding:1.1mm;border:1px solid #cbd5e1;vertical-align:top;overflow-wrap:break-word;word-break:normal;hyphens:none}.global-maintenance-events-print footer{display:flex;justify-content:space-between;margin-top:4mm;font-size:8pt}
.maintenance-program-sheet .maintenance-program-table th:nth-child(1),.maintenance-program-sheet .maintenance-program-table td:nth-child(1){width:10%}.maintenance-program-sheet .maintenance-program-table th:nth-child(2),.maintenance-program-sheet .maintenance-program-table td:nth-child(2){width:20%}.maintenance-program-sheet .maintenance-program-table th:nth-child(3),.maintenance-program-sheet .maintenance-program-table td:nth-child(3){width:10%}.maintenance-program-sheet .maintenance-program-table th:nth-child(4),.maintenance-program-sheet .maintenance-program-table td:nth-child(4){width:9%}.maintenance-program-sheet .maintenance-program-table th:nth-child(5),.maintenance-program-sheet .maintenance-program-table td:nth-child(5){width:11%}.maintenance-program-sheet .maintenance-program-table th:nth-child(6),.maintenance-program-sheet .maintenance-program-table td:nth-child(6){width:18%}.maintenance-program-sheet .maintenance-program-table th:nth-child(7),.maintenance-program-sheet .maintenance-program-table td:nth-child(7){width:14%}.maintenance-program-sheet .maintenance-program-table th:nth-child(8),.maintenance-program-sheet .maintenance-program-table td:nth-child(8){width:8%}
@media(max-width:1200px){.maintenance-events-filters{grid-template-columns:repeat(3,minmax(11rem,1fr))}}@media(max-width:900px){.maintenance-events-filters{grid-template-columns:repeat(2,minmax(10rem,1fr))}}@media(max-width:640px){.maintenance-events-filters{grid-template-columns:1fr}.maintenance-events-actions button{flex:1 1 100%}.maintenance-events-pagination{justify-content:space-between}}
@media print{@page globalMaintenanceEvents{size:297mm 210mm;margin:8mm}body.global-maintenance-events-printing{page:globalMaintenanceEvents}body.global-maintenance-events-printing>*:not(.maintenance-events-print-document){display:none!important}body.global-maintenance-events-printing .maintenance-events-print-document{display:block!important;page:globalMaintenanceEvents}body.global-maintenance-events-printing .global-maintenance-events-print{page:globalMaintenanceEvents;width:281mm;max-width:281mm}body.global-maintenance-events-printing .global-maintenance-events-print thead{display:table-header-group}body.global-maintenance-events-printing .global-maintenance-events-print tr{break-inside:avoid;page-break-inside:avoid}}

/* Rev.17 UI4: separazione colonne Admin e scorrimento orizzontale sempre accessibile. */
.maintenance-events-scroll-top{max-width:100%;height:18px;overflow-x:auto;overflow-y:hidden;margin:.2rem 0 .35rem}.maintenance-events-scroll-top>div{height:1px}.maintenance-events-global th,.maintenance-events-global td{white-space:normal;overflow:hidden;overflow-wrap:anywhere}.maintenance-events-global .maintenance-events-col-description{width:320px}.maintenance-events-global .maintenance-events-col-client{width:240px}.maintenance-events-global .maintenance-events-col-event{width:350px}.maintenance-events-global .maintenance-events-col-batch{width:110px}.maintenance-events-global .maintenance-events-col-category{width:125px}.maintenance-events-global .maintenance-events-col-frequency{width:125px}.maintenance-events-global .maintenance-events-col-result{width:230px}
.global-maintenance-events-print{line-height:1.1}.global-maintenance-events-print .maintenance-print-table th,.global-maintenance-events-print .maintenance-print-table td{width:auto!important;padding:.8mm;white-space:normal!important;overflow:hidden;overflow-wrap:anywhere}.global-maintenance-events-print .maintenance-print-table th:nth-child(2),.global-maintenance-events-print .maintenance-print-table td:nth-child(2){white-space:normal!important}
@media print{body.global-maintenance-events-printing .maintenance-events-print-document{width:auto!important;max-width:none!important}body.global-maintenance-events-printing .global-maintenance-events-print{width:100%!important;max-width:100%!important}}

/* Keep Planning cards separated without changing their existing appearance. */
#toolmaker-plannings-list,#mold-plannings-list{display:flex;flex-direction:column;gap:10px;min-width:0}
#toolmaker-plannings-list>.planning-list-row,#mold-plannings-list>.planning-list-row{margin-block:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* RC2 corrective test: independent FPT/customer codes, including filtered prints. */
.tool-code-stack{display:inline-flex;flex-direction:column;gap:.2rem;vertical-align:top;max-width:100%}.tool-code-stack small{display:block;white-space:normal;overflow-wrap:anywhere}
.tool-fpt-code,.tool-customer-code{min-width:6.5rem;max-width:12rem;white-space:normal;overflow-wrap:anywhere}.mold-customer-code{margin:.25rem 0 .55rem;overflow-wrap:anywhere}
.molds-table{width:100%;min-width:740px;table-layout:auto}.molds-table th,.molds-table td{white-space:normal;overflow-wrap:anywhere}.molds-table .tool-customer-code{width:11rem}.molds-table .tool-fpt-code{width:8rem}
.maintenance-events-global .maintenance-events-table{width:100%;min-width:1705px}.maintenance-events-global .maintenance-events-table:has(th.maintenance-events-client-column:not(.hidden)){min-width:1945px}.maintenance-events-global .maintenance-events-table:has(th.maintenance-events-col-state:not(.hidden)){min-width:2055px}
.maintenance-events-global .maintenance-events-col-code{width:110px}.maintenance-events-global .maintenance-events-col-customer-code{width:150px}.maintenance-events-global .maintenance-events-col-date{width:110px}.maintenance-events-global .maintenance-events-col-batch{width:100px}.maintenance-events-global .maintenance-events-col-category{width:120px}.maintenance-events-global .maintenance-events-col-frequency{width:115px}
.global-maintenance-events-print col.maintenance-events-col-code{width:5%}.global-maintenance-events-print col.maintenance-events-col-customer-code{width:8%}.global-maintenance-events-print col.maintenance-events-col-description{width:14%}.global-maintenance-events-print col.maintenance-events-col-client{width:10%}.global-maintenance-events-print col.maintenance-events-col-date{width:8%}.global-maintenance-events-print col.maintenance-events-col-event{width:19%}.global-maintenance-events-print col.maintenance-events-col-batch{width:6%}.global-maintenance-events-print col.maintenance-events-col-category{width:7%}.global-maintenance-events-print col.maintenance-events-col-frequency{width:7%}.global-maintenance-events-print col.maintenance-events-col-result{width:10%}.global-maintenance-events-print col.maintenance-events-col-state{width:6%}
@media print{.molds-table{min-width:0}.molds-table .tool-fpt-code,.molds-table .tool-customer-code{min-width:0}.global-maintenance-events-print .maintenance-print-table{font-size:10pt}.mold-customer-code{break-inside:avoid}}
/* RC6 isolated editor and dedicated A4 terms page. Existing maintenance page names retained. */
#terms-admin-preview{width:min(900px,94vw);max-height:92vh;overflow:auto;border:1px solid #ccc;padding:24px;border-radius:8px}#terms-admin-preview::backdrop{background:#0008}.terms-preview-actions{display:flex;gap:12px;justify-content:flex-end;position:sticky;top:0;background:white;padding:8px}#terms-admin-print>div,#terms-publication-summary{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}#terms-publication{padding:20px;border:1px solid #ccc;margin:16px 0}#terms-publication label{display:block;margin:12px 0}#terms-admin-effective{min-width:330px}.terms-revision-row{padding:12px 0;border-bottom:1px solid #ddd}
@media print{
 @page adminTerms{size:A4 portrait;margin:16mm 14mm 18mm}
 body.admin-terms-printing{page:adminTerms}
 body.admin-terms-printing>*{display:none!important}
 body.admin-terms-printing #terms-admin-preview{display:block!important;position:static!important;inset:auto!important;width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;border:0!important;margin:0!important;padding:0!important;page:adminTerms}
 body.admin-terms-printing #terms-admin-preview::backdrop{display:none!important}
 body.admin-terms-printing .terms-preview-actions{display:none!important}
 #terms-admin-print{page:adminTerms;font:10.5pt/1.45 Arial, sans-serif;color:#000}
 #terms-admin-print h1,#terms-admin-print h2{break-after:avoid-page}
 #terms-admin-print>div{white-space:pre-wrap;overflow-wrap:anywhere}
}

/* Direct-sync controls remain legible at narrow widths. */
#direct-sync-panel .direct-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0} #direct-sync-panel .direct-controls label{display:flex;gap:6px;align-items:center} #direct-sync-panel .direct-controls input:not([type=checkbox]){max-width:210px} #direct-review p{overflow-wrap:anywhere} #direct-review label{margin:10px 0} #direct-feedback{margin:12px 0;font-weight:600}

.demo-mode-label{color:#64748b;font-size:.78rem;font-weight:400;white-space:nowrap}
.demo-mode-label[hidden]{display:none!important}
@media print{#demo-mode-label{display:none!important}}

/* R02: only attention indicators, not generic urgent/advance states. */
.attention-badge.attention-preavviso,.mold-legend .attention-preavviso{background:#dcfce7;color:#14532d!important;padding:3px 6px;border-radius:4px}.attention-badge.attention-urgent,.mold-legend .attention-urgent{background:#fde047;color:#422006!important;padding:3px 6px;border-radius:4px}.attention-badge.attention-manutenzione,.mold-legend .attention-manutenzione{background:#fee2e2;color:#991b1b!important;padding:3px 6px;border-radius:4px}
@media print{.attention-preavviso,.attention-urgent,.attention-manutenzione{print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* Same three attention categories in the notification center; no generic urgent override. */
.notification-item.advance{border-left-color:#15803d}.notification-item.urgent{border-left-color:#eab308}.notification-item.maintenance{border-left-color:#b91c1c}

.planning-attention{position:relative;display:inline-block}.planning-attention summary{cursor:pointer;max-width:24rem;white-space:normal}.planning-attention summary:focus-visible{outline:3px solid #1769aa;outline-offset:3px}.planning-attention-content{display:none;position:absolute;z-index:30;min-width:22rem;max-width:36rem;background:white;color:#162c40;border:1px solid #698399;padding:.7rem;box-shadow:0 3px 12px #0003}.planning-attention[open] .planning-attention-content,.planning-attention:hover .planning-attention-content,.planning-attention:focus-within .planning-attention-content{display:block}.planning-attention-content li{margin:.35rem 0;white-space:normal}
#r03-preview{position:fixed;inset:0;z-index:120;background:#eee;overflow:auto;padding:20px}.r03-report{background:white;color:#142738;max-width:1100px;margin:20px auto;padding:24px}.r03-table{width:100%;border-collapse:collapse}.r03-table th,.r03-table td{padding:8px;border:1px solid #ccc;overflow-wrap:anywhere;vertical-align:top}.r03-report dt{font-weight:bold}.r03-report dd{margin-bottom:6px;overflow-wrap:anywhere}.r03-report-section h2{break-after:avoid}.r03-table thead{display:table-header-group}@media print{body.r03-printing>*{display:none!important}body.r03-printing #app-layout{display:block!important}body.r03-printing #app-layout>*{display:none!important}body.r03-printing #app-layout main{display:block!important}body.r03-printing main>*{display:none!important}body.r03-printing #r03-preview{display:block!important;position:static;padding:0;overflow:visible;background:white}body.r03-printing .r03-print-controls{display:none!important}.r03-report{padding:0;margin:0;max-width:none}.r03-table tr{break-inside:avoid}.r03-report footer{margin-top:1rem}}
.r03-report .r03-table{table-layout:fixed}.r03-actions th:first-child{width:55%}.r03-actions th:not(:first-child){width:15%}.r03-report dl{display:grid;grid-template-columns:35% 65%;gap:4px 10px}.r03-report dd{margin:0}.r03-report dt,.r03-report dd{break-inside:avoid}.r03-actions th{word-break:normal;overflow-wrap:normal}.planning-attention:hover::details-content,.planning-attention:focus-within::details-content{content-visibility:visible}

.r04-checklist{list-style:none;padding:0}.r04-checklist li{padding:6px 0;break-inside:avoid}.r04-checkbox{display:inline-flex;border:1.5px solid currentColor;width:1.15em;height:1.15em;align-items:center;justify-content:center;margin-right:.4em;font-family:"Segoe UI Symbol",sans-serif}

/* ARTICOLI-STYLEFIX1: align on-screen article and improvement program lists with the existing mold list. */
#articles .r03-table,#improvement-programs .r03-table{min-width:740px;table-layout:auto}
#articles .r03-table th,#improvement-programs .r03-table th,#articles .r03-table td,#improvement-programs .r03-table td{padding:10px 12px;border:0;border-bottom:1px solid #e5e7eb;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;text-align:left}
#articles .r03-table th,#improvement-programs .r03-table th{background:#f8fafc;color:#475569;font-size:12px}
#articles .r03-table th:first-child,#articles .r03-table td:first-child{width:8rem}
#articles .r03-table th:nth-child(2),#articles .r03-table td:nth-child(2){width:11rem}
#articles .toolbar,#improvement-programs .toolbar{flex-wrap:wrap}
#articles .toolbar input:not([type=checkbox]),#improvement-programs .toolbar input:not([type=checkbox]){min-width:180px}
#improvement-programs .toolbar input[type=checkbox]{flex:0 0 auto;width:16px;min-width:0;padding:0}
#articles .toolbar select,#improvement-programs .toolbar select{padding:8px;border:1px solid #cbd5e1;border-radius:8px}

.r04-articles-report{font-family:Arial,sans-serif}

/* R04 UIFIX2: interactive detail distinct from the printable report. */
.r04-program-screen{max-width:1200px;margin:18px auto;color:#1f2937}
.r04-program-heading{margin-bottom:18px}.r04-program-heading h2{margin:0 0 6px}.r04-program-heading p{margin:0;color:#64748b}
.r04-program-screen>dl,.r04-program-screen .r03-report-section{background:#fff;border-radius:12px;box-shadow:0 1px 3px #00000012;padding:18px;margin:0 0 18px}
.r04-program-screen dl{display:grid;grid-template-columns:minmax(150px,30%) 1fr;gap:10px 18px}
.r04-program-screen dt{font-weight:600;color:#475569}.r04-program-screen dd{margin:0;overflow-wrap:anywhere}
.r04-program-screen .r03-report-section h2{font-size:18px;color:#173c67;border-bottom:1px solid #e5e7eb;padding-bottom:12px;margin-bottom:14px}
.r04-program-screen .r03-table th,.r04-program-screen .r03-table td{padding:10px 12px;border:0;border-bottom:1px solid #e5e7eb;vertical-align:top}
.r04-program-screen .r04-checklist{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.r04-program-screen footer{font-size:12px;color:#64748b}
#improvement-detail>button{background:#173c67;color:white;border:0;border-radius:8px;padding:9px 13px;cursor:pointer;margin-right:8px}
.r04-program-report{font-family:Arial,sans-serif;width:210mm;max-width:100%;padding:14mm 14mm 12mm}
.r04-program-report .r03-report-section h2{font-size:13pt;color:#172b46}
.r04-program-report .maintenance-print-header{grid-template-columns:70mm 1fr;gap:6mm}
.r04-program-report .r03-table{font-size:10pt}
@media(max-width:700px){.r04-program-screen .r04-checklist{grid-template-columns:1fr}.r04-program-screen dl{grid-template-columns:1fr}.r04-program-screen dd{margin-bottom:10px}.r04-program-screen .r03-report-section{overflow-x:auto}.r04-program-report{padding:18px}.r04-program-report .maintenance-print-header{grid-template-columns:1fr}}
@media print{.r04-program-report{width:auto;max-width:none;padding:0;margin:0;box-shadow:none}.r04-program-report .maintenance-print-header{grid-template-columns:70mm 1fr;gap:6mm}}

/* UIFIX3: article pages use the maintenance report header and numbered footer. */
.r03-report.r04-article-page{box-sizing:border-box;width:186mm;max-width:186mm;min-height:270mm;padding:0;display:flex;flex-direction:column;font:10pt/1.3 Arial,sans-serif;margin:18px auto;background:white;box-shadow:0 3px 18px #0003}
.r04-article-page .r03-table{table-layout:fixed;font-size:9pt}.r04-article-page .r03-table th,.r04-article-page .r03-table td{padding:2mm;overflow-wrap:anywhere}.r04-article-page footer{margin-top:auto;padding-top:3mm;flex-shrink:0}.r04-article-page .maintenance-print-header{flex-shrink:0}
@media print{body.r03-printing .r04-article-page{display:flex!important;width:186mm!important;max-width:186mm!important;min-height:270mm!important;margin:0!important;padding:0!important;box-shadow:none!important;break-after:page;page-break-after:always}body.r03-printing .r04-article-page:last-child{break-after:auto;page-break-after:auto}body.r03-printing .r04-article-page footer{margin-top:auto!important}}

@media print{@page r04Articles{size:A4 portrait;margin:12mm}body.r03-printing .r04-article-page{page:r04Articles}}

@media print{body.r03-printing:has(.r04-article-page) #app-layout,body.r03-printing:has(.r04-article-page) #app-layout main{margin:0!important;padding:0!important;width:auto!important;max-width:none!important}body.r03-printing .r04-article-page{overflow:visible!important}}

/* UIFIX4: action columns match the source report: action, due date, assignee. */
.r03-actions th:first-child{width:60%}.r03-actions th:nth-child(2){width:15%}.r03-actions th:nth-child(3){width:25%}

/* UIFIX6: numbered chapter bands, scoped to the improvement program report. */
.r04-program-report .r03-report-section{margin:0 0 5mm;padding:0 0 2mm;border-bottom:1px solid #d4dce4;line-height:1.4}
.r04-program-report .r03-report-section>h2{display:flex;align-items:center;gap:3mm;margin:0 0 3mm;padding:2.3mm 3mm;background:#eaf0f5;border:1px solid #bccad7;border-left:1.3mm solid #244563;color:#17344f;font-size:12pt;line-height:1.25;font-weight:700;break-after:avoid;page-break-after:avoid}
.r04-program-report .r04-phase-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 7mm;min-height:7mm;border:1px solid #8298ad;background:white;color:#17344f;font-weight:700;font-size:12pt}
.r04-program-report .r03-report-section>.r03-table{margin-top:2mm}.r04-program-report .r03-table th{background:#f3f6f8;color:#344c61;font-size:9pt;text-align:left}
.r04-program-report .r04-checklist{margin:2mm 0;padding-left:1mm}.r04-program-report .r04-checklist li{padding:1.2mm 0}
@media print{.r04-program-report .r03-report-section>h2{-webkit-print-color-adjust:exact;print-color-adjust:exact;break-inside:avoid;page-break-inside:avoid}.r04-program-report .r03-report-section{break-inside:auto;page-break-inside:auto}}

/* Compact report-only opening summary; screen keeps its existing card. */
.r04-program-report>.maintenance-print-header{margin-bottom:4mm;padding-bottom:3mm}.r04-program-report>.maintenance-print-header h1{font-size:16pt;margin-bottom:1.5mm}
.r04-program-report>dl{display:grid;grid-template-columns:27mm minmax(0,1fr) 27mm minmax(0,1fr);gap:0;margin:0 0 5mm;border:1px solid #bccad7;font-size:9pt;line-height:1.3}
.r04-program-report>dl>dt,.r04-program-report>dl>dd{margin:0;padding:1.7mm 2mm;border-bottom:1px solid #e0e6eb;overflow-wrap:anywhere}
.r04-program-report>dl>dt{background:#f3f6f8;color:#344c61;font-weight:600}.r04-program-report>dl>dd{color:#172b46}

/* UIFIX7: compact improvement detail/report; preserve every field and action. */
.r04-program-screen{margin:10px auto;font-size:14px;line-height:1.3}.r04-program-heading{margin-bottom:10px}.r04-program-heading h2{font-size:21px;margin-bottom:4px}
.r04-program-screen>dl,.r04-program-screen .r03-report-section{padding:10px 12px;margin-bottom:10px;border-radius:9px}.r04-program-screen dl{gap:5px 12px;margin-top:0;margin-bottom:5px}
.r04-program-screen>dl{grid-template-columns:minmax(120px,18%) minmax(0,1fr) minmax(120px,18%) minmax(0,1fr)}
.r04-program-screen .r03-report-section h2{font-size:16px;margin:0 0 7px;padding-bottom:6px}.r04-program-screen .r03-table th,.r04-program-screen .r03-table td{padding:5px 8px}.r04-program-screen .r04-checklist{gap:4px 10px;margin:5px 0}.r04-program-screen .r04-checklist li{padding:2px 0}
.r04-program-report{font-size:9.5pt;line-height:1.25}.r04-program-report .r03-report-section{margin-bottom:2.5mm;padding-bottom:1mm;line-height:1.25}
.r04-program-report .r03-report-section>h2{font-size:10.5pt;gap:2mm;margin-bottom:1.5mm;padding:1.1mm 2mm}.r04-program-report .r04-phase-number{flex-basis:5mm;min-height:5mm;font-size:10.5pt}
.r04-program-report .r03-table{font-size:9pt;line-height:1.25}.r04-program-report .r03-table th,.r04-program-report .r03-table td{padding:1.1mm 1.5mm}.r04-program-report .r03-report-section>.r03-table{margin-top:1mm}
.r04-program-report>.maintenance-print-header{margin-bottom:2.5mm;padding-bottom:2mm}.r04-program-report>.maintenance-print-header h1{font-size:14pt}.r04-program-report>.maintenance-print-header p{font-size:9pt}
.r04-program-report>dl{margin-bottom:3mm;font-size:9pt}.r04-program-report>dl>dt,.r04-program-report>dl>dd{padding:1mm 1.5mm}
.r04-program-report .r04-checklist{display:grid;grid-template-columns:1fr 1fr;gap:1mm 3mm;margin:1mm 0}.r04-program-report .r04-checklist li{padding:.6mm 0}.r04-program-report .r03-report-section dl{margin:1mm 0;gap:2px 8px}.r04-program-report footer{font-size:8pt;padding-top:2mm}
@media(max-width:700px){.r04-program-screen>dl{grid-template-columns:minmax(100px,35%) minmax(0,1fr)}.r04-program-screen .r04-checklist{grid-template-columns:1fr}}

/* UIFIX8: the print canvas matches the 182mm useful width of the A4 preview. */
@media print{
 @page r04ImprovementProgram{size:A4 portrait;margin:12mm 14mm}
 body.r03-printing:has(.r04-program-report),body.r03-printing:has(.r04-program-report) #app-layout,body.r03-printing:has(.r04-program-report) #app-layout main{margin:0!important;padding:0!important;min-height:0!important;width:auto!important;max-width:none!important}
 body.r03-printing .r04-program-report{page:r04ImprovementProgram;box-sizing:border-box;display:block!important;width:182mm!important;max-width:182mm!important;min-height:0!important;height:auto!important;padding:0!important;margin:0!important;font:9.5pt/1.25 Arial,sans-serif!important;box-shadow:none!important;overflow:visible!important}
 body.r03-printing .r04-program-report .r03-table{font-size:9pt!important;line-height:1.25!important}
 body.r03-printing .r04-program-report .r03-table th,body.r03-printing .r04-program-report .r03-table td{padding:1.1mm 1.5mm!important}
 body.r03-printing .r04-program-report footer{margin-top:3mm!important;font-size:8pt!important}
}

/* UIFIX9: organize existing cards by subject, without recreating their handlers. */
.dashboard-object-group{margin:0 0 22px}.dashboard-object-group>h2{margin:0 0 10px;padding:0 0 7px;border-bottom:1px solid #d5dfe8;color:#173c67;font-size:18px;font-weight:650}.dashboard-object-group>.operations-grid{margin:0;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.dashboard-object-group .card{border:1px solid #e2e8f0;box-shadow:none}.dashboard-object-group .operation-card{min-height:104px}.dashboard-object-group .card b{font-size:26px}@media(max-width:650px){.dashboard-object-group>.operations-grid{grid-template-columns:1fr}}

.dashboard-object-group .operation-card.dashboard-task-required{border-left-color:#eab308}.dashboard-object-group .operation-card.dashboard-task-planned{border-left-color:#16a34a}.dashboard-object-group .operation-card.dashboard-task-neutral,.dashboard-object-group .card.dashboard-task-neutral{border-left:4px solid #94a3b8}
.dashboard-card-legend{display:flex;flex-wrap:wrap;gap:12px 20px;margin:12px 0 20px;font-size:12px;color:#475569}.dashboard-card-legend>span{padding-left:8px;border-left:4px solid #94a3b8}.dashboard-card-legend>.task-required{border-left-color:#eab308}.dashboard-card-legend>.task-planned{border-left-color:#16a34a}

/* UIFIX10: preserve grouping and accessible names without visible chapter headings. */
.dashboard-object-group>h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* UIFIX11: one compact grid, keeping subject order without empty group rows. */
#dashboard-object-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:0 0 20px;align-items:stretch}
#dashboard-object-groups>.dashboard-object-group,#dashboard-object-groups>.dashboard-object-group>.operations-grid{display:contents}
#dashboard-object-groups .operation-card,#dashboard-object-groups .card{width:100%;min-width:0;min-height:92px;margin:0;padding:12px;border-radius:10px}
#dashboard-object-groups .operation-card{gap:10px}#dashboard-object-groups .operation-card strong,#dashboard-object-groups .card b{font-size:24px}
#dashboard-object-groups .operation-card>.ui-icon{width:25px;height:25px;flex-shrink:0}
#dashboard-object-groups .operation-card small,#dashboard-object-groups .card>span{font-size:12px;line-height:1.3}#dashboard-object-groups .operation-card b{font-size:11px;line-height:1.3}
@media(max-width:650px){#dashboard-object-groups{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}#dashboard-object-groups .operation-card,#dashboard-object-groups .card{padding:10px;min-height:84px}}
@media(max-width:380px){#dashboard-object-groups{grid-template-columns:1fr}}
