*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#061725;color:#eaf4fb;font-family:Inter,Segoe UI,Arial,sans-serif}nav{height:76px;padding:0 max(24px,calc((100% - 1160px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff14;background:#071d31}.brand{text-decoration:none;color:white}.logo{font-size:26px;font-weight:900;letter-spacing:2px}.logo span{color:#42e8bd}.brand small{display:block;font-size:8px;letter-spacing:3px;color:#8ca8b9}button,.cta{border:0;border-radius:9px;padding:11px 16px;background:#19c99a;color:#032016;font-weight:800;cursor:pointer;text-decoration:none}.hero{max-width:1160px;margin:auto;min-height:520px;display:grid;grid-template-columns:1.5fr .7fr;gap:50px;align-items:center;padding:55px 24px}.tag{color:#42e8bd;font-size:12px;letter-spacing:3px;font-weight:800}.hero h1{font-size:58px;line-height:1.03;margin:14px 0}.hero h1 i{color:#42e8bd;font-style:normal}.hero p{color:#a9bdca;max-width:650px;line-height:1.7}.price{background:#0d2a40;border:1px solid #ffffff1c;border-radius:20px;padding:28px;box-shadow:0 30px 80px #0005}.price strong{font-size:55px;display:inline-block;margin-top:10px}.price ul{padding:0;list-style:none;line-height:2;color:#c9d9e3}.price button{width:100%}#tools{max-width:1160px;margin:auto;padding:30px 24px 80px}.tabs{display:flex;gap:8px;flex-wrap:wrap}.tabs button{background:#102f46;color:#dbeaf3}.tool{margin-top:15px;background:#0b263a;border:1px solid #ffffff16;border-radius:16px;padding:24px}.hide{display:none!important}textarea{width:100%;min-height:190px;background:#061b2a;color:#e9f6fb;border:1px solid #28485c;border-radius:10px;padding:14px;margin:10px 0;font-family:Consolas,monospace}input[type=file],.modal input{width:100%;padding:14px;margin:8px 0;background:#061b2a;color:white;border:1px solid #28485c;border-radius:9px}pre{white-space:pre-wrap}.rule,.alerts{max-width:1112px;margin:15px auto;padding:16px 20px;border-radius:12px;background:#0d2a40}.alerts{border-left:4px solid #f4c95d}.modal{position:fixed;inset:0;background:#000b;display:grid;place-items:center;padding:20px}.modal>div{width:min(430px,100%);background:#0d2a40;padding:30px;border-radius:18px;position:relative}.modal .x{position:absolute;right:15px;top:10px;background:none;color:white;font-size:24px}.secondary{background:#173d56;color:white;width:100%;margin-top:8px}.modal button:not(.x){width:100%;margin-top:8px}@media(max-width:800px){.hero{grid-template-columns:1fr}.hero h1{font-size:42px}.hero{gap:25px}.price{margin-bottom:25px}nav{padding:0 15px}#account b{display:none}}.dev{background:#f4c95d;color:#17202a;padding:5px 8px;border-radius:6px;font-size:11px;font-weight:900;margin-right:8px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid label{font-size:12px;color:#9fb4c2}.grid input,table input{width:100%;background:#061b2a;color:#eaf4fb;border:1px solid #28485c;border-radius:7px;padding:9px;margin-top:5px}.tablewrap{overflow:auto;margin:12px 0}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:6px;border-bottom:1px solid #ffffff12;text-align:left}.warnbox{background:#3b3214;border-left:4px solid #f4c95d;padding:12px;margin:12px 0;border-radius:7px}.result{background:#071d31;padding:18px;border-radius:12px;margin-top:12px}@media(max-width:700px){.grid{grid-template-columns:1fr}.dev{display:none}}

.capture-note{font-size:12px;color:#9fb4c2;margin:5px 0 12px}.capturebox{margin:16px 0;padding:18px;border:1px solid #42e8bd66;background:#092f3b;border-radius:12px}.capturebox h3{margin-top:0;color:#42e8bd}.capturebox small{display:block;margin-top:10px;color:#a9bdca}.quadrants{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:520px;margin:14px 0}.quadrants div{min-height:92px;border:1px dashed #42e8bd88;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#061b2a}.quadrants b{font-size:22px;color:#42e8bd}.quadrants span{font-size:12px}.blockmsg{color:#f4c95d;font-size:12px}button:disabled{opacity:.45;cursor:not-allowed}
.startbox{margin:18px 0;padding:16px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.035)}
.startbox h3{margin-top:0}.startbox select{width:100%;margin-top:7px;padding:11px;border-radius:9px}.startbox small{display:block;margin-top:8px;opacity:.75}
.vertexgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:14px 0}.vertexgrid label{font-size:12px;color:#9fb4c2}.vertexgrid select{background:#061b2a;color:#eaf4fb;border:1px solid #28485c}@media(max-width:700px){.vertexgrid{grid-template-columns:1fr}}

.modified{border-color:#f4c95d!important;box-shadow:0 0 0 1px #f4c95d55!important;background:#2b2717!important}.editstatus{margin:14px 0;padding:11px 13px;border-radius:9px;font-size:13px}.editstatus.original{background:#0b382f;border-left:4px solid #19c99a}.editstatus.changed{background:#3b3214;border-left:4px solid #f4c95d}.reviewactions{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}.reviewactions .secondary{width:auto;margin:0}@media(max-width:700px){.reviewactions .secondary{width:100%}}

.hidden-file{display:none!important}.dropzone{margin:12px 0;padding:22px;border:2px dashed #42e8bd88;border-radius:13px;background:#061b2a;text-align:center;transition:.15s}.dropzone>b,.dropzone>span,.dropzone>small{display:block}.dropzone>b{font-size:16px;color:#eaf4fb}.dropzone>span{margin:7px 0 12px;color:#9fb4c2;font-size:12px}.dropzone .actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.dropzone .actions .secondary{width:auto;margin:0}.dropzone.dragover,.dropzone.pasted{border-color:#42e8bd;background:#0a3340;box-shadow:0 0 0 3px #42e8bd22}.dropzone kbd{background:#173d56;border:1px solid #31566e;border-radius:5px;padding:2px 6px;color:#fff}.dropzone small{margin-top:12px;color:#a9bdca;word-break:break-word}@media(max-width:700px){.dropzone .actions button,.dropzone .actions .secondary{width:100%}}

.pricing{max-width:1160px;margin:0 auto;padding:10px 24px 35px}.pricegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pricegrid>div{background:#0d2a40;border:1px solid #ffffff1c;border-radius:14px;padding:18px}.pricegrid>div>strong{display:block;font-size:28px;margin:8px 0;color:#42e8bd}.areaform{display:grid;grid-template-columns:1fr 1.2fr auto;gap:10px}.areaform input,.areaform select,.parcel select{background:#061b2a;color:#eaf4fb;border:1px solid #28485c;border-radius:9px;padding:12px}.arearesults{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:15px}.arearesults>div{background:#071d31;border:1px solid #ffffff12;border-radius:10px;padding:14px}.arearesults b,.arearesults span{display:block}.arearesults b{font-size:20px}.arearesults span{color:#9fb4c2;margin-top:3px}.parcel{max-width:1112px;margin:20px auto}.parcel button{margin-top:12px}footer{margin-top:30px;border-top:1px solid #ffffff14;background:#071d31;padding:28px 20px;text-align:center;color:#a9bdca}footer b,footer em,footer span,footer strong{display:block;margin:5px 0}footer b,footer strong{color:#eaf4fb}footer em{font-style:normal;color:#42e8bd}@media(max-width:800px){.pricegrid{grid-template-columns:1fr}.areaform{grid-template-columns:1fr}.arearesults{grid-template-columns:1fr 1fr}}
.plan-name{font-size:13px;letter-spacing:2px;font-weight:900;color:#c8d8e2;text-transform:uppercase}.plan-name span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;margin-left:7px;padding:0 9px;border-radius:10px;background:#19c99a;color:#032016;font-size:18px;letter-spacing:0}.plan-price{display:flex;align-items:baseline;gap:8px;margin:8px 0 2px}.plan-price strong{font-size:58px;line-height:1;margin:0}.plan-price span{font-size:16px;color:#9fb4c2}.price p b{color:#eaf4fb}.pricegrid strong small{font-size:13px;color:#9fb4c2;font-weight:600}.featured-plan{border-color:#42e8bd66!important;box-shadow:0 12px 34px #0003}.money-input{display:flex;align-items:center;background:#061b2a;border:1px solid #28485c;border-radius:9px;margin-top:5px;overflow:hidden}.money-input span{padding:0 0 0 12px;color:#42e8bd;font-weight:800}.money-input input{margin:0!important;border:0!important;box-shadow:none!important}.parcel label small{display:block;margin-top:6px;color:#829aa9;font-size:11px}.value-prompt{margin:16px 0 4px;padding:16px;border-radius:12px;border:1px solid #f4c95d66;background:#302b16}.value-prompt b{color:#f4c95d}.value-prompt p{color:#d9d1ad;line-height:1.55}.value-prompt .money-input{max-width:360px}

.unit-choice{margin:14px 0;padding:18px;border:1px solid #42e8bd66;border-radius:14px;background:#092f3b}.unitcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.unitcards button{min-height:78px;background:#0d2a40;color:#eaf4fb;border:1px solid #42e8bd55;text-align:left}.unitcards button b,.unitcards button span{display:block}.unitcards button span{margin-top:5px;color:#9fb4c2;font-size:11px}.dropzone.locked{opacity:.55;pointer-events:none}.final-actions{display:flex;gap:9px;flex-wrap:wrap}.final-actions .secondary{width:auto;margin:0}.saved-note{color:#42e8bd;font-size:12px}.resto-area{margin-top:0}@media(max-width:700px){.unitcards{grid-template-columns:1fr}.final-actions button,.final-actions .secondary{width:100%}}
.danger-soft{background:#173d55!important;border:1px solid #52738a!important;color:#fff!important}.danger-soft:hover{filter:brightness(1.12)}

.pricing-note{margin:12px 2px 0;color:#8fa8b7;font-size:11px}
.unit-choice .work-note{display:block;margin-top:8px;color:#f4c95d;font-size:11px}

.unit-review-title{display:flex;gap:10px;align-items:center;margin:4px 0 14px;padding:10px 12px;background:#071d31;border-radius:10px}.unit-review-title span{font-size:11px;color:#8fa8b7;text-transform:uppercase;letter-spacing:1px}.unit-review-title b{color:#42e8bd}.polybox{margin:16px 0;padding:16px;border:1px solid #42e8bd55;border-radius:14px;background:#082233}.polyhead h3{margin:0}.polyhead p{margin:5px 0 12px;color:#9fb4c2;font-size:12px}.vertexgrid.compact{margin:8px 0 5px}.polybox small{display:block;margin:7px 0 12px;color:#a9bdca}.polybox [data-k="desde"],.polybox [data-k="hasta"],.polybox [data-k="lindero"]{background:#0a2638;color:#bcd0dc}.col-item{display:flex;gap:5px;align-items:center;margin-bottom:5px}.col-item input{min-width:180px}.mini{width:auto!important;margin:3px 0!important;padding:7px 9px!important;font-size:11px}.table-actions{margin-top:8px}.table-actions .secondary{width:auto;margin:0}.data-precision{margin:14px 0 8px;color:#b9ccd7;font-size:12px}
.unit-review-title.prominent{display:block;padding:18px 20px;border:2px solid #42e8bd;background:#0a3140}.unit-review-title.prominent span{display:block;font-size:13px;font-weight:800}.unit-review-title.prominent b{display:block;margin-top:5px;font-size:25px;color:#fff}.polyhead h3{font-size:21px}.polyhead p{font-size:14px}.vertexgrid.compact label{font-size:15px;font-weight:700;color:#dceaf2}.vertexgrid.compact select{display:block;width:100%;min-height:44px;margin-top:6px;padding:8px 10px;font-size:16px;border-radius:8px}.polybox #vertexStatus{font-size:14px;font-weight:700;color:#d9e9f2}.tramo-label{white-space:nowrap;font-weight:700;color:#42e8bd}.history-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border-bottom:1px solid #ffffff16}.history-item small{display:block;color:#9fb4c2;margin-top:4px}.history-item .cta{white-space:nowrap}

.tabs{gap:12px}.tabs button{font-size:15px;padding:13px 18px;border:1px solid #31566e;box-shadow:0 3px 12px #0002}.tabs button:hover{background:#18445f}.lindero-group{vertical-align:top;min-width:120px;padding-top:14px!important}.lindero-group b{display:block;background:#0d3850;border:1px solid #42e8bd55;border-radius:8px;padding:10px;color:#eaf4fb;text-align:center}.result textarea{min-height:420px;font-size:14px;line-height:1.55}.parcel-float{position:fixed;right:20px;bottom:20px;z-index:30;width:min(360px,calc(100vw - 30px));padding:16px 18px;border:1px solid #42e8bd88;border-radius:14px;background:#0b3042;color:#eaf4fb;text-decoration:none;box-shadow:0 16px 45px #0008}.parcel-float b,.parcel-float span,.parcel-float strong{display:block}.parcel-float span{font-size:12px;color:#b9ccd7;margin:5px 0 8px;line-height:1.45}.parcel-float strong{color:#42e8bd}.parcel-page{max-width:1000px;margin:35px auto;padding:0 20px}.backlink{color:#42e8bd;text-decoration:none}.full-grid{grid-column:1/-1}.full-grid textarea{min-height:180px;font-family:inherit}.cad-result{margin:14px 0;padding:16px;border:1px solid #42e8bd55;border-radius:12px;background:#071d31}.cad-result h4{margin:0 0 8px;font-size:18px}.cad-result textarea{min-height:230px}.cad-result .actions{display:flex;gap:8px}.cad-result .secondary{width:auto;margin:0}@media(max-width:700px){.tabs{display:grid;grid-template-columns:1fr 1fr}.tabs button{font-size:14px;min-height:52px}.result textarea{min-height:520px}.parcel-float{right:15px;bottom:15px}.cad-result .actions{display:grid}.cad-result .secondary{width:100%}.full-grid{grid-column:auto}}

.tabs button{min-height:64px;font-size:16px;font-weight:800;position:relative}.tabs button.active{background:#1b5b75;border-color:#42e8bd;box-shadow:0 0 0 2px #42e8bd22,0 7px 20px #0004}.tabs button:nth-child(1){border-bottom:3px solid #42e8bd}.tabs button:nth-child(2){border-bottom:3px solid #6cb7ff}.tabs button:nth-child(3){border-bottom:3px solid #f4c95d}.tabs button:nth-child(4){border-bottom:3px solid #bd8cff}.tabs button:nth-child(5){border-bottom:3px solid #78909c}.back-units{width:auto;margin:0 0 10px}.parcel-float{width:min(440px,calc(100vw - 30px));padding:0;transition:opacity .35s,transform .35s}.parcel-float>a{display:block;padding:22px 24px;color:inherit;text-decoration:none}.parcel-float b{font-size:20px}.parcel-float span{font-size:14px}.parcel-close{position:absolute;right:8px;top:7px;width:30px!important;height:30px;padding:0!important;border-radius:50%;z-index:2;background:#163e52}.parcel-float.parcel-resting{opacity:.18;transform:translateX(72%)}.parcel-float.parcel-resting:hover{opacity:1;transform:none}.parcel-float.parcel-dismissed{display:none}
@media(max-width:700px){.tabs button{min-height:68px;font-size:15px;padding:14px 10px}.parcel-float{width:min(330px,calc(100vw - 24px));right:12px;bottom:12px}.parcel-float>a{padding:17px 18px}.parcel-float b{font-size:17px}.parcel-float span{font-size:12px}.parcel-float.parcel-resting{transform:translateX(82%);opacity:.14}}

.text-input-actions{margin:-4px 0 10px;justify-content:flex-end}.text-input-actions button{width:auto;margin:0;padding:8px 12px}.text-input-actions.hide{display:none}


.pdf-action{background:#2b6f91!important}.pending-state{color:#f4c95d;font-weight:800;margin:8px 0}.pdf-modal-card{width:min(920px,94vw)!important;max-height:90vh;overflow:auto}.pdf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.pdf-form-grid label{font-weight:700;color:#dceaf2}.pdf-form-grid input,.pdf-form-grid select{display:block;width:100%;margin-top:5px;background:#061b2a;color:#eaf4fb;border:1px solid #28485c;border-radius:9px;padding:10px}.pdf-form-grid small{display:block;margin-top:4px;color:#92a8b7;font-weight:400}.inline-check{display:flex!important;align-items:center;gap:6px;margin-top:6px;color:#9fb4c2;font-size:12px;font-weight:400}.inline-check input{width:auto!important;margin:0!important}.format-note{margin:12px 0;padding:10px 12px;background:#071d31;border-left:3px solid #42e8bd;border-radius:8px;color:#b9ccd7}.pdf-preview{margin:12px 0;padding:18px;background:#fff;color:#15212a;border-radius:8px;min-height:220px;box-shadow:0 6px 22px #0005}.pdf-preview-head{border-bottom:1px solid #6f7b83;padding-bottom:10px;display:flex;justify-content:space-between;gap:15px}.pdf-preview-head b{font-family:Georgia,serif}.pdf-preview-head span{font-size:12px}.pdf-preview-body{padding:18px 6px;font-family:Georgia,serif;font-size:12px;line-height:1.5;text-align:justify}.pdf-preview-foot{border-top:1px solid #ccd3d7;padding-top:8px;font-size:10px;color:#52616b}.review-confirm{display:flex;gap:9px;align-items:flex-start;margin:12px 0;padding:12px;border:1px solid #f4c95d55;border-radius:9px;background:#2c291a;color:#e6dfb7}.review-confirm input{margin-top:3px}.warnbox input.pending-input{border-color:#f4c95d!important}@media(max-width:760px){.pdf-form-grid{grid-template-columns:1fr}.pdf-preview-head{display:block}.pdf-modal-card{max-height:94vh}}

.pending-input{border-color:#f0a23a!important;box-shadow:0 0 0 2px #f0a23a33!important;background:#2a2417!important}.pending-summary{margin:14px 0;padding:13px 15px;border-left:4px solid #f0a23a;border-radius:9px;background:#312817;color:#f7e8c6}.pending-summary ul{margin:8px 0 10px;padding-left:20px}.pending-summary .pending-continue{width:auto}.pending-accepted{color:#8ce7c4;font-weight:700}.spell-panel{margin:14px 0;padding:14px;border:1px solid #31566e;border-radius:12px;background:#0a2234}.spell-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.spell-head span{color:#f4c95d;font-size:12px}.spell-issue{margin-top:9px;padding:10px;border-radius:9px;background:#102f46;border-left:3px solid #e35f5f}.spell-issue>div:first-child{display:flex;gap:10px;align-items:baseline}.spell-issue span{color:#a9bdca;font-size:12px}.spell-suggestions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.spell-suggestions button{padding:7px 10px;font-size:12px}.spell-suggestions .secondary{width:auto;margin:0}.pdf-real-preview{width:100%;height:620px;border:0;background:white;border-radius:6px}.preview-help{color:#52616b;text-align:center;padding:70px 12px}.analysis-note{padding:12px;margin:10px 0;border-radius:9px;background:#102f46;color:#c8d8e2}.history-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.history-actions .cta{display:inline-block}.secondary-link{background:#244a61;color:#eaf4fb}.pdf-not-generated{color:#829aa9;font-size:12px}.result #dtFinalText{min-height:420px;font-family:Garamond,'Times New Roman',serif;font-size:15px;line-height:1.5;text-align:justify}.pdf-preview{padding:8px;min-height:260px}@media(max-width:760px){.pdf-real-preview{height:520px}.spell-head{display:block}.history-actions{margin-top:8px}}

/* Interfaz actual — acabado limpio y profesional */
:root{--ds-bg:#f5f7fa;--ds-surface:#ffffff;--ds-surface-soft:#eef3f7;--ds-navy:#173b57;--ds-blue:#3572b8;--ds-teal:#138a78;--ds-text:#1f2933;--ds-muted:#667784;--ds-line:#d9e2e8;--ds-warn:#fff7e6;--ds-warn-line:#d99a22;--ds-danger:#c94a4a;--ds-ok:#2e8b68}
body{background:var(--ds-bg);color:var(--ds-text)}
nav,footer{background:var(--ds-navy);border-color:#ffffff1f}.brand,.logo,footer b,footer strong{color:#fff}.logo span,.tag,footer em{color:#78d6c6}
.hero p,.pricing-note,.capture-note{color:var(--ds-muted)}
.price,.tool,.pricegrid>div,.rule,.result,.unitcards button,.polybox,.spell-panel,.cad-result,.startbox{background:var(--ds-surface);color:var(--ds-text);border-color:var(--ds-line);box-shadow:0 10px 30px rgba(23,59,87,.07)}
.price ul,.grid label,.vertexgrid label,.polyhead p,.unitcards button span,.arearesults span,.startbox small{color:var(--ds-muted)}
button,.cta{background:var(--ds-teal);color:#fff}.secondary,.secondary-link{background:#e8eef3;color:var(--ds-navy);border:1px solid var(--ds-line)}
.tabs button{background:#e8eef3;color:var(--ds-navy);border-color:#cbd7df;box-shadow:none}.tabs button:hover,.tabs button.active{background:var(--ds-navy);color:#fff;border-color:var(--ds-navy)}
textarea,input[type=file],.modal input,.grid input,table input,.areaform input,.areaform select,.parcel select,.vertexgrid select,.pdf-form-grid input,.pdf-form-grid select{background:#fff;color:var(--ds-text);border-color:#bdcbd5}
.dropzone,.capturebox,.unit-choice{background:#f8fbfc;border-color:#9bbec6}.dropzone>b,.unit-choice,.polyhead h3{color:var(--ds-text)}
.warnbox,.pending-summary,.review-confirm{background:var(--ds-warn);color:#6b4a0b;border-color:var(--ds-warn-line)}
.editstatus.original{background:#e8f6f1;border-color:var(--ds-ok);color:#1f5f4d}.editstatus.changed{background:var(--ds-warn);color:#6b4a0b}.modified,.pending-input{background:#fffaf0!important}
.unit-review-title,.format-note,.analysis-note{background:#eef3f7;color:var(--ds-text)}.unit-review-title.prominent{background:var(--ds-navy);border-color:var(--ds-teal)}
.lindero-group b{background:#eef5f7;color:var(--ds-navy);border-color:#b9d8d4}.tramo-label{color:var(--ds-teal)}
.arearesults>div{background:#f8fafb;border-color:var(--ds-line)}
.modal>div{background:#fff;color:var(--ds-text)}.modal .x{color:var(--ds-navy)}
.source-quality details{margin-top:10px}.source-quality summary{cursor:pointer;font-weight:700;color:var(--ds-navy)}
@media(max-width:800px){.hero{padding-top:36px}.hero h1{color:var(--ds-navy)}}

/* Acabado visual actual */
:root{--ds-bg:#f4f7f9;--ds-surface:#ffffff;--ds-surface-soft:#f0f5f7;--ds-navy:#123b52;--ds-blue:#2f6f9f;--ds-teal:#0f8f7f;--ds-teal-soft:#e8f7f4;--ds-text:#172b38;--ds-muted:#526b79;--ds-line:#cbd8df;--ds-warn:#fff8e8;--ds-warn-line:#d89b21;--ds-danger:#b94343;--ds-ok:#287c61}
body{background:linear-gradient(180deg,#f7fafb 0,#f3f7f9 100%);color:var(--ds-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.tool,.result,.polybox,.spell-panel,.unit-choice,.startbox{border:1px solid var(--ds-line);border-radius:16px;box-shadow:0 10px 28px rgba(18,59,82,.065)}
.grid{gap:16px 20px}.grid label,.vertexgrid label,.pdf-form-grid label{color:#365565!important;font-size:12.5px!important;font-weight:650;letter-spacing:.01em}
.grid input,table input,.vertexgrid select,.areaform input,.areaform select,.parcel select,.pdf-form-grid input,.pdf-form-grid select{min-height:44px;border:1px solid #b8c9d3!important;border-radius:10px!important;padding:10px 12px!important;color:#172b38!important;background:#fff!important;box-shadow:0 1px 2px rgba(18,59,82,.03)}
.grid input:focus,table input:focus,.vertexgrid select:focus,.areaform input:focus,.areaform select:focus,.parcel select:focus,.pdf-form-grid input:focus,.pdf-form-grid select:focus,textarea:focus{outline:none!important;border-color:var(--ds-teal)!important;box-shadow:0 0 0 3px rgba(15,143,127,.14)!important}
th{color:#173b57;font-weight:800;background:#f7fafb;position:sticky;top:0}td{color:#223a48}th,td{padding:10px 8px;border-bottom:1px solid #e3ebef}.tramo-label{color:#0a7f70!important}.lindero-group b{background:#edf7f6!important;color:#123b52!important;border-color:#b9d8d4!important}
.unit-review-title.prominent{background:linear-gradient(135deg,#123b52,#174b65)!important;border:1px solid #1aa491!important;color:#fff!important;box-shadow:0 12px 30px rgba(18,59,82,.16)}.unit-review-title.prominent span{color:#bdd2dc!important}.unit-review-title.prominent b{color:#fff!important}
.polygon-link{margin:-2px 0 18px;padding:10px 13px;border:1px solid #cfe1e6;border-radius:10px;background:#f4faf9;color:#365565;font-size:13px}.polygon-link b{color:#123b52}.polygon-link.warning{background:#fff8e8;border-color:#e1bd68;color:#654b15}
.coord-note{margin:8px 0 18px;color:#607988;font-size:12.5px;line-height:1.45;padding:9px 12px;background:#f7fafb;border-left:3px solid #8eb8c8;border-radius:7px}
.pending-input{background:#fffaf0!important;color:#172b38!important;border-color:#d6a23a!important}.pending-input::placeholder{color:#8a671d!important;font-weight:700;opacity:.95}input::placeholder,textarea::placeholder{color:#718895;opacity:1}.pending-summary,.warnbox{background:#fff9eb!important;color:#5d4514!important}
button,.cta{border-radius:10px;box-shadow:0 2px 6px rgba(18,59,82,.08);transition:transform .12s ease,box-shadow .12s ease,background .12s ease}button:hover,.cta:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(18,59,82,.12)}.secondary,.secondary-link{background:#edf3f6!important;color:#123b52!important;border:1px solid #cbd8df!important}.tabs button{color:#24495e!important;background:#edf3f6!important}.tabs button.active{color:#fff!important;background:#123b52!important}
@media(max-width:700px){.grid{gap:13px}.grid input,table input,.vertexgrid select{min-height:46px}}


/* Barra de herramientas en flujo normal (sin menú flotante) */
#tools .tabs{
  position:static;
  top:auto;
  z-index:auto;
  margin:0 0 14px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
#tools .tabs button{flex:0 0 auto}
@media(max-width:700px){
  #tools .tabs{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 12px;padding:0}
  #tools .tabs button{min-height:54px;font-size:13px;padding:10px 8px}
}

/* Campos de redacción: aspecto de editor y soporte visual del corrector nativo */
textarea[spellcheck="true"]{text-decoration-skip-ink:auto}
.spell-native-note{margin:7px 0 2px;color:#526b79;font-size:12.5px;line-height:1.45}

/* Número → Texto: tres modos */
.number-text-modes{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}.number-text-modes .number-mode{background:#edf3f6!important;color:#123b52!important;border:1px solid #cbd8df!important;box-shadow:none}.number-text-modes .number-mode.active{background:#123b52!important;color:#fff!important;border-color:#123b52!important}.number-mode-help{padding:10px 12px;border:1px solid #d8e3e9;border-radius:9px;background:#f7fafb;color:#38586a;font-size:13px;margin-bottom:8px}.identity-suggestion{margin:10px 0;padding:12px 14px;border-left:4px solid #f0a51a;border-radius:8px;background:#fff8e7;color:#2d4858}.identity-suggestion b,.identity-suggestion span{display:block}.identity-suggestion span{margin-top:3px;font-size:13px}.identity-suggestion .actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.identity-suggestion .actions button{width:auto;margin:0}@media(max-width:700px){.number-text-modes{display:grid;grid-template-columns:1fr}.identity-suggestion .actions{display:grid}.identity-suggestion .actions button{width:100%}}

/*  contraste y legibilidad: ajustes puntuales sin alterar estructura */
:root{
  --ds-bg:#f5f7f9;
  --ds-surface:#ffffff;
  --ds-navy:#17364d;
  --ds-teal:#0d8b78;
  --ds-text:#1d2b36;
  --ds-muted:#566b79;
  --ds-line:#ccd8df;
  --ds-warn:#fff8e8;
}
body{background:#f5f7f9;color:var(--ds-text)}
.plan-name{color:#315163!important}
.plan-price span,.price p,.pricing-note,.pricegrid>div p,.pricegrid strong small,.capture-note,.spell-native-note{color:#566b79!important}
.price p b,.pricegrid>div b,.pricegrid>div strong{color:#17364d}
.tabs button,.number-text-modes .number-mode{font-weight:800}
.tool,.price,.pricegrid>div,.result{background:#fff;border-color:var(--ds-line)}
input::placeholder,textarea::placeholder{color:#657b88!important;opacity:1}
.pending-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.pending-actions .secondary{width:auto;margin:0}.scan-warning{border-left-color:#d28a16!important}
.history-item{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:14px 10px;border-bottom:1px solid #e3eaee}.history-item small{display:block;color:#637987;margin-top:5px}.history-actions .cta{white-space:nowrap}.history-info{min-width:0;flex:1}.history-info b,.history-file{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-file{font-size:12px}.history-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:6px 0 10px}.history-tools input,.history-tools select{margin-left:6px}.history-tools button{width:auto;margin:0;padding:6px 14px}.share-panel{margin:0 10px 12px;padding:12px 14px;border:1px solid #cfe3ea;border-radius:12px;background:#f4fafc}.share-panel b{display:block;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0}.share-row button{width:auto;margin:0;padding:7px 14px}.share-row span{color:#637987;font-size:13px}.share-panel small{display:block;color:#637987;margin-top:6px}.history-more{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;margin-top:14px;color:#637987}
@media(max-width:700px){.history-item{display:block}.pending-actions{display:grid}.pending-actions button,.pending-actions .secondary{width:100%}}


/* Ajustes quirúrgicos de revisión, tabla y contraste */
.price .plan-name{color:#24485d!important}
.price .plan-price span,.price>p,.price>p b,.pricing .pricegrid p,.pricing .pricegrid small,.pricing-note{color:#425d6d!important}
.price>p b,.pricing .pricegrid>div>b,.pricing .pricegrid>div>strong{color:#17364d!important}

.tramos-wrap{overflow-x:auto;padding-bottom:4px}
.tramos-table{width:100%;min-width:900px;table-layout:fixed;border-collapse:collapse}
.tramos-table .col-lindero{width:13%}.tramos-table .col-tramo{width:11%}.tramos-table .col-desde{width:8%}.tramos-table .col-hasta{width:8%}.tramos-table .col-rumbo{width:17%}.tramos-table .col-distancia{width:17%}.tramos-table .col-colindante{width:26%}
.tramos-table th,.tramos-table td{vertical-align:top;padding:9px 6px}
.tramos-table td input{margin:0!important;min-height:40px!important;padding:8px 9px!important}
.tramos-table .tramo-label{padding-top:18px;font-weight:800;white-space:nowrap}
.tramos-table .lindero-group{padding-top:9px!important}
.tramos-table .lindero-group b{margin:0;min-height:40px;display:flex!important;align-items:center;justify-content:center;padding:7px!important}
.colindante-cell{min-width:0}.col-list{display:grid;gap:5px}.col-item{display:grid;grid-template-columns:minmax(0,1fr) 30px;gap:5px;align-items:start;margin:0}.col-item input{min-width:0!important;width:100%}.col-remove{width:30px!important;height:40px;padding:0!important;margin:0!important}.add-colindante{margin-top:6px!important;white-space:nowrap}

.spell-review-bar{display:flex;align-items:center;gap:10px;justify-content:flex-start;margin:9px 0 6px;padding:8px 10px;border:1px solid #d4e0e6;border-radius:10px;background:#f7fafb}.spell-review-bar button{width:auto!important;margin:0!important;padding:8px 11px!important}.spell-review-bar span{color:#4d6675;font-size:12.5px;font-weight:700}
.spell-issues-compact{display:grid;gap:6px;margin:6px 0 12px}.spell-issue{margin:0!important;padding:9px 10px!important;border:1px solid #d8e2e7!important;border-left:3px solid #d39224!important;border-radius:9px!important;background:#fff!important;color:#172b38!important;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.spell-issue:hover{background:#f7fafb!important;border-color:#b9ccd5!important}.spell-issue-main{display:flex;align-items:center;gap:9px;min-width:0}.spell-index{display:inline-flex!important;align-items:center;justify-content:center;flex:0 0 25px;width:25px;height:25px;border-radius:50%;background:#eef4f6;color:#315163!important;font-size:11px!important;font-weight:900}.spell-issue-main>div{min-width:0}.spell-issue b{display:block;color:#17364d!important;overflow-wrap:anywhere}.spell-issue span{color:#5b707d!important}.spell-suggestions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;margin:0!important}.spell-suggestions button{width:auto!important;margin:0!important;padding:7px 9px!important;font-size:11.5px!important}.spell-suggestions .secondary{background:#edf3f6!important;color:#17364d!important}
@media(max-width:800px){.spell-issue{display:block}.spell-suggestions{justify-content:flex-start;margin-top:8px!important}.tramos-table{min-width:820px}}

/* Colindantes: propuesta IA + selección manual desde catálogo detectado */
.col-candidate-select{width:100%;margin:6px 0 0!important;min-height:36px;padding:6px 8px;border:1px solid #c9d8df;border-radius:8px;background:#f8fbfc;color:#17364d;font-size:12px}
.colindante-reanalysis-status{display:block;margin:5px 0 9px;color:#5b707d;font-size:12px;font-weight:700}
.colindante-reanalysis-status.busy{color:#315163}.colindante-reanalysis-status.ok{color:#2f6e55}.colindante-reanalysis-status.warn{color:#9a6515}

/* v1006 — Revisión ortográfica tipo Word: subrayado en el texto + menú de sugerencias */
.spell-editor{position:relative;isolation:isolate} /* sus capas internas no se salen por encima de otras ventanas */
.spell-backdrop{position:absolute;margin:0;box-sizing:border-box;overflow:hidden;white-space:pre-wrap;overflow-wrap:break-word;word-wrap:break-word;color:transparent;pointer-events:none;border-style:solid;border-color:transparent;border-radius:inherit;z-index:0}
.spell-editor textarea.spell-on{position:relative;z-index:1;background:transparent!important}
.spell-backdrop mark.spell-err{background:transparent;color:transparent;text-decoration:underline wavy #e0312b;text-decoration-thickness:1.5px;text-decoration-skip-ink:none;text-underline-offset:3px}
.spell-backdrop mark.spell-err.active{background:#e0312b26;border-radius:3px}
.spell-popover{position:absolute;z-index:20;min-width:230px;max-width:320px;padding:10px 12px;border:1px solid #cfdbe2;border-radius:10px;background:#fff;color:#17364d;box-shadow:0 10px 28px rgba(18,59,82,.18);font-size:13px}
.spell-pop-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;color:#c0261f}
.spell-pop-x{width:auto!important;min-height:0!important;padding:0 6px!important;border:0!important;background:transparent!important;color:#526b79!important;font-size:18px;line-height:1;box-shadow:none!important}
.spell-pop-msg{margin:4px 0 8px;color:#526b79;font-size:12px;line-height:1.4}
.spell-pop-sugs{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.spell-pop-sugs button{width:100%!important;min-height:32px!important;margin:0!important;text-align:left;font-weight:700}
.spell-pop-actions{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid #e3ebef;padding-top:8px}
.spell-pop-actions button{width:auto!important;min-height:30px!important;margin:0!important;padding:5px 10px!important;font-size:12px}
.spell-review-bar #spellStatus{flex:1}
.spell-review-bar .hide{display:none!important}
@media(max-width:800px){.spell-review-bar{flex-wrap:wrap}.spell-popover{max-width:calc(100vw - 40px)}}

/* v1006 — las ventanas modales (PDF, modo de análisis, etc.) siempre quedan al frente */
.modal{z-index:1000}

/* v1006 — modo de análisis y segunda opinión */
.modal button.mode-choice{display:block;text-align:center}
.modal button.mode-choice b,.modal button.mode-choice small{display:block}
.modal button.mode-choice small{margin-top:3px;font-weight:400;line-height:1.35}
.col-second-opinion{margin:0 0 6px;padding:6px 8px;border:1px solid #f0c36d;border-radius:8px;background:#fff7e6;color:#7a4b00;font-size:12px;line-height:1.35}
.col-second-opinion button{width:auto!important;min-height:0!important;margin:0 0 0 6px!important;padding:3px 10px!important;font-size:12px}

/* v1006 — Descripción → CAD: con "Procesar todas", los resultados van uno al lado del otro */
#cadMultiResults{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;align-items:stretch}
#cadMultiResults .cad-result{margin:0;display:flex;flex-direction:column}
#cadMultiResults .cad-result textarea{flex:1;min-height:260px;font-size:12.5px}
#cadMultiResults .cad-result .actions{display:flex;flex-wrap:wrap;gap:8px}
#cadMultiResults .cad-result .actions button{flex:1 1 auto;width:auto;margin:0}

/* v1006 — Descripción → CAD: punto de inicio y porciones con solo distancias */
.cad-start{margin:0 0 10px;padding:10px 12px;border:1px dashed #9fb4c2;border-radius:10px;background:#f6f9fb;color:#17364d}
.cad-start-head{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;justify-content:space-between}
.cad-start-head span{font-size:12px;color:#526b79}
.cad-start pre{margin:6px 0;padding:6px 8px;border-radius:6px;background:#fff;border:1px solid #d8e2e7;font-size:12.5px;white-space:pre-wrap}
.cad-start .actions{margin:0}.cad-start .actions button{width:auto!important;margin:0!important}
.cad-start small{display:block;margin-top:5px;color:#526b79;font-size:11.5px}
.cad-distancias{padding:10px 12px;border:1px solid #f0c36d;border-left:4px solid #e0a020;border-radius:10px;background:#fff8e8;color:#5b3d00}
.cad-distancias b{display:block;margin-bottom:6px}.cad-distancias p{margin:3px 0;font-size:13px;line-height:1.45}

/* v1006 — croquis aproximado para porciones sin rumbos */
.cad-distancias .actions{margin:8px 0 0}.cad-distancias .actions button{width:auto!important;margin:0!important}
.cad-croquis textarea{width:100%;min-height:150px;margin:8px 0 6px;font-size:12.5px}
.cad-croquis-aviso{margin-top:8px;padding:8px 10px;border-radius:8px;background:#fff;border:1px solid #f0c36d;color:#5b3d00;font-size:12.5px;line-height:1.45}

/* v1006 — confirmación de "Procesar todas" */
.cad-confirm{margin-top:10px;padding:12px 14px;border:1px solid #f0c36d;border-left:4px solid #e0a020;border-radius:10px;background:#fff8e8;color:#5b3d00}
.cad-confirm p{margin:0 0 6px;line-height:1.45}.cad-confirm .actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.cad-confirm .actions button{width:auto!important;margin:0!important}

/* ===== v1006 — Diseño por función: cada zona de trabajo usa el color de su pestaña (tonos sobrios) ===== */
:root{--acc-plan:#0f7f71;--acc-plan-soft:#e9f6f3;--acc-cad:#2563a8;--acc-cad-soft:#eaf2fb;--acc-text:#a5650c;--acc-text-soft:#fcf4e6;--acc-areas:#6a48b5;--acc-areas-soft:#f2edfb;--acc-history:#3f5866;--acc-history-soft:#eef3f5}
#plan{--acc:var(--acc-plan);--acc-soft:var(--acc-plan-soft)}
#cad{--acc:var(--acc-cad);--acc-soft:var(--acc-cad-soft)}
#text{--acc:var(--acc-text);--acc-soft:var(--acc-text-soft)}
#areas{--acc:var(--acc-areas);--acc-soft:var(--acc-areas-soft)}
#history{--acc:var(--acc-history);--acc-soft:var(--acc-history-soft)}

/* Pestañas: claras con su color abajo; la activa toma su color completo */
.tabs button:nth-child(1){--acc:var(--acc-plan)}.tabs button:nth-child(2){--acc:var(--acc-cad)}.tabs button:nth-child(3){--acc:var(--acc-text)}.tabs button:nth-child(4){--acc:var(--acc-areas)}.tabs button:nth-child(5){--acc:var(--acc-history)}
.tabs button{background:#fff!important;color:#1d3445!important;border:1px solid #d6e0e6!important;border-bottom:3px solid var(--acc)!important;border-radius:12px 12px 10px 10px;box-shadow:0 1px 3px rgba(18,59,82,.06)!important;transition:background .15s ease,color .15s ease,transform .15s ease}
.tabs button:hover{background:#f6f9fb!important;transform:translateY(-1px)}
.tabs button.active{background:var(--acc)!important;color:#fff!important;border-color:var(--acc)!important;box-shadow:0 6px 18px rgba(18,59,82,.16)!important}

/* Zona de trabajo: franja superior y encabezado con el color de la función */
.tool{position:relative;border-top:4px solid var(--acc,#d6e0e6)!important;border-radius:14px!important;padding-top:22px}
.tool>h3:first-child{display:flex;align-items:center;gap:10px;margin:0 0 6px;color:#14303f;font-size:19px;letter-spacing:.1px}
.tool>h3:first-child::before{content:"";flex:0 0 auto;width:10px;height:22px;border-radius:4px;background:var(--acc)}
.tool>h3:first-child+p{color:#5a7180;margin-top:0;padding-bottom:14px;border-bottom:1px solid #e6edf1}
/* Botones principales de cada función en su color (no se tocan los secundarios ni los especiales) */
.tool button:not([class]),.tool .cta:not(.secondary-link){background:var(--acc)!important;color:#fff!important;border-color:var(--acc)!important}
.tool button:not([class]):hover,.tool .cta:not(.secondary-link):hover{filter:brightness(1.07)}
.tool input:focus,.tool textarea:focus,.tool select:focus{outline:none;border-color:var(--acc)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 18%,transparent)!important}

/* ===== Mis trabajos ===== */
#history .history-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:14px 0 6px;padding:10px 12px;background:var(--acc-soft);border:1px solid #dde6eb;border-radius:12px}
#history .history-tools .ht-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#5a7180}
#history .ht-seg{display:inline-flex;background:#fff;border:1px solid #d3dde3;border-radius:10px;padding:3px;gap:2px}
#history .ht-seg button{background:transparent!important;color:#3a5260!important;border:0!important;box-shadow:none!important;padding:6px 12px!important;border-radius:8px;font-size:13px;font-weight:700;width:auto;margin:0}
#history .ht-seg button.on{background:var(--acc)!important;color:#fff!important}
#history .ht-date{display:inline-flex;align-items:center;gap:8px}
#history .ht-date input{margin:0;padding:6px 8px;border:1px solid #d3dde3;border-radius:8px;background:#fff;font-size:13px}
#history .ht-clear{background:transparent!important;color:var(--acc)!important;border:0!important;box-shadow:none!important;padding:6px 4px!important;text-decoration:underline;font-weight:700;width:auto;margin:0}
#history .history-item{display:flex;align-items:center;gap:14px;padding:14px 12px;margin:8px 0;border:1px solid #e1e9ee;border-radius:12px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}
#history .history-item:hover{border-color:#c9d6de;box-shadow:0 4px 14px rgba(18,59,82,.07)}
#history .hi-badge{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:11px;font-size:12px;font-weight:800;letter-spacing:.4px}
#history .hi-badge.dt{background:var(--acc-plan-soft);color:var(--acc-plan)}
#history .hi-badge.cad{background:var(--acc-cad-soft);color:var(--acc-cad)}
#history .hi-badge.otro{background:#eef2f4;color:#4b6170}
#history .history-info{min-width:0;flex:1}
#history .history-info b{display:block;font-size:15px;color:#14303f;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#history .history-info small{display:block;margin-top:3px;color:#667c89;font-size:12.5px}
#history .history-file{font-family:ui-monospace,Consolas,monospace;font-size:11.5px!important;color:#7d909b!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#history .pend{color:#a86a00;font-weight:700}
#history .history-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto}
#history .ha-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px!important;border-radius:9px!important;font-size:13px!important;font-weight:700;white-space:nowrap;text-decoration:none;width:auto;margin:0;background:#fff!important;color:#24414f!important;border:1px solid #d3dde3!important;box-shadow:none!important;cursor:pointer}
#history .ha-btn:hover{background:#f4f8fa!important;border-color:#b9c8d1!important}
#history .ha-btn svg{width:15px;height:15px;flex:0 0 auto}
#history .ha-btn.primary{background:var(--acc-history)!important;color:#fff!important;border-color:var(--acc-history)!important}
#history .ha-btn.share{color:var(--acc-cad)!important}
#history .ha-btn:disabled{opacity:.6;cursor:wait}
#history .ha-nopdf{font-size:11.5px;color:#8a9ba5;padding:4px 8px;border:1px dashed #cfd9df;border-radius:8px;white-space:nowrap}
#history .history-more{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:10px 4px 0;color:#667c89;font-size:13px}
#history .history-more button{width:auto;margin:0}
#history .history-empty{padding:28px 12px;text-align:center;color:#667c89;border:1px dashed #d3dde3;border-radius:12px;background:#fafcfd}
@media(max-width:760px){
  #history .history-item{flex-wrap:wrap}
  #history .history-info{flex:1 1 calc(100% - 64px)}
  #history .history-actions{width:100%;flex-wrap:wrap}
  #history .history-actions .ha-btn{flex:1 1 auto;justify-content:center}
  #history .history-tools{gap:10px}
  #history .ht-seg{width:100%;overflow-x:auto}
  #history .ht-seg button{flex:1 1 auto}
}

/* ===== v1006 — Legibilidad (recomendaciones Apple / Google / WCAG 2.2 AA) =====
   Campos ≥ 16 px (el iPhone no hace zoom al tocarlos), botones con letra de 15 px y ≥ 44 px de alto en el
   teléfono, textos de ayuda ≥ 13–14 px y contraste del texto ≥ 4.5:1. */
input,select,textarea{font-size:16px!important}
button,.cta,.ha-btn{font-family:inherit}
.tool button,.tool .cta{font-size:15px!important}
.tool>h3:first-child+p{font-size:15px;color:#4b6170}
/* Textos de ayuda y estados con contraste suficiente */
.dropzone>span,.dropzone small,#planSelected,#writingSelected{color:#536a78!important;font-size:13.5px!important}
.dropzone kbd{font-size:12.5px}
.capture-note,.spell-native-note,.number-mode-help{color:#4b6170!important;font-size:13.5px!important}
#history .history-info small{color:#536a78!important;font-size:13.5px!important}
#history .history-file{color:#5f7482!important;font-size:12.5px!important}
#history .ht-label{color:#4b6170!important;font-size:13px!important}
#history .ha-btn{font-size:14px!important}
#history .ha-nopdf{color:#5f7482;font-size:12.5px}
#history .history-more{color:#536a78;font-size:14px}
@media(max-width:760px){
  .tool{font-size:16px}
  .tool p,.tool label{font-size:15px}
  .tool button,.tool .cta,#history .ha-btn,#history .ht-seg button,.number-mode{min-height:44px;font-size:15px!important}
  #history .ht-seg button{padding:8px 10px!important}
  .dropzone>span,.dropzone small,#planSelected,#writingSelected,.capture-note,.spell-native-note,.number-mode-help{font-size:14px!important}
  #history .history-info b{font-size:16px}
  #history .history-info small{font-size:14px!important}
  #history .history-file{font-size:13px!important}
  #history .ht-date input{min-height:44px}
}
/* Encabezado: usuario y trabajos visibles sobre el fondo oscuro; logo sin cortarse en el teléfono */
#account{color:#dce9f1!important}
#account b{color:#fff!important}
#account .dev{color:#ffd88a}
nav .brand small{color:#a9c1cf}
@media(max-width:760px){
  nav{height:auto!important;min-height:64px;padding:10px 14px!important;gap:10px}
  nav .brand .logo{font-size:19px!important;letter-spacing:1px!important;white-space:nowrap;line-height:1.15}
  nav .brand small{font-size:9.5px!important;letter-spacing:1px!important;white-space:nowrap}
  #account{font-size:13.5px!important;text-align:right;line-height:1.3}
  #account button{min-height:40px}
}

/* ===== v1006 — Portada: problema, solución, cómo funciona y planes ===== */
.hero.hero-v2{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;padding:56px 0 40px}
.hero-v2 .tag{display:inline-block;color:var(--acc-plan);font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;margin-bottom:12px}
.hero-v2 h1{font-size:44px;line-height:1.12;margin:0 0 16px;color:#14303f;letter-spacing:-.5px}
.hero-v2 .hero-sub{font-size:18px;line-height:1.6;color:#41596a;margin:0 0 24px;max-width:560px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.hero-cta button,.hero-cta .cta{min-height:50px;padding:13px 22px!important;font-size:16px!important;border-radius:12px!important;width:auto;margin:0;display:inline-flex;align-items:center}
.hero-cta button{background:var(--acc-plan)!important;color:#fff!important}
.hero-cta .cta.ghost{background:#fff!important;color:#14303f!important;border:1px solid #c9d6de!important;box-shadow:none}
.hero-trust{display:flex;flex-wrap:wrap;gap:8px 20px;list-style:none;padding:0;margin:0;color:#41596a;font-size:14.5px}
.hero-trust li{display:flex;align-items:center;gap:6px}.hero-trust svg{width:17px;height:17px;color:var(--acc-plan)}
.hero-demo{display:grid;gap:10px}
.hd-card{background:#fff;border:1px solid #dce6eb;border-radius:14px;padding:14px 16px;box-shadow:0 6px 20px rgba(18,59,82,.06)}
.hd-card small{display:block;color:#536a78;font-size:13px;margin-bottom:6px}
.hd-card code{font-family:ui-monospace,Consolas,monospace;font-size:13.5px;line-height:1.7;color:#14303f}
.hd-flecha{text-align:center;color:#8aa0ad;font-size:20px;line-height:1}
.hd-dos{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hd-dt{background:var(--acc-plan-soft);border-color:#cde8e1}.hd-dt b{color:#0b5a50}.hd-dt span{display:block;margin-top:6px;font-size:13.5px;line-height:1.55;color:#24574f}
.hd-cad{background:var(--acc-cad-soft);border-color:#cfe0f3}.hd-cad b{color:#1c4f87}.hd-cad code{display:block;margin-top:6px;color:#1c4f87}
.problema,.funciones,.pasos,.pricing-v2{padding:36px 0}
.problema h2,.funciones h2,.pasos h2,.pricing-v2 h2{font-size:26px;color:#14303f;margin:0 0 18px}
.pr-grid,.fn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fn-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.pr-grid>div{background:#fff;border:1px solid #e3d6cf;border-radius:14px;padding:18px}
.pr-ico{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#fbeee8;color:#9a3d1d;font-size:19px;margin-bottom:10px}
.pr-grid b,.fn b,.ps-grid b{display:block;font-size:16.5px;color:#14303f;margin-bottom:6px}
.pr-grid p,.fn p,.ps-grid p{margin:0;color:#4b6170;font-size:15px;line-height:1.55}
.fn{background:#fff;border:1px solid #dce6eb;border-top:4px solid var(--c);border-radius:0 0 14px 14px;padding:18px}
.fn-plan{--c:var(--acc-plan)}.fn-cad{--c:var(--acc-cad)}.fn-text{--c:var(--acc-text)}.fn-areas{--c:var(--acc-areas)}
.ps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:0}
.ps-grid li{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid #dce6eb;border-radius:14px;padding:18px}
.ps-grid span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--acc-plan-soft);color:#0b5a50;font-weight:800;margin-bottom:8px}
.pricing-v2 .pricing-lead{color:#41596a;font-size:16px;max-width:760px;margin:-6px 0 20px;line-height:1.55}
.pricing-v2 .pricegrid>div{position:relative;display:flex;flex-direction:column;gap:6px}
.pricing-v2 .pricegrid button{margin-top:auto!important;width:100%!important;min-height:46px}
.pricing-v2 .featured-plan{border:2px solid var(--acc-plan)!important}
.plan-badge{position:absolute;top:-12px;left:16px;background:var(--acc-plan);color:#fff;font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px}
.admin-link{color:#ffd88a!important;font-weight:700;text-decoration:none;margin-right:6px}
/* Acceso y verificación */
.auth-box{max-width:420px}.auth-box h2{margin-top:0}.auth-note{color:#536a78;font-size:14px;margin:10px 0 0}
#verifyCode{font-size:22px!important;letter-spacing:6px;text-align:center}
/* Vista previa (prueba gratuita): datos velados y llamado a adquirir un plan */
.preview-box{position:relative;overflow:hidden;padding:18px 20px;border:1px solid #d8e2e8;border-radius:12px;background:#fff;font-size:16px;line-height:1.7;text-align:justify;white-space:pre-wrap;user-select:none;-webkit-user-select:none}
.preview-box.mono{font-family:ui-monospace,Consolas,monospace;font-size:15px;text-align:left}
.preview-box:before{content:"VISTA PREVIA";position:absolute;top:42%;left:-10%;width:120%;text-align:center;transform:rotate(-20deg);font:800 54px Arial,sans-serif;color:#1230420f;letter-spacing:6px;pointer-events:none}
.velo{filter:blur(4px);background:#d3dee5;color:#7d93a0;border-radius:3px}
.preview-cta{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:12px;padding:14px 16px;border:1px solid #e3b453;background:#fff8e8;border-radius:12px;color:#5c4100;font-size:15px}
.preview-cta button{width:auto;margin:0}
@media(max-width:760px){
  .hero.hero-v2{grid-template-columns:1fr;gap:26px;padding:28px 0 20px}
  .hero-v2 h1{font-size:30px}.hero-v2 .hero-sub{font-size:16px}
  .hero-cta{display:grid}.hero-cta button,.hero-cta .cta{width:100%;justify-content:center}
  .hd-dos{grid-template-columns:1fr}
  .pr-grid,.ps-grid{grid-template-columns:1fr}.fn-grid{grid-template-columns:1fr 1fr}
  .problema,.funciones,.pasos,.pricing-v2{padding:22px 0}
  .problema h2,.funciones h2,.pasos h2,.pricing-v2 h2{font-size:21px}
  .pricing-v2 .pricegrid{display:grid;grid-template-columns:1fr;gap:14px}
  .pricing-v2 .featured-plan{order:-1}
  .preview-box:before{font-size:34px}
}
/* Ancho y márgenes de la portada iguales a los de las herramientas */
.hero.hero-v2,.problema,.funciones,.pasos,.pricing-v2{max-width:1160px;margin-left:auto!important;margin-right:auto!important;padding-left:24px!important;padding-right:24px!important;box-sizing:border-box}
/* Avisos de la cuenta legibles (antes: texto oscuro sobre fondo oscuro) */
.alerts{max-width:1160px;margin:14px auto 0!important;padding:0 24px!important;background:transparent!important;border:0!important;box-shadow:none!important}
.alerts>div{background:#fff8e8!important;color:#5c4100!important;border:1px solid #e3b453!important;border-radius:12px;padding:10px 14px;font-size:14.5px;margin-bottom:8px}
@media(max-width:760px){.hero.hero-v2,.problema,.funciones,.pasos,.pricing-v2,.alerts{padding-left:16px!important;padding-right:16px!important}}
/* Tarjetas para elegir unidad o descripción: blancas y legibles (no toman el color de los botones principales) */
.tool .unitcards button,.unitcards button{background:#fff!important;color:#14303f!important;border:1px solid #d6e0e6!important;border-left:5px solid var(--acc,#0f7f71)!important;box-shadow:0 2px 8px rgba(18,59,82,.06)!important;text-align:left;font-size:16px!important}
.tool .unitcards button:hover,.unitcards button:hover{background:var(--acc-soft,#eef6f4)!important;border-color:var(--acc,#0f7f71)!important}
.tool .unitcards button b,.unitcards button b{color:#14303f}
.tool .unitcards button span,.tool .unitcards button small,.unitcards button span,.unitcards button small{color:#536a78!important;font-size:13px!important;font-weight:600;letter-spacing:.3px}
.auth-link{background:none!important;border:0!important;box-shadow:none!important;color:#0f7f71!important;text-decoration:underline;font-weight:700;padding:6px 0!important;width:auto!important;margin:4px 0 0!important;cursor:pointer;font-size:14.5px!important}
#authReset input{margin-bottom:8px}
.cad-cobro{display:block;margin:6px 0 4px;color:#536a78;font-size:13.5px}
/* ===== Visor del plano ===== */
.ver-plano-btn{float:right;margin:-34px 0 0!important;width:auto!important;background:#fff!important;color:#123b52!important;border:1px solid #cfe0ea!important;padding:8px 14px!important;font-size:14.5px!important;border-radius:10px!important}
.unit-review-title.prominent{position:relative}
.visor-plano{position:fixed;inset:0;z-index:9000;display:flex;flex-direction:column;background:#0e1d27}
.visor-plano.hide{display:none}
.vp-barra{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;background:#123b52;color:#fff}
.vp-titulo{font-size:15px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vp-pag{font-size:13px;color:#bcd2df;flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vp-botones{display:flex;flex-wrap:wrap;gap:6px}
.vp-botones button{width:auto!important;margin:0!important;min-width:40px;min-height:40px;padding:6px 12px!important;background:#1e5574!important;color:#fff!important;border:1px solid #2f6f92!important;border-radius:9px!important;font-size:16px!important;box-shadow:none!important}
.vp-botones .vp-cerrar{background:#b94343!important;border-color:#b94343!important}
.vp-lienzo{position:relative;flex:1;overflow:hidden;touch-action:none;cursor:grab;background:#e9eef1}
.vp-lienzo:active{cursor:grabbing}
.vp-contenido{position:absolute;left:0;top:0;will-change:transform}
.vp-contenido img,.vp-contenido canvas{display:block;width:100%;height:100%;background:#fff;box-shadow:0 4px 24px #0004;user-select:none;-webkit-user-drag:none}
.vp-estado{position:absolute;inset:0;display:none;place-items:center;text-align:center;padding:30px;color:#123b52;font-size:16px;font-weight:700}
.vp-ayuda{padding:6px 12px;background:#123b52;color:#bcd2df;font-size:12.5px;text-align:center}
.fab-plano{position:fixed;right:14px;bottom:18px;z-index:8000;width:auto!important;margin:0!important;padding:12px 18px!important;border-radius:999px!important;background:#0f7f71!important;color:#fff!important;font-size:15px!important;box-shadow:0 6px 18px #0004!important}
.fab-plano.hide{display:none}
@media(min-width:761px){.fab-plano{display:none}}
body.visor-abierto{overflow:hidden}
@media(min-width:1100px){
  body.visor-fijo{overflow:auto}
  body.visor-fijo .visor-plano{left:auto;width:46vw;border-left:3px solid #0f7f71}
  body.visor-fijo main,body.visor-fijo nav,body.visor-fijo footer{margin-right:46vw}
}
@media(max-width:1099px){.vp-fijar{display:none}}
@media(max-width:760px){.ver-plano-btn{float:none;display:block;margin:10px 0 0!important}.vp-titulo{max-width:60vw}}
/* ===== Mis trabajos: logo del tipo de archivo ===== */
#history .ha-btn svg.fi{width:21px;height:21px}
/* ===== Revisión plegada tras generar la DT ===== */
#review.plegada{display:none!important}
.review-plegada-bar{display:none}
.review-plegada-bar:has(+ #review.plegada:not(.hide)){display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0;padding:12px 14px;border:1px solid #cfe0ea;border-left:4px solid #0f7f71;border-radius:10px;background:#f3f9f8;color:#123b52;font-size:15px}
.review-plegada-bar button{width:auto!important;margin:0!important}
#review .plegar-de-nuevo{float:right;width:auto!important;margin:0 0 8px 8px!important}

/* ===== Nombre de la unidad y «Ver plano» siempre visibles al bajar por la revisión ===== */
#review .unit-review-title.prominent{position:sticky!important;top:0;z-index:40;padding:10px 16px!important;margin-bottom:14px}
#review .unit-review-title.prominent b{font-size:20px!important;margin-top:2px}
#review .unit-review-title.prominent .ver-plano-btn{margin-top:-30px!important}
@media(max-width:760px){#review .unit-review-title.prominent .ver-plano-btn{display:none}#review .unit-review-title.prominent b{font-size:17px!important}}
/* ===== Lector de voz (estilo «Leer en voz alta» de Word) ===== */
h4.dt-cab{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#lvZona{display:flex;align-items:center;gap:6px;position:relative}
#lvZona .lv-abrir{display:inline-flex;align-items:center;gap:6px;width:auto!important;margin:0!important;padding:5px 10px!important;background:transparent!important;color:#4a6370!important;border:1px solid transparent!important;border-radius:8px!important;box-shadow:none!important;font-size:13px!important;font-weight:600!important}
#lvZona .lv-abrir:hover{background:#eef4f7!important;border-color:#d6e4ea!important;color:#123b52!important}
#lvZona .lv-abrir svg,.lector-voz svg,.lv-menu svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.lector-voz{display:flex;align-items:center;gap:2px}
.lector-voz.hide,#lvZona .lv-abrir.hide{display:none!important}
.result .lector-voz>button,.lector-voz>button{display:inline-grid;place-items:center;width:32px!important;height:32px;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;color:#4a6370!important;border:0!important;border-radius:6px!important;box-shadow:none!important}
.result .lector-voz>button:hover,.lector-voz>button:hover{background:#e8f0f3!important;color:#123b52!important}
.lv-cfg{position:absolute;right:0;top:38px;z-index:60;display:grid;gap:10px;min-width:240px;padding:12px;border:1px solid #d6e4ea;border-radius:10px;background:#fff;box-shadow:0 10px 28px #0002}
.lv-cfg.hide{display:none}
.lv-cfg label{display:grid;gap:4px;font-size:12.5px;font-weight:600;color:#4a6370}
.lv-cfg select{margin:0!important;height:34px;padding:0 8px;border:1px solid #d6e4ea;border-radius:8px;background:#fff;color:#123b52;font-size:13px}
.lv-menu{position:fixed;z-index:9500;min-width:250px;padding:6px 0;border:1px solid #3c3c3c;border-radius:8px;background:#2b2b2b;color:#f0f0f0;box-shadow:0 8px 24px #0006;font-size:13.5px}
.lv-menu button{display:flex;align-items:center;gap:10px;width:100%!important;margin:0!important;padding:7px 14px!important;background:transparent!important;color:#f0f0f0!important;border:0!important;border-radius:0!important;box-shadow:none!important;font-size:13.5px!important;font-weight:400!important;text-align:left;cursor:pointer}
.lv-menu button:hover:not(:disabled){background:#3d3d3d!important}
.lv-menu button:disabled{color:#8a8a8a!important;cursor:default}
.lv-menu button span{flex:1}
.lv-menu kbd{font-family:inherit;font-size:11.5px;color:#a8a8a8;background:none;border:0;padding:0}
.lv-menu hr{margin:5px 0;border:0;border-top:1px solid #444}
.lv-menu small{display:block;padding:6px 14px 2px;color:#8f8f8f;font-size:11px}
.spell-backdrop mark.lv-palabra{background:#c9c9c9!important;color:transparent;border-radius:2px;box-shadow:0 0 0 1px #c9c9c9}

/* Etiqueta «MODO DESARROLLO» (solo en la copia local): texto oscuro legible sobre el fondo amarillo */
nav .dev{color:#3b2a00!important;background:#f4c95d!important;cursor:default}
/* Lector de voz: fragmento que se está escuchando, resaltado en la DT */
.spell-backdrop mark.lv-leyendo{background:#fff5cc;color:transparent;border-radius:2px}
/* ===== Registro: aceptación de términos · enlaces legales al pie ===== */
.auth-terms{display:flex;gap:9px;align-items:flex-start;margin:6px 0 4px;font-size:13.5px;line-height:1.45;color:inherit;text-align:left;cursor:pointer}
.auth-terms.hide{display:none}
.auth-terms input{width:18px!important;height:18px;margin:2px 0 0!important;padding:0!important;flex:0 0 auto;accent-color:#0f8f7e}
.auth-terms a{color:#0f8f7e;font-weight:700}
footer .legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:10px;font-size:13px}
footer .legal-links a{color:inherit;opacity:.85;text-decoration:underline}
