:root{--ink:#173236;--muted:#6b7d80;--line:#dce7e5;--soft:#f2f7f6;--teal:#0d5c63;--teal-dark:#08454b;--mint:#d9eeeb;--orange:#d88942;--danger:#a64b4b;--white:#fff;--shadow:0 8px 28px rgba(20,57,59,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:#edf3f2;color:var(--ink);font-size:16px}button,input,select,textarea{font:inherit}button{cursor:pointer}.app-shell{max-width:980px;min-height:100vh;margin:auto;background:#f9fbfa;box-shadow:0 0 50px rgba(23,50,54,.08)}.topbar{height:80px;background:var(--teal-dark);color:white;display:flex;align-items:center;padding:0 28px;gap:13px}.brand-mark{display:grid;place-items:center;background:#dd9670;color:#fff;width:35px;height:35px;border-radius:11px;font-weight:800;font-size:20px}.topbar h1{font-size:17px;margin:0;font-weight:700;letter-spacing:.01em}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:750;margin:0 0 4px;color:var(--orange)}.topbar .eyebrow{color:#a8d5cf}.icon-button{margin-left:auto;width:42px;height:42px;border:1px solid rgba(255,255,255,.24);border-radius:12px;background:transparent;color:inherit;font-size:22px}.view{display:none;padding:38px 48px 60px}.view.active{display:block}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:33px}.page-heading h2,.form-heading h2{font-size:32px;letter-spacing:-.04em;margin:0 0 7px}.muted{color:var(--muted);max-width:560px;margin:0;line-height:1.5}.primary-button,.secondary-button,.text-button,.add-button{border:0;border-radius:12px;min-height:48px;padding:0 18px;font-weight:750;transition:.2s ease}.primary-button{background:var(--teal);color:white;box-shadow:0 6px 14px rgba(13,92,99,.2)}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}.primary-button span{font-size:21px;vertical-align:-1px}.secondary-button{background:white;border:1px solid var(--line);color:var(--teal)}.secondary-button:hover,.add-button:hover{border-color:var(--teal);background:var(--soft)}.text-button{background:none;color:var(--muted);padding:0 9px}.parts-list{display:grid;gap:12px}.part-card{background:white;border:1px solid var(--line);border-radius:16px;padding:19px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 3px 12px rgba(20,57,59,.03)}.part-card:hover{border-color:#9fcac5}.part-main{min-width:0;flex:1}.part-main h3{margin:0 0 6px;font-size:18px}.part-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--muted);font-size:13px}.part-meta span+span:before{content:'·';margin-right:8px;color:#b1c2bf}.status-badge{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;padding:7px 10px;border-radius:20px;white-space:nowrap}.status-badge.draft{background:#fff3e5;color:#a86224}.status-badge.review{background:#e7f2f2;color:var(--teal)}.status-badge.sent{background:#e4f3e6;color:#347044}.card-actions{display:flex;gap:8px;align-items:center}.small-button{border:1px solid var(--line);background:white;color:var(--teal);border-radius:9px;padding:8px 10px;font-weight:700}.small-button.delete{color:var(--danger);border-color:transparent}.empty-state{text-align:center;max-width:390px;margin:72px auto 0;color:var(--muted)}.empty-icon{margin:auto auto 15px;display:grid;place-items:center;width:60px;height:60px;border-radius:19px;background:var(--mint);color:var(--teal);font-size:28px}.empty-state h3{color:var(--ink);margin:0 0 8px;font-size:20px}.empty-state p{line-height:1.5;margin:0 0 20px}.form-heading{margin-bottom:30px}.back-button{border:0;background:none;color:var(--teal);padding:0;font-weight:750;margin-bottom:22px}.heading-row{display:flex;align-items:center;justify-content:space-between;gap:14px}.form-heading h2{font-size:28px}.progress-track{height:5px;background:#e2ecea;border-radius:10px;margin-top:23px;overflow:hidden}.progress-track span{display:block;height:100%;background:var(--orange);border-radius:10px;transition:width .25s ease}.step-label{font-size:13px;color:var(--muted);margin:9px 0 0}.form-step{display:none;animation:fade .2s ease}.form-step.active{display:block}@keyframes fade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}.section-intro{display:flex;gap:13px;align-items:flex-start;margin:10px 0 23px}.section-intro.compact{border-top:1px solid var(--line);padding-top:27px;margin-top:36px}.section-number{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;background:var(--mint);color:var(--teal);font-weight:800;flex:none}.section-intro h3{font-size:21px;margin:2px 0 4px;letter-spacing:-.02em}.section-intro p{margin:0;color:var(--muted);line-height:1.45;font-size:14px}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px}.field{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.field span b{color:var(--orange)}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink);padding:12px 13px;outline:none;min-height:46px}.field textarea{resize:vertical;line-height:1.4}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(13,92,99,.1)}.repeat-list{display:grid;gap:13px}.repeat-card{background:white;border:1px solid var(--line);border-radius:15px;padding:17px;box-shadow:0 3px 11px rgba(20,57,59,.035)}.repeat-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.item-label{font-weight:800;color:var(--teal)}.remove-button{background:none;border:0;color:var(--danger);font-size:13px;font-weight:700;padding:6px}.add-button{background:var(--soft);border:1px dashed #9fcac5;color:var(--teal);margin-top:13px;width:100%}.toggle-field{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;background:#fff8ef;border:1px solid #f1dec6;border-radius:11px;padding:12px;font-size:14px}.toggle-field input{width:20px;height:20px;accent-color:var(--teal);margin:1px 0 0}.toggle-field strong,.toggle-field small{display:block}.toggle-field small{font-size:12px;color:var(--muted);font-weight:500;margin-top:3px}.upload-box{border:1.5px dashed #9fcac5;background:#f8fcfb;border-radius:14px;padding:22px 18px;display:flex;align-items:center;gap:13px;color:var(--teal);cursor:pointer}.upload-box input{display:none}.upload-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:var(--mint);font-size:23px}.upload-box strong,.upload-box small{display:block}.upload-box small{color:var(--muted);font-size:12px;font-weight:500;margin-top:4px}.notice{font-size:12px;color:var(--muted);line-height:1.4;margin:11px 3px}.close-card{display:flex;gap:12px;background:#edf8f1;border:1px solid #cbe7d1;border-radius:13px;padding:15px;margin-top:28px}.close-icon{display:grid;place-items:center;background:#4c9b61;color:white;border-radius:50%;width:25px;height:25px;flex:none}.close-card strong{font-size:14px}.close-card p{margin:5px 0 0;font-size:13px;color:#5d7763}.form-actions{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:38px;padding-top:20px}.step-actions{display:flex;gap:8px}.review-dialog{border:0;border-radius:20px;padding:0;width:min(620px,calc(100% - 28px));box-shadow:0 20px 70px rgba(8,69,75,.3);color:var(--ink)}.review-dialog::backdrop{background:rgba(8,40,42,.58)}.dialog-header{display:flex;justify-content:space-between;padding:25px 25px 17px;border-bottom:1px solid var(--line)}.dialog-header h2{margin:0;font-size:24px}.dialog-header .icon-button{color:var(--teal);border-color:var(--line);margin:0;font-size:24px}.review-body{padding:22px 25px;max-height:55vh;overflow:auto}.review-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}.summary-chip{background:var(--soft);border-radius:11px;padding:12px}.summary-chip strong,.summary-chip span{display:block}.summary-chip strong{font-size:19px;color:var(--teal)}.summary-chip span{font-size:12px;color:var(--muted);margin-top:3px}.review-list{border-top:1px solid var(--line)}.review-row{padding:11px 0;border-bottom:1px solid var(--line);font-size:14px}.review-row strong{display:block;margin-bottom:3px}.review-row span{color:var(--muted);line-height:1.4}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;padding:17px 25px;border-top:1px solid var(--line)}
@media (max-width:680px){body{background:#f9fbfa}.app-shell{box-shadow:none}.topbar{height:69px;padding:0 18px}.view{padding:26px 17px 42px}.page-heading{display:block;margin-bottom:25px}.page-heading h2{font-size:29px}.page-heading .primary-button{width:100%;margin-top:19px}.part-card{align-items:flex-start;padding:16px;flex-wrap:wrap}.part-main{flex-basis:calc(100% - 55px)}.card-actions{width:100%;justify-content:flex-end;border-top:1px solid var(--line);padding-top:10px}.form-heading{margin-bottom:24px}.form-heading h2{font-size:25px}.field-grid{grid-template-columns:1fr;gap:15px}.field.full{grid-column:auto}.repeat-card .field-grid{gap:13px}.form-actions{position:sticky;bottom:0;background:rgba(249,251,250,.96);margin-left:-17px;margin-right:-17px;padding:13px 17px calc(13px + env(safe-area-inset-bottom));z-index:4}.form-actions .secondary-button{font-size:13px;padding:0 12px}.step-actions{flex:1;justify-content:flex-end}.step-actions .primary-button{padding:0 16px}.review-summary{grid-template-columns:repeat(2,1fr)}.dialog-actions{padding:14px 17px;flex-direction:column-reverse}.dialog-actions button{width:100%}.review-body{padding:18px 17px}.dialog-header{padding:20px 17px 14px}}
.full-review{padding-top:4px}.review-section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--line)}.review-section:last-child{border-bottom:0;margin-bottom:0}.review-section h3{font-size:15px;color:var(--teal);margin:0 0 8px}.review-item{background:var(--soft);border-radius:9px;padding:10px 11px;margin:7px 0;font-size:13px;line-height:1.4}.review-empty{font-size:13px;color:var(--muted);margin:8px 0}
.people-checklist{display:grid;gap:8px}.person-check-row{display:grid;grid-template-columns:24px minmax(0,1fr) 82px 18px;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:9px 10px}.person-check-row>input[type=checkbox]{width:20px;height:20px;accent-color:var(--teal)}.person-check-name{font-size:14px;font-weight:650;line-height:1.25}.person-hours{width:100%;min-height:38px;border:1px solid var(--line);border-radius:8px;padding:7px 8px;color:var(--ink);background:#fff}.person-hours:disabled{background:#f1f5f4;color:#9aa9a8}.hours-label{color:var(--muted);font-size:13px}@media (max-width:680px){.person-check-row{grid-template-columns:24px minmax(0,1fr) 68px 16px;padding:9px 8px}.person-check-name{font-size:13px}}
.schedule-card{display:grid;gap:18px;background:#f8fcfb;border:1px solid var(--line);border-radius:16px;padding:17px}.schedule-card>.field{max-width:420px}.conditional-fields{display:grid;gap:13px}.schedule-subtitle{margin:0;color:var(--teal);font-size:13px;font-weight:800}.tension-toggle{margin-top:3px}.schedule-card [hidden],.conditional-fields[hidden]{display:none!important}
.modality-checklist{border:0;padding:0;margin:0;display:grid;gap:9px}.modality-checklist legend{font-size:13px;color:var(--muted);font-weight:750;margin-bottom:2px}.modality-option{display:flex;align-items:flex-start;gap:11px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:13px;cursor:pointer}.modality-option:has(input:checked){border-color:var(--teal);box-shadow:0 0 0 2px rgba(11,79,156,.08);background:#f7fbff}.modality-option input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--teal);flex:none}.modality-option strong,.modality-option small{display:block}.modality-option strong{font-size:14px;color:var(--ink)}.modality-option small{font-size:12px;color:var(--muted);line-height:1.4;margin-top:3px}
.form-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.export-button{min-height:48px;padding:0 8px;color:var(--teal)}
.auth-locked .app-shell{display:none}.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#e7f2f0,#f9fbfa)}.login-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;box-shadow:var(--shadow)}.login-brand{margin-bottom:20px;background:var(--teal);}.login-card h1{font-size:28px;letter-spacing:-.04em;margin:0 0 8px}.login-copy{color:var(--muted);line-height:1.45;margin:0 0 23px}.login-card form{display:grid;gap:16px}.login-button{width:100%;margin-top:2px}.login-error{min-height:18px;color:var(--danger);font-size:13px;font-weight:700;margin:0}.login-notice{color:var(--muted);font-size:12px;line-height:1.4;margin:20px 0 0}.login-view[hidden]{display:none}
@media (max-width:680px){.login-view{padding:17px}.login-card{padding:24px 20px;border-radius:18px}}

/* Saved reports: consultation and export live outside the editing steps. */
.part-card{display:block;padding:22px;border-radius:18px}
.part-card-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:18px}
.part-main h3{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
.part-date,.part-responsible{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.card-main-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.card-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--line);margin-top:16px;padding-top:7px}
.card-export,.card-delete{min-height:44px;border:0;background:transparent;padding:8px 0;font-size:14px;color:var(--teal);font-weight:700}
.card-export>span:first-child{margin-right:7px;font-size:20px}.card-export .format-hint{color:var(--muted);font-size:11px;margin-left:6px;font-weight:500}.card-delete{font-size:12px;color:var(--muted);padding-left:12px}.card-delete:hover{color:var(--danger)}
.detail-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}
.detail-heading h2{font-size:28px;margin:6px 0 9px;letter-spacing:-.035em;overflow-wrap:anywhere}.detail-heading>div{min-width:0}.detail-heading .muted{font-size:14px}
.detail-tools{display:flex;gap:10px;margin-bottom:28px}.detail-return{width:100%;margin-top:12px}
.part-document{line-height:1.5;overflow-wrap:anywhere}.report-section{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}
.report-section h3{display:flex;align-items:center;gap:10px;font-size:17px;color:var(--teal);margin:0 0 15px;break-after:avoid}
.report-section h3>span{font-size:12px;background:var(--mint);border-radius:8px;width:25px;height:25px;display:grid;place-items:center;flex:none}
.report-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0}.report-fields>div{min-width:0}.report-fields dt{font-size:11px;color:var(--muted);font-weight:600;margin-bottom:3px}.report-fields dd{margin:0;font-size:14px;white-space:pre-wrap;color:var(--ink)}
.report-item{padding:14px 0;border-top:1px solid var(--line)}.report-item:last-child{padding-bottom:0}.report-item h4{font-size:12px;font-weight:750;margin:0 0 12px;color:var(--muted)}.report-empty{font-size:13px;color:var(--muted);margin:0}
.report-evidence{display:grid;grid-template-columns:1fr 1fr;gap:14px}.report-evidence figure{min-width:0;margin:0;break-inside:avoid}.report-evidence img{display:block;width:100%;max-height:320px;object-fit:contain;background:var(--soft);border-radius:8px}.report-evidence figcaption{font-size:11px;color:var(--muted);margin-top:7px;white-space:pre-wrap}.report-attachment{font-size:13px}.report-attachment p{color:var(--muted);font-size:12px}
.export-dialog{border:0;border-radius:20px;padding:0;width:min(500px,calc(100% - 28px));color:var(--ink);box-shadow:var(--shadow)}.export-dialog::backdrop{background:rgba(8,40,42,.58)}.export-body{padding:8px 24px 24px}.export-part-name{font-weight:700;font-size:14px;overflow-wrap:anywhere;margin:16px 0 20px}
.export-choice{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--line);border-radius:13px;background:white;padding:17px 14px;width:100%;margin:10px 0;color:var(--teal)}.export-choice:hover{border-color:var(--teal);background:var(--soft)}.export-choice:disabled{opacity:.6;cursor:wait}.export-choice>span:nth-child(2){flex:1;min-width:0}.export-choice strong,.export-choice small{display:block}.export-choice strong{font-size:15px}.export-choice small{font-size:12px;line-height:1.4;color:var(--muted);margin-top:5px;font-weight:400}.format-icon{display:grid;place-items:center;background:var(--mint);font-weight:800;font-size:10px;width:40px;height:44px;border-radius:8px;flex:none}
#sharePdfButton.pdf-ready{border-color:#0b4f9c;background:#f2f7fc;box-shadow:0 5px 16px rgba(11,79,156,.1)}#sharePdfButton.pdf-ready .format-icon{background:#0b4f9c;color:#fff}
.export-download-link{display:block;margin:-2px 0 14px auto;border:0;background:transparent;color:var(--teal);font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:3px}.export-download-link:disabled{color:var(--muted);opacity:.55;cursor:wait}
#printContent{display:none}button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
@media (max-width:680px){
  .part-card{padding:17px}.part-card-heading{gap:10px}.part-main h3{font-size:19px}
  .detail-heading{display:block}.detail-heading .status-badge{display:inline-block;margin-top:12px}.detail-tools{display:grid;grid-template-columns:1fr 1fr}.detail-tools button{padding:0 10px;font-size:14px}
  .report-section{padding:16px}.report-section h3{font-size:16px}.report-fields{gap:12px 16px}.report-fields dd{font-size:13px}.report-evidence{grid-template-columns:1fr}.export-body{padding:4px 17px 17px}
  .form-actions{flex-wrap:wrap}.form-actions>.secondary-button{flex:none}.step-actions{gap:4px}.step-actions .primary-button{padding:0 12px}
}
@media print{
  @page{size:A4;margin:14mm}
  body.printing-part{background:white;color:#173236}
  body.printing-part>*:not(#printContent){display:none!important}
  body.printing-part #printContent{display:block;font:10pt Arial,sans-serif}
  .print-heading{border-bottom:2pt solid #0d5c63;padding-bottom:10pt;margin-bottom:16pt}.print-heading h1{font-size:22pt;margin:6pt 0}.print-heading p{margin:4pt 0;font-size:10pt}
  #printContent .report-section{border:0;border-radius:0;padding:0;margin:0 0 16pt}
  #printContent .report-section h3{font-size:13pt;border-bottom:1pt solid #dce7e5;padding-bottom:7pt;margin:0 0 10pt;break-after:avoid}
  #printContent .report-section h3>span{background:none;width:auto;height:auto}
  #printContent .report-fields{grid-template-columns:1fr 1fr;gap:9pt 18pt}
  #printContent .report-fields>div{break-inside:avoid}
  #printContent .report-fields dt{font-size:8pt}#printContent .report-fields dd{font-size:10pt}
  #printContent .report-item h4{break-after:avoid}
  #printContent .report-section{break-inside:avoid}
  #printContent .report-section:nth-child(2){background:#f5faf9;border:1pt solid #c9dfdc;border-radius:5pt;padding:9pt}
  #printContent .report-section:nth-child(2) .report-fields{grid-template-columns:1fr 1fr}
  #printContent .report-evidence{display:block}#printContent .report-evidence figure{display:inline-block;vertical-align:top;width:47%;margin:0 2% 14pt 0;break-inside:avoid}#printContent .report-evidence img{max-height:105mm;object-fit:contain}#printContent figcaption{font-size:8pt}
  .print-footer{font-size:8pt;color:#64797a;border-top:1pt solid #dce7e5;padding-top:10pt;overflow-wrap:anywhere}
}

/* Identidad visual TECSA: azul corporativo como base del piloto. */
:root{--ink:#17324d;--muted:#667b91;--line:#d8e3ee;--soft:#f2f7fc;--teal:#0b4f9c;--teal-dark:#07366f;--mint:#e2eef9;--orange:#2c73bd}
.brand-mark{background:#0b4f9c;border-radius:7px;font-style:italic;overflow:hidden;padding:5px}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;border-radius:4px}.topbar{background:#07366f}.topbar h1{font-size:15px}.eyebrow{color:#2c73bd}.topbar .eyebrow{color:#a9c8e8}.primary-button{background:#0b4f9c}.primary-button:hover{background:#07366f}.login-brand{background:#0b4f9c}.progress-track span{background:#2c73bd}
.upload-box.drag-over{border-color:var(--teal);background:#e9f3fc;box-shadow:0 0 0 3px rgba(11,79,156,.12)}
.print-brand{display:flex;align-items:center;gap:8pt;color:#07366f;margin-bottom:8pt}.print-brand img{display:block;width:30pt;height:30pt;object-fit:contain;border-radius:4pt}.print-brand strong,.print-brand small{display:block}.print-brand strong{font-size:15pt;letter-spacing:.04em}.print-brand small{font-size:7pt;color:#667b91;margin-top:1pt}
@media print{
  #printContent .print-document{font:8.5pt Arial,sans-serif;color:#17324d}
  #printContent .print-topline{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1.2pt solid #17324d;padding-bottom:7pt}
  #printContent .print-brand{margin:0}.print-code{text-align:right;color:#0b4f9c}.print-code strong,.print-code small{display:block}.print-code strong{font-size:13pt}.print-code small{font-size:7pt;margin-top:2pt}
  #printContent .print-title-row{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1pt solid #17324d;padding:8pt 0 7pt}.print-title-row h1{font-size:19pt;margin:0 0 3pt;color:#17324d}.print-title-row p{margin:0;font-size:9pt}.print-status{background:#e3f0ea;color:#267044;font-weight:800;font-size:7pt;padding:6pt 9pt;min-width:58pt;text-align:center}
  #printContent .print-responsible{padding:7pt 0 8pt}.print-responsible span,.print-summary span,.print-summary small,.print-fields span,.print-notes span{display:block;color:#0b4f9c;font-size:6.5pt;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.print-responsible strong{display:block;font-size:8.5pt;margin-top:2pt}
  #printContent .print-summary{display:flex;justify-content:space-between;align-items:center;background:#edf3f8;border-left:2pt solid #0b4f9c;padding:8pt 11pt;margin:2pt 0 10pt}.print-summary strong{display:block;color:#0b4f9c;font-size:11pt;margin-top:3pt}.print-summary small{color:#17324d;margin-top:3pt}.print-total{text-align:right}.print-total strong{font-size:18pt;margin:0}
  #printContent .print-section{margin:0 0 10pt;break-inside:avoid}.print-section h2{display:flex;align-items:center;gap:7pt;color:#0b4f9c;font-size:10pt;border-bottom:1pt solid #17324d;padding:0 0 5pt;margin:0 0 6pt}.print-section h2 span{font-size:7pt}.print-section h3{color:#0b4f9c;font-size:8pt;margin:7pt 0 3pt}
  #printContent .print-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:7.5pt}.print-table th{background:#e5edf4;color:#0b3970;text-align:left;font-size:6.5pt;padding:4pt 5pt;border-bottom:1pt solid #c4d2df}.print-table td{padding:4pt 5pt;border-bottom:.5pt solid #d7e1ea;vertical-align:top;overflow-wrap:anywhere}.print-table tr:nth-child(even) td{background:#f5f8fa}.print-table th:nth-last-child(1),.print-table td:nth-last-child(1){text-align:left}.print-empty{color:#667b91;font-size:7.5pt;margin:5pt 0}.print-fields{display:grid;grid-template-columns:1fr 1fr;gap:6pt 14pt}.print-fields strong{display:block;font-size:8pt;margin-top:2pt}.print-notes{display:grid;grid-template-columns:1fr 1fr;gap:12pt}.print-notes>div{border:1pt solid #d7e1ea;padding:7pt}.print-notes p{margin:4pt 0 0;white-space:pre-wrap;min-height:22pt}.print-evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:8pt}.print-evidence-grid figure{margin:0;break-inside:avoid}.print-evidence-grid img{display:block;width:100%;max-height:78mm;object-fit:contain;border:1pt solid #d7e1ea}.print-evidence-grid figcaption{font-size:6.5pt;color:#667b91;margin-top:3pt}.print-attachment{border:1pt solid #d7e1ea;padding:7pt}.print-attachment strong,.print-attachment span{display:block}.print-attachment span{font-size:7pt;color:#667b91;margin-top:3pt}.print-page-break{break-before:page}.print-footer{font-size:6.5pt;color:#667b91;border-top:1pt solid #d7e1ea;padding-top:6pt;margin-top:4pt}
}

.company-selector{border:0;padding:0;margin:0;min-width:0}.company-selector legend{padding:0;color:var(--muted);font-size:13px;font-weight:700;margin-bottom:7px}.company-selector legend b{color:var(--orange)}.company-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.company-option{display:flex;align-items:center;gap:10px;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);cursor:pointer}.company-option:has(input:checked){border-color:var(--teal);background:#f7fbff;box-shadow:0 0 0 2px rgba(11,79,156,.08)}.company-option input{width:20px;height:20px;accent-color:var(--teal);margin:0}.company-option span{font-size:14px;font-weight:750}@media (max-width:680px){.company-options{grid-template-columns:1fr}.company-option{min-height:50px}}
body[data-company="DRAGADOS"] .topbar .brand-mark{width:88px;height:40px;padding:0;background:transparent;border-radius:4px}
body[data-company="DRAGADOS"] .topbar .brand-mark img{border-radius:4px}

/* v0.3: multiple work fronts per day */
.tajo-count-control{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f8fcfb;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:14px}
.tajo-count-control>span{font-size:13px;font-weight:750;color:var(--muted)}
.tajo-count-options{display:flex;gap:6px}
.tajo-count-option{min-width:42px;min-height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}
.tajo-count-option.active{background:var(--primary);border-color:var(--primary);color:#fff}
.tajos-list{display:grid;gap:14px}
.tajo-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 20px rgba(22,55,72,.05)}
.tajo-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.tajo-label{font-size:12px;letter-spacing:.12em;font-weight:850;color:var(--primary)}
.tajo-hint{font-size:12px;color:var(--muted)}
.tajo-card .modality-checklist{margin-top:15px}
@media (max-width:560px){.tajo-count-control{display:block}.tajo-count-options{margin-top:10px}.tajo-count-option{flex:1}.tajo-card{padding:14px}}

/* v0.4: funciones del personal propio */
.people-checklist-header{display:grid;grid-template-columns:24px minmax(0,1fr) 38px 76px 82px 18px;align-items:center;gap:8px;padding:0 10px 5px;color:var(--muted);font-size:10px;font-weight:850;letter-spacing:.06em;text-align:center}
.people-checklist-header span:nth-child(2){text-align:left}
.person-check-row{grid-template-columns:24px minmax(0,1fr) 38px 76px 82px 18px}
.person-role{display:flex;justify-content:center;align-items:center}
.person-role input{width:20px;height:20px;accent-color:var(--teal)}
@media (max-width:680px){.people-checklist-header{grid-template-columns:24px minmax(0,1fr) 32px 64px 68px 16px;gap:6px;padding-left:8px;padding-right:8px;font-size:9px}.person-check-row{grid-template-columns:24px minmax(0,1fr) 32px 64px 68px 16px;gap:6px;padding-left:8px;padding-right:8px}.person-role input{width:18px;height:18px}}

/* V02 polish: clearer tajo hierarchy and reliable conditional windows */
.tajo-card{padding:20px 18px 22px}
.tajo-card-heading{margin-bottom:16px}
.tajo-card>.field.full{margin-top:2px}
.tajo-card .tajo-modality{margin-top:20px}
.tajo-card .modality-checklist{gap:12px}
.tajo-card .modality-option{padding:16px 14px}
.tajo-card .field{gap:8px}
.tajo-card .tajo-ordinary-fields,
.tajo-card .tajo-rail-fields{margin-top:20px}
.tajo-card .tajo-tension-fields{margin-top:18px}
.tajo-card .schedule-subtitle{font-size:15px;line-height:1.3;margin:0 0 11px}
.tajo-card .field-grid{gap:16px 14px}
.tajo-card .tajo-rail-fields[hidden],
.tajo-card .tajo-tension-fields[hidden],
.tajo-card [hidden]{display:none!important}
@media (max-width:560px){
  .tajo-card{padding:18px 16px 22px}
  .tajo-card .modality-option{padding:15px 13px}
  .tajo-card .schedule-subtitle{font-size:15px;margin-bottom:12px}
  .tajo-card .field-grid{gap:16px 12px}
}


/* v0.3: print evidence rows are indivisible across pages */
@media print{
  #printContent .print-general{margin-top:8pt}
  #printContent .print-evidence-grid{display:block}
  #printContent .print-evidence-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8pt;break-inside:avoid;page-break-inside:avoid;margin:0 0 8pt}
  #printContent .print-evidence-row figure{min-width:0;margin:0;break-inside:avoid;page-break-inside:avoid}
  #printContent .print-evidence-media{height:52mm;display:flex;align-items:center;justify-content:center;break-inside:avoid;page-break-inside:avoid;border:1pt solid #d7e1ea}
  #printContent .print-evidence-media img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border:0}
  #printContent .print-evidence-row figcaption{font-size:6.5pt;color:#667b91;margin-top:3pt;overflow-wrap:anywhere}
  #printContent .print-attachment{border:1pt solid #d7e1ea;padding:7pt;break-inside:avoid;page-break-inside:avoid;min-height:20mm}
}

/* V03 · PRL */
.prl-intro{display:flex;gap:14px;align-items:flex-start;background:#eef7f1;border-left:4px solid #2d7b4d;border-radius:10px;padding:14px 16px;margin:0 0 16px;color:#244f36}.prl-intro strong,.prl-intro span{display:block}.prl-intro span{font-size:13px;line-height:1.45;color:#557466;margin-top:3px}.prl-completed{background:#f4fbf6;border:1px solid #bfdcc7;border-radius:12px;padding:15px;margin-bottom:16px}.prl-fieldset{border:1px solid var(--line);border-radius:12px;padding:14px;margin:16px 0;background:#fbfdff}.prl-fieldset legend{font-weight:800;color:var(--ink);padding:0 6px}.prl-fieldset p{font-size:12px;color:var(--muted);margin:0 0 12px}.prl-person-grid,.prl-topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.prl-person-option,.prl-topic{display:flex;gap:8px;align-items:center;border:1px solid #d7e3ed;background:#fff;border-radius:8px;padding:9px;font-size:13px}.prl-person-option:has(input:checked),.prl-topic:has(input:checked){border-color:#4d9a6b;background:#f0faf3}.prl-rp-list{display:grid;gap:8px}.prl-rp-row{display:grid;grid-template-columns:1fr minmax(220px, 1fr);gap:12px;align-items:center;font-size:13px}.prl-rp-row span{font-weight:700}.prl-rp-row select{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:7px;background:white;color:var(--ink);font:inherit}.prl-upload{margin-top:10px}.prl-upload .upload-icon{background:#e3f3e8;color:#28784a}@media(max-width:700px){.prl-person-grid,.prl-topic-grid{grid-template-columns:1fr}.prl-rp-row{grid-template-columns:1fr}.prl-intro{display:block}}

/* V03 PRL checkpoint and TPRL preparation */
.prl-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:.8rem 0}.prl-choice-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.65rem .8rem;border:1px solid #d6e2ef;border-radius:12px;background:#f8fbfe}.prl-choice{display:flex;align-items:center;gap:.4rem;font-weight:700;color:#183653}.prl-choice input{accent-color:#0b5cab}.prl-warnings{display:grid;gap:.5rem;margin-top:1rem}.prl-warning,.prl-ok{display:flex;gap:.65rem;align-items:flex-start;padding:.75rem .9rem;border-radius:12px;font-size:.92rem}.prl-warning{background:#fff6df;color:#704f00;border:1px solid #f0d58a}.prl-ok{background:#effaf2;color:#21663b;border:1px solid #b9e0c5}.prl-warning-title{font-weight:800}.prl-victim-card{padding:1rem;border:1px solid #d6e2ef;border-radius:14px;margin:.7rem 0;background:#fff}.prl-tprl-panel{display:grid;gap:.55rem;padding:1rem;border:1px solid #b9d4ee;border-radius:14px;background:#f3f8fd;margin:1rem 0}.prl-tprl-panel strong{color:#0b579f;font-size:1.05rem}.prl-improvement{margin-top:1rem}@media(max-width:620px){.prl-choice-grid{grid-template-columns:1fr}.prl-choice-row{grid-template-columns:1fr auto auto;gap:.5rem}.prl-choice-row span{grid-column:1/-1}}
.prl-card-alert{display:inline-block;margin-top:8px;padding:5px 9px;border-radius:5px;font-weight:800;font-size:12px;letter-spacing:.02em;background:#111;color:#ffd45a}.prl-card-alert.incident{color:#ffd45a}.prl-card-alert.accident{color:#ff5b5b}.prl-content-toggle{margin:12px 0;background:#f7fbff;border:1px solid var(--line);border-radius:10px;padding:12px}.prl-content-toggle small{display:block;color:var(--muted);margin-top:3px}

/* V03 review pass: make PRL alerts unmistakable and keep the form breathable. */
.prl-home-alerts{margin:0 0 22px;border:1px solid #e0b84f;border-radius:16px;background:#fffaf0;padding:16px}.prl-home-alert-heading{display:grid;gap:3px;margin-bottom:11px}.prl-home-alert-heading .eyebrow{margin:0;font-size:11px}.prl-home-alert-heading strong{font-size:17px;color:var(--ink)}.prl-home-alert-heading>span:last-child{font-size:13px;color:var(--muted)}.prl-home-alert-list{display:grid;gap:8px}.prl-home-alert{width:100%;display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:10px;text-align:left;border:1px solid #e5c466;border-radius:12px;padding:11px 12px;background:#111;color:#ffd45a;cursor:pointer}.prl-home-alert.accident{border-color:#e46b6b;color:#ff6b6b}.prl-home-alert>span:nth-child(2){display:grid;gap:3px;min-width:0}.prl-home-alert strong{font-size:13px}.prl-home-alert small{color:#fff;font-size:12px;overflow-wrap:anywhere}.prl-alert-arrow{font-size:24px;line-height:1}.prl-alert-dot{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:currentColor;color:#111;font-weight:900}.prl-event-banner{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;border-radius:13px;margin:0 0 16px;background:#111;color:#ffd45a;border:1px solid #d1a52e}.prl-event-banner.accident{color:#ff6b6b;border-color:#d55353}.prl-event-banner>div{display:grid;gap:3px}.prl-event-banner strong{font-size:15px}.prl-event-banner span:not(.prl-alert-dot){font-size:12px;color:#fff}.prl-fieldset{padding:18px;margin:20px 0;background:#fff;box-shadow:0 3px 12px rgba(23,50,77,.04)}.prl-fieldset legend{font-size:15px}.prl-fieldset>p{line-height:1.45;margin-bottom:14px}.prl-intro{margin-bottom:20px}.prl-completed{margin-bottom:20px}
@media(max-width:620px){.prl-home-alerts{padding:13px;margin-bottom:18px}.prl-event-banner{padding:12px}.prl-fieldset{padding:15px;margin:16px 0}.prl-fieldset legend{font-size:14px}}

/* V03 · ciclo de conformidades y cierre de revisión */
.status-badge.pending{background:#fff1cf;color:#865500}.status-badge.validated{background:#dff3e6;color:#16633a}.workflow-panel{display:grid;gap:12px;background:#f7fbff;border:1px solid #c9dced;border-radius:15px;padding:17px;margin:0 0 18px}.workflow-panel-copy{display:grid;gap:4px}.workflow-panel-copy strong{color:#0b4f9c;font-size:16px}.workflow-panel-copy span{color:var(--muted);font-size:13px;line-height:1.45}.workflow-panel-copy.priority{border-left:4px solid #d1a52e;padding-left:11px}.workflow-panel-copy.validated{border-left:4px solid #348251;padding-left:11px}.workflow-actions{display:flex;gap:10px;flex-wrap:wrap}.workflow-return-note,.workflow-correction{background:#fff;border:1px solid var(--line);border-radius:11px;padding:12px}.workflow-return-note strong,.workflow-correction strong{display:block;color:var(--teal);font-size:13px}.workflow-return-note p,.workflow-correction p{margin:6px 0 0;line-height:1.45;font-size:13px;white-space:pre-wrap}.workflow-correction span{display:block;margin-top:4px;font-size:12px;color:var(--muted)}.workflow-lock-notice{display:grid;gap:3px;background:#edf3f8;border-left:4px solid #0b4f9c;padding:12px;margin:0 0 16px;border-radius:8px}.workflow-lock-notice strong{color:#0b4f9c;font-size:14px}.workflow-lock-notice span{font-size:12px;color:var(--muted)}.prl-locked{opacity:.88}.prl-locked :is(input,select,textarea,button){pointer-events:none}.signature-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:10px}.signature-card{display:grid;gap:4px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#f9fbfc}.signature-card.signed{border-color:#98c7a8;background:#f0faf3}.signature-card.pending{border-color:#ead9a7;background:#fffaf0}.signature-card>span{font-size:11px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:var(--muted)}.signature-card strong{font-size:14px;color:var(--ink)}.signature-card small{font-size:11px;color:var(--muted);line-height:1.35}.workflow-disclaimer{margin:13px 0 0;font-size:11px;color:var(--muted);line-height:1.4}@media(max-width:620px){.workflow-actions{display:grid;grid-template-columns:1fr}.workflow-actions button{width:100%}.signature-row{grid-template-columns:1fr}.workflow-panel{padding:14px}}

@media print{
  #printContent .print-status-stack{display:grid;justify-items:end;gap:5pt;min-width:130pt}
  #printContent .print-event-warning{display:block;width:128pt;background:#111;color:#ffd45a;border:1.2pt solid #111;padding:8pt 7pt;text-align:center;font-size:8pt;font-weight:900;letter-spacing:.06em}
  #printContent .print-event-warning.accident{color:#ff4e4e}
  #printContent .print-prl-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7pt 16pt;margin:0 0 8pt}
  #printContent .print-prl-summary>div{display:grid;grid-template-columns:78pt minmax(0,1fr);gap:6pt;align-items:baseline;border-bottom:.5pt solid #d7e1ea;padding:3pt 0}
  #printContent .print-prl-summary span{display:block;color:#0b4f9c;font-size:6.5pt;font-weight:800;letter-spacing:.03em}
  #printContent .print-prl-summary strong{display:block;font-size:8pt;color:#17324d;overflow-wrap:anywhere}
  #printContent .print-signatures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7pt}
  #printContent .print-signature{border:1pt solid #cfdce8;padding:7pt;min-height:38pt;display:grid;gap:3pt}
  #printContent .print-signature.signed{border-color:#9bc8aa;background:#f1faf3}
  #printContent .print-signature.pending{background:#fffaf0;border-color:#e8d8a4}
  #printContent .print-signature span{font-size:6.5pt;font-weight:800;text-transform:uppercase;color:#0b4f9c}
  #printContent .print-signature strong{font-size:8pt;color:#17324d}
  #printContent .print-signature small,#printContent .print-signature-disclaimer{font-size:6.5pt;color:#667b91;line-height:1.35}
  #printContent .print-signature-disclaimer{margin:5pt 0 0}
  #printContent .print-correction-note{border-left:2pt solid #0b4f9c;background:#f3f7fb;padding:6pt 8pt;margin:0 0 7pt}
  #printContent .print-correction-note strong,#printContent .print-correction-note span{display:block;font-size:7pt}
  #printContent .print-correction-note span{color:#667b91;margin-top:2pt}
  #printContent .print-correction-note p{margin:3pt 0 0;font-size:7.5pt;white-space:pre-wrap}
}
