:root{--ink:#1b273c;--muted:#5a6778;--navy:#15283e;--teal:#176b61;--line:#d8e0e7;--paper:#fff;--bg:#f3f5f7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:15px;line-height:1.5}.top{background:var(--navy);color:white;padding:20px max(24px,calc((100vw - 1180px)/2));display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:12px;color:white;text-decoration:none;font-size:32px;font-weight:800;letter-spacing:1px;line-height:1}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:7px}.shield{border:2px solid #9cb5ba;border-radius:8px 8px 20px 20px;padding:10px 12px;font-size:24px;color:#c6dbdf}.local{font-size:12px;color:#c4e0d6}main{max-width:1180px;margin:auto;padding:0 24px}.intro{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:48px 0 30px}.eyebrow{letter-spacing:2px;color:var(--teal);font-weight:bold;font-size:11px}h1{font-size:48px;letter-spacing:-2px;line-height:1.08;margin:12px 0 18px}p{color:var(--muted)}.intro p{margin-bottom:0}.reference{border-left:3px solid var(--teal);padding:8px 24px}.reference span,.reference small{display:block;font-size:10px;letter-spacing:1px;color:var(--muted)}.reference strong{display:block;font-size:18px;margin:12px 0}nav{display:flex;gap:28px;border-bottom:1px solid var(--line);padding:15px 0}a{color:var(--teal)}nav a{text-decoration:none;font-weight:700;font-size:13px}.privacy{font-size:13px;padding:20px 0;color:var(--muted)}section{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:30px;margin:0 0 24px}.section-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.number{color:var(--teal);background:#edf5f2;border-radius:8px;font-size:13px;font-weight:bold;padding:9px 11px}.section-head h2{margin:0;font-size:24px;letter-spacing:-.6px}.section-head p{margin:4px 0 0;font-size:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.wide{grid-column:span 2}.full{grid-column:1/-1}label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;color:#39495c}input,select,textarea{font:inherit;font-size:15px;font-weight:400;color:var(--ink);background:#fff;border:1px solid #bbc8d3;border-radius:6px;padding:11px 12px;width:100%;min-height:44px}textarea{resize:vertical}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible,summary:focus-visible,canvas:focus-visible{outline:3px solid #4b9fbc;outline-offset:2px}input:disabled{background:#eef1f4}button{font:inherit;font-size:13px;font-weight:700;border:1px solid var(--teal);background:var(--teal);color:white;padding:12px 18px;border-radius:6px;cursor:pointer;min-height:44px}button:hover{filter:brightness(.94)}.secondary{background:white;color:var(--ink);border-color:#bdcbd3}.danger{background:white;border-color:#cc9191;color:#9b3434}.hint{font-size:12px}.source-intro{font-size:12px;line-height:1.6}.group-title{background:#eaf0f4;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;font-size:12px;letter-spacing:.7px;margin:24px 0 0}.item{display:grid;grid-template-columns:1.5fr .52fr .8fr .6fr .75fr 1.5fr;gap:10px;padding:14px 0;border-bottom:1px solid #e7ebef;align-items:start}.item-name{font-size:12px;font-weight:bold;padding-top:23px}.item small{display:block;color:var(--muted);font-weight:400;margin-top:4px;font-size:10px}.item input,.item select{font-size:13px;padding:9px 8px}.item label{font-size:10px}.item textarea{font-size:13px;padding:10px 8px;min-height:44px;height:44px}.item .remove{grid-column:1/-1;justify-self:end;padding:5px 12px;min-height:32px}.totals{display:flex;justify-content:space-between;align-items:center;background:#f5f8f7;border:1px solid #d8e5df;padding:18px;margin-top:22px;border-radius:8px;font-size:13px}.totals strong{display:block;font-size:27px;letter-spacing:-.7px}.totals small{display:block;font-size:11px;color:var(--muted);max-width:340px}.note{border-left:3px solid #c0a56d;padding:2px 16px;margin-top:24px;font-size:12px}.note p{margin:4px 0}.note strong{color:#66532e}details{border:1px solid var(--line);border-radius:6px;padding:15px;margin-top:24px}summary{cursor:pointer;font-weight:bold;font-size:14px;min-height:30px}.contract{font-size:11px;line-height:1.8}.notice{background:#fff9ec;border-radius:6px;padding:16px;margin-top:20px;font-size:13px}.notice p{margin:5px 0 0}.check{flex-direction:row;align-items:flex-start;font-size:13px;font-weight:400;margin:20px 0}.check input{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:2px 4px 0 0;accent-color:var(--teal)}fieldset{border:1px solid var(--line);margin-top:16px;padding:16px}legend{font-size:12px}.signature-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.sig h3{font-size:15px}.sig canvas{width:100%;height:190px;display:block;touch-action:none;background:#fdfefe;border:1px dashed #9baeba;border-radius:8px;cursor:crosshair}.sig .actions{gap:8px;margin-top:10px}.sig img{display:block;width:100%;height:100px;object-fit:contain;border-bottom:1px solid var(--line)}.sig small{font-size:11px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}#status{font-size:13px;color:var(--teal)}#seguridad p{font-size:13px}footer{display:flex;justify-content:space-between;padding:8px 0 32px;font-size:10px;color:var(--muted);letter-spacing:1px}dialog{width:min(1000px,96vw);max-height:94dvh;border:0;border-radius:10px;padding:0}dialog::backdrop{background:#122236b8}.dialog-bar{position:sticky;top:0;background:#eef3f5;padding:15px;display:flex;gap:12px;justify-content:space-between;z-index:1}.dialog-bar div{display:flex;gap:8px}#preview-document{padding:24px}#print-document{display:none}.document{color:#111;background:white;font-family:Arial,sans-serif;font-size:10px;line-height:1.4;overflow-wrap:anywhere}.document h1{font-size:20px;letter-spacing:0;margin:0}.document h2{font-size:14px;margin:8px 0}.document p{color:#111;margin:8px 0}.document .doc-head{display:flex;justify-content:space-between;border-bottom:2px solid #234c6b;padding-bottom:12px;margin-bottom:12px}.document table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9px}.document th,.document td{border:1px solid #667482;padding:4px;vertical-align:top}.document th{background:#dbe8f3}.document .category td{background:#e8eff4;font-weight:bold;text-align:center}.document .doc-signs{display:grid;grid-template-columns:1fr 1fr;gap:24px;break-inside:avoid}.document img{width:100%;height:95px;object-fit:contain}.document .small{font-size:9px}.document .legal{border:1px solid #aaa;padding:8px}.document .source-foot{border-top:1px solid #667482;display:flex;justify-content:space-between;padding-top:6px}.document tr{break-inside:avoid}
@media(max-width:760px){main{padding:0 16px}.top{padding:17px 16px}.local{font-size:10px;max-width:115px;text-align:right}.intro{padding:28px 0 22px}.reference{display:none}h1{font-size:38px}nav{gap:0;justify-content:space-between}nav a{font-size:11px}section{padding:20px 16px}.section-head h2{font-size:21px}.grid{grid-template-columns:1fr 1fr}.wide,.full{grid-column:1/-1}.item{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:18px 0}.item-name{grid-column:1/-1;padding:0}.item label:last-of-type{grid-column:span 2}.item-name input{max-width:100%}.item label{font-size:11px}.item input,.item select{font-size:16px}.signature-grid{grid-template-columns:1fr}.totals{align-items:flex-start;gap:20px}.totals strong{font-size:24px}.totals>span:first-child{max-width:100px}.dialog-bar{flex-direction:column;font-size:13px}#preview-document{padding:12px;overflow-x:auto}.document{min-width:620px}footer{gap:15px;font-size:9px}.actions button{flex-grow:1}}
@media print{@page{size:A4;margin:12mm}body{background:white}body>header,body>main,body>dialog{display:none!important}#print-document{display:block!important}.document{min-width:0}.document table{font-size:8px}.document th,.document td{padding:3px}.document .legal{break-inside:avoid}.document .doc-head{break-after:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@media print{.document{font-size:9px;line-height:1.3}.document p{margin:5px 0}.document h1{font-size:18px}.document h2{font-size:12px;margin:5px 0}.document .doc-head{padding-bottom:8px;margin-bottom:8px}.document table{font-size:7.5px}.document th,.document td{padding:2px 3px}.document img{height:65px}.document .small{font-size:8px}.document .legal{padding:6px}}
