@font-face{font-family:Archivo;src:url('/assets/fonts/archivo.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'IBM Plex Mono';src:url('/assets/fonts/plex-mono.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
:root{color-scheme:light;--paper:#f5f5f5;--ink:#151515;--muted:#616161;--rule:#d4d4d4;--strong:#232323;--blue:#1431d6;--viewer:#ececec;--body:Archivo,'Helvetica Neue',Arial,sans-serif;--mono:'IBM Plex Mono',monospace;--ease:cubic-bezier(.16,1,.3,1);--col:1350px;--gutter:48px;--side:230px;--work-gap:48px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#b3b3b3 var(--paper);scrollbar-width:thin}body{margin:0;background:var(--paper);font:400 16px/1.6 var(--body);color:var(--ink);-webkit-font-smoothing:antialiased}::selection{color:white;background:var(--ink)}[hidden]{display:none!important}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.42}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}svg{width:20px;height:20px;flex-shrink:0;display:inline-block}input,textarea{caret-color:var(--ink)} .skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:12px}.brand{font-size:34px;line-height:1;letter-spacing:-.035em;font-weight:800;text-decoration:none;align-self:flex-start}.brand-period{margin-left:1px}.nav-home{display:flex;align-items:center;gap:10px;width:100%;padding:18px 0;margin-top:0;border-bottom:1px solid var(--strong);background:none;text-align:left;font-weight:600;font-size:14px}.nav-home svg{width:17px}.steps-title{font:400 10px var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:38px 0 18px}.step-nav{display:flex;flex-direction:column;gap:7px}.step-nav button{display:flex;align-items:center;gap:14px;background:none;text-align:left;padding:10px 0;min-height:44px;font-size:14px;position:relative}.step-nav button .step-number{font:11px var(--mono);color:var(--muted);width:18px}.step-nav button[aria-current=step]{color:var(--paper);font-weight:600;background:var(--ink)}.step-nav button[aria-current=step] .step-number{color:var(--paper)}.step-nav button svg{margin-left:auto;width:15px;height:15px}.topbar #breadcrumb{flex:1;color:var(--muted)}.topbar .text-button{font-size:12px;font-weight:500;gap:8px;min-height:44px}.topbar .text-button svg{width:16px;height:16px}.save-state{font:10px var(--mono);color:var(--muted);display:flex;gap:7px;align-items:center}.save-state::before{content:'';width:5px;height:5px;background:var(--muted);border-radius:50%}.save-state.error{color:var(--blue)}.save-state.error::before{background:var(--blue)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(40px,4.7vw,64px);line-height:1.02;letter-spacing:-.035em;font-weight:700;margin-bottom:22px;text-wrap:balance}h2{font-size:24px;line-height:1.15;letter-spacing:-.025em;font-weight:600;margin-bottom:16px}h3{font-size:24px;line-height:1.25;letter-spacing:-.015em;font-weight:600;margin:0 0 20px}h4{font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.01em;margin:0 0 18px}.intro{color:var(--muted);font-size:16px;line-height:1.65;max-width:54ch;margin-bottom:0}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:52px}.page-heading .button{margin-top:4px;white-space:nowrap}.page-heading .intro{max-width:53ch}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;text-decoration:none;padding:13px 20px;min-height:48px;border-radius:4px;border:1px solid var(--strong);background:transparent;font-size:12px;font-weight:600;line-height:1.4;transition:background-color 160ms,color 160ms,transform 160ms var(--ease)}.button.primary{color:#fff;background:var(--ink);border-color:var(--ink)}.button svg{width:18px;height:18px}.button.small{min-height:40px;padding:8px 14px;gap:12px;font-size:12px}.text-button{display:inline-flex;align-items:center;justify-content:flex-start;gap:10px;padding:0;min-height:44px;background:none;font-size:12px;font-weight:600;text-decoration:none}.text-button svg{width:17px;height:17px;transition:transform 160ms var(--ease)}.icon-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;min-width:44px;min-height:44px}.icon-button svg{width:18px;height:18px}.muted{color:var(--muted)}.mono{font-family:var(--mono)}.small{font-size:12px;line-height:1.65}.section{border-top:1px solid var(--strong);padding-top:24px;margin-top:48px}.section:first-child{margin-top:0}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:26px}.section-heading h2,.section-heading h3{margin:0}.section-heading .mono{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.035em}.section-heading .text-button{font-size:12px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.span-2{grid-column:span 2}.field{display:flex;flex-direction:column;min-width:0;position:relative;gap:10px}.field>span:first-child,.field-label{font:400 10px/1.5 var(--mono);letter-spacing:.025em;text-transform:uppercase;color:var(--muted);display:block}.field input,.field textarea,.combo-trigger{min-height:47px;padding:10px 0;border:none;border-bottom:1px solid var(--rule);border-radius:0;background:none;color:var(--ink);font-size:16px;width:100%;text-align:left;transition:border-color 160ms}.field input:hover,.field textarea:hover,.combo-trigger:hover{border-bottom-color:var(--ink)}.field input:focus,.field textarea:focus{border-bottom-color:var(--blue)}.field input::placeholder,.field textarea::placeholder{color:var(--muted);opacity:1}.field input[type=number]{appearance:textfield}.field input::-webkit-inner-spin-button{appearance:none}.field textarea{resize:vertical;min-height:170px;border:1px solid var(--rule);padding:16px;line-height:1.6;font-size:14px}.field .help{font-size:12px;color:var(--muted);line-height:1.5}.field-error,.form-error{font-size:12px;color:var(--blue);line-height:1.6}.field-error:empty,.form-error:empty{display:none}.date-field{position:relative}.date-field input{padding-right:30px;position:relative}.date-field>svg{position:absolute;right:1px;top:39px;width:17px;pointer-events:none}.date-field input::-webkit-calendar-picker-indicator{position:absolute;right:0;opacity:0;width:36px;height:36px;cursor:pointer}.combo{position:relative}.combo-trigger{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;min-height:47px}.combo-trigger svg{width:15px;height:15px;transition:transform 180ms var(--ease)}.combo-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.combo-trigger .placeholder{color:var(--muted)}.combo-menu{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:40;background:var(--paper);border:1px solid var(--strong);padding:6px;box-shadow:0 10px 25px #1515150b;max-height:270px;overflow-y:auto;animation:menu-in 160ms var(--ease)}.combo-option{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;width:100%;background:none;padding:11px 10px;min-height:44px;font-size:12px;line-height:1.45}.combo-option[aria-selected=true]{font-weight:600}.combo-option[aria-selected=true]::after{content:'';width:6px;height:6px;background:var(--ink);border-radius:50%;flex-shrink:0}.combo-option:focus-visible{outline:2px solid var(--ink);outline-offset:-2px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--rule);padding:10px 0;min-height:47px}.switch-row>span{font-size:14px}.switch{position:relative;display:inline-flex;align-items:center;cursor:pointer;min-width:44px;min-height:44px}.switch input{width:44px;height:44px;opacity:0;position:absolute;margin:0;cursor:pointer}.form-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:48px;border-top:1px solid var(--strong);padding-top:24px}.form-footer .muted{max-width:49ch;font-size:12px}.form-footer .actions{display:flex;align-items:center;gap:24px}.status{display:inline-flex;align-items:center;gap:7px;font:400 10px/1.5 var(--mono);letter-spacing:.015em;white-space:nowrap;color:var(--muted)}.status::before{content:'';width:5px;height:5px;border-radius:50%;background:currentColor}.status.pending{color:var(--blue)}.status.review{color:var(--ink)}.status.done{color:var(--muted)}.status.inline{font-family:var(--body);font-size:12px}.document-table{width:100%;border-top:1px solid var(--strong)}.table-heading,.document-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(100px,.8fr) minmax(100px,.8fr) 40px;gap:20px;align-items:center}.table-heading{padding:15px 0;color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--rule)}.document-row{border-bottom:1px solid var(--rule);padding:24px 0;text-decoration:none}.document-row h3{font-size:16px;font-weight:600;margin:0 0 5px;letter-spacing:-.01em}.document-row p{font-size:12px;color:var(--muted);margin:0}.document-row .date{font-size:12px;color:var(--muted)}.document-row>.icon-button{justify-self:end}.agreement{border-top:1px solid var(--strong);padding:26px 0 30px}.agreement-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.agreement h2{font-size:24px;max-width:24ch;margin-bottom:10px}.agreement .sub{font-size:12px;color:var(--muted);margin-bottom:24px}.agreement-body{display:grid;grid-template-columns:1fr 1fr;gap:40px}.agreement-body p{font-size:12px;color:var(--muted);max-width:49ch;margin:0}.agreement.disabled h2{font-size:24px}.agreement.disabled{border-top-color:var(--rule)}.source-list{margin:30px 0 0}.source-row{border-top:1px solid var(--rule);padding:15px 0;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center}.source-row a{display:flex;align-items:center;gap:16px;font-size:12px;text-decoration:none}.source-row a svg{width:14px}.source-row .mono{font-size:10px;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--strong);border-bottom:1px solid var(--rule);padding:24px 0 26px;gap:20px;margin:0 0 54px}.stat{display:flex;align-items:baseline;gap:12px}.stat strong{font-size:42px;line-height:1;letter-spacing:-.03em;font-weight:500;font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:var(--muted);line-height:1.3}.review-section{margin-bottom:50px}.review-section>.small{margin-bottom:30px;max-width:64ch}.review-field{border-top:1px solid var(--rule);padding:28px 0 30px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(190px,1fr);gap:36px}.review-field:last-child{border-bottom:1px solid var(--rule)}.field-section{font:10px/1.5 var(--mono);color:var(--muted);margin-bottom:12px}.field-copy{font-size:14px;line-height:1.75;max-width:66ch;white-space:pre-wrap;margin:0}.field-copy.empty{color:var(--muted)}.review-note{font-size:12px;line-height:1.7;color:var(--muted);margin:0;max-width:40ch}.review-source{padding-top:14px;border-top:1px solid var(--rule);font-size:10px;color:var(--muted);line-height:1.65;max-width:45ch}.review-source summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;color:var(--ink);min-height:28px}.review-source summary::-webkit-details-marker{display:none}.review-source summary svg{width:12px;height:12px}.review-source[open] summary svg{transform:rotate(180deg)}.review-source p{margin:9px 0}.field-capacity{font:9px var(--mono);color:var(--muted)}.field-actions{display:flex;align-items:center;gap:18px;margin-top:auto;flex-wrap:wrap}.field-actions .text-button{font-size:12px;min-height:36px;font-weight:500}.field-actions .text-button svg{width:13px;height:13px}.inline-editor{grid-column:1/-1;padding-top:8px}.editor-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:16px}.editor-footer .actions{display:flex;gap:18px;align-items:center}.editor-count{font:10px var(--mono);color:var(--muted)}.editor-count.error{color:var(--blue)}.accordion{border-top:1px solid var(--rule)}.accordion:last-child{border-bottom:1px solid var(--rule)}.accordion-toggle{display:flex;align-items:center;text-align:left;gap:14px;width:100%;min-height:76px;background:none;padding:18px 0}.accordion-letter{font:11px var(--mono);width:20px;color:var(--muted)}.accordion-title{font-size:16px;font-weight:500;letter-spacing:-.01em}.accordion-count{font:9px var(--mono);color:var(--muted);margin-left:auto;white-space:nowrap}.accordion-toggle>svg{width:16px;height:16px;margin-left:12px;transition:transform 200ms var(--ease)}.accordion-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}.accordion-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows 220ms var(--ease)}.accordion-panel.open{grid-template-rows:1fr}.accordion-inner{overflow:hidden;min-height:0}.accordion .review-field:first-child{border-top:0;padding-top:10px}.accordion .review-field:last-child{border-bottom:0}.pdf-toolbar{display:flex;justify-content:space-between;gap:24px;align-items:center;border-top:1px solid var(--strong);padding:20px 0}.pdf-toolbar .small{max-width:50ch;margin:0}.pdf-toolbar .actions{display:flex;align-items:center;gap:22px}.pdf-stage{background:var(--viewer);min-height:650px;position:relative;border:1px solid var(--rule)}.pdf-stage iframe{display:block;width:100%;height:850px;border:0}.pdf-loading{min-height:650px;display:flex;flex-direction:column;gap:18px;align-items:center;justify-content:center;text-align:center;padding:32px;font-size:14px;color:var(--muted)}.pdf-loading svg{animation:spin 1s linear infinite}.pdf-stage .button{margin-top:10px}.pdf-bottom{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:28px}.pdf-bottom p{font-size:12px;color:var(--muted);margin:0;max-width:48ch}.pdf-bottom .text-button{font-size:12px}.page-footer{display:flex;justify-content:space-between;gap:24px;padding:22px 0;margin:0;border-top:1px solid var(--rule);color:var(--muted);font-size:10px}.notice{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:min(560px,calc(100vw - 32px));padding:14px 22px;background:var(--ink);color:var(--paper);z-index:100;font-size:12px;animation:menu-in 180ms var(--ease)}dialog{border:1px solid var(--strong);padding:36px;background:var(--paper);color:var(--ink);width:min(590px,calc(100vw - 32px));max-height:90dvh;overflow:auto}dialog::backdrop{background:#15151552;backdrop-filter:blur(2px)}.dialog-head{display:flex;align-items:flex-start;gap:20px}.dialog-head h2{flex:1;font-size:30px;max-width:14ch;letter-spacing:-.025em}.dialog-head .icon-button{margin-top:-8px;margin-right:-10px}.dialog-head+p{font-size:14px;margin-bottom:28px}.loading-screen{padding:90px 0;color:var(--muted);font-size:14px}.page-enter{animation:page-in 220ms var(--ease)}.feedback-history{border-top:1px solid var(--rule);margin-top:44px;padding-top:20px}.feedback-entry{border-bottom:1px solid var(--rule);padding:18px 0;display:grid;grid-template-columns:130px 1fr;gap:20px}.feedback-entry time{font-size:10px;color:var(--muted)}.feedback-entry p{font-size:12px;margin:0;white-space:pre-wrap}.delete-confirm{display:flex;align-items:center;gap:12px;grid-column:1/-1;font-size:12px}
@media(hover:hover) and (pointer:fine){.button.primary:hover{background:#353535;border-color:#353535}.button:not(.primary):hover{background:#ececec}.text-button:hover svg{transform:translateX(3px)}.text-button:hover{text-decoration:underline;text-underline-offset:5px}.combo-option:hover{background:#ececec}.document-row:hover h3{text-decoration:underline;text-underline-offset:5px}.step-nav button:not(:disabled):hover{color:var(--ink)}.accordion-toggle:hover .accordion-title{color:var(--muted)}}
@keyframes page-in{from{opacity:.7;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes menu-in{from{opacity:.7;translate:0 3px}to{opacity:1;translate:0 0}}@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:1150px){.stats{gap:14px}.stat{display:block}.stat span{display:block;margin-top:9px}.review-field{gap:26px;grid-template-columns:minmax(0,1.5fr) minmax(165px,1fr)}.form-grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{gap:20px}.document-row,.table-heading{grid-template-columns:minmax(0,2fr) 100px 32px}.document-row .date,.table-heading .date{display:none}}
@media(max-width:820px){.brand{font-size:29px}.steps-title,.side-footer{display:none}.step-nav{grid-column:1/-1;flex-direction:row;justify-content:space-between;gap:6px;padding:0 0 16px}.step-nav button{gap:7px;font-size:12px;padding:6px 0;min-height:34px;flex-wrap:wrap;line-height:1.3}.step-nav button .step-number{font-size:10px;width:auto}.step-nav button>svg{display:none}.topbar .text-button{font-size:0;gap:0;min-width:32px;justify-content:flex-end}.topbar .text-button svg{width:18px;height:18px}.topbar #breadcrumb{font-size:12px}.save-state{font-size:10px}.page-heading{margin-bottom:38px}h1{font-size:42px}.intro{font-size:14px}.page-heading .button{font-size:12px;padding:12px 15px;gap:16px}.review-field{grid-template-columns:minmax(0,1.7fr) minmax(160px,1fr)}.page-footer{font-size:10px}.pdf-stage iframe{height:700px}.agreement-body{gap:28px}.feedback-entry{grid-template-columns:100px 1fr}}
@media(max-width:560px){.form-grid,.form-grid.three{grid-template-columns:1fr;gap:26px}.span-2{grid-column:auto}.page-heading{display:block}.page-heading .button{margin-top:26px}.page-heading .intro{max-width:38ch}h1{font-size:42px}.section{margin-top:40px;padding-top:22px}.section-heading{margin-bottom:24px}.section-heading h2,.section-heading h3{font-size:24px}.section-heading .mono{font-size:10px}.form-footer{align-items:flex-start;flex-direction:column;gap:24px;margin-top:36px}.form-footer .actions{width:100%;justify-content:space-between}.form-footer>.button{width:100%;justify-content:space-between}.agreement-top{flex-direction:column;gap:5px;margin-bottom:16px}.agreement h2{font-size:24px}.agreement-body{grid-template-columns:1fr;gap:16px}.source-row{grid-template-columns:1fr;gap:4px;padding:16px 0}.source-row .mono{padding-left:30px}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:22px 0;margin-bottom:40px}.stat strong{font-size:30px}.stat span{font-size:10px}.review-field{grid-template-columns:1fr;gap:22px;padding:26px 0 30px}.review-field h4{margin-bottom:14px;font-size:16px}.field-copy{font-size:14px;line-height:1.75}.review-note{max-width:none}.review-source{width:100%;max-width:none;font-size:10px;padding-top:10px}.field-actions{width:100%;justify-content:flex-start;gap:26px}.field-actions .text-button{min-height:40px}.accordion-title{font-size:16px}.accordion-toggle{min-height:72px;gap:10px}.accordion-letter{font-size:10px;width:14px}.accordion-count{font-size:10px}.accordion-toggle>svg{margin-left:0;width:14px}.pdf-toolbar{align-items:flex-start;flex-direction:column;gap:18px}.pdf-toolbar .actions{width:100%;justify-content:space-between;gap:12px}.pdf-toolbar .button{font-size:12px;padding:12px 15px;gap:10px}.pdf-stage{min-height:550px}.pdf-stage iframe{height:600px}.pdf-loading{min-height:550px}.pdf-bottom{grid-template-columns:1fr;gap:22px}.page-footer{flex-direction:column;gap:6px;padding:18px 0}.table-heading,.document-row{grid-template-columns:minmax(0,1fr) auto 28px;gap:12px}.document-row h3{font-size:14px}.document-row p{font-size:10px}.status{font-size:10px;gap:5px}.table-heading{font-size:10px}.document-row{padding:21px 0}dialog{padding:24px}.dialog-head h2{font-size:24px}.feedback-entry{grid-template-columns:1fr;gap:7px}.editor-footer{align-items:flex-start;flex-direction:column}.editor-footer .actions{width:100%;justify-content:flex-end}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.save-state:empty{display:none}.pdf-pagination{display:flex;align-items:center;justify-content:center;gap:22px;padding:8px 16px;border-bottom:1px solid var(--rule);background:var(--paper)}.pdf-pagination .mono{font-size:10px;color:var(--muted);min-width:112px;text-align:center}.pdf-pages{padding:32px;max-width:1000px;margin:0 auto}.pdf-canvas{display:block;background:#fff;width:100%;height:auto}.pdf-bottom>div:last-child{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-start}.pdf-bottom .text-button{white-space:nowrap}@media(max-width:560px){.pdf-pages{padding:12px}.pdf-pagination{gap:12px}.pdf-stage{min-height:0}}
/* Claridad de acciones y orientación: ajuste solicitado por Maykel. */
:root{--review-ink:#616161;--review-bg:transparent;--done-ink:#151515;--done-bg:#ececec}.nav-home[aria-current=page]{color:var(--ink)}.step-nav button{padding:10px 8px;margin-left:-8px;border-radius:4px}.step-nav button[aria-current=step]{background:var(--ink);color:var(--paper)}.step-nav button:disabled{opacity:.36}.text-button{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.brand{text-decoration:none}.saved-heading{margin:0 0 20px}.saved-heading h2{font-size:24px}.table-heading,.document-row{grid-template-columns:minmax(0,2.2fr) minmax(85px,.7fr) minmax(80px,.65fr) auto 36px}.document-step{font:9px var(--mono);color:var(--muted);display:block;margin-top:9px}.document-row>.button{min-width:112px}.document-row .icon-button{min-width:36px}.status{border:1px solid var(--rule);padding:4px 8px;border-radius:4px;font-size:10px}.status.review{color:var(--review-ink);background:var(--review-bg);border-color:var(--rule)}.status.pending{color:var(--ink);background:#ececec;border-color:var(--strong);font-weight:500}.status.done{color:var(--done-ink);background:var(--done-bg);border-color:var(--rule)}.status.prepared{color:var(--muted);background:none}.review-filters{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0 30px}.filter-button{display:inline-flex;gap:12px;align-items:center;background:none;border:1px solid var(--rule);border-radius:4px;padding:10px 14px;min-height:44px;font-size:12px}.filter-button span{font:10px var(--mono);color:var(--muted)}.filter-button[aria-pressed=true]{border-color:var(--ink);background:#ececec;font-weight:600}.review-source summary{text-decoration:underline;text-underline-offset:4px}.source-row a{text-decoration:underline;text-underline-offset:4px}.review-source>p{margin-top:12px}.review-field .field-actions>.button{padding:8px 12px;font-size:12px;min-height:40px}.field input[aria-invalid=true],.combo-trigger[aria-invalid=true]{border-color:var(--blue);border-bottom-width:2px}.field input[aria-invalid=true]::placeholder{color:var(--muted)}.review-field .field-actions{gap:12px 20px}.review-field .field-actions .icon-button{min-height:40px;min-width:40px}
@media(hover:hover) and (pointer:fine){.text-button:hover{color:var(--ink);text-decoration-thickness:2px}.nav-home:hover{color:var(--ink);background:var(--viewer)}.step-nav button:not(:disabled):not([aria-current=step]):hover{background:var(--viewer);color:var(--ink)}.icon-button:hover{background:#ececec}.filter-button:hover{border-color:var(--muted);background:#ececec}.source-row a:hover{color:var(--ink);text-decoration-thickness:2px}}
@media(max-width:1150px){.table-heading,.document-row{grid-template-columns:minmax(0,1.7fr) minmax(85px,.7fr) auto 36px}.document-row .date,.table-heading .date{display:none}}
@media(max-width:820px){.step-nav button{padding:8px 6px;margin-left:0}.document-row>.button{min-width:104px}.status{font-size:10px}}
@media(max-width:680px){.table-heading,.document-row{grid-template-columns:minmax(0,1fr) auto 32px;gap:14px}.document-row>.status,.table-heading .status-col{display:none}.document-row>.button{min-width:0;padding:9px 12px;gap:10px}.document-row h3{font-size:14px}.filter-button{padding:9px 11px;font-size:12px;gap:9px}.review-filters{gap:8px}.saved-heading h2{font-size:24px}}
@media(max-width:420px){.document-row>.button{font-size:12px;padding:9px;gap:5px}.document-row>.button svg{width:14px}.document-row{gap:10px}}
.reference-list{list-style:none;padding:0;margin:14px 0 0}.reference-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin:7px 0}.reference-list a{font-size:12px}.reference-list span{font:9px var(--mono);color:var(--muted)}

.document-state-compact{display:none}.document-row>.status{justify-self:start}@media(max-width:680px){.document-state-compact{display:inline-flex;margin-top:10px}}

/* Inicio y orientación: un recorrido, una acción principal. */
#navigation:empty{display:none}.nav-home{gap:10px;font-size:12px;flex-direction:row-reverse;justify-content:flex-end;text-decoration:underline;text-underline-offset:5px;font-weight:500}.nav-home svg{width:15px;height:15px}.nav-home:hover{text-decoration-thickness:2px}.step-nav button[aria-current=step]:hover{background:var(--ink);color:var(--paper)}.step-nav button[aria-current=step] svg,.step-nav button[aria-current=step] .step-number{color:var(--paper)}
.home-view .page-heading{margin-bottom:48px}.home-view .page-heading h1{max-width:20ch}.home-view .intro{max-width:49ch}.home-process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;padding:26px 0 30px;margin:0;border-top:1px solid var(--strong);border-bottom:1px solid var(--rule)}.home-process li{display:flex;align-items:flex-start;gap:14px;min-width:0}.process-number{font:11px/1.6 var(--mono);color:var(--muted);padding-top:2px;flex:none}.home-process h2{font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.01em;margin:0 0 9px}.home-process p{font-size:12px;line-height:1.65;max-width:30ch;color:var(--muted);margin:0}.home-utilities{display:flex;align-items:center;flex-wrap:wrap;gap:8px 32px;padding-top:25px}.home-utilities .text-button{font-size:12px;font-weight:500}.home-utilities svg{width:15px;height:15px}.home-scope,.home-storage{color:var(--muted);font-size:12px;line-height:1.65;max-width:90ch;margin:12px 0 0}.home-storage{margin-top:6px}.home-help{border-top:1px solid var(--rule);margin:28px 0 0;padding:0}.home-help summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;min-height:48px;font-size:12px;font-weight:500;text-decoration:underline;text-underline-offset:5px}.home-help summary::-webkit-details-marker{display:none}.home-help summary svg{width:14px;height:14px;margin-left:auto;transition:transform 180ms var(--ease)}.home-help[open] summary svg{transform:rotate(180deg)}.home-help summary:hover{text-decoration-thickness:2px}.home-help .home-process{border-top:0;padding-top:16px}.home-help .mono{font-size:10px;color:var(--muted)}.home-help.feedback-history{margin-top:32px}.home-help .feedback-entry:first-of-type{border-top:1px solid var(--rule)}.home-view .saved-heading{padding-top:4px}.home-view .document-row{padding:22px 0}.home-view .document-summary{min-width:0}.home-view .document-summary h3{overflow-wrap:anywhere}.home-view .document-summary p{overflow-wrap:anywhere}
@media(max-width:1150px){.home-process{gap:22px}.home-process li{gap:10px}.home-process h2{font-size:16px}.home-view .page-heading{flex-wrap:wrap}.home-view .page-heading h1{max-width:16ch}}
@media(max-width:820px){.step-nav{padding-bottom:0}.step-nav button{padding:9px 7px;min-height:44px}.home-view .page-heading{margin-bottom:36px}.home-process{gap:20px}.home-process li{display:block}.process-number{display:block;margin-bottom:10px}.home-process p{font-size:12px}}
@media(max-width:560px){.step-nav{gap:3px}.step-nav button{font-size:10px;gap:6px;padding:8px 6px;flex:1;justify-content:flex-start}.step-nav button .step-number{width:100%;font-size:10px}.home-process{grid-template-columns:1fr;gap:22px;padding:24px 0}.home-process li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px}.process-number{padding-top:2px;margin:0}.home-process h2{font-size:16px;margin-bottom:5px}.home-process p{max-width:none;font-size:12px}.home-utilities{gap:0 20px;padding-top:18px}.home-utilities .text-button{font-size:12px}.home-scope,.home-storage{font-size:10px}.home-view .page-heading h1{max-width:15ch}.home-view .page-heading .button{margin-top:22px}.home-help{margin-top:22px}}


@media(max-width:820px){.home-view .page-heading h1{max-width:20ch}}
/* Importación y redacción: tareas con revisión explícita, sobre el mismo sistema editorial. */
.company-choice-actions{display:flex;gap:14px 22px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.company-search input{width:100%}.company-search .small{margin:10px 0 0}.company-results{max-height:300px;overflow:auto}.company-results .combo-option{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;text-align:left}.company-results [aria-selected=true]{background:var(--ink);color:var(--paper)}.company-results [aria-selected=true] .mono{color:inherit}.import-dialog{width:min(960px,calc(100% - 32px));max-height:90dvh;overflow:auto}.import-content{min-width:0}.import-content h3{margin-top:32px}.upload-field{padding:22px 0;border-bottom:1px solid var(--rule);margin-bottom:28px}.upload-field input{width:100%;padding:12px 0;cursor:pointer}.upload-field input::file-selector-button{background:var(--ink);color:var(--paper);border:0;padding:12px 18px;font:inherit;cursor:pointer;margin-right:16px;border-radius:4px}.optional-mapping{margin:24px 0}.optional-mapping summary{cursor:pointer;text-decoration:underline;text-underline-offset:5px;margin-bottom:24px}.import-table-scroll{overflow:auto;max-height:340px;border-top:1px solid var(--strong);margin:24px 0}.import-table{border-collapse:collapse;width:100%;min-width:540px;font-size:12px;text-align:left}.import-table th,.import-table td{padding:14px 12px;border-bottom:1px solid var(--rule);vertical-align:top;overflow-wrap:anywhere}.import-table th{font-weight:600;background:var(--paper);position:sticky;top:0}.import-table th:first-child,.import-table td:first-child{padding-left:0}.import-warnings{padding-left:20px;font-size:12px;color:var(--muted)}.import-footer{justify-content:flex-end;margin-top:30px;padding-top:24px;border-top:1px solid var(--rule);flex-wrap:wrap}.import-consent{display:flex;gap:14px;align-items:flex-start;font-size:12px;margin:28px 0}.import-consent input,.contract-candidate input{width:20px;height:20px;flex-shrink:0;accent-color:var(--ink)}.contract-candidate{display:flex;align-items:flex-start;gap:16px;padding:20px 0;border-bottom:1px solid var(--rule);cursor:pointer}.contract-candidate p{margin:6px 0;overflow-wrap:anywhere}.contract-candidate .small{margin:4px 0}.contract-candidates{border-top:1px solid var(--strong)}.ai-help{border-top:1px solid var(--rule);margin-top:24px;padding-top:22px}.ai-help>.actions{flex-wrap:wrap;justify-content:flex-start;gap:12px 24px}.ai-help>.actions>a{font-size:12px}.ai-output:not(:empty){border-top:1px solid var(--strong);margin-top:24px;padding-top:24px}.ai-output h3{font-size:24px}.ai-output h4{margin-top:22px}.ai-proposal{font-size:16px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.ai-output .source-list{font-size:12px;line-height:1.6;margin:20px 0}.ai-output .source-list p{margin-bottom:10px}.ai-output .source-list a{overflow-wrap:anywhere}.ai-output ul{padding-left:22px;font-size:12px}.ai-output .field-error{margin:0}.ai-help .small{margin-top:14px}.inline-editor .actions{flex-wrap:wrap}
@media(max-width:760px){.company-choice-actions{justify-content:flex-start}.import-dialog{padding:24px}.import-dialog .dialog-head h2{font-size:24px}.import-footer{flex-direction:column-reverse;align-items:stretch}.import-footer .button{width:100%}.company-results .combo-option{grid-template-columns:52px minmax(0,1fr);font-size:12px}}
.home-documents .company-search{margin-bottom:8px}.home-documents .document-group{margin-top:36px}.home-documents .document-group>h3{font-size:16px;margin:0 0 12px}.home-documents .document-row .actions{display:flex;align-items:center;gap:8px 20px;flex-wrap:wrap;justify-content:flex-end}.feedback-entry>span{font-size:10px;color:var(--muted)}
/* Columna única sin barra lateral: cabecera, pasos, trabajo y pie comparten los mismos bordes (12-nov-2026). */
.shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto 1fr auto;width:min(100% - 2*var(--gutter),var(--col));margin-inline:auto;min-height:100dvh}
.topbar{grid-row:1;min-height:98px;margin:0;display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--rule);font-size:12px}
.topbar .brand{flex:0 0 auto;align-self:center}
.topbar #breadcrumb{display:none}
.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
.sidebar{grid-row:2;position:static;max-height:none;overflow:visible;padding:0;border:0;display:block}
.sidebar:has(#navigation:empty){display:none}
.workspace{grid-row:3;min-width:0;display:flex;flex-direction:column}
main,.shell.is-overview main{flex:1;width:100%;max-width:none;margin:0;padding:48px 0 86px;outline:none}
.page-footer{grid-row:4}
.shell.is-overview .sidebar{display:none}
#navigation{display:flex;align-items:center;gap:36px;flex-wrap:wrap;border-bottom:1px solid var(--rule);padding:10px 0}
.sidebar .nav-home{display:inline-flex;flex-direction:row-reverse;align-items:center;width:auto;margin:0;padding:0;min-height:48px;border:0;background:none;font-size:12px;font-weight:600;gap:10px;text-decoration:none}
.sidebar .nav-home:hover{background:none;text-decoration:underline;text-underline-offset:5px}
.sidebar .steps-title{display:none}
.sidebar .step-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:0;margin:0;flex:1}
.sidebar .step-nav button{display:inline-flex;flex-direction:row;align-items:center;gap:10px;padding:0 16px;margin:0;min-height:44px;border-radius:4px;font-size:14px;background:none;position:static}
.sidebar .step-nav button .step-number{width:auto;font:11px var(--mono);color:var(--muted)}
.sidebar .step-nav button>svg{display:none}
.sidebar .step-nav button[aria-current=step]{background:var(--ink);color:var(--paper);font-weight:600}
.sidebar .step-nav button[aria-current=step] .step-number{color:var(--paper)}
@media(max-width:1150px){:root{--gutter:32px}}
@media(max-width:820px){:root{--gutter:24px}
.topbar{min-height:68px}
main,.shell.is-overview main{padding:40px 0 64px}
.sidebar .step-nav{flex-basis:100%;flex-wrap:nowrap;gap:2px}
.sidebar .step-nav button{flex:1 1 0;min-width:0;padding:6px 4px;gap:2px;font-size:12px;min-height:48px;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1.2}
.sidebar .step-nav button .step-number{font-size:10px;width:auto}
#navigation{gap:4px 24px}}
@media(max-width:560px){.topbar{gap:12px}.header-actions{gap:12px;min-width:0}
.save-state{text-align:right;max-width:120px;white-space:normal;line-height:1.3}}
.home-documents.is-lead .section-heading{align-items:center;margin-bottom:32px}
.heading-group{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.home-documents.is-lead h1{font-size:42px;line-height:1.1;margin:0;letter-spacing:-.03em;font-weight:800}
@media(max-width:560px){.home-documents.is-lead h1{font-size:30px}}
.message-view .actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:8px}
@keyframes level-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.level-enter{animation:level-in 180ms var(--ease)}

/* Piezas comunes (12-nov-2026): campo, buscador, desplegable y botones con la misma lógica. */
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.field input,.field textarea,.combo-trigger{background:#fff;border:1px solid #b9b9b9;border-radius:4px;padding:12px 14px;min-height:48px}
.field input:hover,.field textarea:hover,.combo-trigger:hover{border-color:var(--ink)}
.field input:focus,.field textarea:focus,.combo-trigger:focus-visible{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:1px}
.field input[aria-invalid=true],.combo-trigger[aria-invalid=true]{border:2px solid var(--blue)}
.date-field input{padding-right:44px}
.date-field>svg{right:14px;top:auto;bottom:15px}
.switch-row{background:#ececec;border:0;border-radius:4px;padding:12px 14px}
.search-box{position:relative;display:block;max-width:420px;margin:0 0 8px}
.search-box>svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
.search-box input{width:100%;min-height:48px;padding:12px 14px 12px 44px;background:#fff;border:1px solid #b9b9b9;border-radius:4px;font-size:14px}
.search-box input:hover{border-color:var(--ink)}
.search-box input:focus{border-color:var(--ink);outline:2px solid var(--ink);outline-offset:1px}
.home-help summary{text-decoration:none;font-weight:600;font-size:14px;gap:10px;justify-content:flex-start}
.home-help summary svg{margin-left:0;width:16px;height:16px}
.home-help summary:hover{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
.home-utilities,.company-choice-actions,.form-footer .actions,.field-actions,.pdf-bottom>div:last-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.button.small svg{width:16px;height:16px}

/* Sistema de piezas, segunda vuelta (12-nov-2026): líneas negras de 1px, esquinas rectas, campos por contenido, cabecera y pasos fijos. */
:root{--rule:#151515;--head-h:72px}
.topbar{position:sticky;top:0;z-index:30;background:var(--paper);min-height:var(--head-h)}
.sidebar{position:sticky;top:var(--head-h);z-index:25;background:var(--paper);align-self:start}
@media(max-width:820px){:root{--head-h:60px}.topbar{min-height:60px}}
.button,.button.small,.step-nav button,.sidebar .step-nav button,.status,.switch-row,.combo-menu,dialog,.icon-button,.field input,.field textarea,.combo-trigger,.search-box input,.upload-field input::file-selector-button{border-radius:0}
.field input,.field textarea,.combo-trigger,.search-box input{background:transparent;border:1px solid var(--ink);box-shadow:none}
.field input:hover,.field textarea:hover,.combo-trigger:hover,.search-box input:hover{border-color:var(--ink)}
.field input:focus,.field textarea:focus,.combo-trigger:focus-visible,.search-box input:focus{outline:none;border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.field input[aria-invalid=true],.combo-trigger[aria-invalid=true]{border:1px solid var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.field>span:first-child,.field-label{font:600 12px/1.4 var(--body);text-transform:none;letter-spacing:0;color:var(--ink)}
.switch-row{background:none;border:1px dashed var(--ink);padding:12px 14px}
.button,.button.small{min-height:44px;padding:10px 18px;font-size:12px;gap:12px}
.company-choice-actions .button{min-height:48px}
.form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
.form-grid>*{grid-column:span 3;align-self:start}
.form-grid>.c1{grid-column:span 1}.form-grid>.c2{grid-column:span 2}.form-grid>.c3{grid-column:span 3}.form-grid>.c4{grid-column:span 4}
.form-grid>.c6,.form-grid>.span-2{grid-column:span 6}
@media(max-width:700px){.form-grid>*,.form-grid>.c1,.form-grid>.c2,.form-grid>.c3,.form-grid>.c4,.form-grid>.c6,.form-grid>.span-2{grid-column:span 6}}
@media(max-width:820px){#navigation{flex-wrap:nowrap;gap:6px;padding:6px 0}.sidebar .nav-home{font-size:0;gap:0;min-width:44px;justify-content:center;flex-direction:row}.sidebar .nav-home svg{width:20px;height:20px}.sidebar .step-nav{flex-basis:auto;min-width:0}}
.company-results [aria-selected=true]{background:#ececec;color:var(--ink)}
.confirm-row{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:20px;margin-top:8px}
.confirm-row .small{margin:0;max-width:60ch}
.accordion-toggle .accordion-count{order:3;margin-left:auto}
.accordion-toggle>svg{order:2;margin-left:0}
.agreement-top{justify-content:flex-start;align-items:baseline;gap:28px}
@media(min-width:700px){.source-row{grid-template-columns:minmax(0,max-content) max-content;justify-content:start;gap:12px 40px}}
dialog,.import-dialog{width:min(560px,calc(100% - 32px));padding:32px;border:1px solid var(--ink)}
.import-dialog{width:min(720px,calc(100% - 32px))}
.dialog-head{position:relative;display:block;text-align:center}
.dialog-head h2{max-width:none;font-size:24px;margin:0 40px}
.dialog-head .icon-button{position:absolute;top:-14px;right:-14px;margin:0}
dialog .muted,.dialog-head+p{text-align:center}
.upload-field{display:flex;flex-direction:column;align-items:center;gap:12px;margin:24px 0;cursor:pointer}
.upload-name{font-size:12px;color:var(--muted)}
.upload-field:focus-within .button{box-shadow:inset 0 0 0 1px var(--ink)}

/* Criterio de líneas y espacios (12-nov-2026): una línea negra arriba de cada apartado y ninguna debajo. Entre apartados, 80px. Dentro, solo las filas de listas y tablas. */
.company-choices{border-bottom:0;padding-bottom:0;margin-bottom:0}
.section,.company-choices+.section{margin-top:80px;padding-top:28px}
.section .agreement{border-top:0;padding-top:0}
.agreement-top{margin-bottom:8px}
.agreement .source-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;margin-top:8px}
.confirm-row{border-top:0;padding-top:0;margin-top:32px}
.form-footer{margin-top:80px}
@media(max-width:700px){.agreement .source-list{grid-template-columns:1fr}.section,.company-choices+.section{margin-top:56px}.form-footer{margin-top:56px}}
/* Rejilla de 12 columnas: cada campo ocupa lo que su contenido pide. */
.form-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.form-grid>*{grid-column:span 6}
.form-grid>.c1{grid-column:span 1}.form-grid>.c2{grid-column:span 2}.form-grid>.c3{grid-column:span 3}.form-grid>.c4{grid-column:span 4}.form-grid>.c5{grid-column:span 5}.form-grid>.c6{grid-column:span 6}.form-grid>.c8{grid-column:span 8}.form-grid>.c12,.form-grid>.span-2{grid-column:span 12}
@media(max-width:1000px){.form-grid>*,.form-grid>.c1,.form-grid>.c2,.form-grid>.c3,.form-grid>.c4,.form-grid>.c5,.form-grid>.c6{grid-column:span 6!important}.form-grid>.c8,.form-grid>.c12,.form-grid>.span-2{grid-column:span 12!important}}
@media(max-width:700px){.form-grid>*,.form-grid>.c1,.form-grid>.c2,.form-grid>.c3,.form-grid>.c4,.form-grid>.c5,.form-grid>.c6,.form-grid>.c8,.form-grid>.c12,.form-grid>.span-2{grid-column:span 12!important}}
/* Todo lo que se puede pulsar reacciona al pasar el ratón. */
.accordion-toggle,.home-help summary{padding-left:12px;padding-right:12px;margin-inline:-12px;width:calc(100% + 24px);cursor:pointer}
@media(hover:hover) and (pointer:fine){
.field input:hover,.field textarea:hover,.combo-trigger:hover,.search-box input:hover,.field select:hover{background:#ececec}
.field input:focus,.field textarea:focus,.search-box input:focus{background:transparent}
.accordion-toggle:hover,.home-help summary:hover,.icon-button:hover,.filter-button:hover,.document-row:hover{background:#ececec}
.accordion-toggle:hover .accordion-title{color:var(--ink)}
.home-help summary:hover{text-decoration:none}
.sidebar .nav-home:hover{background:#ececec}
.source-row:hover{background:#ececec}
}
main .section:first-child{border-top:1px solid var(--ink);margin-top:80px;padding-top:28px}

/* Listas de fuentes (12-nov-2026): dos columnas, fecha a la derecha, fila entera pulsable y con aire por dentro. */
.source-list:has(>.source-row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;border-top:1px solid var(--ink);margin-top:8px}
.source-list:has(>.source-row)>.source-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 14px;border-top:0;border-bottom:1px solid var(--ink)}
.source-row .mono{padding-left:0;text-align:right;white-space:nowrap}
.source-row a::after{content:'';position:absolute;inset:0}
.source-row:focus-within{outline:2px solid var(--ink);outline-offset:-2px}
.agreement>div.small{margin:40px 0 8px}
.accordion-toggle,.home-help summary{margin-inline:0;width:100%;padding-left:14px;padding-right:14px}
@media(max-width:700px){.source-list:has(>.source-row){grid-template-columns:1fr}}
@media(max-width:560px){.source-list:has(>.source-row)>.source-row{grid-template-columns:1fr;gap:4px}.source-row .mono{text-align:left}}
.section>p.small{margin:28px 0 0}

/* Botones con 6px, pasos como pestañas, feedback de errores en rojo y convenio ordenado (12-nov-2026). */
:root{--col:1200px;--red:#cc2519}
.button,.button.small,.icon-button{border-radius:6px}
.field-error,.form-error{color:var(--red)}
.field input[aria-invalid=true],.combo-trigger[aria-invalid=true]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.status.done{color:#1a7f3c;background:#e3f3e8;border-color:#1a7f3c}
#navigation{padding:0;gap:32px;align-items:stretch;flex-wrap:nowrap}
.sidebar .nav-home{align-self:center;margin:10px 0;min-height:40px;padding:8px 16px;border:1px solid var(--ink);border-radius:6px;font-size:12px;font-weight:600;gap:10px;flex-direction:row-reverse;text-decoration:none;background:transparent}
.sidebar .nav-home:hover{background:#ececec;text-decoration:none}
.sidebar .step-nav{gap:4px;align-items:stretch;flex-wrap:nowrap}
.sidebar .step-nav button{padding:0 18px;min-height:56px;border:0;border-radius:0;background:none;color:var(--muted);box-shadow:none}
.sidebar .step-nav button[aria-current=step],.sidebar .step-nav button[aria-current=step]:hover{background:none;color:var(--ink);font-weight:700;box-shadow:inset 0 -3px 0 var(--ink)}
.sidebar .step-nav button[aria-current=step] .step-number{color:var(--ink)}
.sidebar .step-nav button:not(:disabled):not([aria-current=step]):hover{background:#ececec;color:var(--ink)}
.sidebar .step-nav button:disabled{opacity:.45}
@media(max-width:820px){.sidebar .nav-home{font-size:0;gap:0;padding:8px 10px;min-width:44px}.sidebar .step-nav button{padding:6px 4px;min-height:56px}#navigation{gap:6px}}
.company-choice-actions{justify-content:flex-start}
.agreement-top{justify-content:space-between}
.agreement-body{display:block;margin-top:8px}
.agreement-body p{max-width:78ch}
.agreement .source-list:has(>.source-row){margin-top:32px}
.confirm-row{align-items:center}
.confirm-row.is-missing .small{color:var(--red);font-weight:600}
.confirm-row.is-missing{border:1px solid var(--red);padding:16px 20px}
.accordion-inner{opacity:0;transition:opacity 160ms}
.accordion-panel.open .accordion-inner{opacity:1}
.form-summary{border:1px solid var(--red);padding:20px 24px;margin-top:48px;color:var(--red)}
.form-summary strong{display:block;margin-bottom:8px}
.form-summary ul{margin:0;padding-left:20px}
.form-summary .text-button{color:var(--red);text-decoration:underline;min-height:32px;padding:0}
.form-summary+.form-footer{margin-top:24px}

/* Coherencia de iconos y tinta azul en lo que se escribe (12-nov-2026). */
:root{--pen:#1f45cc}
input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;width:16px;height:16px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151515' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E") center/16px no-repeat}
::selection{background:#d6def2;color:var(--ink)}
.company-results .combo-option{grid-template-columns:112px minmax(0,1fr) 12px;align-items:center;gap:14px}
.company-results .combo-option .mono{white-space:nowrap}
.field input,.field textarea,.combo-trigger,.search-box input{color:var(--pen)}
.field input::placeholder,.field textarea::placeholder,.combo-trigger .placeholder,.search-box input::placeholder{color:var(--muted)}

.company-search input{height:48px;min-height:48px;padding-top:0;padding-bottom:0}

/* Secciones con título a la izquierda y contenido a la derecha, botones negros, pasos en gris y avisos en rojo vivo (12-nov-2026). */
:root{--red:#cc2519}
.section,.company-block{display:grid;grid-template-columns:240px minmax(0,1fr);column-gap:56px;align-items:start}
.section>.section-heading{grid-column:1;grid-row:1;margin:0}
.section>.section-heading h2{font-size:24px;max-width:14ch}
.section>*:not(.section-heading){grid-column:2;min-width:0}
.section-body{min-width:0}
.company-block{border-top:1px solid var(--ink)}
.company-body{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-end}
.company-body>.small{flex:1 1 100%;margin:0}
.company-body>.company-search{flex:0 1 420px}
.company-body:has(.company-search){justify-content:space-between}
.agreement{padding:0;border:0}
.confirm-row{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;border:0;padding:0}
.confirm-note{margin:0;font-size:12px;color:var(--muted)}
.confirm-note.is-missing{color:var(--red);font-weight:600}
@media(max-width:900px){.section,.company-block{grid-template-columns:1fr;row-gap:20px}.section>*:not(.section-heading){grid-column:1}.section>.section-heading{grid-row:auto}.section>.section-heading h2{max-width:none}}
#navigation{align-items:center;padding:10px 0;gap:20px}
.sidebar .step-nav{align-items:center;gap:6px}
.sidebar .step-nav button{min-height:40px;padding:0 16px;border-radius:6px;box-shadow:none}
.sidebar .step-nav button[aria-current=step],.sidebar .step-nav button[aria-current=step]:hover{background:#ececec;color:var(--ink);font-weight:700;box-shadow:none}
.sidebar .step-nav button:not(:disabled):not([aria-current=step]):hover{background:#ececec}
@media(max-width:820px){.sidebar .step-nav button{padding:6px 4px;min-height:48px;border-radius:6px}}
.form-footer{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px}
.form-footer .actions{order:1;justify-content:flex-start}
.form-footer>div:first-child{order:2}
.form-summary{border:0;padding:0;margin-top:48px;color:var(--red)}
.form-summary strong{font-size:14px}
.form-summary .text-button{color:var(--red)}
.company-body>.company-search{flex:0 1 330px}

/* Escala común (12-nov-2026): todo el contenido a 12px y campos y botones con la misma altura de 36px. */
:root{--fs:12px;--ctl:36px}
body,p,.small,.help,.muted,li,.field-copy,.notice,dialog p,.import-table,.document-row p{font-size:var(--fs)}
.intro{font-size:14px}
.field input,.field textarea,.combo-trigger,.search-box input,.company-search input{font-size:var(--fs)}
.field input,.combo-trigger,.search-box input,.company-search input{height:var(--ctl);min-height:var(--ctl);padding:0 12px}
.field textarea{height:auto;min-height:120px;padding:10px 12px}
.field>span:first-child,.field-label,.field label{font-size:var(--fs)}
.combo-trigger>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combo-option{font-size:var(--fs);min-height:36px}
.switch-row{height:var(--ctl);min-height:var(--ctl);padding:0 12px;display:flex;align-items:center;white-space:nowrap;font-size:var(--fs)}
.switch-row>span{font-size:var(--fs)}
.date-field>svg{width:16px;height:16px;right:12px;top:auto;bottom:10px}
.date-field input{padding-right:36px}
.button,.button.small,.sidebar .nav-home{height:var(--ctl);min-height:var(--ctl);padding:0 14px;font-size:var(--fs);gap:8px}
.button svg{width:15px;height:15px}
.company-choice-actions .button{min-height:var(--ctl)}
.sidebar .step-nav button{height:var(--ctl);min-height:var(--ctl);font-size:var(--fs);padding:0 14px}
.status{font-size:12px}
.source-row .mono{font-size:12px}
.source-list:has(>.source-row){border-top:0}
.source-list:has(>.source-row)>.source-row{border-top:1px solid var(--ink);border-bottom:0}
.source-list:has(>.source-row)>.source-row:nth-last-child(-n+2){border-bottom:1px solid var(--ink)}
@media(max-width:700px){.source-list:has(>.source-row)>.source-row:nth-last-child(2){border-bottom:0}}
.section,.company-block{grid-template-columns:150px minmax(0,1fr);column-gap:48px}
.section>.section-heading h2{font-size:16px;line-height:1.25;max-width:12ch;text-wrap:balance}
@media(max-width:900px){.section,.company-block{grid-template-columns:1fr}.section>.section-heading h2{max-width:none}}
.company-body>.company-search{flex:0 1 440px}
.law-block{margin-top:40px}
.law-block h3{font-size:14px;margin:0 0 8px}
.confirm-note{font-size:var(--fs)}
.document-row h3{font-size:14px}

/* Portada como tabla alineada, buscador redondo, títulos de 42 y 24px, y acción pendiente del convenio (12-nov-2026). */
.page-heading h1{font-size:42px;line-height:1.12;max-width:26ch}
@media(max-width:560px){.page-heading h1{font-size:30px}}
.page-heading{margin-bottom:56px}
.section>.section-heading h2,.agreement h2{font-size:24px;line-height:1.2}
.section,.company-block{grid-template-columns:200px minmax(0,1fr);column-gap:40px}
.section>.section-heading h2{max-width:none;text-wrap:balance}
.docs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:8px 0 40px}
.search-box{flex:0 1 50%;max-width:none;margin:0;position:relative}
.search-box input{border-radius:999px;padding:0 44px 0 20px}
.search-box>svg{left:auto;right:16px}
.home-help summary{padding-left:0;padding-right:0}
@media(min-width:901px){
.document-table .table-heading,.document-table .document-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(120px,.7fr) minmax(90px,.55fr) minmax(210px,.9fr) 40px;column-gap:24px;align-items:center}
.document-table .table-heading>*,.document-table .document-row>*{justify-self:start;text-align:left}
.document-table .document-row>.icon-button{justify-self:end}
.home-documents .document-row .actions{flex-wrap:nowrap;justify-content:flex-start;gap:10px}
}
.confirm-row{align-items:flex-start;gap:10px;border:1px solid var(--ink);padding:20px 24px;margin-top:40px;background:#ececec}
.confirm-row strong{font-size:14px}
.confirm-row.is-missing{border-color:var(--red);background:transparent}
.confirm-row.is-missing strong{color:var(--red)}
.confirm-row.is-done{background:transparent;border-color:var(--rule)}
.form-summary{margin-top:40px}
.form-summary .text-button{font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px;text-align:left;line-height:1.5;min-height:0}
.source-list:has(>.source-row)>.source-row{align-items:start}
.source-row a{align-items:flex-start;line-height:1.6}
.source-row a svg{margin-top:2px}
.source-row .mono{line-height:1.6;font-size:12px;padding-top:1px}
.button.success,.button.success:hover{background:#1a7f3c;border-color:#1a7f3c;color:#fff;cursor:default}
.confirm-row.is-done{border:0;padding:0;margin-top:40px}
@media(max-width:1000px){.source-list:has(>.source-row){grid-template-columns:1fr}.source-list:has(>.source-row)>.source-row:nth-last-child(2){border-bottom:0}}
.sidebar .step-nav button{border:1px solid transparent}
.sidebar .step-nav button[aria-current=step],.sidebar .step-nav button[aria-current=step]:hover{background:transparent;border:1px solid var(--ink)}

/* Revisión: ficha de campo en una columna, texto editable en azul y etiquetas de color plano (12-nov-2026). */
.status{font:600 10px/1 var(--body);letter-spacing:0;padding:5px 9px;border:0;border-radius:4px;color:#fff;background:#666;display:inline-flex;align-items:center;white-space:nowrap}
.status::before{display:none}
.status.pending{background:var(--red);color:#fff}
.status.review{background:#f2a900;color:#151515}
.status.prepared{background:var(--pen);color:#fff}
.status.done{background:#1a7f3c;color:#fff;border:0}
.stat{font:inherit;color:inherit;background:none;border:0;text-align:left;cursor:default}
button.stat{cursor:pointer}
@media(hover:hover) and (pointer:fine){button.stat:hover{background:#ececec}}
.review-context{margin:0 0 40px}
.review-context h2{font-size:24px;margin:0 0 4px}
.review-context p{margin:0}
.review-field{display:block;border-top:1px solid var(--ink);border-bottom:0;padding:32px 0}
.review-field .field-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:12px}
.review-field .field-title{font-size:16px;margin:0;font-weight:700}
.review-field .field-copy{color:var(--pen);max-width:110ch;line-height:1.7;margin:0 0 16px}
.review-field .field-copy.empty{color:var(--muted)}
.review-note{margin:0 0 12px;color:var(--muted)}
.review-source{margin:0 0 16px}
.review-field .inline-editor{margin:0 0 16px}
.reference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;padding:0;margin:12px 0;list-style:none}
.reference-list li{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:8px 0;border-bottom:1px solid var(--rule)}
@media(max-width:900px){.reference-list{grid-template-columns:1fr}}
.review-note,.review-field p{max-width:110ch}.review-source{border-top:0}
/* Diálogos con el botón centrado y separado; buscador de empresa estirado y filas alineadas arriba (12-nov-2026). */
dialog form{display:flex;flex-direction:column;align-items:stretch}
dialog form>.button,dialog form>button[type=submit]{align-self:center;margin-top:36px}
dialog form .small{margin:14px 0 0;text-align:center}
.company-body>.company-search{flex:1 1 320px;max-width:none}
.company-body{gap:16px}
.company-results .combo-option{align-items:start}

/* Acción obligatoria: sin caja, texto grande y botón azul (12-nov-2026). */
.confirm-row,.confirm-row.is-missing,.confirm-row.is-done{border:0;background:none;padding:0;margin-top:56px;gap:14px}
.confirm-row strong{font-size:24px;line-height:1.25;font-weight:700}
.confirm-note{font-size:14px}
.button.required{background:var(--pen);border-color:var(--pen);color:#fff}
@media(hover:hover) and (pointer:fine){.button.required:hover{background:#18379f;border-color:#18379f}}

/* Revisión con la misma estructura que los datos: título a la izquierda, contenido a la derecha (12-nov-2026). */
.section-heading .count{display:block;font:400 12px var(--mono);color:var(--muted);margin-bottom:8px}
.section-heading .small{margin:14px 0 0;max-width:30ch}
.review-section.section{margin-bottom:0}
.section>.section-heading{display:block}
.pdf-toolbar .status{margin-bottom:16px}
.status+.small,.status+p{margin-top:0}
.pdf-bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px;margin-top:32px}
.pdf-bottom>div:last-child{order:1;display:flex;justify-content:flex-start;gap:12px;flex-wrap:wrap}
.pdf-bottom>div:first-child{order:2}

/* Ficha de revisión: texto y acciones a la izquierda, etiqueta, nota y fuente a la derecha, más juntas (12-nov-2026). */
.review-field{display:grid;grid-template-columns:minmax(0,1fr) 340px;column-gap:48px;align-items:start}
.review-field .field-section{margin-bottom:6px}
.review-field .field-title{margin:0 0 14px}
.review-field .field-copy{margin:0 0 20px}
.review-field .reference-list{grid-template-columns:1fr}
.review-field .field-actions{margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.field-actions .icon-button{border:1px solid var(--ink);border-radius:6px;width:var(--ctl);height:var(--ctl);min-width:var(--ctl);min-height:var(--ctl);display:inline-flex;align-items:center;justify-content:center}
@media(hover:hover) and (pointer:fine){.field-actions .icon-button:hover{background:#ececec}}
@media(max-width:1000px){.review-field{grid-template-columns:1fr;row-gap:20px}}

/* Revisión a media escala: botones de 24px y 10px, mitades iguales y textos en la misma línea (12-nov-2026). */
.review-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:56px;row-gap:0;grid-template-areas:"head tag" "copy aside" "actions aside"}
.review-field>.field-head2{grid-area:head}
.review-field>.status{grid-area:tag;justify-self:start;align-self:start;margin:0}
.review-field>.field-copy,.review-field>.inline-editor{grid-area:copy;margin:20px 0 36px}
.review-field>.field-aside{grid-area:aside;margin-top:20px;display:flex;flex-direction:column;gap:14px;min-width:0}
.review-field>.field-actions{grid-area:actions;margin:0;align-self:start}
.review-field .field-title{margin:0}
.review-field .field-aside .review-note{margin:0;max-width:none}
.review-field .field-aside .review-source{margin:0;width:100%}
@media(max-width:1000px){.review-field{grid-template-columns:1fr;grid-template-areas:"head" "tag" "copy" "actions" "aside";row-gap:12px}.review-field>.field-aside{margin-top:24px}}
.review-section .button,.review-section .button.small,.review-section .filter-button{height:24px;min-height:24px;padding:0 10px;font-size:10px;gap:6px;border-radius:4px}
.review-section .button svg{width:11px;height:11px}
.review-section .field-actions .icon-button{width:24px;height:24px;min-width:24px;min-height:24px;border-radius:4px}
.review-section .field-actions .icon-button svg{width:12px;height:12px}
.review-section .filter-button span{font-size:10px}
.review-source summary{display:inline-flex;align-items:center;gap:8px;padding:4px 8px;margin-left:-8px;border-radius:4px;cursor:pointer}
.review-source[open]>summary{background:#ececec}
@media(hover:hover) and (pointer:fine){.review-source summary:hover{background:#ececec}}
.reference-list li{padding:5px 0;border-bottom:0;font-size:12px}
.review-source p,.review-source small{font-size:12px}
.review-field{grid-template-areas:"head tag" "copy aside" "actions aside" "rest aside";grid-template-rows:auto auto auto 1fr}
@media(max-width:1000px){.review-field{grid-template-areas:"head" "tag" "copy" "actions" "aside";grid-template-rows:none}}

/* Etiquetas con texto negro sobre color claro, cifras con su color y cierre de diálogos sin caja (12-nov-2026). */
.status,.status.pending,.status.review,.status.prepared,.status.done{color:#151515}
.status.pending{background:#f26b60}
.status.review{background:#f7b731}
.status.prepared{background:#8fb0ff}
.status.done{background:#6fd08a}
.stat-ok span{color:#1a7f3c;font-weight:600}
.stat-revisar span{color:#a85d00;font-weight:600}
.stat-pendiente span{color:#cc2519;font-weight:600}
.stat-na span{color:var(--muted)}
.dialog-head .icon-button{border:0;background:none;border-radius:0;width:32px;height:32px;min-width:0}
@media(hover:hover) and (pointer:fine){.dialog-head .icon-button:hover{background:#ececec}}
.pdf-toolbar>div:first-child .button{margin-top:16px}

/* Filtros con el color de su estado y más aire entre el texto y los botones (12-nov-2026). */
.filter-pending{background:#f26b60;border-color:#151515;color:#151515}
.filter-review{background:#f7b731;border-color:#151515;color:#151515}
.filter-pending[aria-pressed=false],.filter-review[aria-pressed=false]{background:transparent}
.filter-pending[aria-pressed=true]{background:#f26b60}
.filter-review[aria-pressed=true]{background:#f7b731}
.review-field>.field-copy,.review-field>.inline-editor{margin:20px 0 48px}
.review-section .filter-button{height:24px}

/* Botones abajo, alineados con el final de la columna derecha; fuente a todo el ancho y en negrita (12-nov-2026). */
.review-field{grid-template-areas:"head tag" "copy aside" "actions aside";grid-template-rows:auto 1fr auto}
.review-field>.status{align-self:end}
.review-field>.field-copy,.review-field>.inline-editor{margin:20px 0 40px}
.review-field>.field-aside{display:flex;flex-direction:column;gap:14px;margin-top:20px;align-self:stretch}
.review-field>.field-aside>.review-source{margin-top:auto}
.review-field>.field-actions{align-self:end;margin:0}
.field-actions .field-capacity{margin-left:10px;white-space:nowrap}
.review-source,.review-source>*{max-width:none}
.review-source summary{background:none!important;padding:0;margin-left:0;border-radius:0;font-weight:400}
@media(hover:hover) and (pointer:fine){.review-source summary:hover{font-weight:700;background:none!important}}
.review-source[open]>summary{font-weight:700;background:none!important}
.review-source .reference-list{grid-template-columns:1fr;width:100%}
.review-source .reference-list li{width:100%}
.review-source .reference-list li a{flex:1;min-width:0}
@media(max-width:1000px){.review-field{grid-template-areas:"head" "tag" "copy" "actions" "aside";grid-template-rows:none}.review-field>.field-aside>.review-source{margin-top:0}}

/* Documento: acciones alineadas con el botón de abajo y texto más grande; resumen de revisión con barra de proporción (12-nov-2026). */
.pdf-toolbar{align-items:flex-end}
.pdf-toolbar>div:first-child .small{font-size:14px;line-height:1.6;max-width:60ch}
.stats-wrap{margin:0 0 56px}
.stats-bar{display:flex;height:14px;gap:2px;margin-bottom:20px}
.stats-bar .seg{display:block;height:100%}
.seg-ok{background:#6fd08a}.seg-revisar{background:#f7b731}.seg-pendiente{background:#f26b60}.seg-na{background:#cfcfcf}
.stats-wrap .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;border:0;padding:0}
.stats-wrap .stat{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-left:-10px;border-radius:4px;border:0}
.stats-wrap .stat strong{font-size:24px;line-height:1;font-weight:700}
.stats-wrap .stat .stat-label{color:var(--ink);font-weight:400;font-size:12px}
@media(max-width:700px){.stats-wrap .stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Tablas: la cabecera pesa y mide lo mismo que el título del grupo; el estado no se repite en el resumen (12-nov-2026). */
.document-state-compact{display:none!important}
@media(max-width:680px){.document-state-compact{display:inline-flex!important}}
.home-documents .document-group>h3,.document-group>h3{font:600 16px/1.3 var(--body);letter-spacing:0;text-transform:none}
.table-heading>*,.table-heading .status-col,.table-heading .date{font:600 16px/1.3 var(--body);letter-spacing:0;text-transform:none;color:var(--ink)}

/* ============================================================
   Sistema de diseño v2 (13-nov-2026): tokens y jerarquía de botones.
   Principal: negro sólido, uno por pantalla. Secundario: borde negro.
   Obligatorio: azul. Peligro: rojo. Hecho: verde. Compacto: 24px en la revisión.
   ============================================================ */
:root{
--fs-xs:10px;--fs-sm:12px;--fs-md:14px;--fs-lg:16px;--fs-xl:24px;--fs-2xl:42px;--fs-3xl:56px;
--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:40px;--sp-7:80px;
--radius-ctl:6px;--radius-tag:4px;
--t:160ms var(--ease);
--grey-1:#ececec;--grey-2:#d8d8d8;
--green:#1a7f3c;--pen-dark:#18379f;--blue:#1f45cc;
--tag-red:#f26b60;--tag-amber:#f7b731;--tag-blue:#8fb0ff;--tag-green:#6fd08a;--tag-grey:#d8d8d8;
}
.button,.button.small{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--ctl);min-height:var(--ctl);padding:0 var(--sp-4);border:1px solid var(--ink);border-radius:var(--radius-ctl);background:transparent;color:var(--ink);font-size:var(--fs-sm);font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color var(--t),border-color var(--t),color var(--t),box-shadow var(--t)}
.button.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.button.required{background:var(--pen);border-color:var(--pen);color:#fff}
.button.danger{background:var(--red);border-color:var(--red);color:#fff}
.button.success{background:var(--green);border-color:var(--green);color:#fff;cursor:default}
.button svg{width:15px;height:15px;flex:none}
@media(hover:hover) and (pointer:fine){
.button:not(.primary):not(.required):not(.danger):not(.success):hover{background:var(--grey-1)}
.button.primary:hover{background:#353535;border-color:#353535}
.button.required:hover{background:var(--pen-dark);border-color:var(--pen-dark)}
.button.danger:hover{background:#a81f14;border-color:#a81f14}
.button.success:hover{background:var(--green);border-color:var(--green)}
}
.button:active:not(:disabled):not(.success){transform:translateY(1px)}
.button:disabled,.button[aria-disabled=true]{opacity:.4;cursor:not-allowed}
.sidebar .nav-home{background:transparent;color:var(--ink);height:var(--ctl);min-height:var(--ctl)}
/* Compacto: botones de los paneles de la revisión */
.review-section .button,.review-section .button.small{height:24px;min-height:24px;padding:0 10px;font-size:var(--fs-xs);gap:6px;border-radius:var(--radius-tag)}
.review-section .button svg{width:11px;height:11px}
.review-section .button.primary,.review-section .button.required,.review-section .button.danger{color:#fff}

/* Resumen de la revisión: recuadros grandes que filtran. Filtro activo en negro. */
.stats-wrap .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-4);border:0;padding:0}
.stats-wrap .stat{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);min-height:128px;padding:20px 22px;margin:0;border:1px solid var(--ink);border-radius:var(--radius-ctl);text-align:left;color:var(--ink);font:inherit;transition:box-shadow var(--t)}
.stats-wrap .stat strong{font-size:var(--fs-3xl);line-height:1;font-weight:700;letter-spacing:-.02em}
.stats-wrap .stat .stat-label{font-size:var(--fs-sm);font-weight:600}
.stats-wrap .stat-ok{background:var(--tag-green)}
.stats-wrap .stat-revisar{background:var(--tag-amber)}
.stats-wrap .stat-pendiente{background:var(--tag-red)}
.stats-wrap .stat-na{background:var(--tag-grey)}
.stats-wrap button.stat{cursor:pointer}
.stats-wrap button.stat[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--ink)}
@media(hover:hover) and (pointer:fine){.stats-wrap button.stat:hover{box-shadow:inset 0 0 0 2px var(--ink)}.stats-wrap button.stat[aria-pressed=true]:hover{box-shadow:inset 0 0 0 3px var(--ink)}}
.stats-wrap>.small{margin:var(--sp-3) 0 0}
.stats-bar{margin-bottom:var(--sp-4)}
@media(max-width:700px){.stats-wrap .stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-wrap .stat strong{font-size:42px}}
.review-section .filter-button[aria-pressed=true],.review-section .filter-pending[aria-pressed=true],.review-section .filter-review[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.review-section .filter-button[aria-pressed=true] span{color:#fff}
/* Etiquetas: un solo código de color */
.status{font:600 var(--fs-xs)/1 var(--body);padding:5px 9px;border:0;border-radius:var(--radius-tag);color:var(--ink);background:var(--tag-grey)}
.status.pending{background:var(--tag-red)}
.status.review{background:var(--tag-amber)}
.status.prepared{background:var(--tag-blue)}
.status.done{background:var(--tag-green)}

/* Movimiento común y foco (13-nov-2026): una sola duración y un solo easing; respeta prefers-reduced-motion (regla global más arriba). */
a,button,summary,.field input,.field textarea,.combo-trigger,.search-box input,.document-row,.source-row,.step-nav button,.stat,.filter-button,.icon-button,.combo-option{transition:background-color var(--t),border-color var(--t),color var(--t),box-shadow var(--t),font-weight var(--t)}
@keyframes ui-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes ui-fade{from{opacity:0}to{opacity:1}}
dialog[open]{animation:ui-in var(--t)}
dialog[open]::backdrop{animation:ui-fade var(--t)}
.notice:not([hidden]){animation:ui-in var(--t)}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.field input:focus-visible,.field textarea:focus-visible,.search-box input:focus-visible{outline:none}
.button.primary:focus-visible,.button.required:focus-visible,.button.danger:focus-visible{outline-color:var(--ink);outline-offset:2px}

/* Criterios de las skills better-* aplicados (13-nov-2026): cifras tabulares, títulos equilibrados, modales sin arrastre de scroll, texto largo con medida. */
.stat strong,.stats-bar,.field-capacity,.date,.accordion-count,.section-heading .count,.pdf-pagination .mono{font-variant-numeric:tabular-nums}
h1,h2,.heading-group,.page-heading h1,.section>.section-heading h2{text-wrap:balance}
p,.field-copy,.review-note{text-wrap:pretty}
dialog{overscroll-behavior:contain}
button,a,summary,[role=button]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.intro,.field-copy,.review-note,.confirm-note{max-width:72ch}
html{scroll-padding-top:150px}
/* Ayuda cuando el valor de una caja se recorta: el texto completo sigue disponible en el título del campo (ver app.js) */
/* Móvil: estas reglas van al final para no perder frente a las de escritorio. */
@media(max-width:900px){.section,.company-block{grid-template-columns:minmax(0,1fr);row-gap:20px}.section>*:not(.section-heading){grid-column:1}.section>.section-heading{grid-row:auto}.section>.section-heading h2{max-width:none}}
@media(max-width:820px){.sidebar .nav-home{font-size:0;gap:0;padding:0 10px;min-width:40px}.sidebar .step-nav button{padding:0 6px}}

.field textarea.short{min-height:84px;height:auto;padding:var(--sp-3);resize:vertical;line-height:1.5}

/* Fuente desplegable: el botón queda alineado con las acciones y el contenido crece hacia abajo con animación. */
.review-field{grid-template-areas:"head tag" "copy aside" "actions toggle" "rest panel";grid-template-rows:auto auto auto auto}
.review-field>.field-aside{margin-top:20px}
.review-field>.source-toggle{grid-area:toggle;align-self:center;justify-self:start;display:inline-flex;align-items:center;gap:var(--sp-2);background:none;border:0;padding:0;font:400 var(--fs-sm)/1.4 var(--body);color:var(--ink);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;cursor:pointer}
.source-toggle svg{width:14px;height:14px;transition:transform var(--t)}
.source-toggle[aria-expanded=true] svg{transform:rotate(180deg)}
@media(hover:hover) and (pointer:fine){.review-field>.source-toggle:hover{font-weight:700}}
.review-field>.source-toggle[aria-expanded=true]{font-weight:700}
.review-field>.source-panel{grid-area:panel;display:grid;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows 260ms var(--ease),margin-top 260ms var(--ease)}
.review-field>.source-panel.open{grid-template-rows:1fr;margin-top:var(--sp-4)}
.source-inner{overflow:hidden;min-height:0;opacity:0;display:flex;flex-direction:column;gap:var(--sp-3);transition:opacity 200ms var(--ease)}
.source-panel.open .source-inner{opacity:1}
.source-inner p,.source-inner a,.source-inner small{max-width:none}
@media(max-width:1000px){.review-field{grid-template-areas:"head" "tag" "copy" "actions" "aside" "toggle" "panel";grid-template-rows:none}}
/* Desplegables nativos con animación donde el navegador lo permite */
:root{interpolate-size:allow-keywords}
details::details-content{block-size:0;overflow:clip;opacity:0;transition:block-size 260ms var(--ease),opacity 200ms var(--ease),content-visibility 260ms allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}

.document-row{cursor:pointer}
.document-row .delete-confirm,.document-row button,.document-row a{cursor:pointer}

/* Edición en el sitio: una sola fila de botones a la izquierda, un solo contador y el motivo solo si el texto cambió. */
.field-capacity.over{color:var(--red)}
.editor-count:empty{display:none}
.editor-footer{display:flex;align-items:center;justify-content:flex-start;gap:var(--sp-4);margin-top:var(--sp-3);flex-wrap:wrap}
.editor-footer .actions{display:flex;gap:var(--sp-2);justify-content:flex-start;flex-wrap:wrap}
.editor-count{font:400 var(--fs-xs)/1.4 var(--mono);color:var(--muted);margin:0}
.editor-count.error{color:var(--red)}
.reason-block{margin-top:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-start}
.reason-block[hidden]{display:none}
.reason-block .small{margin:0}

/* Recuadros sin línea negra, con hover y estado activo en el mismo color más intenso; etiqueta Listo en verde (13-nov-2026). */
.stats-wrap .stat{border:0;transition:background-color var(--t),box-shadow var(--t)}
.stats-wrap .stat-ok{--hov:#4fc274}.stats-wrap .stat-revisar{--hov:#eda20d}.stats-wrap .stat-pendiente{--hov:#ea4d41}.stats-wrap .stat-na{--hov:#c2c2c2}
.stats-wrap button.stat[aria-pressed=true],.stats-wrap button.stat[aria-pressed=true]:hover{background:var(--hov);box-shadow:inset 0 -4px 0 rgba(21,21,21,.55)}
@media(hover:hover) and (pointer:fine){.stats-wrap button.stat:hover{background:var(--hov);box-shadow:none}.stats-wrap button.stat[aria-pressed=true]:hover{box-shadow:inset 0 -4px 0 rgba(21,21,21,.55)}}
.na-row{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr);gap:var(--sp-5);align-items:start;padding:var(--sp-4) 0;border-top:1px solid var(--ink)}
.na-row:last-of-type{border-bottom:0}
.na-row .field-title{margin:4px 0 0;font-size:var(--fs-md)}
.na-row p{margin:0}
@media(max-width:700px){.na-row{grid-template-columns:1fr;gap:var(--sp-2)}}

/* Etiqueta verde también en el apartado plegado (13-nov-2026). */
.accordion-toggle>.status{order:3;margin-left:var(--sp-3)}
.accordion-toggle .accordion-count{order:4}

/* Recuadros: el color no cambia al pulsar, solo al pasar el ratón. El filtro de abajo toma el color del recuadro. No aplican: contorno de 1px sobre el fondo (13-nov-2026). */
.stats-wrap button.stat[aria-pressed=true]{background:var(--c);box-shadow:none}
.stats-wrap button.stat[aria-pressed=true]:hover{background:var(--hov);box-shadow:none}
.stats-wrap .stat-ok{--c:var(--tag-green)}.stats-wrap .stat-revisar{--c:var(--tag-amber)}.stats-wrap .stat-pendiente{--c:var(--tag-red)}
.stats-wrap .stat-na{background:transparent;border:1px solid var(--ink);--hov:#ececec}
.review-section .filter-pending[aria-pressed=true]{background:var(--tag-red);border-color:var(--ink);color:var(--ink)}
.review-section .filter-review[aria-pressed=true]{background:var(--tag-amber);border-color:var(--ink);color:var(--ink)}
.review-section .filter-pending[aria-pressed=true] span,.review-section .filter-review[aria-pressed=true] span{color:var(--ink)}

/* Filtros activos de color sin borde negro, como la etiqueta (13-nov-2026). */
.review-section .filter-pending[aria-pressed=true],.review-section .filter-review[aria-pressed=true]{border-color:transparent}
.review-section .filter-pending[aria-pressed=true]{border-color:var(--tag-red)}
.review-section .filter-review[aria-pressed=true]{border-color:var(--tag-amber)}

/* Etiqueta Listo del apartado alineada con la columna de etiquetas de los campos; al desplegar desaparece y queda la de cada campo (13-nov-2026). */
.accordion-toggle{position:relative}
.accordion-toggle>.status{position:absolute;left:calc(50% + 28px);top:50%;transform:translateY(-50%);margin:0}
.accordion-toggle[aria-expanded=true]>.status{display:none}
@media(max-width:1000px){.accordion-toggle>.status{position:static;transform:none;margin-left:var(--sp-3)}}

/* Etiqueta No aplica con el estilo del recuadro grande: fondo de la página y contorno de 1px (13-nov-2026). */
.status.na{background:transparent;box-shadow:inset 0 0 0 1px var(--ink);color:var(--ink)}

/* Etiquetas: todas del mismo tamaño, texto de 8px centrado (13-nov-2026). */
.status{font-size:8px;line-height:1;width:var(--tag-w,auto);height:18px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;text-align:center;box-sizing:border-box}
/* El contenedor de la página no es interactivo: sin recuadro negro de foco al recargar. */
main:focus,main:focus-visible{outline:none}

/* Recuadros en una línea: número de 52 y nombre de 24, ambos en negrita (13-nov-2026). */
.stats-wrap .stat{flex-direction:row;flex-wrap:wrap;align-items:baseline;justify-content:flex-start;align-content:center;gap:0 var(--sp-3);min-height:96px;padding:20px 22px;border:1px solid transparent}
.stats-wrap .stat-na{border-color:var(--ink)}
.stats-wrap .stat strong{font-size:52px;line-height:1.1;font-weight:700}
.stats-wrap .stat .stat-label{font-size:var(--fs-xl);line-height:1.2;font-weight:700}
@media(max-width:700px){.stats-wrap .stat strong{font-size:42px}.stats-wrap .stat .stat-label{font-size:var(--fs-md)}}

/* Botón activo: queda en el gris del hover. Historial en filas plegables, de la más reciente a la más antigua (13-nov-2026). */
.button[aria-pressed=true]{background:#ececec}
.history-title{font-size:var(--fs-lg);margin:var(--sp-5) 0 var(--sp-2)}
.history-list{border-bottom:1px solid var(--rule)}
.history-entry{border-top:1px solid var(--rule)}
.history-entry summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:var(--sp-2) 0}
.history-entry summary::-webkit-details-marker{display:none}
.history-entry summary:hover{background:#ececec}
.history-date{font-weight:600;font-size:var(--fs-md);white-space:nowrap}
.history-meta{font-size:var(--fs-sm);color:var(--muted);flex:1;min-width:0}
.history-entry summary svg{width:16px;height:16px;margin-left:auto;transition:transform 200ms var(--ease)}
.history-entry[open] summary svg{transform:rotate(180deg)}
.history-text{font-size:var(--fs-md);line-height:1.7;margin:0 0 var(--sp-4);white-space:pre-wrap;overflow-wrap:anywhere}
.review-section .button[aria-pressed=true],.review-section .button.small[aria-pressed=true],.button.small[aria-pressed=true]{background:#ececec}

/* Historial a 12px en todo su contenido (13-nov-2026). */
.history-title{font-size:var(--fs-sm);font-weight:600}
.history-date,.history-meta,.history-text{font-size:var(--fs-sm)}

/* Un solo rojo en toda la app: el de la etiqueta Faltan datos. El texto sobre rojo va en negro (13-nov-2026). */
:root{--red:#f26b60;--tag-red:#f26b60;--red-hover:#ea4d41}
.button.danger,.review-section .button.danger{background:var(--red);border-color:var(--red);color:var(--ink)}
.button.danger:hover{background:var(--red-hover);border-color:var(--red-hover);color:var(--ink)}
.delete-confirm{justify-content:flex-end;gap:var(--sp-3);color:var(--red);font-weight:600;margin-top:var(--sp-2)}
.delete-confirm .button{font-weight:600}
.document-row>.delete-confirm{justify-self:stretch;width:100%}

/* Colores principales de la marca (13-nov-2026, Maykel). Rojo, verde, ámbar y azul llamativos, siempre con texto negro.
   Cuando se dice «verde» o «azul» se usa este mismo en etiquetas, botones y recuadros. El azul de la tinta de los campos (--pen) es otra cosa: es color de texto. */
:root{--green:#6fd08a;--tag-green:#6fd08a;--green-hover:#4fc274;--c-blue:#6b95ff;--tag-blue:#6b95ff;--blue-hover:#4f80ff;--amber:#f7b731;--tag-amber:#f7b731}
.button.success,.button.success:hover{background:var(--green);border-color:var(--green);color:var(--ink);cursor:default}
.button.required,.review-section .button.required{background:var(--c-blue);border-color:var(--c-blue);color:var(--ink)}
.button.required:hover,.review-section .button.required:hover{background:var(--blue-hover);border-color:var(--blue-hover);color:var(--ink)}
.status.prepared{background:var(--c-blue);color:var(--ink)}
.status.done{background:var(--green);color:var(--ink)}
/* La confirmación de borrado acaba en el borde derecho de la papelera, donde se pulsó. */
.document-row>.delete-confirm{margin-right:73px;width:auto}
@media(max-width:680px){.document-row>.delete-confirm{margin-right:0}}

/* Entrada y comentarios (13-nov-2026). Botón de entrada en azul con texto negro; Resuelto en verde y Pendiente con la etiqueta de siempre. */
.header-actions [hidden]{display:none!important}
#user-label{white-space:nowrap}
.login-view{max-width:460px}
.login-form{display:flex;flex-direction:column;gap:28px;align-items:flex-start}
.login-form .field{align-self:stretch}
.login-form p{margin:0;min-height:1.6em}
.comments-view .table-scroll{overflow-x:auto;margin-top:var(--sp-4,32px)}
.comments-table{width:100%;border-collapse:collapse;font-size:var(--fs);min-width:900px;table-layout:fixed}
.comments-table th{font:400 8px/1.5 var(--mono);letter-spacing:.025em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 16px 10px 0;border-bottom:1px solid var(--strong)}
.comments-table td{padding:16px 16px 16px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.comments-table .comment-text{max-width:46ch;white-space:pre-wrap;overflow-wrap:anywhere}
.comments-table td .status{margin-bottom:8px}
.comments-table .comment-by{display:block;margin-bottom:6px}
.comments-table td:first-child{white-space:nowrap}

/* Campos de rellenar (13-nov-2026): blancos, sin borde, gris suave al pasar el ratón y blancos al escribir. Nunca línea negra.
   Solo el error lleva borde (rojo). Los selectores cubren todos los campos de texto, números, fechas, desplegables y áreas de texto. El buscador de la portada no entra: se queda como estaba. */
.field input,.field textarea,.field select,.combo-trigger,.company-search input,.date-field input,.login-form input,dialog textarea{background:#fff;border:1px solid transparent;box-shadow:none;outline:none}
.field input:hover,.field textarea:hover,.field select:hover,.combo-trigger:hover,.company-search input:hover,.date-field input:hover,.login-form input:hover,dialog textarea:hover{background:#ededed;border-color:transparent;box-shadow:none}
.field input:focus,.field textarea:focus,.field select:focus,.combo-trigger:focus,.combo-trigger:focus-visible,.combo-trigger[aria-expanded=true],.company-search input:focus,.date-field input:focus,.login-form input:focus,dialog textarea:focus,
.field input:focus:hover,.field textarea:focus:hover,.combo-trigger:focus-visible:hover,.combo-trigger[aria-expanded=true]:hover,.company-search input:focus:hover,.date-field input:focus:hover,.login-form input:focus:hover,dialog textarea:focus:hover{background:#fff;border-color:transparent;box-shadow:none;outline:none}
.field input[aria-invalid=true],.field textarea[aria-invalid=true],.combo-trigger[aria-invalid=true]{border-color:var(--red);box-shadow:inset 0 0 0 1px var(--red)}
.combo-menu{background:#fff;border:1px solid transparent;box-shadow:0 10px 28px #15151522}

/* Botones dentro de una fila de documentos (13-nov-2026): al pasar el ratón por un botón se pinta solo el botón, no la fila. */
.document-row:has(.button:hover,.icon-button:hover,.text-button:hover,.delete-confirm:hover){background:transparent}
.document-row:has(.button:hover,.icon-button:hover,.text-button:hover,.delete-confirm:hover) h3{text-decoration:none}

/* Buscador de la portada (13-nov-2026): lo escrito va en negro y con más peso. El texto de ayuda sigue en gris y normal. */
.search-box input{color:var(--ink);font-weight:600}
.search-box input::placeholder{font-weight:400}

/* Tabla de Comentarios (13-nov-2026, Maykel): todo a 12px, columnas repartidas según su contenido y comentarios recortados a tres líneas. */
.comments-table th{font:600 var(--fs)/1.4 var(--body);letter-spacing:0;text-transform:none;color:var(--ink);padding:0 16px 10px 0}
.comments-table td{font-size:var(--fs);line-height:1.5;padding:14px 16px 14px 0}
.comments-table th:nth-child(1){width:64px}
.comments-table th:nth-child(2){width:96px}
.comments-table th:nth-child(3){width:96px}
.comments-table th:nth-child(4){width:170px}
.comments-table th:nth-child(6){width:104px}
.comments-table th:nth-child(7){width:112px}
.comments-table .clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}
.comments-table .clamp-2{-webkit-line-clamp:2}
.comments-table .comment-text{max-width:none;white-space:pre-line}
.comments-table .comment-text.is-open{display:block;-webkit-line-clamp:unset;overflow:visible}
.comments-table .comment-more{margin-top:6px;font-size:var(--fs)}
.comments-table td:last-child .text-button,.comments-table td .text-button{white-space:nowrap;font-size:var(--fs)}
.comments-table td .status{margin-bottom:6px}

/* Comentario que se abre y se cierra con animación (13-nov-2026): misma duración y curva que los demás desplegables. Todo elemento nuevo que se pliegue lleva esta animación. */
.comments-table .comment-text{transition:height 260ms var(--ease)}
.comments-table .comment-text.is-moving{overflow:hidden}
