:root{--brand:#176b5c;--brand-dark:#135448;--ink:#252b2d;--muted:#667477;--line:#b8c2c4;--bg:#eef3f3;--danger:#ad2b24;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit}button{min-height:42px;border:0;border-radius:8px;padding:9px 15px;color:#fff;background:var(--brand);font-weight:750;cursor:pointer}.secondary{color:var(--brand-dark);background:#fff;border:1px solid #8fb4b8}.danger{color:var(--danger);background:#fff;border:1px solid #d8aaa7}.app-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:105px 1fr auto;gap:15px;align-items:center;padding:10px max(14px,calc((100vw - 1200px)/2));color:#fff;background:linear-gradient(135deg,#125348,#1a8170);box-shadow:0 8px 24px #17333722}.app-header img{width:96px;max-height:45px;object-fit:contain;padding:4px;border-radius:4px;background:#fff}.app-header h1,.app-header small{margin:0}.app-header h1{font-size:1.25rem}.app-header small{font-size:.7rem;letter-spacing:.08em}.app-header a{padding:8px 11px;border:1px solid #ffffff88;border-radius:7px;color:#fff;font-size:.78rem;font-weight:800;text-decoration:none}.workspace{width:min(1240px,100%);margin:auto;padding:18px 12px 70px}.panel{margin-bottom:14px;padding:20px;border:1px solid #c7d5d7;border-radius:12px;background:#fff;box-shadow:0 5px 18px #1733370d}.eyebrow{margin:0;color:var(--brand);font-size:.74rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.panel h2{margin:4px 0 12px;font-size:1.3rem}.panel p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.full{grid-column:1/-1;margin-top:12px}label{display:grid;gap:5px;color:#35575b;font-size:.82rem;font-weight:750}input,select,textarea{width:100%;min-height:42px;border:1px solid #a9c0c3;border-radius:7px;padding:9px;color:var(--ink);background:#fff}textarea{resize:vertical}.section-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.points{display:grid;gap:14px}.point-card{border:1px solid #c8d7d9;border-radius:12px;background:#fbfdfd;overflow:hidden}.point-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#e7f2f0}.point-head .remove{min-height:34px;color:var(--danger);background:#fff;border:1px solid #deb4b1}.point-card>.grid,.test-block{padding:12px 14px}.test-block{border-top:1px solid #dbe5e6}.test-block h3{margin:0 0 10px;font-size:1rem;color:#143f39}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check-grid label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #d1dcde;border-radius:8px;background:#f9fbfb}.check-grid input{width:19px;min-height:19px;accent-color:var(--brand)}.actions{position:sticky;bottom:10px;z-index:10;display:grid;grid-template-columns:1fr auto auto auto auto auto;align-items:center;gap:9px;box-shadow:0 12px 35px #1733372a}.actions div{display:grid}.actions small{color:var(--muted)}.record-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(250px,1.4fr) auto auto;gap:10px;align-items:center;margin:0 0 18px;padding:16px;border:1px solid #9fc5c8;border-radius:12px;background:#eef8f7}.record-tools>div:first-child{display:grid;gap:3px}.record-tools small{color:var(--muted)}.completion-state{padding:8px 10px;border-radius:999px;background:#e4ecee;color:#496065;font-size:.78rem;font-weight:800;white-space:nowrap}.completion-state.complete{background:#d9f2e8;color:#08725b}.completion-state.incomplete{background:#ffe5df;color:#a33427}.record-results{grid-column:1/-1;display:grid;gap:7px;max-height:320px;overflow:auto}.record-result{display:grid;grid-template-columns:145px 1fr auto;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff}.record-result span{display:grid;font-size:.82rem}.record-result small{color:var(--muted)}.record-empty{padding:10px;color:var(--muted);text-align:center}.preview-wrap{margin-top:25px}.preview-toolbar{position:sticky;top:76px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:12px 15px;border-radius:10px;background:#dcebec;box-shadow:0 4px 13px #17333722}.document{display:grid;gap:18px}.doc-page{position:relative;width:210mm;min-height:297mm;margin:auto;padding:17mm 16mm 18mm;color:#111;background:#fff;box-shadow:0 10px 34px #17333724;font-family:Arial,sans-serif;font-size:9pt;line-height:1.35;counter-increment:page}.doc-page h1{font-size:16pt}.doc-page h2{margin:14px 0 8px;font-size:12pt}.doc-header{display:grid;grid-template-columns:35mm 1fr 39mm;min-height:18mm;margin:-8mm 0 9mm;border:1px solid #444;align-items:stretch}.doc-header>div{display:grid;align-content:center;padding:5px;border-left:1px solid #444;text-align:center}.doc-header img{width:30mm;max-height:14mm;align-self:center;justify-self:center;object-fit:contain}.doc-footer{position:absolute;left:16mm;right:16mm;bottom:7mm;display:flex;justify-content:space-between;padding-top:3mm;border-top:1px solid #555;color:#555;font-size:7.5pt}.doc-footer .page-no::after{content:counter(page)}.cover{display:grid;align-content:center;text-align:center}.cover .cover-logo{width:48mm;max-height:23mm;object-fit:contain;margin:0 auto 22mm}.doc-table{width:100%;border-collapse:collapse;margin:9px 0;font-size:8pt}.doc-table th,.doc-table td{border:1px solid #555;padding:5px;vertical-align:top}.doc-table th{background:#e9eeee;text-align:center}.status-cumple{color:#08725b;font-weight:800}.status-no-cumple{color:#a33427;font-weight:800}#toast{position:fixed;left:50%;bottom:25px;z-index:50;transform:translate(-50%,15px);padding:10px 16px;border-radius:8px;color:#fff;background:#173337;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:850px){.grid,.compact,.check-grid{grid-template-columns:1fr}.actions{grid-template-columns:1fr 1fr}.actions div{grid-column:1/-1}.record-tools{grid-template-columns:1fr}.record-results{grid-column:1}.record-result{grid-template-columns:1fr}.doc-page{width:100%;min-height:auto;padding:24px}.doc-header{margin:0 0 20px}.doc-footer{position:static;margin-top:25px}.app-header{grid-template-columns:75px 1fr}.app-header img{width:70px}.app-header a{grid-column:1/-1;text-align:center}}
@media print{@page{size:A4;margin:0}body{background:#fff}.app-header,form,.preview-toolbar,#toast,.record-tools{display:none!important}.workspace{width:auto;padding:0}.preview-wrap{display:block!important;margin:0}.document{display:block}.doc-page{width:210mm;min-height:297mm;margin:0;padding:17mm 16mm 18mm;box-shadow:none;break-after:page;page-break-after:always}.doc-page:last-child{break-after:auto;page-break-after:auto}.doc-footer{position:absolute;margin:0}.doc-header{margin:-8mm 0 9mm}}
.file-row{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end;margin-top:14px}.file-row span{padding:10px 12px;border:1px solid #d1dcde;border-radius:8px;background:#f9fbfb;color:var(--muted);font-size:.84rem}.instrument-list{display:grid;gap:9px}.instrument-row{display:grid;grid-template-columns:86px 1fr;gap:10px;align-items:center;padding:10px;border:1px solid #d4dfe0;border-radius:9px;background:#f9fbfb}.instrument-used{display:flex;align-items:center;gap:8px;min-height:40px}.instrument-used input{width:18px;min-height:18px;accent-color:var(--brand)}.instrument-data{display:grid;gap:3px}.instrument-data small{color:var(--muted)}.remove-instrument{min-height:42px;color:var(--danger);background:#fff;border:1px solid #deb4b1}.pdf-embed{width:100%;height:210mm;border:1px solid #555;background:#f8f8f8}@media(max-width:850px){.file-row{grid-template-columns:1fr}.instrument-row{grid-template-columns:1fr}}@media print{.pdf-embed{height:240mm}}
.file-name{display:grid;align-content:center;min-height:42px;padding:9px;border:1px dashed #9fb8bb;border-radius:7px;color:var(--muted);background:#fff;font-size:.8rem}.check-line{display:flex;align-items:center;gap:8px;min-height:42px;padding:9px;border:1px solid #d1dcde;border-radius:8px;background:#fff}.check-line input{width:18px;min-height:18px;accent-color:var(--brand)}.attached-image{break-inside:avoid;margin:10px 0;padding:8px;border:1px solid #aaa}.attached-image img{display:block;max-width:100%;max-height:180mm;margin:auto;object-fit:contain}.attached-image figcaption{margin-bottom:6px;font-weight:700;text-align:center}
.gas-result{display:grid;align-content:center;min-height:42px;padding:9px 10px;border:1px solid #cbdadb;border-radius:8px;background:#f9fbfb;font-weight:800}.status-informativo{color:#6f4ba8;font-weight:800}.status-no-aplica,.status-no-realizado{color:#607078;font-weight:800}.point-card [disabled]{background:#eef2f3;color:#6b7c80;cursor:not-allowed}.point-card[class*="-na"] .file-name{background:#eef2f3;color:#6b7c80}

.certificate-embed{break-inside:avoid;margin:12px 0;padding:9px;border:1px solid #777;background:#fff}.certificate-embed h4{margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #ccc;font-size:10pt}.pdf-render-target{display:grid;gap:8px}.pdf-render-status{margin:0;padding:8px;border:1px dashed #9fb8bb;color:#50696d;background:#f6f9f9;font-weight:700}.pdf-fallback.is-rendered{display:none}.pdf-page-image{break-inside:avoid;margin:0 0 10px;padding:7px;border:1px solid #aaa;background:#fff}.pdf-page-image figcaption{margin:0 0 6px;color:#111;font-size:8pt;font-weight:800;text-align:center}.pdf-page-image img{display:block;width:100%;max-height:255mm;object-fit:contain}@media print{.certificate-embed{break-after:page}.certificate-embed:last-child{break-after:auto}.pdf-render-status{display:none!important}.pdf-fallback{display:none!important}.pdf-page-image{page-break-inside:avoid}.pdf-page-image:not(:last-child){break-after:page}}
.certificate-image-page{break-inside:avoid;margin:0 0 10px;padding:7px;border:1px solid #aaa;background:#fff}.certificate-image-page figcaption{margin:0 0 6px;color:#111;font-size:8pt;font-weight:800;text-align:center}.certificate-image-page img{display:block;width:100%;max-height:255mm;object-fit:contain}@media print{.certificate-image-page{page-break-inside:avoid}.certificate-image-page:not(:last-child){break-after:page}}
