:root{
  --bg:#f4f7fb;--panel:#fff;--text:#182333;--muted:#607086;--primary:#0f4c81;--primary2:#0b6fa4;--line:#dbe3ee;--ok:#2d7d46;--warn:#ab6b00;--bad:#b3261e;--soft:#eef5fb;--shadow:0 12px 30px rgba(17,43,72,.10)
}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
.topbar{height:82px;background:linear-gradient(135deg,var(--primary),#16395d);color:white;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;position:sticky;top:0;z-index:5;box-shadow:var(--shadow)}
.brand{display:flex;gap:14px;align-items:center}.logo{width:48px;height:48px;border:2px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;font-weight:800;letter-spacing:.5px;background:rgba(255,255,255,.12)}
h1{font-size:22px;margin:0}.brand p{margin:3px 0 0;color:#d9e9f5}.top-actions{display:flex;gap:10px}
button{border:0;background:var(--primary2);color:white;border-radius:10px;padding:10px 14px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(15,76,129,.16)}button:hover{filter:brightness(1.05)}button.ghost{background:#e9f2f8;color:var(--primary);box-shadow:none;border:1px solid #c9dbe9}button.danger{background:var(--bad)}
.layout{display:grid;grid-template-columns:250px 1fr;min-height:calc(100vh - 82px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:18px;position:sticky;top:82px;height:calc(100vh - 82px)}.nav{display:block;width:100%;text-align:left;background:transparent;color:var(--text);box-shadow:none;border-radius:10px;padding:12px 14px;margin-bottom:6px}.nav:hover,.nav.active{background:var(--soft);color:var(--primary)}
.status-card{margin-top:22px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.label{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}.status-card strong{display:block;margin-top:4px}.status-card small{color:var(--muted)}
.content{padding:24px;max-width:calc(100vw - 250px)}.view{display:none}.view.active{display:block}.view-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}.view-header h2{margin:0 0 4px;font-size:28px}.view-header p{margin:0;color:var(--muted)}.header-actions{display:flex;gap:10px;flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:14px;margin-bottom:18px}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.kpi b{display:block;font-size:28px;margin:6px 0}.kpi span{color:var(--muted);font-size:13px}.kpi.ok b{color:var(--ok)}.kpi.warn b{color:var(--warn)}.kpi.bad b{color:var(--bad)}
.panel-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.panel,.cards .panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.panel h3{margin-top:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards p{color:var(--muted)}
.filters{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:10px;background:#fff;border:1px solid var(--line);padding:12px;border-radius:14px;margin-bottom:14px}input,select,textarea{width:100%;border:1px solid #cfd9e6;border-radius:10px;padding:10px;background:#fff;color:var(--text);font:inherit}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#344154}.table-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:auto;box-shadow:var(--shadow)}table{border-collapse:collapse;width:100%;font-size:14px}th,td{border-bottom:1px solid var(--line);padding:10px;vertical-align:top}th{position:sticky;top:0;background:#eef5fb;color:#20364e;text-align:left;z-index:1}tbody tr{cursor:pointer}tbody tr:hover{background:#f7fbff}tr.selected{background:#e8f3fd!important}.muted{color:var(--muted)}.small{font-size:12px}.nowrap{white-space:nowrap}.clamp{max-width:360px;white-space:normal}.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#eef2f6;color:#344154}.pill.ok{background:#e6f4ea;color:var(--ok)}.pill.warn{background:#fff4df;color:var(--warn)}.pill.bad{background:#fdecea;color:var(--bad)}
.form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}.span2{grid-column:span 2}.form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.form-actions button{min-width:180px}
.matrix{display:grid;grid-template-columns:70px repeat(5,1fr);gap:6px}.matrix .cell{padding:12px;border-radius:10px;min-height:58px;background:#f5f7fa;border:1px solid var(--line);font-size:13px}.matrix .head{background:#e7eef7;font-weight:800}.matrix .risk-ok{background:#e6f4ea}.matrix .risk-warn{background:#fff4df}.matrix .risk-bad{background:#fdecea}.alerts{display:grid;gap:10px}.alert{border-left:4px solid var(--warn);background:#fff9ef;padding:10px 12px;border-radius:10px}.alert.bad{border-left-color:var(--bad);background:#fff1f0}.alert.ok{border-left-color:var(--ok);background:#eef9f0}.empty{padding:28px;text-align:center;color:var(--muted)}
@media (max-width:1050px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;display:flex;gap:8px;overflow:auto}.nav{white-space:nowrap}.content{max-width:100vw}.kpis{grid-template-columns:repeat(2,1fr)}.panel-grid,.cards{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.span2{grid-column:span 1}}
.badText{color:var(--bad);font-weight:800}
.logo-img{width:180px;height:auto;max-height:70px;object-fit:contain;background:#fff;border-radius:12px;padding:8px 12px;border:1px solid rgba(255,255,255,.75);display:block;image-rendering:auto}
.role-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:800;border:1px solid rgba(255,255,255,.5)}
.role-badge.viewer{background:#fff4df;color:#6f4500}.role-badge.editor{background:#e6f4ea;color:#1f6f3a}
.notice{margin-bottom:14px;border-left:4px solid var(--warn);background:#fff9ef;padding:12px 14px;border-radius:12px;color:#513600}
.flag-btn{padding:7px 9px;border-radius:999px;font-size:12px;background:#eef2f6;color:#344154;box-shadow:none;border:1px solid #ccd6e2}.flag-btn.flagged{background:#fff4df;color:var(--warn);border-color:#f0c36d}.flag-btn.closed{background:#e6f4ea;color:var(--ok);border-color:#9ed1aa}.flag-btn:disabled{opacity:.75;cursor:not-allowed}
.review-box{border:1px solid var(--line);border-radius:14px;padding:14px;background:#fbfdff}.review-box legend{font-weight:800;color:var(--primary);padding:0 8px}.review-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:8px 0}.checkline{display:flex;flex-direction:row;align-items:center;gap:10px}.checkline input{width:auto}
.is-viewer #newHazardBtn,.is-viewer #addStepBtn,.is-viewer #deleteBtn,.is-viewer #exportJsonBtn,.is-viewer #exportCsvBtn,.is-viewer #resetBtn,.is-viewer #importFile{opacity:.55;cursor:not-allowed}.is-viewer .editor-only{display:none!important}.is-editor .editor-only{display:table-cell}
.filters{grid-template-columns:2fr repeat(6,1fr)}.kpis{grid-template-columns:repeat(7,minmax(120px,1fr))}.cards{grid-template-columns:repeat(4,1fr)}
@media (max-width:1250px){.kpis{grid-template-columns:repeat(3,1fr)}.cards{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.topbar{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.top-actions{flex-wrap:wrap}.logo-img{width:180px;height:auto;max-height:70px;object-fit:contain;background:#fff;border-radius:12px;padding:8px 12px;border:1px solid rgba(255,255,255,.75);display:block;image-rendering:auto}.filters,.review-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr}}


.print-filters{grid-template-columns:2fr repeat(6,1fr) auto auto;align-items:center}
.checkline.compact{font-size:13px;font-weight:800;color:#344154;white-space:nowrap;background:#fbfdff;border:1px solid var(--line);border-radius:10px;padding:8px 10px;height:100%;justify-content:center}
.filter-summary{display:flex;align-items:center;min-height:38px;color:var(--muted);font-weight:800;font-size:13px;padding:0 4px;white-space:nowrap}
.report-meta .wide{grid-column:span 3}
@media (max-width:1250px){.print-filters{grid-template-columns:1fr 1fr}.filter-summary{white-space:normal}.report-meta .wide{grid-column:span 2}}
@media (max-width:760px){.print-filters{grid-template-columns:1fr}.report-meta .wide{grid-column:span 1}}

.print-report{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.report-cover{break-inside:avoid}.report-head{display:flex;gap:18px;align-items:center;border-bottom:3px solid var(--primary);padding-bottom:12px;margin-bottom:12px}.report-head img{width:220px;max-height:88px;object-fit:contain;background:#fff;border:1px solid #d6dee8;border-radius:10px;padding:8px}.report-head h1{color:var(--primary);font-size:28px;margin:0}.report-head h2{font-size:18px;margin:3px 0;color:#344154}.report-head p{margin:0;color:var(--muted)}
.report-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.report-meta div{border:1px solid var(--line);background:#fbfdff;border-radius:10px;padding:8px;font-size:13px}.report-note{border-left:4px solid var(--primary);background:#eef5fb;border-radius:10px;padding:10px;margin:12px 0;font-size:13px}.print-title{margin-top:18px}
.report-table{font-size:10px}.report-table th,.report-table td{padding:5px;vertical-align:top}.report-table th{position:static;background:#e7eef7}.report-table td:nth-child(4),.report-table td:nth-child(5),.report-table td:nth-child(7),.report-table td:nth-child(9),.report-table td:nth-child(10),.report-table td:nth-child(11){min-width:120px}.center{text-align:center}.signature-page{break-inside:avoid;page-break-inside:avoid;margin-top:28px;border-top:3px solid var(--primary);padding-top:14px}.signature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}.signature-grid div{height:105px;border:1px solid #9ba9ba;border-radius:8px;padding:10px}.signature-grid span{display:block;margin-top:50px;border-top:1px solid #667;padding-top:6px;color:#445}.signature-date{margin-top:22px;font-weight:700}
@media print{
  @page{size:A4 landscape;margin:8mm}
  html,body{background:#fff!important;color:#000!important}
  .topbar,.sidebar,.no-print,.filters,.header-actions,#export,.form-actions,button{display:none!important}
  .layout{display:block!important;min-height:auto!important}.content{max-width:none!important;padding:0!important}.view{display:none!important}.view.active{display:block!important}.view#printReport{display:block!important}.print-report{border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.report-head{break-inside:avoid}.report-table{font-size:7.2pt;line-height:1.15;width:100%;border-collapse:collapse}.report-table th,.report-table td{border:0.35pt solid #9aa7b7!important;padding:2.5pt!important}.report-table th{background:#e8eef7!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.report-meta div,.report-note{break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}.pill{border:0.35pt solid #777!important;background:#fff!important;color:#000!important}.signature-page{page-break-before:always}.signature-grid div{height:90px}.logo-img{width:180px;height:auto;max-height:70px;object-fit:contain;background:#fff;border-radius:12px;padding:8px 12px;border:1px solid rgba(255,255,255,.75);display:block;image-rendering:auto}.clamp{max-width:none!important}
}

.matrix-sets{display:grid;grid-template-columns:1fr;gap:18px}
.matrix-card h4{margin-bottom:8px}.matrix-card details{margin-top:12px}.matrix.mini{grid-template-columns:64px repeat(5,90px);overflow:auto;margin:12px 0}.matrix.mini .cell{min-height:52px;padding:9px;font-size:12px}
@media (max-width:1250px){.matrix.mini{grid-template-columns:64px repeat(5,1fr)}}


/* Risk Assessment Tool */
.risk-tool-form{display:grid;gap:16px}.risk-section{padding:16px}.risk-section h3{margin-top:0;color:var(--primary)}.compact-grid{grid-template-columns:repeat(4,1fr);box-shadow:none;border:0;padding:0;background:transparent}.checkbox-card{border:1px solid var(--line);border-radius:14px;padding:12px;background:#fbfdff;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.checkbox-card legend{font-weight:800;color:var(--primary);padding:0 8px}.checkbox-card label{display:flex;flex-direction:row;align-items:center;font-weight:700;gap:8px}.checkbox-card input{width:auto}.mitigation-editor table input,.mitigation-editor table select,.mitigation-editor table textarea{font-size:12px;padding:6px;border-radius:8px}.mitigation-editor table textarea{min-width:280px}.mitigation-editor .mini-btn{padding:6px 8px;font-size:12px;box-shadow:none}.ra-tool-result{border-left:4px solid var(--primary);background:#eef5fb;border-radius:10px;padding:12px;font-weight:700;color:#20364e}.ra-tool-result.ok{border-color:var(--ok);background:#e6f4ea;color:#1f6f3a}.ra-tool-result.bad{border-color:var(--bad);background:#fdecea;color:#8b1d1d}@media (max-width:1100px){.compact-grid{grid-template-columns:1fr 1fr}.checkbox-card{grid-template-columns:1fr 1fr}}@media (max-width:760px){.compact-grid{grid-template-columns:1fr}.checkbox-card{grid-template-columns:1fr}}


/* v3.7 module landing and Information Security */
.nav-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#6f7d90;font-weight:900;margin:16px 8px 6px}
.landing-view{max-width:1180px;margin:0 auto}.landing-hero{display:flex;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow);margin-bottom:22px}.landing-hero img{width:260px;max-height:105px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px}.landing-hero h2{font-size:34px;margin:0;color:var(--primary)}.landing-hero p{font-size:17px;color:var(--muted);margin:6px 0 0}.module-cards{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px}.module-card{text-align:left;background:#fff;color:var(--text);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:8px;min-height:190px}.module-card:hover{filter:none;border-color:#8bb8dc;transform:translateY(-1px)}.module-card span{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--primary);font-weight:900}.module-card strong{font-size:25px}.module-card small{font-size:15px;line-height:1.45;color:var(--muted)}
select[multiple]{min-height:88px;padding:8px}.print-filters select[multiple]{min-width:180px}
.bar-row{display:grid;grid-template-columns:190px 1fr 45px;align-items:center;gap:10px;margin:9px 0}.bar-row b{display:block;height:14px;border-radius:999px;background:var(--primary2);min-width:6px}.bar-row span{font-weight:800;color:#344154}.bar-row strong{text-align:right}
.is-bars{padding:8px 0}.is-matrix-table table,.is-print-matrix table{width:auto;min-width:520px}.is-matrix-table th,.is-matrix-table td{border:1px solid var(--line);padding:10px;text-align:center}.is-matrix-table th{background:#e7eef7;color:#20364e;position:static}.is-matrix-table td{background:#fbfdff}
@media (max-width:760px){.module-cards{grid-template-columns:1fr}.landing-hero{flex-direction:column;align-items:flex-start}.landing-hero img{width:220px}.logo-img{width:210px;max-height:76px}}
@media print{
  .view#printReport{display:none!important}.view#printReport.active{display:block!important}.view#isPrint.active{display:block!important}
  .landing-view,.nav-section-title{display:none!important}
  .is-print-matrix table{width:100%}
}

/* v3.8 refinements */
.ref-cell{max-width:260px;min-width:210px}.ref-preview{color:#344154}.inline-details{margin-top:4px}.inline-details summary{cursor:pointer;color:var(--primary);font-weight:800}.inline-details div{white-space:pre-wrap;background:#f7f9fc;border:1px solid var(--line);border-radius:8px;padding:8px;margin-top:6px;max-width:520px}.is-editor-form{margin-top:16px}.is-editor-form h3{margin-top:0;color:var(--primary)}.mitigation-editor table th:nth-child(6),.mitigation-editor table th:nth-child(7){min-width:88px}.muted{color:var(--muted)}
@media (max-width:760px){.logo-img{width:170px;max-height:64px}.ref-cell{min-width:160px}}
@media print{.report-head img{background:#fff!important;border:0.35pt solid #d6dee8!important;border-radius:6pt!important;padding:5pt!important}}

/* v3.9 risk tool and IS detail */
.inline-actions{justify-content:flex-start;margin:8px 0 12px 0}
.inline-actions button{min-width:130px}.inline-actions .muted{align-self:center;font-size:13px}
.detail-card{margin-bottom:16px}.detail-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}.detail-title-row h3{margin:0;color:var(--primary)}.detail-title-row p{margin:4px 0 0;color:var(--muted)}.sticky-actions{position:sticky;bottom:0;background:rgba(255,255,255,.95);border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:var(--shadow);justify-content:flex-end;margin-top:12px}.sticky-actions .ghost{margin-right:auto}
.mitigation-editor table th:nth-child(8),.mitigation-editor table th:nth-child(9),.mitigation-editor table th:nth-child(10){min-width:96px;text-align:center}.mitigation-editor table td:nth-child(8),.mitigation-editor table td:nth-child(9),.mitigation-editor table td:nth-child(10){text-align:center}
@media (max-width:760px){.detail-title-row{flex-direction:column}.sticky-actions{position:static;flex-direction:column}.sticky-actions button{width:100%}}


/* v4.1 Safety Performance Indicators */
.spi-filters{grid-template-columns:180px 240px 1fr}
.spi-year-panel{margin-bottom:14px}
.spi-table input,.spi-table textarea{font-size:12px;padding:7px;border-radius:8px;min-width:90px}
.spi-table textarea{min-width:260px}
.spi-table th:nth-child(4),.spi-table td:nth-child(4){min-width:300px}
.spi-table th:nth-child(9),.spi-table td:nth-child(9){min-width:260px}
@media (max-width:1000px){.spi-filters{grid-template-columns:1fr}.module-cards{grid-template-columns:1fr}}
@media print{.spi-year-panel{break-inside:avoid}.spi-table input,.spi-table textarea{border:0!important;padding:0!important;background:transparent!important;resize:none}.spi-table th{position:static!important}}


/* v4.2 Safety Report register */
.sr-filters{grid-template-columns:2fr 150px 180px 190px 190px}
.safety-report-detail{margin-bottom:16px}
.safety-report-detail .form-grid{grid-template-columns:repeat(4,1fr)}
.linked-hazards{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.mini-link{padding:7px 10px;font-size:12px;box-shadow:none}
#srTable th:nth-child(8),#srTable td:nth-child(8),
#srTable th:nth-child(9),#srTable td:nth-child(9){min-width:320px}
#srTable th:nth-child(11),#srTable td:nth-child(11){min-width:150px}
@media (max-width:1100px){.sr-filters{grid-template-columns:1fr 1fr}.safety-report-detail .form-grid{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.sr-filters,.safety-report-detail .form-grid{grid-template-columns:1fr}.linked-hazards{justify-content:flex-start}}
@media print{
  #safetyReports.active{display:block!important}
  .safety-report-detail,#srLockNotice,#srKpis,.sr-filters{break-inside:avoid}
  #srTable th{position:static!important}
}


/* v4.3 ERP exercise simulator */
.erp-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:18px;margin-bottom:16px}.erp-config,.erp-runner{align-self:start}.erp-timer-box{background:linear-gradient(135deg,#0f4c81,#0b6fa4);color:#fff;border-radius:16px;padding:18px;margin-bottom:16px}.erp-timer-box .label{color:#d9e9f5}.erp-timer-box strong{display:block;font-size:42px;letter-spacing:.04em;margin:6px 0}.erp-timer-box small{color:#eaf6ff}.erp-current-inject p{margin:8px 0}.erp-action-box{margin-top:16px}.erp-history-panel,.erp-timeline-panel,.erp-actions-panel{margin-top:16px}.erp-timeline-panel td:nth-child(6),.erp-timeline-panel td:nth-child(7),.erp-actions-panel td:nth-child(3),.erp-actions-panel td:nth-child(7){min-width:320px}.erp-print-report{margin-top:18px}.compact-header{margin-bottom:10px}.empty{padding:18px;color:var(--muted);background:#fff;border-radius:14px}.erp-runner .alert{white-space:normal}.erp-actions-panel .mini-btn{padding:6px 8px;font-size:12px;box-shadow:none}
@media (max-width:1100px){.erp-layout{grid-template-columns:1fr}.erp-timer-box strong{font-size:34px}}
@media print{
  #erpExercises.active{display:block!important}.erp-config,.erp-runner,.erp-history-panel,.erp-timeline-panel,.erp-actions-panel,#erpLockNotice,#erpKpis{display:none!important}.erp-print-report{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}.view#erpExercises.active .erp-print-report{display:block!important}.erp-print-report .report-table{font-size:7.5pt}.erp-print-report .signature-page{page-break-before:always}
}

.form-grid label small{display:block;margin-top:4px;color:var(--muted);font-size:11px;line-height:1.25}


/* v4.5 Aviation Security module */
.avsec-filters{grid-template-columns:2fr 220px 190px 190px}
.avsec-detail-card{margin-top:16px}
.avsec-form{grid-template-columns:repeat(4,1fr)}
.span4{grid-column:span 4}
#avSecProcedureTable th:nth-child(7),#avSecProcedureTable td:nth-child(7){min-width:280px}
#avSecProcedureTable th:nth-child(8),#avSecProcedureTable td:nth-child(8){min-width:330px}
.avsec-training-table input,.avsec-training-table textarea,.avsec-training-table select{font-size:12px;padding:7px;border-radius:8px;min-width:95px}
.avsec-training-table textarea{min-width:220px}
.avsec-training-table th:nth-child(2),.avsec-training-table td:nth-child(2),.avsec-training-table th:nth-child(3),.avsec-training-table td:nth-child(3),.avsec-training-table th:nth-child(9),.avsec-training-table td:nth-child(9),.avsec-training-table th:nth-child(10),.avsec-training-table td:nth-child(10){min-width:250px}
#avSecReportTable th:nth-child(5),#avSecReportTable td:nth-child(5),#avSecReportTable th:nth-child(6),#avSecReportTable td:nth-child(6){min-width:320px}
@media (max-width:1100px){.avsec-filters{grid-template-columns:1fr 1fr}.avsec-form{grid-template-columns:1fr 1fr}.span4{grid-column:span 2}}
@media (max-width:760px){.avsec-filters,.avsec-form{grid-template-columns:1fr}.span4{grid-column:span 1}}
@media print{
  #avSecPrint.active{display:block!important}.view#avSecPrint.active{display:block!important}
  #avSecPrint .report-table th{position:static!important}
}


.nav.emphasis{border-left:4px solid #f0b429;background:rgba(240,180,41,.12);font-weight:700}
.public-safety-report-view .notice{border-left:4px solid #f0b429}
.manual-library-grid{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);gap:16px;align-items:start}
.manual-docs{display:grid;gap:10px}.manual-doc-card{display:block;width:100%;text-align:left;border:1px solid var(--border);background:#fff;border-radius:14px;padding:12px;cursor:pointer}.manual-doc-card:hover,.manual-doc-card.selected{border-color:#0f4c81;box-shadow:0 2px 12px rgba(15,76,129,.12)}.manual-doc-card b{display:block;color:#0f4c81;font-size:1.05rem}.manual-doc-card span{display:block;font-weight:700}.manual-doc-card small{display:block;color:var(--muted);margin-top:4px}.manual-search-controls{grid-template-columns:1fr minmax(180px,260px) auto}.manual-search-results{display:grid;gap:10px;max-height:440px;overflow:auto}.manual-result{border:1px solid var(--border);background:#fff;border-radius:12px;padding:12px;cursor:pointer}.manual-result:hover{border-color:#0f4c81}.manual-result span{display:block;color:var(--muted);font-size:.88rem;margin-top:3px}.manual-result p{margin:.45rem 0 0;color:#334}.manual-pdf-frame{width:100%;height:72vh;border:1px solid var(--border);border-radius:14px;background:#fff}.manual-help-layout{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.manual-help-toc{position:sticky;top:12px}.manual-help-toc nav{display:grid;gap:6px;margin-top:10px}.manual-help-toc a{text-decoration:none;color:#0f4c81;border-bottom:1px solid rgba(15,76,129,.12);padding:6px 0}.manual-help-content{display:grid;gap:10px}.manual-chapter{background:#fff;border:1px solid var(--border);border-radius:14px;padding:12px}.manual-chapter summary{font-weight:800;color:#16324f;cursor:pointer}.manual-chapter-body{padding-top:10px;color:#223}.manual-chapter-body h4{margin:.8rem 0 .25rem}.primary-module{border-color:#f0b429!important;background:linear-gradient(180deg,#fff,#fff8e8)!important}
@media(max-width:1050px){.manual-library-grid,.manual-help-layout{grid-template-columns:1fr}.manual-help-toc{position:static}.manual-pdf-frame{height:60vh}}
@media print{.manual-help-layout{display:block}.manual-help-toc{display:none}.manual-chapter{break-inside:avoid;border:0}.manual-pdf-frame{display:none}}

/* v4.7 - Ricerca testuale manuali */
.manual-library-grid{grid-template-columns:minmax(260px,.85fr) minmax(420px,1.35fr)}
.manual-detail-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:16px;align-items:start}
.manual-search-controls{grid-template-columns:minmax(200px,280px) minmax(260px,1fr) auto auto}
.manual-text-result p mark,.manual-procedure-text mark{background:#fff2a8;border-radius:4px;padding:0 2px}
.manual-procedure-text{max-height:72vh;overflow:auto;white-space:pre-wrap;line-height:1.45;border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px;color:#182638}
.manual-procedure-text.empty{display:flex;align-items:center;justify-content:center;min-height:220px;color:var(--muted);white-space:normal;background:#f8fafc}
.manual-text-panel .compact-header{gap:12px;align-items:flex-start}
.manual-text-panel .header-actions{flex-wrap:wrap;justify-content:flex-end}

.manual-pinned-results{display:grid;gap:8px;margin:10px 0 12px}.manual-pinned-header{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #d8e6f5;background:#f4f8fd;border-radius:12px;padding:8px 10px;color:#16324f}.manual-pinned-header span{color:var(--muted);font-size:.86rem}.manual-result-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.manual-result-top>div{min-width:0}.manual-result-top .mini-btn{white-space:nowrap;padding:6px 10px;font-size:.86rem;border-radius:999px}.manual-pin-btn.active{background:#0f4c81;color:#fff;border-color:#0f4c81}.manual-pinned-item{background:#fbfdff;border-color:#c9def2}.manual-pinned-item p{font-size:.92rem}
.manual-result.manual-text-result{cursor:pointer}
.manual-result.manual-text-result:hover{box-shadow:0 2px 12px rgba(15,76,129,.12)}
@media(max-width:1050px){.manual-detail-grid{grid-template-columns:1fr}.manual-search-controls{grid-template-columns:1fr}.manual-procedure-text{max-height:55vh}}
@media print{.manual-detail-grid{display:block}.manual-search-panel,.manual-docs-panel,.manual-preview-panel{display:none}.manual-procedure-text{max-height:none;border:0}}

/* v4.9: manual search detail is single full-width text panel; PDF preview removed from bottom layout. */


/* v5.0 - MERL tecnici */
.merl-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
.merl-tech-panel{position:sticky;top:92px;max-height:calc(100vh - 120px);overflow:auto}
.merl-tech-panel input{width:100%;margin-bottom:12px}
.merl-tech-list{display:flex;flex-direction:column;gap:8px}
.merl-tech-card{width:100%;text-align:left;border:1px solid rgba(0,0,0,.09);background:#fff;border-radius:14px;padding:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px}
.merl-tech-card:hover{border-color:rgba(15,76,129,.4);box-shadow:0 8px 18px rgba(0,0,0,.06)}
.merl-tech-card.selected{border-color:#0f4c81;background:rgba(15,76,129,.06)}
.merl-tech-card span,.merl-tech-card small{color:#555}
.merl-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.merl-filters{grid-template-columns:2fr repeat(4,1fr)}
.merl-table-wrap{max-height:460px;overflow:auto}
#merlTable th,#merlTable td{vertical-align:top}
#merlTable .num{text-align:right}
#merlTable tr.selected{outline:2px solid rgba(15,76,129,.4);background:rgba(15,76,129,.05)}
.merl-print-area{display:none}
.merl-print-header{display:flex;gap:18px;align-items:center;border-bottom:2px solid #111;padding-bottom:12px;margin-bottom:12px}
.merl-print-header img{width:210px;max-height:76px;object-fit:contain}
.merl-print-header h1{font-size:20px;margin:0 0 4px}
.merl-print-header h2{font-size:16px;margin:0 0 4px}
.merl-print-summary{display:flex;gap:18px;flex-wrap:wrap;margin:10px 0 12px;font-size:12px}
.merl-print-table{width:100%;border-collapse:collapse;font-size:8.5px}
.merl-print-table th,.merl-print-table td{border:1px solid #999;padding:3px 4px;vertical-align:top}
.merl-print-table th{background:#eee}
.merl-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px;break-inside:avoid}
.merl-signatures div{border-top:1.5px solid #111;padding-top:8px;min-height:34px;text-align:center;font-size:11px}
@media(max-width:980px){.merl-layout{grid-template-columns:1fr}.merl-tech-panel{position:static;max-height:none}.merl-filters{grid-template-columns:1fr}}
@media print{
  body.print-merl .topbar, body.print-merl .sidebar{display:none!important}
  body.print-merl .content{padding:0!important;margin:0!important}
  body.print-merl .content>.view:not(#merl){display:none!important}
  body.print-merl #merl > :not(.merl-print-area){display:none!important}
  body.print-merl .merl-print-area{display:block!important}
  body.print-merl .merl-print-table{font-size:7.6px}
  body.print-merl .merl-print-table th, body.print-merl .merl-print-table td{padding:2px 3px}
}

/* v5.1 - Manuali: testo procedura e preview PDF in due schede verticali */
.manual-preview-panel{margin-top:0}
.manual-preview-panel .compact-header{gap:12px;align-items:flex-start}
.manual-preview-panel .header-actions{flex-wrap:wrap;justify-content:flex-end}
.manual-detail-grid{grid-template-columns:1fr!important}
.manual-pdf-frame{height:68vh;min-height:520px}
@media(max-width:1050px){.manual-pdf-frame{height:58vh;min-height:420px}}

/* v5.2: la preview PDF non si carica automaticamente al click sul risultato. */
.manual-preview-placeholder{border:1px dashed var(--border);border-radius:14px;background:#f8fafc;color:var(--muted);padding:18px;text-align:center;margin-bottom:10px}
.manual-preview-placeholder[hidden]{display:none!important}
#companyManualFrame[src="about:blank"]{background:#fff}

/* v5.4 ERP Activation & MOC */
.erp-activation-grid, .moc-layout { grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); }
.erp-card-detail { border: 1px solid var(--line); border-radius: 14px; padding: 12px; background: #f8fbff; }
.erp-sheet-card h4 { margin: 0 0 8px; color: var(--primary); }
.erp-sheet-card p { margin: 8px 0; line-height: 1.35; }
.compact-kpis { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); margin-top: 10px; }
.selected-row { outline: 2px solid rgba(15,76,129,.25); background: #eef6ff !important; }
@media (max-width: 1100px){ .erp-activation-grid, .moc-layout { grid-template-columns: 1fr; } }
@media print{
  body:not(.print-all) .view:not(.active) { display:none!important; }
  .erp-activation-grid, .moc-layout { display:block; }
  #erpActPrintContent, #mocPrintContent { display:block!important; }
}

/* v5.7 - Home a tre colonne e menu laterale per argomenti */
.sidebar{overflow-y:auto;scrollbar-width:thin}
.nav-topic{border:1px solid #dfe8f2;border-radius:14px;background:#fbfdff;padding:8px 8px 6px;margin:12px 0;box-shadow:0 4px 12px rgba(17,43,72,.04)}
.nav-topic .nav-section-title{margin:2px 6px 8px;padding-bottom:6px;border-bottom:1px solid #e5edf6;color:#0f4c81;font-size:10.5px;line-height:1.2}
.nav-topic .nav{margin-bottom:4px;padding:10px 10px;border-radius:9px;font-size:13px;line-height:1.18}
.nav-home{font-weight:900;background:#eef5fb!important;color:#0f4c81!important;border:1px solid #d3e5f4}
.nav-topic-sms{border-left:4px solid #0b6fa4}
.nav-topic-performance{border-left:4px solid #2d7d46}
.nav-topic-erp{border-left:4px solid #b3261e}
.nav-topic-manuals{border-left:4px solid #6f42c1}
.nav-topic-is{border-left:4px solid #ab6b00}
.nav-topic-avsec{border-left:4px solid #16395d}
.nav-topic-help{border-left:4px solid #607086}
.landing-view{max-width:1540px}
.module-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.module-card{min-height:176px;padding:22px}
.module-card strong{font-size:22px;line-height:1.12}
.module-card small{font-size:14px}
@media (max-width:1280px){.module-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-view{max-width:1060px}}
@media (max-width:760px){.module-cards{grid-template-columns:1fr}.module-card{min-height:auto}.sidebar{overflow:auto}}

.role-badge.cloud-off{background:#eef2f7;color:#475569;border-color:#cbd5e1;}
.role-badge.cloud-on{background:#ecfdf5;color:#047857;border-color:#a7f3d0;}
.role-badge.warn{background:#fff7ed;color:#c2410c;border-color:#fed7aa;}
.role-badge.bad{background:#fef2f2;color:#b91c1c;border-color:#fecaca;}
.cloud-panel code{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:1px 5px;}
#cloudStatusText.cloud-on{color:#047857;font-weight:700;}
#cloudStatusText.cloud-off{color:#64748b;font-weight:700;}
#cloudStatusText.warn{color:#c2410c;font-weight:700;}
#cloudStatusText.bad{color:#b91c1c;font-weight:700;}


/* v6.0 - Sync Netlify protetta da sovrascrittura locale */
.easa-grid{grid-template-columns:minmax(0,1fr);}
.easa-search-controls{grid-template-columns:minmax(220px,280px) minmax(280px,1fr) auto auto;align-items:end}
.easa-log-form{grid-template-columns:110px 140px minmax(260px,1.2fr) 150px minmax(220px,1fr) 160px auto;align-items:end}
.easa-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.easa-link-card{background:#fff;border:1px solid var(--line);border-radius:16px;text-align:left;padding:14px;box-shadow:0 4px 14px rgba(17,43,72,.05);color:var(--text);display:flex;flex-direction:column;gap:6px;min-height:120px}
.easa-link-card:hover{border-color:#0f4c81;filter:none;transform:translateY(-1px)}
.easa-link-card strong{color:#0f4c81;font-size:1.02rem}.easa-link-card span{color:#334;line-height:1.35}.easa-link-card small{color:var(--muted);word-break:break-all;font-size:.78rem}
#easaSafetyDocsTable textarea{min-height:52px;resize:vertical}#easaSafetyDocsTable input,#easaSafetyDocsTable select,#easaSafetyDocsTable textarea{min-width:120px}
#easaSafetyDocsTable td{vertical-align:top}.row-actions{white-space:nowrap}.mini-btn.danger{border-color:#fecaca;color:#b91c1c;background:#fff5f5}
@media(max-width:1180px){.easa-search-controls,.easa-log-form{grid-template-columns:1fr}.easa-link-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.easa-link-grid{grid-template-columns:1fr}}

.software-version-badge{display:inline-flex;align-items:center;margin-top:10px;padding:7px 12px;border-radius:999px;background:#eef6ff;border:1px solid #bfdaf2;color:#0f4c81;font-weight:800;font-size:13px;letter-spacing:.02em}
.spi-table-wide{min-width:1450px}
.spi-table-wide th:nth-child(4),.spi-table-wide td:nth-child(4){min-width:320px}
.spi-table-wide th:nth-child(12),.spi-table-wide td:nth-child(12){min-width:240px}
.spi-table-wide td:nth-child(10),.spi-table-wide td:nth-child(11){text-align:center}


/* v6.2 - registri SRB/SAG, Safety Information, Communication e Training */
.split-grid{display:grid;grid-template-columns:minmax(300px,0.95fr) minmax(420px,1.35fr);gap:16px;align-items:start}.card-panel{background:#fff;border:1px solid #d8e2ef;border-radius:16px;padding:16px;box-shadow:0 8px 22px rgba(15,76,129,.05)}.sub-panel{margin-top:14px;background:#f9fbfe}.sub-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.meeting-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.span4{grid-column:1/-1}.checkbox-fieldset{border:1px solid #d8e2ef;border-radius:12px;padding:10px 12px;background:#fbfdff}.checkbox-fieldset legend{font-weight:700;color:#24415e;padding:0 6px}.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.check-grid label{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid #e2eaf3;border-radius:10px;padding:7px 9px;font-size:.9rem}.participant-grid{display:grid;grid-template-columns:1.2fr 1.4fr .6fr auto;gap:8px;align-items:center;margin-bottom:8px}.attachment-list{display:grid;gap:7px}.attachment-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e2eaf3;border-radius:10px;background:#fff;padding:8px 10px}.print-only{display:none}.print-document{background:#fff;color:#101820}.print-document .report-head{display:flex;gap:18px;align-items:center;border-bottom:3px solid #0f4c81;margin-bottom:16px;padding-bottom:12px}.print-document .report-head img{max-width:145px;max-height:72px;object-fit:contain;background:#fff}.print-document h1,.print-document h2,.print-document h3{margin:.35rem 0}.print-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.print-meta-grid div{border:1px solid #ccd8e6;padding:8px;border-radius:8px}.print-box{border:1px solid #ccd8e6;border-radius:8px;padding:10px;margin:10px 0;white-space:pre-wrap}.print-signatures{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.print-signatures div{border-top:1px solid #111;padding-top:8px;min-height:50px}.si-document .si-title{text-align:center;border:2px solid #0f4c81;border-radius:10px;padding:10px;margin:12px 0 16px}.si-document .si-table th{width:18%;background:#eef5fb}.si-document .si-table td,.si-document .si-table th{border:1px solid #9fb3c8;padding:8px;text-align:left;vertical-align:top}.si-document .si-table{border-collapse:collapse;width:100%;margin-bottom:14px}.selected-row{outline:2px solid #0f4c81;background:#eef6ff!important}@media(max-width:1100px){.split-grid{grid-template-columns:1fr}.meeting-form-grid{grid-template-columns:1fr 1fr}.participant-grid{grid-template-columns:1fr}}@media print{body.print-meeting #meetingPrintArea,body.print-si #siPrintArea,body.print-sc #scPrintArea,body.print-st #stPrintArea{display:block!important}body.print-meeting .topbar,body.print-meeting .sidebar,body.print-meeting .view-header,body.print-meeting .filter-row,body.print-meeting .split-grid,body.print-si .topbar,body.print-si .sidebar,body.print-si .view-header,body.print-si .filter-row,body.print-si .split-grid,body.print-sc .topbar,body.print-sc .sidebar,body.print-sc .view-header,body.print-sc .filter-row,body.print-sc .split-grid,body.print-st .topbar,body.print-st .sidebar,body.print-st .view-header,body.print-st .filter-row,body.print-st .split-grid{display:none!important}body.print-meeting .layout,body.print-si .layout,body.print-sc .layout,body.print-st .layout,body.print-meeting .content,body.print-si .content,body.print-sc .content,body.print-st .content{display:block!important;margin:0!important;padding:0!important}body.print-meeting .view,body.print-si .view,body.print-sc .view,body.print-st .view{display:block!important} @page{size:A4;margin:12mm}}

/* v6.3 - partecipanti strutturati e stampe robuste */
.participant-grid-v63{grid-template-columns:1.1fr 1.1fr .9fr .75fr .9fr 1.2fr auto;align-items:center}
.participant-grid-v63 input[type="date"]{min-width:120px}
@media(max-width:1200px){.participant-grid-v63{grid-template-columns:1fr 1fr}.participant-grid-v63 button{width:100%}}

/* v6.5 safety governance improvements */
.witness-card{border:1px solid #d8e2ee;border-radius:14px;padding:12px;margin:10px 0;background:#fbfdff}
.witness-card textarea{width:100%;margin-top:8px}
.participant-grid.wide,.participant-grid-v63{grid-template-columns:1.2fr 1.2fr 1fr 1fr 1fr auto;gap:8px;align-items:center}
.signature-checks label{min-width:180px}
.easa-safety-view #easaLiveResults table td,.easa-safety-view #easaLiveResults table th{vertical-align:top}
.safety-investigation-view .split-grid{align-items:start}
.safety-investigation-view .form-grid.compact-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.safety-investigation-view .form-grid .span4{grid-column:span 4}
@media (max-width:1100px){.safety-investigation-view .form-grid.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.safety-investigation-view .form-grid .span4{grid-column:span 2}.participant-grid.wide,.participant-grid-v63{grid-template-columns:1fr}}

/* v7.4 Information Security / NIS extension */
#isAssets .panel-grid, #isNisAssessment .panel-grid { align-items: start; }
#isAssets .span2, #isNisAssessment .span2 { grid-column: span 2; }
.is-asset-editor textarea, #isNisAssessment textarea { min-height: 70px; }
.nis-questionnaire fieldset { border: 1px solid rgba(30,58,138,.18); border-radius: 12px; padding: 10px 12px; margin: 0 0 12px; background: rgba(248,250,252,.78); }
.nis-questionnaire legend { font-weight: 700; color: #1e3a8a; padding: 0 6px; }
.nis-questionnaire .checkline { align-items: flex-start; gap: 8px; margin: 8px 0; }
.nis-questionnaire .checkline span { line-height: 1.25; }
.muted { color: #64748b; font-size: .92rem; }
.table-wrap tr.selected-row td, .table-wrap tr.selected td { background: rgba(59,130,246,.10); }
.mini-btn { padding: 4px 8px; border-radius: 9px; border: 1px solid rgba(30,58,138,.18); background: #fff; cursor: pointer; }
@media (max-width: 1100px){ #isAssets .span2, #isNisAssessment .span2 { grid-column: span 1; } }


/* v7.5 - Documenti IS/NIS */
.is-docs-view .notice { margin-bottom: 12px; }
.is-doc-upload-panel { margin-top: 14px; }
.is-doc-upload-panel input[type="file"] { min-width: 280px; }
.manual-doc-card.uploaded-doc { border-style: dashed; }
.manual-doc-card .doc-type-badge { display:inline-block; margin-top:4px; padding:2px 6px; border-radius:999px; font-size:11px; background:rgba(15,23,42,.08); }
.manual-text-result .doc-search-actions { display:flex; gap:6px; align-items:center; }
@media (max-width: 900px){ .is-doc-upload-panel input[type="file"]{ min-width: 100%; } }

/* v7.6 - IS Report pubblico e registro ISM */
.check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.65rem;margin-top:.5rem}
.public-is-report-view .notice,.is-reports-view .notice{border-left:4px solid var(--primary,#0f4c81)}
.is-report-detail textarea{min-height:90px}
.is-report-row-open{background:rgba(15,76,129,.06)}
.is-report-status-urgent{font-weight:700}
.is-report-actions{display:flex;flex-wrap:wrap;gap:.4rem}
.linked-hazards .mini-link{margin:.15rem}
@media print{.public-is-report-view,.is-report-filters,#isReportLockNotice{display:none!important}}


/* v7.9 - Stampa singolo Risk Assessment */
.ra-single-print-report{margin-top:18px}.ra-single-print-report h3{margin-top:18px}.ra-signature-grid{grid-template-columns:repeat(4,1fr)}
@media print{
  body.print-ra-single .topbar,body.print-ra-single .sidebar,body.print-ra-single .ra-archive-controls,body.print-ra-single .view-header,body.print-ra-single .no-print{display:none!important}
  body.print-ra-single .layout,body.print-ra-single .content{display:block!important;margin:0!important;padding:0!important;max-width:none!important}
  body.print-ra-single .view{display:none!important}
  body.print-ra-single #riskAssessmentArchive{display:block!important}
  body.print-ra-single #raArchivePrintArea{display:block!important;border:0!important;box-shadow:none!important;padding:0!important}
  body.print-ra-single #printReport,body.print-ra-single #isPrint,body.print-ra-single #avSecPrint{display:none!important}
  body.print-ra-single .report-table{font-size:7.4pt;line-height:1.15;width:100%;border-collapse:collapse}
  body.print-ra-single .report-table th,body.print-ra-single .report-table td{border:0.35pt solid #9aa7b7!important;padding:2.6pt!important;vertical-align:top}
  body.print-ra-single .report-head{break-inside:avoid;border-bottom:2pt solid #0f4c81;margin-bottom:8pt;padding-bottom:7pt}
  body.print-ra-single .report-head img{max-width:42mm;max-height:20mm;object-fit:contain;background:#fff!important}
  body.print-ra-single .signature-page{page-break-before:always}
  body.print-ra-single .ra-signature-grid{grid-template-columns:repeat(2,1fr);gap:14pt}
  body.print-ra-single .ra-signature-grid div{height:34mm}
  @page{size:A4;margin:10mm}
}

/* ===== v8.1 - evidenza immediata click / azione registrata ===== */
.action-feedback-live{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:99999;
  max-width:min(420px, calc(100vw - 36px));
  pointer-events:none;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
}
.action-feedback-toast{
  display:flex;
  gap:10px;
  align-items:flex-start;
  background:rgba(16, 38, 59, .96);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 14px 40px rgba(0,0,0,.24);
  border-radius:14px;
  padding:11px 13px;
  min-width:250px;
  transform:translateY(8px);
  opacity:0;
  animation:action-feedback-in .18s ease-out forwards;
}
.action-feedback-toast .af-icon{
  flex:0 0 22px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#32d583;
  color:#10263b;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  margin-top:1px;
}
.action-feedback-toast .af-main{font-weight:800;line-height:1.2;}
.action-feedback-toast .af-sub{font-size:.78rem;opacity:.82;margin-top:2px;}
.action-feedback-toast.af-hide{animation:action-feedback-out .25s ease-in forwards;}
.action-feedback-last{
  position:fixed;
  left:calc(var(--sidebar-width, 285px) + 18px);
  bottom:18px;
  z-index:99998;
  max-width:min(560px, calc(100vw - 36px));
  background:#ecfff4;
  color:#064e2e;
  border:1px solid #9ee6bd;
  border-left:5px solid #16a34a;
  border-radius:12px;
  padding:8px 11px;
  box-shadow:0 10px 24px rgba(12, 82, 44, .12);
  font-size:.84rem;
  pointer-events:none;
}
.action-feedback-last b{display:inline-block;margin-right:6px;}
button.action-feedback-clicked,
[role="button"].action-feedback-clicked,
a.action-feedback-clicked,
.module-card.action-feedback-clicked{
  position:relative;
  transform:translateY(1px) scale(.99);
  box-shadow:0 0 0 3px rgba(22,163,74,.25), 0 0 0 1px rgba(22,163,74,.45) inset !important;
  transition:transform .08s ease, box-shadow .12s ease;
}
button.action-feedback-clicked::after,
[role="button"].action-feedback-clicked::after,
a.action-feedback-clicked::after,
.module-card.action-feedback-clicked::after{
  content:'✓';
  position:absolute;
  top:-8px;
  right:-8px;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#16a34a;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:13px;
  box-shadow:0 4px 12px rgba(0,0,0,.20);
  z-index:2;
}
@keyframes action-feedback-in{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes action-feedback-out{from{transform:translateY(0);opacity:1}to{transform:translateY(8px);opacity:0}}
@media print{.action-feedback-live,.action-feedback-last{display:none!important}}
@media (max-width: 900px){.action-feedback-last{left:12px;right:12px;bottom:74px;max-width:none}.action-feedback-live{right:12px;bottom:12px}}


/* v8.2 - Hazard Log raggruppato e colori rischio uniformi */
.hazard-group-row td{vertical-align:top;}
.mitigation-seq-cell{min-width:520px;max-width:760px;}
.mitigation-sequence{margin:0;padding-left:18px;display:grid;gap:10px;}
.mitigation-sequence li{padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fbfdff;}
.mitigation-step-head{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:6px;}
.mitigation-arrow{font-weight:900;color:var(--muted);}
.mitigation-text{font-weight:650;color:#20364e;white-space:normal;}
.mitigation-ref,.mitigation-manual{font-size:12px;color:var(--muted);margin-top:4px;white-space:normal;}
.open-step-btn,.mini-btn{padding:5px 8px;font-size:12px;border-radius:8px;box-shadow:none;}
.soft-sep{border:0;border-top:1px solid var(--line);margin:6px 0;}
.risk-pill.ok,.risk-bg-ok{background:#e6f4ea!important;color:var(--ok)!important;border-color:#9ed1aa!important;}
.risk-pill.warn,.risk-bg-warn{background:#fff4df!important;color:var(--warn)!important;border-color:#f0c36d!important;}
.risk-pill.bad,.risk-bg-bad{background:#fdecea!important;color:var(--bad)!important;border-color:#f3aaa6!important;}
.risk-text-ok{color:var(--ok)!important;}
.risk-text-warn{color:var(--warn)!important;}
.risk-text-bad{color:var(--bad)!important;}
@media (max-width:900px){.mitigation-seq-cell{min-width:360px}.mitigation-step-head{align-items:flex-start}}
@media print{.risk-bg-ok,.pill.ok,.risk-pill.ok{background:#e6f4ea!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.risk-bg-warn,.pill.warn,.risk-pill.warn{background:#fff4df!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.risk-bg-bad,.pill.bad,.risk-pill.bad{background:#fdecea!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.mitigation-sequence li{break-inside:avoid}}

/* v8.3 - Topbar semplificata: pulsante unico di salvataggio sicuro */
.top-actions #syncBadge,
.top-actions #cloudSyncBtn{
  display:none !important;
}
.top-actions #saveBtn.save-primary83{
  background:linear-gradient(135deg,#0f4c81,#1769aa);
  color:#fff;
  border:0;
  box-shadow:0 8px 18px rgba(15,76,129,.22);
  font-weight:800;
  letter-spacing:.01em;
  min-width:128px;
}
.top-actions #saveBtn.save-primary83:hover{filter:brightness(1.04); transform:translateY(-1px);}
.top-actions #saveBtn.save-primary83:disabled{opacity:.78; cursor:wait; transform:none;}
.save-compact-status{
  display:inline-flex;
  align-items:center;
  max-width:190px;
  padding:4px 8px;
  border-radius:999px;
  font-size:.75rem;
  font-weight:700;
  background:#eef4fb;
  color:#24445f;
  border:1px solid rgba(15,76,129,.16);
  white-space:nowrap;
}
.save-compact-status.ok{background:#e9f7ef;color:#155b34;border-color:#bfe6cc;}
.save-compact-status.warn{background:#fff8df;color:#7a5600;border-color:#f0d880;}
.save-compact-status.bad{background:#fdeeee;color:#8a1f1f;border-color:#efb4b4;}
.save83-spinner{
  display:inline-block;
  width:13px;
  height:13px;
  margin-right:6px;
  border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;
  border-radius:999px;
  vertical-align:-2px;
  animation:save83spin .8s linear infinite;
}
@keyframes save83spin{to{transform:rotate(360deg)}}
.save83-toast .af-icon{background:#0f4c81;}
.save83-toast.save83-warn .af-icon{background:#b7791f;}
.save83-toast.save83-bad .af-icon{background:#b91c1c;}
@media (max-width:900px){.save-compact-status{display:none}.top-actions #saveBtn.save-primary83{min-width:auto}}

/* ===== v8.4 gestione utenti e accesso applicativo ===== */
.login-gate84 {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: linear-gradient(135deg, rgba(8, 35, 58, .94), rgba(9, 78, 129, .90));
  backdrop-filter: blur(6px);
}
.login-gate84.active { display: flex; }
.login-card84 {
  width: min(560px, 96vw);
  background: #fff;
  color: #16202a;
  border-radius: 22px;
  box-shadow: 0 24px 70px rgba(0,0,0,.35);
  padding: 28px;
  border: 1px solid rgba(255,255,255,.18);
}
.login-card84 .login-brand84 { display: flex; gap: 14px; align-items: center; margin-bottom: 18px; }
.login-card84 .login-brand84 img { width: 58px; height: auto; }
.login-card84 h2 { margin: 0; color: #0f4c81; }
.login-card84 p { margin: 4px 0 0; color: #5b6773; }
.login-form84 { display: grid; gap: 12px; margin-top: 18px; }
.login-form84 label { font-weight: 700; color: #263544; }
.login-form84 input { width: 100%; margin-top: 6px; padding: 12px 14px; border: 1px solid #cbd5df; border-radius: 12px; font-size: 15px; }
.login-actions84 { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.login-actions84 button { padding: 11px 15px; border-radius: 12px; }
.login-public84 { border-top: 1px solid #e2e8f0; margin-top: 18px; padding-top: 16px; display: grid; gap: 10px; }
.login-public84 .public-buttons84 { display: flex; gap: 10px; flex-wrap: wrap; }
.login-error84 { color: #b42318; min-height: 22px; font-weight: 700; }
body.locked84 > .topbar, body.locked84 > .layout { display: none !important; }
body.public-mode84 .sidebar { display: none !important; }
body.public-mode84 .layout { grid-template-columns: 1fr !important; }
body.public-mode84 .topbar .top-actions > :not(#loginBtn) { display: none !important; }
body.public-mode84 .topbar { box-shadow: 0 2px 12px rgba(0,0,0,.08); }
.user-management-grid { align-items: start; }
.user-management-view .selected-row td { background: #eaf4ff; }
.permissions-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px; margin-top: 8px; }
.permission-card84 { border: 1px solid #d6e0ea; border-radius: 14px; padding: 10px 12px; background: #f8fafc; display: flex; gap: 10px; align-items: flex-start; }
.permission-card84 input { margin-top: 3px; }
.permission-card84 b { display: block; color: #0f4c81; }
.permission-card84 small { display: block; color: #607080; line-height: 1.35; margin-top: 2px; }
.user-status-pill84 { display:inline-flex; align-items:center; gap:4px; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:800; }
.user-status-pill84.ok { background:#dff7e8; color:#116235; }
.user-status-pill84.bad { background:#ffe3e0; color:#9f1d18; }
body:not(.user-admin84) #userNewBtn,
body:not(.user-admin84) #userSaveBtn,
body:not(.user-admin84) #userDeleteBtn { opacity:.55; pointer-events:none; }

/* v8.5 - Aggiornamenti normativi */
.regulatory-updates-view .regulatory-grid{grid-template-columns:minmax(420px,1fr) minmax(420px,1fr);gap:18px;align-items:start}
.regulatory-updates-view .filters{display:grid;grid-template-columns:1.3fr .8fr .7fr;gap:8px;margin-bottom:10px}
.regulatory-updates-view textarea{min-height:70px}
.regulatory-kpis .kpi strong{font-size:1.8rem}
@media(max-width:1100px){.regulatory-updates-view .regulatory-grid{grid-template-columns:1fr}.regulatory-updates-view .filters{grid-template-columns:1fr}}


/* v8.6 - Hazard Log card view + print actions */
#hazards .table-wrap{display:none;}
.hazard-table-legacy-hidden-v86{display:none !important;}
.hazard-card-list-v86{display:grid;grid-template-columns:1fr;gap:14px;margin-top:14px;}
.hazard-card-v86{background:var(--card,#fff);border:1px solid rgba(15,76,129,.16);border-radius:18px;box-shadow:0 10px 30px rgba(15,76,129,.08);overflow:hidden;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.hazard-card-v86:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(15,76,129,.12);border-color:rgba(15,76,129,.28);}
.hazard-card-v86.selected{border-color:#0f4c81;box-shadow:0 0 0 3px rgba(15,76,129,.10),0 14px 34px rgba(15,76,129,.12);}
.hazard-card-main{display:grid;grid-template-columns:120px 1fr auto;gap:14px;padding:16px;align-items:stretch;}
.hazard-code-box{border-radius:16px;background:linear-gradient(180deg,#0f4c81,#163b5e);color:#fff;padding:14px;display:flex;flex-direction:column;justify-content:center;min-height:96px;text-align:center;}
.hazard-code-box span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;}
.hazard-code-box b{font-size:23px;line-height:1.1;margin:5px 0;}
.hazard-code-box small{font-size:12px;opacity:.9;}
.hazard-card-content h3{font-size:17px;line-height:1.25;margin:8px 0;color:#14213d;}
.hazard-card-topline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.hazard-consequence{margin:4px 0 10px;color:#334155;}
.hazard-card-riskline{display:grid;grid-template-columns:minmax(180px,1fr) 28px minmax(180px,1fr) minmax(140px,.7fr);gap:10px;align-items:center;margin-top:10px;}
.hazard-card-riskline > div:not(.hazard-big-arrow){background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:9px;}
.hazard-card-riskline span:first-child{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:4px;}
.hazard-big-arrow{text-align:center;font-size:24px;color:#64748b;}
.hazard-risk-badge.ok,.pill.hazard-risk-badge.ok{background:#dff7e6;color:#0f5132;border-color:#a4e2b4;}
.hazard-risk-badge.warn,.pill.hazard-risk-badge.warn{background:#fff3cd;color:#7a5200;border-color:#f0c36a;}
.hazard-risk-badge.bad,.pill.hazard-risk-badge.bad{background:#f8d7da;color:#842029;border-color:#dd8a91;}
.hazard-card-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch;justify-content:center;min-width:110px;}
.hazard-card-details{border-top:1px solid #e2e8f0;background:#fbfdff;}
.hazard-card-details summary{cursor:pointer;padding:11px 16px;font-weight:700;color:#0f4c81;}
.hazard-card-extra{padding:0 16px 16px;}
.hazard-step-card{display:grid;grid-template-columns:34px 1fr;gap:10px;position:relative;margin:10px 0;}
.hazard-step-index{width:30px;height:30px;border-radius:50%;background:#0f4c81;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;margin-top:4px;}
.hazard-step-card:not(:last-child)::after{content:"";position:absolute;left:15px;top:36px;bottom:-10px;width:2px;background:#cbd5e1;}
.hazard-step-body{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:12px;}
.hazard-step-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:7px;}
.hazard-risk-path{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0;}
.hazard-step-text{white-space:pre-wrap;line-height:1.35;color:#1e293b;margin:8px 0;}
.hazard-step-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:8px;}
.hazard-step-meta div,.hazard-reference-boxes div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:8px;font-size:12px;line-height:1.35;}
.hazard-reference-boxes{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;}
#hazards .header-actions{flex-wrap:wrap;}
@media(max-width:900px){.hazard-card-main{grid-template-columns:1fr}.hazard-card-actions{flex-direction:row;flex-wrap:wrap}.hazard-card-riskline{grid-template-columns:1fr}.hazard-big-arrow{display:none}.hazard-reference-boxes{grid-template-columns:1fr}}
@media print{.hazard-card-actions,.hazard-card-details summary,.no-print{display:none!important}.hazard-card-v86{box-shadow:none;border:1px solid #999;page-break-inside:avoid}.hazard-card-details{display:block}.hazard-card-details[open] .hazard-card-extra,.hazard-card-extra{display:block}.hazard-card-main{grid-template-columns:90px 1fr}.hazard-card-riskline{grid-template-columns:1fr 24px 1fr 1fr}.hazard-card-list-v86{gap:8px}}

/* v8.7 - Accettazioni elettroniche sostitutive dei campi firma */
.hw-accept-host87{margin:12px 0 14px}.hw-accept-panel87{border:1px solid #c9d8e8;background:#f8fbff;border-radius:16px;padding:14px;box-shadow:0 8px 22px rgba(15,76,129,.06)}.hw-accept-title87{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.hw-accept-title87 h4{margin:.1rem 0;color:#0f4c81}.hw-accept-title87 small{color:#52677b}.hw-accept-title87>span{background:#eaf2fb;color:#0f4c81;border:1px solid #c4d7ea;border-radius:999px;padding:4px 9px;font-size:.78rem;font-weight:700}.hw-accept-config87{overflow:auto;margin:8px 0}.hw-accept-config87 table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.hw-accept-config87 th,.hw-accept-config87 td{border:1px solid #dbe6f1;padding:7px;text-align:left;vertical-align:middle}.hw-accept-config87 th{background:#edf5fc;color:#234}.hw-accept-config87 select{min-width:220px}.hw-accept-cards87{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin-top:10px}.hw-accept-card87{border-radius:14px;padding:10px;border:1px solid #ddd;background:#fff;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.hw-accept-card87.ok{border-color:#8fd19e;background:#ecfdf3}.hw-accept-card87.wait{border-color:#f1c36d;background:#fff8e6}.hw-accept-card87 strong{display:block}.hw-accept-card87 small,.hw-accept-card87 span{color:#536578;font-size:.82rem}.hw-accept-card87 button{grid-column:1/-1;width:100%;margin-top:4px}.hw-accepted-lock-notice87{margin:0 0 10px}.hw-record-locked87{outline:2px dashed rgba(15,76,129,.25);outline-offset:4px}.hw-hidden-signature87,.hw-old-signature-hidden87{display:none!important}.hw-print-acceptance87{break-inside:avoid;page-break-inside:avoid;margin-top:24px;border-top:3px solid #0f4c81;padding-top:12px}.hw-print-acceptance87 h3{color:#0f4c81;margin:0 0 8px}.hw-print-acceptance87 p{font-size:9.5pt;color:#425466}.hw-print-acceptance87 table{width:100%;border-collapse:collapse}.hw-print-acceptance87 th,.hw-print-acceptance87 td{border:1px solid #9aa7b7;padding:5px;text-align:left;vertical-align:top}.hw-print-acceptance87 th{background:#e8eef7;color:#102a43}.hw-accept-modal87{position:fixed;inset:0;background:rgba(10,20,35,.45);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}.hw-accept-modal87[hidden]{display:none!important}.hw-accept-modal-card87{max-width:680px;width:100%;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:18px}.hw-accept-head87{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #dbe6f1;padding-bottom:10px;margin-bottom:12px}.hw-accept-head87 h3{margin:.1rem 0;color:#0f4c81}.hw-accept-head87 p{margin:.1rem 0;color:#52677b}.hw-accept-form87{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hw-accept-form87 .span2{grid-column:1/-1}.hw-accept-actions87{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}.acceptance-register-view87 table small{font-size:.72rem;word-break:break-all}@media(max-width:800px){.hw-accept-form87{grid-template-columns:1fr}.hw-accept-form87 .span2{grid-column:auto}.hw-accept-title87{display:block}.hw-accept-config87 select{min-width:160px}.hw-accept-card87{grid-template-columns:1fr}}


/* v9.0 - Dashboard utente, salvataggio Netlify e accettazioni più pulite */
.dashboard-version-panel88{border:1px solid #bfdbfe;background:#eff6ff;margin-bottom:14px}
.dash-version-grid88{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;font-size:.92rem}
.dash-version-grid88 div{background:#fff;border:1px solid #dbeafe;border-radius:12px;padding:10px}
.pending-acceptances88{border:1px solid #fed7aa;background:#fff7ed;margin:14px 0}
.pending-head88{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.pending-head88 h3{margin:0}.pending-head88 p{margin:4px 0 0;color:#64748b}
.pending-list88{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.pending-card88{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fff;border:1px solid #fed7aa;border-radius:14px;padding:12px;box-shadow:0 6px 18px rgba(15,76,129,.06)}
.pending-card88 small{display:block;color:#64748b;margin-top:4px}.pending-card88 span{display:block;margin-top:3px}
.pending-card88 button{white-space:nowrap}.hw-accept-modal87 input[type="date"],.hw-accept-modal87 input[type="time"]{background:#fff;border-color:#0f4c81}
.hw-accept-modal87 label:has(#hwAcceptDate87)::after,.hw-accept-modal87 label:has(#hwAcceptTime87)::after{content:'modificabile';display:inline-block;margin-top:3px;font-size:.72rem;color:#0f4c81;font-weight:700}
#saveCompactStatus{font-weight:700;color:#0f4c81}
@media (max-width:900px){.dash-version-grid88{grid-template-columns:1fr 1fr}.pending-card88{align-items:flex-start;flex-direction:column}.pending-card88 button{width:100%}}
@media (max-width:600px){.dash-version-grid88{grid-template-columns:1fr}}


/* v9.0 - login robusto */
.login-hint90{display:block;margin-top:10px;padding:10px 12px;border:1px solid #d8e7f5;border-radius:12px;background:#f5f9ff;color:#35506b;line-height:1.35}
.login-error84.ok{color:#0f6b3d;background:#eaf7ef;border-color:#bfe8cc}
#loginSubmit84:disabled{opacity:.65;cursor:wait}

/* v9.1 - stato documentazione agli atti in dashboard */
.dashboard-legacy91{
  border-left:4px solid #0f766e;
  padding-left:.75rem;
  min-width:180px;
}
#legacyActsStatus91{font-size:.92rem;color:#334155;}


/* ===== v9.5: avvio in consultazione, popup schede e sicurezza dati ===== */
body.readonly95 #loginGate84:not(.active){display:none!important;}
body.readonly95.locked84{overflow:auto!important;}
body.readonly95 .layout{filter:none!important;pointer-events:auto!important;}
.role-badge.viewer{background:#eef4fb;color:#0f4c81;border-color:#b7c8dc;}
.hw-detail-backdrop95{display:none;position:fixed;inset:0;background:rgba(15,35,55,.48);z-index:9997;backdrop-filter:blur(2px)}
body.hw-modal-open95 .hw-detail-backdrop95{display:block;}
.hw-detail-modal95{display:none!important;position:fixed!important;z-index:9998;top:clamp(12px,3vh,28px);left:50%;transform:translateX(-50%);width:min(1180px,calc(100vw - 28px));max-height:calc(100vh - 42px);overflow:auto;background:#fff;border:1px solid #bfd0e2;border-radius:18px;box-shadow:0 28px 90px rgba(8,28,50,.35);padding:0 18px 18px!important;}
.hw-detail-modal95.hw-open95{display:block!important;}
.hw-detail-modal-head95{position:sticky;top:0;z-index:2;margin:0 -18px 16px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(135deg,#f7fbff,#eaf3fb);border-bottom:1px solid #cbdcec;border-radius:18px 18px 0 0;}
.hw-detail-modal-head95 b{font-size:1.05rem;color:#0f3558;}
.hw-detail-modal-head95 small{display:block;color:#5b6d80;margin-top:2px;}
body.hw-modal-open95{overflow:hidden;}
body:not(.hw-modal-open95) .hw-detail-modal95{display:none!important;}
/* Nei registri la colonna/scheda dettaglio viene nascosta finché non viene aperta in popup. */
.view.active .split-grid:has(.hw-detail-modal95),
.view.active .panel-grid:has(.hw-detail-modal95){grid-template-columns:1fr!important;}
.view.active .split-grid:has(.hw-detail-modal95) > .card-panel:not(.hw-detail-modal95),
.view.active .panel-grid:has(.hw-detail-modal95) > .panel:not(.hw-detail-modal95){min-width:0;}
.hw-detail-modal95 .form-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
.hw-detail-modal95 textarea{min-height:82px;}
.hw-detail-modal95 .sub-panel{box-shadow:none;border:1px solid #d8e3ee;background:#fbfdff;}
@media(max-width:900px){.hw-detail-modal95{width:calc(100vw - 14px);top:8px;max-height:calc(100vh - 16px);border-radius:14px}.hw-detail-modal95 .form-grid{grid-template-columns:1fr!important}.hw-detail-modal-head95{border-radius:14px 14px 0 0}.hw-detail-modal-head95{align-items:flex-start}.hw-detail-modal-head95 button{white-space:nowrap}}
#resetBtn{border-color:#b91c1c!important;color:#991b1b!important;background:#fff5f5!important;}
#saveCompactStatus,#cloudStatusText.cloud-on{font-weight:700;}
.hw-old-signature-hidden87{display:none!important;}
.dashboard-version-panel88 .dash-version-grid88 div:first-child{border-left:5px solid #0f4c81;}

/* ===== v9.6: diagnostica, scadenziario, ricerca globale, cestino e popup leggibili ===== */
.hw96-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:12px 0}.hw96-card{background:#fff;border:1px solid #d8e4ef;border-radius:16px;padding:14px;box-shadow:0 10px 28px rgba(15,76,129,.06)}.hw96-card h3,.hw96-card h4{margin:.1rem 0 .45rem;color:#0f4c81}.hw96-card strong.hw96-big{font-size:1.6rem;display:block;color:#172554}.hw96-card.ok{border-color:#86efac;background:#f0fdf4}.hw96-card.warn{border-color:#fde68a;background:#fffbeb}.hw96-card.bad{border-color:#fecaca;background:#fef2f2}.hw96-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:10px 0}.hw96-table-wrap{overflow:auto;border:1px solid #dce7f1;border-radius:14px;background:#fff}.hw96-table{width:100%;border-collapse:collapse;font-size:.92rem}.hw96-table th,.hw96-table td{border-bottom:1px solid #e5edf5;padding:9px;text-align:left;vertical-align:top}.hw96-table th{background:#edf5fc;color:#1e3a5f;position:sticky;top:0;z-index:1}.hw96-table tr:hover td{background:#f8fbff}.hw96-searchbar{display:grid;grid-template-columns:minmax(240px,1fr) 220px 180px;gap:10px;margin:10px 0}.hw96-pill{display:inline-block;border-radius:999px;padding:3px 8px;background:#eaf2fb;color:#0f4c81;border:1px solid #c6d9eb;font-size:.78rem;font-weight:700}.hw96-pill.ok{background:#dcfce7;color:#166534;border-color:#86efac}.hw96-pill.warn{background:#fef3c7;color:#92400e;border-color:#facc15}.hw96-pill.bad{background:#fee2e2;color:#991b1b;border-color:#fca5a5}.hw96-muted{color:#64748b;font-size:.86rem}.hw96-empty{padding:18px;border:1px dashed #cbd5e1;border-radius:14px;background:#f8fafc;color:#64748b}.hw96-pre{white-space:pre-wrap;background:#0f172a;color:#e2e8f0;border-radius:12px;padding:12px;max-height:280px;overflow:auto}.hw96-backup-list{display:grid;gap:8px}.hw96-backup-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#f8fbff;border:1px solid #dbeafe;border-radius:12px;padding:10px}.hw96-deadline-overdue{color:#991b1b;font-weight:800}.hw96-deadline-soon{color:#92400e;font-weight:800}.hw96-deadline-ok{color:#166534;font-weight:800}.hw96-global-result-title{font-weight:800;color:#0f4c81}.hw96-global-result-meta{font-size:.78rem;color:#64748b}.hw96-sticky-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.85),#fff);border-top:1px solid #d8e3ee;padding:10px 0;margin-top:12px;display:flex;justify-content:flex-end;gap:8px;z-index:3}.hw-detail-modal95{width:min(1320px,calc(100vw - 18px))!important;max-height:calc(100vh - 18px)!important;top:8px!important;padding-bottom:76px!important}.hw-detail-modal95.hw-open95{display:block!important}.hw-detail-modal95 .view-header,.hw-detail-modal95 .form-actions,.hw-detail-modal95 .inline-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.90),#fff);z-index:5;border-top:1px solid #d8e3ee;padding-top:10px}.hw-detail-modal-head95{padding:12px 18px!important}.hw-detail-backdrop95{display:none;position:fixed;inset:0;background:rgba(2,8,23,.55);backdrop-filter:blur(2px);z-index:9997}.hw96-record-modal{position:fixed;inset:0;z-index:100000;background:rgba(15,23,42,.58);display:flex;align-items:center;justify-content:center;padding:14px}.hw96-record-modal[hidden]{display:none}.hw96-record-card{background:#fff;border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.28);width:min(1180px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto;padding:0 18px 18px}.hw96-record-head{position:sticky;top:0;background:linear-gradient(135deg,#f7fbff,#eaf3fb);border-bottom:1px solid #cbdcec;margin:0 -18px 14px;padding:14px 18px;display:flex;justify-content:space-between;gap:10px;z-index:2}.hw96-record-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}.hw96-field{border:1px solid #e2e8f0;background:#fbfdff;border-radius:12px;padding:9px}.hw96-field b{display:block;color:#334155;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.hw96-field span{white-space:pre-wrap;word-break:break-word}.hw96-diagnostic-status{font-weight:800}.hw96-diagnostic-status.ok{color:#166534}.hw96-diagnostic-status.warn{color:#92400e}.hw96-diagnostic-status.bad{color:#991b1b}@media(max-width:900px){.hw96-searchbar{grid-template-columns:1fr}.hw96-table{font-size:.84rem}.hw96-backup-row{grid-template-columns:1fr}.hw-detail-modal95{width:calc(100vw - 10px)!important;top:5px!important;max-height:calc(100vh - 10px)!important}.hw96-record-card{width:calc(100vw - 10px);max-height:calc(100vh - 10px)}}

/* v9.8 - Notifiche email */
.hw-accept-title-actions87{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.hw-email-notify-btn97{white-space:nowrap}
.hw-email-modal97{position:fixed;inset:0;background:rgba(8,19,35,.58);z-index:99999;display:none;align-items:center;justify-content:center;padding:18px}
.hw-email-modal97.active{display:flex}
.hw-email-card97{width:min(980px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.32);padding:18px;border:1px solid #d8e2ef}
.hw-email-head97{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid #e2e8f0;padding-bottom:10px;margin-bottom:12px}
.hw-email-head97 h3{margin:0;color:#0f4c81}.hw-email-head97 p{margin:.25rem 0 0;color:#64748b}
.hw-email-grid97{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hw-email-grid97 .span2{grid-column:1/-1}
.hw-email-grid97 label{display:flex;flex-direction:column;font-weight:700;gap:5px;color:#25364b}
.hw-email-grid97 input,.hw-email-grid97 textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px;font:inherit;background:#fff}.hw-email-grid97 textarea{resize:vertical;min-height:230px;line-height:1.35}
.hw-email-actions97{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0}
.hw97-kpis{display:grid;grid-template-columns:repeat(3,minmax(160px,1fr));gap:12px;margin-bottom:12px}.hw97-kpis>div{background:#f8fafc;border:1px solid #dbe4ef;border-radius:14px;padding:14px}.hw97-kpis b{display:block;font-size:1.7rem;color:#0f4c81}.hw97-kpis span{color:#64748b;font-size:.9rem}
.hw97-dashboard-card{margin-bottom:12px;border-left:5px solid #0f4c81}.hw97-mini-list{display:grid;gap:8px;margin:10px 0}.hw97-mini-list>div{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e8f0;border-radius:12px;padding:8px;background:#f8fafc}.hw97-mini-list small{display:block;color:#64748b}.small.ghost,.ghost.small{padding:.42rem .65rem;font-size:.86rem}
@media (max-width:760px){.hw-email-grid97,.hw97-kpis{grid-template-columns:1fr}.hw-email-card97{padding:14px}.hw-email-actions97{justify-content:stretch}.hw-email-actions97 button{flex:1}.hw97-mini-list>div{align-items:flex-start;flex-direction:column}.hw97-mini-list button{width:100%}}


/* v9.8 - modal notifica credenziali utenti */
.cred-modal98{position:fixed;inset:0;background:rgba(15,23,42,.55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:18px}
.cred-modal98[hidden]{display:none!important}
.cred-box98{width:min(980px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.35);padding:20px;border:1px solid #dbe7f3}
.cred-head98{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #dbe7f3;margin-bottom:14px;padding-bottom:12px}
.cred-head98 h3{margin:0;color:#0f4c81}.cred-head98 p{margin:.2rem 0 0;color:#64748b}
.cred-grid98{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.cred-box98 label{display:block;font-weight:700;color:#1e293b;margin:8px 0}.cred-box98 input,.cred-box98 textarea{width:100%;box-sizing:border-box}
.cred-actions98{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.cred-hint98{margin-top:14px}
@media(max-width:760px){.cred-grid98{grid-template-columns:1fr}.cred-box98{padding:14px}.cred-actions98{justify-content:stretch}.cred-actions98 button{flex:1 1 100%}}


/* v10.0 - Accettazioni manuali / allineamento PAS */
.manual-acceptances100 .ma100-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:16px;margin-bottom:16px}.manual-acceptances100 .ma100-card{background:#fff;border:1px solid #d8e2ef;border-radius:16px;padding:16px;box-shadow:0 10px 22px rgba(15,76,129,.06)}.manual-acceptances100 label{display:flex;flex-direction:column;gap:6px;font-weight:650;margin:8px 0}.manual-acceptances100 input,.manual-acceptances100 select,.manual-acceptances100 textarea{width:100%;border:1px solid #c9d6e5;border-radius:10px;padding:10px;background:#fbfdff;color:#13243a}.manual-acceptances100 textarea{resize:vertical}.ma100-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ma100-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.ma100-checks{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ma100-checks label{flex-direction:row;align-items:flex-start;font-weight:500;background:#f6f9fc;border:1px solid #dbe6f1;border-radius:10px;padding:8px}.ma100-checks input{width:auto;margin-top:2px}.ma100-tablewrap{overflow:auto;max-height:460px;border:1px solid #e0e8f2;border-radius:12px}.ma100-table{width:100%;border-collapse:collapse;font-size:.92rem}.ma100-table th,.ma100-table td{padding:8px;border-bottom:1px solid #e5edf5;text-align:left;vertical-align:top}.ma100-table th{position:sticky;top:0;background:#eaf2fb;z-index:1}.ma100-table tr:nth-child(even) td{background:#fbfdff}.admin-only100{border-color:#f0c36a!important;background:linear-gradient(180deg,#fffdf7,#fff)!important}.cred-modal98,.pas-accept-modal-v121{z-index:9999}.notice.warn{background:#fff7e6;border-color:#f3c772;color:#604100}@media(max-width:900px){.manual-acceptances100 .ma100-grid,.ma100-two,.ma100-checks{grid-template-columns:1fr}.manual-acceptances100 .ma100-card{padding:12px}.ma100-actions button{width:100%}}
