*{box-sizing:border-box}body{color:#212529;background:#e9ecef;margin:0;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root{min-height:100vh}.app-shell{grid-template-columns:420px 1fr;gap:0;min-height:100vh;display:grid}.toolbar{color:#fff;background:#1a3c5e;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;padding:12px 20px;display:flex}.toolbar h1{margin:0 20px 0 0;font-size:1.1em}.toolbar button{color:#fff;cursor:pointer;background:#fff2;border:1px solid #fff5;border-radius:4px;padding:6px 12px;font-size:.9em}.toolbar button:hover{background:#ffffff3a}.toolbar .spacer{flex:1}.form-panel{background:#f4f5f7;border-right:1px solid #ccc;max-height:calc(100vh - 50px);padding:16px;overflow-y:auto}.report-panel{justify-content:center;max-height:calc(100vh - 50px);padding:24px;display:flex;overflow-y:auto}fieldset{background:#fff;border:1px solid #d0d3d7;border-radius:6px;margin-bottom:14px;padding:12px 14px 14px}legend{color:#1a3c5e;padding:0 6px;font-weight:600}fieldset label{color:#333;margin-bottom:8px;font-size:.82em;display:block}fieldset input,fieldset select,fieldset textarea{border:1px solid #c5c9cf;border-radius:4px;width:100%;margin-top:3px;padding:6px 8px;font-family:inherit;font-size:.95em;display:block}.field-row{gap:10px;display:flex}.field-row>label,.field-row>input{flex:1;min-width:0}.risk-row,.stage-row{align-items:start;gap:6px;margin-bottom:6px;display:flex}.risk-row input{flex:1;padding:5px 6px;font-size:.85em}.stage-row{border:1px solid #e0e2e6;border-radius:4px;flex-direction:column;padding:8px;position:relative}.stage-row .stage-title{font-weight:600}.stage-row textarea{font-family:inherit;font-size:.85em}.stage-row button,.risk-row button{color:#c0392b;cursor:pointer;background:#fdecea;border:1px solid #f3c3bd;border-radius:4px;flex-shrink:0;width:26px;height:26px}fieldset>button[type=button]{color:#fff;cursor:pointer;background:#1a3c5e;border:none;border-radius:4px;margin-top:6px;padding:7px 12px;font-size:.85em}.hint{color:#666;margin:4px 0 0;font-size:.8em}@media (width<=900px){.app-shell{grid-template-columns:1fr}.form-panel,.report-panel{max-height:none}}:root{--primary:#1a3c5e;--accent:#c0392b;--border:#b0b0b0;--bg-light:#f8f9fa;--text:#212529;--table-stripe:#f2f4f6;--warning:#f39c12;--success:#27ae60;--danger:#e74c3c}.document{max-width:1100px;color:var(--text);background:#fff;border-radius:4px;margin:0 auto;font-family:Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow:hidden;box-shadow:0 10px 40px #00000026}.document .cover{background:linear-gradient(135deg, var(--primary) 0%, #0d2137 100%);color:#fff;padding:50px 45px 40px;position:relative}.document .cover h1{letter-spacing:-.5px;margin-bottom:12px;font-size:2.4em;font-weight:700}.document .cover .subtitle{opacity:.9;margin-bottom:20px;font-size:1.3em;font-weight:400}.document .cover .ref{border:2px solid #ffffff80;border-radius:30px;margin-bottom:30px;padding:8px 20px;font-size:1em;font-weight:500;display:inline-block}.document .cover table{border-collapse:collapse;width:100%}.document .cover td{border-bottom:1px solid #fff3;padding:6px 5px;font-size:.95em}.document .cover td:first-child{width:180px;font-weight:600}.document .content{padding:35px 45px}.document h2{color:var(--primary);border-bottom:3px solid var(--primary);margin:35px 0 20px;padding-bottom:8px;font-size:1.6em}.document h2:first-of-type{margin-top:0}.document h3{color:#2c3e50;margin:25px 0 12px;font-size:1.2em}.document h4{color:#34495e;margin:18px 0 8px;font-size:1.05em}.document p{margin-bottom:10px}.document table.data-table{border-collapse:collapse;width:100%;margin:12px 0 20px;font-size:.92em}.document table.data-table th{background-color:var(--primary);color:#fff;text-align:left;text-transform:uppercase;letter-spacing:.5px;padding:10px 8px;font-size:.88em;font-weight:600}.document table.data-table td,.document table.data-table th{border:1px solid var(--border);vertical-align:top;padding:8px}.document table.data-table tr:nth-child(2n) td{background-color:var(--table-stripe)}.document table.data-table td:first-child{background-color:#f0f3f5;width:28%;font-weight:600}.document .highlight{border-left:5px solid var(--primary);background:#eaf2f8;border-radius:0 5px 5px 0;margin:18px 0;padding:12px 18px}.document .pass{color:var(--success);font-weight:700}.document .warn{color:var(--warning);font-weight:700}.document .danger-text{color:var(--danger);font-weight:700}.document .checklist{padding:0;list-style:none}.document .checklist li{border-bottom:1px dotted #ccc;align-items:center;padding:6px 0;display:flex}.document .checklist li:before{content:"☐";color:var(--primary);margin-right:10px;font-size:1.1em}.document .signature-grid{grid-template-columns:1fr 2fr 1.5fr 1fr;gap:4px;margin-top:10px;font-size:.9em;display:grid}.document .sig-header{border-bottom:2px solid var(--primary);background:#f0f3f5;padding:8px;font-weight:600}.document .sig-row{display:contents}.document .sig-row div{border-bottom:1px solid #ddd;padding:8px}.document .warning-box{border:2px solid var(--danger);background:#fdf2f2;border-radius:8px;margin:20px 0;padding:16px}.document .diagram-block{background:var(--bg-light);border:1px solid var(--border);text-align:center;border-radius:6px;margin:15px 0;padding:12px}@media print{body{background:#fff;padding:0}.document{box-shadow:none;border-radius:0;max-width:100%}.document .cover,.document table.data-table th{-webkit-print-color-adjust:exact;print-color-adjust:exact}.document h2{page-break-before:always}.document h2:first-of-type{page-break-before:avoid}.app-shell .form-panel,.app-shell .toolbar{display:none!important}.app-shell{display:block!important}}.pdeck-overlay{z-index:1000;background:#0d1520;flex-direction:column;display:flex;position:fixed;inset:0}.pdeck-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;overflow:hidden}.pdeck-slide{aspect-ratio:16/9;color:#1a2330;background:linear-gradient(160deg,#fff 0%,#f4f7fa 100%);border-radius:10px;flex-direction:column;width:min(100%,177.778vh - 248.889px);max-height:calc(100vh - 140px);padding:clamp(20px,3.2vw,56px);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000073}.pdeck-slide.cover-slide{color:#fff;background:linear-gradient(135deg,#1a3c5e 0%,#0d2137 100%);justify-content:center;align-items:flex-start;gap:14px}.pdeck-slide.cover-slide .pdeck-eyebrow{color:#9fc4e8}.pdeck-slide.cover-slide h1{margin:0;font-size:clamp(2em,4.5vw,3.2em)}.pdeck-slide.cover-slide .pdeck-meta{opacity:.9;grid-template-columns:auto 1fr;gap:4px 16px;margin-top:10px;font-size:clamp(.9em,1.3vw,1.15em);display:grid}.pdeck-slide.cover-slide .pdeck-meta dt{opacity:.75;font-weight:600}.pdeck-slide.cover-slide .pdeck-meta dd{margin:0}.pdeck-eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:#c0392b;margin:0 0 4px;font-size:clamp(.65em,1vw,.8em);font-weight:700}.pdeck-slide h2{color:#1a3c5e;border-bottom:3px solid #1a3c5e;margin:0 0 clamp(10px,1.6vw,18px);padding-bottom:8px;font-size:clamp(1.3em,2.6vw,2em)}.pdeck-body{flex:1;grid-template-columns:1fr 1fr;gap:clamp(16px,2.4vw,36px);min-height:0;display:grid}.pdeck-body.single-col{grid-template-columns:1fr}.pdeck-explain{flex-direction:column;justify-content:center;gap:clamp(8px,1.2vw,14px);font-size:clamp(.8em,1.35vw,1.05em);line-height:1.5;display:flex}.pdeck-explain ul{margin:0;padding-left:1.2em}.pdeck-explain li{margin-bottom:.5em}.pdeck-data{flex-direction:column;justify-content:center;min-height:0;display:flex;overflow:auto}.pdeck-data table{border-collapse:collapse;width:100%;font-size:clamp(.68em,1.15vw,.95em)}.pdeck-data th,.pdeck-data td{text-align:left;border:1px solid #c9ced4;padding:clamp(4px,.6vw,8px) clamp(6px,.8vw,10px)}.pdeck-data th{color:#fff;background:#1a3c5e}.pdeck-data tr:nth-child(2n) td{background:#f2f4f6}.pdeck-stat-row{flex-wrap:wrap;gap:clamp(10px,1.6vw,20px);display:flex}.pdeck-stat{background:#eaf2f8;border-left:5px solid #1a3c5e;border-radius:0 8px 8px 0;flex:1;min-width:120px;padding:clamp(8px,1.2vw,16px)}.pdeck-stat .label{text-transform:uppercase;letter-spacing:.5px;color:#567;margin-bottom:4px;font-size:clamp(.62em,1vw,.8em)}.pdeck-stat .value{color:#1a3c5e;font-size:clamp(1.1em,2.4vw,1.8em);font-weight:700}.pdeck-stat .value.pass{color:#27ae60}.pdeck-stat .value.fail{color:#e74c3c}.pdeck-diagram{background:#f8f9fa;border:1px solid #d5d9dd;border-radius:8px;justify-content:center;align-items:center;padding:clamp(6px,1.2vw,14px);display:flex}.pdeck-bar{color:#fff;background:#101a28;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.pdeck-bar .pdeck-controls{align-items:center;gap:8px;display:flex}.pdeck-bar button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff40;border-radius:4px;padding:7px 14px;font-size:.9em}.pdeck-bar button:hover{background:#ffffff30}.pdeck-bar button:disabled{opacity:.35;cursor:not-allowed}.pdeck-counter{font-variant-numeric:tabular-nums;opacity:.85;font-size:.9em}.pdeck-title{opacity:.9;font-size:.95em}.pdeck-thumbs{gap:4px;max-width:50vw;display:flex;overflow-x:auto}.pdeck-thumbs button{background:#ffffff40;border:none;border-radius:50%;flex-shrink:0;width:8px;height:8px;padding:0}.pdeck-thumbs button.active{background:#fff}.pdeck-risk-list{flex-direction:column;gap:clamp(4px,1vw,10px);font-size:clamp(.68em,1.1vw,.9em);display:flex}.pdeck-risk-item{background:#f2f4f6;border-radius:4px;grid-template-columns:1.2fr .7fr 1.8fr .7fr;align-items:center;gap:8px;padding:clamp(4px,.7vw,8px);display:grid}.pdeck-risk-item .residual{color:#27ae60;font-weight:700}@media print{.pdeck-overlay{display:none!important}}
