:root{--brand:#245747;--tint:#eef4ef;--ink:#20392f;--muted:#627168;--paper:#f7f3ea;--border:#dddcd2;--radius:12px;--font-heading:"DM Sans",Arial,sans-serif;--font-body:"Source Sans 3",Arial,sans-serif;font-family:var(--font-body);color:var(--ink);background:#eeeae2;color-scheme:light}
.login .login-credit{margin-top:40px;text-align:center;font-size:12px;font-weight:400;line-height:1.5;color:var(--muted)}
.login .login-credit a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;color:inherit;text-decoration:underline;text-underline-offset:3px}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #d4943f;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:2px}
button{transition:transform 120ms cubic-bezier(.23,1,.32,1),background-color 120ms ease}button:active:not(:disabled){transform:scale(.98)}
.lab{min-height:64px;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:10px 32px;border-bottom:1px solid #d6d3ca;background:#f8f6f1;font-size:14px}.lab>div{display:flex;gap:12px;align-items:center}.lab-dot{width:7px;height:7px;background:#245747;border-radius:50%}.lab-label{color:#677268}.lab button{border:0;background:none;text-decoration:underline;min-height:44px;color:#42534a}
.layout{display:grid;grid-template-columns:minmax(240px,330px) minmax(360px,430px);justify-content:center;gap:80px;padding:48px 24px;align-items:start}.review{padding-top:58px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;font-size:11px;color:#657569}.review h1{font:600 52px/1.08 var(--font-heading);letter-spacing:-1.5px;margin:20px 0}.review>p:not(.eyebrow){line-height:1.7;color:#617068}.review-line{display:flex;gap:18px;margin:30px 0}.review-line>span{font:14px var(--font-body);color:#7b887d}.review-line p{font-size:14px;line-height:1.6;color:#69746b;margin:7px 0}.review a{display:inline-block;color:#245747;font-size:14px;padding:16px 0}.review details{font-size:13px;border-top:1px solid #d2d5ca;padding-top:20px;line-height:1.6}.review summary{cursor:pointer}.review details p{color:#657369}
.app-frame{background:var(--paper);min-height:820px;border:7px solid #282b27;border-radius:40px;overflow:hidden;box-shadow:0 15px 36px #273d2920;position:relative}
.phone-status{display:flex;justify-content:space-between;align-items:center;padding:12px 24px 6px;background:var(--brand);color:white;font-weight:bold;font-size:12px}.phone-status.neutral{background:var(--paper);color:var(--ink)}
#app-header:empty{display:none}.business-header{background:var(--brand);color:white;display:flex;align-items:center;padding:9px 14px 14px;gap:9px}.back{border:0;background:transparent;font-size:26px;min-height:44px;min-width:34px;color:inherit}.brandmark{display:flex;align-items:center;justify-content:flex-start;width:156px;max-width:100%;height:45px}.brandmark img{display:block;width:100%;height:100%;object-fit:contain}.brandmark.cachito{width:106px;height:64px}.business-header .brandmark{width:149px;height:39px}.business-header .brandmark.cachito{width:82px;height:49px}.business-header .role{margin-left:auto;text-align:right;font-size:12px;line-height:1.7;white-space:nowrap}.role button{display:block;background:none;border:0;padding:2px 0;color:#fff;text-decoration:underline;font-size:11px;min-height:32px;margin-left:auto}
#app-main{padding:24px 20px;outline:none;min-height:620px}h2{font:600 28px/1.18 var(--font-heading);letter-spacing:-.65px;margin:0 0 12px}h3{font-family:var(--font-heading);font-size:17px;margin:0 0 12px}.subtitle{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 24px}.page-top{display:flex;align-items:start;justify-content:space-between;gap:8px}.page-top .back{color:var(--brand);padding:0;margin-top:-8px}.primary,.secondary,.quiet{min-height:48px;padding:12px 16px;border-radius:9px;border:1px solid var(--border);font-weight:600;text-align:center}.primary{background:var(--brand);color:#fff;border-color:var(--brand);width:100%;margin-top:18px}.secondary{background:#fffdf8;color:var(--brand)}.quiet{background:transparent;border:0;color:var(--brand)}.small-link{padding:10px 0;min-height:44px;border:0;background:none;text-decoration:underline;color:var(--brand);font-size:12px}.login-brands{display:flex;align-items:center;gap:20px;justify-content:space-between;margin:28px 0 35px}.login-brands .brandmark{width:160px}.login-brands .brandmark.cachito{width:102px;height:62px}.login h2{font-size:30px}.login .subtitle{margin-bottom:28px}.demo-access{border-top:1px solid var(--border);margin-top:34px;padding-top:18px}.demo-access p{font-size:12px;color:var(--muted);margin-top:0}.demo-access .pair{gap:8px}.demo-access button{font-size:12px;font-weight:normal;padding:10px}
label{display:block;font-size:13px;font-weight:600;margin:16px 0 7px}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-height:49px;padding:11px 13px;border:1px solid var(--border);background:#fffdf8;border-radius:8px;color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:75px}input[type=checkbox]{width:22px;height:22px;accent-color:var(--brand);flex-shrink:0}.input-money{position:relative}.input-money input{padding-left:38px}.input-money span{position:absolute;left:15px;top:14px;color:var(--muted)}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.segments{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:#ecece5;border:1px solid var(--border);padding:3px;border-radius:9px;margin:18px 0}.segments button{min-height:43px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:14px}.segments button[aria-pressed=true]{background:var(--brand);color:white}
.selector .subtitle{margin-bottom:35px}.business-choice{display:flex;width:100%;height:91px;align-items:center;justify-content:space-between;background:#fffdf8;border:1px solid #bfcfc4;border-left:5px solid #245747;border-radius:10px;padding:14px 20px;text-align:left;margin:12px 0}.business-choice .brandmark{width:160px;height:42px}.business-choice .brandmark.cachito{width:110px;height:58px}.business-choice.cachito{border-color:#e6c6b6;border-left-color:#a4432d;background:#fff7ed}.chevron{font-size:25px;font-weight:normal;color:var(--brand)}.business-choice.cachito .chevron{color:#a4432d}.selector .switch-account{margin-top:170px}
.action-row{display:flex;width:100%;gap:15px;align-items:center;min-height:65px;padding:11px 12px;background:#fffdf8;border:1px solid var(--border);border-radius:10px;margin:12px 0;text-align:left;color:var(--ink)}.action-row strong{font-size:16px}.action-row .chevron{margin-left:auto;font-size:23px}.icon-box{display:grid;place-items:center;width:36px;height:36px;border-radius:7px;flex-shrink:0;background:var(--brand);color:#fff}.icon-box svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.alert{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #ead0a1;background:#fff0d7;padding:12px;border-radius:9px;margin:20px 0}.alert p{font-size:12px;margin:0;line-height:1.5}.alert strong{font-size:13px}.alert button{background:var(--brand);color:white;border:0;border-radius:6px;min-height:42px;padding:7px 11px;font-size:12px}.info{background:var(--tint);padding:11px 12px;border-radius:7px;font-size:12px;line-height:1.6;margin:12px 0}.info.warning{background:#fff0d7;color:#6f4815}.error{background:#fff0e9;color:#922f20;border-left:3px solid #922f20;padding:10px 12px;font-size:13px;line-height:1.5;margin:12px 0}.error:empty{display:none}.hint{font-size:12px;color:var(--muted);line-height:1.55;margin:9px 0}
.upload{display:block;width:100%;border:1px dashed #b4c2b9;border-radius:9px;background:#f4f4ee;text-align:center;padding:24px 12px;min-height:100px;color:var(--brand)}.upload strong{display:block;font-size:14px}.upload span{display:block;font-size:12px;margin-top:6px;color:var(--muted)}.photo-used{padding:15px 12px;background:var(--tint);border:1px solid var(--border);border-radius:9px;font-size:13px;line-height:1.6}
.panel{padding:16px;background:#fffdf8;border:1px solid var(--border);border-radius:11px;margin:14px 0}.panel h3{display:flex;align-items:center;gap:10px}.panel p{font-size:13px;margin:8px 0;color:var(--muted)}.panel .row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:10px 0}.balanced{font-size:12px;padding:9px 0;color:#256340}.difference{font-size:12px;padding:9px 0;color:#922f20}.invoice-choice{display:flex;align-items:center;gap:12px;min-height:66px;border:1px solid var(--border);border-radius:8px;padding:12px;margin:9px 0;font-size:14px;background:#fffdf8;cursor:pointer}.invoice-choice label{display:flex;align-items:center;gap:12px;margin:0;width:100%;cursor:pointer;font-weight:normal}.invoice-choice small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.invoice-choice strong{font-weight:600}
.total{background:var(--tint);border:1px solid var(--border);border-radius:10px;padding:16px;margin-top:18px}.total span{font-size:13px}.total strong{display:block;font:600 25px var(--font-heading);margin-top:5px}.total small{display:block;color:var(--muted);margin-top:5px;font-size:12px}
.metric{display:flex;align-items:center;gap:12px;text-align:left;background:#fffdf8;border:1px solid var(--border);border-radius:10px;width:100%;padding:12px;min-height:79px;margin:10px 0;color:var(--ink)}.metric .metric-text{flex:1}.metric .question{display:block;font-size:13px;line-height:1.4}.metric .value{display:block;font-size:22px;font-weight:600;letter-spacing:-.3px;margin-top:4px}.metric .value.money{font-size:16px;line-height:1.6}.metric .chevron{font-size:22px}.dashboard .subtitle{margin-bottom:18px}.dashboard .pair button{font-size:12px;padding:10px}
.list-button{display:block;width:100%;background:#fffdf8;border:1px solid var(--border);border-radius:9px;padding:15px;margin:10px 0;text-align:left;color:var(--ink)}.list-button strong{display:block;font-size:15px}.list-button span{display:block;font-size:13px;color:var(--muted);margin-top:7px}.status{display:inline-block;border-radius:4px;padding:3px 6px;background:var(--tint);color:var(--brand);font-size:11px}.status.overdue{background:#fff0e9;color:#922f20}.empty{padding:26px 14px;border:1px dashed var(--border);text-align:center;border-radius:10px;color:var(--muted);font-size:14px;line-height:1.6}
#app-nav{display:flex;justify-content:space-around;border-top:1px solid var(--border);background:#fffdf8;padding:6px 12px;gap:6px}#app-nav:empty{display:none}#app-nav button{border:0;background:none;color:var(--muted);font-size:12px;min-height:49px;min-width:0;border-radius:6px}#app-nav button[aria-current=page]{color:var(--brand);background:var(--tint);font-weight:bold}.app-note{text-align:center;color:var(--muted);font-size:10px;padding:10px 8px 14px}
#notice{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:calc(100% - 32px);width:390px;background:#20392f;color:white;padding:16px 20px;border-radius:10px;box-shadow:0 6px 20px #0002;display:none;font-size:14px;line-height:1.5;z-index:10}#notice.visible{display:block}dialog{border:1px solid var(--border);border-radius:14px;background:var(--paper);max-width:370px;padding:24px}dialog::backdrop{background:#18392e55}dialog p{font-size:14px;line-height:1.5}.dialog-actions{display:flex;gap:12px;margin-top:20px}.dialog-actions .primary{margin:0;width:auto}
.receipt{background:white;border:1px solid var(--border);padding:24px;font:14px/1.7 var(--font-body)}.receipt h3{font:600 18px var(--font-heading)}.receipt .row{display:flex;justify-content:space-between}.receipt hr{border:0;border-top:1px dashed #aaa}
@media(min-width:768px){.dashboard #app-main{min-height:620px}}
@media(max-width:850px){.layout{gap:30px;grid-template-columns:minmax(180px,270px) minmax(330px,410px)}.review h1{font-size:43px}}
@media(max-width:680px){body{background:var(--paper)}.lab{padding:6px 16px;min-height:50px;font-size:12px;gap:8px}.lab>div{gap:7px;flex-wrap:wrap}.lab-label{font-size:10px}.lab button{font-size:11px;white-space:nowrap}.layout{display:block;padding:0}.review{display:none}.app-frame{border:0;border-radius:0;min-height:calc(100dvh - 50px);box-shadow:none;max-width:500px;margin:auto}.phone-status{display:none}#app-main{min-height:calc(100dvh - 220px);padding:24px 22px}.business-header{padding:12px 18px}.app-note{padding-bottom:max(12px,env(safe-area-inset-bottom))}#app-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.login-brands{margin-top:44px}.selector .switch-account{margin-top:140px}}
@media(prefers-reduced-motion:reduce){button{transition:none}button:active:not(:disabled){transform:none}}
.daily label{margin-top:12px}.daily .subtitle{margin-bottom:16px}.daily .total{padding:13px;margin-top:14px}#notice{pointer-events:none}

/* Ajustes de revisión: símbolos claros, comprobantes y personal de Operación. */
.line-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.segments button{display:flex;align-items:center;justify-content:center;gap:8px}
.upload>.line-icon{display:block;width:27px;height:27px;margin:0 auto 12px}
.photo-used{display:flex;align-items:flex-start;gap:10px}.photo-used>.line-icon{margin-top:2px}.photo-used p{margin:7px 0 0;font-size:12px}.photo-used .small-link{padding-bottom:0}
#app-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:62px;flex:1;line-height:1.3}
#app-nav .line-icon{width:22px;height:22px}
.business-header .brandmark.mana{width:145px;height:34px}.login-brands .brandmark.mana{width:150px;max-width:150px;min-width:0;flex:0 1 150px}.login-brands .brandmark.cachito{width:110px;height:60px;flex:0 0 110px}.business-choice .brandmark.mana{width:150px;height:34px}
.payroll-person h3{margin-bottom:8px}.payroll-person .pair .secondary{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px}
.primary>.line-icon{margin-right:8px}.retired-staff{margin-top:15px}.retired-staff .panel .small-link{display:block}
.capture-actions{margin:4px 0 12px;gap:8px}.capture-actions .secondary{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;padding:12px 8px}
.file-source{display:none!important}.example-document{display:flex;align-items:center;gap:7px;margin-bottom:8px}
.photo-used strong{overflow-wrap:anywhere}.attachment-preview{display:block;width:100%;max-height:150px;object-fit:contain;margin:12px 0;background:#fffdf8;border:1px solid var(--border);border-radius:8px}.receipt-image{display:block;width:100%;height:auto}
.attachment-download{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--brand);font-size:14px;min-height:48px;margin-top:16px}
.photo-used>div{min-width:0}



.document-actions{display:grid;gap:12px;margin:0 0 16px}.document-actions .capture-main{display:flex;align-items:center;justify-content:center;gap:8px;margin:0;min-height:54px}.capture-main>.line-icon{margin-right:0}.capture-options{gap:10px}.capture-options>.secondary{display:flex;width:100%;align-items:center;justify-content:center;gap:8px;min-height:48px;font-size:14px}.capture-options .secondary[aria-pressed=true]{background:var(--tint);border-color:var(--brand)}.demo-document{margin:0 0 8px}.demo-document summary{font-size:11px;color:var(--muted)}
.freight-access{min-height:54px;margin-top:20px}.business-header>strong{font-size:18px;flex:1}.origin-label{font-size:13px;color:var(--muted)}.dashboard>.panel{margin-top:12px}
.selector .freight-access .icon-box{background:#856126}
/* Ancho de controles compartido por todas las vistas, incluido Safari en iPhone. */
#app-main form,#app-main form>*,.app-frame,.metric-text,.photo-used>div{min-width:0;max-width:100%}
input:not([type=checkbox]),select,textarea{min-width:0;max-width:100%;box-sizing:border-box}
input[type=date]{-webkit-appearance:none;appearance:none;width:100%;min-width:0;max-width:100%;text-align:left}
input[type=date]::-webkit-date-and-time-value{min-width:0;text-align:left}
input[type=date]::-webkit-datetime-edit{min-width:0;padding:0}
.pair,.segments{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.pair>*{min-width:0;max-width:100%}.panel,.list-button,.metric-text{overflow-wrap:anywhere}
.caja-access{width:100%;margin-top:12px}
.layout.caja-layout{grid-template-columns:minmax(360px,430px);gap:0}
.action-row.primary-action{display:flex;position:relative;justify-content:center;background:var(--brand);border-color:var(--brand);color:#fff;min-height:78px;padding:16px 36px;gap:0}
.primary-content{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:0}
.action-row.primary-action .chevron{position:absolute;right:16px;margin:0}
.action-row.primary-action .icon-box{background:transparent;width:27px;height:27px}
.action-row.primary-action .icon-box svg{width:27px;height:27px}
.action-row.primary-action strong{font-size:18px;text-align:center}
.capture-options>.capture-rate{flex-direction:column;gap:3px;padding:10px 6px;line-height:1.3}
.capture-rate>span{font-size:11px;color:var(--muted)}
.capture-rate>strong{font-size:15px;overflow-wrap:anywhere}
.business-select~.document-actions{margin-top:20px}
.list-button .record-description{color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
.metric-period{display:block;margin-top:5px;color:var(--muted);font-size:11px}
/* Catálogo, revisión y simulación: mantener controles dentro del ancho móvil. */
.rate-inline{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0}
.capture-rate label{margin:0;font-size:13px;text-align:center}
.capture-rate input{width:100%;min-width:0;max-width:135px;margin:6px 0;padding:8px;text-align:center;color:var(--brand);font-size:20px;font-weight:700}
.capture-rate small{font-size:11px;font-weight:400;text-align:center}
.product-line{margin-top:16px}.product-line .pair>div{min-width:0}.product-line input[readonly]{background:var(--tint)}
.add-product{width:100%;margin-bottom:18px}.simulation-clock{margin:16px 0;padding:16px;border:1px dashed var(--brand);border-radius:12px}
.notification-access{margin-bottom:16px}.notification-access .line-icon{flex-shrink:0}
.capture-main[data-go="daily"]{display:flex;gap:10px;align-items:center;justify-content:center;margin-bottom:18px;width:100%}

/* Revisión completa: controles secundarios compactos y listas legibles. */
.capture-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px}
.capture-options>.secondary{width:100%;min-width:0;min-height:60px;padding:8px 10px;font-size:14px}
.capture-options>.capture-rate{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;min-height:60px;margin:0;padding:6px 8px;background:#fffdf8;border:1px solid var(--border);border-radius:9px;color:var(--brand);cursor:text;line-height:1.2}
.capture-rate #capture-rate-label{white-space:nowrap;font-size:12px;font-weight:600;color:var(--brand)}
.capture-rate .rate-inline{display:flex;gap:3px;max-width:100%}
.capture-rate input{width:8ch;max-width:100%;min-height:26px;padding:2px 0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none;font-size:16px;font-weight:600}
.capture-rate:focus-within{outline:2px solid var(--brand);outline-offset:2px}
.capture-rate input:focus{outline:0}
.capture-rate small{color:var(--muted);font-size:10px}
.rate-inline span{font-size:11px;white-space:nowrap}
.capture-options:has(>.secondary:only-child){grid-template-columns:minmax(0,1fr)}
.payment-invoices{border:0;padding:0;margin:18px 0;min-width:0}
.payment-invoices legend{padding:0;font-size:13px;font-weight:600;margin-bottom:6px}
.payment-invoice{display:flex;align-items:center;gap:10px;min-height:56px;padding:8px 0;margin:0;border-bottom:1px solid var(--border);font-size:13px}
.payment-invoice input{width:20px;height:20px;min-height:20px;margin:0;flex-shrink:0;accent-color:var(--brand)}
.payment-invoice>span{flex:1;min-width:0;overflow-wrap:anywhere}
.payment-invoice small{display:block;color:var(--muted);font-size:12px;margin-top:3px}
.payment-invoice>strong{white-space:nowrap;font-size:13px}
.field-invalid[aria-invalid=true],.capture-options>.capture-rate.field-invalid{border:2px solid #a32828;background:#fff6f4}
input.field-invalid:focus,select.field-invalid:focus,textarea.field-invalid:focus,.capture-rate.field-invalid:focus-within{outline-color:#a32828}
.field-error{display:block;color:#a32828;font-size:12px;line-height:1.4;margin:5px 0 12px}
.document-actions.field-invalid,.product-entry.field-invalid{padding:8px;border-radius:9px}
.capture-options:has(>.field-error){grid-template-columns:repeat(2,minmax(0,1fr))}
.capture-options>.field-error{grid-column:1/-1;margin:0}
.retired-staff .danger-link{color:#a32828}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:18px 0;font-size:12px}
.pagination .secondary{min-height:44px;padding:8px;font-size:12px}
.pagination span{white-space:nowrap}
.monthly-section{margin-top:26px}.monthly-section>h3{margin-top:18px}.monthly-download{width:100%;margin:12px 0}
.catalog-row,.product-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);font-size:14px}
.catalog-row>div,.product-row>div{flex:1;min-width:0}
.catalog-row strong,.product-row strong{display:block;overflow-wrap:anywhere}
.catalog-row span,.product-row span{display:block;font-size:12px;color:var(--muted);margin-top:5px}
.icon-action{display:grid;place-items:center;width:44px;min-width:44px;min-height:44px;padding:0;border:0;background:transparent;color:var(--brand);border-radius:8px}
.icon-action:hover{background:var(--tint)}
.product-entry{padding:14px;background:#fffdf8;border:1px solid var(--border);border-radius:10px;margin-top:14px}
.product-entry>label:first-child{margin-top:0}.product-entry>.secondary{display:block;width:100%;margin-top:10px;min-height:44px;padding:8px}
.product-entry input[readonly]{background:var(--tint)}
.return-toggle{display:flex;align-items:center;gap:9px;min-height:44px;margin-top:20px;cursor:pointer}
.prepared-return{padding:12px 0;border-block:1px solid var(--border);font-size:13px}
.prepared-return>span{display:block;color:var(--muted);margin-top:7px}.prepared-return button{margin-right:16px}
.passkey-access{display:block;width:100%;margin-top:12px}
.security-access{margin-top:24px;border-top:1px solid var(--border)}
.font-sample{padding:22px 16px;border:1px solid var(--border);border-radius:12px;background:#fffdf8;margin:20px 0;font-family:var(--sample-body),sans-serif}
.font-sample h2{font-family:var(--sample-heading),sans-serif;font-size:28px;font-weight:600;letter-spacing:-.02em}
.font-sample p,.font-sample label,.font-sample button{font-family:inherit}
.font-sample .font-label{font:12px var(--font-body);color:var(--muted);margin-bottom:24px}
.sample-input{padding:13px;border:1px solid var(--border);border-radius:8px;font-size:16px;font-variant-numeric:tabular-nums}
.sample-summary{display:flex;justify-content:space-between;margin-top:20px;font-size:14px}
.font-sample .primary:disabled{opacity:1;color:#fff;cursor:default}
.font-comparison h2{letter-spacing:-.02em}
@media(max-width:360px){.capture-options{gap:8px}.capture-rate{gap:4px}.capture-rate input{max-width:76px}.capture-options>.secondary{padding:8px}.product-row{gap:6px;font-size:13px}}

/* Fuentes locales aprobadas: DM Sans y Source Sans 3. */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/dm-sans.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/dm-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/dm-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/source-sans-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/source-sans-3-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Source Sans 3';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/fonts/source-sans-3-700.ttf) format('truetype');
}
/* Estado activo compartido por filtros y navegación. */
.invoice-filters .secondary[aria-pressed="true"],.segments button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}
#app-nav button[aria-current="page"]{background:var(--brand);color:#fff;font-weight:700}
.registration-date{display:block;color:var(--muted);font-size:12px;line-height:1.6;margin:8px 0;overflow-wrap:anywhere}

.business-header .operation-role{display:block;font-size:16px;font-weight:700;line-height:1.4;letter-spacing:.04em}

.role .business-switch{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:14px;font-weight:600;min-height:32px;padding:0;line-height:1.2}.role .business-switch span{text-decoration:underline;text-underline-offset:3px}.business-header .operation-role{line-height:1}.role .business-switch .line-icon{width:18px;height:18px}

#sale-form>label{font-size:16px;font-weight:500;color:var(--muted)}#sale-form>input:not([type=hidden]),#sale-form>select{font-size:18px;font-weight:700}#sale-form .add-sale-return{margin-top:16px;font-size:16px;font-weight:700}

#sale-form>label{text-transform:uppercase}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-date-field{position:relative}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-date-field input{font-size:18px;font-weight:700;color:transparent;-webkit-text-fill-color:transparent}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-date-value{position:absolute;inset:1px 42px 1px 1px;display:flex;align-items:center;padding:10px 12px;border-radius:7px;background:#fffdf8;color:var(--ink);font-size:18px;font-weight:700;pointer-events:none}

#sale-form .add-sale-return,#sale-form>button[type=submit]{text-transform:uppercase}

#sale-form .document-actions button{text-transform:uppercase}

#sale-form [data-new-client]{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px}#sale-form [data-new-client] .line-icon{width:22px;height:22px}

#sale-form .document-actions button{font-size:16px;min-height:54px;padding:12px 16px}

:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment{margin:12px 0 16px}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment .attachment-preview{margin:0 0 6px}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment-line{display:flex;align-items:center;gap:8px;min-width:0;color:var(--brand)}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment-line .line-icon{width:20px;height:20px;flex-shrink:0}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment-line strong{font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:0 1 auto}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment-line button{font-size:16px;flex-shrink:0;min-height:44px}

.invoice-detail>.subtitle{font-size:18px;font-weight:700;color:var(--ink)}.invoice-detail .panel .row{align-items:baseline;gap:12px;margin:16px 0}.invoice-detail .panel .row>span{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase;min-width:0;flex:1}.invoice-detail .panel .row>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap;flex-shrink:0}.invoice-detail>.primary,.invoice-detail>.secondary{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}.invoice-detail>.small-link{font-size:16px;font-weight:600;min-height:44px}.invoice-detail .registration-date{font-size:14px}.invoice-detail .status{font-size:14px}

.saved-invoice-preview>.subtitle{text-transform:uppercase;font-size:22px;line-height:1.3;overflow-wrap:anywhere}.saved-invoice-preview .panel .final-invoice-total{margin-top:20px}.saved-invoice-preview .panel .final-invoice-total>strong{font-family:var(--font-heading);font-size:28px}.saved-invoice-preview>.registration-date{margin:10px 0 16px}

.sale-items{margin:24px 0}.sale-items h3,.invoice-items h3{font-size:18px;font-weight:600;margin-bottom:16px}.sale-item-editor{padding:16px 0;border-bottom:1px solid var(--border)}.sale-item-editor:first-of-type{padding-top:0}.sale-item-editor label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}.sale-item-editor input,.sale-item-editor select{font-size:18px;font-weight:700}.sale-item-editor .pair{gap:12px}.sale-item-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.sale-item-footer>span{font-size:16px;color:var(--muted)}.sale-item-footer strong{color:var(--ink);font-size:18px}.sale-item-footer button{font-size:16px}.sale-items>[data-add-sale-item]{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;min-height:48px;font-size:16px;text-transform:uppercase}.sale-items [data-add-sale-item] .line-icon{width:20px;height:20px}.sale-reading-demo{font-size:14px}.sale-reading-review p{font-size:16px}.sale-reading-review label{display:flex;align-items:center;gap:10px;font-size:16px;color:var(--ink);font-weight:600}.sale-reading-review input[type=checkbox]{flex-shrink:0}.invoice-items{margin:24px 0}.invoice-item{padding:14px 0;border-bottom:1px solid var(--border)}.invoice-item>strong{display:block;font-size:18px;font-weight:700;overflow-wrap:anywhere}.invoice-item-values{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:8px;font-size:16px;color:var(--muted)}.invoice-item-values>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap}

.sale-item-editor .pair>div{display:flex;flex-direction:column}.sale-item-editor .pair input{margin-top:auto}

.sale-item-editor>summary{display:block;list-style:none;cursor:pointer;padding:0}.sale-item-editor>summary::-webkit-details-marker{display:none}.sale-item-name{display:block;font-size:18px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}.sale-item-summary-values{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:6px;font-size:16px;color:var(--muted)}.sale-item-summary-values>strong{font-size:18px;color:var(--ink);white-space:nowrap}.sale-item-edit-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:16px;font-weight:600;text-decoration:underline;color:var(--brand)}.sale-item-edit-link .line-icon{width:18px;height:18px}.sale-item-fields{padding:0 0 8px}.sale-item-editor>summary:focus-visible{outline:3px solid #d4943f;outline-offset:3px}

.saved-invoice-preview .panel>.invoice-items{margin:0 0 20px}.saved-invoice-preview .panel .invoice-item-values{flex-wrap:wrap}.saved-invoice-preview .panel .invoice-item-values>strong{margin-left:auto}

.saved-invoice-preview .panel>.invoice-items{margin:20px 0}

.saved-invoice-preview>.subtitle{margin-bottom:8px}.saved-invoice-preview>.panel{margin-top:8px}.saved-invoice-preview .invoice-number{color:#856126}

.sale-confirm-actions{margin:16px 0 8px}.sale-confirm-actions button{margin:0;width:100%;min-height:48px;font-size:16px;font-weight:600}.sale-confirm-actions .cancel-sale{background:#a4432d;border-color:#a4432d;color:#fff}

.saved-invoice-preview>.receipt-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.saved-invoice-preview>.receipt-link .line-icon{width:22px;height:22px;flex-shrink:0}.saved-invoice-preview>.receipt-link span{text-decoration:underline;text-underline-offset:3px}

/* Plantilla aprobada aplicada a Devolución. */
#return-form label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase}#return-form input:not([type=hidden]),#return-form select{font-size:18px;font-weight:700}#return-form .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}#return-form .origin-label{font-size:22px;font-weight:700;text-transform:uppercase;color:var(--ink);margin:24px 0 8px}#return-form .product-entry{padding:16px;border:1px solid #aac7b9;background:#e0ede5;border-radius:11px;margin:24px 0}#return-form .pair>div{display:flex;flex-direction:column}#return-form .pair>div input{margin-top:auto}#return-form .primary,#return-form .secondary{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}#return-form .document-actions button{min-height:54px;padding:12px 16px}#return-form .small-link,[data-cancel-return]{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px}#return-form .small-link span,[data-cancel-return] span{text-decoration:underline;text-underline-offset:3px}#return-form .small-link .line-icon,[data-cancel-return] .line-icon{width:22px;height:22px}#return-form .capture-rate{margin:0;min-height:54px}#return-form .capture-rate>span:first-child{font-size:14px}#return-form .total strong{font-size:28px}
#return-form [data-add-product]{display:flex;align-items:center;justify-content:center;gap:8px}

#sale-form .sale-form-actions{gap:12px;margin-top:16px}#sale-form .sale-form-actions button{width:100%;margin:0;padding:12px 8px;min-height:48px;font-size:16px;font-weight:600;text-transform:uppercase}#sale-form .cancel-sale-form{background:#a4432d;border-color:#a4432d;color:#fff}
#return-form .total>span{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase}
#return-form .product-row{padding:16px 0;gap:10px}#return-form .product-row>div>strong{font-size:18px;font-weight:700;text-transform:uppercase;color:var(--ink)}#return-form .product-row>div>span{font-size:16px;font-weight:500;color:var(--muted);margin-top:8px}#return-form .product-row>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap}#return-form .product-row .icon-action{flex-shrink:0}

#sale-form .prepared-return-summary{display:flex;align-items:baseline;justify-content:space-between;gap:12px}#sale-form .prepared-return-summary>span{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase}#sale-form .prepared-return-summary>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap}#sale-form .prepared-return>[data-remove-sale-return]{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:8px;font-size:16px;font-weight:600}#sale-form .prepared-return>[data-remove-sale-return] .line-icon{width:22px;height:22px}

.expense-losses{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}.expense-losses h3{font-size:18px;font-weight:700;color:var(--ink)}.expense-losses .total>span{font-size:16px;font-weight:500;color:var(--muted)}.expense-losses .total>strong{font-size:28px;font-weight:700}

/* Plantilla aprobada: formulario de gasto. */
#expense-form label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase}#expense-form input:not([type=hidden]),#expense-form select{font-size:18px;font-weight:700;color:var(--ink)}#expense-form .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}#expense-form .primary,#expense-form .secondary{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}#expense-form .document-actions button{min-height:54px;padding:12px 16px}#expense-form .capture-rate{margin:0}#expense-form .expense-form-actions{gap:12px;margin-top:18px}#expense-form .expense-form-actions button{width:100%;margin:0;padding:12px 8px}#expense-form .cancel-expense{background:#a4432d;border-color:#a4432d;color:#fff}

/* Plantilla aprobada: Gastos del mes. */
.expenses-screen>label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}.expenses-screen>select{font-size:18px;font-weight:700;color:var(--ink)}.expenses-screen .total>span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}.expenses-screen .total>strong{font-size:28px;font-weight:700;color:var(--ink)}.expenses-screen>.primary{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-size:16px;font-weight:600;text-transform:uppercase}.expenses-screen>.primary .line-icon{width:22px;height:22px}.expenses-screen .list-button>strong{font-size:18px;font-weight:700}.expenses-screen .list-button>span{font-size:16px}.expenses-screen .list-button>.registration-date{font-size:14px}.expenses-screen .empty{font-size:16px}.expenses-screen .pagination button{font-size:16px;min-height:48px;text-transform:uppercase}

.expenses-screen .expense-list-item>strong{font-size:18px;font-weight:700;text-transform:uppercase}.expenses-screen .expense-list-item>.expense-list-values{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px}.expenses-screen .expense-list-values>span{font-size:16px;margin:0}.expenses-screen .expense-list-values>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap}

.expenses-screen .expense-list-item{padding:12px 15px;margin:8px 0}.expenses-screen .expense-list-item>.expense-list-values{margin-top:4px}.expenses-screen .expense-list-item>.record-description{margin-top:4px}
.expenses-screen .expense-losses .total{background:#f6efdf;border-color:#856126}.expenses-screen .expense-losses .total>span{color:#856126}

.expenses-screen .expense-list-item>strong,.expenses-screen .expense-list-values{line-height:1.2}.expenses-screen .expense-list-item>.expense-list-values{margin-top:0}.expenses-screen .expense-detail-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600;padding:0;margin:2px 0 0}.expenses-screen .expense-detail-link .line-icon{width:22px;height:22px}.expenses-screen .expense-detail-link>span{margin:0;font-size:16px;color:var(--brand);text-decoration:underline;text-underline-offset:3px}
.expenses-screen .expense-list-item{padding:8px 12px;margin:6px 0}.expenses-screen .expense-detail-link{margin-top:0}
#return-form .product-list:not(:empty){background:#f6efdf;border:1px solid #c8b58c;border-radius:11px;padding:0 14px;margin:16px 0}#return-form .product-list .product-row{border-bottom-color:#d9cbae}#return-form .product-list .product-row:last-child{border-bottom:0}

#return-form .returned-products-title{font-size:16px;font-weight:500;color:#856126;margin:12px 0 4px;line-height:1.2}#return-form .product-list .product-row{padding:10px 0;line-height:1.2}#return-form .product-list .product-row>div>span{margin-top:2px}
.expenses-screen .expense-list-item{text-align:left;padding:8px 12px}.expenses-screen .expense-list-item>.expense-list-values{justify-content:space-between;gap:12px}.expenses-screen .expense-detail-link{justify-content:flex-start;margin:0;min-height:44px}
.expenses-screen .expense-list-item{padding:6px 12px;margin:4px 0}.expenses-screen .expense-list-values>strong{font-family:var(--font-body);font-size:18px;font-weight:700;line-height:1.2}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment .attachment-preview{margin-bottom:0}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment-line{align-items:flex-start;padding-top:2px}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment-line>strong{line-height:1.4}:is(#sale-form,#return-form,#expense-form,#payment-form,#supplier-form,#purchase-form,#payroll-form) .sale-attachment-line button{display:inline-flex;align-items:flex-start;padding:0;line-height:1.4;margin:0}

.expense-detail>.subtitle{font-size:16px;font-weight:500;color:var(--muted);margin:8px 0 16px}.expense-detail .panel .row{align-items:baseline;margin:12px 0}.expense-detail .panel .row>strong{white-space:normal;overflow-wrap:anywhere;text-align:right;max-width:65%}.expense-detail .panel .expense-final-total{margin-top:20px}.expense-detail .panel .expense-final-total>strong{font-family:var(--font-heading);font-size:28px;font-weight:700;white-space:nowrap}.expense-detail>.receipt-link,.expense-detail>.expense-annul-link{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px;text-decoration:none}.expense-detail>.receipt-link span,.expense-detail>.expense-annul-link span{text-decoration:underline;text-underline-offset:3px}.expense-detail .line-icon{width:22px;height:22px}

.expenses-screen .expense-full-list{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px;padding:0}.expenses-screen .expense-full-list .line-icon{width:22px;height:22px}.expenses-screen .expense-full-list span{text-decoration:underline;text-underline-offset:3px}

.loss-detail .panel{padding:10px 16px}.loss-detail .panel .row{margin:6px 0;line-height:1.25}.loss-detail .panel .expense-final-total{margin-top:10px}.loss-detail .panel .row:first-child{margin-top:0}.loss-detail .panel .row:last-child{margin-bottom:0}

.loss-detail .loss-returned-items{margin:10px 0}.loss-detail .loss-returned-items>span{display:block;font-size:16px;font-weight:500;color:var(--muted)}.loss-detail .loss-returned-item{margin-top:5px;line-height:1.25}.loss-detail .loss-returned-item>strong{display:block;font-size:18px;font-weight:700;color:var(--ink)}.loss-detail .loss-returned-item>span{display:block;font-size:16px;color:var(--muted);margin-top:1px}

.loss-detail .panel .loss-client-row>strong{text-transform:uppercase;color:#856126}.loss-detail .loss-returned-item>strong{color:#a4432d}

/* Aplicación de la plantilla a Registrar pago. */
#payment-form>label,#payment-form .payment-invoices legend{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase}#payment-form input:not([type=hidden]):not([type=checkbox]),#payment-form select{font-size:18px;font-weight:700;color:var(--ink)}#payment-form .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}#payment-form .primary,#payment-form .secondary{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}#payment-form .document-actions button{min-height:54px;padding:12px 16px}#payment-form .capture-rate{margin:0;text-transform:uppercase}#payment-form .payment-invoice{padding:8px 0;line-height:1.25}#payment-form .payment-invoice strong{font-size:18px;font-weight:700}#payment-form .payment-invoice small{font-size:16px;margin-top:2px}#payment-form .payment-form-actions{gap:12px;margin-top:18px}#payment-form .payment-form-actions button{width:100%;margin:0;padding:12px 8px}#payment-form .cancel-payment{background:#a4432d;border-color:#a4432d;color:#fff}#payment-summary{font-size:16px;line-height:1.4}

#payment-form .payment-no-invoices{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase;margin:8px 0;line-height:1.4}

/* Plantilla: Facturas. */
.invoices-screen>label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase}.invoice-search{position:relative;margin-bottom:16px}.invoice-search>.line-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;color:var(--brand);pointer-events:none}.invoice-search>input{padding-left:44px;font-size:18px;font-weight:700}.invoices-screen .invoice-filters{gap:12px;margin-bottom:14px}.invoices-screen .invoice-filters button{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}.invoices-screen .invoice-list-item{padding:10px 12px;margin:6px 0;line-height:1.25}.invoices-screen .invoice-list-item>strong{font-size:18px;font-weight:700}.invoices-screen .invoice-list-item>span{font-size:16px;margin-top:3px}.invoices-screen .invoice-list-item>.invoice-list-client{font-size:18px;font-weight:700;text-transform:uppercase}.invoices-screen .invoice-client-link{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px}.invoices-screen .invoice-client-link .line-icon{width:22px;height:22px}.invoices-screen .pagination button{font-size:16px;min-height:48px;text-transform:uppercase}

.invoices-screen .invoice-payment-state{display:inline;font-size:16px;font-weight:600;margin:0}.invoices-screen .invoice-payment-state.pending{color:#a4432d}.invoices-screen .invoice-payment-state.paid{color:#245747}

.invoices-screen .client-summary-item{padding:10px 12px;margin:6px 0;line-height:1.25}.invoices-screen .client-summary-item>strong{font-size:18px;font-weight:700;text-transform:uppercase}.invoices-screen .client-summary-item>.client-summary-balance{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:3px}.invoices-screen .client-summary-balance>span{font-size:16px;margin:0}.invoices-screen .client-summary-balance>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap}

.invoices-screen .invoice-payment-state.pending{color:#856126}.invoices-screen .invoice-payment-state.overdue{color:#a4432d}
.invoices-screen .invoice-payment-state.pending::before,.invoices-screen .invoice-payment-state.overdue::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:middle}
.invoices-screen .invoice-payment-state.pending,.invoices-screen .invoice-payment-state.overdue{text-transform:uppercase}.invoices-screen .invoice-payment-state.pending{color:#a97820}

.invoices-screen .invoice-payment-state.paid{text-transform:uppercase}.invoices-screen .invoice-payment-state.paid::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:currentColor;margin-right:6px;vertical-align:middle}

.commerce-invoices>h2{text-transform:uppercase}.commerce-invoices>.commerce-payment{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-size:16px;font-weight:600;text-transform:uppercase}.commerce-invoices .commerce-payment .line-icon{width:22px;height:22px}
.invoices-screen .invoice-list-item>.invoice-list-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;column-gap:12px;row-gap:0}.invoice-list-date-state{white-space:nowrap}.invoices-screen .invoice-details-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--brand);font-size:16px;font-weight:600;text-transform:none}.invoice-details-link>span{text-decoration:underline;text-underline-offset:3px}.invoice-details-link>.line-icon{width:22px;height:22px;flex-shrink:0}
.invoices-screen .invoice-list-item>.invoice-list-footer{margin-top:0}.invoices-screen .invoice-list-item>.invoice-list-number,.invoices-screen .invoice-list-item>.invoice-list-total{display:block;font-size:18px;font-weight:700;line-height:1.25;margin-top:3px}
.invoices-screen .invoice-list-footer>.invoice-list-total{font-size:18px;font-weight:700;line-height:1.25}
.invoices-screen .invoice-list-item>.invoice-list-number,.invoices-screen .invoice-list-item>.invoice-list-client,.invoices-screen .invoice-list-footer>.invoice-list-total{font-size:16px}
.invoices-screen .invoice-list-item>.invoice-list-footer{align-items:flex-start}.invoices-screen .invoice-list-footer>.invoice-details-link{margin-top:0;align-items:flex-start;line-height:20px}.invoices-screen .invoice-details-link>span{margin-top:0;font-size:16px;color:var(--brand)}.invoices-screen .invoice-details-link>.line-icon{height:20px}.invoices-screen .invoice-list-footer>.invoice-list-total{margin-top:0}
.invoices-screen .invoice-list-footer>.invoice-details-link{min-height:20px}
.invoices-screen .invoice-expand-link{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600}.invoice-expand-link>.line-icon{width:22px;height:22px}
.compact-invoice-detail>.subtitle{text-transform:uppercase;color:#856126;margin-bottom:12px}.compact-invoice-detail .invoice-number{color:#856126}.compact-invoice-detail .panel{padding:10px 16px}.compact-invoice-detail .panel .row{margin:6px 0;line-height:1.25}.compact-invoice-detail .panel .row:first-child{margin-top:0}.compact-invoice-detail .invoice-items{margin:10px 0}.compact-invoice-detail .invoice-items h3{font-size:16px;font-weight:500;text-transform:uppercase;margin:0 0 6px;color:var(--muted)}.compact-invoice-detail .invoice-item{padding:6px 0}.compact-invoice-detail .invoice-item>strong{font-size:16px;text-transform:uppercase}.compact-invoice-detail .invoice-item-values{margin-top:2px;font-size:16px}.compact-invoice-detail .invoice-item-values strong{font-size:16px}.compact-invoice-detail .invoice-detail-state{display:inline-block;font-size:16px;font-weight:600;text-transform:uppercase;margin-top:6px}.invoice-detail-state.pending{color:#a97820}.invoice-detail-state.overdue{color:#a4432d}.invoice-detail-state.paid{color:#245747}.invoice-detail-state::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:currentColor;margin-right:6px}.compact-invoice-detail>.primary,.compact-invoice-detail>.receipt-link{display:flex;align-items:center;gap:8px}.compact-invoice-detail>.primary{justify-content:center}.compact-invoice-detail>.primary .line-icon,.compact-invoice-detail>.receipt-link .line-icon{width:22px;height:22px}
.providers-screen>label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}.providers-screen>select{font-size:18px;font-weight:700}.provider-filters{gap:12px;margin-bottom:14px}.providers-screen .provider-filters button,.providers-screen .provider-register{font-size:16px;font-weight:600;text-transform:uppercase;min-height:48px}.providers-screen .provider-list-item{padding:10px 12px;margin:6px 0;line-height:1.25}.providers-screen .provider-list-item>strong{font-size:16px;text-transform:uppercase;margin-top:3px}.providers-screen .provider-list-item>span{font-size:16px;margin-top:3px}.providers-screen .provider-list-item>.provider-state{display:inline;font-weight:600}.providers-screen .provider-state.pending{color:#a97820}.providers-screen .provider-state.paid{color:#245747}.provider-state::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:currentColor;margin-right:6px}.providers-screen .provider-list-item>.provider-date{display:inline;margin-left:6px}.providers-screen .provider-list-item>.provider-list-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:3px}.provider-list-footer>strong{font-size:16px}.providers-screen .provider-details{display:inline-flex;align-items:center;gap:6px;color:var(--brand);font-size:16px;font-weight:600;margin:0}.providers-screen .provider-details>span{margin:0;font-size:16px;color:var(--brand);text-decoration:underline}.provider-details .line-icon{width:22px;height:20px}.provider-register{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px}.provider-register .line-icon{width:22px;height:22px}.providers-screen .empty{font-size:16px}.providers-screen .pagination button{font-size:16px;min-height:48px;text-transform:uppercase}
.supplier-detail>h2{text-transform:uppercase}.supplier-detail .panel{padding:10px 16px}.supplier-detail .panel .row{margin:6px 0;line-height:1.25}.supplier-detail .panel .row:first-child{margin-top:0}.supplier-detail .invoice-detail-state{font-size:16px;font-weight:600;text-transform:uppercase;display:inline-block;margin-top:6px}.supplier-detail>h3{font-size:16px;font-weight:500;margin:16px 0 8px;color:var(--muted)}.supplier-detail .supplier-description{font-size:16px;margin:6px 0}.supplier-open-payment{display:flex;align-items:center;justify-content:center;gap:8px}.supplier-open-payment .line-icon{width:22px;height:22px}.supplier-detail .supplier-payment-item{padding:10px 12px;margin:6px 0}.supplier-payment-item>strong{font-size:16px}.supplier-payment-item>span{display:flex;align-items:center;gap:8px;font-size:16px;color:var(--brand);text-decoration:underline}.supplier-payment-item .line-icon{width:22px;height:22px}#supplier-form>label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}#supplier-form input:not([type=hidden]),#supplier-form select{font-size:18px;font-weight:700}#supplier-form .primary,#supplier-form .secondary{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}#supplier-form .document-actions button{min-height:54px}#supplier-form .capture-rate{text-transform:uppercase}#supplier-form .supplier-form-actions{gap:12px;margin-top:16px}#supplier-form [data-cancel-supplier-payment]{background:#a4432d;border-color:#a4432d;color:#fff}#supplier-form .info{font-size:16px}
#supplier-form .supplier-form-actions{align-items:start}#supplier-form .supplier-form-actions>button{width:100%;height:48px;min-height:48px;margin:0;padding:12px 8px;line-height:22px}

/* Factura de proveedor: plantilla aprobada de Operación. */
#purchase-form label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
#purchase-form input:not([type=hidden]),#purchase-form select{font-size:18px;font-weight:700;color:var(--ink)}
#purchase-form .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}
#purchase-form .primary,#purchase-form .secondary{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}
#purchase-form .document-actions button{min-height:54px;padding:12px 16px}
#purchase-form .capture-rate{margin:0;text-transform:uppercase}
#purchase-form .purchase-form-actions{gap:12px;margin-top:16px;align-items:start}
#purchase-form .purchase-form-actions>button{width:100%;height:48px;min-height:48px;margin:0;padding:12px 8px;line-height:22px}
#purchase-form [data-cancel-purchase]{background:#a4432d;border-color:#a4432d;color:#fff}

.providers-screen .provider-expand-link{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600}.provider-expand-link>span{text-decoration:underline;text-underline-offset:3px}.provider-expand-link>.line-icon{width:22px;height:22px}

.supplier-detail .invoice-number{color:#856126}

.supplier-detail .panel .supplier-balance>span,.supplier-detail .panel .supplier-balance>strong{color:#a4432d}

.providers-screen .provider-filters button[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:700}

/* Nómina: formato aprobado, tarjetas compactas y acciones existentes. */
.payroll-screen .payroll-person,.payroll-screen .payroll-retired{padding:10px 16px;margin:6px 0;border-radius:11px}
.payroll-screen .payroll-person h3,.payroll-screen .payroll-retired>strong{font-family:var(--font-body);font-size:18px;font-weight:700;text-transform:uppercase;line-height:1.25;margin:0 0 6px;overflow-wrap:anywhere}
.payroll-screen .payroll-amount{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0 10px;line-height:1.25}
.payroll-screen .payroll-amount>span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.payroll-screen .payroll-amount>strong{font-size:18px;font-weight:700;text-align:right;white-space:nowrap}
.payroll-screen .payroll-actions{gap:12px;align-items:start}
.payroll-screen .payroll-actions>button{width:100%;height:48px;min-height:48px;margin:0;padding:12px 8px;font-size:16px;font-weight:600;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px}
.payroll-screen .small-link{font-size:16px;font-weight:600;min-height:44px}
.payroll-screen button.small-link{display:flex;align-items:center;gap:8px;padding:0;margin:4px 0 0;text-align:left}
.payroll-screen button.small-link>span{text-decoration:underline;text-underline-offset:3px}
.payroll-screen .small-link .line-icon,.payroll-screen .payroll-add .line-icon{width:22px;height:22px}
.payroll-screen .payroll-retire,.payroll-screen .danger-link{color:#a4432d}
.payroll-screen .payroll-add{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;text-transform:uppercase;min-height:48px;margin-top:16px}
.payroll-screen .payroll-add>.line-icon{margin:0}
.payroll-screen .empty{font-size:16px}

.payroll-screen .payroll-position{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0;line-height:1.25}
.payroll-screen .payroll-position>span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.payroll-screen .payroll-position>strong{font-size:18px;font-weight:700;text-align:right;overflow-wrap:anywhere;min-width:0}

.payroll-screen button.small-link:has(>span){text-decoration:none}
.payroll-screen .retired-staff .panel button.small-link{display:flex;align-items:center;gap:8px}

#staff-form label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase}
#staff-form input,#staff-form select{font-size:18px;font-weight:700;color:var(--ink)}
:is(#staff-form,#payroll-form) .staff-form-actions{gap:12px;margin-top:16px;align-items:start}
:is(#staff-form,#payroll-form) .staff-form-actions>button{width:100%;height:48px;min-height:48px;margin:0;padding:12px 8px;font-size:16px;font-weight:600;line-height:22px;text-transform:uppercase}
#staff-form [data-cancel-staff]{background:#a4432d;border-color:#a4432d;color:#fff}
.staff-screen .staff-retire{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600;color:#a4432d;text-decoration:none;margin:8px 0 0;padding:0}
.staff-screen .staff-retire>span{text-decoration:underline;text-underline-offset:3px}
.staff-screen .staff-retire>.line-icon{width:22px;height:22px}

.daily-report-screen>label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.report-date-field{position:relative}
.report-date-field input{font-size:18px;font-weight:700;color:transparent;-webkit-text-fill-color:transparent}
.report-date-field>span{position:absolute;inset:1px 42px 1px 1px;display:flex;align-items:center;padding:10px 12px;border-radius:7px;background:#fffdf8;color:var(--ink);font-size:18px;font-weight:700;pointer-events:none}
.daily-report-screen .info{font-size:16px;padding:12px 16px;margin:16px 0 10px}
.daily-report-screen .info>strong{text-transform:uppercase;font-size:16px;font-weight:700}
.daily-report-screen .info p{margin:6px 0 0;font-size:16px}
.daily-report-screen .info button{font-size:16px;font-weight:600;text-transform:uppercase;min-height:48px;margin-top:10px}
.daily-report-screen .report-update{font-size:14px;color:var(--muted);margin:10px 0}
.daily-report-screen h3{font-family:var(--font-body);font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.daily-report-screen .report-totals{padding:10px 16px;border-radius:11px;margin:10px 0}
.daily-report-screen .report-totals h3{margin:0 0 10px}
.daily-report-screen .report-totals .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0;line-height:1.25}
.daily-report-screen .report-totals .row>span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.daily-report-screen .report-totals .row>strong{font-size:18px;font-weight:700;white-space:nowrap}
.daily-report-screen .report-movement{padding:10px 12px;margin:6px 0;line-height:1.25}
.daily-report-screen .report-movement>strong{font-size:18px;font-weight:700;text-transform:uppercase}
.daily-report-screen .report-movement>span{font-size:16px;margin-top:3px}
.daily-report-screen .report-movement>.report-movement-values{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.report-movement-values>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap}
.daily-report-screen .report-movement>.report-movement-author{font-size:14px}
.daily-report-screen .empty,.daily-report-screen .hint,.daily-report-screen .report-request{font-size:16px}

.daily-report-screen .report-movement>.report-details-link{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600;color:var(--brand);margin-top:2px}
.report-details-link>span{text-decoration:underline;text-underline-offset:3px}
.report-details-link>.line-icon{width:22px;height:22px}

.history-screen>label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.history-screen>select{font-size:18px;font-weight:700;color:var(--ink)}
.history-screen .history-record{padding:10px 12px;margin:6px 0;border-radius:9px;line-height:1.25}
.history-screen .history-record>strong{font-family:var(--font-body);font-size:18px;font-weight:700;text-transform:uppercase}
.history-screen .history-record>span{font-size:16px;margin-top:3px}
.history-screen .history-record>.history-values{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.history-values>strong{font-size:18px;font-weight:700;color:var(--ink);white-space:nowrap}
.history-screen .history-record>.registration-date{font-size:14px;line-height:1.4;margin:4px 0 0}
.history-screen .history-record>.history-details-link{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600;color:var(--brand);margin-top:2px}
.history-details-link>span{text-decoration:underline;text-underline-offset:3px}
.history-details-link>.line-icon{width:22px;height:22px}
.history-screen .empty{font-size:16px}

.compact-expense-detail .panel{padding:10px 16px;border-radius:11px}
.compact-expense-detail .panel .row{margin:6px 0;line-height:1.25;gap:12px}
.compact-expense-detail .panel .row:first-child{margin-top:0}
.compact-expense-detail .panel .row:last-child{margin-bottom:0}
.compact-expense-detail .panel .row>span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.compact-expense-detail .panel .row>strong{font-size:18px;font-weight:700;text-align:right}
.compact-expense-detail .panel .expense-final-total{margin-top:10px}
.compact-expense-detail .panel .expense-final-total>strong{font-family:var(--font-heading);font-size:28px;font-weight:700;white-space:nowrap}

.catalog-screen .catalog-unit{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted);margin:8px 0 16px}
.catalog-screen .catalog-row{padding:10px 12px;margin:6px 0;border:1px solid var(--border);border-radius:9px;background:#fffdf8;gap:8px}
.catalog-screen .catalog-row>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.catalog-screen .catalog-row strong{font-size:18px;font-weight:700;text-transform:uppercase;line-height:1.25}
.catalog-screen .catalog-row .catalog-price{font-size:18px;font-weight:700;margin:0;white-space:nowrap;color:var(--ink);text-align:right}
.catalog-screen .catalog-row .catalog-price.pending{font-size:16px;font-weight:500;white-space:normal;color:#a97820}
.catalog-screen .icon-action{width:44px;min-width:44px;min-height:48px;padding:8px}
.catalog-screen .icon-action .line-icon{width:22px;height:22px}
.catalog-screen .catalog-add{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-size:16px;font-weight:600;text-transform:uppercase;margin-top:16px}
.catalog-screen .catalog-add>.line-icon{width:22px;height:22px;margin:0}
#catalog-form{margin-top:16px}
#catalog-form h3{font-size:18px;text-transform:uppercase;margin:16px 0 8px}
#catalog-form label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
#catalog-form input:not([type=hidden]){font-size:18px;font-weight:700;color:var(--ink)}
#catalog-form .catalog-form-actions{gap:12px;margin-top:16px;align-items:start}
#catalog-form .catalog-form-actions>button{height:48px;min-height:48px;width:100%;margin:0;padding:12px 8px;font-size:16px;font-weight:600;text-transform:uppercase}
#catalog-form [data-cancel-catalog]{background:#a4432d;border-color:#a4432d;color:#fff}

/* Reporte mensual: jerarquía y recuadros de la plantilla de Operación. */
.monthly-report-screen>h2{font-size:28px;font-weight:600}
.monthly-report-screen>label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.monthly-report-screen>select{font-size:18px;font-weight:700}
.monthly-report-screen .info{font-size:16px;padding:12px 16px;margin:16px 0 10px;line-height:1.25}
.monthly-report-screen .info>strong{font-size:16px;font-weight:700;text-transform:uppercase}
.monthly-report-screen .info p{margin:6px 0 0;font-size:16px}
.monthly-report-screen .info button,.monthly-report-screen .monthly-download{font-size:16px;font-weight:600;text-transform:uppercase;min-height:48px}
.monthly-report-screen .info button{margin-top:10px}
.monthly-report-screen .monthly-download{display:block;width:100%;margin:12px 0}
.monthly-report-screen .monthly-section{margin-top:16px}
.monthly-report-screen h3{font-family:var(--font-body);font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.monthly-report-screen h3.monthly-origin{font-size:18px;font-weight:700;color:var(--ink)}
.monthly-report-screen .monthly-totals{padding:10px 16px;border-radius:11px;margin:10px 0}
.monthly-report-screen .monthly-totals .row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:6px 0;line-height:1.25}
.monthly-report-screen .monthly-totals .row:first-child{margin-top:0}
.monthly-report-screen .monthly-totals .row:last-child{margin-bottom:0}
.monthly-report-screen .monthly-totals .row>span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.monthly-report-screen .monthly-totals .row>strong{font-size:18px;font-weight:700;text-align:right;white-space:nowrap}
.monthly-report-screen .monthly-totals .monthly-highlight>strong{font-family:var(--font-heading);font-size:28px;font-weight:700}
.monthly-report-screen .report-update{font-size:14px;color:var(--muted);margin:10px 0;line-height:1.4}
.monthly-report-screen .monthly-request{padding:10px 16px;margin:6px 0;font-size:16px;line-height:1.25}
.monthly-report-screen .monthly-request>strong{text-transform:uppercase;font-size:16px}
.monthly-report-screen .monthly-request p,.monthly-report-screen .empty{font-size:16px}

/* Valores de reportes: colores aprobados, con signo para las pérdidas. */
.daily-report-screen .row.value-sales>strong,.monthly-report-screen .row.value-sales>strong{color:#856126}
.daily-report-screen .row.value-expense>strong,.monthly-report-screen .row.value-expense>strong{color:#a4432d}
.daily-report-screen .row.value-profit>strong,.monthly-report-screen .row.value-profit>strong{color:#245747}
.daily-report-screen .row.value-loss>strong,.monthly-report-screen .row.value-loss>strong{color:#b3261e}
.report-note{margin:8px 0 16px;padding:0;border:0;background:transparent}
.report-note>summary{display:flex;align-items:center;gap:8px;min-height:44px;width:fit-content;color:#245747;cursor:pointer;list-style:none;font-size:16px;font-weight:600}
.report-note>summary::-webkit-details-marker{display:none}
.report-note>summary span{text-decoration:underline;text-underline-offset:3px}
.report-note>summary .line-icon{width:22px;height:22px;margin:0}
.report-note>summary:focus-visible{outline:2px solid #245747;outline-offset:4px}
.report-note-content{background:#fffef8;border:1px solid #d8dbd0;border-radius:11px;padding:12px 16px;font-size:16px;line-height:1.5}
.report-note-content p{margin:0 0 12px}
.report-note-content p:last-child{margin:0}

/* Caja de Mana: la misma plantilla visual, conservando su alcance propio. */
.caja-layout .business-header .role{font-size:16px;font-weight:700;text-transform:uppercase}
.caja-layout .business-header .role .caja-logout{font-size:14px;font-weight:600;text-transform:none}
.caja-layout .expense-form-actions button{display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2}
.caja-mana-layout .business-header .role button{font-size:14px;font-weight:600;text-transform:none;text-decoration:underline;min-height:44px}
.caja-mana-layout .caja-records-screen .caja-section-title{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted);margin:16px 0 8px}
.caja-mana-layout .caja-client{font-size:22px;font-weight:700;text-transform:uppercase;margin:8px 0 12px}
.caja-mana-layout .caja-record-detail .expense-final-total>strong{font-family:var(--font-heading);font-size:28px;font-weight:700}
.caja-mana-layout .caja-request{padding:10px 12px;margin:6px 0;border-radius:11px;line-height:1.25}
.caja-mana-layout .caja-request>strong{display:block;font-size:18px;font-weight:700;text-transform:uppercase}
.caja-mana-layout .caja-request-values{display:flex;justify-content:space-between;gap:12px;margin-top:6px;align-items:baseline}
.caja-mana-layout .caja-request-values>span{font-size:16px;color:var(--muted)}
.caja-mana-layout .caja-request-values>strong{font-size:18px;white-space:nowrap}
.caja-mana-layout .caja-request-status{display:block;font-size:16px;font-weight:600;text-transform:uppercase;margin-top:6px}
.caja-mana-layout .caja-request-status.pending{color:#856126}
.caja-mana-layout .caja-request-status.approved{color:#245747}
.caja-mana-layout .caja-request-status.rejected{color:#a4432d}
.caja-mana-layout .registration-date{font-size:14px;margin-top:6px}
.caja-mana-layout .caja-request-details>summary,.caja-mana-layout .caja-request-receipt>summary{display:flex;align-items:center;gap:8px;min-height:44px;list-style:none;cursor:pointer;color:var(--brand);font-size:16px;font-weight:600}
.caja-mana-layout .caja-request-details>summary::-webkit-details-marker,.caja-mana-layout .caja-request-receipt>summary::-webkit-details-marker{display:none}
.caja-mana-layout .caja-request-details>summary span,.caja-mana-layout .caja-request-receipt>summary span{text-decoration:underline;text-underline-offset:3px}
.caja-mana-layout .caja-request-details .line-icon{width:22px;height:22px;margin:0}
.caja-mana-layout .caja-request-details p{font-size:16px;margin:6px 0}
.caja-mana-layout .caja-request-details .invoice-item{font-size:16px;padding:6px 0}
.caja-mana-layout .caja-request-details .invoice-item>strong{text-transform:uppercase}
.caja-mana-layout .caja-request-details .invoice-item-values{font-size:16px;margin-top:2px}
.caja-mana-layout .caja-return-actions{gap:12px;margin-top:16px}
.caja-mana-layout .caja-return-actions>button{width:100%;margin:0;min-height:48px;font-size:16px;font-weight:600;text-transform:uppercase}
.caja-mana-layout .caja-cancel{background:#a4432d;border-color:#a4432d;color:white}
.business-header .role:has(.caja-logout){line-height:1;position:relative;top:16px}
.business-header .role .caja-logout{display:flex;align-items:flex-start;justify-content:flex-end;gap:6px;min-height:44px;padding:4px 0 0;margin-top:0;line-height:1.2;text-decoration:none}
.business-header .caja-logout span{text-decoration:underline;text-underline-offset:3px}
.business-header .caja-logout .line-icon{width:18px;height:18px;margin:0;flex-shrink:0}
.business-header .direction-role{line-height:1;position:relative;top:16px}
.business-header:has(.direction-role){padding-bottom:16px}
.business-header:has(.direction-role)>strong{min-width:0;overflow-wrap:anywhere}
.direction-role-name{display:block;font-size:16px;font-weight:700;line-height:1}
.business-header .role .session-logout{display:flex;align-items:flex-start;justify-content:flex-end;gap:6px;min-height:44px;padding:4px 0 0;margin-top:0;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none}
.session-logout span{text-decoration:underline;text-underline-offset:3px}
.session-logout .line-icon{width:18px;height:18px;margin:0;flex-shrink:0}
.caja-mana-layout .caja-return-actions>button{display:flex;align-items:center;justify-content:center;text-align:center;padding:12px 8px;line-height:1.2}
.supplier-selected-payment .supplier-payment-status{display:block;font-size:16px;font-weight:600;margin:4px 0}
.supplier-payment-status::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:currentColor;margin-right:6px}
.direction-summary .summary-tabs{gap:12px;margin-bottom:16px}
.direction-home .direction-notices{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600}
.direction-home .direction-notices span{text-decoration:underline;text-underline-offset:3px}
.direction-home .direction-notices .line-icon{width:22px;height:22px}
.direction-invoice-actions{display:grid;gap:12px;margin:0 0 16px}
.direction-invoice-actions button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin:0;font-size:16px;font-weight:600;text-transform:uppercase;border-radius:9px}
.direction-invoice-actions .line-icon{width:22px;height:22px;flex-shrink:0}
.payroll-screen .business-select label{font-size:16px;font-weight:500;text-transform:uppercase}
.payroll-screen .business-select select{font-size:18px;font-weight:700}
.direction-summary .summary-tabs button{font-size:16px;font-weight:600;min-height:48px;margin:0}
.direction-summary .summary-tabs button[aria-pressed=true]{background:var(--brand);color:white;border-color:var(--brand)}
.direction-summary label{font-size:16px;font-weight:500;text-transform:uppercase}
.direction-summary select{font-size:18px;font-weight:700}
.summary-day{font-size:16px;color:var(--muted);margin:0 0 16px}
.summary-business{--summary-brand:#245747;--summary-tint:#e0ede5;padding:16px 12px;margin:16px 0 24px;border:1px solid #aac7b9;border-radius:11px;background:var(--summary-tint)}
.summary-business.cachito{--summary-brand:#a4432d;--summary-tint:#f8e9e0;border-color:#d7af9e}
.summary-business-name{font-family:var(--font-heading);font-size:22px;font-weight:700;color:var(--summary-brand);margin:0 0 12px}
.summary-business .panel{border-radius:11px;padding:12px;margin:10px 0}
.summary-main{background:#fffdf8;color:var(--ink);border-color:var(--border)}
.summary-main>span{display:block;font-size:16px;font-weight:500;text-transform:uppercase}
.summary-main>strong{display:block;font-family:var(--font-heading);font-size:28px;font-weight:700;line-height:1.3;margin:8px 0;text-align:right}
.summary-main>small{display:block;font-size:14px}
.summary-business .summary-rate{font-size:14px;line-height:1.3;margin:8px 0;overflow-wrap:anywhere}
.summary-main .summary-rate{color:inherit}
.summary-money-details summary,.summary-details{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600;cursor:pointer;list-style:none}
.summary-money-details summary span,.summary-details span{text-decoration:underline;text-underline-offset:3px}
.summary-money-details summary::-webkit-details-marker{display:none}
.summary-money-details .line-icon,.summary-details .line-icon{width:22px;height:22px;flex-shrink:0}
.summary-money-values{border-top:1px solid var(--border);padding-top:8px}
.summary-business .row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:6px 0;line-height:1.25}
.summary-business .row>span{font-size:16px;font-weight:500;text-transform:uppercase}
.summary-business .row>strong{font-size:18px;font-weight:700;text-align:right;white-space:nowrap}
.summary-money-values .hint{color:inherit;font-size:14px}
.summary-debt-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.summary-debt-cards .panel{margin:0;padding:8px}
.summary-debt-cards .panel>span{display:block;font-size:16px;font-weight:500;line-height:1.25;text-transform:uppercase;min-height:40px}
.summary-debt-cards strong{display:block;font-family:var(--font-heading);font-size:24px;font-weight:700;line-height:1.2;margin:4px 0;overflow-wrap:anywhere;text-align:right}
.summary-debt-cards small{display:block;font-size:16px;color:var(--muted)}
.summary-debt-cards .summary-details{align-items:center;line-height:1.25}
.summary-debt-cards .summary-details span{min-width:0}
.summary-debt-cards .panel:last-child>strong{color:#a4432d;text-align:left}
.summary-debt-cards .panel:first-child>strong{color:#856126;text-align:left}
@media(max-width:360px){.summary-debt-cards strong{font-size:22px}}
.summary-debt-list .summary-business{padding:0;border:0;background:none}
.summary-debt-list .summary-business>.panel{padding:10px 12px;margin:6px 0;line-height:1.25}
.summary-debt-list .row>strong:first-child{text-align:left;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
.summary-debt-list .summary-business .hint{font-size:16px;margin:6px 0}
.summary-creditors .row>strong:last-child{color:#a4432d}
.summary-pending>summary{font-size:16px;font-weight:600;min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--summary-brand);text-decoration:underline;text-underline-offset:3px}
.summary-pending .summary-debtor{padding:10px 12px;margin:6px 0;font-size:16px}
.summary-debtor>strong{font-size:18px;font-weight:700;overflow-wrap:anywhere}
.summary-debtor>span{display:block}
.summary-debtor .summary-item-link{display:flex;align-items:center;gap:8px;color:var(--summary-brand);font-weight:600;min-height:44px;text-decoration:underline}
.summary-item-link .line-icon{width:22px;height:22px}
.summary-business .summary-month-main{background:#fffdf8;border-color:var(--border);color:var(--ink)}
.summary-month-main.value-profit>strong{color:#245747}
.summary-month-main.value-loss>strong{color:#b3261e}
.summary-month-values .value-sales strong{color:#856126}
.summary-month-values .value-expense strong{color:#a4432d}
.summary-business .summary-details{color:var(--summary-brand);padding:0;margin:0}
.deposit-screen label{font-size:16px;font-weight:500;text-transform:uppercase;margin-top:16px}
.deposit-screen input:not([type=hidden]){font-size:18px;font-weight:700}
.deposit-screen .sale-date-field{position:relative}
.deposit-screen .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}
.deposit-screen .sale-date-value{position:absolute;inset:1px 42px 1px 1px;display:flex;align-items:center;padding:10px 12px;background:#fffdf8;border-radius:7px;color:var(--ink);font-size:18px;font-weight:700;pointer-events:none}
.deposit-actions{gap:12px;margin-top:18px}
.deposit-actions button{display:flex;align-items:center;justify-content:center;min-height:48px;font-size:16px;font-weight:600;margin:0;width:100%}
.deposit-actions .secondary{background:#a4432d;color:white;border-color:#a4432d}
.supplier-payment-status.partial{color:#856126}
.supplier-payment-status.settled{color:#245747}
.cachito-close-detail .panel .row{align-items:center}
.cachito-close-detail .panel .row>strong{white-space:nowrap;flex-shrink:0}
.cachito-close-audit{font-size:14px;color:var(--muted);margin:10px 0}
.cachito-close-audit span{display:block}
.cachito-close-detail>.receipt-link{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600}
.cachito-close-detail>.receipt-link .line-icon{width:22px;height:22px}
.cachito-close-screen #daily-form label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase;margin-top:16px}
.cachito-close-screen #daily-form input:not([type=hidden]){font-size:18px;font-weight:700}
.cachito-close-screen .sale-date-field{position:relative}
.cachito-close-screen .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}
.cachito-close-screen .sale-date-value{position:absolute;inset:1px 42px 1px 1px;display:flex;align-items:center;padding:10px 12px;border-radius:7px;background:#fffdf8;color:var(--ink);font-size:18px;font-weight:700;pointer-events:none}
.cachito-close-screen .primary,.cachito-close-screen .secondary{font-size:16px;font-weight:600;text-transform:uppercase}
.cachito-close-screen .document-actions button{min-height:54px}
.cachito-close-screen #daily-form .capture-rate{margin:0}
.cachito-close-screen .daily-form-actions{gap:12px;margin-top:18px}
.cachito-close-screen .daily-form-actions button{width:100%;margin:0;min-height:48px;display:flex;align-items:center;justify-content:center;padding:12px 8px}
.cachito-close-screen .daily-form-actions .secondary{background:#a4432d;border-color:#a4432d;color:white}
.cachito-close-screen .total>span{font-size:16px;font-weight:500;text-transform:uppercase}
.cachito-close-screen #daily-total{font-family:var(--font-heading);font-size:28px;font-weight:700}
.cachito-close-screen #daily-bs[hidden]{display:none}
.cachito-close-screen .hint{font-size:16px}
.cachito-close-screen .sale-attachment{margin:12px 0 16px}
.cachito-close-screen .sale-attachment .attachment-preview{margin:0}
.cachito-close-screen .sale-attachment-line{display:flex;align-items:flex-start;gap:8px;min-width:0;padding-top:2px;color:var(--brand)}
.cachito-close-screen .sale-attachment-line .line-icon{width:22px;height:22px;flex-shrink:0}
.cachito-close-screen .sale-attachment-line strong{font-size:16px;font-weight:600;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.cachito-close-screen .sale-attachment-line button{font-size:16px;min-height:44px;padding:0;margin:0;line-height:1.4;flex-shrink:0}

.supplier-selected-payment h3{font-size:16px;font-weight:500;text-transform:uppercase;margin:0 0 8px;color:var(--muted)}

/* Envíos a USA · formato aprobado de Dirección */
.send-screen label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase;margin:16px 0 7px}
.send-screen input:not([type=hidden]),.send-screen select{font-size:18px;font-weight:700}
.send-screen .panel{padding:10px 16px;border-radius:11px}
.send-screen .row{margin:6px 0;line-height:1.25}
.send-screen .row span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.send-screen .row strong{font-size:18px;font-weight:700;text-align:right}
.send-screen .sale-date-field{position:relative}
.send-screen .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}
.send-screen .sale-date-value{position:absolute;inset:1px 42px 1px 1px;display:flex;align-items:center;padding:10px 12px;background:#fffdf8;border-radius:7px;color:var(--ink);font-size:18px;font-weight:700;pointer-events:none}
.send-screen .capture-rate{margin-top:16px;min-height:54px;text-transform:uppercase}
.send-screen .info{font-size:16px}
.send-screen .send-form-actions{gap:12px;margin-top:18px}
.send-screen .send-form-actions>button{display:flex;align-items:center;justify-content:center;width:100%;margin:0;min-height:48px;padding:12px 8px;font-size:16px;font-weight:600;text-transform:uppercase}
.send-screen [data-cancel-send]{background:#a4432d;border-color:#a4432d;color:#fff}

.send-money-summary .summary-rate{font-size:14px;line-height:1.3;margin:8px 0}
.send-money-summary .row{gap:12px;align-items:flex-start}
.send-money-summary .row span{min-width:0;flex:1;overflow-wrap:anywhere}
.send-money-summary .row strong{flex-shrink:0;white-space:nowrap}

/* Reportes: jerarquía y descargas aprobadas */
.daily-report-screen .report-totals .row.value-sales>strong,.daily-report-screen .report-totals .row.value-profit>strong,.daily-report-screen .report-totals .row.value-loss>strong,.daily-report-screen .report-totals .row.value-zero>strong{font-family:var(--font-heading);font-size:28px;font-weight:700}
.daily-report-screen .report-download{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;font-size:16px;font-weight:600;text-transform:uppercase;margin-top:16px}
.daily-report-screen .report-totals .row>span,.monthly-report-screen .monthly-totals .row>span{min-width:0;overflow-wrap:anywhere}
.daily-report-screen .report-totals .row>strong,.monthly-report-screen .monthly-totals .row>strong{flex-shrink:0}
.daily-report-screen .report-note>summary,.monthly-report-screen .report-note>summary{color:var(--brand)}

.daily-report-screen .report-totals .row:last-child>strong{font-family:var(--font-heading);font-size:28px;font-weight:700}

/* Flete: componentes compartidos por Operación y Dirección */
.freight-screen label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase;margin:16px 0 7px}
.freight-screen input:not([type=hidden]),.freight-screen select{font-size:18px;font-weight:700}
.freight-screen .panel{padding:10px 16px;border-radius:11px}
.freight-screen .row{margin:6px 0;gap:12px;line-height:1.25}
.freight-screen .row span{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.freight-screen .row strong{font-size:18px;font-weight:700;text-align:right}
.freight-screen .summary-rate{font-size:14px}
.freight-screen .sale-date-field{position:relative}
.freight-screen .sale-date-field input{color:transparent;-webkit-text-fill-color:transparent}
.freight-screen .sale-date-value{position:absolute;inset:1px 42px 1px 1px;display:flex;align-items:center;padding:10px 12px;background:#fffdf8;border-radius:7px;color:var(--ink);font-size:18px;font-weight:700;pointer-events:none}
.freight-screen .primary,.freight-screen .secondary{font-size:16px;font-weight:600;min-height:48px;text-transform:uppercase}
.freight-screen .document-actions button{min-height:54px}
.freight-screen .capture-rate{margin:0;text-transform:uppercase}
.freight-screen .small-link{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px}
.freight-screen .small-link .line-icon{width:22px;height:22px}
.freight-screen .freight-form-actions{gap:12px;margin-top:18px}
.freight-screen .freight-form-actions>button{display:flex;align-items:center;justify-content:center;width:100%;margin:0;min-height:48px;padding:12px 8px}
.freight-screen [data-cancel-freight]{background:#a4432d;border-color:#a4432d;color:#fff}
.freight-screen .info{font-size:16px}
.freight-screen .registration-date,.freight-screen .movement-author{font-size:14px}

.freight-screen .row.freight-total>strong{font-family:var(--font-heading);font-size:28px;font-weight:700}

/* Inicio de sesión: formato aprobado */
.login .login-brands{margin:16px 0 24px;gap:16px;align-items:center}
.login .login-brands .brandmark{max-width:55%}
.login .login-brands .brandmark.cachito{max-width:34%}
.login h2{font-size:28px;font-weight:600;margin-bottom:20px}
#login-form>label{font-size:16px;font-weight:500;color:var(--muted);text-transform:uppercase;margin:16px 0 7px}
#login-form input{font-size:18px;font-weight:700;min-height:49px;padding:11px 13px;border-radius:8px}
.login .primary,.login .secondary{display:flex;align-items:center;justify-content:center;gap:8px;font-size:16px;font-weight:600;min-height:48px;border-radius:9px;text-transform:uppercase}
.login .passkey-access .line-icon{width:22px;height:22px;flex-shrink:0}
.login [data-recover]{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px;text-decoration:none;margin-top:4px}
.login [data-recover] span{text-decoration:underline;text-underline-offset:3px}
.login [data-recover] .line-icon{width:22px;height:22px}
.login .demo-access{margin-top:24px;padding-top:16px}
.login .demo-access p{font-size:14px;line-height:1.3;margin:0 0 12px}
.login .demo-access .pair{gap:12px}
.login .demo-access .secondary{font-size:16px;font-weight:600;padding:10px 8px;line-height:1.2}

/* Selector de negocio: formato aprobado. */
.selector h2{font-size:28px;font-weight:600;margin-bottom:12px}
.selector .subtitle{font-size:16px;margin-bottom:20px}
.selector .operation-role{font-size:16px;font-weight:700}
.selector .business-choice{height:80px;border-radius:9px;margin:12px 0;padding:12px 16px}
.selector .freight-access{margin-top:12px;min-height:54px;border-radius:9px}
.selector .freight-access strong{font-size:16px;font-weight:600;text-transform:uppercase}
.selector .switch-account{margin-top:24px}
.selector .selector-logout{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:16px;font-weight:600;text-decoration:none}
.selector .selector-logout span{text-decoration:underline;text-underline-offset:3px}
.selector .selector-logout .line-icon{width:22px;height:22px}
.message-text{white-space:pre-wrap;overflow-wrap:anywhere}
.message-file{margin:12px 0;padding:12px;border:1px solid var(--line,#ddd);border-radius:12px;min-width:0}
.message-file .small-link{display:flex;align-items:center;gap:6px;min-height:44px;overflow-wrap:anywhere}
.message-bubble,.movement-trace{min-width:0;overflow-wrap:anywhere}
.movement-trace{margin-top:18px}
.movement-trace pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;max-height:320px;overflow:auto}
.correction-actions{margin-top:18px;align-items:start}
.correction-actions .secondary{white-space:normal}
#message-form textarea{width:100%;box-sizing:border-box;min-height:120px;font:inherit;font-size:18px;padding:12px;border:1px solid #b8c4c0;border-radius:10px;resize:vertical}
#edit-movement-form fieldset{min-width:0;margin:16px 0;border:1px solid #d4ded8;border-radius:12px;padding:12px}
#edit-movement-form fieldset input[type=checkbox]{width:20px;min-height:20px;display:inline-block;margin-right:8px}
#edit-movement-form .secondary,#message-form>.secondary,#annul-form>.secondary{margin-top:12px}

/* Mensajes: plantilla aprobada, compartida por todos los roles. */
.messages-screen>h2{font-size:28px;font-weight:600}
.messages-screen>h3{font-size:16px;font-weight:500;margin:16px 0 8px;color:var(--muted);text-transform:uppercase}
.messages-screen label{font-size:16px;font-weight:500;text-transform:uppercase;margin-top:16px;margin-bottom:7px;color:var(--muted)}
.messages-screen select,#message-form textarea{font-size:18px;font-weight:700;color:var(--ink);border-radius:8px;padding:11px 13px}
.messages-screen .small-link{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;min-height:44px}
.messages-screen .small-link .line-icon{width:22px;height:22px;flex-shrink:0}
.messages-screen .message-bubble{border-radius:11px;padding:12px 16px;margin:12px 0}
.message-bubble>strong{font-size:18px;font-weight:700}
.message-bubble .registration-date{font-size:16px;margin-top:4px}
.message-bubble .message-text{font-size:18px;line-height:1.4;margin:12px 0}
#message-form .primary,#message-form .secondary{font-size:16px;font-weight:600;text-transform:uppercase;border-radius:9px}
#message-form [data-document-picker]{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;padding:12px 8px;line-height:1.2}
#message-form .message-form-actions{gap:12px;margin-top:18px;align-items:start}
#message-form .message-form-actions>button{width:100%;margin:0;min-height:48px;padding:12px 8px}
#message-form [data-cancel-message]{background:#a4432d;border-color:#a4432d;color:#fff}
.messages-screen .message-file{border:0;border-radius:0;padding:0;margin:12px 0}
.messages-screen .message-file .attachment-preview{margin-bottom:0}
.messages-screen .message-file .small-link{margin-top:2px}

.messages-screen .message-file-line{display:flex;align-items:flex-start;gap:8px;padding-top:2px;min-width:0}
.messages-screen .message-file-line>a{min-width:0;margin:0;padding:0}
.messages-screen .message-file-line>button{flex-shrink:0;margin:0;padding:0}
.messages-screen .message-download{display:flex;width:fit-content;margin:0;padding:0}

#message-form .message-document-actions{margin-top:12px;gap:12px}

/* Conversación: burbujas y compositor en el borde inferior. */
.chat-mode{display:flex;flex-direction:column;height:820px}
.chat-mode #app-main{display:flex;flex:1;min-height:0;padding:18px 16px 0;overflow:hidden}
.chat-mode .messages-screen{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}
.chat-mode .messages-screen>h2{margin-bottom:12px}
.chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.chat-heading>strong{font-size:14px;font-weight:600;text-align:right}
.chat-heading .small-link{font-size:14px;gap:4px;flex-shrink:0}
.chat-related{font-size:13px;color:var(--muted);padding:4px 0 8px}
.chat-related .small-link{font-size:13px;margin-left:8px}
.chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 0 16px;display:flex;flex-direction:column;gap:12px}
.chat-log .message-bubble{min-width:58%;max-width:90%;padding:14px 18px;margin:0;border:0;box-shadow:none;border-radius:18px;flex-shrink:0}
.chat-log .message-incoming{align-self:flex-start;background:var(--message-color);border-bottom-left-radius:4px;color:#fff}
.chat-log .message-outgoing{align-self:flex-end;background:var(--message-color);color:#fff;border-bottom-right-radius:4px}
.chat-log .message-bubble>strong{font-size:13px;font-weight:600}
.chat-log .message-text{font-size:20px;font-weight:400;line-height:1.4;margin:0 0 10px}
.message-meta{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;font-size:12px;opacity:.85}
.chat-log .message-bubble .small-link{color:#fff}
.chat-log .message-file{margin:8px 0}
.chat-log .message-file .small-link{font-size:14px}
.chat-log .attachment-preview{max-height:180px;object-fit:contain;border-radius:10px}
.chat-empty{text-align:center;font-size:15px;color:var(--muted);margin:auto 12px;line-height:1.5}
#message-form.chat-composer{flex-shrink:0;border-top:1px solid var(--border);background:var(--paper);padding:10px 0}
.chat-compose-row{display:flex;align-items:flex-end;gap:8px;position:relative}
.chat-label{position:absolute!important;width:1px;height:1px;padding:0!important;margin:-1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
#message-form.chat-composer textarea{flex:1;min-width:0;min-height:46px;max-height:120px;resize:none;border-radius:23px;padding:10px 14px;font-size:18px;font-weight:400;line-height:24px;background:#fffdf8}
#message-form .chat-send{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:46px;min-height:46px;border-radius:50%;margin:0;padding:0}
.chat-send .line-icon{display:block;width:24px;height:24px;margin:0}
.chat-tools>summary{display:flex;align-items:center;justify-content:center;width:44px;height:46px;border:1px solid var(--border);border-radius:50%;font-size:30px;cursor:pointer;list-style:none;background:#fffdf8}
.chat-tools>summary::-webkit-details-marker{display:none}
.chat-tool-menu{position:absolute;bottom:56px;left:0;right:0;z-index:2;padding:12px;background:#fffdf8;border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 24px #20392f20}
#message-form .chat-tool-menu .message-document-actions{margin:0}
#message-form .chat-tool-menu .small-link{color:#a4432d}
.chat-draft-files:not(:empty){max-height:150px;overflow-y:auto;padding:4px 0 8px}
.chat-draft-files .message-file{margin:0 0 8px}
.chat-draft-files .attachment-preview{max-height:80px;object-fit:contain}
#message-form.chat-composer>label{font-size:12px;margin:0 0 4px}
#message-form.chat-composer>select{font-size:16px;min-height:44px;padding:8px 10px;margin-bottom:8px}
.chat-mode #app-nav{flex-shrink:0}

#app-nav .nav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center}
#app-nav .message-badge{position:absolute;top:-8px;right:-13px;min-width:20px;height:20px;padding:0 5px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#e53935;color:#fff;font-size:12px;font-weight:700;line-height:1;border:2px solid #fffdf8}


.messages-screen .conversation-row{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}
.conversation-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.conversation-copy>strong{font-size:16px;font-weight:600}
.conversation-copy>span{font-size:16px;overflow-wrap:anywhere;color:var(--muted)}
.messages-screen .conversation-badge{display:flex;align-items:center;justify-content:center;flex-shrink:0;min-width:28px;height:28px;padding:0 7px;border-radius:999px;background:var(--conversation-color);color:white;font-size:16px;font-weight:700;line-height:1}
.messages-screen .conversation-unread{border-left:4px solid var(--conversation-color)}
.conversation-unread .conversation-copy>strong{font-weight:700;color:var(--conversation-color)}

@media(max-width:680px){
html.chat-active,html.chat-active body{overflow:hidden;overscroll-behavior:none}
.app-frame.chat-mode{position:fixed;z-index:20;top:var(--chat-top,0px);left:50%;transform:translateX(-50%);width:100%;max-width:500px;height:var(--chat-height,100dvh);min-height:0;margin:0;border:0;border-radius:0}
.chat-mode #app-header,.chat-mode .phone-status{flex-shrink:0}
.chat-mode #app-main{overscroll-behavior:none}
}


.daily-report-screen .report-pending>span{display:block}
.daily-report-screen .report-pending>button{display:block}
.correction-screen label{font-size:16px;font-weight:500;text-transform:uppercase;color:var(--muted)}
.correction-screen input,.correction-screen select{font-size:18px;font-weight:700}
.correction-screen .form-actions{gap:12px}
.correction-screen .form-actions button{font-size:16px;min-height:48px;text-transform:uppercase}
.correction-screen [data-correction-cancel]{background:#a4432d;color:white;border-color:#a4432d}
.movement-trace pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}
[data-message-source=mana]{--conversation-color:#245747;--bubble-brand:#245747}
[data-message-source=cachito]{--conversation-color:#a4432d;--bubble-brand:#a4432d}
[data-message-source=flete]{--conversation-color:#856126;--bubble-brand:#856126}
.message-bubble[data-message-role=otro]{--message-color:var(--bubble-brand)}
.message-bubble[data-message-role=direccion]{--message-color:#244B5A}

/* Separaciones de la plantilla aprobada, compartidas por Dirección y Caja. */
.commerce-invoices>.commerce-payment{margin:0 0 16px}
.commerce-invoices>.invoice-filters{margin-bottom:16px}
.invoice-management-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.invoice-management-actions>button{min-height:48px;margin:0;font-size:16px;font-weight:600}
#return-form .caja-return-actions{gap:12px;margin-top:16px;align-items:start}
#return-form .caja-return-actions>button{width:100%;margin:0;min-height:48px;padding:12px 8px;font-size:16px;font-weight:600;text-transform:uppercase}
