:root{
  --navy:#171b55;--navy-2:#252b79;--blue:#3154a4;--sky:#eaf0ff;--ink:#171a2b;--muted:#6f7488;
  --line:#e2e5ee;--surface:#fff;--bg:#f4f6fa;--success:#1f8b63;--success-bg:#e7f6ef;
  --warning:#c77814;--warning-bg:#fff3dc;--danger:#b93845;--danger-bg:#fdecef;--info:#4772bb;--info-bg:#eaf1ff;
  --shadow:0 10px 35px rgba(26,31,80,.08);--radius:16px;--sidebar:255px;
}
*{box-sizing:border-box}html{font-size:15px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%}
.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#14194e 0%,#202668 100%);color:#fff;padding:20px 14px 16px;display:flex;flex-direction:column;z-index:20;box-shadow:10px 0 40px rgba(24,29,75,.12)}
.sidebar-brand{display:flex;align-items:center;gap:11px;padding:4px 8px 22px;border-bottom:1px solid rgba(255,255,255,.12);margin-bottom:14px}.sidebar-brand img{width:54px;height:43px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.sidebar-brand strong{display:block;font-size:.98rem}.sidebar-brand span{font-size:.75rem;color:#bfc5f7}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow:auto;padding-right:2px}.nav-item{display:flex;align-items:center;gap:11px;padding:10px 11px;border-radius:10px;color:#d7daf5;font-size:.9rem;font-weight:600;transition:.18s}.nav-item:hover{background:rgba(255,255,255,.08);color:#fff}.nav-item.active{background:#fff;color:var(--navy);box-shadow:0 6px 16px rgba(0,0,0,.14)}.nav-icon{width:21px;text-align:center;font-size:1.05rem}.nav-section{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:#9da4dc;padding:17px 11px 5px}.sidebar-footer{margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.12)}.sync-state{display:flex;align-items:center;gap:7px;color:#c7cbee;font-size:.72rem;padding:0 7px 10px}.status-dot{width:8px;height:8px;border-radius:50%;background:#9ca0b5;display:inline-block}.status-dot.online{background:#44d09c;box-shadow:0 0 0 4px rgba(68,208,156,.14)}.status-dot.error{background:#ff7f88}.user-chip{width:100%;border:0;background:rgba(255,255,255,.08);color:#fff;border-radius:12px;display:grid;grid-template-columns:34px 1fr auto;gap:9px;align-items:center;padding:8px;text-align:left}.user-chip>span{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--navy);display:grid;place-items:center;font-weight:800}.user-chip strong,.user-chip small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip strong{font-size:.78rem}.user-chip small{font-size:.67rem;color:#c5c9ed}.user-chip b{font-size:1.1rem;color:#afb4e8}
.main-content{margin-left:var(--sidebar);padding:30px 34px 50px;max-width:1700px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:22px}.page-header h1{margin:2px 0 4px;font-size:1.7rem;letter-spacing:-.03em}.page-header p{margin:0;color:var(--muted);max-width:760px}.eyebrow{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}.eyebrow.light{color:#bcc6ff}.page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.button{border:1px solid transparent;border-radius:9px;padding:9px 14px;font-weight:700;font-size:.82rem;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.17s}.button:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(30,35,84,.12)}.button.primary{background:var(--navy-2);color:#fff}.button.secondary{background:#fff;color:var(--navy);border-color:#d9ddeb}.button.ghost{background:transparent;border-color:#d9ddeb}.button.danger{color:var(--danger);border-color:#f0cbd0}.button.large{padding:12px 18px;width:100%}.button.small{font-size:.74rem;padding:7px 10px}.icon-button{border:0;background:#f0f2f8;width:34px;height:34px;border-radius:9px;font-size:1.35rem}.compact-select{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 12px;font-weight:700}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:15px}.kpi-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;display:flex;align-items:center;gap:14px;box-shadow:0 5px 20px rgba(27,32,76,.04);transition:.18s}.kpi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.kpi-card.alert{border-color:#efc2c7}.kpi-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.15rem;font-weight:800}.kpi-icon.blue{background:var(--info-bg);color:var(--info)}.kpi-icon.red{background:var(--danger-bg);color:var(--danger)}.kpi-icon.amber{background:var(--warning-bg);color:var(--warning)}.kpi-icon.green{background:var(--success-bg);color:var(--success)}.kpi-card small,.kpi-card span{display:block;color:var(--muted)}.kpi-card small{font-size:.72rem;font-weight:700}.kpi-card strong{font-size:1.7rem;line-height:1.15}.kpi-card span{font-size:.72rem;margin-top:2px}.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 20px rgba(25,31,72,.04);padding:20px}.panel.span-2{grid-column:span 2}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:18px}.panel-header h2,.panel-title h2{font-size:1rem;margin:0 0 2px}.panel-header p,.panel-title p{font-size:.75rem;color:var(--muted);margin:0}.progress-number{font-size:1.6rem;color:var(--blue)}.month-chart{height:210px;display:grid;grid-template-columns:repeat(12,1fr);align-items:end;gap:8px;padding-top:20px}.month-column{text-align:center;display:grid;grid-template-rows:150px auto auto;gap:4px;align-items:end}.bar-track{height:150px;background:#f1f3f8;border-radius:7px;position:relative;overflow:hidden}.bar-track span{position:absolute;inset:auto 0 0;background:linear-gradient(180deg,#627ed1,#303f91);border-radius:7px;min-height:0}.month-column small{font-size:.64rem;color:var(--muted)}.month-column b{font-size:.7rem;color:var(--navy)}.finding-donut{width:150px;height:150px;border-radius:50%;margin:8px auto 16px;background:conic-gradient(var(--danger) 0 calc(var(--l1)/var(--total)*360deg),#e3a22f 0 calc((var(--l1) + var(--l2))/var(--total)*360deg),#5a7fc4 0);display:grid;place-items:center;position:relative}.finding-donut.empty{background:#edf0f5}.finding-donut:before{content:"";position:absolute;inset:23px;border-radius:50%;background:#fff}.finding-donut div{z-index:1;text-align:center}.finding-donut strong,.finding-donut span{display:block}.finding-donut strong{font-size:1.8rem}.finding-donut span{font-size:.7rem;color:var(--muted)}.legend-row{display:flex;justify-content:center;gap:14px;font-size:.7rem;color:var(--muted)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.dot.l1{background:var(--danger)}.dot.l2{background:#e3a22f}.dot.im{background:#5a7fc4}.deadline-list{display:flex;flex-direction:column}.deadline-item{display:grid;grid-template-columns:92px 1fr auto;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #edf0f5}.deadline-item:last-child{border-bottom:0}.deadline-item:hover strong{color:var(--blue)}.deadline-date{border-radius:8px;padding:6px 8px;font-size:.68rem;font-weight:800;text-align:center}.deadline-date.danger{background:var(--danger-bg);color:var(--danger)}.deadline-date.warning{background:var(--warning-bg);color:var(--warning)}.deadline-date.info{background:var(--info-bg);color:var(--info)}.deadline-item strong,.deadline-item small{display:block}.deadline-item strong{font-size:.8rem}.deadline-item small{font-size:.7rem;color:var(--muted)}.deadline-item b{font-size:1.3rem;color:#a8adbf}.timeline>div{display:grid;grid-template-columns:12px 1fr;gap:10px;position:relative;padding-bottom:13px}.timeline>div:not(:last-child):before{content:"";position:absolute;left:5px;top:12px;bottom:-2px;width:1px;background:#dfe3ef}.timeline i{width:11px;height:11px;border:3px solid #dce4ff;background:var(--blue);border-radius:50%;z-index:1}.timeline strong,.timeline small{display:block}.timeline strong{font-size:.75rem}.timeline small{font-size:.65rem;color:var(--muted)}
.filter-bar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;display:flex;gap:10px;align-items:end;margin-bottom:14px;box-shadow:0 4px 15px rgba(25,31,72,.03)}.filter-bar label{font-size:.68rem;color:var(--muted);font-weight:700}.filter-bar label.grow{flex:1}.filter-bar input,.filter-bar select{display:block;border:1px solid #dfe2eb;background:#fafbfe;border-radius:8px;padding:8px 10px;margin-top:4px;min-width:130px}.filter-bar .grow input{width:100%}.table-panel{padding:0;overflow:hidden}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:.76rem}.data-table th{background:#f4f6fb;color:#61677c;text-transform:uppercase;letter-spacing:.04em;font-size:.63rem;text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.data-table td{padding:11px 10px;border-bottom:1px solid #edf0f5;vertical-align:top}.data-table tr:last-child td{border-bottom:0}.data-table tbody tr:hover{background:#fbfcff}.data-table td strong,.data-table td small{display:block}.data-table td small{color:var(--muted);font-size:.66rem;max-width:320px;margin-top:2px}.clickable-row{cursor:pointer}.row-link{border:0;background:none;color:var(--blue);font-weight:800;font-size:.72rem;white-space:nowrap}.mini-tag{display:inline-block;background:#edf0f7;color:#4e5570;border-radius:5px;padding:3px 5px;margin:1px;font-size:.59rem;font-weight:800}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.61rem;font-weight:800;white-space:nowrap}.badge.success{background:var(--success-bg);color:var(--success)}.badge.danger{background:var(--danger-bg);color:var(--danger)}.badge.warning{background:var(--warning-bg);color:var(--warning)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.neutral{background:#eef0f5;color:#666d80}.finding-pill{display:inline-grid;place-items:center;width:23px;height:21px;border-radius:5px;margin-right:3px;font-size:.65rem;font-weight:800}.finding-pill.l1{background:var(--danger-bg);color:var(--danger)}.finding-pill.l2{background:var(--warning-bg);color:var(--warning)}.finding-pill.im{background:var(--info-bg);color:var(--info)}.print-signatures{display:none}.empty-state{padding:42px 20px;text-align:center;color:var(--muted)}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:var(--ink);font-size:1rem}.empty-state.big{margin:70px auto}.empty-state.big strong{font-size:4rem;color:#c7cbda}.empty-inline{color:var(--muted);font-size:.76rem;padding:20px;text-align:center}
.audit-document{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.print-header{display:none}.audit-summary-grid,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.audit-summary-grid{background:#f7f8fc;border:1px solid var(--line);border-radius:12px;padding:14px;margin-bottom:12px}.audit-summary-grid label,.form-grid label,.meeting-meta label{font-size:.68rem;font-weight:750;color:#60667b}.audit-summary-grid input,.audit-summary-grid select,.audit-summary-grid textarea,.form-grid input,.form-grid select,.form-grid textarea,.meeting-meta input,.review-section textarea{width:100%;border:1px solid #dce0ea;background:#fff;border-radius:8px;padding:8px 9px;margin-top:4px;resize:vertical}.span-2{grid-column:span 2}.audit-stats{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:8px 2px 14px;font-size:.66rem;font-weight:800;color:#697085}.audit-stats span{background:#eef0f5;border-radius:999px;padding:5px 9px}.audit-stats .l1{background:var(--danger-bg);color:var(--danger)}.audit-stats .l2{background:var(--warning-bg);color:var(--warning)}.audit-stats .im{background:var(--info-bg);color:var(--info)}.checklist-list{display:flex;flex-direction:column;gap:10px}.check-item{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.check-item.has-finding{border-color:#e4b8be;box-shadow:0 0 0 2px rgba(185,56,69,.05)}.check-item-head{display:grid;grid-template-columns:34px 1fr 140px;gap:11px;padding:13px;background:#fafbfe}.item-number{width:30px;height:30px;border-radius:8px;background:#e8ecf8;color:var(--navy);display:grid;place-items:center;font-size:.69rem;font-weight:900}.requirement-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.requirement-line strong{font-size:.72rem;color:var(--navy)}.requirement-line span,.requirement-line em{font-size:.57rem;border-radius:4px;padding:2px 5px;background:#e9edf6;color:#626980;font-style:normal}.requirement-line em{background:#fff1d5;color:#aa6811}.item-main p{font-size:.76rem;margin:5px 0 0}.result-select span{display:block;font-size:.59rem;color:var(--muted);margin-bottom:4px}.result-select select{width:100%;border:1px solid #dbe0eb;border-radius:7px;padding:7px;background:#fff;font-size:.7rem;font-weight:800}.check-item-fields{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:10px;padding:11px 13px}.check-item-fields label{font-size:.6rem;font-weight:750;color:#676d80}.check-item-fields input,.check-item-fields textarea{width:100%;border:1px solid #dfe2ea;border-radius:7px;padding:7px;margin-top:4px;font-size:.7rem;resize:vertical}.finding-panel{border-top:1px solid #edc8cd;background:#fff9fa;padding:13px}.finding-panel.hidden{display:none}.finding-panel-title{display:flex;justify-content:space-between;margin-bottom:9px}.finding-panel-title strong{color:var(--danger)}.finding-panel-title span{font-size:.64rem;color:var(--muted)}.form-grid.compact{gap:9px}.form-grid.compact label{font-size:.61rem}.form-grid.compact input,.form-grid.compact select,.form-grid.compact textarea{font-size:.69rem;padding:7px}.audit-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.audit-signatures span,.audit-signatures strong,.audit-signatures small{display:block}.audit-signatures span{font-size:.65rem;color:var(--muted);text-transform:uppercase}.audit-signatures strong{margin:8px 0 18px}.audit-signatures small{color:#757b8c}.print-footer{display:none}.print-only{display:none}
.template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.template-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 4px 18px rgba(25,31,72,.04)}.template-code{font-size:.65rem;color:var(--blue);font-weight:900;letter-spacing:.05em}.template-card h2{font-size:1rem;margin:5px 0}.template-card p{font-size:.73rem;color:var(--muted);height:43px;overflow:hidden}.tag-row{display:flex;gap:5px;flex-wrap:wrap}.tag-row span{font-size:.58rem;background:#eef1f7;color:#565d73;border-radius:999px;padding:4px 7px}.template-actions{display:flex;gap:7px;margin-top:15px}.template-preview .document-meta{display:flex;justify-content:space-between;padding-bottom:10px;border-bottom:1px solid var(--line)}.template-preview>p{font-size:.75rem}.preview-items{border:1px solid var(--line);border-radius:10px;overflow:auto;max-height:58vh}.preview-items>div{display:grid;grid-template-columns:32px 150px 1fr 230px;gap:10px;padding:10px;border-bottom:1px solid #edf0f5;font-size:.7rem}.preview-items>div:last-child{border-bottom:0}.preview-items p{margin:0}.preview-items small{color:var(--muted)}
.completion-mini{display:block;width:90px;height:6px;border-radius:999px;background:#eceef4;overflow:hidden;margin:4px 0}.completion-mini i{display:block;height:100%;background:var(--success)}.text-danger{color:var(--danger);font-weight:800}.simple-table{width:100%;border-collapse:collapse;font-size:.7rem}.simple-table th,.simple-table td{border:1px solid #dfe2e9;padding:7px;text-align:left}.simple-table th{background:#f1f3f7}.management-review{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.meeting-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;background:#f7f8fc;border-radius:10px;padding:12px}.review-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin:12px 0}.review-kpis div{background:#f4f6fb;border:1px solid #e4e7ef;border-radius:9px;padding:10px;text-align:center}.review-kpis small,.review-kpis strong{display:block}.review-kpis small{font-size:.57rem;color:var(--muted);text-transform:uppercase}.review-kpis strong{font-size:1.05rem}.review-section{margin-top:18px}.review-section h2{font-size:.95rem;color:var(--navy);border-bottom:2px solid #dfe4f5;padding-bottom:5px}.review-section h3{font-size:.78rem}.review-section textarea{font-size:.75rem}.two-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.two-columns p{font-size:.7rem}
.card-list{display:flex;flex-direction:column;gap:10px}.record-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:15px;display:grid;grid-template-columns:110px 1fr 160px;gap:16px;align-items:start}.record-date strong,.record-date span{display:block}.record-date strong{font-size:.78rem;color:var(--navy)}.record-date span{font-size:.64rem;color:var(--muted)}.record-content h2{font-size:.93rem;margin:0 0 4px}.record-content p{font-size:.73rem;color:#555c70;margin:0 0 8px}.record-side{text-align:right}.record-side small{display:block;color:var(--muted);font-size:.63rem;margin:8px 0}.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.training-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px}.training-top{display:flex;justify-content:space-between}.training-icon{width:38px;height:38px;background:var(--sky);color:var(--blue);display:grid;place-items:center;border-radius:10px;font-size:1.1rem}.training-top small{display:block;text-align:right;color:var(--muted);font-size:.62rem;margin-top:4px}.training-card h2{font-size:.95rem;margin:14px 0 5px}.training-card>p{font-size:.7rem;color:var(--muted);height:34px}.training-progress>div{height:7px;background:#edf0f5;border-radius:99px;overflow:hidden}.training-progress span{height:100%;background:var(--success);display:block}.training-progress small{font-size:.62rem;color:var(--muted)}.training-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin:13px 0}.training-card dl div{background:#f7f8fb;border-radius:6px;padding:7px}.training-card dt{font-size:.55rem;color:var(--muted)}.training-card dd{font-size:.67rem;margin:1px 0;font-weight:800}.user-check-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.user-check{display:grid!important;grid-template-columns:auto 1fr auto;gap:7px;align-items:center;background:#f6f7fa;border-radius:7px;padding:7px}.user-check input{width:auto!important;margin:0!important}.user-check span,.user-check small{display:block}.user-check small{color:var(--muted)}fieldset{border:1px solid #dfe2ea;border-radius:9px;padding:10px}legend{font-size:.65rem;font-weight:800;color:#636a7d}.checkbox-row{display:flex;gap:12px;flex-wrap:wrap}.checkbox-row label,.checkbox{display:flex!important;align-items:center;gap:5px}.checkbox input,.checkbox-row input{width:auto!important;margin:0!important}.drive-cell a{color:var(--blue);font-weight:700}
.user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.user-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:14px;display:grid;grid-template-columns:46px 1fr auto;gap:12px;align-items:start}.user-card.disabled{opacity:.6}.avatar{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--navy),#5d72c2);color:#fff;display:grid;place-items:center;font-size:1.2rem;font-weight:800}.user-info h2{font-size:.9rem;margin:0}.user-info p{font-size:.68rem;color:var(--muted);margin:2px 0 7px}.user-info>small{display:block;font-size:.61rem;color:var(--muted);margin-top:8px}.user-actions{text-align:right}.user-actions .button{display:flex;margin-top:9px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.settings-grid>.panel{margin:0}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:5px}.notice{background:var(--info-bg);color:#435b8b;border-radius:8px;padding:9px;font-size:.67rem}.backup-panel,.manual-panel{min-height:220px}.backup-actions{display:flex;flex-direction:column;gap:8px;margin-top:15px}.file-button{position:relative}.file-button input{position:absolute;opacity:0;inset:0;cursor:pointer}.manual-row{display:grid;grid-template-columns:36px 1fr 160px;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid #edf0f4}.manual-row>span{width:34px;height:30px;background:var(--danger-bg);color:var(--danger);border-radius:6px;display:grid;place-items:center;font-size:.58rem;font-weight:900}.manual-row strong,.manual-row small{display:block}.manual-row strong{font-size:.72rem}.manual-row small,.manual-row em{font-size:.6rem;color:var(--muted);font-style:normal;overflow:hidden;text-overflow:ellipsis}
.modal-backdrop{position:fixed;inset:0;background:rgba(13,17,47,.58);backdrop-filter:blur(3px)}#modal-root{display:none;position:fixed;inset:0;z-index:100;align-items:center;justify-content:center;padding:20px}#modal-root.open{display:flex}.modal{width:min(620px,100%);max-height:92vh;background:#fff;border-radius:16px;box-shadow:0 30px 90px rgba(8,12,45,.35);position:relative;display:flex;flex-direction:column;animation:modalIn .16s ease}.modal.wide{width:min(960px,100%)}@keyframes modalIn{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:17px 20px;border-bottom:1px solid var(--line)}.modal-header h2{font-size:1.08rem;margin:2px 0}.modal-body{padding:18px 20px;overflow:auto}.form-error{background:var(--danger-bg);color:var(--danger);padding:8px;border-radius:7px;font-size:.72rem}.toast{position:relative;background:#fff;border:1px solid var(--line);border-left:4px solid var(--success);box-shadow:var(--shadow);border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;min-width:280px;opacity:0;transform:translateX(20px);transition:.25s}.toast.show{opacity:1;transform:none}.toast.danger{border-left-color:var(--danger)}.toast strong{font-size:.7rem}.toast span{font-size:.68rem;color:var(--muted)}#toast-root{position:fixed;right:20px;top:20px;z-index:200;display:flex;flex-direction:column;gap:8px}
.login-shell{min-height:100vh;display:grid;grid-template-columns:1.25fr .75fr;background:#fff}.login-visual{background:linear-gradient(135deg,#11164b 0%,#26327f 62%,#344da2 100%);color:#fff;padding:45px 55px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-visual:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-170px;bottom:-170px;box-shadow:0 0 0 90px rgba(255,255,255,.025),0 0 0 180px rgba(255,255,255,.02)}.login-brand{display:flex;align-items:center;gap:15px;z-index:1}.login-brand img{width:100px;background:#fff;border-radius:12px;padding:7px}.login-brand span{font-size:.72rem;color:#bbc5fb}.login-brand h1{font-size:1.25rem;margin:1px 0}.login-copy{max-width:620px;z-index:1}.login-copy h2{font-size:3.1rem;line-height:1.05;letter-spacing:-.045em;margin:9px 0 18px}.login-copy p{font-size:1rem;color:#d4d9f6;max-width:560px}.login-features{display:flex;gap:8px;z-index:1}.login-features span{border:1px solid rgba(255,255,255,.2);border-radius:999px;padding:6px 10px;font-size:.68rem;color:#dce0f8}.login-panel{display:grid;place-items:center;padding:35px;background:#f7f8fc}.login-card{width:min(390px,100%);background:#fff;border:1px solid var(--line);border-radius:17px;padding:30px;box-shadow:0 18px 50px rgba(27,32,77,.1);display:flex;flex-direction:column;gap:15px}.login-card h2{font-size:1.5rem;margin:3px 0}.login-card p{font-size:.77rem;color:var(--muted);margin:0}.login-card label{font-size:.7rem;font-weight:800;color:#5f6579}.login-card input{width:100%;display:block;border:1px solid #dce0ea;border-radius:9px;padding:11px 12px;margin-top:5px}.login-mode{font-size:.65rem;color:var(--muted);display:flex;gap:7px;align-items:center;justify-content:center}.demo-credentials{font-size:.68rem;color:var(--muted);background:#f5f7fb;border-radius:8px;padding:8px 10px}.demo-credentials summary{cursor:pointer;font-weight:700}.demo-credentials p{margin-top:7px}

/* --- PWA update v2: item feedback, regulatory coverage and compliance to-do --- */
.kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.kpi-icon.purple{background:#f0eaff;color:#6748a7}
.login-brand img{width:158px;max-height:104px;object-fit:contain;padding:9px}.login-brand{gap:19px}.login-brand h1{font-size:1.42rem}
.button.input-acknowledged,.icon-button.input-acknowledged,.row-link.input-acknowledged,.user-chip.input-acknowledged{transform:scale(.97)!important;box-shadow:0 0 0 4px rgba(49,84,164,.16)!important}.input-signal{align-self:flex-end;background:#171b55;color:#fff;border-radius:999px;padding:8px 12px;display:flex;align-items:center;gap:7px;font-size:.7rem;font-weight:800;box-shadow:0 10px 28px rgba(18,23,72,.24);opacity:0;transform:translateY(-8px) scale(.96);pointer-events:none;transition:.18s}.input-signal.show{opacity:1;transform:none}.input-signal b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#42c38c;color:#fff}

.check-item{position:relative;transition:border-color .18s,box-shadow .18s,background .18s}.check-item:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:#c8ccd8;z-index:2}.check-item .check-item-head,.check-item .item-number,.check-item .result-select select{transition:background .18s,color .18s,border-color .18s}.check-item.result-not-checked:before{background:#b5bac8}.check-item.result-not-checked .check-item-head{background:#fafbfe}.check-item.result-ok{border-color:#9ed7c2;box-shadow:0 0 0 2px rgba(31,139,99,.07)}.check-item.result-ok:before{background:var(--success)}.check-item.result-ok .check-item-head{background:#eef9f4}.check-item.result-ok .item-number{background:var(--success);color:#fff}.check-item.result-ok .result-select select{background:var(--success-bg);border-color:#9ed7c2;color:#146d4c;font-weight:850}.check-item.result-level2{border-color:#e8c17f;box-shadow:0 0 0 2px rgba(199,120,20,.08)}.check-item.result-level2:before{background:var(--warning)}.check-item.result-level2 .check-item-head{background:#fff8e9}.check-item.result-level2 .item-number{background:var(--warning);color:#fff}.check-item.result-level2 .result-select select{background:var(--warning-bg);border-color:#e8c17f;color:#8b500c;font-weight:850}.check-item.result-level1{border-color:#df939d;box-shadow:0 0 0 2px rgba(185,56,69,.09)}.check-item.result-level1:before{background:var(--danger)}.check-item.result-level1 .check-item-head{background:#fff0f2}.check-item.result-level1 .item-number{background:var(--danger);color:#fff}.check-item.result-level1 .result-select select{background:var(--danger-bg);border-color:#df939d;color:#962c38;font-weight:850}.check-item.result-improvement{border-color:#9bb6df}.check-item.result-improvement:before{background:var(--info)}.check-item.result-improvement .check-item-head{background:#f1f5ff}.check-item.result-improvement .item-number{background:var(--info);color:#fff}.check-item.result-improvement .result-select select{background:var(--info-bg);border-color:#9bb6df;color:#365d9d;font-weight:850}.check-item.result-na{border-color:#cfd3dc}.check-item.result-na:before{background:#858b9c}.check-item.result-na .check-item-head{background:#f3f4f7}.check-item.result-na .item-number{background:#858b9c;color:#fff}.check-item.result-na .result-select select{background:#eceef2;border-color:#c8ccd6;color:#555b6b;font-weight:850}

.coverage-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.coverage-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 16px;box-shadow:0 4px 15px rgba(25,31,72,.035)}.coverage-kpis small,.coverage-kpis strong{display:block}.coverage-kpis small{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}.coverage-kpis strong{font-size:1.55rem;margin-top:2px}.coverage-kpis article.success{border-left:5px solid var(--success)}.coverage-kpis article.danger{border-left:5px solid var(--danger)}.coverage-note{margin:15px 15px 0;background:var(--info-bg);color:#405986;border-radius:9px;padding:10px 12px;font-size:.7rem}.coverage-table td:first-child{min-width:190px}.coverage-table td:nth-child(5){min-width:430px}.coverage-covered{box-shadow:inset 4px 0 0 var(--success)}.coverage-gap{box-shadow:inset 4px 0 0 var(--danger);background:#fffafb}.coverage-details summary{cursor:pointer;color:var(--blue);font-weight:800;font-size:.7rem}.coverage-details>div{display:grid;gap:6px;margin-top:8px}.coverage-details a{display:grid;grid-template-columns:170px 1fr;gap:3px 10px;border:1px solid #e5e8f0;background:#fafbfe;border-radius:8px;padding:8px}.coverage-details a strong{font-size:.68rem}.coverage-details a span{font-size:.69rem}.coverage-details a small{grid-column:2;margin:0!important}.text-warning{color:var(--warning)!important}.danger-link{color:var(--danger)!important}.success-link{color:var(--success)!important}.row-actions{display:flex;gap:7px;flex-wrap:wrap}

.priority-pill{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:.61rem;font-weight:850}.priority-pill.high{background:var(--danger-bg);color:var(--danger)}.priority-pill.medium{background:var(--warning-bg);color:var(--warning)}.priority-pill.low{background:var(--info-bg);color:var(--info)}.todo-row.overdue{box-shadow:inset 4px 0 0 var(--danger)}.todo-row.completed{opacity:.65}.todo-row.completed td:first-child strong{text-decoration:line-through}.todo-table td:first-child{min-width:300px}.todo-table td:last-child{min-width:190px}

.modal-backdrop{cursor:pointer}.modal-header .icon-button:hover{background:var(--danger-bg);color:var(--danger)}

@media(max-width:1450px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1200px){.coverage-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.coverage-kpis{grid-template-columns:1fr}.coverage-details a{grid-template-columns:1fr}.coverage-details a small{grid-column:1}.login-brand img{width:135px}}
@media print{
  .coverage-kpis{display:none!important}.coverage-note{margin:0 0 3mm;padding:2mm;border:1px solid #777;background:#fff!important;color:#000}.coverage-details summary{display:none}.coverage-details>div{display:block!important}.coverage-details a{display:grid;grid-template-columns:35mm 1fr;border:0;border-bottom:1px solid #bbb;border-radius:0;padding:1mm 0;background:#fff}.coverage-details a small{grid-column:2}.coverage-covered,.coverage-gap,.todo-row.overdue{box-shadow:none}.coverage-table td:nth-child(5){min-width:0}.check-item:before{width:2mm}.check-item.result-ok{border-left:2mm solid var(--success)}.check-item.result-level2{border-left:2mm solid var(--warning)}.check-item.result-level1{border-left:2mm solid var(--danger)}.check-item.result-improvement{border-left:2mm solid var(--info)}
}

@media(max-width:1200px){:root{--sidebar:220px}.main-content{padding:26px 24px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.panel.span-2{grid-column:span 2}.template-grid,.training-grid{grid-template-columns:repeat(2,1fr)}.review-kpis{grid-template-columns:repeat(3,1fr)}.check-item-fields{grid-template-columns:1fr 1fr}.check-item-fields label:first-child{grid-column:span 2}}
@media(max-width:820px){.sidebar{position:static;width:auto;min-height:auto;padding:10px}.sidebar-brand{padding-bottom:10px}.sidebar nav{display:grid;grid-template-columns:repeat(4,1fr)}.nav-item{justify-content:center}.nav-item span:last-child,.nav-section,.sidebar-footer{display:none}.main-content{margin-left:0;padding:18px 13px}.page-header{flex-direction:column}.page-actions{justify-content:flex-start}.kpi-grid,.dashboard-grid,.template-grid,.training-grid,.user-grid,.settings-grid{grid-template-columns:1fr}.panel.span-2{grid-column:span 1}.filter-bar{overflow:auto;align-items:end}.audit-summary-grid,.form-grid,.meeting-meta{grid-template-columns:1fr}.span-2{grid-column:span 1}.check-item-head{grid-template-columns:34px 1fr}.result-select{grid-column:2}.check-item-fields{grid-template-columns:1fr}.check-item-fields label:first-child{grid-column:auto}.audit-signatures,.review-kpis{grid-template-columns:1fr 1fr}.record-card{grid-template-columns:1fr}.record-side{text-align:left}.login-shell{grid-template-columns:1fr}.login-visual{display:none}.preview-items>div{grid-template-columns:25px 110px 1fr}.preview-items small{grid-column:3}.two-columns{grid-template-columns:1fr}}
@media print{
  @page{size:A4 landscape;margin:10mm}body{background:#fff;color:#000;font-size:9pt}.no-print,.sidebar,.page-header,.filter-bar,#modal-root,#toast-root{display:none!important}.main-content{margin:0;padding:0;max-width:none}.panel,.audit-document,.management-review{border:0!important;box-shadow:none!important;border-radius:0!important;padding:0!important}.print-area{display:block!important}.print-header{display:grid;grid-template-columns:55mm 1fr 1.3fr;align-items:center;border:1px solid #333;margin-bottom:5mm}.print-header img{width:46mm;height:16mm;object-fit:contain;padding:2mm}.print-header>div{border-left:1px solid #333;padding:2mm 3mm}.print-header strong,.print-header span{display:block}.print-header span{font-size:7pt}.print-title{text-align:right}.print-title strong{font-size:10pt}.data-table{font-size:7pt}.data-table th{background:#e9e9e9!important;color:#000;padding:2mm}.data-table td{padding:2mm;border-color:#bbb}.badge,.mini-tag,.finding-pill{border:1px solid #888;background:#fff!important;color:#000!important;padding:1mm 2mm}.print-signatures{display:grid;grid-template-columns:1fr .5fr 1fr;gap:10mm;margin-top:8mm}.print-signatures span,.print-signatures strong{display:block}.print-signatures span{font-size:7pt}.checklist-list{gap:2mm}.check-item{break-inside:avoid;border:1px solid #777;border-radius:0}.check-item-head{grid-template-columns:10mm 1fr 25mm;padding:2mm;background:#eee!important}.item-number{width:8mm;height:8mm;border:1px solid #777;background:#fff}.item-main p{font-size:7pt;margin:1mm 0}.requirement-line strong{font-size:7pt}.result-select{display:none}.print-only{display:block}.result-print{text-align:center;font-weight:800;font-size:7pt;border:1px solid #777;padding:2mm}.check-item-fields{grid-template-columns:1fr 1.4fr 1fr;padding:2mm;gap:2mm}.check-item-fields input,.check-item-fields textarea,.audit-summary-grid input,.audit-summary-grid textarea,.audit-summary-grid select,.review-section textarea,.meeting-meta input{border:0;padding:0;background:#fff;resize:none;font-size:7pt}.check-item-fields label,.audit-summary-grid label{font-size:6pt}.finding-panel{padding:2mm;background:#fff!important;border-top:1px solid #777}.finding-panel.hidden{display:none}.finding-panel-title span{display:none}.form-grid.compact{grid-template-columns:repeat(4,1fr);gap:2mm}.form-grid.compact .span-2{grid-column:span 2}.form-grid.compact input,.form-grid.compact textarea,.form-grid.compact select{border:0;padding:0;font-size:6.5pt}.audit-summary-grid{grid-template-columns:repeat(4,1fr);padding:2mm;border-radius:0}.audit-summary-grid .span-2{grid-column:span 2}.audit-stats{padding:2mm 0}.audit-signatures{margin-top:5mm}.print-footer{display:block;margin-top:4mm;border-top:1px solid #777;padding-top:2mm;text-align:center;font-size:6pt}.management-review .review-section{break-inside:avoid}.management-review .review-kpis{grid-template-columns:repeat(6,1fr)}.management-review textarea{height:auto;min-height:22mm}.simple-table{font-size:7pt}.simple-table th,.simple-table td{padding:1.5mm}.editable textarea{border:1px solid #bbb!important;padding:2mm!important}.login-shell{display:none}
}

/* Manual library and PDF viewer */
.modal.wide{width:min(1380px,96vw)}
.manual-search-panel{display:grid;grid-template-columns:minmax(360px,1.4fr) minmax(360px,1fr);gap:14px;align-items:end;margin-bottom:14px}.manual-search-main label>span,.manual-search-filters label{font-size:.68rem;font-weight:800;color:var(--muted)}.search-box{display:grid;grid-template-columns:34px 1fr auto;align-items:center;border:1px solid var(--line);border-radius:11px;background:#fff;overflow:hidden;margin-top:5px}.search-box>span{display:grid;place-items:center;color:var(--blue);font-size:1.1rem}.search-box input{border:0;outline:0;padding:11px 5px;min-width:0}.search-box .button{margin:4px}.manual-search-filters{display:flex;gap:9px;align-items:end;justify-content:flex-end;flex-wrap:wrap}.manual-search-filters label{display:flex;flex-direction:column;gap:5px}.manual-search-filters select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px 11px;min-width:160px}.manual-search-state{grid-column:1/-1;display:flex;align-items:center;gap:8px;background:#f6f7fb;border-radius:8px;padding:8px 10px;font-size:.68rem;color:var(--muted)}.manual-search-state.success{background:var(--success-bg);color:var(--success)}.manual-search-state.error{background:var(--danger-bg);color:var(--danger)}
.spinner{display:inline-block;width:15px;height:15px;border:2px solid #cfd5e7;border-top-color:var(--blue);border-radius:50%;animation:spin .75s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}
.manual-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.manual-kpis article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px 15px}.manual-kpis strong,.manual-kpis span{display:block}.manual-kpis strong{font-size:1.35rem}.manual-kpis span{font-size:.66rem;color:var(--muted)}
.manual-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.manual-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:16px;box-shadow:0 5px 20px rgba(25,31,72,.04);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}.manual-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:#8790a8}.manual-card.current:before{background:var(--success)}.manual-card.draft:before{background:var(--info)}.manual-card.archived:before,.manual-card.superseded:before{background:#969baa}.manual-card-top{display:grid;grid-template-columns:50px 1fr;gap:12px}.manual-file-icon{width:48px;height:55px;background:var(--danger-bg);color:var(--danger);border-radius:9px;display:grid;place-items:center;font-size:.7rem;font-weight:950;position:relative}.manual-file-icon:after{content:"";position:absolute;right:0;top:0;border-style:solid;border-width:0 0 12px 12px;border-color:transparent transparent #f6c7cd transparent}.manual-card-heading h2{font-size:.92rem;margin:3px 0 2px;line-height:1.28}.manual-card-heading p{font-size:.67rem;color:var(--muted);margin:0}.manual-code-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.manual-code{font-size:.64rem;font-weight:900;letter-spacing:.08em;color:var(--navy)}.manual-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;background:#f8f9fc;border-radius:9px;padding:9px}.manual-meta span{font-size:.65rem;min-width:0;overflow:hidden;text-overflow:ellipsis}.manual-meta b{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.55rem;color:var(--muted);margin-bottom:1px}.manual-tags{display:flex;gap:5px;flex-wrap:wrap}.manual-tags span{background:var(--sky);color:#425b9a;border-radius:999px;padding:3px 7px;font-size:.57rem;font-weight:750}.manual-card-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto}.manual-content-hits{border:1px solid #d9e2f7;background:#f7f9ff;border-radius:9px;padding:9px;display:grid;gap:5px}.manual-content-hits>strong{font-size:.63rem;color:var(--blue)}.manual-content-hits button{border:0;background:#fff;border-radius:7px;text-align:left;padding:7px;font-size:.62rem;line-height:1.35;color:#4e556b}.manual-content-hits button:hover{box-shadow:0 4px 12px rgba(35,52,105,.1)}.manual-content-hits button span{display:inline-block;background:var(--info-bg);color:var(--info);font-weight:850;margin-right:6px;border-radius:5px;padding:2px 5px}
.manual-form .manual-storage-note{align-self:end;background:var(--info-bg);color:#405986;border-radius:8px;padding:9px;font-size:.66rem}.manual-form input[type=file]{padding:8px;background:#f8f9fc}.manual-history{display:grid;gap:10px}.manual-history>p{margin:0 0 4px;color:var(--muted);font-size:.72rem}.manual-history article{border:1px solid var(--line);border-radius:10px;padding:11px;display:flex;justify-content:space-between;gap:15px;align-items:center}.manual-history span,.manual-history strong,.manual-history small{display:block}.manual-history span{font-size:.6rem;text-transform:uppercase;color:var(--muted);font-weight:850}.manual-history strong{font-size:.78rem}.manual-history small{font-size:.64rem;color:var(--muted)}.manual-history article>div:last-child{display:flex;gap:7px}
.manual-viewer{display:flex;flex-direction:column;gap:9px;height:min(78vh,900px)}.manual-view-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center}.manual-view-toolbar strong,.manual-view-toolbar span{display:block}.manual-view-toolbar strong{font-size:.78rem}.manual-view-toolbar span{font-size:.63rem;color:var(--muted)}.manual-view-actions{display:flex;gap:7px}.manual-findbar{display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(200px,1fr);gap:7px;align-items:center;background:#f5f7fb;padding:7px;border-radius:9px}.manual-findbar input{border:1px solid var(--line);border-radius:8px;padding:8px}.manual-findbar>span{font-size:.61rem;color:var(--muted);text-align:right}.manual-view-results{display:flex;gap:6px;overflow-x:auto;min-height:0}.manual-view-results>strong,.manual-view-results>span{font-size:.65rem;white-space:nowrap;align-self:center}.manual-view-results button{min-width:240px;max-width:360px;border:1px solid #dce3f3;background:#fff;border-radius:8px;padding:7px;text-align:left;font-size:.6rem;line-height:1.3}.manual-view-results button span{display:block;font-weight:850;color:var(--blue);margin-bottom:2px}.manual-frame-loading{flex:1;display:grid;place-items:center;align-content:center;gap:9px;background:#f4f5f8;border-radius:10px;color:var(--muted)}.manual-pdf-frame{width:100%;flex:1;border:1px solid var(--line);border-radius:10px;background:#555;min-height:500px}.manual-settings-summary{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:7px 10px;align-items:center;background:#f7f8fb;border-radius:9px;padding:12px;margin:14px 0}.manual-settings-summary strong{font-size:1.2rem}.manual-settings-summary span{font-size:.65rem;color:var(--muted)}

@media(max-width:1200px){.manual-library{grid-template-columns:1fr}.manual-search-panel{grid-template-columns:1fr}.manual-search-filters{justify-content:flex-start}.manual-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.manual-kpis{grid-template-columns:1fr 1fr}.manual-meta{grid-template-columns:repeat(2,1fr)}.manual-search-filters{display:grid;grid-template-columns:1fr}.manual-search-filters select{width:100%}.manual-view-toolbar{align-items:flex-start;flex-direction:column}.manual-findbar{grid-template-columns:1fr auto}.manual-findbar>span{grid-column:1/-1;text-align:left}.manual-viewer{height:76vh}.manual-pdf-frame{min-height:420px}.manual-history article{align-items:flex-start;flex-direction:column}.manual-history article>div:last-child{width:100%}}
@media print{.manual-library{grid-template-columns:1fr 1fr}.manual-card{break-inside:avoid;box-shadow:none}.manual-card-actions,.manual-search-panel,.manual-kpis{display:none!important}}


/* ========================================================================== 
   Versione 4 - leggibilità migliorata
   ========================================================================== */
@media screen {
  html{font-size:17px}
  :root{--sidebar:285px}
  body{line-height:1.55}
  .sidebar{padding:22px 16px 18px}
  .sidebar-brand{gap:14px;padding-bottom:22px}
  .sidebar-brand img{width:72px;height:56px;padding:5px}
  .sidebar-brand strong{font-size:1.04rem}
  .sidebar-brand span{font-size:.82rem}
  .nav-item{font-size:.96rem;padding:12px 13px;gap:13px}
  .nav-icon{font-size:1.15rem;width:24px}
  .nav-section{font-size:.75rem;padding-top:20px}
  .sync-state{font-size:.8rem}
  .user-chip strong{font-size:.88rem}.user-chip small{font-size:.76rem}
  .main-content{padding:34px 38px 56px}
  .page-header{margin-bottom:25px}
  .page-header h1{font-size:2rem;line-height:1.15}
  .page-header p{font-size:.98rem;line-height:1.5}
  .eyebrow{font-size:.76rem}
  .button{font-size:.9rem;min-height:41px;padding:10px 15px}
  .button.small{font-size:.82rem;min-height:36px;padding:8px 11px}
  .compact-select{font-size:.9rem;min-height:42px}
  .panel{padding:22px}
  .panel-header h2,.panel-title h2{font-size:1.16rem}
  .panel-header p,.panel-title p{font-size:.86rem}
  .kpi-card small,.kpi-card span{font-size:.82rem}
  .deadline-item{grid-template-columns:110px 1fr auto;padding:13px 0}
  .deadline-date{font-size:.78rem;padding:7px 9px}
  .deadline-item strong{font-size:.92rem}.deadline-item small{font-size:.8rem}
  .timeline strong{font-size:.86rem}.timeline small{font-size:.76rem}
  .filter-bar{padding:14px;gap:12px}
  .filter-bar label{font-size:.79rem}
  .filter-bar input,.filter-bar select{font-size:.9rem;min-height:42px;padding:9px 11px}
  .data-table{font-size:.88rem}
  .data-table th{font-size:.72rem;padding:13px 12px}
  .data-table td{padding:13px 12px}
  .data-table td small{font-size:.77rem;line-height:1.45}
  .badge{font-size:.72rem;padding:5px 9px}
  .mini-tag{font-size:.69rem;padding:4px 6px}
  .row-link{font-size:.82rem}
  .audit-document{padding:25px}
  .audit-summary-grid,.form-grid{gap:14px}
  .audit-summary-grid{padding:17px;margin-bottom:15px}
  .audit-summary-grid label,.form-grid label,.meeting-meta label{font-size:.79rem}
  .audit-summary-grid input,.audit-summary-grid select,.audit-summary-grid textarea,
  .form-grid input,.form-grid select,.form-grid textarea,.meeting-meta input,.review-section textarea{font-size:.9rem;padding:10px 11px;min-height:42px}
  .audit-stats{font-size:.78rem;gap:9px;padding:10px 2px 17px}
  .checklist-list{gap:13px}
  .check-item-head{grid-template-columns:40px 1fr 160px;gap:13px;padding:16px}
  .item-number{width:35px;height:35px;font-size:.79rem}
  .requirement-line strong{font-size:.86rem}
  .requirement-line span,.requirement-line em{font-size:.68rem;padding:3px 6px}
  .item-main p{font-size:.93rem;line-height:1.5;margin-top:7px}
  .result-select span{font-size:.7rem}.result-select select{font-size:.82rem;padding:9px}
  .check-item-fields{gap:12px;padding:14px 16px}
  .check-item-fields label{font-size:.75rem}
  .check-item-fields input,.check-item-fields textarea{font-size:.87rem;padding:9px}
  .finding-panel{padding:16px}
  .finding-panel-title strong{font-size:1rem}.finding-panel-title span{font-size:.76rem}
  .form-grid.compact label{font-size:.74rem}
  .form-grid.compact input,.form-grid.compact select,.form-grid.compact textarea{font-size:.84rem;padding:9px}
  .record-content h2{font-size:1.05rem}.record-content p{font-size:.84rem}.record-date strong{font-size:.9rem}.record-date span,.record-side small{font-size:.75rem}
  .training-card{padding:20px}
  .training-card h2{font-size:1.08rem}
  .training-card>p{font-size:.82rem;height:auto;min-height:38px}
  .training-progress small{font-size:.75rem}
  .training-card dt{font-size:.68rem}.training-card dd{font-size:.8rem}
  .training-top small{font-size:.73rem}
  .training-free-participants{background:#f3f6ff;border:1px solid #dce5fb;border-radius:8px;padding:9px 10px;margin-top:10px}
  .training-free-participants strong,.training-free-participants span{display:block}
  .training-free-participants strong{font-size:.72rem;color:var(--blue);margin-bottom:2px}
  .training-free-participants span{font-size:.78rem;color:#515a73;line-height:1.4}
  .user-check{padding:9px}.user-check span{font-size:.86rem}.user-check small{font-size:.73rem}
  fieldset{padding:13px}legend{font-size:.78rem}
  .free-participants-field small{display:block;color:var(--muted);font-size:.75rem;font-weight:500;line-height:1.45;margin-top:6px}
  .modal-header{padding:20px 23px}.modal-header h2{font-size:1.3rem}.modal-body{padding:21px 23px}
  .form-error{font-size:.82rem}.toast strong{font-size:.82rem}.toast span{font-size:.78rem}
  .login-card{width:min(440px,100%);padding:34px;gap:17px}
  .login-card h2{font-size:1.7rem}.login-card p{font-size:.9rem}.login-card label{font-size:.82rem}.login-card input{font-size:1rem;padding:13px 14px}
  .login-mode,.demo-credentials{font-size:.78rem}
  .manual-search-main label>span,.manual-search-filters label{font-size:.79rem}
  .manual-search-state{font-size:.78rem}
  .manual-kpis span{font-size:.77rem}
  .manual-card-heading h2{font-size:1.05rem}.manual-card-heading p{font-size:.78rem}
  .manual-code{font-size:.74rem}.manual-meta span{font-size:.76rem}.manual-meta b{font-size:.66rem}
  .manual-tags span{font-size:.69rem}.manual-content-hits>strong{font-size:.74rem}.manual-content-hits button{font-size:.74rem}
  .manual-view-toolbar strong{font-size:.9rem}.manual-view-toolbar span{font-size:.75rem}
  .manual-findbar>span,.manual-view-results button{font-size:.73rem}
}
@media screen and (max-width:1200px) and (min-width:821px){:root{--sidebar:245px}.main-content{padding:28px 25px}}

/* ========================================================================== 
   Versione 4 - stampa audit professionale
   ========================================================================== */
@page auditReport{size:A4 portrait;margin:12mm 11mm 15mm}
@page auditRegister{size:A4 landscape;margin:11mm}
@media print{
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
  body.print-audit-report .audit-document{page:auditReport}
  body.print-audit-register .print-area{page:auditRegister}
  body.print-audit-report{font-size:9.2pt;line-height:1.35}
  body.print-audit-report .main-content{width:100%}
  body.print-audit-report .print-header{display:grid;grid-template-columns:38mm 42mm 1fr 31mm;min-height:21mm;border:1.2pt solid #1e2a61;margin-bottom:4mm;background:#fff}
  body.print-audit-report .print-header img{width:35mm;height:19mm;padding:2mm}
  body.print-audit-report .print-header>div{border-left:1px solid #8892b5;padding:2.2mm 2.5mm;display:flex;flex-direction:column;justify-content:center}
  body.print-audit-report .print-organisation strong{font-size:8.5pt;color:#17205a}
  body.print-audit-report .print-organisation span{font-size:6.5pt;color:#4c5572}
  body.print-audit-report .print-title{text-align:left;background:#f1f4fb}
  body.print-audit-report .print-title strong{font-size:10.5pt;line-height:1.18;color:#17205a}
  body.print-audit-report .print-title span{font-size:7.2pt;margin-top:1.2mm;color:#48516b}
  body.print-audit-report .print-doc-meta{gap:.3mm;text-align:center}
  body.print-audit-report .print-doc-meta span{font-size:5.8pt;text-transform:uppercase;letter-spacing:.05em;color:#656d83}
  body.print-audit-report .print-doc-meta strong{font-size:7.2pt;color:#17205a}
  body.print-audit-report .audit-print-band{display:grid!important;grid-template-columns:repeat(4,1fr);border:1px solid #aeb5c8;border-radius:0;margin-bottom:3mm}
  body.print-audit-report .audit-print-band>div{padding:2mm 2.4mm;border-right:1px solid #c5cad8;background:#f8f9fc}
  body.print-audit-report .audit-print-band>div:last-child{border-right:0}
  body.print-audit-report .audit-print-band span,body.print-audit-report .audit-print-band strong{display:block}
  body.print-audit-report .audit-print-band span{font-size:6pt;text-transform:uppercase;letter-spacing:.05em;color:#697085}
  body.print-audit-report .audit-print-band strong{font-size:8pt;color:#171b55;margin-top:.5mm}
  body.print-audit-report .audit-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border:1px solid #aeb5c8;padding:0;margin-bottom:3mm;background:#fff}
  body.print-audit-report .audit-summary-grid label{border-right:1px solid #d2d6e1;border-bottom:1px solid #d2d6e1;padding:1.7mm 2mm;font-size:6pt;text-transform:uppercase;letter-spacing:.035em;color:#626a80;min-height:12mm}
  body.print-audit-report .audit-summary-grid label:nth-child(even){border-right:0}
  body.print-audit-report .audit-summary-grid label.span-2{grid-column:span 2;border-right:0}
  body.print-audit-report .audit-summary-grid input,body.print-audit-report .audit-summary-grid textarea,body.print-audit-report .audit-summary-grid select{display:block;font-size:8pt;font-weight:650;text-transform:none;letter-spacing:0;color:#101426;margin-top:1mm;min-height:0}
  body.print-audit-report .audit-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5mm;margin:0 0 3mm;padding:0}
  body.print-audit-report .audit-stats span{border:1px solid #c4c9d6;border-radius:2mm;padding:1.5mm;text-align:center;background:#f2f4f8!important;color:#252a3b!important;font-size:7pt}
  body.print-audit-report .audit-stats .l1{background:#fdecef!important;color:#982e3a!important;border-color:#df939d}
  body.print-audit-report .audit-stats .l2{background:#fff3dc!important;color:#8b500c!important;border-color:#e8c17f}
  body.print-audit-report .audit-stats .im{background:#eaf1ff!important;color:#365d9d!important;border-color:#9bb6df}
  body.print-audit-report .checklist-list{gap:3mm}
  body.print-audit-report .check-item{border:1px solid #a9afbe;border-radius:1.5mm;overflow:hidden;break-inside:avoid-page;box-shadow:none!important}
  body.print-audit-report .check-item:before{width:2.3mm}
  body.print-audit-report .check-item-head{grid-template-columns:10mm 1fr 26mm;gap:2mm;padding:2.3mm 2.5mm 2.3mm 4mm;background:#f3f5f9!important;border-bottom:1px solid #ccd1dc}
  body.print-audit-report .item-number{width:8mm;height:8mm;border-radius:1.3mm;border:0;font-size:7pt;background:#303a70!important;color:#fff!important}
  body.print-audit-report .requirement-line strong{font-size:7.7pt;color:#17205a}
  body.print-audit-report .requirement-line span,body.print-audit-report .requirement-line em{font-size:5.8pt;padding:.6mm 1.2mm}
  body.print-audit-report .item-main p{font-size:8.2pt;line-height:1.35;margin:1mm 0 0;color:#171a2b}
  body.print-audit-report .result-print{display:grid;place-items:center;border:1px solid #9da4b8;border-radius:1.3mm;padding:1.4mm;font-size:7pt;background:#fff!important;color:#303647!important}
  body.print-audit-report .result-ok .result-print{background:#e7f6ef!important;color:#146d4c!important;border-color:#76be9f}
  body.print-audit-report .result-level2 .result-print{background:#fff3dc!important;color:#8b500c!important;border-color:#d8a750}
  body.print-audit-report .result-level1 .result-print{background:#fdecef!important;color:#962c38!important;border-color:#d57884}
  body.print-audit-report .result-improvement .result-print{background:#eaf1ff!important;color:#365d9d!important;border-color:#82a2d4}
  body.print-audit-report .result-na .result-print{background:#eceef2!important;color:#555b6b!important}
  body.print-audit-report .check-item-fields{display:grid;grid-template-columns:1fr 1.55fr 1fr;gap:0;padding:0 0 0 2.3mm;background:#fff}
  body.print-audit-report .check-item-fields label{padding:1.8mm 2mm;border-right:1px solid #d4d8e2;font-size:5.8pt;text-transform:uppercase;color:#697085;min-height:15mm}
  body.print-audit-report .check-item-fields label:last-child{border-right:0}
  body.print-audit-report .check-item-fields input,body.print-audit-report .check-item-fields textarea{font-size:7.6pt;line-height:1.35;text-transform:none;color:#151827;margin-top:.8mm;white-space:pre-wrap}
  body.print-audit-report .finding-panel{padding:2.4mm 2.5mm 2.5mm 4mm;border-top:1px solid #d8aab0;background:#fff8f9!important}
  body.print-audit-report .finding-panel-title{margin-bottom:2mm;padding-bottom:1mm;border-bottom:1px solid #e6c4c8}
  body.print-audit-report .finding-panel-title strong{font-size:8pt;color:#962c38}
  body.print-audit-report .form-grid.compact{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5mm}
  body.print-audit-report .form-grid.compact .span-2{grid-column:span 2}
  body.print-audit-report .form-grid.compact label{border:1px solid #dfcdd0;background:#fff;padding:1.3mm 1.6mm;font-size:5.7pt;text-transform:uppercase;color:#72636a;border-radius:1mm}
  body.print-audit-report .form-grid.compact input,body.print-audit-report .form-grid.compact textarea,body.print-audit-report .form-grid.compact select{display:block;font-size:7.3pt;line-height:1.3;text-transform:none;color:#171922;margin-top:.7mm}
  body.print-audit-report .audit-signatures{grid-template-columns:repeat(3,1fr);gap:5mm;margin-top:7mm;padding-top:0;border-top:0;break-inside:avoid}
  body.print-audit-report .audit-signatures>div{border:1px solid #aeb5c8;min-height:28mm;padding:2.5mm;background:#fff}
  body.print-audit-report .audit-signatures span{font-size:6pt;color:#5d657a}
  body.print-audit-report .audit-signatures strong{font-size:8pt;margin:2mm 0 8mm;color:#17205a}
  body.print-audit-report .audit-signatures small{font-size:6.5pt;color:#4e5569}
  body.print-audit-report .print-footer{position:fixed;left:11mm;right:11mm;bottom:4mm;margin:0;padding-top:1.5mm;border-top:1px solid #aeb5c8;text-align:left;font-size:6pt;color:#656d80}
  body.print-audit-report .print-footer:after{content:"Documento generato dalla PWA Compliance Monitoring · Pagina " counter(page);float:right}
  body.print-audit-register .print-header{grid-template-columns:44mm 48mm 1fr 32mm}
  body.print-audit-register .print-doc-meta{display:flex;flex-direction:column;text-align:center}
  body.print-audit-register .data-table{font-size:7.5pt}
  body.print-audit-register .data-table th{background:#1f2a63!important;color:#fff!important;font-size:6.5pt;border-color:#1f2a63}
  body.print-audit-register .data-table tbody tr:nth-child(even){background:#f3f5f9!important}
}

/* ========================================================================== 
   Versione 4.1 - logo ufficiale Aero Club Modena più visibile
   ========================================================================== */
@media screen {
  .login-brand{
    align-items:center;
    gap:24px;
    padding:10px 0;
  }
  .login-brand img{
    width:clamp(260px,31vw,430px);
    height:auto;
    max-height:176px;
    object-fit:contain;
    background:#fff;
    border:2px solid rgba(255,255,255,.9);
    border-radius:20px;
    padding:14px 20px;
    box-shadow:0 20px 48px rgba(5,8,39,.30),0 0 0 7px rgba(255,255,255,.08);
  }
  .login-brand>div{
    min-width:150px;
  }
  .login-brand span{
    font-size:.88rem;
    letter-spacing:.08em;
    font-weight:800;
  }
  .login-brand h1{
    font-size:1.72rem;
    line-height:1.1;
  }
  .sidebar-brand{
    flex-direction:column;
    align-items:stretch;
    gap:9px;
    padding:3px 5px 18px;
  }
  .sidebar-brand img{
    width:100%;
    height:86px;
    object-fit:contain;
    background:#fff;
    border-radius:13px;
    padding:8px 12px;
    box-shadow:0 10px 24px rgba(0,0,0,.20);
  }
  .sidebar-brand>div{
    text-align:center;
  }
  .sidebar-brand strong{
    font-size:1.08rem;
    letter-spacing:.01em;
  }
  .sidebar-brand span{
    font-size:.84rem;
  }
}
@media screen and (max-width:1280px) and (min-width:821px){
  .login-brand img{width:310px;max-height:140px}
  .login-brand h1{font-size:1.5rem}
}
@media screen and (max-width:820px){
  .sidebar-brand{flex-direction:row;align-items:center;padding:2px 4px 10px}
  .sidebar-brand img{width:116px;height:62px;padding:5px 8px}
  .sidebar-brand>div{text-align:left}
}
@media print{
  .print-header img{
    width:55mm;
    height:20mm;
    object-fit:contain;
    padding:1.5mm 2mm;
  }
  body.print-audit-report .print-header{
    grid-template-columns:49mm 39mm 1fr 29mm;
    min-height:23mm;
  }
  body.print-audit-report .print-header img{
    width:47mm;
    height:21mm;
    object-fit:contain;
    padding:1mm 1.5mm;
  }
  body.print-audit-register .print-header{
    grid-template-columns:56mm 46mm 1fr 31mm;
  }
}

/* v4.2 - duplicazione audit/checklist tra annualità */
.row-actions-inline{display:flex;align-items:center;gap:8px;white-space:nowrap}
.row-actions-inline .row-link{padding:4px 0;cursor:pointer}
#duplicate-audit-form .notice strong{display:inline-block;margin-bottom:3px;color:var(--navy)}
#duplicate-audit-form label.checkbox{align-items:flex-start;gap:9px;background:#f7f9fd;border:1px solid var(--line);border-radius:10px;padding:11px 12px}
#duplicate-audit-form label.checkbox input{width:auto;margin-top:2px}
#duplicate-audit-form label.checkbox small{display:block;color:var(--muted);font-weight:600;margin-top:2px}
@media(max-width:760px){.row-actions-inline{flex-direction:column;align-items:flex-start;gap:2px}}

/* v4.3 - gestione dinamica item checklist */
.item-management{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}
.item-tool{appearance:none;border:1px solid #cfd5e3;background:#fff;color:#24314f;border-radius:7px;padding:5px 8px;font:800 .68rem/1.1 inherit;cursor:pointer;transition:background .16s,border-color .16s,transform .16s,opacity .16s}
.item-tool:hover:not(:disabled){background:#eef3fb;border-color:#9eabc3;transform:translateY(-1px)}
.item-tool:disabled{opacity:.32;cursor:not-allowed;transform:none}
.item-tool.danger{color:#a72f3d;border-color:#e0abb2;background:#fff8f9}
.item-tool.danger:hover:not(:disabled){background:#fdebee;border-color:#ca6c79}
.custom-item-tag{background:#e8f6ff!important;color:#246b92!important}
.template-item-editor{border:1px solid #d9dfeb;background:#f7f9fc;border-radius:12px;padding:14px}
.template-item-editor-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.template-item-editor-title strong,.template-item-editor-title small{display:block}
.template-item-editor-title strong{font-size:.94rem;color:#17213c}
.template-item-editor-title small{margin-top:3px;font-size:.73rem;color:#697085;font-weight:550}
#template-item-rows{display:flex;flex-direction:column;gap:11px}
.template-item-row{border:1px solid #d5dbe7;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(35,49,79,.035)}
.template-item-row-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;background:#edf2f8;border-bottom:1px solid #d9dfeb}
.template-item-row-head strong{font-size:.78rem;color:#25314d}
.template-item-row-head>div{display:flex;gap:5px;align-items:center}
.template-item-fields{display:grid;grid-template-columns:150px 1fr 150px;gap:10px;padding:12px}
.template-item-fields label{font-size:.73rem;font-weight:750;color:#60677a}
.template-item-fields input,.template-item-fields textarea{width:100%;border:1px solid #d9deea;border-radius:8px;background:#fff;padding:8px 9px;margin-top:4px;font-size:.84rem;resize:vertical}
.template-item-fields .span-2{grid-column:1/-1}
@media(max-width:820px){.item-management{gap:5px}.item-tool{font-size:.72rem;padding:6px 8px}.template-item-editor-title{align-items:flex-start;flex-direction:column}.template-item-fields{grid-template-columns:1fr}.template-item-fields .span-2{grid-column:auto}}
@media print{.item-management,.template-item-editor{display:none!important}}


/* ========================================================================== 
   Versione 4.7 - storico verifiche normative e cancellazione audit
   ========================================================================== */
.coverage-kpis{grid-template-columns:repeat(5,minmax(0,1fr))}.coverage-kpis article span{display:block;margin-top:3px;color:var(--muted);font-size:.62rem}
.button.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.button.danger-solid:hover{background:#982b37}
.notice.warning{background:var(--warning-bg);color:#81500f}
.delete-warning{border:1px solid #efbcc3;background:var(--danger-bg);color:#7f2630;border-radius:12px;padding:15px}.delete-warning strong{display:block;font-size:1.05rem}.delete-warning p{margin:5px 0 0}.delete-audit-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.delete-audit-summary>div{border:1px solid var(--line);background:#fafbfe;border-radius:10px;padding:10px}.delete-audit-summary span,.delete-audit-summary strong{display:block}.delete-audit-summary span{font-size:.68rem;color:var(--muted);font-weight:750}.delete-audit-summary strong{font-size:1.05rem}.delete-audit-form label b{color:var(--danger)}
.coverage-history-table td:nth-child(5){min-width:390px}.coverage-history-table td:nth-child(6){min-width:460px}.coverage-verified td:nth-child(6){background:linear-gradient(90deg,rgba(31,139,99,.045),transparent)}.coverage-never-verified td:nth-child(6){background:linear-gradient(90deg,rgba(199,120,20,.045),transparent)}
.verification-summary{display:grid;gap:4px;margin-bottom:8px}.verification-summary small{margin:0!important}.verification-result-counts{display:flex;gap:4px;flex-wrap:wrap}.verification-result-counts i{font-style:normal;font-size:.58rem;font-weight:850;padding:2px 6px;border-radius:999px;background:#edf0f5;color:#50566c}.verification-result-counts i.ok{background:var(--success-bg);color:var(--success)}.verification-result-counts i.na{background:#eef0f4;color:#626879}.verification-result-counts i.l1{background:var(--danger-bg);color:var(--danger)}.verification-result-counts i.l2{background:var(--warning-bg);color:var(--warning)}.verification-result-counts i.im{background:var(--info-bg);color:var(--info)}
.verification-details summary{cursor:pointer;color:var(--blue);font-weight:800;font-size:.7rem}.verification-list{display:grid;gap:7px;margin-top:8px}.verification-entry{display:block;border:1px solid #e2e6ef;border-left:5px solid #9ba1b3;background:#fff;border-radius:9px;padding:9px}.verification-entry.result-ok{border-left-color:var(--success)}.verification-entry.result-level1{border-left-color:var(--danger)}.verification-entry.result-level2{border-left-color:var(--warning)}.verification-entry.result-improvement{border-left-color:var(--info)}.verification-entry.result-na{border-left-color:#8c91a0}.verification-entry:hover{box-shadow:0 5px 16px rgba(24,31,77,.09)}.verification-entry-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.verification-entry-head strong{font-size:.71rem}.verification-entry>span{display:block;color:var(--muted);font-size:.63rem;margin-top:2px}.verification-entry>small{display:block!important;max-width:none!important;font-size:.67rem!important;color:var(--ink)!important;margin-top:5px!important}.verification-entry p{font-size:.65rem;margin:5px 0 0;line-height:1.4}.never-verified-label{display:inline-flex;background:var(--warning-bg);color:#8a570f;border-radius:999px;padding:5px 9px;font-size:.63rem;font-weight:800}
@media(max-width:1200px){.coverage-kpis{grid-template-columns:repeat(2,1fr)}.coverage-history-table td:nth-child(5),.coverage-history-table td:nth-child(6){min-width:330px}.delete-audit-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.coverage-kpis{grid-template-columns:1fr}}
@media(max-width:760px){.delete-audit-summary{grid-template-columns:1fr}}
@media print{
  .coverage-history-table td:nth-child(5),.coverage-history-table td:nth-child(6){min-width:0}.verification-details summary{display:none}.verification-list{display:block!important}.verification-entry{break-inside:avoid;border:0;border-left:2mm solid #777;border-bottom:1px solid #aaa;border-radius:0;padding:1.5mm 1mm;margin-bottom:1mm}.verification-entry p{font-size:6pt}.verification-result-counts{display:none}.never-verified-label{border:1px solid #777;background:#fff!important;color:#000}.delete-audit-form{display:none!important}
}

/* ========================================================================== 
   Versione 4.8 - rinumerazione audit e qualificazione auditor
   ========================================================================== */
.audit-number-field input{font-weight:850;color:var(--navy);letter-spacing:.02em}.audit-number-field small{display:block;margin-top:5px;color:var(--muted);font-size:.64rem;font-weight:600;line-height:1.35}.audit-number-history{display:flex;align-items:center;gap:7px;flex-wrap:wrap;border:1px dashed #cfd6e5;background:#f8faff;border-radius:10px;padding:9px 11px}.audit-number-history strong{font-size:.68rem;color:var(--navy);text-transform:uppercase}.audit-number-history span{font-size:.64rem;color:#545c71;background:#fff;border:1px solid #e0e5ef;border-radius:999px;padding:4px 8px}
.auditor-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.auditor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.auditor-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 5px 20px rgba(25,31,72,.04);overflow:hidden;transition:transform .18s,box-shadow .18s,border-color .18s;cursor:pointer}.auditor-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:#b9c4d9}.auditor-card-head{display:grid;grid-template-columns:58px 1fr auto;gap:13px;align-items:center;padding:16px;border-bottom:1px solid #edf0f5}.auditor-card-head h2{font-size:1.02rem;margin:2px 0}.auditor-card-head p{font-size:.72rem;color:var(--muted);margin:0}.auditor-avatar,.auditor-profile-avatar{display:grid;place-items:center;border-radius:16px;background:linear-gradient(145deg,#e6ecff,#f4f7ff);border:1px solid #cbd5ef;color:var(--navy);font-weight:900;letter-spacing:.04em}.auditor-avatar{width:58px;height:58px;font-size:1.1rem}.auditor-card-body{padding:14px 16px}.auditor-card-body dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 0 12px}.auditor-card-body dl div{border:1px solid #e5e9f1;background:#fafbfe;border-radius:9px;padding:8px}.auditor-card-body dt,.auditor-card-body dd{margin:0}.auditor-card-body dt{font-size:.61rem;color:var(--muted);font-weight:750;text-transform:uppercase}.auditor-card-body dd{font-size:.78rem;font-weight:800;margin-top:2px}.auditor-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#f8f9fc;border-top:1px solid #edf0f5;font-size:.67rem;color:var(--muted)}
.auditor-profile-hero{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:19px;margin-bottom:15px}.auditor-profile-avatar{width:88px;height:88px;font-size:1.7rem}.auditor-profile-hero h2{margin:3px 0;font-size:1.5rem;color:var(--navy)}.auditor-profile-hero p{margin:0 0 8px;color:var(--muted)}.auditor-profile-status{text-align:right}.auditor-profile-status small{display:block;margin-top:8px;color:var(--muted);line-height:1.5}.auditor-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.auditor-detail-grid .span-2{grid-column:span 2}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.detail-list div{padding:9px;border:1px solid #e5e9f1;border-radius:9px;background:#fafbfe}.detail-list dt,.detail-list dd{margin:0}.detail-list dt{font-size:.61rem;color:var(--muted);text-transform:uppercase;font-weight:750}.detail-list dd{font-size:.74rem;font-weight:750;margin-top:3px;overflow-wrap:anywhere}.qualification-status-list{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.qualification-status-list>div{border:1px solid #e3e8f1;background:#f8faff;border-radius:11px;padding:12px}.qualification-status-list span,.qualification-status-list strong,.qualification-status-list small{display:block}.qualification-status-list span{font-size:.63rem;color:var(--muted);text-transform:uppercase;font-weight:750}.qualification-status-list strong{font-size:1.15rem;margin:4px 0;color:var(--navy)}.qualification-status-list small{font-size:.62rem;color:var(--muted);line-height:1.35}.text-blocks .box,.text-blocks>div{border:1px solid #e4e8f0;border-radius:10px;background:#fafbfe;padding:13px}.text-blocks h3{font-size:.78rem;color:var(--navy);margin:0 0 7px}.text-blocks p{margin:0;white-space:normal}.evaluation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.evaluation-card{border:1px solid #e1e5ed;border-left:5px solid #aeb5c4;border-radius:11px;padding:11px;background:#fff}.evaluation-card.complete{border-left-color:var(--success);background:linear-gradient(90deg,rgba(31,139,99,.04),#fff 45%)}.evaluation-card>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.evaluation-card>div:first-child strong{font-size:.72rem}.evaluation-card dl{margin:9px 0 0;display:grid;gap:5px}.evaluation-card dl div{display:grid;grid-template-columns:105px 1fr;gap:6px;border-top:1px solid #edf0f4;padding-top:5px}.evaluation-card dt,.evaluation-card dd{margin:0;font-size:.62rem}.evaluation-card dt{color:var(--muted);font-weight:750}.evaluation-card dd{font-weight:650;overflow-wrap:anywhere}.record-line{display:block;font-size:.65rem;margin-bottom:3px}
.form-section-title{border-bottom:2px solid #dbe2ef;padding-top:8px}.form-section-title h3{margin:0 0 6px;color:var(--navy);font-size:.86rem}.annex-editor{display:grid;grid-template-columns:1fr 1fr;gap:8px}.annex-check{display:grid!important;grid-template-columns:auto 1fr 150px;align-items:center;gap:8px;border:1px solid #dfe4ed;border-radius:9px;background:#fafbfe;padding:8px!important}.annex-check>input[type=checkbox]{width:auto!important;margin:0}.annex-check span{display:flex;align-items:center;gap:8px;font-size:.7rem}.annex-check span strong{display:grid;place-items:center;width:25px;height:25px;border-radius:7px;background:#e9eef8;color:var(--navy)}.annex-check>input:last-child{margin:0!important}.evaluation-editor,.training-session-editor{border:1px solid #dbe1ec;border-radius:11px;padding:11px;background:#fafbfe}.evaluation-editor legend,.training-session-editor legend{font-size:.74rem;font-weight:850;color:var(--navy);padding:0 6px}.auditor-form .checkbox{align-items:center}.auditor-training-form fieldset{margin-top:5px}
@media(max-width:1200px){.auditor-grid{grid-template-columns:1fr}.evaluation-grid{grid-template-columns:repeat(2,1fr)}.auditor-kpi-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.auditor-profile-hero{grid-template-columns:62px 1fr}.auditor-profile-avatar{width:62px;height:62px;font-size:1.2rem}.auditor-profile-status{grid-column:1/-1;text-align:left}.auditor-detail-grid{grid-template-columns:1fr}.auditor-detail-grid .span-2{grid-column:span 1}.qualification-status-list,.evaluation-grid,.detail-list,.annex-editor{grid-template-columns:1fr}.auditor-card-head{grid-template-columns:50px 1fr}.auditor-card-head>.badge{grid-column:1/-1;justify-self:start}.auditor-avatar{width:50px;height:50px}.annex-check{grid-template-columns:auto 1fr}.annex-check>input:last-child{grid-column:2}.auditor-kpi-grid{grid-template-columns:1fr}}
@media print{.audit-number-history{display:none!important}.auditor-profile-hero,.auditor-detail-grid{box-shadow:none}.auditor-card{break-inside:avoid}}


/* ========================================================================== 
   Versione 4.9 - rinnovo autorizzazioni e allegati auditor
   ========================================================================== */
.renewal-button{background:#6f4bb8;border-color:#6f4bb8;color:#fff}.renewal-button:hover{background:#5c3b9e}.renewal-link{color:#6843ae!important}.renewal-intro{border:1px solid #d8ccef;background:linear-gradient(135deg,#f7f3ff,#fff);border-left:6px solid #7952bd;border-radius:12px;padding:14px}.renewal-intro strong{display:block;color:#4e2f86;font-size:.9rem}.renewal-intro p{margin:4px 0 0;color:#5d5670;font-size:.72rem;line-height:1.45}.renewal-check{border:1px solid #dfe3ec;border-radius:12px;padding:13px;background:#fafbfe}.renewal-check legend{padding:0 7px;color:var(--navy);font-weight:900;font-size:.78rem}.renewal-check>p{margin:0 0 10px;color:var(--muted);font-size:.67rem}.renewal-audit-table td{vertical-align:middle}.renewal-audit-table tr.renewal-ok td:first-child{border-left:5px solid var(--success)}.renewal-audit-table tr.renewal-missing td:first-child{border-left:5px solid var(--danger);background:var(--danger-bg)}.renewal-audit-table a{font-weight:800;color:var(--blue);text-decoration:none}.renewal-summary{margin-top:10px;border-radius:9px;padding:9px 11px;font-size:.7rem;font-weight:850}.renewal-summary.ok{background:var(--success-bg);color:var(--success)}.renewal-summary.missing{background:var(--danger-bg);color:var(--danger)}.auditor-renewal-form button[disabled]{opacity:.45;cursor:not-allowed}.attachment-grid{display:grid;gap:9px}.attachment-card{display:grid;grid-template-columns:54px 1fr auto;gap:12px;align-items:center;border:1px solid #e0e5ee;border-radius:11px;background:#fff;padding:11px}.attachment-card:hover{border-color:#bdc8dc;box-shadow:0 5px 16px rgba(24,31,77,.06)}.attachment-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:12px;background:#eef2fb;color:var(--navy);font-weight:950;font-size:.72rem}.attachment-main{min-width:0}.attachment-main strong,.attachment-main small{display:block}.attachment-main strong{font-size:.78rem;color:var(--ink);overflow-wrap:anywhere}.attachment-main small{font-size:.62rem;color:var(--muted);margin-top:3px}.attachment-main p{font-size:.65rem;margin:6px 0 0;color:#4f5668}.attachment-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.attachment-actions .row-link{white-space:nowrap}
@media(max-width:1100px){.qualification-status-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.attachment-card{grid-template-columns:45px 1fr}.attachment-icon{width:45px;height:45px}.attachment-actions{grid-column:1/-1;justify-content:flex-start}.qualification-status-list{grid-template-columns:1fr}}
@media print{.attachment-card{break-inside:avoid;box-shadow:none}.attachment-actions,.renewal-button{display:none!important}.renewal-check{break-inside:avoid}}
.renewal-year{display:block;font-size:.64rem;border-left:4px solid #9ba3b5;padding:3px 6px;margin:2px 0;background:#f7f8fb;border-radius:5px}.renewal-year.ok{border-left-color:var(--success)}.renewal-year.missing{border-left-color:var(--danger);background:var(--danger-bg)}

/* ========================================================================== 
   Versione 5.0 - Netlify only e monitoraggio aggiornamenti normativi
   ========================================================================== */
.regulatory-formal-note{margin:0 0 14px;padding:11px 13px;border:1px solid #d9e0ec;border-left:5px solid var(--navy);border-radius:9px;background:#f8faff;font-size:.72rem;line-height:1.5;color:#4f5668}
.regulatory-update-table td:nth-child(1){min-width:210px}.regulatory-update-table td:nth-child(2){min-width:260px}.regulatory-update-table tr.regulatory-overdue td{background:linear-gradient(90deg,rgba(184,51,64,.055),transparent)}
.regulatory-update-detail{display:grid;gap:15px}.regulatory-detail-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.regulatory-detail-status>div{padding:8px 10px;border-right:1px solid #e6eaf1}.regulatory-detail-status>div:last-child{border-right:0}.regulatory-detail-status small,.regulatory-detail-status strong{display:block}.regulatory-detail-status small{font-size:.62rem;color:var(--muted);font-weight:750;text-transform:uppercase}.regulatory-detail-status strong{font-size:.82rem;margin-top:4px;color:var(--ink)}
.regulatory-section{margin:0}.regulatory-section h3{font-size:1.02rem;color:var(--navy);margin:8px 0}.regulatory-definition{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 12px}.regulatory-definition>div{border:1px solid #e3e7ef;border-radius:9px;background:#fafbfe;padding:9px}.regulatory-definition dt,.regulatory-definition dd{margin:0}.regulatory-definition dt{font-size:.61rem;color:var(--muted);font-weight:800;text-transform:uppercase}.regulatory-definition dd{font-size:.75rem;font-weight:750;margin-top:4px;overflow-wrap:anywhere}.regulatory-text{border:1px solid #e3e7ef;background:#fbfcfe;border-radius:10px;padding:12px;font-size:.75rem;line-height:1.55;overflow-wrap:anywhere}
.regulatory-closure-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.regulatory-closure-grid>div{display:flex;align-items:center;gap:10px;border:1px solid #e2e6ed;border-radius:11px;padding:12px}.regulatory-closure-grid>div strong{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;font-size:1rem}.regulatory-closure-grid>div span{font-weight:800;font-size:.75rem}.regulatory-closure-grid .ok{background:var(--success-bg);border-color:#bfe3d5;color:var(--success)}.regulatory-closure-grid .ok strong{background:#fff}.regulatory-closure-grid .pending{background:var(--warning-bg);border-color:#ead5a9;color:#8a570f}.regulatory-closure-grid .pending strong{background:#fff}
.regulatory-attachments{display:grid;gap:8px}.regulatory-attachments>div{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;border:1px solid #e1e5ed;border-radius:10px;padding:9px;background:#fff}.regulatory-attachments strong,.regulatory-attachments small{display:block}.regulatory-attachments strong{font-size:.74rem}.regulatory-attachments small{font-size:.62rem;color:var(--muted);margin-top:3px}
@media(max-width:1050px){.regulatory-detail-status,.regulatory-definition{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.regulatory-detail-status,.regulatory-definition,.regulatory-closure-grid{grid-template-columns:1fr}.regulatory-detail-status>div{border-right:0;border-bottom:1px solid #e6eaf1}.regulatory-attachments>div{grid-template-columns:42px 1fr}.regulatory-attachments>div>.no-print{grid-column:1/-1}}
@media print{.regulatory-update-detail{display:block}.regulatory-update-detail>.panel,.regulatory-detail-status{box-shadow:none;break-inside:avoid;margin-bottom:4mm}.regulatory-detail-status{grid-template-columns:repeat(4,1fr)}.regulatory-section{break-inside:auto}.regulatory-section table tr{break-inside:avoid}.regulatory-attachments>div{break-inside:avoid}.regulatory-formal-note{background:#fff}.regulatory-update-table td:nth-child(1),.regulatory-update-table td:nth-child(2){min-width:0}}

/* v5.0 — collegamento Aggiornamenti normativi ↔ matrice di rispondenza */
.regulatory-requirement-links{margin-top:16px;padding:14px;border:1px solid var(--border,#dfe3ea);border-radius:12px;background:rgba(23,27,85,.035)}
.regulatory-requirement-links>strong{display:block;margin-bottom:9px;font-size:.92rem}
.regulatory-requirement-links>div{display:flex;flex-wrap:wrap;gap:8px}
.regulatory-requirement-links a{display:inline-flex;align-items:center;gap:4px;padding:7px 10px;border-radius:999px;background:#fff;border:1px solid #cfd5e1;text-decoration:none;font-weight:700;font-size:.86rem;color:var(--primary,#171b55)}
.regulatory-requirement-links a:hover{box-shadow:0 2px 8px rgba(23,27,85,.12);transform:translateY(-1px)}

/* v5.2 - Lista di rispondenza aggiornamenti normativi */
.regulatory-assessment-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:5px solid #9f7a1d;background:linear-gradient(90deg,#fffaf0,#fff)}
.regulatory-assessment-callout div{display:grid;gap:4px}.regulatory-assessment-callout strong{font-size:1rem}.regulatory-assessment-callout span{color:var(--muted);font-size:.82rem}
.regulatory-assessment-summary{display:grid;gap:14px}.regulatory-assessment-summary .status-stack{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.priority-action-list{display:grid;gap:8px}.priority-action-list h3{margin:0 0 4px}.priority-action-list>div{display:grid;grid-template-columns:auto 34px 1fr;gap:9px;align-items:start;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}.priority-action-list p{margin:1px 0 0;font-size:.82rem;line-height:1.35}
.regulatory-assessment-wrap{max-height:68vh;border:1px solid var(--line);border-radius:10px}.regulatory-assessment-table{min-width:2850px;font-size:.72rem}.regulatory-assessment-table th{position:sticky;top:0;z-index:3;background:#eef2f7;white-space:nowrap}.regulatory-assessment-table td{vertical-align:top;line-height:1.28;max-width:280px;white-space:normal}.regulatory-assessment-table td:nth-child(4),.regulatory-assessment-table td:nth-child(6),.regulatory-assessment-table td:nth-child(9),.regulatory-assessment-table td:nth-child(10){min-width:260px}.regulatory-assessment-table td:nth-child(1){min-width:180px}.regulatory-assessment-table td:nth-child(2){min-width:105px}.regulatory-assessment-table tr.assessment-conform td:first-child,.regulatory-assessment-table tr.assessment-baseline td:first-child{box-shadow:inset 5px 0 #2e8b57}.regulatory-assessment-table tr.assessment-conform_note td:first-child{box-shadow:inset 5px 0 #69a86b}.regulatory-assessment-table tr.assessment-verify td:first-child{box-shadow:inset 5px 0 #d5a31d}.regulatory-assessment-table tr.assessment-gap td:first-child{box-shadow:inset 5px 0 #b83340}.regulatory-assessment-table tr.assessment-future td:first-child{box-shadow:inset 5px 0 #3b76b8}.regulatory-assessment-table tr.assessment-na td:first-child{box-shadow:inset 5px 0 #8a929d}
.regulatory-assessment-table .badge{white-space:nowrap}.regulatory-assessment-print .regulatory-formal-note{margin-bottom:10px}
@media (max-width:900px){.regulatory-assessment-callout{align-items:flex-start;flex-direction:column}.priority-action-list>div{grid-template-columns:auto 28px 1fr}.regulatory-assessment-wrap{max-height:62vh}}
@media print{.regulatory-assessment-summary,.regulatory-assessment-callout{break-inside:avoid}.regulatory-assessment-wrap{max-height:none;overflow:visible;border:0}.regulatory-assessment-table{min-width:0;width:100%;font-size:5.9pt}.regulatory-assessment-table th,.regulatory-assessment-table td{position:static;min-width:0!important;max-width:none;padding:2px 3px}.regulatory-assessment-table th:nth-child(5),.regulatory-assessment-table td:nth-child(5),.regulatory-assessment-table th:nth-child(9),.regulatory-assessment-table td:nth-child(9),.regulatory-assessment-table th:nth-child(15),.regulatory-assessment-table td:nth-child(15),.regulatory-assessment-table th:nth-child(16),.regulatory-assessment-table td:nth-child(16),.regulatory-assessment-table th:nth-child(17),.regulatory-assessment-table td:nth-child(17){display:none}}

/* ========================================================================== 
   Versione 5.3 - Accettazione elettronica autenticata e tracciata
   ========================================================================== */
.acceptance-panel{margin:14px 0;border:1px solid #d8deea;border-radius:13px;background:#fff;overflow:hidden;box-shadow:0 5px 18px rgba(25,31,72,.045)}
.acceptance-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;background:linear-gradient(90deg,#f4f7fc,#fff);border-bottom:1px solid #e4e8f0}.acceptance-head h3{margin:0;color:var(--navy);font-size:.92rem}.acceptance-head p{margin:3px 0 0;color:var(--muted);font-size:.66rem}.acceptance-summary{display:grid;place-items:center;min-width:46px;height:32px;padding:0 9px;border-radius:999px;background:var(--warning-bg);color:#8a570f;font-size:.72rem;font-weight:900}.acceptance-summary.complete{background:var(--success-bg);color:var(--success)}
.acceptance-config{padding:10px 14px;border-bottom:1px solid #e7eaf1}.acceptance-config table{width:100%;border-collapse:collapse;font-size:.7rem}.acceptance-config th,.acceptance-config td{text-align:left;border-bottom:1px solid #edf0f5;padding:6px}.acceptance-config th{color:var(--muted);font-size:.61rem;text-transform:uppercase}.acceptance-config tr:last-child td{border-bottom:0}.acceptance-config select{width:100%;border:1px solid #dce1eb;border-radius:7px;padding:6px;background:#fff}.acceptance-config.readonly{opacity:.8}
.acceptance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:9px;padding:12px 14px}.acceptance-card{display:flex;flex-direction:column;gap:4px;border:1px solid #e2e6ee;border-left:5px solid #c7952a;border-radius:10px;padding:10px;background:#fff}.acceptance-card.accepted{border-left-color:var(--success);background:linear-gradient(90deg,rgba(31,139,99,.065),#fff)}.acceptance-card.pending{border-left-color:#d3a025;background:linear-gradient(90deg,rgba(211,160,37,.055),#fff)}.acceptance-card small{font-size:.59rem;color:var(--muted);font-weight:800;text-transform:uppercase}.acceptance-card strong{font-size:.8rem;color:var(--ink)}.acceptance-card span{font-size:.67rem;font-weight:850;color:#8a570f}.acceptance-card.accepted span{color:var(--success)}.acceptance-card em{font-style:normal;font-size:.58rem;color:var(--muted);overflow-wrap:anywhere}.acceptance-card .button{align-self:flex-start;margin-top:4px}
.acceptance-panel.compact{margin:5px 0;box-shadow:none}.acceptance-panel.compact .acceptance-head{padding:8px 9px}.acceptance-panel.compact .acceptance-head h3{font-size:.7rem}.acceptance-panel.compact .acceptance-head p,.acceptance-panel.compact .acceptance-config{display:none}.acceptance-panel.compact .acceptance-cards{grid-template-columns:1fr;padding:7px;gap:5px}.acceptance-panel.compact .acceptance-card{padding:7px}.acceptance-panel.compact .acceptance-summary{min-width:38px;height:25px;font-size:.62rem}
.acceptance-lock-note{margin:0 14px 13px;border:1px solid #ead5a9;border-radius:9px;background:var(--warning-bg);color:#76500e;padding:9px 11px;font-size:.7rem;line-height:1.4}.accepted-record-locked{position:relative}.accepted-record-locked input:disabled,.accepted-record-locked textarea:disabled,.accepted-record-locked select:disabled,.accepted-record-locked button:disabled{cursor:not-allowed;opacity:.66}
.acceptance-modal{position:fixed;inset:0;z-index:10000;background:rgba(12,17,38,.58);display:grid;place-items:center;padding:18px}.acceptance-modal[hidden]{display:none}.acceptance-modal-card{width:min(720px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 24px 80px rgba(0,0,0,.28);padding:18px}.acceptance-modal-head{display:flex;align-items:start;justify-content:space-between;gap:12px;border-bottom:1px solid #e7eaf1;padding-bottom:11px}.acceptance-modal-head h2{margin:0;color:var(--navy);font-size:1.12rem}.acceptance-modal-head p{margin:4px 0 0;color:var(--muted);font-size:.72rem}.acceptance-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}.acceptance-modal-grid label{font-size:.68rem;font-weight:800;color:#61687b}.acceptance-modal-grid input,.acceptance-modal-grid select,.acceptance-modal-grid textarea{width:100%;margin-top:4px;border:1px solid #d9deea;border-radius:8px;padding:9px;background:#fff}.acceptance-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:15px}
.acceptance-print-block{display:none;margin-top:8mm}.acceptance-print-block h3{margin:0 0 2mm;font-size:10pt}.acceptance-print-block p{margin:0 0 2mm;font-size:7pt}.acceptance-print-block table{width:100%;border-collapse:collapse}.acceptance-print-block th,.acceptance-print-block td{border:1px solid #777;padding:1.7mm;vertical-align:top;font-size:7pt}.acceptance-print-block small{display:block;margin-top:1mm;font-size:5.8pt;overflow-wrap:anywhere}
@media(max-width:760px){.acceptance-head{align-items:flex-start}.acceptance-cards{grid-template-columns:1fr}.acceptance-config{overflow:auto}.acceptance-config table{min-width:520px}.acceptance-modal-grid{grid-template-columns:1fr}.acceptance-modal-grid .span-2{grid-column:auto}.acceptance-modal-actions{flex-direction:column-reverse}.acceptance-modal-actions .button{width:100%}}
@media print{.acceptance-panel,.acceptance-modal{display:none!important}.acceptance-print-block{display:block!important;break-inside:avoid}.acceptance-print-block h3{color:#000}.acceptance-print-block table{font-size:6.5pt}}

/* v5.5 - versione PWA e stato freschezza dati */
.version-badge{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;
  border:1px solid rgba(23,27,85,.16);border-radius:10px;background:#fff;font-weight:700;font-size:.88rem;
  color:#171b55;white-space:nowrap
}
.sidebar-version{font-size:.74rem;font-weight:700;letter-spacing:.03em;opacity:.72;margin-bottom:6px}
.data-freshness{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 0 16px;padding:11px 14px;border-radius:12px;
  border:1px solid rgba(27,121,73,.18);background:rgba(27,121,73,.07);font-size:.86rem
}
.data-freshness.pending{border-color:rgba(180,111,0,.25);background:rgba(240,166,30,.11)}
.data-freshness span{width:100%;font-size:.78rem;opacity:.76}
@media(max-width:700px){.version-badge{min-height:34px;padding:0 9px}.data-freshness{font-size:.82rem}}

/* v5.6 - feedback configurazione accettazioni */
.acceptance-no-required{padding:14px;border:1px dashed var(--line,#cbd5e1);border-radius:10px;color:var(--muted,#64748b);background:rgba(148,163,184,.08);font-size:.92rem}
[data-accept-record][data-accept-busy="1"]{cursor:progress;opacity:.72}

/* v6.0 · Percorso di qualificazione auditor */
.qualification-program{border-top:4px solid var(--navy-2)}
.qualification-program.empty{border-top-color:#c8cfe3}
.qualification-progress{display:flex;align-items:center;gap:12px;margin:-4px 0 14px}
.qualification-progress>div{flex:1;height:9px;background:#edf0f6;border-radius:99px;overflow:hidden}
.qualification-progress i{display:block;height:100%;background:linear-gradient(90deg,#3154a4,#2f9e74);border-radius:99px;transition:width .3s}
.qualification-progress span{font-size:.72rem;font-weight:800;color:var(--navy)}
.qualification-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:16px}
.qualification-step{border:1px solid #e1e5ef;background:#fafbfe;border-radius:12px;padding:11px;display:flex;flex-direction:column;gap:4px;min-width:0}
.qualification-step>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e6eaf5;color:var(--navy);font-weight:900;font-size:.75rem}
.qualification-step strong{font-size:.78rem}
.qualification-step small{font-size:.66rem;color:var(--muted)}
.qualification-step .row-link{align-self:flex-start;margin-top:4px}
.qualification-step.done{border-color:#bfe3d3;background:#f3fbf7}
.qualification-step.done>span{background:#2f9e74;color:#fff}
.qualification-step.blocked{border-color:#efc2c7;background:#fff6f7}
.qualification-step.blocked>span{background:var(--danger);color:#fff}
.qualification-steps.preview .qualification-step{opacity:.75}
.qualification-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:12px}
.qualification-detail-grid>section{min-width:0}
.qualification-detail-grid>section.span-2{grid-column:span 2}
.qualification-detail-grid h3{font-size:.82rem;margin:0 0 8px;color:var(--navy)}
.qualification-detail-grid h3 small{font-weight:600;color:var(--muted);margin-left:6px}
.compact-table td small{display:block;color:var(--muted);font-size:.64rem}
.qualification-summary{display:flex;gap:10px;flex-wrap:wrap;margin:-6px 0 14px}
.qualification-summary span{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.72rem;color:var(--muted)}
.qualification-summary b{color:var(--navy);font-size:.85rem;margin-right:3px}
.qualification-card-line{padding:0 16px 12px}
.auditor-profile-status .badge+.badge{margin-top:6px}
.criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.criteria-grid label span{display:block;margin-bottom:2px}
.module-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.module-check-grid label{font-size:.68rem;background:#f6f7fb;border-radius:7px;padding:6px 8px}
.template-picker{background:#f7f9ff;border-color:#d4ddf3}
.training-sessions{display:grid;gap:10px}
.template-library{display:grid;gap:12px}
@media (max-width:1100px){.qualification-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.qualification-detail-grid{grid-template-columns:1fr}.qualification-detail-grid>section.span-2{grid-column:auto}}
@media (max-width:640px){.qualification-steps,.criteria-grid,.module-check-grid{grid-template-columns:1fr}}
.compact-table td:first-child strong{white-space:nowrap}
.acceptance-chip{border:1px solid #e3c98a;background:#fffaf0;color:#8a570f;border-radius:999px;padding:5px 10px;font-size:.68rem;font-weight:800;white-space:nowrap;cursor:pointer}
.acceptance-chip b{font-size:.74rem}
.acceptance-chip.complete{border-color:#bfe3d3;background:#f3fbf7;color:var(--success)}
.acceptance-chip:hover{box-shadow:0 4px 12px rgba(30,35,84,.12)}
.auditor-detail-grid .row-actions-inline{flex-wrap:wrap;row-gap:4px}
a.acceptance-chip{display:inline-block;text-decoration:none}
.acceptance-chip.partial{border-color:#c9d6f3;background:#f4f7ff;color:var(--blue)}
.acceptance-chip.neutral{border-color:#e1e4ec;background:#f6f7fa;color:var(--muted);cursor:default}
@media print{.acceptance-chip{border:0;background:none;padding:0;color:#111}}
.sort-header{border:0;background:none;padding:0;font:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;display:inline-flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}
.sort-header:hover{color:var(--navy)}
.sort-header .sort-arrow{font-size:.62rem;opacity:.35}
.sort-header.active{color:var(--navy)}
.sort-header.active .sort-arrow{opacity:1}
@media print{.sort-header .sort-arrow{display:none}}
/* v6.1.4 · Audit Plan compatto */
.audit-register{font-size:.72rem}
.audit-register th{padding:9px 6px;font-size:.6rem;letter-spacing:.03em}
.audit-register td{padding:8px 6px}
.audit-register td small{font-size:.62rem}
.audit-register td:nth-child(8){white-space:nowrap}
.audit-register .finding-pill{width:20px;height:19px;margin-right:2px;font-size:.6rem}
.audit-register .mini-tag{padding:2px 4px;font-size:.55rem}
.audit-register .badge{font-size:.6rem;padding:3px 7px;white-space:nowrap}
.audit-register .acceptance-chip{padding:3px 8px;font-size:.62rem}
.audit-register .row-actions-inline{flex-direction:column;align-items:flex-start;gap:0}
.audit-register .row-actions-inline .row-link{padding:1px 0;font-size:.68rem}
.sort-header{gap:2px}
.sort-header .sort-arrow:empty{display:none}
/* v6.1.4 · Menu laterale richiudibile */
.sidebar-version{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sidebar-hide{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);color:#dfe2ff;border-radius:7px;padding:3px 8px;font-size:.66rem;font-weight:700;cursor:pointer}
.sidebar-hide:hover{background:rgba(255,255,255,.2);color:#fff}
.sidebar-reveal{display:none;position:fixed;top:14px;left:14px;z-index:30;width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:1.2rem;box-shadow:0 6px 18px rgba(25,31,72,.14);cursor:pointer}
.sidebar-reveal:hover{background:var(--sky)}
body.sidebar-hidden .sidebar{display:none}
body.sidebar-hidden .sidebar-reveal{display:grid;place-items:center}
body.sidebar-hidden .main-content{margin-left:0;max-width:none;padding-left:72px}
@media(max-width:820px){.sidebar{position:relative}body.sidebar-hidden .main-content{padding-left:13px;padding-top:62px}}
@media print{.sidebar-reveal,.sidebar-hide{display:none!important}}
