:root{--bg:#f4f7fb;--panel:#fff;--text:#10233f;--muted:#6b7b91;--line:#dce4ef;--primary:#0b5bd3;--primary2:#0847a6;--good:#0a8f5b;--warn:#c98100;--bad:#c83434;--shadow:0 8px 24px rgba(18,43,76,.08)}*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,select{font:inherit}.hidden{display:none!important}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(135deg,#eef5ff,#f8fafc)}.auth-card{width:min(460px,100%);background:white;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow)}.brand-mark{width:54px;height:54px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:28px;font-weight:800}.brand-mark.sm{width:38px;height:38px;border-radius:10px;font-size:20px}.auth-card h1{margin:18px 0 4px}.muted,.hint{color:var(--muted)}.hint{font-size:13px;margin:4px 0}.stack{display:grid;gap:14px;margin-top:25px}label{display:grid;gap:6px;font-size:13px;font-weight:650;color:#334762}input,select{width:100%;border:1px solid #cad5e3;border-radius:9px;padding:10px 11px;background:#fff;color:var(--text);outline:none}input:focus,select:focus{border-color:#75a7ef;box-shadow:0 0 0 3px #e8f1ff}.btn{border:1px solid #cbd6e5;background:#fff;color:#173554;padding:9px 13px;border-radius:9px;cursor:pointer;font-weight:650}.btn:hover{background:#f4f7fb}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary2)}.btn.small{padding:7px 10px;font-size:13px}.btn.big{padding:13px 18px}.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:#0d213b;color:white;display:flex;flex-direction:column}.brand{display:flex;gap:11px;align-items:center;padding:22px 18px;border-bottom:1px solid #203752}.brand strong{display:block}.brand span{display:block;color:#a9b8ca;font-size:12px;margin-top:2px}.sidebar nav{padding:14px 10px;display:grid;gap:5px}.sidebar nav button{border:0;background:transparent;color:#c8d4e3;text-align:left;padding:11px 12px;border-radius:8px;cursor:pointer}.sidebar nav button:hover,.sidebar nav button.active{background:#173756;color:#fff}.side-footer{margin-top:auto;padding:16px 18px;border-top:1px solid #203752;color:#aebdd0;font-size:12px;display:grid;gap:8px}.link-btn{border:0;background:none;color:#8fc0ff;text-align:left;padding:0;cursor:pointer}.main{min-width:0;padding:0 28px 40px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between}.topbar h1{font-size:26px;margin:0}.topbar p{margin:5px 0 0;color:var(--muted);font-size:13px}.env-badge{font-size:12px;font-weight:800;letter-spacing:.06em;padding:7px 10px;border-radius:999px;background:#fff2ce;color:#8a6500;border:1px solid #efd98f}.view{display:none}.view.active{display:block}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}.stat{background:var(--panel);border:1px solid var(--line);border-radius:13px;padding:18px;box-shadow:0 2px 8px rgba(20,42,70,.03)}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{display:block;font-size:27px;margin-top:7px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 2px 8px rgba(20,42,70,.03)}.panel.narrow{max-width:900px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-head h3{margin:0;font-size:17px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#66788f;font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:10px;border-bottom:1px solid var(--line)}td{padding:11px 10px;border-bottom:1px solid #edf1f6;vertical-align:middle}.num{text-align:right}.mono{font-family:Consolas,monospace}.search{max-width:380px;margin-bottom:12px}.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:750;background:#eef3f9;color:#496178}.badge.s5{background:#e4f7ef;color:#08724b}.badge.s6,.badge.s7{background:#ffecec;color:#a52e2e}.badge.s3,.badge.s4{background:#fff3d9;color:#8a6100}.row-actions{display:flex;gap:6px;justify-content:flex-end}.icon-btn{border:0;background:transparent;font-size:24px;cursor:pointer;color:#6e7c90}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 15px}.span2{grid-column:1/-1}.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px}.total-panel{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:9px}.total-panel span,.total-panel small{color:var(--muted)}.total-panel strong{font-size:34px}.reference-box{margin-top:16px;border-top:1px solid var(--line);padding-top:15px}.lines input,.lines select{min-width:90px;padding:7px}.lines .detail{min-width:220px}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.status-item{background:#f7f9fc;border:1px solid #e5ebf3;border-radius:10px;padding:12px}.status-item span{display:block;color:var(--muted);font-size:11px}.status-item strong{display:block;margin-top:5px;font-size:13px}.upload-box{display:flex;align-items:end;gap:10px;margin-top:15px;padding:14px;background:#f7f9fc;border:1px dashed #cbd7e6;border-radius:10px}.upload-box label{flex:1}dialog{border:0;border-radius:16px;padding:0;box-shadow:0 20px 70px rgba(0,0,0,.25);width:min(760px,94vw)}dialog::backdrop{background:rgba(9,20,35,.5)}.dialog-card{padding:20px}.dialog-card.wide{width:min(900px,94vw)}.process-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}pre{background:#0c1727;color:#d7e6f8;padding:14px;border-radius:10px;max-height:360px;overflow:auto;white-space:pre-wrap;font-size:12px}.toast{position:fixed;right:20px;top:20px;z-index:1000;max-width:420px;padding:12px 15px;border-radius:9px;background:#15314e;color:#fff;box-shadow:var(--shadow);opacity:0;pointer-events:none;transform:translateY(-8px);transition:.2s}.toast.show{opacity:1;transform:none}.toast.bad{background:#9e2f2f}
.dialog-inline-toast{
  position:sticky;
  top:0;
  z-index:80;
  margin:0 0 14px;
  padding:12px 15px;
  border-radius:10px;
  background:#15314e;
  color:#fff;
  box-shadow:0 8px 24px rgba(18,43,76,.18);
  font-size:13px;
  font-weight:700;
  line-height:1.45;
  opacity:0;
  transform:translateY(-7px);
  transition:.18s;
}
.dialog-inline-toast.show{opacity:1;transform:none}
.dialog-inline-toast.bad{
  background:#9e2f2f;
  border:1px solid #c95c5c;
}.message{margin-top:12px;color:#a33535;font-size:13px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.grid2{grid-template-columns:1fr}.total-panel{align-items:flex-start}.status-grid{grid-template-columns:1fr 1fr}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar nav{grid-template-columns:1fr 1fr}.side-footer{display:none}.main{padding:0 12px 28px}.topbar{height:80px}.cards,.form-grid,.status-grid{grid-template-columns:1fr}.span2{grid-column:auto}}

.inline-field{display:flex;gap:8px;align-items:center}.inline-field input{flex:1}.catalog-results{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-height:220px;overflow:auto}.catalog-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:9px 10px;border:1px solid #d7e0ec;background:#fff;border-radius:8px;text-align:left;cursor:pointer}.catalog-option:hover{background:#f4f8ff;border-color:#9dbbeb}.catalog-option span{font-size:12px;color:#52657c}label small{display:block;margin-top:4px;color:#6b7c91;font-size:11px;font-weight:400}
.top-actions{display:flex;align-items:center;gap:12px}.company-switch{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);font-weight:700}.company-switch select{min-width:260px;padding:8px 10px}.admin-create{padding:16px;margin:0 0 16px;background:#f7f9fc;border:1px solid var(--line);border-radius:12px}.danger-text{color:var(--bad)}
@media(max-width:760px){.top-actions{gap:6px}.company-switch{display:none!important}}
.error-cell{color:#b42318;background:#fff4f2;font-weight:600}

.plan-panel{border-left:4px solid var(--primary)}.plan-available strong{font-size:22px;color:var(--primary)}.plan-ok{color:var(--good)}.plan-stop{color:var(--bad)}.plan-warning{grid-column:1/-1;background:#fff7e6;border-color:#f0d99f}.plan-badge{white-space:nowrap;background:#edf5ff;color:#174a8b;border:1px solid #c9dcf6;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750}.plan-badge.blocked{background:#fff0f0;color:#a52e2e;border-color:#efcaca}.btn:disabled{opacity:.55;cursor:not-allowed;background:#8aa5c7!important;border-color:#8aa5c7!important}

/* FIX13 - Emisión fiscal */
.lines td{vertical-align:top}.lines td small{display:block;margin-top:4px;color:var(--muted);font-size:10px}.line-invalid{background:#fff5f5}.field-error{color:var(--bad)!important;font-weight:650}.exon-toggle{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px}.exon-toggle input{width:auto}.exon-rate{display:block;margin-top:5px;color:var(--good);font-size:12px}.exon-details td{background:#f8fbff;padding:12px 14px}.exon-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.exon-summary{margin-top:10px;padding:9px 11px;background:#eef6ff;border:1px solid #d2e4fb;border-radius:8px;color:#38506e;font-size:12px}.exon-summary strong{color:var(--text)}@media(max-width:1200px){.exon-grid{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:760px){.exon-grid{grid-template-columns:1fr}}

/* FIX14: buscador CAByS en cada linea de factura */
.cabys-line{min-width:260px}.cabys-line .inline-field{align-items:stretch}.cabys-line .cabys-search{margin-top:6px;min-width:220px}.line-cabys-results{max-height:180px;min-width:300px}.line-cabys-results .catalog-option{font-size:11px}
/* FIX15: el IVA es determinado automaticamente por el CAByS oficial. */
.tax-auto{border:1px solid #cbd5e1;border-radius:8px;padding:9px 11px;background:#f8fafc;display:flex;flex-direction:column;gap:2px}.tax-auto.ok{border-color:#86efac;background:#f0fdf4}.tax-auto.pending{border-color:#fde68a;background:#fffbeb;color:#854d0e}.tax-auto.compact{min-width:125px;padding:7px 9px}.tax-auto.compact strong{font-size:13px}.tax-auto.compact small{font-size:10px}

/* FIX16 - Mi catalogo CAByS por actividad */
.catalog-suggestion-head{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:8px 0;flex-wrap:wrap}
.catalog-option.selectable{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.catalog-option.selectable input{width:auto;margin-top:3px}
.catalog-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:5px 0}
.cabys-my-select{width:100%;margin:5px 0;font-size:.82rem}

.payment-row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(180px,1fr) minmax(160px,.8fr) 42px;gap:12px;align-items:end;margin:10px 0;padding:12px;border:1px solid #dde4ec;border-radius:12px;background:#fff}.payment-row label{display:flex;flex-direction:column;gap:6px}.payment-row .icon-btn{align-self:end;height:38px}.form-grid textarea{width:100%;resize:vertical;min-height:74px}.hidden{display:none!important}@media(max-width:900px){.payment-row{grid-template-columns:1fr}}

.client-picker{display:grid;gap:7px}.client-actions{display:flex;gap:7px;flex-wrap:wrap}.client-actions .btn{width:auto}.client-picker select{width:100%}
.compact-details{margin-top:12px;border:1px solid var(--line);border-radius:10px;background:#fbfcfe;overflow:hidden}.compact-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;font-weight:750;color:#233b5b}.compact-details>summary::-webkit-details-marker{display:none}.compact-details>summary:after{content:'+';font-size:20px;color:var(--primary)}.compact-details[open]>summary:after{content:'−'}.compact-details>summary small{font-weight:500;color:var(--muted);font-size:11px}.compact-details-body{padding:12px 13px;border-top:1px solid var(--line);background:#fff}.collapsible-panel{padding:0;overflow:hidden}.collapsible-panel>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px}.collapsible-panel>summary::-webkit-details-marker{display:none}.collapsible-panel>summary h3{margin:0;font-size:17px}.collapse-indicator{font-size:12px;color:var(--primary);font-weight:700}.collapsible-panel-body{padding:0 18px 18px;border-top:1px solid var(--line)}.payment-head{margin:12px 0 0}.collapsible-panel[open] .collapse-indicator{color:var(--muted)}@media(max-width:760px){.compact-details>summary{align-items:flex-start;flex-direction:column}.collapsible-panel>summary{align-items:flex-start}}


/* FIX24 - Puesta en marcha obligatoria y alertas de certificado */
.cert-alert{margin-top:8px;padding:9px 12px;border-radius:10px;background:#fff4d6;color:#7a4d00;border:1px solid #f0d08a;font-size:13px;font-weight:750;display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.cert-alert.critical{background:#fff0f0;color:#a52e2e;border-color:#efcaca}.cert-alert-action{border:0;border-radius:8px;padding:7px 11px;background:#0b6f6b;color:#fff;font-weight:800;cursor:pointer}.cert-alert-action:hover{filter:brightness(.94)}.cert-alert-contact{font-size:12px;font-weight:700;opacity:.9}.setup-dialog{width:min(980px,96vw);max-height:94vh}.setup-card{max-height:92vh;overflow:auto}.setup-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.setup-title h2{margin:4px 0}.setup-kicker{font-size:11px;letter-spacing:.12em;font-weight:850;color:var(--primary)}.setup-step-badge{background:#eaf3ff;color:#14529d;border:1px solid #c8ddf8;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:750;white-space:nowrap}.setup-section{padding:18px 0;border-bottom:1px solid #edf1f6}.setup-section h3{margin:0 0 12px}.setup-section:last-child{border-bottom:0}.setup-choice{background:#f7faff;border:1px solid #dce8f7;border-radius:12px;padding:14px}.setup-message{margin-top:10px}.setup-message.bad{color:var(--bad);font-weight:650}.setup-message.good{color:var(--good);font-weight:650}.setup-final{background:#f8fbff;margin:12px -20px -20px;padding:18px 20px;border-radius:0 0 16px 16px}.setup-dialog::backdrop{background:rgba(5,15,30,.68)}


/* FIX49 - Facturas emitidas: filtros + acciones por fila */
.issued-head-panel{padding:20px}.issued-search-bar{display:grid;grid-template-columns:minmax(280px,2fr) repeat(2,minmax(150px,.8fr)) auto auto;gap:12px;align-items:end}.issued-search-main input{font-size:14px}.issued-advanced{margin-top:14px;padding-top:14px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px}.issued-table-panel{padding:0;overflow:visible}.issued-table-panel .table-wrap{overflow:visible auto}.issued-table th{white-space:nowrap;padding:12px 10px}.issued-table td{padding:12px 10px}.issued-table td small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.issued-consecutive{max-width:170px;overflow:hidden;text-overflow:ellipsis}.issued-count{padding:12px 16px}.issued-icon{min-width:46px;height:38px;border-radius:8px;border:1px solid #cbd6e5;display:inline-grid;place-items:center;font-weight:800;cursor:pointer;padding:0 8px}.issued-icon.navy{background:#132f5d;color:#fff;border-color:#132f5d}.issued-icon.neutral{background:#e7eaf0;color:#526175}.issued-icon.pdf-action{font-size:11px}.issued-icon.danger-action{font-size:24px;color:#fff}.issued-icon.more-action{font-size:24px;line-height:1;list-style:none}.row-menu{position:relative;display:inline-block}.row-menu summary{list-style:none}.row-menu summary::-webkit-details-marker{display:none}.row-menu-pop{position:absolute;z-index:40;top:44px;left:0;min-width:210px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(20,42,70,.18);display:grid;gap:3px}.row-menu-pop.right{left:auto;right:0}.row-menu-pop button{border:0;background:#fff;text-align:left;padding:9px 10px;border-radius:7px;color:#173554;cursor:pointer}.row-menu-pop button:hover{background:#eef4fc}.row-menu-pop button:disabled{opacity:.45;cursor:not-allowed}.badge.s5{background:#e7f8ec;color:#18783b;border:1px solid #bfe8ca}.badge.s6{background:#fff0f0;color:#b42318;border:1px solid #f0caca}
@media(max-width:1200px){.issued-search-bar{grid-template-columns:1fr 1fr 1fr}.issued-search-main{grid-column:1/-1}.issued-advanced{grid-template-columns:repeat(2,1fr)}.issued-table-panel .table-wrap{overflow:auto}.issued-table{min-width:1250px}}
@media(max-width:760px){.issued-search-bar,.issued-advanced{grid-template-columns:1fr}.issued-search-main{grid-column:auto}.issued-table{min-width:1180px}}

.issued-tools{margin-top:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.issued-tools .hint{margin:4px 0 0}.issued-tools .row-actions{display:flex;gap:8px;flex-wrap:wrap}

/* FIX67 - Renovacion visual y navegacion lateral desplegable */
:root{
  --bg:#f2f5f9;
  --panel:#ffffff;
  --text:#16263b;
  --muted:#718096;
  --line:#e2e8f0;
  --primary:#1767c0;
  --primary2:#0f4f97;
  --good:#16805a;
  --warn:#b7791f;
  --bad:#c2414b;
  --sidebar:#10263d;
  --sidebar2:#0b1e32;
  --sidebarText:#d9e5f1;
  --shadow:0 10px 30px rgba(23,43,77,.07);
}
body{background:linear-gradient(180deg,#f7f9fc 0,#f2f5f9 260px);letter-spacing:.002em}
.app-shell{grid-template-columns:272px 1fr}
.sidebar{background:linear-gradient(180deg,var(--sidebar) 0,var(--sidebar2) 100%);box-shadow:10px 0 30px rgba(10,26,44,.06);z-index:50}
.brand{padding:24px 18px 21px;border-bottom:1px solid rgba(255,255,255,.08)}
.brand .brand-mark{background:linear-gradient(145deg,#2f80d4,#1767c0);box-shadow:0 8px 22px rgba(30,112,198,.28)}
.brand strong{font-size:15px;letter-spacing:.055em}.brand span{color:#9fb1c4;font-size:11px;letter-spacing:.03em}
.nav-accordion{padding:14px 12px!important;display:flex!important;flex-direction:column;gap:7px!important;overflow:auto}
.nav-home,.nav-group summary,.nav-group-body button{width:100%;display:flex;align-items:center;gap:10px;border:0;text-align:left;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}
.nav-home{padding:11px 12px!important;border-radius:10px!important;color:var(--sidebarText)!important;background:transparent!important;font-weight:700}
.nav-home:hover,.nav-home.active{background:rgba(65,139,216,.18)!important;color:#fff!important}
.nav-icon{width:22px;display:inline-grid;place-items:center;font-size:14px;opacity:.94}
.nav-group{border-radius:12px;overflow:hidden;background:transparent}
.nav-group>summary{list-style:none;justify-content:space-between;padding:11px 12px;color:#b9cadb;border-radius:10px;font-size:12px;font-weight:800;letter-spacing:.025em;user-select:none}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary:hover{background:rgba(255,255,255,.05);color:#fff}
.nav-group-title{display:flex;align-items:center;gap:10px}
.nav-chevron{font-size:16px;transition:transform .18s ease;color:#7690a9}.nav-group[open] .nav-chevron{transform:rotate(180deg)}
.nav-group-body{display:grid;gap:3px;padding:3px 5px 7px 11px}
.sidebar .nav-group-body button{padding:9px 11px!important;border-radius:9px!important;background:transparent!important;color:#aebfd0!important;font-size:13px}
.sidebar .nav-group-body button:hover{background:rgba(255,255,255,.06)!important;color:#fff!important;transform:translateX(1px)}
.sidebar .nav-group-body button.active{background:linear-gradient(90deg,rgba(38,123,205,.32),rgba(38,123,205,.14))!important;color:#fff!important;font-weight:750;box-shadow:inset 3px 0 0 #4ca0ef}
.nav-dot{width:5px;height:5px;border-radius:50%;background:#6f8da9;flex:0 0 auto}.sidebar .nav-group-body button.active .nav-dot{background:#69b7ff;box-shadow:0 0 0 3px rgba(105,183,255,.12)}
.nav-admin-group{margin-top:4px;border-top:1px solid rgba(255,255,255,.07);padding-top:6px}
.side-footer{border-top:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.08);padding:15px 18px}.side-footer #userLabel{font-weight:650;color:#d1deeb}.link-btn{color:#8bc2fa}
.main{padding:0 34px 44px}
.topbar{height:104px}.topbar h1{font-size:28px;letter-spacing:-.025em;color:#182b43}.topbar p{font-size:13px;color:#7b899d}
.panel,.stat{border-color:#e4eaf1;box-shadow:var(--shadow)}
.panel{border-radius:16px;padding:20px}.stat{border-radius:15px;padding:19px}.stat strong{font-size:28px;letter-spacing:-.025em}
.panel-head h3{font-size:17px;color:#1b304b}.panel-head{margin-bottom:16px}
.btn{border-radius:10px;padding:9px 14px;border-color:#d5dee9;box-shadow:0 1px 1px rgba(20,42,70,.02)}.btn:hover{background:#f5f8fb;border-color:#c5d3e1}.btn.primary{background:linear-gradient(180deg,#2375c9,#1767b8);border-color:#1767b8;box-shadow:0 6px 14px rgba(23,103,184,.18)}.btn.primary:hover{background:linear-gradient(180deg,#1f6dbd,#105aab)}
input,select,textarea{border-color:#d7e0ea;border-radius:10px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:#75a9dc;box-shadow:0 0 0 3px rgba(61,137,207,.11)}
table{font-size:13px}th{background:#f8fafc;color:#6b7c8f;padding:11px 10px}td{padding:12px 10px}.table-wrap{border-radius:10px}
.badge{padding:5px 9px;font-weight:800;border:1px solid transparent}.badge.s5{background:#eaf7f1;color:#176a4c;border-color:#ccebdc}.badge.s6,.badge.s7{background:#fff0f1;color:#a6313d;border-color:#f2cfd3}.badge.s3,.badge.s4{background:#fff7e5;color:#8a620e;border-color:#f0dfb8}
.issued-tools{background:linear-gradient(180deg,#f9fbfd,#f5f8fb);border-radius:14px}.issued-head-panel{background:linear-gradient(180deg,#fff,#fbfcfe)}
.toast{border-radius:12px;background:#183c5e;box-shadow:0 14px 34px rgba(18,48,76,.22)}
.auth-shell{background:radial-gradient(circle at 20% 20%,#e4f0fc,transparent 35%),linear-gradient(135deg,#f4f8fc,#edf3f9)}.auth-card{border-radius:22px;box-shadow:0 22px 55px rgba(18,43,76,.12)}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.nav-accordion{display:flex!important}.nav-group-body{padding-left:7px}.main{padding:0 14px 30px}.topbar{height:auto;padding:18px 0}.topbar h1{font-size:23px}}

/* FIX68 - identidad visual por empresa */
.logo-settings-card{display:flex;gap:18px;align-items:center;padding:18px;margin:0 0 20px;border:1px solid var(--line,#d9e1ea);border-radius:16px;background:linear-gradient(135deg,#f8fbff 0%,#ffffff 100%);box-shadow:0 8px 22px rgba(18,45,78,.05)}
.logo-preview-box{width:150px;height:105px;border:1px dashed #b9c6d6;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto;color:#77869a;font-weight:700}
.logo-preview-box img{max-width:138px;max-height:93px;object-fit:contain;display:block}.logo-settings-copy{flex:1;min-width:0}.logo-settings-copy>strong{font-size:16px}.actions.compact{margin-top:10px;gap:8px}.hidden{display:none!important}
@media(max-width:720px){.logo-settings-card{align-items:stretch;flex-direction:column}.logo-preview-box{width:100%;height:120px}}

/* FIX71 - Tipografia profesional y legibilidad mejorada */
:root{
  --font-ui:"Aptos","Segoe UI Variable","Segoe UI",Arial,sans-serif;
}
html{font-size:16px}
body{font-family:var(--font-ui);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
button,input,select,textarea{font-family:var(--font-ui);font-size:14px;line-height:1.35}
label{font-size:14px;line-height:1.35;font-weight:700;color:#2f4661}
.hint,.muted{font-size:13px;line-height:1.45}
label small{font-size:12px;line-height:1.4}
.topbar h1{font-size:31px;font-weight:750;letter-spacing:-.028em}
.topbar p{font-size:14px;line-height:1.45}
.panel-head h3{font-size:18px;font-weight:750}
.panel h2,.panel h3{line-height:1.25}
.btn{font-size:14px;font-weight:700;line-height:1.25;padding:10px 15px}
.btn.small{font-size:13px;padding:8px 11px}
.btn.big{font-size:15px;padding:14px 19px}
.brand strong{font-size:16px}.brand span{font-size:12px}
.nav-home,.nav-group>summary{font-size:13px}
.sidebar .nav-group-body button{font-size:14px;line-height:1.35;padding:10px 11px!important}
.side-footer{font-size:13px}
input,select,textarea{padding:11px 12px}
table{font-size:14px;line-height:1.4}
th{font-size:12px;font-weight:800;letter-spacing:.045em;padding:12px 11px}
td{padding:13px 11px}
.issued-table td small{font-size:12px;line-height:1.35}
.badge{font-size:12px;line-height:1.25}
.stat span{font-size:13px}.stat strong{font-size:29px}
.total-panel span,.total-panel small{font-size:13px}.total-panel strong{font-size:36px}
.status-item span{font-size:12px}.status-item strong{font-size:14px}
.exon-summary,.exon-rate,.exon-toggle{font-size:13px}
.toast,.message{font-size:14px;line-height:1.45}
pre{font-size:13px;line-height:1.45}
@media(max-width:760px){body{font-size:14px}.topbar h1{font-size:26px}.sidebar .nav-group-body button{font-size:14px}}


/* FIX72 - navegacion superior desplegable y dashboard de ancho completo */
.app-shell{display:block;min-height:100vh;background:linear-gradient(180deg,#f5f8fc 0,#f3f6fa 260px)}
.sidebar{display:none!important}
.app-header{position:sticky;top:0;z-index:300;background:#fff;box-shadow:0 5px 22px rgba(16,35,63,.09)}
.app-header-primary{min-height:76px;background:linear-gradient(90deg,#152f55 0%,#1d3d6c 58%,#17355e 100%);color:#fff;display:grid;grid-template-columns:minmax(210px,280px) minmax(260px,1fr) auto;align-items:center;gap:24px;padding:12px 30px}
.app-brand-horizontal{display:flex;align-items:center;gap:11px}.app-brand-horizontal .brand-mark{background:linear-gradient(145deg,#2d8ee6,#1767c0);box-shadow:0 7px 18px rgba(0,0,0,.18)}
.app-brand-copy strong{display:block;font-size:16px;letter-spacing:.06em}.app-brand-copy span{display:block;font-size:12px;color:#bfd0e4;margin-top:2px}
.active-company-header{min-width:0;padding-left:20px;border-left:1px solid rgba(255,255,255,.18)}.active-company-kicker{display:block;font-size:10px;font-weight:800;letter-spacing:.12em;color:#9fb7d3;margin-bottom:2px}.active-company-header strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:18px;font-weight:750}.active-company-header small{display:block;color:#bfd0e4;font-size:11px;margin-top:2px}
.header-account{display:flex;align-items:center;justify-content:flex-end;gap:12px}.header-user-copy{min-width:120px;max-width:220px;text-align:right}.header-user-copy span{display:block;font-size:13px;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-user-copy small{display:block;color:#b9cce1;font-size:11px;margin-top:2px}.header-logout{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.07);color:#fff;border-radius:8px;padding:8px 12px;cursor:pointer;font-weight:700}.header-logout:hover{background:rgba(255,255,255,.14)}
.app-header .company-switch{display:flex;align-items:center;gap:7px;color:#dce8f6;font-size:11px;font-weight:700}.app-header .company-switch select{width:210px;max-width:22vw;padding:7px 9px;background:#fff;color:#163453;border-radius:8px;font-size:12px}.app-header .env-badge{background:#fff3c8;border-color:#e6ce78;color:#7d5c00;white-space:nowrap}
.top-nav{height:50px;display:flex;align-items:stretch;gap:0;padding:0 24px;background:#fff;border-bottom:1px solid #dfe6ef;overflow:visible}
.top-nav .nav-home,.top-nav .nav-group>summary{height:50px;width:auto!important;padding:0 14px!important;border-radius:0!important;background:#fff!important;color:#1d3048!important;font-size:13px!important;font-weight:750!important;white-space:nowrap;border:0;display:flex;align-items:center;gap:7px;cursor:pointer}
.top-nav .nav-home:hover,.top-nav .nav-home.active,.top-nav .nav-group>summary:hover{background:#f5f8fc!important;color:#0f5cab!important;box-shadow:inset 0 -3px 0 #2b79c2}
.top-nav .nav-group{position:relative;overflow:visible;border-radius:0;margin:0;border:0;padding:0;background:transparent}
.top-nav .nav-group>summary{list-style:none;justify-content:flex-start}.top-nav .nav-group>summary::-webkit-details-marker{display:none}.top-nav .nav-chevron{font-size:12px;color:#8193a8;margin-left:1px;transition:transform .16s}.top-nav .nav-group[open] .nav-chevron{transform:rotate(180deg)}
.top-nav .nav-group-body{position:absolute;top:50px;left:0;min-width:245px;padding:8px;background:#fff;border:1px solid #d9e2ec;border-top:0;box-shadow:0 14px 30px rgba(20,45,76,.16);display:grid;gap:0;z-index:500}
.top-nav .nav-group-body button{width:100%!important;border:0;background:#fff!important;color:#263d58!important;text-align:left;padding:10px 12px!important;border-radius:6px!important;font-size:13px!important;font-weight:600!important;cursor:pointer;border-bottom:1px dotted #d7dee8!important;transform:none!important}
.top-nav .nav-group-body button:last-child{border-bottom:0!important}.top-nav .nav-group-body button:hover,.top-nav .nav-group-body button.active{background:#f1f6fb!important;color:#0d5eac!important}.top-nav .nav-group:has(.nav-group-body button.active)>summary{color:#0f5cab!important;box-shadow:inset 0 -3px 0 #2b79c2}
.top-nav .nav-icon{width:auto;font-size:15px}.top-nav .nav-admin-group{margin:0;padding:0;border-top:0}
.main{width:100%;max-width:none;padding:0 30px 46px}.topbar{height:auto;min-height:92px;padding:20px 0 16px;align-items:flex-end;border-bottom:0}.topbar h1{font-size:28px}.topbar p{margin-top:4px}
.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 24px;margin-bottom:16px;background:linear-gradient(110deg,#fff 0%,#f7fbff 100%);border:1px solid #e0e8f1;border-radius:16px;box-shadow:var(--shadow)}.dashboard-kicker{font-size:11px;font-weight:850;letter-spacing:.1em;color:#4e79a6}.dashboard-welcome h2{font-size:23px;margin:4px 0 3px;color:#173454}.dashboard-welcome p{margin:0}.dashboard-quick-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dashboard-cards{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px}.dashboard-cards .stat{min-height:112px;display:flex;flex-direction:column;justify-content:center}.dashboard-cards .stat span{font-size:13px}.dashboard-cards .stat strong{font-size:30px;margin-top:8px}
#view-dashboard .plan-panel,#view-dashboard .panel{margin-bottom:18px}
@media(max-width:1180px){.app-header-primary{grid-template-columns:220px 1fr;gap:12px}.header-account{grid-column:1/-1;justify-content:flex-end;padding-top:7px;border-top:1px solid rgba(255,255,255,.12)}.top-nav{overflow-x:auto;overflow-y:visible}.dashboard-cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.app-header{position:relative}.app-header-primary{display:flex;flex-wrap:wrap;padding:13px 14px}.active-company-header{order:3;width:100%;padding:10px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.15)}.header-account{width:100%;justify-content:space-between;flex-wrap:wrap}.header-user-copy{text-align:left}.app-header .company-switch{width:100%}.app-header .company-switch select{max-width:none;flex:1}.top-nav{padding:0 6px;height:48px}.top-nav .nav-home,.top-nav .nav-group>summary{height:48px;padding:0 10px!important}.top-nav .nav-group-body{top:48px;position:fixed;left:8px;right:8px;min-width:0}.main{padding:0 14px 30px}.dashboard-welcome{align-items:flex-start;flex-direction:column}.dashboard-quick-actions{justify-content:flex-start}.dashboard-cards{grid-template-columns:1fr}.topbar{min-height:78px;padding-top:16px}}

/* FIX73 - Cierre visual: tipografia e iconografia mas grandes */
html{font-size:17px}
body{font-size:16px;line-height:1.5}
button,input,select,textarea{font-size:15px;line-height:1.4}
label{font-size:15px;line-height:1.4}
.hint,.muted{font-size:14px;line-height:1.5}
label small{font-size:13px}

/* Cabecera */
.app-brand-copy strong{font-size:18px}
.app-brand-copy span{font-size:13px}
.active-company-kicker{font-size:11px}
.active-company-header strong{font-size:20px}
.active-company-header small{font-size:13px}
.header-user-copy span{font-size:14px}
.header-user-copy small{font-size:12px}
.header-logout{font-size:14px;padding:9px 14px}
.app-header .company-switch{font-size:12px}
.app-header .company-switch select{font-size:13px}

/* Menu superior */
.top-nav{height:56px}
.top-nav .nav-home,.top-nav .nav-group>summary{height:56px;font-size:15px!important;font-weight:800!important;padding:0 17px!important;gap:9px}
.top-nav .nav-icon{font-size:20px;line-height:1}
.top-nav .nav-chevron{font-size:14px}
.top-nav .nav-group-body{top:56px;min-width:270px;padding:9px}
.top-nav .nav-group-body button{font-size:15px!important;line-height:1.4;padding:12px 14px!important}

/* Titulos y contenido */
.topbar h1{font-size:32px}
.topbar p{font-size:15px}
.panel-head h3{font-size:20px}
.btn{font-size:15px;padding:11px 16px}
.btn.small{font-size:14px;padding:9px 12px}
.btn.big{font-size:16px;padding:14px 20px}
input,select,textarea{padding:12px 13px}
table{font-size:15px}
th{font-size:13px;padding:13px 12px}
td{padding:14px 12px}
.badge{font-size:13px;padding:5px 9px}
.icon-btn{font-size:28px}
.issued-icon{font-size:14px;min-width:42px;min-height:38px}

/* Dashboard */
.dashboard-kicker{font-size:12px}
.dashboard-welcome h2{font-size:26px}
.dashboard-welcome p{font-size:15px}
.dashboard-cards .stat span{font-size:14px}
.dashboard-cards .stat strong{font-size:33px}
.stat span{font-size:14px}.stat strong{font-size:32px}
.total-panel span,.total-panel small{font-size:14px}.total-panel strong{font-size:39px}

@media(max-width:760px){
  html{font-size:16px}
  body{font-size:15px}
  .top-nav{height:52px}
  .top-nav .nav-home,.top-nav .nav-group>summary{height:52px;font-size:14px!important;padding:0 12px!important}
  .top-nav .nav-icon{font-size:18px}
  .top-nav .nav-group-body{top:52px}
  .top-nav .nav-group-body button{font-size:14px!important}
  .topbar h1{font-size:28px}
}

/* FIX74 - identidad visual aprobada: dashboard ejecutivo, soporte y navegacion superior TRICONTA */
:root{
  --tr-navy:#061f42;
  --tr-navy-2:#0b2d59;
  --tr-teal:#08a58d;
  --tr-teal-soft:#e5f7f3;
  --tr-gold:#eba315;
  --tr-gold-soft:#fff5dd;
  --tr-orange:#f26a3d;
  --tr-orange-soft:#fff0ea;
  --tr-blue:#176ed1;
  --tr-blue-soft:#eaf3ff;
  --tr-purple:#7352d7;
  --tr-purple-soft:#f1edff;
  --tr-green:#098a6c;
  --tr-surface:#ffffff;
  --tr-bg:#f7f9fc;
  --tr-border:#e3e8ef;
  --tr-text:#142a46;
  --tr-muted:#66788f;
  --tr-shadow:0 8px 26px rgba(15,42,74,.08);
}
body{background:var(--tr-bg);color:var(--tr-text);font-family:Aptos,"Segoe UI Variable","Segoe UI",Arial,sans-serif}
.app-shell{background:var(--tr-bg)}
.app-header{position:sticky;top:0;z-index:400;background:var(--tr-navy);box-shadow:0 4px 18px rgba(1,20,47,.20)}
.app-header-primary{min-height:88px;background:linear-gradient(100deg,#041a38 0%,#072650 60%,#071e40 100%);grid-template-columns:minmax(255px,330px) minmax(340px,1fr) auto;padding:12px 28px;border-bottom:1px solid rgba(255,255,255,.14)}
.app-brand-horizontal{cursor:pointer;display:flex;align-items:center;gap:13px;min-width:0}
.triconta-symbol{position:relative;width:42px;height:42px;border-radius:50%;background:linear-gradient(145deg,#12b8a0,#087a80);box-shadow:inset -10px -8px 0 rgba(0,47,70,.30),0 7px 18px rgba(0,0,0,.18)}
.triconta-symbol:before{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#071f43;right:-2px;top:-1px;border:5px solid #fff;box-sizing:border-box}
.triconta-symbol span{position:absolute;left:8px;bottom:6px;width:22px;height:7px;background:#071f43;border-radius:8px 50% 50% 8px;transform:rotate(28deg)}
.app-brand-copy strong{font-size:25px;font-weight:850;letter-spacing:.025em;line-height:1;color:#fff}.app-brand-copy strong em{font-style:normal;color:var(--tr-gold);font-weight:900}.app-brand-copy span{font-size:12px;letter-spacing:.08em;color:#d9e6f6;margin-top:5px;font-weight:700}
.active-company-header{border-left:0;padding-left:0;text-align:center}.active-company-kicker{display:none}.active-company-header strong{font-size:23px;font-weight:820;letter-spacing:.01em;color:#fff}.active-company-header small{font-size:12px;color:#d5e0ef;margin-top:4px}
.header-account{gap:10px}.header-user-copy{min-width:96px;text-align:left}.header-user-copy span{font-size:14px;color:#fff}.header-user-copy small{font-size:12px;color:#c6d5e8}.user-avatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#13ad95,#07807b);font-size:16px;font-weight:850;color:#fff;box-shadow:0 4px 14px rgba(2,19,43,.22)}
.header-notification{position:relative;width:42px;height:42px;border:0;background:transparent;color:#fff;border-radius:50%;cursor:pointer;padding:8px}.header-notification:hover{background:rgba(255,255,255,.09)}.header-notification svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.notification-badge{position:absolute;right:0;top:0;min-width:19px;height:19px;border-radius:10px;background:#f6c64f;color:#493300;font-size:11px;font-weight:900;display:grid;place-items:center;border:2px solid #071f43;padding:0 3px}
.header-logout{border:0;background:transparent;padding:10px 7px;font-size:13px}.header-logout:hover{background:rgba(255,255,255,.08)}
.app-header .env-badge{font-size:11px;padding:5px 8px;border-radius:14px;background:#fff1bf;border:1px solid #f0d477;color:#6b5100}.app-header .company-switch{font-size:11px}.app-header .company-switch select{font-size:12px;max-width:180px}

.top-nav{height:72px;background:linear-gradient(90deg,#08234a,#0a2d5a);border-bottom:0;padding:0 26px;align-items:stretch;box-shadow:0 3px 8px rgba(8,34,70,.12)}
.top-nav .nav-home,.top-nav .nav-group>summary{height:72px!important;background:transparent!important;color:#fff!important;border-right:1px solid rgba(255,255,255,.10)!important;padding:0 25px!important;font-size:16px!important;font-weight:760!important;gap:11px;transition:background .18s,color .18s,box-shadow .18s}
.top-nav .nav-home{min-width:82px!important}.top-nav .nav-home-label{font-size:0}.top-nav .nav-home-label:after{content:""}.top-nav .nav-home:hover,.top-nav .nav-home.active,.top-nav .nav-group>summary:hover{background:rgba(255,255,255,.035)!important;color:#fff!important;box-shadow:inset 0 -4px 0 var(--tr-teal)}
.top-nav .nav-group:has(.nav-group-body button.active)>summary{color:#fff!important;box-shadow:inset 0 -4px 0 var(--tr-teal);background:rgba(255,255,255,.035)!important}
.top-nav .nav-svg{width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 27px}.top-nav .nav-home .nav-svg{width:27px;height:27px}.top-nav .nav-chevron{font-size:15px;color:#dbe6f4}.top-nav .nav-group-body{top:72px;min-width:285px;padding:8px 16px 10px;background:#fff;border:1px solid #d8e0ea;border-top:0;border-radius:0 0 5px 5px;box-shadow:0 15px 34px rgba(7,31,65,.18)}
.top-nav .nav-group-body button{font-size:15px!important;font-weight:520!important;color:#263a53!important;padding:13px 4px!important;border-radius:0!important;border-bottom:1px dotted #ccd5df!important}.top-nav .nav-group-body button:hover,.top-nav .nav-group-body button.active{background:#f6f9fc!important;color:#057f79!important;padding-left:9px!important}

.main{padding:0 34px 34px;max-width:none}.topbar{min-height:88px;padding:18px 0 12px}.topbar h1{font-size:30px}.topbar p{font-size:15px;color:var(--tr-muted)}
body.dashboard-mode .topbar{display:none}
body.dashboard-mode .main{padding-top:0}
#view-dashboard{padding-top:24px}
.dashboard-intro-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 2px 22px}.dashboard-intro-row h2{font-size:26px;line-height:1.15;margin:0;color:#102a4d;font-weight:820}.dashboard-intro-row p{font-size:15px;color:var(--tr-muted);margin:6px 0 0}.dashboard-period-tools{display:flex;align-items:center;gap:11px}.period-kicker{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:8px;background:#e5f6f1;color:#087463;font-size:14px;font-weight:750}.period-select{display:inline-flex;align-items:center;height:40px;min-width:150px;padding:0 16px;border:1px solid #dfe5ec;border-radius:8px;background:#fff;font-size:14px;font-weight:650;color:#263b56}.dashboard-filter-btn{height:40px!important;padding:0 15px!important;background:#fff!important;color:#24405f!important;border:1px solid #dfe5ec!important}
.dashboard-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(220px,1fr));gap:18px;margin-bottom:18px}.dashboard-metric-card{appearance:none;text-align:left;border:1px solid var(--tr-border);background:#fff;border-radius:13px;padding:18px 18px 14px;min-height:145px;display:grid;grid-template-columns:78px 1fr;gap:15px;align-items:start;box-shadow:var(--tr-shadow);cursor:pointer;transition:transform .15s,box-shadow .15s}.dashboard-metric-card:hover{transform:translateY(-2px);box-shadow:0 12px 31px rgba(15,42,74,.12)}.metric-icon{width:70px;height:70px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800}.metric-docs .metric-icon{background:var(--tr-teal-soft);color:var(--tr-teal)}.metric-income .metric-icon{background:var(--tr-gold-soft);color:#d98f00}.metric-purchases .metric-icon{background:var(--tr-orange-soft);color:var(--tr-orange)}.metric-receivable .metric-icon{background:var(--tr-blue-soft);color:var(--tr-blue)}.metric-copy{display:flex;flex-direction:column;min-width:0}.metric-copy small{font-size:14px;font-style:normal;font-weight:760;color:#19324e}.metric-copy strong{font-size:27px;line-height:1.15;margin:7px 0 2px;color:#0a916f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-purchases .metric-copy strong{color:#ef552f}.metric-receivable .metric-copy strong{color:#0c54af}.metric-copy em{font-size:13px;font-style:normal;color:#697c92;margin-top:2px}.metric-copy b{font-size:13px;color:#087a75;margin-top:12px;font-weight:700}.info-dot{font-style:normal;display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid #91a2b5;border-radius:50%;font-size:10px;color:#71849a;margin-left:3px}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(310px,.95fr) minmax(300px,.95fr);gap:18px;margin-bottom:18px}.dashboard-card{background:#fff;border:1px solid var(--tr-border);border-radius:13px;box-shadow:var(--tr-shadow);overflow:hidden}.dashboard-card-head{min-height:54px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 8px}.dashboard-card-head h3{font-size:16px;margin:0;font-weight:800;color:#1d3048}.chart-legend{display:flex;gap:16px;font-size:12px;font-weight:650;color:#53677e}.chart-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:20px;height:5px;border-radius:5px;display:inline-block}.legend-dot.income{background:var(--tr-teal)}.legend-dot.purchases{background:var(--tr-gold)}
.dashboard-chart-wrap{height:285px;padding:0 12px 12px}.dashboard-chart{width:100%;height:100%;overflow:visible}.chart-grid-line{stroke:#dce3eb;stroke-width:1}.chart-axis-label{fill:#687a90;font-size:12px;font-family:Aptos,"Segoe UI",Arial,sans-serif}.chart-line{fill:none;stroke-width:2.4;vector-effect:non-scaling-stroke}.chart-income{stroke:var(--tr-teal)}.chart-purchases{stroke:var(--tr-gold)}.chart-point-income{fill:var(--tr-teal)}.chart-point-purchases{fill:#f09c00}
.monthly-summary{padding:0 16px 16px}.monthly-summary>div{min-height:48px;display:grid;grid-template-columns:33px 1fr auto;align-items:center;gap:9px;border:1px solid #e4e9ef;border-bottom:0;padding:7px 10px}.monthly-summary>div:first-child{border-radius:7px 7px 0 0}.monthly-summary>div:last-child{border-bottom:1px solid #e4e9ef;border-radius:0 0 7px 7px}.monthly-summary>div>span:not(.sum-icon){font-size:13px;color:#425873}.monthly-summary strong{font-size:13px;color:#1b2e47}.monthly-summary .positive{color:#07896d}.monthly-summary .negative{color:#ef542f}.monthly-summary .blue-value{color:#1357b4}.sum-icon{width:26px;height:26px;border-radius:6px;display:grid;place-items:center;font-size:14px;font-weight:800}.sum-icon.teal{background:#e4f7f4;color:#079b88}.sum-icon.green{background:#e8f8f0;color:#078965}.sum-icon.orange{background:#fff0ea;color:#ee6440}.sum-icon.blue{background:#eaf3ff;color:#1668c5}.sum-icon.gold{background:#fff5df;color:#d78e00}
.activity-content{padding:0 16px 16px;min-height:285px}.activity-empty{min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.activity-doc-icon{width:70px;height:70px;border-radius:14px;background:#f5f7fa;border:1px solid #e1e6ed;display:grid;place-items:center;font-size:28px;color:#0b9d83;margin-bottom:14px}.activity-empty strong{font-size:15px}.activity-empty p{max-width:235px;margin:6px auto 16px;font-size:13px;color:#66798f;line-height:1.5}.activity-list{display:grid;gap:7px}.activity-list button{border:1px solid #e4e9ef;background:#fff;border-radius:8px;padding:10px;display:grid;grid-template-columns:18px 1fr auto;gap:8px;text-align:left;align-items:center;cursor:pointer}.activity-list button:hover{background:#f7fafc}.activity-list span strong{display:block;font-size:12px}.activity-list span small{display:block;color:#78899b;font-size:11px;margin-top:2px}.activity-list b{font-size:12px}.activity-status{font-size:12px}.activity-status.s5{color:#089679}.activity-status.s6,.activity-status.s7{color:#e34d31}.activity-all{margin-top:12px;width:100%}
.dashboard-bottom-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(300px,.95fr);gap:18px;margin-bottom:18px}.quick-actions-card{padding-bottom:16px}.quick-action-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;padding:0 16px}.quick-action{min-height:94px;border:1px solid #e1e7ee;border-radius:11px;background:#fff;display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;text-align:left;padding:12px;cursor:pointer;transition:transform .14s,background .14s}.quick-action:hover{transform:translateY(-2px);background:#fbfcfe}.qa-icon{width:48px;height:48px;border-radius:10px;display:grid;place-items:center;font-size:24px;font-weight:800}.qa-teal .qa-icon{background:#e7f7f4;color:#058b79}.qa-gold .qa-icon{background:#fff6e1;color:#d88b00}.qa-purple .qa-icon{background:#f0edff;color:#6c4bd4}.qa-green .qa-icon{background:#e9f8f3;color:#087c63}.qa-blue .qa-icon{background:#eaf3ff;color:#1767c5}.quick-action strong{display:block;font-size:13px;color:#19304c}.quick-action small{display:block;font-size:11px;color:#6a7b8f;line-height:1.4;margin-top:4px}
.support-card{min-height:178px;border-radius:12px;background:linear-gradient(135deg,#075d68 0%,#054f67 48%,#073760 100%);color:#fff;padding:24px 20px;display:grid;grid-template-columns:88px 1fr;gap:15px;align-items:center;box-shadow:0 12px 28px rgba(4,48,81,.20)}.support-headset{position:relative;width:78px;height:78px;border-radius:50%;border:1px solid rgba(255,255,255,.28);display:grid;place-items:center}.support-headset:before{content:"";width:38px;height:34px;border:4px solid #fff;border-bottom:0;border-radius:22px 22px 8px 8px;box-sizing:border-box}.support-headset:after{content:"";position:absolute;width:10px;height:18px;border:4px solid #fff;border-left:0;border-radius:0 8px 8px 0;right:15px;bottom:20px}.support-copy strong{display:block;font-size:16px}.support-copy p{font-size:12px;line-height:1.55;color:#e2eef2;margin:6px 0 12px}.support-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.support-button{min-height:36px;padding:0 10px;border-radius:6px;font-weight:800;font-size:12px;cursor:pointer;transition:.15s}.support-button.primary-support{grid-column:1/-1;border:0;background:#fff;color:#15324e;box-shadow:0 3px 8px rgba(0,0,0,.16)}.support-button.primary-support:hover{background:#f4fbfa}.support-button.outline-support{border:1px solid rgba(255,255,255,.52);background:rgba(255,255,255,.06);color:#fff}.support-button.outline-support:hover{background:rgba(255,255,255,.14)}.support-dialog-card{width:min(780px,94vw)}.support-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.support-guide-grid button{border:1px solid #dfe6ee;background:#fff;border-radius:10px;padding:15px;text-align:left;cursor:pointer}.support-guide-grid button:hover{background:#f6fafc;border-color:#9bcfc9}.support-guide-grid strong{display:block;color:#17324f;font-size:15px}.support-guide-grid span{display:block;color:#66798f;font-size:13px;line-height:1.45;margin-top:5px}.support-faq-list{display:grid;gap:8px}.support-faq-list details{border:1px solid #dfe6ee;border-radius:9px;background:#fff;padding:0 14px}.support-faq-list summary{cursor:pointer;font-weight:760;color:#17324f;padding:13px 0}.support-faq-list p{margin:0 0 14px;color:#52677e;font-size:14px;line-height:1.55}
.dashboard-technical-strip{display:grid;grid-template-columns:1.3fr 1fr;gap:18px}.dashboard-technical-strip .panel{margin:0!important;box-shadow:var(--tr-shadow);border-radius:12px}.dashboard-technical-strip .status-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}

/* Footer visual similar al concepto aprobado */
.app-shell:after{content:"TRICONTA FE © 2026   |   Todos los derechos reservados                                      Versión V6                                      Conexión segura  ●";display:block;background:#061f42;color:#cbd8e8;min-height:54px;padding:17px 34px;font-size:12px;letter-spacing:.01em;white-space:pre;overflow:hidden}

@media(max-width:1450px){.top-nav .nav-home,.top-nav .nav-group>summary{padding:0 16px!important;font-size:15px!important}.dashboard-main-grid{grid-template-columns:minmax(0,1.8fr) minmax(290px,.9fr)}.dashboard-activity-card{grid-column:1/-1}.dashboard-metric-grid{grid-template-columns:repeat(2,1fr)}.quick-action-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1080px){.app-header-primary{grid-template-columns:220px 1fr}.header-account{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.10);padding-top:8px}.top-nav{overflow-x:auto;overflow-y:visible}.dashboard-main-grid,.dashboard-bottom-grid,.dashboard-technical-strip{grid-template-columns:1fr}.dashboard-activity-card{grid-column:auto}.quick-action-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.app-header-primary{display:flex;flex-wrap:wrap;padding:12px 14px}.app-brand-copy strong{font-size:20px}.active-company-header{width:100%;order:3;text-align:left;border-top:1px solid rgba(255,255,255,.12);padding-top:8px}.active-company-header strong{font-size:18px}.header-account{width:100%;justify-content:flex-start;flex-wrap:wrap}.top-nav{height:60px;padding:0 4px}.top-nav .nav-home,.top-nav .nav-group>summary{height:60px!important;padding:0 12px!important;font-size:14px!important}.top-nav .nav-svg{width:23px;height:23px}.top-nav .nav-group-body{top:60px;position:fixed;left:8px;right:8px;min-width:0}.main{padding:0 14px 24px}.dashboard-intro-row{flex-direction:column}.dashboard-period-tools{width:100%;flex-wrap:wrap}.dashboard-metric-grid{grid-template-columns:1fr}.dashboard-metric-card{grid-template-columns:64px 1fr}.metric-icon{width:58px;height:58px}.dashboard-main-grid{grid-template-columns:1fr}.quick-action-grid{grid-template-columns:1fr}.support-card{grid-template-columns:70px 1fr}.support-headset{width:62px;height:62px}.support-actions{grid-template-columns:1fr}.support-button.primary-support{grid-column:auto}.support-guide-grid{grid-template-columns:1fr}.dashboard-technical-strip .status-grid{grid-template-columns:1fr 1fr}.app-shell:after{white-space:normal;line-height:1.5;padding:16px}}

/* FIX75 - Sistema visual uniforme de modulos internos. Dashboard FIX74 se conserva sin cambios. */
:root{
  --module-accent:#089c86;
  --module-accent-dark:#067563;
  --module-accent-soft:#e9f8f4;
  --module-navy:#0a2a51;
  --module-blue:#176fd2;
  --module-orange:#f59b19;
  --module-red:#e45432;
  --module-purple:#7256d9;
  --module-card:#fff;
  --module-border:#dfe7ef;
  --module-bg:#f6f8fb;
  --module-text:#122943;
  --module-muted:#6b7d92;
  --module-shadow:0 10px 28px rgba(18,49,83,.08);
}

/* No modificar el dashboard aprobado: los siguientes estilos solo aplican a modulos internos. */
.view:not(#view-dashboard){color:var(--module-text)}
.view:not(#view-dashboard)>.panel,
.view:not(#view-dashboard)>.grid2>.panel,
.view:not(#view-dashboard)>details.panel{
  border:1px solid var(--module-border);
  border-radius:16px;
  background:var(--module-card);
  box-shadow:var(--module-shadow);
}
.view:not(#view-dashboard) .panel{border-color:var(--module-border);border-radius:16px;box-shadow:var(--module-shadow)}
.view:not(#view-dashboard) .panel-head{gap:18px;align-items:center;margin-bottom:18px}
.view:not(#view-dashboard) .panel-head h3{font-size:21px;font-weight:820;letter-spacing:-.01em;color:var(--module-navy);margin:0}
.view:not(#view-dashboard) .panel-head p{font-size:14px;color:var(--module-muted);margin:4px 0 0}
.view:not(#view-dashboard) label{font-size:15px;font-weight:760;color:#1a3553;gap:7px}
.view:not(#view-dashboard) label small{font-size:13px;font-weight:500;color:var(--module-muted)}
.view:not(#view-dashboard) input,
.view:not(#view-dashboard) select,
.view:not(#view-dashboard) textarea{
  min-height:46px;
  border:1px solid #ccd9e6;
  border-radius:10px;
  background:#fff;
  color:#102a47;
  font-size:15.5px;
  padding:11px 13px;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.view:not(#view-dashboard) textarea{min-height:92px}
.view:not(#view-dashboard) input:focus,
.view:not(#view-dashboard) select:focus,
.view:not(#view-dashboard) textarea:focus{
  outline:none;
  border-color:#43b7a6;
  box-shadow:0 0 0 4px rgba(8,156,134,.10);
}
.view:not(#view-dashboard) .btn{
  min-height:42px;
  border-radius:9px;
  padding:10px 15px;
  font-size:14.5px;
  font-weight:760;
  border:1px solid #cfdbe7;
  background:#fff;
  color:#173754;
  box-shadow:none;
  transition:transform .12s,box-shadow .12s,border-color .12s,background .12s;
}
.view:not(#view-dashboard) .btn:hover{transform:translateY(-1px);border-color:#9fb5c9;background:#f9fbfd;box-shadow:0 5px 13px rgba(20,52,86,.08)}
.view:not(#view-dashboard) .btn.primary{
  border-color:var(--module-accent);
  background:linear-gradient(135deg,#0ca78f,#078c78);
  color:#fff;
  box-shadow:0 7px 16px rgba(8,156,134,.20);
}
.view:not(#view-dashboard) .btn.primary:hover{background:linear-gradient(135deg,#0db39a,#07836f);box-shadow:0 9px 20px rgba(8,156,134,.26)}
.view:not(#view-dashboard) .btn.big{min-height:49px;padding:12px 21px;font-size:16px}
.view:not(#view-dashboard) .btn.small{min-height:36px;padding:7px 11px;font-size:13.5px}
.view:not(#view-dashboard) .hint,.view:not(#view-dashboard) .muted{font-size:13.5px;color:var(--module-muted)}
.view:not(#view-dashboard) .search{min-height:48px;border-radius:11px;margin-bottom:15px;padding-left:15px}
.view:not(#view-dashboard) .table-wrap{border:1px solid #e1e8ef;border-radius:12px;overflow:auto;background:#fff}
.view:not(#view-dashboard) table{font-size:14.5px;border-collapse:separate;border-spacing:0}
.view:not(#view-dashboard) th{font-size:12.5px;font-weight:820;letter-spacing:.025em;text-transform:uppercase;color:#63768d;background:#f4f7fa;padding:13px 12px;border-bottom:1px solid #dfe7ee}
.view:not(#view-dashboard) td{padding:13px 12px;border-bottom:1px solid #edf1f5;color:#1d3856;vertical-align:middle}
.view:not(#view-dashboard) tbody tr:last-child td{border-bottom:0}
.view:not(#view-dashboard) tbody tr:hover td{background:#fbfdfd}
.view:not(#view-dashboard) .badge{border-radius:999px;font-weight:780;padding:5px 9px}
.view:not(#view-dashboard) .reference-box{border-radius:12px;background:#f7fafc;border-color:#dce6ef;padding:14px}
.view:not(#view-dashboard) .actions{gap:10px}
.view:not(#view-dashboard) .row-actions{gap:8px}
.view:not(#view-dashboard) dialog .dialog-card{border-radius:18px;border:1px solid var(--module-border);box-shadow:0 24px 70px rgba(7,32,62,.24)}

/* Facturador: pantalla principal de trabajo */
#view-emitir{--module-accent:#079b84;display:none}
#view-emitir.active{display:block}
#view-emitir>.grid2{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:18px;
  align-items:start;
}
#view-emitir>.grid2>.panel:first-child{padding:22px}
#view-emitir>.grid2>.panel:first-child .panel-head{padding-bottom:14px;border-bottom:1px solid #edf1f5;margin-bottom:18px}
#view-emitir .form-grid{gap:15px 18px}
#view-emitir .client-picker{gap:8px}
#view-emitir .client-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
#view-emitir .compact-details{
  margin-top:12px;
  border:1px solid #dfe7ef;
  border-radius:11px;
  background:#fbfcfe;
  overflow:hidden;
}
#view-emitir .compact-details>summary{min-height:48px;padding:0 14px;font-size:14.5px;font-weight:760;color:#173653;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
#view-emitir .compact-details>summary:hover{background:#f5faf9}
#view-emitir .compact-details[open]>summary{background:var(--module-accent-soft);color:#066f60}
#view-emitir .compact-details-body{padding:15px;border-top:1px solid #e2ebe9;background:#fff}
#view-emitir .total-panel{
  position:sticky;
  top:166px;
  min-height:330px;
  padding:22px;
  background:linear-gradient(180deg,#fbfffe 0%,#f4fbf9 100%);
  border-color:#cfe8e2;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  text-align:left;
}
#view-emitir .total-panel:before{content:"Resumen del comprobante";font-size:19px;font-weight:830;color:var(--module-navy);margin-bottom:30px}
#view-emitir .total-panel>span{font-size:12px!important;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#6d8195}
#view-emitir .total-panel>strong{font-size:39px!important;line-height:1.15;margin:8px 0 17px;color:#07365b}
#view-emitir .total-panel>small:not(.hint){display:block;padding:9px 0;border-top:1px solid #dceae7;font-size:14px!important;color:#647a8e}
#view-emitir .total-panel .hint{margin-top:18px;padding:13px;border-radius:10px;background:#fff7e6;border:1px solid #f1d99f;color:#80601c;line-height:1.45}
#view-emitir>.panel:not(.final-submit-panel),#view-emitir>details.panel{padding:20px;margin-top:16px}
#view-emitir>.panel>.panel-head h3,#view-emitir>details.panel h3{font-size:19px}
#view-emitir .lines th{background:#f3f7fa}
#view-emitir .lines td{vertical-align:top}
#view-emitir .lines input,#view-emitir .lines select{min-height:39px;font-size:13.5px;padding:8px 9px}
#view-emitir .lines .detail{margin-top:7px}
#view-emitir .tax-auto{border-radius:9px;padding:8px 9px}
#view-emitir .collapsible-panel{overflow:hidden}
#view-emitir .collapsible-panel>summary{padding:18px 20px;background:#fff;cursor:pointer}
#view-emitir .collapsible-panel[open]>summary{background:#f7fbfa;border-bottom:1px solid #e4ecea}
#view-emitir .collapsible-panel-body{padding:18px 20px}
#view-emitir .payment-row{border:1px solid #e0e8ef;border-radius:11px;background:#fbfcfd;padding:13px}
#view-emitir .final-submit-panel{
  margin-top:16px;
  padding:17px 20px!important;
  border-color:#cce6e0!important;
  background:linear-gradient(100deg,#f7fcfb 0%,#ffffff 65%)!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}
#view-emitir .final-submit-panel strong{font-size:18px;color:#123251}
#view-emitir .final-submit-panel p{margin:5px 0 0;max-width:800px}
#view-emitir #finalDocButton{min-width:185px}
#view-emitir .plan-badge{border-radius:999px;padding:7px 11px;background:#eef8ff;border:1px solid #cfe5f5;color:#246289;font-weight:780}

/* Emitidos y recepción: mismos encabezados y barras de herramientas */
#view-comprobantes .issued-head-panel,#view-recibidos>.panel:first-child{padding:22px}
#view-comprobantes .issued-tools,#view-recibidos .received-tools{border:1px solid #dfe7ef;border-radius:12px;background:#f8fafc;padding:14px 15px;margin:14px 0}
#view-comprobantes .issued-search-bar,#view-recibidos .issued-search-bar{border:1px solid #e1e8ef;border-radius:12px;background:#fbfcfd;padding:13px;gap:12px}

/* Catálogos y configuración */
#view-clientes>.panel,#view-productos>.panel,#view-empresa>.panel,#view-hacienda>.panel,#view-auditoria>.panel,#view-admin>.panel,#view-saas>.panel,#view-mantenimiento>.panel,#view-recibidos>.panel{padding:22px;margin-bottom:18px}
#view-clientes .panel-head,#view-productos .panel-head,#view-empresa .panel-head,#view-hacienda .panel-head,#view-auditoria .panel-head,#view-admin .panel-head,#view-saas .panel-head,#view-mantenimiento .panel-head{padding-bottom:14px;border-bottom:1px solid #edf1f5}
#view-productos>.panel:first-child{border-top:4px solid var(--module-purple)}
#view-productos>.panel:nth-child(2){border-top:4px solid var(--module-accent)}
#view-clientes>.panel{border-top:4px solid #2876cf}
#view-recibidos>.panel:first-child{border-top:4px solid #ef9c1a}
#view-empresa>.panel{border-top:4px solid var(--module-accent)}
#view-hacienda>.panel{border-top:4px solid #176fd2}
#view-auditoria>.panel,#view-mantenimiento>.panel{border-top:4px solid #67778a}
#view-admin>.panel{border-top:4px solid #0b2d59}

@media(max-width:1180px){
  #view-emitir>.grid2{grid-template-columns:1fr}
  #view-emitir .total-panel{position:relative;top:auto;min-height:0}
  #view-emitir .total-panel:before{margin-bottom:15px}
}
@media(max-width:760px){
  .view:not(#view-dashboard)>.panel,.view:not(#view-dashboard)>.grid2>.panel,.view:not(#view-dashboard)>details.panel{border-radius:13px}
  #view-emitir>.grid2>.panel:first-child,#view-clientes>.panel,#view-productos>.panel,#view-empresa>.panel,#view-hacienda>.panel,#view-auditoria>.panel,#view-admin>.panel,#view-saas>.panel,#view-mantenimiento>.panel,#view-recibidos>.panel{padding:15px}
  #view-emitir .final-submit-panel{align-items:stretch;flex-direction:column}
  #view-emitir #finalDocButton{width:100%}
}

/* FIX76 - Facturador visual premium basado en la maqueta aprobada. Dashboard FIX74 intacto. */
#view-emitir{--emit-teal:#079b84;--emit-teal-dark:#067a69;--emit-navy:#0a2d56;--emit-soft:#eef9f7;--emit-border:#dce6ed;--emit-muted:#687d92}
#view-emitir .emit-workspace-head{display:grid;grid-template-columns:minmax(320px,1fr) minmax(360px,520px) auto;align-items:center;gap:22px;margin:0 0 18px;padding:0 2px}
#view-emitir .emit-title-wrap{display:flex;align-items:center;gap:14px}.emit-title-icon{width:48px;height:48px;border-radius:12px;background:#e7f8f4;color:var(--emit-teal);display:grid;place-items:center;font-size:28px;font-weight:900}.emit-title-wrap h2{margin:0;color:var(--emit-navy);font-size:30px;line-height:1.05}.emit-title-wrap p{margin:6px 0 0;color:var(--emit-muted);font-size:15px}
#view-emitir .emit-company-card{position:relative;border:1px solid var(--emit-border);border-radius:14px;background:#fff;padding:12px 46px 12px 18px;box-shadow:0 5px 18px rgba(18,48,78,.07);display:grid;gap:3px}.emit-company-card small{font-size:12px;font-weight:800;color:#118a76;padding-left:15px}.emit-company-card strong{font-size:18px;color:#173552}.emit-company-card>span:last-child{font-size:13px;color:#6d8092}.company-status-dot{position:absolute;left:18px;top:16px;width:9px;height:9px;border-radius:50%;background:#14a88e}.emit-preview-btn{min-height:46px;padding:0 20px;font-size:15px;font-weight:800;border-radius:10px;background:#fff}
#view-emitir>.emit-grid{grid-template-columns:minmax(0,1fr) 330px;gap:20px}.emit-main-card{border-radius:16px!important;padding:20px!important;box-shadow:0 8px 28px rgba(16,43,72,.08)!important}.emit-main-card .panel-head h3{font-size:21px!important}.emit-main-card .hint{font-size:13.5px}
#view-emitir .form-grid{grid-template-columns:1.05fr 1.35fr;gap:16px 18px}#view-emitir label{font-size:14px;font-weight:760;color:#203c5c}#view-emitir input,#view-emitir select,#view-emitir textarea{font-size:15px;min-height:44px;border-radius:9px;border-color:#cad8e5;padding:10px 12px}#view-emitir input:focus,#view-emitir select:focus,#view-emitir textarea:focus{border-color:#63b8aa;box-shadow:0 0 0 3px rgba(7,155,132,.12)}
#view-emitir .client-actions .btn{min-height:40px;font-size:14px;border-color:#9bd6cc;color:#077664;background:#fbfffe}#view-emitir .client-actions .btn:hover{background:#eefaf7}
#view-emitir .compact-details{border-radius:10px;border-color:#dce6ed;background:#fff}#view-emitir .compact-details>summary{min-height:52px;font-size:15px;padding:0 15px}#view-emitir .compact-details>summary:before{content:'▣';color:var(--emit-teal);font-size:18px;margin-right:8px}#view-emitir .compact-details>summary span:first-child{margin-right:auto}
#view-emitir .emit-side-stack{display:grid;gap:14px;align-self:start;position:sticky;top:166px}.emit-side-stack .panel{margin:0}.emit-side-stack .total-panel{position:relative;top:auto;min-height:0;display:block;padding:20px;border-radius:15px;background:#fff;border:1px solid var(--emit-border);box-shadow:0 8px 28px rgba(16,43,72,.08)}#view-emitir .total-panel:before{content:none}.emit-side-stack .total-panel>h3{margin:0 0 18px;font-size:19px;color:var(--emit-navy)}.emit-total-box{background:linear-gradient(135deg,#f2fbf9,#edf8f6);border:1px solid #a9ddd3;border-radius:10px;padding:16px 16px 14px;margin-bottom:14px}.emit-total-box span{display:block;color:#274866;font-size:12px;font-weight:850;letter-spacing:.02em}.emit-total-box strong{display:block;color:#082f56;font-size:34px!important;margin:8px 0 0!important}.emit-total-row{display:flex;align-items:center;justify-content:space-between;padding:8px 2px;color:#677b91;font-size:14px}.emit-total-row b{color:#183653;font-size:14px}.emit-total-final{margin-top:6px;padding:11px 12px;border-radius:8px;background:#e9f8f5;color:#087b68;font-size:17px;font-weight:850}.emit-total-final b{font-size:20px;color:#07816d}.emit-warning{margin-top:16px;display:flex;gap:10px;align-items:flex-start;padding:13px;border-radius:9px;background:#fff7e9;border:1px solid #f2d595;color:#765819;font-size:13px;line-height:1.45}.emit-warning:first-letter{color:#f0a113}.emit-tax-legacy{display:none!important}
#view-emitir .emit-meta-panel{padding:16px;border-radius:15px;background:#fff;border:1px solid var(--emit-border);box-shadow:0 8px 24px rgba(16,43,72,.06)}.emit-meta-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e8eef3;font-size:13px}.emit-meta-row span{font-weight:800;color:#27415f}.emit-meta-row b{color:#0b9179;font-size:12px}.emit-meta-panel label{margin-top:10px}.emit-meta-panel input{min-height:42px}
#view-emitir .emit-detail-card{padding:18px!important;border-radius:15px!important}.emit-detail-card .panel-head{margin-bottom:12px}.emit-detail-card .panel-head h3{font-size:20px!important}.emit-add-line{background:linear-gradient(135deg,#0aa28a,#078f79)!important;border-color:#078f79!important;box-shadow:0 5px 12px rgba(7,143,121,.18)}
#view-emitir .lines{font-size:14px}#view-emitir .lines th{background:#f1f6f8;color:#2e4c69;font-size:11.5px;padding:12px 10px}#view-emitir .lines td{padding:10px 8px;background:#fff}#view-emitir .lines input,#view-emitir .lines select{min-height:42px;font-size:14px;padding:8px 9px}.tax-auto.pending{background:#fff8e7;border-color:#efd391}.tax-auto.ok{background:#edf9f5;border-color:#b8dfd6}.exon-toggle{font-size:14px}
#view-emitir #pagosDetails{border-radius:15px!important}#view-emitir #pagosDetails>summary h3{font-size:20px}#view-emitir #pagosDetails>summary .hint{font-size:13.5px}.payment-head .btn{border-color:#8dd0c4;color:#087963;background:#f9fffd}
#view-emitir .final-submit-panel{border:0!important;border-top:1px solid #dce6ed!important;border-radius:0!important;background:#fff!important;box-shadow:0 -8px 24px rgba(8,38,68,.06)!important;position:sticky;bottom:0;z-index:25;margin:18px -34px -34px!important;padding:14px 34px!important}.emit-final-actions{display:flex;align-items:center;gap:12px}.emit-final-actions .btn{min-width:150px;font-size:15px}.emit-send-btn{min-width:220px!important;background:linear-gradient(135deg,#0aa48c,#078b76)!important;border-color:#078b76!important;box-shadow:0 6px 16px rgba(7,139,118,.22)}
#view-emitir .plan-badge{background:#eef8ff;border-color:#c8e2f5;font-size:12px;color:#286286}
@media(max-width:1350px){#view-emitir .emit-workspace-head{grid-template-columns:1fr 1fr}.emit-preview-btn{grid-column:2;justify-self:end}.emit-title-wrap{grid-row:1/3}.emit-company-card{grid-column:2}#view-emitir>.emit-grid{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1080px){#view-emitir .emit-workspace-head{grid-template-columns:1fr}.emit-title-wrap,.emit-company-card,.emit-preview-btn{grid-column:auto;grid-row:auto}.emit-preview-btn{justify-self:start}#view-emitir>.emit-grid{grid-template-columns:1fr}.emit-side-stack{position:relative;top:auto;grid-template-columns:1fr 1fr}.emit-side-stack .total-panel,.emit-side-stack .emit-meta-panel{height:100%}#view-emitir .form-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){#view-emitir .emit-title-wrap h2{font-size:25px}#view-emitir .emit-company-card{padding-right:18px}#view-emitir .form-grid{grid-template-columns:1fr}.emit-side-stack{grid-template-columns:1fr}#view-emitir .final-submit-panel{position:relative;margin:16px 0 0!important;padding:16px!important}.emit-final-actions{width:100%;flex-direction:column}.emit-final-actions .btn{width:100%}}


/* FIX77 - Calculadora de monto final con IVA incluido por linea */
.line-total-calc-btn{margin-top:7px;width:100%;border:1px solid #9edfd3;background:#eefaf7;color:#087d6a;border-radius:8px;padding:7px 8px;font:700 12px/1.1 inherit;cursor:pointer;white-space:nowrap;transition:.16s ease}
.line-total-calc-btn:hover{background:#ddf5ef;border-color:#57c5b3;transform:translateY(-1px)}
.iva-incluido-dialog{width:min(560px,calc(100vw - 32px))}
.iva-calc-intro{padding:14px 16px;border-radius:12px;background:linear-gradient(135deg,#effaf7,#f7fbff);border:1px solid #d6eee9}
.iva-calc-intro strong{font-size:16px;color:#08284a}
.iva-incluido-dialog label{font-weight:700;color:#0b2b4d;gap:8px}
.iva-incluido-dialog #ivaIncluidoMonto{font-size:22px;font-weight:800;padding:14px 16px;text-align:right;color:#062c52}
.iva-calc-preview{display:grid;gap:8px}
.iva-calc-preview>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:7px 0;border-bottom:1px solid #e8eef3}
.iva-calc-preview>div:last-child{border-bottom:0}
.iva-calc-preview span{color:#61758a}
.iva-calc-preview strong{color:#08284a;font-size:15px}
.iva-calc-preview .iva-calc-final{margin-top:4px;padding:12px;border-radius:9px;background:#eaf8f4}
.iva-calc-preview .iva-calc-final span,.iva-calc-preview .iva-calc-final strong{color:#07836e;font-weight:800;font-size:17px}
.iva-calc-note{border-left:4px solid #10a58d}

/* FIX82 - Factura Electronica de Compra */
.purchase-cabys-badge{display:inline-flex;align-items:center;padding:6px 10px;margin-bottom:6px;border-radius:10px;background:#eaf8f4;color:#087f6d;font-weight:700;font-size:12px}
#docProveedorWrap:not(.hidden){display:flex;flex-direction:column}

/* FIX83 - Inicio de sesión alineado con la identidad visual TRICONTA FE */
.auth-shell-premium{
  min-height:100vh;
  padding:32px;
  background:
    radial-gradient(circle at 16% 12%,rgba(16,163,139,.10),transparent 32%),
    radial-gradient(circle at 88% 18%,rgba(30,93,166,.12),transparent 34%),
    linear-gradient(135deg,#eef4f9 0%,#f7f9fc 56%,#edf4f8 100%);
}
.auth-stage{
  width:min(1180px,100%);
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(410px,.85fr);
  overflow:hidden;
  border:1px solid rgba(7,38,80,.10);
  border-radius:28px;
  box-shadow:0 30px 80px rgba(3,26,58,.17);
  background:#fff;
}
.auth-brand-panel{
  position:relative;
  display:flex;
  flex-direction:column;
  padding:46px 52px 36px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 20%,rgba(17,184,155,.20),transparent 30%),
    linear-gradient(145deg,#041a38 0%,#072650 58%,#0a315e 100%);
}
.auth-brand-panel:after{
  content:"";
  position:absolute;
  width:320px;height:320px;
  right:-110px;bottom:-130px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:50%;
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);
}
.auth-brand-lockup{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.auth-symbol{width:54px;height:54px;flex:0 0 54px}
.auth-brand-copy strong{display:block;color:#fff;font-size:25px;font-weight:850;letter-spacing:.035em;line-height:1}
.auth-brand-copy strong em{color:#ffb21c;font-style:normal}
.auth-brand-copy span{display:block;color:#c8d8e9;font-size:11px;font-weight:750;letter-spacing:.11em;margin-top:6px}
.auth-brand-content{margin:auto 0;max-width:610px;position:relative;z-index:1;padding:50px 0}
.auth-kicker{display:inline-block;color:#12b59b;font-size:12px;font-weight:850;letter-spacing:.14em}
.auth-brand-content h1{font-size:42px;line-height:1.12;letter-spacing:-.035em;margin:14px 0 18px;color:#fff;max-width:600px}
.auth-brand-content p{font-size:17px;line-height:1.65;color:#c9d7e7;max-width:560px;margin:0 0 30px}
.auth-feature-list{display:grid;gap:13px;font-size:15px;font-weight:650;color:#edf7ff}
.auth-feature-list div{display:flex;align-items:center;gap:11px}
.auth-feature-list span{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:rgba(15,184,153,.16);color:#28d0b3;border:1px solid rgba(40,208,179,.35);font-weight:900}
.auth-brand-footer{position:relative;z-index:1;color:#8eabc7;font-size:12px;letter-spacing:.06em}
.auth-card-premium{
  width:auto;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:64px 58px 42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
}
.auth-mobile-brand{display:none}
.auth-form-head{margin-bottom:8px}
.auth-form-head h2{font-size:34px;line-height:1.15;margin:10px 0 8px;color:#071f3f;letter-spacing:-.03em}
.auth-form-head p{font-size:15px;color:#6f8096;margin:0 0 20px}
.auth-form{gap:18px;margin-top:12px}
.auth-form label{font-size:14px;font-weight:780;color:#173554;gap:8px}
.auth-form input{
  min-height:52px;
  border:1px solid #cfdbe8;
  border-radius:12px;
  padding:13px 15px;
  font-size:15px;
  background:#f8fbfe;
  transition:.18s ease;
}
.auth-form input:focus{background:#fff;border-color:#11a68f;box-shadow:0 0 0 4px rgba(17,166,143,.10)}
.auth-submit{
  min-height:52px;
  margin-top:4px;
  border-radius:12px!important;
  border-color:#0a9d87!important;
  background:linear-gradient(135deg,#0aa58c,#07826f)!important;
  box-shadow:0 10px 24px rgba(8,143,121,.22);
  font-size:16px!important;
  font-weight:820!important;
}
.auth-submit:hover{background:linear-gradient(135deg,#0bb397,#087765)!important;transform:translateY(-1px)}
.auth-message{min-height:22px;margin-top:14px;font-size:13px}
.auth-security{margin-top:28px;padding-top:18px;border-top:1px solid #e6edf4;color:#73859a;font-size:12px;display:flex;align-items:center;gap:8px}
.auth-security span{color:#0aa58c;font-size:17px}
@media(max-width:920px){
  .auth-shell-premium{padding:20px}
  .auth-stage{grid-template-columns:1fr;max-width:560px;min-height:0}
  .auth-brand-panel{display:none}
  .auth-card-premium{padding:38px 34px 30px}
  .auth-mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:38px;padding-bottom:24px;border-bottom:1px solid #e8eef5}
  .auth-mobile-brand .auth-brand-copy strong{color:#072650;font-size:22px}
  .auth-mobile-brand .auth-brand-copy span{color:#6d8197}
}
@media(max-width:540px){
  .auth-shell-premium{padding:0;background:#fff}
  .auth-stage{border:0;border-radius:0;box-shadow:none;min-height:100vh}
  .auth-card-premium{padding:28px 22px}
  .auth-form-head h2{font-size:30px}
}
/* FIX84 - Facturación programada por cliente */
.scheduled-summary{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}.scheduled-summary span{background:#eef8f6;border:1px solid #cbece5;border-radius:12px;padding:10px 14px;color:#0f5960}.scheduled-summary strong{font-size:1.15rem;margin-right:4px}.scheduled-table input,.scheduled-table select{min-width:96px;padding:9px 10px;border:1px solid #d8e3ec;border-radius:8px;background:#fff}.scheduled-table td:first-child{min-width:220px}.scheduled-table td:nth-child(2){min-width:180px}.scheduled-table td:nth-child(3){min-width:150px}.table-sub{display:block;color:#708197;margin-top:4px}.input-short{width:72px!important;min-width:72px!important}.switch-line{white-space:nowrap}

/* FIX87 - buscador CAByS dentro de Facturación programada */
.fp-cabys-cell{min-width:310px}.fp-cabys-field{display:flex;gap:6px;align-items:center}.fp-cabys-field input{min-width:170px}.fp-cabys-search{margin-top:6px}.fp-cabys-results{max-height:190px;overflow:auto;margin-top:6px}.fp-cabys-results .catalog-option{width:100%;text-align:left}

/* FIX88 - Inventario opcional */
.inventory-enable-setting{display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #d9e5e7;border-radius:16px;background:#f7fbfb}.inventory-enable-setting span{display:flex;flex-direction:column;gap:4px}.inventory-enable-setting input{width:22px;height:22px;accent-color:#138a85}.inventory-shell{display:grid;gap:18px}.inventory-head{align-items:center}.inventory-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.inventory-stats>div{background:#fff;border:1px solid #e3eaed;border-radius:16px;padding:18px 20px;box-shadow:0 6px 18px rgba(12,38,50,.05)}.inventory-stats small{display:block;color:#65737e;margin-bottom:7px}.inventory-stats strong{font-size:1.55rem;color:#123747}.inventory-panel{padding:18px}.inventory-toolbar{display:flex;gap:12px;margin-bottom:14px}.inventory-toolbar input{flex:1}.inventory-toolbar select{min-width:170px}.inventory-status,.inventory-move{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}.inventory-status.ok,.inventory-move.in{background:#e7f7f2;color:#087568}.inventory-status.low,.inventory-move.out{background:#fff0ea;color:#a94424}.empty-row{text-align:center;color:#6d7b84;padding:28px!important}@media(max-width:900px){.inventory-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-toolbar{flex-direction:column}}@media(max-width:540px){.inventory-stats{grid-template-columns:1fr}}

/* FIX89 - salida segura del primer inicio para SuperAdministrador */
.setup-title-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.setup-back-profile{white-space:nowrap;border-color:#0f766e;color:#0f766e;background:#fff}.setup-back-profile:hover{background:#ecfdf5}@media(max-width:760px){.setup-title-actions{align-items:stretch;width:100%}.setup-back-profile{width:100%}}

/* FIX98 - Cuentas por pagar / cobrar */
.accounts-shell{display:grid;gap:18px}.accounts-tabs{display:flex;gap:10px;flex-wrap:wrap}.table-sub{display:block;margin-top:3px;color:var(--muted,#64748b);font-size:.78rem}.account-status{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-weight:700;font-size:.78rem;border:1px solid #d6e0ea;background:#f8fafc;color:#334155}.account-status.pendiente{background:#fff7e8;border-color:#f1cc86;color:#8a5a00}.account-status.parcial{background:#eaf7f5;border-color:#9ed9d1;color:#087c72}.account-status.pagada{background:#edf9f2;border-color:#9fd9b5;color:#197447}


/* FIX102 - Punto de venta */
.pos-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;background:linear-gradient(135deg,#071d3a,#0c315a);color:#fff;border:0}.pos-head .hint{color:#d5e7f4}.pos-head .section-kicker{color:#38c8b3}.pos-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.pos-sale-card{min-height:620px}.pos-scan-row{display:grid;grid-template-columns:minmax(260px,1.2fr) auto minmax(220px,.8fr);gap:12px;align-items:end;margin-bottom:14px}.pos-scan-main input{font-size:1.2rem;font-weight:700;letter-spacing:.04em;border:2px solid #16a394;background:#f7fffd}.pos-product-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;margin:10px 0 18px;max-height:190px;overflow:auto}.pos-product-tile{text-align:left;border:1px solid #d8e5ee;background:#fff;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;box-shadow:0 2px 8px rgba(7,29,58,.06)}.pos-product-tile:hover{border-color:#159f91;box-shadow:0 5px 14px rgba(15,115,108,.13)}.pos-product-tile strong{color:#092348}.pos-product-tile span,.pos-product-tile small{color:#62758b}.pos-cart input{min-width:90px}.pos-checkout-card{position:sticky;top:96px;background:#fbfdff;align-self:start;max-height:calc(100vh - 116px);overflow:auto;z-index:24}.pos-checkout-card>label{display:block;margin:12px 0}.pos-total-row,.pos-grand-total,.pos-change{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e9f0}.pos-grand-total{margin:8px 0 14px;padding:18px 14px;background:#071d3a;color:#fff;border-radius:12px;border:0}.pos-grand-total strong{font-size:1.7rem}.pos-change{background:#eaf9f5;color:#087c70;border:1px solid #b9e9df;border-radius:10px;padding:14px;margin:12px 0}.pos-change strong{font-size:1.35rem}.pos-pay-btn{width:100%;margin:10px 0}.hidden{display:none!important}@media(max-width:1050px){.pos-layout{grid-template-columns:1fr}.pos-checkout-card{position:static}.pos-scan-row{grid-template-columns:1fr}.pos-product-results{max-height:260px}}

/* FIX104 - parámetros modulares por empresa */
.parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 16px}.parameter-toggle{display:flex!important;align-items:center;justify-content:space-between;gap:15px;border:1px solid #dfe7ef;border-radius:11px;padding:14px;background:#fff;min-height:78px}.parameter-toggle span{display:grid;gap:4px}.parameter-toggle strong{color:#173552;font-size:14px}.parameter-toggle small{color:#687b8f;font-size:12px;line-height:1.35}.parameter-toggle input{width:20px;height:20px;accent-color:#0a9b89}.parameter-payment-panel{margin-top:12px;padding:16px}.parameter-payments{display:flex;gap:14px;flex-wrap:wrap}.parameter-payments label{display:flex!important;align-items:center;gap:6px;font-weight:700;color:#2d4660}.parameter-payments input{width:18px;height:18px;accent-color:#0a9b89}@media(max-width:760px){.parameter-grid{grid-template-columns:1fr}}

/* FIX117: catálogo CAByS oficial como búsqueda primaria en Emitir comprobante */
.cabys-official-label{display:block;margin-bottom:6px;color:#0b3558;font-size:.78rem}.cabys-desc-btn{margin-top:5px}.cabys-saved-details{margin-top:7px}.cabys-saved-details summary{cursor:pointer;color:#60758a;font-size:.76rem;font-weight:700}

/* FIX118 - pagos mixtos en factura y Punto de Venta */
.pos-payments-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 8px}.pos-payments-title>div{display:flex;flex-direction:column;gap:2px}.pos-payments-title small{color:#65788c}.pos-payments-box{display:flex;flex-direction:column;gap:8px}.pos-payment-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(110px,.9fr) minmax(110px,.75fr) 38px;gap:8px;align-items:end;padding:10px;border:1px solid #dbe6ee;border-radius:10px;background:#fff}.pos-payment-row label{display:flex;flex-direction:column;gap:5px;margin:0}.pos-payment-row input,.pos-payment-row select{width:100%}.pos-payment-summary{font-size:.88rem;color:#556b80;background:#f4f8fb;border:1px solid #dce7ef;border-radius:9px;padding:9px 10px;margin:8px 0 4px}.payment-ok{color:#087c70;font-weight:700}.payment-pending,.payment-over{color:#b45c19;font-weight:700}@media(max-width:1050px){.pos-payment-row{grid-template-columns:1fr 1fr}.pos-payment-row .icon-btn{align-self:end}}

/* FIX121 - Navegacion responsive tipo app para telefono y tablet */
.mobile-menu-btn,.mobile-nav-backdrop,.mobile-bottom-nav{display:none}

@media(max-width:1080px){
  html,body{max-width:100%;overflow-x:hidden}
  body.mobile-nav-open{overflow:hidden}
  .app-header{position:sticky;top:0;z-index:900}
  .app-header-primary{display:flex!important;flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 14px!important;min-height:auto!important}
  .app-brand-horizontal{flex:1 1 210px;min-width:0}
  .active-company-header{order:3;flex:1 1 100%;width:100%;padding:8px 0 0!important;border-left:0!important;border-top:1px solid rgba(255,255,255,.14);text-align:left!important;min-width:0}
  .active-company-header strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:17px!important}
  .header-account{order:2;flex:0 0 auto;width:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;padding-top:0!important;border-top:0!important}
  .mobile-menu-btn{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid rgba(255,255,255,.22);border-radius:10px;background:rgba(255,255,255,.07);color:#fff;cursor:pointer;padding:9px}
  .mobile-menu-btn span{display:block;width:22px;height:2px;background:currentColor;border-radius:2px;transition:.2s}
  body.mobile-nav-open .mobile-menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  body.mobile-nav-open .mobile-menu-btn span:nth-child(2){opacity:0}
  body.mobile-nav-open .mobile-menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .app-header .company-switch{display:flex!important;order:4;flex:1 1 100%;width:100%;align-items:center!important;color:#dce8f6!important}
  .app-header .company-switch select{flex:1;min-width:0!important;width:auto!important;max-width:none!important;height:44px;font-size:15px!important}
  .header-notification{width:40px;height:40px}
  .header-user-copy{display:none}
  .app-header .env-badge{display:none}
  .header-logout{padding:10px 8px!important}

  .top-nav{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(360px,88vw)!important;height:100dvh!important;display:block!important;padding:calc(82px + env(safe-area-inset-top)) 12px calc(90px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#061d3f,#082a56)!important;overflow-y:auto!important;overflow-x:hidden!important;transform:translateX(-105%);transition:transform .24s ease;box-shadow:12px 0 34px rgba(0,0,0,.28);z-index:1100!important;border:0!important;-webkit-overflow-scrolling:touch}
  body.mobile-nav-open .top-nav{transform:translateX(0)}
  .top-nav .nav-home,.top-nav .nav-group>summary{width:100%!important;height:52px!important;padding:0 14px!important;border:0!important;border-radius:10px!important;background:transparent!important;color:#fff!important;font-size:15px!important;box-shadow:none!important}
  .top-nav .nav-home{min-width:0!important}
  .top-nav .nav-home-label{font-size:15px!important}
  .top-nav .nav-home-label:after{content:none!important}
  .top-nav .nav-group{width:100%!important;margin:3px 0!important}
  .top-nav .nav-group>summary{justify-content:space-between!important;touch-action:manipulation}
  .top-nav .nav-group>summary:hover,.top-nav .nav-home:hover,.top-nav .nav-home.active{background:rgba(255,255,255,.08)!important;box-shadow:none!important}
  .top-nav .nav-group:has(.nav-group-body button.active)>summary{background:rgba(255,255,255,.08)!important;box-shadow:none!important}
  .top-nav .nav-group-body{position:static!important;display:grid!important;min-width:0!important;width:100%!important;padding:4px 6px 8px 36px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .top-nav details:not([open])>.nav-group-body{display:none!important}
  .top-nav .nav-group-body button{min-height:46px!important;color:#d8e5f2!important;background:transparent!important;border:0!important;border-left:2px solid rgba(255,255,255,.13)!important;border-radius:0!important;padding:10px 12px!important;font-size:14px!important;touch-action:manipulation}
  .top-nav .nav-group-body button:hover,.top-nav .nav-group-body button.active{background:rgba(255,255,255,.08)!important;color:#fff!important;border-left-color:#18b7a0!important;padding-left:12px!important}
  .mobile-nav-backdrop{display:block;position:fixed;inset:0;background:rgba(3,14,31,.52);border:0;padding:0;z-index:1050;opacity:0;pointer-events:none;transition:opacity .2s}
  body.mobile-nav-open .mobile-nav-backdrop{opacity:1;pointer-events:auto}

  .main{padding:0 14px calc(88px + env(safe-area-inset-bottom))!important}
  .table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
  table{min-width:max-content}
  input,select,textarea{font-size:16px}
  .btn{min-height:42px;touch-action:manipulation}
  dialog{max-height:94dvh;overflow:auto;margin:auto}
  .dialog-card.wide{width:100%!important}
}

@media(max-width:720px){
  .app-brand-copy span{display:none}
  .app-brand-copy strong{font-size:19px!important}
  .triconta-symbol{transform:scale(.88);transform-origin:left center}
  .header-account{gap:5px!important}
  .user-avatar{display:none}
  .header-notification{display:none}
  .active-company-header{order:3!important}
  .app-header .company-switch{order:4!important;padding-top:2px}
  .app-header .company-switch{font-size:12px!important}
  .company-switch select{font-size:16px!important}
  .topbar{display:none!important}
  .panel{padding:13px!important;border-radius:12px}
  .panel-head{align-items:flex-start;flex-direction:column}
  .panel-head .row-actions,.actions{width:100%;flex-wrap:wrap}
  .actions .btn,.panel-head .row-actions .btn{flex:1 1 150px}
  .form-grid,.grid2,.status-grid{grid-template-columns:1fr!important}
  .span2{grid-column:auto!important}
  .upload-box{align-items:stretch;flex-direction:column}
  .total-panel{align-items:stretch!important}
  .total-panel strong{font-size:30px}
  dialog{width:100vw!important;max-width:100vw!important;max-height:100dvh!important;height:auto;margin:auto 0 0!important;border-radius:18px 18px 0 0!important}
  .dialog-card{padding:16px!important}
  .process-actions .btn{flex:1 1 140px}

  /* La factura sigue siendo completa, pero la tabla se desplaza suavemente como una app */
  .lines{min-width:980px!important}
  .lines input,.lines select{font-size:16px!important;min-height:42px}
  .cabys-line{min-width:250px!important}

  .mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:1000;height:calc(64px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid #d7e1eb;box-shadow:0 -7px 22px rgba(8,31,65,.12)}
  .mobile-bottom-nav button{border:0;background:transparent;color:#60748a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;font-weight:750;min-width:0;cursor:pointer;touch-action:manipulation}
  .mobile-bottom-nav button.active{color:#087f79}
  .mobile-bottom-icon{font-size:23px;line-height:1}
  .mobile-bottom-nav small{font-size:10px;white-space:nowrap}
}

/* FIX122 - Auditoria responsive integral telefono/tablet */
.view,.view>* ,.panel,.accounts-shell,.inventory-shell,.pos-layout,.emit-grid,.dashboard-main-grid,.dashboard-bottom-grid{min-width:0;max-width:100%}
.table-wrap{width:100%;max-width:100%;position:relative}
.table-wrap table{margin:0}
.panel-head>div,.inventory-head>div,.dialog-title>div{min-width:0}
.panel-head h3,.inventory-head h3,.panel-head .hint,.inventory-head .hint{overflow-wrap:anywhere}

@media(max-width:1080px){
  .main{width:100%;max-width:100%;box-sizing:border-box}
  .view{width:100%;max-width:100%;overflow:visible}
  .panel,.accounts-shell,.inventory-shell{width:100%;box-sizing:border-box}
  .table-wrap{overflow-x:auto!important;overflow-y:hidden;padding-bottom:4px;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
  .table-wrap:after{content:"Deslice horizontalmente para ver mas";display:block;position:sticky;left:0;width:max-content;max-width:100%;margin:6px 0 0;padding:4px 8px;border-radius:7px;background:#f3f7fa;color:#66788f;font-size:11px;font-weight:650}
  .table-wrap table{min-width:max-content}
  .inventory-toolbar,.issued-search-bar,.accounts-tabs{max-width:100%}
  .accounts-tabs{display:flex;gap:8px;flex-wrap:wrap}
  .accounts-tabs .btn{flex:1 1 180px}
  #view-cuentas .panel-head .actions{display:flex;gap:8px;flex-wrap:wrap;width:100%}
  #view-cuentas .panel-head .actions select,#view-cuentas .panel-head .actions .btn{flex:1 1 190px;min-width:0;max-width:100%}
}

@media(max-width:720px){
  .main{padding-left:10px!important;padding-right:10px!important}
  #view-dashboard{padding-top:12px}
  .panel{width:100%;max-width:100%;overflow:visible}
  .panel-head,.inventory-head{gap:10px}
  .panel-head .actions,.panel-head .row-actions,.inventory-head .actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:8px!important}
  .panel-head .actions>* ,.panel-head .row-actions>* ,.inventory-head .actions>*{width:100%!important;max-width:100%!important;min-width:0!important}
  .search,.issued-search-bar input,.issued-search-bar select{width:100%;max-width:100%}
  .issued-search-bar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .inventory-toolbar{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .inventory-toolbar>*{width:100%!important;max-width:100%!important;min-width:0!important}
  .inventory-stats{grid-template-columns:1fr!important}
  .inventory-stats>div{min-width:0;padding:14px 15px}
  .status-item{min-width:0}
  .status-item strong,.status-item small{overflow-wrap:anywhere}

  /* Cuentas: en telefono se muestran tarjetas completas, sin columnas cortadas. */
  #view-cuentas .accounts-shell{display:block;width:100%}
  #view-cuentas .inventory-head{margin-bottom:10px}
  #view-cuentas .accounts-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;width:100%}
  #view-cuentas .accounts-tabs .btn{width:100%;min-width:0;padding-left:8px;padding-right:8px}
  #view-cuentas .table-wrap{overflow:visible!important;padding:0}
  #view-cuentas .table-wrap:after{display:none}
  #view-cuentas table{display:block!important;min-width:0!important;width:100%!important}
  #view-cuentas thead{display:none!important}
  #view-cuentas tbody{display:grid!important;gap:10px;width:100%}
  #view-cuentas tr{display:block!important;width:100%;background:#fff;border:1px solid #dfe7ef;border-radius:12px;padding:9px 11px;box-shadow:0 3px 10px rgba(8,31,65,.05)}
  #view-cuentas td{display:grid!important;grid-template-columns:minmax(92px,36%) minmax(0,1fr);gap:8px;align-items:start;width:100%!important;max-width:100%!important;min-width:0!important;padding:7px 0!important;border:0!important;border-bottom:1px solid #eef2f5!important;white-space:normal!important;overflow-wrap:anywhere;text-align:left!important}
  #view-cuentas td:last-child{border-bottom:0!important;grid-template-columns:1fr;padding-top:10px!important}
  #view-cuentas td:last-child .btn,#view-cuentas td:last-child button{width:100%;max-width:100%}
  #accountsPayableBody td:nth-child(1):before{content:"Fecha"}
  #accountsPayableBody td:nth-child(2):before{content:"Proveedor"}
  #accountsPayableBody td:nth-child(3):before{content:"Documento"}
  #accountsPayableBody td:nth-child(4):before{content:"Vencimiento"}
  #accountsPayableBody td:nth-child(5):before{content:"Total"}
  #accountsPayableBody td:nth-child(6):before{content:"Abonado"}
  #accountsPayableBody td:nth-child(7):before{content:"Saldo"}
  #accountsPayableBody td:nth-child(8):before{content:"Estado"}
  #accountsReceivableBody td:nth-child(1):before{content:"Fecha"}
  #accountsReceivableBody td:nth-child(2):before{content:"Cliente"}
  #accountsReceivableBody td:nth-child(3):before{content:"Consecutivo"}
  #accountsReceivableBody td:nth-child(4):before{content:"Vencimiento"}
  #accountsReceivableBody td:nth-child(5):before{content:"Total"}
  #accountsReceivableBody td:nth-child(6):before{content:"Abonado"}
  #accountsReceivableBody td:nth-child(7):before{content:"Saldo"}
  #accountsReceivableBody td:nth-child(8):before{content:"Estado"}
  #view-cuentas td:before{font-weight:800;color:#52677f;font-size:12px}

  /* Facturacion programada: tarjetas legibles en movil. */
  #view-programada .table-wrap{overflow:visible!important;padding:0}
  #view-programada .table-wrap:after{display:none}
  #view-programada .scheduled-table{display:block!important;min-width:0!important;width:100%!important}
  #view-programada .scheduled-table thead{display:none!important}
  #view-programada .scheduled-table tbody{display:grid!important;gap:10px;width:100%}
  #view-programada .scheduled-table tr{display:block!important;width:100%;border:1px solid #dfe7ef;border-radius:12px;padding:10px 11px;background:#fff;box-shadow:0 3px 10px rgba(8,31,65,.05)}
  #view-programada .scheduled-table td{display:grid!important;grid-template-columns:minmax(102px,38%) minmax(0,1fr);gap:8px;align-items:start;padding:7px 0!important;border:0!important;border-bottom:1px solid #eef2f5!important;white-space:normal!important;min-width:0!important;max-width:100%!important;overflow-wrap:anywhere;text-align:left!important}
  #view-programada .scheduled-table td:last-child{border-bottom:0!important;grid-template-columns:1fr;padding-top:10px!important}
  #view-programada .scheduled-table td:nth-child(1):before{content:"Cliente"}
  #view-programada .scheduled-table td:nth-child(2):before{content:"Concepto"}
  #view-programada .scheduled-table td:nth-child(3):before{content:"CAByS"}
  #view-programada .scheduled-table td:nth-child(4):before{content:"Monto base"}
  #view-programada .scheduled-table td:nth-child(5):before{content:"IVA"}
  #view-programada .scheduled-table td:nth-child(6):before{content:"Total"}
  #view-programada .scheduled-table td:nth-child(7):before{content:"Fecha"}
  #view-programada .scheduled-table td:nth-child(8):before{content:"Repeticion"}
  #view-programada .scheduled-table td:nth-child(9):before{content:"Tipo"}
  #view-programada .scheduled-table td:nth-child(10):before{content:"Modo"}
  #view-programada .scheduled-table td:nth-child(11):before{content:"Estado"}
  #view-programada .scheduled-table td:before{font-weight:800;color:#52677f;font-size:12px}

  /* Dialogos, formularios y botones sin desbordes laterales. */
  dialog .form-grid,dialog .grid2{width:100%;max-width:100%}
  dialog input,dialog select,dialog textarea{max-width:100%;min-width:0}
  .dialog-card{max-width:100%;box-sizing:border-box;overflow-x:hidden}
  .process-actions,.emit-final-actions{max-width:100%}
  .process-actions .btn,.emit-final-actions .btn{white-space:normal}
}

@media(max-width:430px){
  .app-header-primary{padding-left:10px!important;padding-right:10px!important}
  .active-company-header strong{font-size:15px!important}
  .app-header .company-switch select{font-size:14px!important}
  .accounts-tabs{grid-template-columns:1fr!important}
  .mobile-bottom-nav small{font-size:9px}
}


/* FIX123 - Facturacion movil simplificada y version visible actualizada */
.mobile-invoice-guide{display:none}
@media(max-width:760px){
  /* El facturador se comporta como una pantalla de app: una sola columna, sin cortes laterales. */
  #view-emitir{width:100%;max-width:100%;overflow-x:hidden;padding-bottom:86px}
  #view-emitir .emit-workspace-head{gap:10px;margin-bottom:10px}
  #view-emitir .emit-title-wrap{align-items:center;gap:10px}
  #view-emitir .emit-title-wrap h2{font-size:22px!important;line-height:1.15;margin:0}
  #view-emitir .emit-title-wrap p{font-size:12px;line-height:1.35;margin-top:3px}
  #view-emitir .emit-title-icon{width:38px;height:38px;min-width:38px;font-size:18px}
  #view-emitir .emit-company-card{width:100%;min-width:0;padding:10px 12px!important;border-radius:11px}
  #view-emitir .emit-company-card strong,#view-emitir .emit-company-card span{white-space:normal;overflow-wrap:anywhere}
  #view-emitir .emit-workspace-head>.row-actions{display:grid!important;grid-template-columns:1fr 1fr;width:100%;gap:8px}
  #view-emitir .emit-workspace-head>.row-actions .btn{width:100%;min-width:0;white-space:normal;padding:10px 8px}

  .mobile-invoice-guide{display:grid;grid-template-columns:1fr repeat(3,auto);align-items:center;gap:7px;margin:0 0 10px;padding:10px 11px;border:1px solid #dbe7ee;border-radius:12px;background:#f7fbfd;color:#35546f;font-size:11px}
  .mobile-invoice-guide strong{color:#082f56;font-size:13px}
  .mobile-invoice-guide span{padding:5px 7px;border-radius:999px;background:#e9f8f5;color:#087b68;font-weight:800;white-space:nowrap}

  #view-emitir .emit-main-card,#view-emitir .emit-detail-card,#view-emitir #pagosDetails,#view-emitir .emit-meta-panel,#view-emitir .total-panel{border-radius:12px!important;padding:13px!important;margin-left:0!important;margin-right:0!important}
  #view-emitir .panel-head{gap:8px;align-items:flex-start}
  #view-emitir .panel-head h3{font-size:18px!important}
  #view-emitir .plan-badge{font-size:10px;padding:5px 7px;max-width:45%;white-space:normal;text-align:right}
  #view-emitir .form-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  #view-emitir label{min-width:0!important;width:100%}
  #view-emitir input,#view-emitir select,#view-emitir textarea{width:100%!important;max-width:100%!important;min-width:0!important;font-size:16px!important;box-sizing:border-box}
  #view-emitir .client-picker{display:grid!important;grid-template-columns:1fr!important;gap:7px;width:100%}
  #view-emitir .client-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px;width:100%}
  #view-emitir .client-actions .btn{width:100%;min-width:0;padding:9px 7px;white-space:normal}
  #view-emitir .compact-details{border-radius:10px;margin-top:9px}
  #view-emitir .compact-details>summary{padding:12px!important;gap:8px;align-items:flex-start}
  #view-emitir .compact-details>summary small{font-size:10px;text-align:right}
  #view-emitir .compact-details-body{padding:12px!important}

  /* Cada linea de factura pasa de tabla ancha a tarjeta tactil. */
  #view-emitir .emit-detail-card>.panel-head{display:grid!important;grid-template-columns:1fr;width:100%}
  #view-emitir .emit-add-line{width:100%;min-height:44px}
  #view-emitir .emit-detail-card .table-wrap{overflow:visible!important;padding:0!important;margin:0!important}
  #view-emitir .emit-detail-card .table-wrap:after{display:none!important}
  #view-emitir table.lines{display:block!important;width:100%!important;min-width:0!important}
  #view-emitir table.lines thead{display:none!important}
  #view-emitir table.lines tbody{display:grid!important;width:100%;gap:12px}
  #view-emitir table.lines tr{display:block!important;width:100%;min-width:0;border:1px solid #dbe6ee;border-radius:13px;padding:8px 11px;background:#fff;box-shadow:0 3px 10px rgba(8,31,65,.05)}
  #view-emitir table.lines td{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:8px 0!important;border:0!important;border-bottom:1px solid #edf2f5!important;white-space:normal!important;text-align:left!important;box-sizing:border-box}
  #view-emitir table.lines td:last-child{border-bottom:0!important;padding:9px 0 2px!important}
  #view-emitir table.lines td:before{display:block;margin-bottom:5px;color:#52677f;font-size:11px;font-weight:850;letter-spacing:.01em}
  #view-emitir table.lines td:nth-child(1):before{content:"Producto / descripción"}
  #view-emitir table.lines td:nth-child(2):before{content:"CAByS"}
  #view-emitir table.lines td:nth-child(3):before{content:"Cantidad"}
  #view-emitir table.lines td:nth-child(4):before{content:"Precio unitario"}
  #view-emitir table.lines td:nth-child(5):before{content:"Descuento"}
  #view-emitir table.lines td:nth-child(6):before{content:"IVA / Exoneración"}
  #view-emitir table.lines td:nth-child(7):before{content:"Total de la línea"}
  #view-emitir table.lines td:nth-child(8):before{content:"Acciones"}
  #view-emitir table.lines td:nth-child(7){padding:12px 0!important;background:#f7fbfd;border-radius:9px;margin:4px 0}
  #view-emitir table.lines td:nth-child(7)>strong{display:block;color:#087b68;font-size:21px!important;padding:0 10px}
  #view-emitir table.lines td:nth-child(7)>small{display:block;padding:3px 10px 0;color:#62778b}
  #view-emitir table.lines td:last-child .icon-btn{width:100%!important;min-height:40px;border-radius:9px;background:#fff5f4;color:#a43a32;border:1px solid #f0d4d1}
  #view-emitir .cabys-line{width:100%;min-width:0}
  #view-emitir .cabys-line .inline-field{display:grid!important;grid-template-columns:1fr!important;gap:7px;width:100%}
  #view-emitir .cabys-line .inline-field .btn,#view-emitir .cabys-desc-btn{width:100%;min-height:40px}
  #view-emitir .cabys-search{margin-top:7px}
  #view-emitir .line-total-calc-btn{min-height:40px;font-size:13px}
  #view-emitir .tax-auto.compact{padding:10px!important}
  #view-emitir .tax-auto.compact .btn{width:100%;margin-top:7px}

  /* Resumen y envio siempre alcanzables con el pulgar, por encima de la barra movil. */
  #view-emitir .emit-side-stack{display:grid!important;grid-template-columns:1fr!important;gap:10px}
  #view-emitir .emit-total-box strong{font-size:28px!important}
  #view-emitir .final-submit-panel{position:sticky!important;bottom:calc(64px + env(safe-area-inset-bottom));z-index:70;margin:12px -2px 0!important;padding:10px!important;border:1px solid #dce6ed!important;border-radius:12px!important;box-shadow:0 -6px 22px rgba(8,38,68,.13)!important}
  #view-emitir .final-submit-panel>div:first-child{display:none}
  #view-emitir .emit-final-actions{display:grid!important;grid-template-columns:minmax(88px,.38fr) minmax(0,1fr)!important;gap:8px;width:100%}
  #view-emitir .emit-final-actions .btn{width:100%!important;min-width:0!important;min-height:46px;padding:10px 8px!important;white-space:normal}
  #view-emitir .emit-send-btn{font-size:15px!important}
}

@media(max-width:420px){
  .mobile-invoice-guide{grid-template-columns:1fr 1fr 1fr;}
  .mobile-invoice-guide strong{grid-column:1/-1}
  .mobile-invoice-guide span{text-align:center}
  #view-emitir .emit-workspace-head>.row-actions{grid-template-columns:1fr}
  #view-emitir .client-actions{grid-template-columns:1fr}
  #view-emitir .emit-final-actions{grid-template-columns:92px minmax(0,1fr)!important}
}


/* FIX124 - Experiencia separada: Sistema web completo / Factura móvil */
.mode-choice-screen{min-height:100vh;background:linear-gradient(145deg,#061f42 0%,#0a315f 58%,#087f78 140%);display:grid;place-items:center;padding:24px;box-sizing:border-box}
.mode-choice-card{width:min(880px,100%);background:#fff;border-radius:24px;padding:34px;box-shadow:0 28px 80px rgba(0,18,45,.32)}
.mode-choice-brand{display:flex;align-items:center;gap:12px;margin-bottom:28px;color:#082f56}.mode-choice-brand .triconta-symbol{width:46px;height:46px}.mode-choice-brand>div:last-child{display:grid}.mode-choice-brand strong{font-size:20px}.mode-choice-brand small{color:#6b7d91}
.mode-choice-copy{text-align:center;max-width:680px;margin:0 auto 26px}.mode-choice-copy h1{margin:7px 0 9px;color:#082f56;font-size:31px;line-height:1.12}.mode-choice-copy p{margin:0;color:#63778c;font-size:16px;line-height:1.5}
.mode-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.mode-choice-option{position:relative;display:grid;grid-template-columns:58px 1fr;align-items:center;gap:14px;text-align:left;border:2px solid #dce7ee;border-radius:18px;background:#fff;padding:22px;cursor:pointer;min-height:128px;transition:.16s ease}.mode-choice-option:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,45,82,.12)}.mode-choice-option.mobile-option{border-color:#9fddd3;background:#f2fcfa}.mode-choice-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#0b9b87;color:#fff;font-size:27px;font-weight:900}.web-option .mode-choice-icon{background:#0a3564}.mode-choice-option span:nth-child(2){display:grid;gap:6px}.mode-choice-option strong{font-size:20px;color:#082f56}.mode-choice-option small{font-size:13px;line-height:1.4;color:#62778b}.mode-choice-option em{position:absolute;right:15px;top:12px;background:#daf5ef;color:#087665;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:850}.mode-choice-option.disabled{opacity:.48;cursor:not-allowed}.mode-choice-option.disabled:hover{transform:none;box-shadow:none}.mode-choice-hint{text-align:center;margin:18px 0 0;color:#72859a;font-size:12px}
.header-mode-switch{border:1px solid rgba(255,255,255,.42);background:transparent;color:#fff;border-radius:9px;padding:8px 10px;font-weight:800;cursor:pointer;white-space:nowrap}

/* Factura móvil: una sola misión, crear y enviar el comprobante. */
.invoice-mobile-mode .top-nav,.invoice-mobile-mode #mobileBottomNav,.invoice-mobile-mode #mobileNavBackdrop,.invoice-mobile-mode .mobile-menu-btn,.invoice-mobile-mode .header-notification,.invoice-mobile-mode .user-avatar,.invoice-mobile-mode .header-user-copy,.invoice-mobile-mode .env-badge,.invoice-mobile-mode .topbar{display:none!important}
.invoice-mobile-mode .app-header{position:sticky;top:0;z-index:120;box-shadow:0 2px 12px rgba(3,29,57,.16)}
.invoice-mobile-mode .app-header-primary{min-height:62px;padding:8px 18px!important;display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.invoice-mobile-mode .app-brand-copy span{display:none}.invoice-mobile-mode .app-brand-horizontal{min-width:0}.invoice-mobile-mode .app-brand-horizontal .triconta-symbol{width:34px;height:34px}.invoice-mobile-mode .app-brand-copy strong{font-size:17px}
.invoice-mobile-mode .active-company-header{display:grid!important;min-width:0;text-align:center}.invoice-mobile-mode .active-company-header strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice-mobile-mode .active-company-header small{display:none}
.invoice-mobile-mode .header-account{display:flex!important;gap:7px;justify-content:flex-end}.invoice-mobile-mode .header-mode-switch{display:inline-flex!important;align-items:center;justify-content:center}
.invoice-mobile-mode .main{padding-top:12px!important}.invoice-mobile-mode #view-emitir{display:none!important}.invoice-mobile-mode #view-emitir.active{display:block!important}.invoice-mobile-mode #view-emitir .emit-workspace-head>.row-actions{display:none!important}.invoice-mobile-mode #view-emitir .emit-title-wrap p{display:none}.invoice-mobile-mode #view-emitir .emit-title-wrap h2:after{content:" · móvil";font-weight:500;color:#0a8c79}.invoice-mobile-mode #view-emitir .mobile-invoice-guide{display:grid!important}.invoice-mobile-mode #view-emitir .final-submit-panel{bottom:calc(8px + env(safe-area-inset-bottom))!important}.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE · Factura móvil · Versión V6";min-height:38px;padding:11px 18px;text-align:center;white-space:normal}

@media(max-width:760px){
  .mode-choice-screen{padding:14px}.mode-choice-card{padding:22px 16px;border-radius:20px}.mode-choice-copy h1{font-size:25px}.mode-choice-copy p{font-size:14px}.mode-choice-grid{grid-template-columns:1fr}.mode-choice-option{min-height:104px;padding:17px;grid-template-columns:48px 1fr}.mode-choice-icon{width:46px;height:46px;font-size:23px}.mode-choice-option strong{font-size:18px}
  .invoice-mobile-mode .app-header-primary{grid-template-columns:auto minmax(0,1fr);padding:7px 10px!important}.invoice-mobile-mode .active-company-header{grid-column:1/-1;grid-row:2}.invoice-mobile-mode .header-account{grid-column:2;grid-row:1}.invoice-mobile-mode .app-brand-horizontal{grid-column:1;grid-row:1}.invoice-mobile-mode .header-mode-switch{font-size:11px;padding:7px 8px}
}

/* V1 conserva el diagnóstico y reintento seguro de la base funcional. */
.doc-status-note{display:block;max-width:320px;margin-top:6px;color:#8a4b00;font-size:11px;line-height:1.3;white-space:normal}
.row-menu-pop .emit-retry-action{font-weight:850;color:#087f6d}

/* V1 - Personalización por empresa y editor de clientes en pantalla completa */
.parameter-master-panel{max-width:1050px}.parameter-section{border:1px solid var(--line);border-radius:16px;background:#fff;margin:16px 0;padding:18px}.parameter-section-title{display:flex;gap:12px;align-items:flex-start;margin-bottom:16px}.parameter-section-title>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#e9f7f4;color:#087f70;font-weight:850;flex:0 0 auto}.parameter-section-title h3{margin:2px 0 4px;font-size:18px}.parameter-option-group{border-top:1px solid #e8edf4;padding-top:16px;margin-top:16px}.parameter-option-group:first-of-type{border-top:0;padding-top:0;margin-top:0}.parameter-option-group h4{margin:0 0 11px;color:#16395f}.parameter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.parameter-toggle{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #dbe4ef;border-radius:12px;padding:13px 14px;background:#fbfdff;cursor:pointer}.parameter-toggle:hover{border-color:#a9c8e7;background:#f7fbff}.parameter-toggle span{display:grid;gap:3px}.parameter-toggle strong{color:#102f55}.parameter-toggle small{font-size:11px;font-weight:450;color:var(--muted);line-height:1.35}.parameter-toggle input{width:20px;height:20px;flex:0 0 auto;accent-color:#079c87}.parameter-dependent-off{opacity:.45}.parameter-defaults{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;padding:12px;border-radius:12px;background:#f7fafc;border:1px dashed #ccd9e8}.parameter-payments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.parameter-payments label{display:flex;align-items:center;gap:8px;border:1px solid #dce5ef;border-radius:10px;padding:10px 12px;background:#fff}.parameter-payments input{width:18px;height:18px;accent-color:#079c87}.parameter-save-actions{justify-content:flex-end;position:sticky;bottom:8px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);padding:10px;border-radius:12px;border:1px solid #e2e9f2;box-shadow:0 8px 22px rgba(18,43,76,.08)}
.client-editor-page{max-width:1020px;margin-inline:auto}.client-editor-head{align-items:flex-start}.client-editor-grid{gap:14px}.client-core-field input{font-size:15px;font-weight:700}.client-email-card{border:1px solid #d9e4ef;border-radius:14px;padding:14px;background:#f9fcff}.client-email-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}.client-email-head>div{display:grid;gap:3px}.client-email-head small{font-size:11px;color:var(--muted);font-weight:450}.client-extra-emails{display:grid;gap:8px;margin-top:9px}.client-extra-email-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:center}.client-extra-email-row .icon-btn{height:40px}.client-editor-actions{justify-content:flex-end;border-top:1px solid #e8edf4;margin-top:18px;padding-top:16px}.pos-payment-single{display:grid;gap:3px;padding:12px 13px;border:1px solid #bfe6dd;border-radius:11px;background:#f1fbf8}.pos-payment-single span,.pos-payment-single small{font-size:11px;color:var(--muted)}.pos-payment-single strong{color:#087966;font-size:14px}
@media(max-width:760px){.parameter-grid,.parameter-defaults,.parameter-payments{grid-template-columns:1fr}.parameter-section{padding:14px}.client-email-head{flex-direction:column}.client-email-head .btn{width:100%}.client-editor-page{padding:14px}}

/* TRICONTA FE V2 - factura mas simple: selector de productos + resumen siempre visible */
.lines-v2{table-layout:fixed;min-width:1050px}
.lines-v2 th:nth-child(1){width:38%}.lines-v2 th:nth-child(2){width:8%}.lines-v2 th:nth-child(3){width:13%}.lines-v2 th:nth-child(4){width:10%}.lines-v2 th:nth-child(5){width:15%}.lines-v2 th:nth-child(6){width:11%}.lines-v2 th:nth-child(7){width:5%}
.lines-v2 td{vertical-align:top}
.line-product-choose{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.line-product-search-btn{min-height:41px;background:linear-gradient(135deg,#0aa28a,#078f79)!important;border-color:#078f79!important;box-shadow:0 4px 10px rgba(7,143,121,.15)}
.line-simple-hint{display:block;margin-top:7px;color:#6c7f91;line-height:1.35}
.line-product-selected{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 11px;margin-bottom:8px;border:1px solid #cfe3df;border-radius:10px;background:#f3fbf9}
.line-product-selected.manual{display:grid;gap:3px;background:#f7f9fc;border-color:#dbe4ef}
.line-product-selected>div{min-width:0}.line-product-selected strong{display:block;color:#0b3558;overflow-wrap:anywhere}.line-product-selected small{display:block;margin-top:3px;color:#65798c;overflow-wrap:anywhere}
.line-description-label{display:grid;gap:5px;margin-top:7px;color:#52677d;font-size:11px;font-weight:800;text-transform:none}
.lines-v2 .detail{min-width:0!important;width:100%!important}
.line-manual-panel{margin-top:10px;padding:11px;border:1px dashed #bfcfdf;border-radius:10px;background:#fbfdff}
.line-manual-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;color:#294864}
.line-manual-grid{display:grid;grid-template-columns:minmax(190px,1fr) minmax(220px,1.25fr) minmax(100px,.55fr);gap:9px;align-items:end}
.line-manual-grid label{font-size:11px}.line-manual-grid .btn{margin-top:5px}
.line-actions{display:flex;flex-direction:column;gap:7px;align-items:stretch}.line-actions .btn{padding:7px 8px}.line-delete-btn{width:100%;min-height:34px;border:1px solid #efd8d5!important;border-radius:8px!important;background:#fff7f6!important;color:#a33b34!important;font-size:20px!important}

.line-product-dialog{width:min(980px,94vw)!important}.line-product-dialog .dialog-card.wide{width:100%!important}
.line-product-search-label{font-size:13px;margin-bottom:14px}.line-product-search-label input{margin-top:5px;font-size:16px}
.line-product-results{min-height:220px;max-height:min(55vh,520px);overflow:auto;border:1px solid #dce5ef;border-radius:12px;background:#fff}
.line-product-table-wrap{overflow:auto}.line-product-table{min-width:760px}.line-product-table th{position:sticky;top:0;background:#f4f7fa;z-index:2}.line-product-table td{padding:12px 10px}.line-product-table tbody tr:hover{background:#f5fbfa}
.line-product-empty{padding:28px;text-align:center;color:#65798c}

@media(min-width:1181px){
  #view-emitir{position:relative;padding-right:330px}
  #view-emitir>.emit-grid{grid-template-columns:minmax(0,1fr)!important}
  #view-emitir .emit-side-stack{position:fixed!important;top:166px!important;right:18px!important;width:294px!important;max-height:calc(100vh - 184px);overflow-y:auto;z-index:75;display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:0 4px 5px 0;scrollbar-width:thin}
  #view-emitir .emit-side-stack .panel{box-shadow:0 10px 30px rgba(10,40,72,.13)!important}
  #view-emitir .emit-side-stack .total-panel{position:relative!important;top:auto!important}
}
@media(min-width:1500px){
  #view-emitir{padding-right:365px}
  #view-emitir .emit-side-stack{right:28px!important;width:330px!important}
}
@media(max-width:1180px){
  #view-emitir{padding-right:0}
  #view-emitir .emit-side-stack{position:relative!important;top:auto!important;right:auto!important;width:auto!important;max-height:none!important;overflow:visible!important}
}
@media(max-width:900px){
  .line-manual-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  #view-emitir table.lines-v2 td:nth-child(1):before{content:"Producto / descripción"}
  #view-emitir table.lines-v2 td:nth-child(2):before{content:"Cantidad"}
  #view-emitir table.lines-v2 td:nth-child(3):before{content:"Precio unitario"}
  #view-emitir table.lines-v2 td:nth-child(4):before{content:"Descuento"}
  #view-emitir table.lines-v2 td:nth-child(5):before{content:"IVA / Exoneración"}
  #view-emitir table.lines-v2 td:nth-child(6):before{content:"Total de la línea"}
  #view-emitir table.lines-v2 td:nth-child(7):before{content:"Acciones"}
  #view-emitir table.lines-v2 td:nth-child(6){padding:12px 0!important;background:#f7fbfd!important;border-radius:9px!important;margin:4px 0!important}
  #view-emitir table.lines-v2 td:nth-child(6)>strong{display:block;color:#087b68;font-size:21px!important;padding:0 10px}
  #view-emitir table.lines-v2 td:nth-child(6)>small{display:block;padding:3px 10px 0;color:#62778b}
  #view-emitir table.lines-v2 td:nth-child(7){padding:9px 0 2px!important;background:transparent!important;border-radius:0!important;margin:0!important}
  #view-emitir table.lines-v2 td:nth-child(7)>strong,#view-emitir table.lines-v2 td:nth-child(7)>small{padding:0!important}
  .line-product-choose{display:grid;grid-template-columns:1fr}.line-product-choose .btn{width:100%}
  .line-product-selected{display:grid}.line-product-selected .btn{width:100%}
  .line-actions{display:grid;grid-template-columns:1fr 64px}
  .line-product-dialog{width:100vw!important;max-width:100vw!important}
}


/* TRICONTA_FE_V3 - interfaz limpia, responsiva y sin desplazamiento horizontal */
html,body{max-width:100%;overflow-x:hidden}
#view-emitir .emit-side-stack{align-self:start;position:sticky;top:86px;height:max-content}
#view-emitir .emit-side-stack>.panel:not(.total-panel){display:none!important}
#view-emitir .total-panel{position:relative!important;top:auto!important;max-height:calc(100vh - 105px);overflow:hidden}
#view-emitir .emit-warning{display:none!important}
.line-editor-wrap,.line-summary-wrap{width:100%;max-width:100%;overflow:visible}
.lines-v3,.line-summary-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse}
.lines-v3 th,.lines-v3 td,.line-summary-table th,.line-summary-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.line-editor-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:12px;flex-wrap:wrap}
.line-editor-footer .btn{min-width:180px}
.line-summary-wrap{margin-top:18px;border-top:1px solid #dfe8ef;padding-top:14px}
.line-summary-table th{background:#f2f6f9;color:#314d6d;font-size:12px;text-transform:uppercase;padding:10px 8px}
.line-summary-table td{padding:10px 8px;border-bottom:1px solid #edf1f4}
.line-summary-table .issued-icon{min-width:42px}
.correo-simple-card{max-width:620px!important}
.row-menu-pop{z-index:1500}

/* Nunca crear barras horizontales por zoom: el contenido se reacomoda. */
.table-wrap{overflow-x:visible!important;max-width:100%!important}
.table-wrap:after{display:none!important}
.table-wrap table{width:100%!important;max-width:100%!important;min-width:0!important}
input,select,textarea,button{max-width:100%;box-sizing:border-box}
.form-grid,.grid2,.panel-head,.row-actions,.actions,.client-picker,.inline-field{min-width:0;max-width:100%}

@media(max-width:1180px){
  .table-wrap table{table-layout:fixed!important}
  .table-wrap th,.table-wrap td{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word}
  .form-grid,.grid2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .span2{grid-column:1/-1!important}
  #view-emitir .emit-layout,#view-emitir .emit-grid{grid-template-columns:minmax(0,1fr)!important}
  #view-emitir .emit-side-stack{position:relative!important;top:auto!important;grid-row:auto!important;width:100%!important}
  #view-emitir .total-panel{max-height:none!important}
  .lines-v3,.line-summary-table{table-layout:auto!important}
  .lines-v3 thead,.line-summary-table thead{display:none}
  .lines-v3 tbody,.line-summary-table tbody{display:grid;gap:10px;width:100%}
  .lines-v3 tr,.line-summary-table tr{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;border:1px solid #dfe7ef;border-radius:12px;padding:12px;background:#fff}
  .lines-v3 td,.line-summary-table td{display:block!important;width:100%!important;min-width:0!important;padding:0!important;border:0!important;text-align:left!important}
  .lines-v3 td:first-child{grid-column:1/-1}
  .line-summary-table td:nth-child(3){grid-column:1/-1}
  .line-summary-table td:nth-child(10),.line-summary-table td:nth-child(11){display:inline-flex!important;align-items:center;justify-content:flex-start}
}
@media(max-width:760px){
  .form-grid,.grid2{grid-template-columns:1fr!important}
  .lines-v3 tr,.line-summary-table tr{grid-template-columns:1fr!important}
  .line-editor-footer{display:grid;grid-template-columns:1fr;width:100%}
  .line-editor-footer .btn{width:100%;min-width:0}
  .row-actions,.actions,.client-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .row-actions>*,.actions>*,.client-actions>*{flex:1 1 180px;min-width:0}
  dialog{max-width:calc(100vw - 16px)!important}
  .dialog-card{width:100%!important;max-width:100%!important}
}

@media(max-width:1180px){
  .top-nav{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;height:auto!important;overflow:visible!important;width:100%!important}
  .top-nav .nav-home,.top-nav .nav-group,.top-nav .nav-group>summary{width:100%!important;min-width:0!important}
  .top-nav .nav-group>summary{justify-content:center!important;padding-left:10px!important;padding-right:10px!important}
  .top-nav .nav-group-body{top:100%!important;max-width:min(360px,94vw)!important}
}
@media(max-width:760px){
  .top-nav{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .top-nav .nav-group>summary,.top-nav .nav-home{justify-content:flex-start!important}
}

.table-wrap table{table-layout:fixed!important}.issued-table th{white-space:normal!important}.table-wrap th,.table-wrap td{overflow-wrap:anywhere;word-break:normal}

/* TRICONTA_FE_V5 - catalogo comercial simple, navegacion fija y producto seleccionado visible */
:root{--sticky-header-offset:150px}
.app-header{position:sticky!important;top:0!important;z-index:5000!important}
.app-header-primary,.top-nav{position:relative;z-index:2}

/* Los encabezados de los listados permanecen visibles debajo del menu principal. */
.view.active .table-wrap{overflow:visible!important}
.view.active .table-wrap>table>thead>tr>th{position:sticky;top:var(--sticky-header-offset);z-index:90;background:#f2f6f9;box-shadow:0 1px 0 #dce4ef}
.view.active .table-wrap>table{width:100%;max-width:100%;table-layout:fixed}
.view.active .table-wrap>table th,.view.active .table-wrap>table td{white-space:normal;overflow-wrap:anywhere}

.products-main-panel{border-top:4px solid #0aa28a!important}
.cabys-panel{border-top:4px solid #7055d9!important}
.product-list-head{align-items:flex-start}
.danger-soft{border-color:#e9b9b5!important;color:#9d3b35!important;background:#fff7f6!important}
.danger-soft:hover{background:#ffebe9!important}
.product-table-wrap td:nth-child(2),.cabys-table-wrap td:nth-child(3){font-size:14px;line-height:1.4}

/* Formulario de producto: una sola tarjeta continua y sin ventana emergente. */
.product-editor-page{max-width:1100px;margin-left:auto;margin-right:auto;padding:24px!important}
.product-editor-head{padding-bottom:16px;border-bottom:1px solid #e4eaf1}
.product-form-block{border:1px solid #dbe5ee;border-radius:14px;background:#fbfdff;padding:20px;margin-top:14px}
.product-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;align-items:start}
.product-form-grid .span2{grid-column:1/-1}
.product-form-grid label{min-width:0}
.product-form-grid input,.product-form-grid select{font-size:15px}
.product-form-grid .readonly-field{background:#eef3f7;color:#53677d;font-weight:750}
.product-official-search{padding-top:4px}
.product-form-actions{padding-top:2px}
.product-form-actions .btn{min-width:170px}

/* Selector de productos desde la factura. */
.line-product-dialog-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}
.line-product-dialog-tools .line-product-search-label{margin:0}
.line-product-empty{display:grid;gap:12px;justify-items:center;align-content:center;min-height:240px}
.line-product-empty strong{font-size:18px;color:#163a5f}
.line-product-empty span{color:#687b90;text-align:center;max-width:560px}
.line-product-empty .btn{min-width:230px}
.line-product-table td:nth-child(2){font-weight:750;color:#143658}

/* El producto seleccionado usa todo el ancho y nunca se corta. */
.selected-product-banner-row td{padding:0 0 12px!important;border:0!important;background:transparent!important}
.selected-product-banner{width:100%;padding:16px 18px;border:1px solid #b9ded7;border-left:5px solid #0a9c87;border-radius:12px;background:linear-gradient(100deg,#effaf7,#fbfefd);box-shadow:0 3px 12px rgba(10,84,78,.06)}
.selected-product-banner span{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;color:#0a806f;margin-bottom:6px}
.selected-product-banner strong{display:block;font-family:Georgia,"Times New Roman",serif;font-size:clamp(19px,1.45vw,25px);line-height:1.32;font-weight:800;color:#102f50;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.selected-product-banner small{display:block;margin-top:7px;color:#62778c;font-size:12px;font-family:Inter,"Segoe UI",Arial,sans-serif}
.line-summary-name strong{font-weight:850;color:#153958;line-height:1.35}
.lines-v3 .line-actions:empty{display:none}

/* Sugerencias CAByS son temporales y se pueden cerrar con el mismo boton. */
#cabysSugeridosBox:empty{display:none}
#cabysSugeridosBox{margin-top:12px}

/* Mantener los formularios responsivos sin barras horizontales. */
@media(max-width:1180px){
  .product-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .line-product-dialog-tools{grid-template-columns:1fr}
  .line-product-dialog-tools>.btn{width:100%}
  .view.active .table-wrap>table>thead>tr>th{top:var(--sticky-header-offset)}
}
@media(max-width:760px){
  .product-form-grid{grid-template-columns:1fr}
  .product-form-grid .span2{grid-column:auto}
  .product-editor-page{padding:14px!important}
  .product-form-block{padding:14px}
  .product-form-actions{display:grid!important;grid-template-columns:1fr}
  .product-form-actions .btn{width:100%;min-width:0}
  .selected-product-banner{padding:14px}
  .selected-product-banner strong{font-size:19px}
  .view.active .table-wrap>table>thead>tr>th{position:static}
}

/* TRICONTA_FE_V5 - navegación permanente, cuentas administrativas y diseños PDF */
:root{--sticky-header-offset:150px}
.app-header{position:fixed!important;top:0!important;left:0!important;right:0!important;width:100%!important;z-index:5000!important}
.app-shell:not(.hidden) .main{padding-top:var(--sticky-header-offset)!important}
.view.active .table-wrap>table>thead>tr>th{top:var(--sticky-header-offset)!important;z-index:120!important}

/* Catálogo CAByS es una fuente auxiliar y solo aparece cuando el usuario lo solicita. */
.cabys-panel.hidden{display:none!important}
.cabys-panel{margin-top:16px}
.cabys-panel .panel-head{position:sticky;top:var(--sticky-header-offset);z-index:130;background:#fff;padding-top:10px;padding-bottom:10px}

/* Cuentas por pagar / cobrar */
.accounts-v5{display:grid;gap:16px}
.accounts-v5>.panel-head{padding:18px 20px;border:1px solid #dfe7ef;border-radius:14px;background:#fff;box-shadow:var(--shadow)}
.account-panel-v5{padding:18px!important}
.account-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}
.account-filter-grid label{min-width:0}
.account-filter-grid input,.account-filter-grid select{width:100%}
.account-toolbar{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin:8px 0 14px}
.account-table th,.account-table td{vertical-align:middle}
.account-table .table-sub{display:block;margin-top:4px;color:#738499;font-size:12px}
.account-table input[type="checkbox"]{width:20px;height:20px;accent-color:#0a9b87}
.account-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:850;background:#edf2f7;color:#3d5269}
.account-status.pagado,.account-status.cobrado{background:#e6f7ef;color:#13754f}
.account-status.pendiente{background:#fff4dd;color:#9a6512}
.account-status.parcial{background:#eaf1ff;color:#265ea8}
.account-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;flex-wrap:wrap}
.pagination{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.page-btn{min-width:38px;height:38px;border:1px solid #d7e0e9;background:#fff;border-radius:7px;color:#193b60;font-weight:750;cursor:pointer}
.page-btn.active{background:#0a9b87;color:#fff;border-color:#0a9b87}
.page-gap{padding:0 5px;color:#75879a}
.selected-docs-box{display:grid;gap:8px;max-height:260px;overflow:auto;margin:10px 0 16px;padding:12px;border:1px solid #dbe5ee;border-radius:10px;background:#f8fbfd}
.selected-docs-box>div{display:grid;grid-template-columns:minmax(150px,1fr) minmax(180px,auto) minmax(240px,auto);gap:10px;align-items:center;padding:8px 0;border-top:1px solid #e4ebf1}
.selected-docs-box>div:first-of-type{border-top:0}

/* Galería de estilos PDF por empresa. */
.pdf-design-section{margin:24px 0;padding:20px;border:1px solid #dce6ef;border-radius:14px;background:#fbfdff}
.pdf-design-section h3{margin:4px 0 5px}
.pdf-design-grid{display:grid;grid-template-columns:repeat(4,minmax(170px,1fr));gap:14px;margin:16px 0}
.pdf-design-card{display:grid;grid-template-rows:155px auto auto auto;gap:7px;text-align:left;border:2px solid #dce5ed;border-radius:13px;background:#fff;padding:10px;cursor:pointer;transition:.15s ease;color:#153655}
.pdf-design-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(18,57,92,.1)}
.pdf-design-card.selected{border-color:#0a9b87;box-shadow:0 0 0 3px rgba(10,155,135,.1)}
.pdf-design-card strong{font-size:15px}.pdf-design-card small{font-size:12px;color:#687c91;line-height:1.35}.pdf-design-card em{font-style:normal;font-size:11px;font-weight:850;color:#0a846f}
.pdf-mini{display:block;position:relative;height:155px;border:1px solid #cfd9e4;border-radius:5px;background:#fff;overflow:hidden}
.pdf-mini i{display:block;position:absolute;left:10%;right:10%;height:8px;background:#e6edf3;border-radius:2px}
.pdf-mini i:nth-child(1){top:12%;height:24px;background:#153e6e}.pdf-mini i:nth-child(2){top:38%}.pdf-mini i:nth-child(3){top:53%}.pdf-mini i:nth-child(4){top:70%;height:28px}
.pdf-mini.audit i:nth-child(1){background:#154896}.pdf-mini.audit:after{content:"QR";position:absolute;left:10%;bottom:9%;font-size:12px;font-weight:900;color:#154896}
.pdf-mini.narrativo i:nth-child(1){height:3px;top:18%;background:#111}.pdf-mini.narrativo i:nth-child(4){height:3px;background:#111}
.pdf-mini.visual{background:#f8fafc}.pdf-mini.visual i:nth-child(1){left:0;right:0;top:0;height:35px;background:#1e293b}.pdf-mini.visual i:nth-child(2){top:31%;left:8%;right:55%;height:24px;background:#e7f0ff}.pdf-mini.visual i:nth-child(3){top:31%;left:52%;right:8%;height:24px;background:#e9f7ef}
.pdf-mini.ejecutivo i:nth-child(1){background:#fff;height:15px;border-bottom:3px solid #225ee8}.pdf-mini.ejecutivo i:nth-child(2){top:29%;height:28px;background:#e8f0ff}.pdf-mini.ejecutivo i:nth-child(3){top:29%;left:55%;height:28px;background:#e7f8ef}.pdf-mini.ejecutivo i:nth-child(4){top:65%;background:#225ee8}
.pdf-mini.clasico i:nth-child(1){left:0;right:0;top:0;height:34px;background:#184773}.pdf-mini.clasico i:nth-child(2){top:30%;height:35px;background:#f1f5f8}.pdf-mini.clasico i:nth-child(4){background:#184773}
.pdf-mini.ticket{width:72px;margin:auto;background:#fff}.pdf-mini.ticket i:nth-child(1){background:#111;left:12%;right:12%;height:10px}.pdf-mini.ticket i:nth-child(2),.pdf-mini.ticket i:nth-child(3){height:3px;background:#444}.pdf-mini.ticket i:nth-child(4){height:18px;background:#111}

@media(max-width:1180px){
  .account-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pdf-design-grid{grid-template-columns:repeat(2,minmax(170px,1fr))}
  .selected-docs-box>div{grid-template-columns:1fr}
}
@media(max-width:760px){
  .app-header{position:fixed!important}
  .app-shell:not(.hidden) .main{padding-top:var(--sticky-header-offset)!important}
  .account-filter-grid{grid-template-columns:1fr}
  .account-footer{align-items:stretch}.account-footer>.btn{width:100%}
  .pdf-design-grid{grid-template-columns:1fr}
  .view.active .table-wrap>table>thead>tr>th{position:static!important}
  .cabys-panel .panel-head{position:relative;top:auto}
}
/* En el catálogo CAByS solo la navegación principal y cabeceras de tabla son fijas. */
.cabys-panel .panel-head{position:relative!important;top:auto!important;z-index:auto!important}

/* ========================================================================== */
/* TRICONTA_FE_V6 - INTERFAZ SaaS MODERNA + MODO CLARO / OSCURO              */
/* Solo capa visual. No modifica logica fiscal, datos, XML ni procesos.        */
/* ========================================================================== */
:root{
  --v6-side-w:264px;
  --v6-top-h:78px;
  --v6-bg:#f5f7fb;
  --v6-panel:#ffffff;
  --v6-panel-2:#f8faff;
  --v6-sidebar:#edf3ff;
  --v6-sidebar-hover:#dfe9ff;
  --v6-sidebar-active:#cddcff;
  --v6-text:#172033;
  --v6-muted:#718096;
  --v6-line:#dfe5ef;
  --v6-line-soft:#edf1f6;
  --v6-primary:#6574f7;
  --v6-primary-2:#5364e9;
  --v6-primary-soft:#eef0ff;
  --v6-teal:#12a58f;
  --v6-green:#1b9c69;
  --v6-orange:#f59d2a;
  --v6-red:#d45163;
  --v6-shadow:0 14px 38px rgba(34,50,80,.08);
  --v6-shadow-soft:0 6px 20px rgba(34,50,80,.06);
  --v6-radius:16px;
  --v6-radius-sm:11px;
  --sticky-header-offset:78px;
}
html[data-theme="dark"]{
  color-scheme:dark;
  --v6-bg:#08101e;
  --v6-panel:#0e1728;
  --v6-panel-2:#111d31;
  --v6-sidebar:#091322;
  --v6-sidebar-hover:#14213a;
  --v6-sidebar-active:#1b2b4a;
  --v6-text:#edf3ff;
  --v6-muted:#94a3b8;
  --v6-line:#223149;
  --v6-line-soft:#17243a;
  --v6-primary:#7c89ff;
  --v6-primary-2:#92a0ff;
  --v6-primary-soft:#20294f;
  --v6-teal:#38c7ae;
  --v6-green:#4fd39a;
  --v6-orange:#f9b44c;
  --v6-red:#ef7b8b;
  --v6-shadow:0 16px 42px rgba(0,0,0,.28);
  --v6-shadow-soft:0 8px 24px rgba(0,0,0,.20);
}
html,body{background:var(--v6-bg)!important;color:var(--v6-text)!important}
body{transition:background-color .18s ease,color .18s ease}
.app-shell{display:block!important;background:var(--v6-bg)!important;min-height:100vh;overflow-x:hidden}

/* Barra superior moderna */
.app-header{position:fixed!important;inset:0 0 auto 0!important;height:0!important;background:transparent!important;box-shadow:none!important;z-index:5000!important;overflow:visible!important}
.app-header-primary{
  position:fixed!important;top:0!important;left:var(--v6-side-w)!important;right:0!important;
  height:var(--v6-top-h)!important;min-height:var(--v6-top-h)!important;
  display:grid!important;grid-template-columns:minmax(260px,1fr) auto!important;align-items:center!important;
  padding:0 28px!important;background:rgba(255,255,255,.96)!important;
  border-bottom:1px solid var(--v6-line)!important;box-shadow:0 4px 18px rgba(20,30,50,.04)!important;
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:5002!important;
}
html[data-theme="dark"] .app-header-primary{background:rgba(14,23,40,.95)!important;box-shadow:0 4px 22px rgba(0,0,0,.20)!important}
.active-company-header{display:block!important;text-align:left!important;min-width:0!important;padding:0!important;border:0!important}
.active-company-header strong{display:block!important;color:var(--v6-text)!important;font-size:18px!important;font-weight:800!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.active-company-header small{display:block!important;color:var(--v6-muted)!important;font-size:12px!important;margin-top:3px!important}
.header-account{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;min-width:0!important;padding:0!important;border:0!important}
.header-user-copy span{color:var(--v6-text)!important;font-size:13px!important;font-weight:780!important}
.header-user-copy small{color:var(--v6-muted)!important;font-size:11px!important}
.user-avatar{width:38px!important;height:38px!important;background:linear-gradient(145deg,#7e8bff,#5564eb)!important;box-shadow:none!important}
.header-notification{color:var(--v6-muted)!important;width:38px!important;height:38px!important}
.header-notification:hover{background:var(--v6-panel-2)!important;color:var(--v6-text)!important}
.app-header .env-badge{background:#fff5cf!important;color:#775900!important;border-color:#ead57c!important;white-space:nowrap!important}
html[data-theme="dark"] .app-header .env-badge{background:#473b13!important;color:#ffe48a!important;border-color:#6a5818!important}
.header-logout{color:var(--v6-muted)!important;border-radius:9px!important}.header-logout:hover{background:var(--v6-panel-2)!important;color:var(--v6-text)!important}
.company-switch{color:var(--v6-muted)!important;display:flex!important;align-items:center!important;gap:7px!important}
.company-switch select{background:var(--v6-panel-2)!important;color:var(--v6-text)!important;border-color:var(--v6-line)!important;border-radius:10px!important;max-width:250px!important}
.theme-toggle-v6{height:38px;border:1px solid var(--v6-line);border-radius:10px;background:var(--v6-panel-2);color:var(--v6-text);display:inline-flex;align-items:center;gap:7px;padding:0 11px;cursor:pointer;font-weight:750;font-size:12px;transition:.15s ease}
.theme-toggle-v6:hover{border-color:var(--v6-primary);background:var(--v6-primary-soft);color:var(--v6-primary-2)}
.theme-toggle-icon{font-size:17px;line-height:1}

/* Marca y menú lateral */
.app-brand-horizontal{
  position:fixed!important;left:20px!important;top:18px!important;width:224px!important;height:46px!important;
  z-index:5100!important;display:flex!important;align-items:center!important;gap:11px!important;padding:0!important
}
.app-brand-copy strong{color:var(--v6-text)!important;font-size:21px!important}.app-brand-copy span{color:var(--v6-muted)!important;font-size:10px!important}
.triconta-symbol{width:39px!important;height:39px!important;box-shadow:none!important}
.top-nav{
  position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:var(--v6-side-w)!important;height:100vh!important;
  display:block!important;padding:88px 14px 22px!important;background:var(--v6-sidebar)!important;
  border:0!important;border-right:1px solid var(--v6-line)!important;box-shadow:none!important;overflow-y:auto!important;overflow-x:hidden!important;
  z-index:5001!important
}
.top-nav .nav-home,.top-nav .nav-group{width:100%!important;margin:2px 0!important;min-width:0!important}
.top-nav .nav-home,.top-nav .nav-group>summary{
  width:100%!important;height:48px!important;min-height:48px!important;display:flex!important;justify-content:flex-start!important;align-items:center!important;
  gap:11px!important;padding:0 13px!important;border:0!important;border-radius:11px!important;background:transparent!important;
  color:var(--v6-muted)!important;font-size:14px!important;font-weight:760!important;box-shadow:none!important;cursor:pointer!important
}
.top-nav .nav-home:hover,.top-nav .nav-group>summary:hover{background:var(--v6-sidebar-hover)!important;color:var(--v6-text)!important;box-shadow:none!important}
.top-nav .nav-home.active,.top-nav .nav-group:has(.nav-group-body button.active)>summary,.top-nav .nav-group[open]>summary{background:var(--v6-sidebar-active)!important;color:var(--v6-text)!important;box-shadow:none!important}
.top-nav .nav-svg{width:20px!important;height:20px!important;flex:0 0 20px!important;stroke-width:1.7!important}
.top-nav .nav-home-label{font-size:14px!important}.top-nav .nav-home-label:after{content:none!important}
.top-nav .nav-chevron{margin-left:auto!important;color:var(--v6-muted)!important;font-size:13px!important;transition:transform .15s ease}
.top-nav .nav-group[open] .nav-chevron{transform:rotate(180deg)}
.top-nav .nav-group-body{
  position:static!important;display:grid!important;width:100%!important;min-width:0!important;max-width:none!important;
  padding:4px 6px 7px 38px!important;margin:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important
}
.top-nav details:not([open])>.nav-group-body{display:none!important}
.top-nav .nav-group-body button{
  width:100%!important;min-height:38px!important;padding:8px 10px!important;border:0!important;border-left:2px solid var(--v6-line)!important;
  border-radius:0 9px 9px 0!important;background:transparent!important;color:var(--v6-muted)!important;text-align:left!important;font-size:12.5px!important;font-weight:650!important
}
.top-nav .nav-group-body button:hover,.top-nav .nav-group-body button.active{background:var(--v6-sidebar-hover)!important;color:var(--v6-text)!important;border-left-color:var(--v6-primary)!important;padding-left:10px!important}

/* Contenido */
.main{margin-left:var(--v6-side-w)!important;width:calc(100% - var(--v6-side-w))!important;max-width:none!important;padding:calc(var(--v6-top-h) + 22px) 28px 44px!important;background:var(--v6-bg)!important;min-height:100vh}
.topbar{min-height:72px!important;height:auto!important;padding:0 0 18px!important;align-items:flex-end!important}
.topbar h1{color:var(--v6-text)!important;font-size:27px!important;letter-spacing:-.02em!important}.topbar p{color:var(--v6-muted)!important;font-size:13px!important}
body.dashboard-mode .main{padding-top:calc(var(--v6-top-h) + 26px)!important}
#view-dashboard{padding-top:0!important}
.dashboard-intro-row h2{color:var(--v6-text)!important}.dashboard-intro-row p{color:var(--v6-muted)!important}

/* Superficies globales */
.panel,.dashboard-card,.dashboard-metric-card,.accounts-v5>.panel-head,.account-panel-v5,.pdf-design-section,.product-form-block,.parameter-section,.client-editor-page,.product-editor-page,
.view:not(#view-dashboard)>.panel,.view:not(#view-dashboard) .panel{
  background:var(--v6-panel)!important;border-color:var(--v6-line)!important;color:var(--v6-text)!important;box-shadow:var(--v6-shadow-soft)!important;border-radius:var(--v6-radius)!important
}
.dashboard-metric-card,.dashboard-card{box-shadow:var(--v6-shadow)!important}
.dashboard-metric-card:hover{box-shadow:0 18px 44px rgba(55,68,110,.14)!important}
.dashboard-card-head h3,.panel-head h3,.view:not(#view-dashboard) .panel-head h3,.quick-action strong,.support-guide-grid strong{color:var(--v6-text)!important}
.metric-copy small,.metric-copy em,.dashboard-card p,.activity-empty p,.quick-action small,.hint,.muted,.panel-head p,.view:not(#view-dashboard) .panel-head p{color:var(--v6-muted)!important}
.period-select,.dashboard-filter-btn,.quick-action,.activity-list button,.support-guide-grid button,.support-faq-list details,.pdf-design-card,.page-btn,.parameter-toggle,.pos-payment-row,.payment-row{
  background:var(--v6-panel)!important;color:var(--v6-text)!important;border-color:var(--v6-line)!important
}
.quick-action:hover,.activity-list button:hover,.support-guide-grid button:hover,.page-btn:hover{background:var(--v6-panel-2)!important}

/* Formularios */
input,select,textarea,.view:not(#view-dashboard) input,.view:not(#view-dashboard) select,.view:not(#view-dashboard) textarea{
  background:var(--v6-panel-2)!important;color:var(--v6-text)!important;border-color:var(--v6-line)!important;box-shadow:none!important
}
input::placeholder,textarea::placeholder{color:var(--v6-muted)!important;opacity:.75}
input:focus,select:focus,textarea:focus,.view:not(#view-dashboard) input:focus,.view:not(#view-dashboard) select:focus,.view:not(#view-dashboard) textarea:focus{
  border-color:var(--v6-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v6-primary) 16%, transparent)!important
}
label,.view:not(#view-dashboard) label{color:var(--v6-text)!important}
label small,.view:not(#view-dashboard) label small{color:var(--v6-muted)!important}
.btn,.view:not(#view-dashboard) .btn{background:var(--v6-panel)!important;color:var(--v6-text)!important;border-color:var(--v6-line)!important;border-radius:10px!important}
.btn:hover,.view:not(#view-dashboard) .btn:hover{background:var(--v6-panel-2)!important;border-color:var(--v6-primary)!important;color:var(--v6-primary-2)!important}
.btn.primary,.view:not(#view-dashboard) .btn.primary{background:var(--v6-primary)!important;color:#fff!important;border-color:var(--v6-primary)!important;box-shadow:0 8px 18px rgba(101,116,247,.22)!important}
.btn.primary:hover,.view:not(#view-dashboard) .btn.primary:hover{background:var(--v6-primary-2)!important;color:#fff!important}

/* Tablas */
.table-wrap{border:1px solid var(--v6-line)!important;border-radius:13px!important;overflow:auto!important;background:var(--v6-panel)!important}
table{color:var(--v6-text)!important;background:var(--v6-panel)!important}
th,.view.active .table-wrap>table>thead>tr>th{background:var(--v6-panel-2)!important;color:var(--v6-muted)!important;border-color:var(--v6-line)!important;position:sticky;top:0;z-index:20}
td{border-color:var(--v6-line-soft)!important;color:var(--v6-text)!important}
tbody tr:hover td{background:color-mix(in srgb,var(--v6-primary-soft) 38%, var(--v6-panel))!important}
.badge,.account-status{border:1px solid var(--v6-line)!important}.account-status.pagado,.account-status.cobrado{background:color-mix(in srgb,var(--v6-green) 14%, var(--v6-panel))!important;color:var(--v6-green)!important}.account-status.pendiente{background:color-mix(in srgb,var(--v6-orange) 14%, var(--v6-panel))!important;color:var(--v6-orange)!important}

/* Dialogos y mensajes */
dialog{background:var(--v6-panel)!important;color:var(--v6-text)!important;border:1px solid var(--v6-line)!important;border-radius:18px!important;box-shadow:0 26px 80px rgba(0,0,0,.32)!important}
dialog::backdrop{background:rgba(5,10,20,.62)!important;backdrop-filter:blur(2px)}
.dialog-card{background:var(--v6-panel)!important;color:var(--v6-text)!important}.selected-docs-box,.compact-details,.compact-details-body,.status-item,.upload-box{background:var(--v6-panel-2)!important;border-color:var(--v6-line)!important;color:var(--v6-text)!important}
.toast{background:#263657!important}.toast.bad{background:#8d3042!important}

/* Dashboard tipo SaaS */
.dashboard-metric-grid{gap:14px!important}.dashboard-metric-card{border-radius:18px!important;min-height:136px!important}.metric-icon{border-radius:14px!important;width:60px!important;height:60px!important}
.dashboard-main-grid,.dashboard-bottom-grid{gap:14px!important}.dashboard-card{border-radius:18px!important}.dashboard-chart-wrap{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--v6-primary-soft) 18%, transparent))}
.monthly-summary>div{background:var(--v6-panel-2)!important;border-color:var(--v6-line)!important}.activity-list button{border-radius:12px!important}
.quick-action{border-radius:14px!important;min-height:88px!important}.qa-icon{border-radius:12px!important}
.support-card{border-radius:18px!important;background:linear-gradient(135deg,#5d6ced,#3343bc)!important;box-shadow:var(--v6-shadow)!important}

/* Footer */
.app-shell:after{content:"TRICONTA FE © 2026  ·  Versión V6  ·  Conexión segura"!important;margin-left:var(--v6-side-w)!important;background:var(--v6-panel)!important;color:var(--v6-muted)!important;border-top:1px solid var(--v6-line)!important;padding:16px 28px!important;min-height:50px!important;white-space:normal!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE · Factura móvil · Versión V6"!important;margin-left:0!important}

/* Login armonizado */
.auth-shell{background:var(--v6-bg)!important}.auth-card,.auth-card-premium{background:var(--v6-panel)!important;color:var(--v6-text)!important;border-color:var(--v6-line)!important}.auth-form-head h2,.auth-form-head p{color:var(--v6-text)!important}.auth-form-head p{color:var(--v6-muted)!important}

/* Desktop: navegación lateral permanente */
@media(min-width:1101px){
  .mobile-menu-btn,.mobile-nav-backdrop{display:none!important}
  .view.active .table-wrap>table>thead>tr>th{top:0!important}
}

/* Tablet/móvil: conserva el cajón móvil existente, con el nuevo tema */
@media(max-width:1100px){
  :root{--v6-side-w:0px;--v6-top-h:76px;--sticky-header-offset:76px}
  .app-header{height:auto!important}
  .app-header-primary{left:0!important;height:auto!important;min-height:var(--v6-top-h)!important;position:fixed!important;display:flex!important;flex-wrap:wrap!important;padding:10px 14px!important;gap:8px 12px!important}
  .app-brand-horizontal{position:static!important;width:auto!important;height:auto!important;flex:1 1 auto!important}
  .active-company-header{display:none!important}
  .header-account{margin-left:auto!important;flex:0 1 auto!important;flex-wrap:wrap!important}
  .theme-toggle-v6 #themeToggleLabel{display:none}
  .theme-toggle-v6{width:38px;padding:0;justify-content:center}
  .company-switch{display:none!important}
  .top-nav{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(330px,88vw)!important;height:100dvh!important;padding:82px 12px 28px!important;transform:translateX(-105%);transition:transform .22s ease!important;box-shadow:16px 0 38px rgba(0,0,0,.25)!important;z-index:5100!important}
  body.mobile-nav-open .top-nav{transform:translateX(0)!important}
  .mobile-menu-btn{display:inline-flex!important}
  .main{margin-left:0!important;width:100%!important;padding:calc(var(--v6-top-h) + 22px) 14px 34px!important}
  .app-shell:after{margin-left:0!important}
  .dashboard-main-grid,.dashboard-bottom-grid,.dashboard-technical-strip{grid-template-columns:1fr!important}
  .dashboard-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .view.active .table-wrap>table>thead>tr>th{position:static!important}
}
@media(max-width:700px){
  :root{--v6-top-h:70px}
  .header-user-copy,.header-logout{display:none!important}
  .app-header .env-badge{display:none!important}
  .app-brand-copy span{display:none!important}.app-brand-copy strong{font-size:18px!important}
  .dashboard-metric-grid,.quick-action-grid{grid-template-columns:1fr!important}
  .main{padding-left:10px!important;padding-right:10px!important}
  .topbar{display:none!important}
  .panel,.dashboard-card,.dashboard-metric-card{border-radius:13px!important}
}

/* ========================================================================== */
/* TRICONTA_FE_V7 - correcciones de usabilidad sobre la interfaz V6           */
/* Login aislado, contraste oscuro, textos largos compactos y borradores.      */
/* ========================================================================== */

/* V7.1: la interfaz privada NUNCA debe aparecer antes de autenticar. */
#appShell.hidden,.app-shell.hidden{display:none!important}
#authScreen.hidden,.auth-shell.hidden,#modeChoiceScreen.hidden,.mode-choice-screen.hidden{display:none!important}

/* V7.2: encabezado estable. Evita que backdrop-filter convierta el logo fijo
   en relativo a la barra superior y termine montándolo sobre la empresa. */
@media(min-width:1101px){
  .app-header-primary{
    backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
    background:var(--v6-panel)!important;
    grid-template-columns:minmax(320px,1fr) auto!important;
    gap:24px!important;
  }
  html[data-theme="dark"] .app-header-primary{background:var(--v6-panel)!important}
  .app-brand-horizontal{left:18px!important;top:16px!important;width:228px!important;height:46px!important}
  .active-company-header{min-width:0!important;max-width:min(650px,52vw)!important;line-height:1.2!important}
  .active-company-header strong{line-height:1.18!important;margin:0!important}
  .active-company-header small{line-height:1.25!important;margin-top:5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .header-account{min-width:0!important;white-space:nowrap!important}
  .header-user-copy{max-width:180px!important;min-width:90px!important;overflow:hidden!important}
}
.app-brand-copy{min-width:0!important;line-height:1.1!important}
.app-brand-copy strong{display:block!important;line-height:1.05!important;white-space:nowrap!important}
.app-brand-copy span{display:block!important;line-height:1.15!important;white-space:nowrap!important}

/* V7.3: contraste real en modo oscuro. No heredar títulos azul oscuro del tema claro. */
html[data-theme="dark"]{
  --v6-text:#f4f7ff;
  --v6-muted:#b8c5d8;
  --v6-line:#31415a;
  --v6-line-soft:#1d2b41;
  --module-text:#f4f7ff;
  --module-muted:#b8c5d8;
  --module-card:#0e1728;
  --module-border:#31415a;
  --module-bg:#08101e;
}
html[data-theme="dark"] .view:not(#view-dashboard),
html[data-theme="dark"] .view:not(#view-dashboard) h1,
html[data-theme="dark"] .view:not(#view-dashboard) h2,
html[data-theme="dark"] .view:not(#view-dashboard) h3,
html[data-theme="dark"] .view:not(#view-dashboard) h4,
html[data-theme="dark"] .view:not(#view-dashboard) h5,
html[data-theme="dark"] .parameter-section-title h3,
html[data-theme="dark"] .parameter-option-group h4,
html[data-theme="dark"] .parameter-toggle strong,
html[data-theme="dark"] .parameter-payments label,
html[data-theme="dark"] .product-form-block strong,
html[data-theme="dark"] .client-editor-page strong,
html[data-theme="dark"] .product-editor-page strong,
html[data-theme="dark"] .panel-head h3,
html[data-theme="dark"] .panel strong{color:var(--v6-text)!important}
html[data-theme="dark"] .parameter-toggle small,
html[data-theme="dark"] .parameter-section-title p,
html[data-theme="dark"] .parameter-option-group p,
html[data-theme="dark"] .hint,
html[data-theme="dark"] .muted{color:var(--v6-muted)!important}
html[data-theme="dark"] .parameter-toggle,
html[data-theme="dark"] .parameter-payments label,
html[data-theme="dark"] .parameter-defaults,
html[data-theme="dark"] .parameter-section{background:var(--v6-panel)!important;border-color:var(--v6-line)!important}
html[data-theme="dark"] .parameter-toggle:hover{background:var(--v6-panel-2)!important;border-color:#536b8f!important}
html[data-theme="dark"] th{color:#d4deec!important}
html[data-theme="dark"] td{color:#edf3ff!important}

/* Interlineado defensivo: evita títulos/comentarios montados al hacer zoom. */
.view h1,.view h2,.view h3,.view h4,.view h5,.view strong,.view label,
.active-company-header,.header-user-copy,.panel-head,.parameter-toggle{line-height:1.32}
.parameter-toggle{min-width:0!important;overflow:hidden!important}
.parameter-toggle span{min-width:0!important}
.parameter-toggle strong,.parameter-toggle small{overflow-wrap:anywhere!important;word-break:normal!important}

/* V7.4: mensajes técnicos largos no deforman la tabla. */
.doc-status-note{display:block;margin-top:6px;max-width:180px;color:var(--v6-muted)!important;font-size:11px!important;line-height:1.35!important}
.doc-status-note-button{
  appearance:none;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  color:var(--v6-muted)!important;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px
}
.doc-status-note-button:hover{color:var(--v6-primary-2)!important}
.long-text-dialog{width:min(680px,92vw)!important}
.long-text-dialog-card{padding:22px!important}
.long-text-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}
.long-text-dialog-head h3{margin:2px 0 0;color:var(--v6-text)!important;font-size:19px}
.dialog-kicker{display:block;color:var(--v6-primary-2);font-size:10px;font-weight:850;letter-spacing:.12em}
.long-text-dialog-body{max-height:55vh;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;background:var(--v6-panel-2);border:1px solid var(--v6-line);border-radius:12px;padding:15px;color:var(--v6-text);font:13px/1.55 Consolas,"Segoe UI",sans-serif}

/* V7.5: eliminar borrador es una acción destructiva visible, sin afectar otros estados. */
.row-menu-pop .danger-menu-action{color:#b42318!important;font-weight:800!important}
html[data-theme="dark"] .row-menu-pop .danger-menu-action{color:#ff9b9b!important}
.row-menu-pop .danger-menu-action:hover{background:#fff1f0!important;color:#8f1d13!important}
html[data-theme="dark"] .row-menu-pop .danger-menu-action:hover{background:#3b1d24!important;color:#ffc1c1!important}

/* V7 identifica correctamente la entrega. */
.app-shell:after{content:"TRICONTA FE © 2026  ·  Versión V7  ·  Conexión segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE · Factura móvil · Versión V7"!important}


/* ========================================================================== */
/* TRICONTA_FE_V8 - RESUMEN HORIZONTAL + TEMA OSCURO CONSISTENTE              */
/* Cambios visuales solamente. No modifica XML, XAdES, Hacienda ni datos.     */
/* ========================================================================== */

/* V8.1: el resumen deja de ocupar una columna lateral. La factura usa todo el ancho. */
#view-emitir{padding-right:0!important}
#view-emitir>.emit-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
#view-emitir .emit-main-card{grid-column:1/-1!important;min-width:0!important}
#view-emitir .emit-side-stack{
  grid-column:1/-1!important;position:sticky!important;top:calc(var(--v6-top-h) + 8px)!important;
  right:auto!important;left:auto!important;width:100%!important;max-width:none!important;max-height:none!important;
  overflow:visible!important;z-index:180!important;display:block!important;padding:0!important;margin:0!important
}
#view-emitir .emit-side-stack>.panel:not(.total-panel){display:none!important}
#view-emitir .total-panel{
  position:relative!important;top:auto!important;width:100%!important;max-height:none!important;overflow:visible!important;
  display:grid!important;grid-template-columns:minmax(180px,1.25fr) repeat(4,minmax(120px,.78fr)) minmax(170px,1fr)!important;
  align-items:stretch!important;gap:0!important;padding:0!important;border-radius:14px!important;
  background:var(--v6-panel)!important;border:1px solid var(--v6-line)!important;box-shadow:var(--v6-shadow-soft)!important
}
#view-emitir .total-panel>h3{display:flex!important;align-items:center!important;margin:0!important;padding:12px 16px!important;border-right:1px solid var(--v6-line)!important;color:var(--v6-text)!important;font-size:15px!important;line-height:1.25!important}
#view-emitir .emit-total-box,#view-emitir .emit-total-row{
  min-width:0!important;margin:0!important;padding:10px 13px!important;border:0!important;border-right:1px solid var(--v6-line)!important;
  border-radius:0!important;background:transparent!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:center!important;gap:3px!important
}
#view-emitir .emit-total-row span,#view-emitir .emit-total-box span{font-size:10px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.045em!important;color:var(--v6-muted)!important}
#view-emitir .emit-total-row b{font-size:16px!important;color:var(--v6-text)!important;line-height:1.1!important;white-space:nowrap!important}
#view-emitir .emit-total-box{order:7!important;border-right:0!important;background:color-mix(in srgb,var(--v6-teal) 12%,var(--v6-panel))!important}
#view-emitir .emit-total-box strong{font-size:21px!important;color:var(--v6-teal)!important;line-height:1.05!important;white-space:nowrap!important}
#view-emitir .emit-total-final{display:none!important}
#view-emitir .emit-tax-legacy,#view-emitir .total-panel>input,#view-emitir .total-panel>#emitPlanMini{display:none!important}
#view-emitir .emit-detail-card{width:100%!important;max-width:none!important}
#view-emitir .lines-v3,#view-emitir .line-summary-table{width:100%!important;max-width:none!important}

@media(max-width:1250px){
  #view-emitir .total-panel{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #view-emitir .total-panel>h3{grid-column:1/-1!important;border-right:0!important;border-bottom:1px solid var(--v6-line)!important}
  #view-emitir .emit-total-box,#view-emitir .emit-total-row{border-bottom:1px solid var(--v6-line)!important}
}
@media(max-width:760px){
  #view-emitir .emit-side-stack{position:relative!important;top:auto!important}
  #view-emitir .total-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #view-emitir .emit-total-box{grid-column:1/-1!important}
}

/* V8.2: sistema de color oscuro unificado. Ningun componente debe saltar a blanco
   al enfocarse, abrirse, seleccionarse o pasar el mouse. */
html[data-theme="dark"]{
  --v8-surface:#0e1728;
  --v8-surface-2:#111d31;
  --v8-surface-3:#17243a;
  --v8-hover:#1a2942;
  --v8-selected:#223556;
  --v8-input:#0b1526;
  --v8-text:#f5f8ff;
  --v8-muted:#bdc9db;
  --v8-border:#33445f;
  --v8-border-strong:#4a6081;
}
html[data-theme="dark"] body,
html[data-theme="dark"] .main,
html[data-theme="dark"] .view{background:var(--v6-bg)!important;color:var(--v8-text)!important}
html[data-theme="dark"] .panel,
html[data-theme="dark"] .dashboard-card,
html[data-theme="dark"] .dashboard-metric-card,
html[data-theme="dark"] .account-panel-v5,
html[data-theme="dark"] .accounts-v5>.panel-head,
html[data-theme="dark"] .product-form-block,
html[data-theme="dark"] .client-editor-page,
html[data-theme="dark"] .product-editor-page,
html[data-theme="dark"] .parameter-section,
html[data-theme="dark"] .parameter-toggle,
html[data-theme="dark"] .parameter-defaults,
html[data-theme="dark"] .parameter-payments label,
html[data-theme="dark"] .pdf-design-section,
html[data-theme="dark"] .selected-docs-box,
html[data-theme="dark"] .compact-details,
html[data-theme="dark"] .compact-details-body,
html[data-theme="dark"] .status-item,
html[data-theme="dark"] .upload-box,
html[data-theme="dark"] .payment-row,
html[data-theme="dark"] .client-email-card,
html[data-theme="dark"] .pos-payment-single,
html[data-theme="dark"] .line-manual-panel,
html[data-theme="dark"] .line-product-results,
html[data-theme="dark"] .selected-product-banner,
html[data-theme="dark"] .pdf-design-card{
  background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important
}
html[data-theme="dark"] .panel-head,
html[data-theme="dark"] .panel-head h3,
html[data-theme="dark"] .panel h1,
html[data-theme="dark"] .panel h2,
html[data-theme="dark"] .panel h3,
html[data-theme="dark"] .panel h4,
html[data-theme="dark"] .panel h5,
html[data-theme="dark"] label,
html[data-theme="dark"] strong,
html[data-theme="dark"] .line-summary-name strong,
html[data-theme="dark"] .line-product-selected strong,
html[data-theme="dark"] .selected-product-banner strong,
html[data-theme="dark"] .line-product-table td:nth-child(2),
html[data-theme="dark"] .parameter-toggle strong,
html[data-theme="dark"] .product-form-block strong{color:var(--v8-text)!important}
html[data-theme="dark"] .hint,
html[data-theme="dark"] .muted,
html[data-theme="dark"] label small,
html[data-theme="dark"] .line-product-selected small,
html[data-theme="dark"] .selected-product-banner small,
html[data-theme="dark"] .parameter-toggle small,
html[data-theme="dark"] .pdf-design-card small{color:var(--v8-muted)!important}

/* Entradas y controles: todos los estados permanecen oscuros y legibles. */
html[data-theme="dark"] input:not([type="checkbox"]):not([type="radio"]),
html[data-theme="dark"] select,
html[data-theme="dark"] textarea{
  background:var(--v8-input)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important;caret-color:var(--v8-text)!important
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder{color:#8797af!important;opacity:1!important}
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus{
  background:var(--v8-input)!important;color:var(--v8-text)!important;border-color:var(--v6-primary)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v6-primary) 24%,transparent)!important
}
html[data-theme="dark"] input:disabled,
html[data-theme="dark"] select:disabled,
html[data-theme="dark"] textarea:disabled,
html[data-theme="dark"] .readonly-field{background:#172337!important;color:#aebbd0!important;border-color:#2b3a53!important;opacity:1!important}
html[data-theme="dark"] select option{background:#111d31!important;color:#f5f8ff!important}
html[data-theme="dark"] ::selection{background:#5165d8!important;color:#fff!important}

/* Botones secundarios y seleccionados nunca se vuelven blancos. */
html[data-theme="dark"] .btn:not(.primary),
html[data-theme="dark"] .page-btn,
html[data-theme="dark"] .icon-btn,
html[data-theme="dark"] .issued-icon{
  background:var(--v8-surface-2)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important
}
html[data-theme="dark"] .btn:not(.primary):hover,
html[data-theme="dark"] .btn:not(.primary):focus,
html[data-theme="dark"] .page-btn:hover,
html[data-theme="dark"] .icon-btn:hover,
html[data-theme="dark"] .issued-icon:hover{background:var(--v8-hover)!important;color:#fff!important;border-color:var(--v8-border-strong)!important}
html[data-theme="dark"] .page-btn.active{background:var(--v6-primary)!important;color:#fff!important;border-color:var(--v6-primary)!important}

/* Tablas y filas interactivas. */
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] table,
html[data-theme="dark"] tbody,
html[data-theme="dark"] tr,
html[data-theme="dark"] td{background-color:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v6-line-soft)!important}
html[data-theme="dark"] th,
html[data-theme="dark"] .view.active .table-wrap>table>thead>tr>th,
html[data-theme="dark"] .line-summary-table th,
html[data-theme="dark"] .line-product-table th{background:var(--v8-surface-2)!important;color:#dce5f3!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] tbody tr:hover td,
html[data-theme="dark"] tbody tr:focus-within td,
html[data-theme="dark"] tr.selected td,
html[data-theme="dark"] tr.active td{background:var(--v8-hover)!important;color:var(--v8-text)!important}
html[data-theme="dark"] .lines-v3 tr,
html[data-theme="dark"] .line-summary-table tr{background:var(--v8-surface)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] #view-emitir table.lines-v2 td:nth-child(6){background:var(--v8-surface-2)!important}

/* Estados fiscales/visuales con contraste suficiente. */
html[data-theme="dark"] .tax-auto{background:var(--v8-surface-2)!important;border-color:var(--v8-border)!important;color:var(--v8-text)!important}
html[data-theme="dark"] .tax-auto.ok{background:#10291f!important;border-color:#2d7b5d!important;color:#c9f5e1!important}
html[data-theme="dark"] .tax-auto.pending{background:#302718!important;border-color:#80652b!important;color:#ffe8a6!important}
html[data-theme="dark"] .tax-auto.pending strong,
html[data-theme="dark"] .tax-auto.pending small{color:#ffe8a6!important}
html[data-theme="dark"] .badge{background:var(--v8-surface-3)!important;color:#dce5f3!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] .badge.s5{background:#123125!important;color:#98e8bd!important;border-color:#265f48!important}
html[data-theme="dark"] .badge.s6,html[data-theme="dark"] .badge.s7{background:#371d24!important;color:#ffb2bd!important;border-color:#713442!important}
html[data-theme="dark"] .badge.s3,html[data-theme="dark"] .badge.s4{background:#352b18!important;color:#ffe09a!important;border-color:#725b27!important}
html[data-theme="dark"] .account-status{background:var(--v8-surface-3)!important;color:#dce5f3!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] .account-status.pagado,html[data-theme="dark"] .account-status.cobrado{background:#102c22!important;color:#96e7ba!important}
html[data-theme="dark"] .account-status.pendiente{background:#342918!important;color:#ffdf91!important}
html[data-theme="dark"] .account-status.parcial{background:#172747!important;color:#a9c7ff!important}
html[data-theme="dark"] .line-invalid{background:#301a21!important}
html[data-theme="dark"] .exon-details td{background:var(--v8-surface-2)!important}
html[data-theme="dark"] .exon-summary{background:#152842!important;border-color:#304b6e!important;color:#c9d9ee!important}

/* Listas, buscadores, menús y desplegables. */
html[data-theme="dark"] .catalog-option,
html[data-theme="dark"] .row-menu-pop,
html[data-theme="dark"] .nav-group-body,
html[data-theme="dark"] .line-product-dialog-tools,
html[data-theme="dark"] .line-product-table-wrap{background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] .catalog-option:hover,
html[data-theme="dark"] .catalog-option:focus,
html[data-theme="dark"] .row-menu-pop button:hover,
html[data-theme="dark"] .row-menu-pop button:focus{background:var(--v8-hover)!important;color:#fff!important}
html[data-theme="dark"] .catalog-option span{color:var(--v8-muted)!important}
html[data-theme="dark"] .line-product-selected{background:#102821!important;border-color:#286653!important}
html[data-theme="dark"] .line-product-selected.manual{background:var(--v8-surface-2)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] .selected-product-banner{background:linear-gradient(100deg,#102821,#111d31)!important;border-color:#2a6956!important}
html[data-theme="dark"] .selected-product-banner span{color:#6ee0c3!important}
html[data-theme="dark"] .line-delete-btn{background:#301b21!important;color:#ffb0b0!important;border-color:#6e3540!important}
html[data-theme="dark"] .danger-soft{background:#301b21!important;color:#ffb0b0!important;border-color:#6e3540!important}
html[data-theme="dark"] .danger-soft:hover{background:#432029!important}

/* Details/accordions: al abrir o seleccionar no cambian a superficies claras. */
html[data-theme="dark"] details:not(.nav-group),
html[data-theme="dark"] details:not(.nav-group)>summary,
html[data-theme="dark"] details:not(.nav-group)[open]>summary,
html[data-theme="dark"] .collapsible-panel,
html[data-theme="dark"] .collapsible-panel>summary,
html[data-theme="dark"] .compact-details>summary{
  background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important
}
html[data-theme="dark"] details:not(.nav-group)>summary:hover,
html[data-theme="dark"] details:not(.nav-group)>summary:focus{background:var(--v8-hover)!important;color:#fff!important}

/* PDF miniaturas conservan su papel blanco intencionalmente; la tarjeta externa no. */
html[data-theme="dark"] .pdf-mini{background:#fff!important;color:#172033!important}
html[data-theme="dark"] .pdf-design-card.selected{background:var(--v8-selected)!important;border-color:var(--v6-primary)!important;color:#fff!important}

/* Encabezado y resumen horizontal en oscuro. */
html[data-theme="dark"] #view-emitir .total-panel{background:var(--v8-surface)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] #view-emitir .emit-total-box{background:#102b25!important}
html[data-theme="dark"] #view-emitir .emit-total-row,
html[data-theme="dark"] #view-emitir .emit-total-box,
html[data-theme="dark"] #view-emitir .total-panel>h3{border-color:var(--v8-border)!important}

/* V8 identifica correctamente la entrega. */
.app-shell:after{content:"TRICONTA FE © 2026  ·  Versión V8  ·  Conexión segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE · Factura móvil · Versión V8"!important}


/* ========================================================================== */
/* TRICONTA_FE_V9 - COMPACTACION, SIDEBAR OCULTABLE, DARK MODE Y TEXTOS       */
/* Capa visual solamente. No modifica XML, Hacienda, calculos ni persistencia. */
/* ========================================================================== */

/* V9.1: bloques compactos. La altura la determina el contenido real. */
.panel,.reference-box,.issued-tools,.issued-search-bar,.issued-advanced,
.scheduled-head-panel,.parameter-section,.parameter-defaults,.parameter-save-actions,
.inventory-stats>div,.pos-sale-card,.pos-checkout-card,.emit-company-card{
  min-height:0!important;height:auto!important
}
.pos-sale-card{min-height:0!important}
#view-emitir .emit-side-stack{
  height:auto!important;min-height:0!important;max-height:none!important;margin:0 0 12px!important;
  align-self:start!important;overflow:visible!important
}
#view-emitir .total-panel{
  display:grid!important;grid-template-columns:minmax(190px,1.25fr) repeat(5,minmax(105px,1fr))!important;
  grid-auto-rows:auto!important;align-items:stretch!important;align-content:start!important;
  min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;margin:0!important;gap:0!important
}
#view-emitir .total-panel>*{min-height:0!important;height:auto!important;align-self:stretch!important}
#view-emitir .total-panel>h3{
  grid-column:auto!important;margin:0!important;padding:10px 14px!important;border-right:1px solid var(--v6-line)!important;
  border-bottom:0!important;display:flex!important;align-items:center!important;font-size:14px!important
}
#view-emitir .emit-total-row,#view-emitir .emit-total-box{
  order:initial!important;margin:0!important;padding:9px 12px!important;border:0!important;border-right:1px solid var(--v6-line)!important;
  border-radius:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:3px!important
}
#view-emitir .emit-total-box{border-right:0!important}
#view-emitir .emit-total-row span,#view-emitir .emit-total-box span{font-size:9.5px!important;line-height:1.15!important}
#view-emitir .emit-total-row b{font-size:15px!important;line-height:1.1!important}
#view-emitir .emit-total-box strong{font-size:20px!important;line-height:1.1!important}
@media(max-width:920px){
  #view-emitir .total-panel{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #view-emitir .total-panel>h3{grid-column:1/-1!important;border-right:0!important;border-bottom:1px solid var(--v6-line)!important}
}
@media(max-width:620px){#view-emitir .total-panel{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* V9.2: menu lateral ocultable/restaurable en escritorio. */
.sidebar-toggle-v9{
  width:38px;height:38px;flex:0 0 38px;border:1px solid var(--v6-line);border-radius:10px;
  background:var(--v6-panel-2);color:var(--v6-text);display:inline-grid;place-items:center;cursor:pointer;
  font-size:23px;line-height:1;font-weight:800;transition:background .16s,border-color .16s,color .16s
}
.sidebar-toggle-v9:hover{background:var(--v6-primary-soft);border-color:var(--v6-primary);color:var(--v6-primary-2)}
.top-nav,.app-header-primary,.main,.app-brand-horizontal,.app-shell:after{transition:left .22s ease,margin-left .22s ease,width .22s ease,transform .22s ease,opacity .18s ease!important}
@media(min-width:1101px){
  body.sidebar-collapsed{--v6-side-w:0px}
  body.sidebar-collapsed .top-nav{transform:translateX(-106%)!important;opacity:0!important;pointer-events:none!important}
  body.sidebar-collapsed .app-brand-horizontal{transform:translateX(-125%)!important;opacity:0!important;pointer-events:none!important}
  body.sidebar-collapsed .app-header-primary{left:0!important}
  body.sidebar-collapsed .main{margin-left:0!important;width:100%!important}
  body.sidebar-collapsed .app-shell:after{margin-left:0!important}
}
@media(max-width:1100px){.sidebar-toggle-v9{display:none!important}}

/* V9.3: modo oscuro completo en las zonas que aun heredaban fondos claros. */
html[data-theme="dark"] .emit-company-card,
html[data-theme="dark"] .issued-tools,
html[data-theme="dark"] .issued-search-bar,
html[data-theme="dark"] .issued-advanced,
html[data-theme="dark"] .compact-report-month,
html[data-theme="dark"] .reference-box,
html[data-theme="dark"] #view-recibidos .reference-box,
html[data-theme="dark"] .parameter-save-actions,
html[data-theme="dark"] .inventory-stats>div,
html[data-theme="dark"] .scheduled-summary span,
html[data-theme="dark"] .pos-product-tile,
html[data-theme="dark"] .pos-payment-summary,
html[data-theme="dark"] .pos-change,
html[data-theme="dark"] .inventory-enable-setting,
html[data-theme="dark"] .plan-warning,
html[data-theme="dark"] .error-cell{
  background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important;
  box-shadow:none!important
}
html[data-theme="dark"] .emit-company-card small,
html[data-theme="dark"] .emit-company-card span,
html[data-theme="dark"] .reference-box .hint,
html[data-theme="dark"] .issued-tools .hint,
html[data-theme="dark"] .issued-search-bar label,
html[data-theme="dark"] .scheduled-summary span,
html[data-theme="dark"] .inventory-stats small,
html[data-theme="dark"] .pos-product-tile span,
html[data-theme="dark"] .pos-product-tile small,
html[data-theme="dark"] .pos-payment-summary,
html[data-theme="dark"] .pos-payments-title small{color:var(--v8-muted)!important}
html[data-theme="dark"] .emit-company-card strong,
html[data-theme="dark"] .reference-box strong,
html[data-theme="dark"] .inventory-stats strong,
html[data-theme="dark"] .pos-product-tile strong{color:var(--v8-text)!important}
html[data-theme="dark"] .pos-product-tile:hover,
html[data-theme="dark"] .pos-product-tile:focus{background:var(--v8-hover)!important;border-color:var(--v6-teal)!important;color:#fff!important}
html[data-theme="dark"] .pos-change{color:#b9f4e7!important}
html[data-theme="dark"] .pos-change strong{color:#7de0c9!important}
html[data-theme="dark"] .parameter-save-actions{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-theme="dark"] .scheduled-summary span strong{color:var(--v8-text)!important}
html[data-theme="dark"] #view-programada .scheduled-table input,
html[data-theme="dark"] #view-programada .scheduled-table select{background:var(--v8-input)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}

/* Tarjetas adaptadas de layouts moviles: tampoco deben volverse blancas en oscuro. */
@media(max-width:900px){
  html[data-theme="dark"] #view-cuentas tr,
  html[data-theme="dark"] #view-programada .scheduled-table tr,
  html[data-theme="dark"] #view-emitir table.lines tr,
  html[data-theme="dark"] .lines-v3 tr,
  html[data-theme="dark"] .line-summary-table tr{background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}
}

/* V9.4: columnas compactas y regla global para textos largos. */
.audit-table{table-layout:fixed!important;min-width:880px!important}
.audit-table th:nth-child(1),.audit-table td:nth-child(1){width:16%!important}
.audit-table th:nth-child(2),.audit-table td:nth-child(2){width:18%!important}
.audit-table th:nth-child(3),.audit-table td:nth-child(3){width:19%!important}
.audit-table th:nth-child(4),.audit-table td:nth-child(4){width:21%!important}
.audit-table th:nth-child(5),.audit-table td:nth-child(5){width:26%!important}
.audit-table td{vertical-align:top!important;min-width:0!important;overflow:hidden!important}
.audit-table .doc-status-note,.audit-table .doc-status-note-button{max-width:100%!important;width:100%!important}
.table-long-text-button,.doc-status-note-button{
  display:block!important;max-width:100%!important;width:100%!important;white-space:nowrap!important;overflow:hidden!important;
  text-overflow:ellipsis!important;text-align:left!important
}
.table-wrap td{max-width:360px}
.table-wrap td>.doc-status-note-button{font:inherit}
html[data-theme="dark"] .doc-status-note-button{color:#b9c8dc!important}
html[data-theme="dark"] .doc-status-note-button:hover{color:#9eb0ff!important}

/* V9 identifica correctamente la entrega. */
.app-shell:after{content:"TRICONTA FE \00a9 2026  \00b7  Version V11  \00b7  Conexion segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE \00b7 Factura movil \00b7 Version V11"!important}

/* V9.5: superficies auxiliares adicionales del tema oscuro. */
html[data-theme="dark"] .mode-choice-card,
html[data-theme="dark"] .mode-choice-option,
html[data-theme="dark"] .mobile-bottom-nav,
html[data-theme="dark"] .cabys-panel .panel-head,
html[data-theme="dark"] .accounts-v5>.panel-head,
html[data-theme="dark"] .received-tools{
  background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important
}
html[data-theme="dark"] .mode-choice-option strong{color:var(--v8-text)!important}
html[data-theme="dark"] .mode-choice-option small,
html[data-theme="dark"] .mode-choice-hint{color:var(--v8-muted)!important}
html[data-theme="dark"] .mode-choice-option.mobile-option{background:#102821!important;border-color:#286653!important}

/* V10 - POS e Inventario */
.pos-product-results.hidden{display:none!important}
.pos-product-results .pos-product-tile-simple{min-height:58px;justify-content:center;padding:12px 14px}
.pos-product-tile-simple strong{font-size:1rem;line-height:1.3}
.inventory-movement-toolbar{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(180px,.7fr) minmax(260px,1.4fr);gap:12px;align-items:end;margin:0 0 14px}
.inventory-movement-toolbar label{display:grid;gap:6px}
.inventory-adjust-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line,#d7e2ec);border-radius:12px;background:var(--panel-soft,#f7fafc)}
.inventory-adjust-diff{font-size:1.35rem;font-weight:800}
.inventory-adjust-diff.positive{color:#0a8f79}.inventory-adjust-diff.negative{color:#b7443e}
[data-theme="dark"] .inventory-adjust-summary{background:#0e1a2d;border-color:#30415b;color:#eef4ff}
[data-theme="dark"] .pos-checkout-card{background:#0e1a2d}
@media(max-width:1050px){.inventory-movement-toolbar{grid-template-columns:1fr}.pos-checkout-card{max-height:none;overflow:visible}}

/* ========================================================================== */
/* TRICONTA_FE_V11 - UX, caja efectivo, emisor protegido y consecutivos       */
/* ========================================================================== */

/* Emision: el resumen pertenece al flujo del detalle y nunca roba ancho lateral. */
#view-emitir .emit-grid{display:block!important;width:100%!important}
#view-emitir .emit-main-card{width:100%!important;min-width:0!important}
#view-emitir .emit-inline-summary{position:static!important;top:auto!important;width:100%!important;margin:14px 0 0!important;min-height:0!important;height:auto!important;box-shadow:none!important}
#view-emitir .line-summary-wrap{margin-bottom:0!important}

/* Buscador de cliente escalable. */
.client-autocomplete{display:grid;gap:8px}
.client-search-wrap{position:relative;display:flex;align-items:center;gap:6px}
.client-search-wrap>input[type="search"]{width:100%;padding-right:44px}
.client-clear-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--v6-muted);font-size:20px;cursor:pointer}
.client-search-results{position:absolute;z-index:80;left:0;right:0;top:calc(100% + 6px);max-height:310px;overflow:auto;padding:6px;border:1px solid var(--v6-line);border-radius:12px;background:var(--v6-panel);box-shadow:0 18px 42px rgba(20,39,65,.18)}
.client-search-item{width:100%;display:flex;flex-direction:column;gap:3px;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--v6-line-soft);background:transparent;color:var(--v6-text);cursor:pointer}
.client-search-item:last-child{border-bottom:0}.client-search-item:hover,.client-search-item:focus{background:var(--v6-primary-soft)}
.client-search-item small,.client-search-empty{color:var(--v6-muted);font-size:.84rem}.client-search-empty{padding:12px}
.client-search-item.consumer strong{color:var(--v6-primary-2)}
.client-actions{display:flex;gap:8px;flex-wrap:wrap}
html[data-theme="dark"] .client-search-results{background:var(--v8-surface)!important;border-color:var(--v8-border)!important;box-shadow:0 18px 46px rgba(0,0,0,.45)!important}
html[data-theme="dark"] .client-search-item{color:var(--v8-text)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] .client-search-item:hover,html[data-theme="dark"] .client-search-item:focus{background:var(--v8-hover)!important;color:#fff!important}
html[data-theme="dark"] .client-clear-btn{color:var(--v8-muted)!important}

/* Pagos: lectura inmediata de aplicado vs total. */
#pagoResumen{display:block;margin-top:10px;padding:10px 12px;border:1px solid var(--v6-line);border-radius:10px;background:var(--v6-panel-2);line-height:1.45}
#pagoResumen .payment-ok{color:#078a75}.payment-pending{color:#b46a16;font-weight:800}
html[data-theme="dark"] #pagoResumen{background:var(--v8-surface-2)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] #pagoResumen .payment-ok{color:#7de0c9!important}html[data-theme="dark"] #pagoResumen .payment-pending{color:#ffd07a!important}

/* Caja V11: solo efectivo. */
.cash-stats{display:grid;grid-template-columns:repeat(5,minmax(145px,1fr));gap:14px;margin:14px 0 18px}
.cash-stats>div{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid var(--v6-line);border-radius:14px;background:var(--v6-panel);min-height:0}
.cash-stats small{color:var(--v6-muted)}.cash-stats strong{font-size:1.55rem;line-height:1.05}.cash-stats .cash-expected{background:var(--v6-teal-soft);border-color:#9cded3}.cash-stats .cash-expected strong{color:#087c70}
html[data-theme="dark"] .cash-stats>div{background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] .cash-stats small{color:var(--v8-muted)!important}html[data-theme="dark"] .cash-stats strong{color:var(--v8-text)!important}
html[data-theme="dark"] .cash-stats .cash-expected{background:#102b25!important;border-color:#2a6956!important}html[data-theme="dark"] .cash-stats .cash-expected strong{color:#7de0c9!important}
@media(max-width:1180px){.cash-stats{grid-template-columns:repeat(3,minmax(150px,1fr))}}@media(max-width:720px){.cash-stats{grid-template-columns:1fr 1fr}}

/* Datos fiscales del emisor: visualmente protegidos salvo desbloqueo explícito. */
.fiscal-lock-banner{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;border:1px solid #d7e4ef;border-radius:12px;background:#f5f8fb}
.fiscal-lock-banner>div{display:flex;flex-direction:column;gap:3px}.fiscal-lock-banner small{color:var(--v6-muted)}
#empresaForm input[readonly],#empresaForm select:disabled{cursor:not-allowed;background:#f3f6f9;color:#617186;opacity:1}
#empresaForm.fiscal-unlocked input:not([readonly]),#empresaForm.fiscal-unlocked select:not(:disabled){cursor:text}
html[data-theme="dark"] .fiscal-lock-banner{background:var(--v8-surface-2)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] .fiscal-lock-banner small{color:var(--v8-muted)!important}
html[data-theme="dark"] #empresaForm input[readonly],html[data-theme="dark"] #empresaForm select:disabled{background:#172337!important;color:#aebbd0!important;border-color:#2b3a53!important;opacity:1!important}

/* Empresa - Logo - Diseno Doc: tema oscuro completo. */
html[data-theme="dark"] #view-empresa .logo-settings-card,
html[data-theme="dark"] #view-empresa .logo-settings-copy,
html[data-theme="dark"] #view-empresa .pdf-design-section{
  background:var(--v8-surface)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important;box-shadow:none!important
}
html[data-theme="dark"] #view-empresa .logo-preview-box{background:var(--v8-surface-2)!important;color:var(--v8-muted)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] #view-empresa input[type="file"]{background:var(--v8-input)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] #view-empresa input[type="file"]::file-selector-button{background:var(--v8-surface-3)!important;color:var(--v8-text)!important;border:1px solid var(--v8-border)!important;border-radius:8px;padding:8px 11px;margin-right:10px}
html[data-theme="dark"] #view-empresa .pdf-design-card{background:var(--v8-surface-2)!important;color:var(--v8-text)!important;border-color:var(--v8-border)!important}
html[data-theme="dark"] #view-empresa .pdf-design-card:hover{background:var(--v8-hover)!important;border-color:var(--v8-border-strong)!important}
html[data-theme="dark"] #view-empresa .pdf-design-card .pdf-mini{background:#fff!important;color:#172033!important}

/* Consecutivos protegidos. */
#consecutivosLockInfo{margin-bottom:14px}#consecutivos input:disabled{opacity:1;cursor:not-allowed;background:#eef2f6;color:#5c6b7b}
html[data-theme="dark"] #consecutivos input:disabled{background:#172337!important;color:#aebbd0!important;border-color:#2b3a53!important}

/* Identidad de V11. */
.app-shell:after{content:"TRICONTA FE \00a9 2026  \00b7  Version V11  \00b7  Conexion segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE \00b7 Factura movil \00b7 Version V11"!important}


/* TRICONTA_FE_V12 - detalle compacto y comprobantes en Factura movil */
.line-summary-toolbar{display:flex;justify-content:flex-end;align-items:center;margin:0 0 10px}
.line-summary-table .line-extra-col{display:none!important}
.line-summary-wrap.show-extra-cols .line-summary-table th.line-extra-col,
.line-summary-wrap.show-extra-cols .line-summary-table td.line-extra-col{display:table-cell!important}
.line-summary-wrap:not(.show-extra-cols) .line-summary-table{table-layout:auto!important}
.line-summary-wrap:not(.show-extra-cols) .line-summary-table th:nth-child(1),
.line-summary-wrap:not(.show-extra-cols) .line-summary-table td:nth-child(1){width:44px}
.line-summary-wrap:not(.show-extra-cols) .line-summary-table th:nth-child(3),
.line-summary-wrap:not(.show-extra-cols) .line-summary-table td:nth-child(3){width:auto;min-width:320px}
.line-summary-wrap:not(.show-extra-cols) .line-summary-table th:nth-child(5),
.line-summary-wrap:not(.show-extra-cols) .line-summary-table td:nth-child(5){width:90px}
.line-summary-wrap:not(.show-extra-cols) .line-summary-table th:nth-child(9),
.line-summary-wrap:not(.show-extra-cols) .line-summary-table td:nth-child(9){width:130px}
.line-summary-wrap:not(.show-extra-cols) .line-summary-table th:nth-child(10),
.line-summary-wrap:not(.show-extra-cols) .line-summary-table td:nth-child(10),
.line-summary-wrap:not(.show-extra-cols) .line-summary-table th:nth-child(11),
.line-summary-wrap:not(.show-extra-cols) .line-summary-table td:nth-child(11){width:74px}
.line-summary-wrap:not(.show-extra-cols) .line-summary-name strong{font-size:16px;line-height:1.4;overflow-wrap:normal;word-break:normal}
.mobile-docs-list{display:none}
.invoice-mobile-mode #view-comprobantes .mobile-docs-list{display:grid!important;gap:12px;margin-top:12px}
.invoice-mobile-mode #view-comprobantes .issued-tools,
.invoice-mobile-mode #view-comprobantes .issued-table-panel,
.invoice-mobile-mode #view-comprobantes #docAdvancedFilters{display:none!important}
.invoice-mobile-mode #view-comprobantes .issued-head-panel{padding:14px!important}
.invoice-mobile-mode #view-comprobantes .panel-head{align-items:flex-start;gap:10px}
.invoice-mobile-mode #view-comprobantes .panel-head .row-actions button:first-child{display:none!important}
.invoice-mobile-mode #view-comprobantes .issued-search-bar{grid-template-columns:1fr 1fr!important;gap:8px!important}
.invoice-mobile-mode #view-comprobantes .issued-search-main{grid-column:1/-1}
.invoice-mobile-mode #view-comprobantes .issued-search-bar>button:nth-of-type(1){display:none!important}
.mobile-doc-card{border:1px solid var(--border,#dbe4ef);border-radius:16px;padding:14px;background:var(--surface,#fff);box-shadow:0 8px 22px rgba(15,35,65,.06)}
.mobile-doc-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mobile-doc-card-head>div{min-width:0;display:grid;gap:4px}.mobile-doc-card-head strong{font-size:16px;line-height:1.25;overflow-wrap:anywhere}.mobile-doc-card-head small{color:var(--muted,#70829a)}
.mobile-doc-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.mobile-doc-meta span{display:grid;gap:2px;padding:9px 10px;border-radius:10px;background:rgba(127,145,170,.08)}.mobile-doc-meta b{font-size:11px;text-transform:uppercase;color:var(--muted,#70829a)}
.mobile-doc-consecutive{display:block;margin-top:10px;color:var(--muted,#70829a);overflow-wrap:anywhere}.mobile-doc-actions{display:grid;grid-template-columns:1.2fr .75fr .9fr;gap:8px;margin-top:12px}.mobile-doc-actions .btn{min-height:44px;padding:9px 10px}
html[data-theme="dark"] .mobile-doc-card{background:var(--v8-surface,#111d31)!important;border-color:var(--v8-border,#2a3a55)!important;color:var(--v8-text,#f5f8ff)!important}
html[data-theme="dark"] .mobile-doc-meta span{background:#14243b!important}
.mobile-doc-empty{padding:24px;text-align:center;border:1px dashed var(--border,#dbe4ef);border-radius:14px;color:var(--muted,#70829a)}
@media(max-width:780px){
  .line-summary-wrap.show-extra-cols .line-summary-table td.line-extra-col{display:block!important}
  .line-summary-wrap:not(.show-extra-cols) .line-summary-table td.line-extra-col{display:none!important}
  .line-summary-wrap:not(.show-extra-cols) .line-summary-table td:nth-child(3){min-width:0!important}
  .mobile-doc-actions{grid-template-columns:1fr 1fr}.mobile-doc-actions .btn:first-child{grid-column:1/-1}
  .invoice-mobile-mode #view-comprobantes .issued-search-bar{grid-template-columns:1fr!important}.invoice-mobile-mode #view-comprobantes .issued-search-main{grid-column:auto}
}
.app-shell:after{content:"TRICONTA FE \00a9 2026  \00b7  Version V12  \00b7  Conexion segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE \00b7 Factura movil \00b7 Version V12"!important}

/* TRICONTA_FE_V13 - Factura movil con dos accesos e importacion historica XML */
.mobile-home-view{display:none}
.invoice-mobile-mode #view-mobile-home.active{display:block!important}
.invoice-mobile-mode .mobile-home-panel{max-width:760px;margin:24px auto;padding:24px}
.mobile-home-actions{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.mobile-home-card{min-height:170px;border:1px solid var(--border,#dbe4ef);border-radius:20px;background:var(--surface,#fff);display:grid;grid-template-columns:56px 1fr;grid-template-rows:auto auto;column-gap:16px;align-items:center;text-align:left;padding:22px;cursor:pointer;box-shadow:0 12px 30px rgba(15,35,65,.07)}
.mobile-home-card>span{grid-row:1/3;width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:28px;font-weight:800;background:#e9f6f3;color:#087b6d}
.mobile-home-card.consult>span{background:#eaf0ff;color:#3557c7}
.mobile-home-card strong{font-size:22px;line-height:1.15}.mobile-home-card small{color:var(--muted,#70829a);font-size:14px}
.mobile-home-card:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(15,35,65,.10)}
html[data-theme="dark"] .mobile-home-card{background:var(--v8-surface,#111d31)!important;border-color:var(--v8-border,#2a3a55)!important;color:var(--v8-text,#f5f8ff)!important}
html[data-theme="dark"] .mobile-home-card>span{background:#103a34!important;color:#5ee1c8!important}html[data-theme="dark"] .mobile-home-card.consult>span{background:#172b55!important;color:#99adff!important}

.historical-import-panel{margin-top:18px}.historical-import-box{display:grid;gap:14px}.historical-import-actions{justify-content:flex-start}
.historical-import-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.historical-import-summary>div{border:1px solid var(--border,#dbe4ef);border-radius:12px;padding:12px;background:rgba(127,145,170,.06);display:grid;gap:4px}.historical-import-summary strong{font-size:12px;color:var(--muted,#70829a)}.historical-import-summary b{font-size:22px}
.historical-detail-list{max-height:310px;overflow:auto;border:1px solid var(--border,#dbe4ef);border-radius:12px}.historical-detail-row{display:grid;grid-template-columns:minmax(160px,1.1fr) 130px minmax(220px,2fr);gap:12px;padding:10px 12px;border-bottom:1px solid var(--border,#dbe4ef);align-items:center}.historical-detail-row:last-child{border-bottom:0}.historical-detail-row span{font-weight:700}.historical-detail-row.valido span{color:#087b6d}.historical-detail-row.duplicado span{color:#9a6b00}.historical-detail-row.emisorincorrecto span,.historical-detail-row.invalido span{color:#b42318}.historical-detail-row small{overflow-wrap:anywhere;color:var(--muted,#70829a)}
html[data-theme="dark"] .historical-import-summary>div,html[data-theme="dark"] .historical-detail-list{background:#101d31!important;border-color:#2a3a55!important}html[data-theme="dark"] .historical-detail-row{border-color:#2a3a55!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE \00b7 Factura movil \00b7 Version V15"!important}

@media(max-width:720px){.mobile-home-actions{grid-template-columns:1fr}.mobile-home-card{min-height:130px}.historical-import-summary{grid-template-columns:1fr 1fr}.historical-detail-row{grid-template-columns:1fr}.historical-detail-row span{font-size:12px}}

.app-shell:after{content:"TRICONTA FE \00a9 2026  \00b7  Version V15  \00b7  Conexion segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE \00b7 Factura movil \00b7 Version V15"!important}

/* TRICONTA_FE_V15 - Factura movil: emitir y consultar son pantallas independientes */
.mobile-mode-page-actions{display:none}
.invoice-mobile-mode .mobile-mode-page-actions{display:flex!important;justify-content:flex-end;align-items:center;gap:8px;margin:0 0 12px;position:relative;z-index:5}
.invoice-mobile-mode .mobile-mode-page-actions .btn{min-height:42px;padding:9px 13px}
.invoice-mobile-mode #view-mobile-home,.invoice-mobile-mode #view-emitir,.invoice-mobile-mode #view-comprobantes{display:none!important}
.invoice-mobile-mode #view-mobile-home.active,.invoice-mobile-mode #view-emitir.active,.invoice-mobile-mode #view-comprobantes.active{display:block!important}
.invoice-mobile-mode #view-comprobantes .issued-head-panel .panel-head .row-actions .btn.primary{display:none!important}
@media(max-width:620px){.invoice-mobile-mode .mobile-mode-page-actions{display:grid!important;grid-template-columns:1fr 1fr}.invoice-mobile-mode .mobile-mode-page-actions .btn{width:100%;white-space:normal}}
.app-shell:after{content:"TRICONTA FE \00a9 2026  \00b7  Version V15  \00b7  Conexion segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE \00b7 Factura movil \00b7 Version V15"!important}


/* TRICONTA_FE_V16 - navegacion cruzada visible dentro de los encabezados de Factura movil */
.mobile-cross-nav{display:none!important}
.invoice-mobile-mode .mobile-cross-nav{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:44px!important;
  margin-top:10px!important;
  padding:10px 16px!important;
  font-weight:850!important;
  white-space:normal!important;
  position:relative!important;
  z-index:30!important;
}
/* V16 ya no depende de la barra externa que en V15 podia quedar detras del encabezado fijo. */
.invoice-mobile-mode .mobile-mode-page-actions{display:none!important}
.invoice-mobile-mode #view-emitir .emit-title-wrap>div{min-width:0!important}
.invoice-mobile-mode #view-emitir .emit-title-wrap .mobile-cross-nav{margin-top:10px!important}
.invoice-mobile-mode #view-comprobantes .panel-head>div:first-child{min-width:0!important}
.invoice-mobile-mode #view-comprobantes .panel-head>div:first-child .mobile-cross-nav{margin-top:10px!important}
@media(max-width:620px){
  .invoice-mobile-mode .mobile-cross-nav{width:100%!important}
}
.app-shell:after{content:"TRICONTA FE \00a9 2026  \00b7  Version V16  \00b7  Conexion segura"!important}
.invoice-mobile-mode .app-shell:after{content:"TRICONTA FE \00b7 Factura movil \00b7 Version V16"!important}


/* FIX126 selector empresa modo movil */
@media(max-width:1100px){
  body.invoice-mobile-mode .header-account{
    width:100%!important;
    flex:1 1 100%!important;
    margin-left:0!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:8px!important;
  }

  body.invoice-mobile-mode .company-switch{
    display:flex!important;
    flex:1 1 100%!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    order:20!important;
    padding-top:4px!important;
  }

  body.invoice-mobile-mode .company-switch select{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0!important;
  }
}

/* Reporte mensual de ingresos: reemplazo localizado del control de descargas en Factura movil. */
.mobile-income-report{display:none}
.mobile-income-report-toggle{display:none}

body.invoice-mobile-mode #view-comprobantes #controlDescargasEmitidos,
body.invoice-mobile-mode #view-comprobantes #panelDescargasEmitidos{
  display:none!important;
}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report{
  display:grid!important;
  gap:14px;
  margin:14px 0 18px;
  padding:16px;
  border:1px solid var(--border,#dbe4ef);
  border-radius:16px;
  background:linear-gradient(145deg,#f5fbff,#eef8f5);
}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report[hidden]{
  display:none!important;
}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report-toggle{
  display:flex!important;
  width:100%;
  min-height:48px;
  margin:14px 0 12px;
  align-items:center;
  justify-content:center;
  border-color:#9fb1ff!important;
  background:#eef1ff!important;
  color:#263b9d!important;
  font-weight:800;
}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report h4{
  margin:3px 0 5px;
  font-size:18px;
}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report .hint{margin:0}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report-fields label{
  display:grid;
  gap:6px;
  font-weight:700;
}

body.invoice-mobile-mode #view-comprobantes .mobile-income-report-fields select{
  width:100%;
  min-height:46px;
}

body.invoice-mobile-mode #view-comprobantes #mobileIncomeReportButton{
  width:100%;
  min-height:48px;
  text-transform:uppercase;
  font-weight:800;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-comprobantes .mobile-income-report{
  background:linear-gradient(145deg,#112238,#132d2a)!important;
  border-color:#31506a!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-comprobantes .mobile-income-report-toggle{
  background:#172348!important;
  border-color:#415ab5!important;
  color:#dce4ff!important;
}

/* Reporte mensual de gastos: equivalente móvil en Documentos recibidos. */
.mobile-expense-report,
.mobile-expense-report-toggle{display:none}

body.invoice-mobile-mode #view-recibidos #mobileExpenseReportToggle{
  display:flex!important;
  width:100%;
  min-height:48px;
  margin:14px 0 12px;
  align-items:center;
  justify-content:center;
  border-color:#9fb1ff!important;
  background:#eef1ff!important;
  color:#263b9d!important;
  font-weight:800;
}

body.invoice-mobile-mode #view-recibidos #reporteGastosMovil{
  display:grid!important;
  gap:14px;
  margin:14px 0 18px;
  padding:16px;
  border:1px solid var(--border,#dbe4ef);
  border-radius:16px;
  background:linear-gradient(145deg,#fffaf2,#f3f8ff);
}

body.invoice-mobile-mode #view-recibidos #reporteGastosMovil[hidden]{
  display:none!important;
}

body.invoice-mobile-mode #view-recibidos #reporteGastosMovil h4{
  margin:3px 0 5px;
  font-size:18px;
}

body.invoice-mobile-mode #view-recibidos #reporteGastosMovil .hint{margin:0}

body.invoice-mobile-mode #view-recibidos .mobile-expense-report-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

body.invoice-mobile-mode #view-recibidos .mobile-expense-report-fields label{
  display:grid;
  gap:6px;
  font-weight:700;
}

body.invoice-mobile-mode #view-recibidos .mobile-expense-report-fields select,
body.invoice-mobile-mode #view-recibidos .mobile-expense-report-fields input{
  display:block!important;
  width:100%;
  min-height:46px;
}

body.invoice-mobile-mode #view-recibidos #mobileExpenseReportButton{
  display:block!important;
  width:100%;
  min-height:48px;
  text-transform:uppercase;
  font-weight:800;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos #reporteGastosMovil{
  background:linear-gradient(145deg,#302414,#112238)!important;
  border-color:#5d4b2e!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos #mobileExpenseReportToggle{
  background:#172348!important;
  border-color:#415ab5!important;
  color:#dce4ff!important;
}

@media(max-width:420px){
  body.invoice-mobile-mode #view-comprobantes .mobile-income-report-fields,
  body.invoice-mobile-mode #view-recibidos .mobile-expense-report-fields{
    grid-template-columns:1fr;
  }
}

/* FIX126 - CAByS visible y usable en telefonos */
@media(max-width:760px){
  .line-product-dialog{
    width:calc(100vw - 8px)!important;
    max-width:calc(100vw - 8px)!important;
    max-height:calc(100dvh - 8px)!important;
  }

  .line-product-dialog .dialog-card.wide{
    width:100%!important;
    max-width:100%!important;
    max-height:calc(100dvh - 8px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch;
  }

  .line-product-results{
    min-height:0!important;
    max-height:130px!important;
    overflow-y:auto!important;
  }

  #lineCabysOfficialWrap{
    display:block!important;
    margin-top:12px!important;
    padding-top:12px!important;
  }

  #lineCabysOfficialWrap .inline-field{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  #lineCabysOfficialWrap .inline-field input,
  #lineCabysOfficialWrap .inline-field button{
    width:100%!important;
    max-width:100%!important;
  }

  #lineCabysOfficialResults{
    max-height:42dvh!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  #lineCabysOfficialResults .catalog-option{
    min-height:58px;
    white-space:normal!important;
  }
}

/* FIX126 - Toasts visibles sobre encabezado fijo */
.toast{
  top:96px!important;
  z-index:6000!important;
}
@media(max-width:760px){
  .toast{
    top:88px!important;
    left:12px!important;
    right:12px!important;
    max-width:none!important;
  }
}

/* FIX126 - Toast fuera del encabezado usando su altura real */
.toast{
  top:calc(var(--sticky-header-offset, 110px) + 16px)!important;
  z-index:99999!important;
}

/* FIX126 - Factura movil: contenido visible debajo del encabezado fijo */
.invoice-mobile-mode .main{
  padding-top:calc(var(--v6-top-h) + 16px)!important;
}

/* FIX126 - Factura movil usa altura real del encabezado */
.invoice-mobile-mode .main{
  padding-top:calc(var(--sticky-header-offset, 76px) + 16px)!important;
}

/* Ajuste visual Bitácora de ventas de planes */
#view-saas .table-wrap {
  overflow-x: auto;
}

#view-saas table {
  min-width: 1180px;
}

#view-saas th,
#view-saas td {
  white-space: nowrap;
  vertical-align: middle;
}

#view-saas th:nth-child(2),
#view-saas td:nth-child(2) {
  min-width: 260px;
  white-space: normal;
}

#view-saas th:nth-child(3),
#view-saas td:nth-child(3) {
  min-width: 150px;
}

#view-saas th:nth-child(4),
#view-saas td:nth-child(4) {
  min-width: 145px;
}

#view-saas th:nth-child(5),
#view-saas td:nth-child(5),
#view-saas th:nth-child(6),
#view-saas td:nth-child(6),
#view-saas th:nth-child(7),
#view-saas td:nth-child(7) {
  min-width: 135px;
  text-align: right;
}

#view-saas th:nth-child(8),
#view-saas td:nth-child(8) {
  min-width: 90px;
  text-align: right;
}

#view-saas th:nth-child(9),
#view-saas td:nth-child(9) {
  min-width: 190px;
}

#view-saas th:nth-child(10),
#view-saas td:nth-child(10) {
  min-width: 100px;
}




/* BITACORA PLANES AJUSTE FINAL */
#view-saas .bitacora-planes-table{
  width:100%!important;
  min-width:0!important;
  table-layout:auto;
}

#view-saas .bitacora-planes-table th,
#view-saas .bitacora-planes-table td{
  padding:12px 10px!important;
  white-space:nowrap!important;
  vertical-align:middle;
  font-size:14px;
}

#view-saas .bitacora-planes-table th{
  font-size:13px;
}

#view-saas .bitacora-planes-table th:nth-child(1),
#view-saas .bitacora-planes-table td:nth-child(1){width:9%;}

#view-saas .bitacora-planes-table th:nth-child(2),
#view-saas .bitacora-planes-table td:nth-child(2){
  width:16%;
  white-space:normal!important;
}

#view-saas .bitacora-planes-table th:nth-child(3),
#view-saas .bitacora-planes-table td:nth-child(3){width:12%;}

#view-saas .bitacora-planes-table th:nth-child(4),
#view-saas .bitacora-planes-table td:nth-child(4){width:9%;}

#view-saas .bitacora-planes-table th:nth-child(5),
#view-saas .bitacora-planes-table td:nth-child(5){width:11%;}

#view-saas .bitacora-planes-table th:nth-child(6),
#view-saas .bitacora-planes-table td:nth-child(6){width:10%;}

#view-saas .bitacora-planes-table th:nth-child(7),
#view-saas .bitacora-planes-table td:nth-child(7){width:9%;}

#view-saas .bitacora-planes-table th:nth-child(8),
#view-saas .bitacora-planes-table td:nth-child(8){width:7%;}

#view-saas .bitacora-planes-table th:nth-child(9),
#view-saas .bitacora-planes-table td:nth-child(9){width:11%;}

#view-saas .bitacora-planes-table th:nth-child(10),
#view-saas .bitacora-planes-table td:nth-child(10){width:6%;}

#view-saas .table-wrap{
  overflow-x:hidden!important;
}

/* Ajuste fino final bitácora */
#view-saas .bitacora-planes-table th{
  font-size:12px!important;
  letter-spacing:.2px;
}

#view-saas .bitacora-planes-table th:nth-child(5),
#view-saas .bitacora-planes-table td:nth-child(5){
  width:13%!important;
}

#view-saas .bitacora-planes-table th:nth-child(6),
#view-saas .bitacora-planes-table td:nth-child(6){
  width:12%!important;
}

#view-saas .bitacora-planes-table th:nth-child(2),
#view-saas .bitacora-planes-table td:nth-child(2){
  width:15%!important;
}

#view-saas .bitacora-planes-table th:nth-child(9),
#view-saas .bitacora-planes-table td:nth-child(9){
  width:10%!important;
}

/* TRICONTA FE - icono corporativo personalizado */
.triconta-symbol{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  display:block!important;
  background:url('/triconta-fe-icon.svg') center/contain no-repeat!important;
  border-radius:12px!important;
  box-shadow:0 5px 14px rgba(7,29,58,.18)!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
}
.triconta-symbol > *{
  display:none!important;
}
.invoice-mobile-mode .app-brand-horizontal .triconta-symbol{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
}

/* ICONO TRICONTA FE DEFINITIVO */
.triconta-symbol{
  background:url('/triconta-fe-icon-2026.jpg?v=20260920') center/contain no-repeat!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:10px!important;
  box-shadow:none!important;
}

/* ICONO TRICONTA FE - DISEÑO SELECCIONADO */
.triconta-symbol{
  background:url('/triconta-fe-icon-2026.jpg?v=20260920') center/contain no-repeat!important;
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  border-radius:8px!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
.invoice-mobile-mode .app-brand-horizontal .triconta-symbol{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
}

/* Quitar únicamente adorno circular del logo TRICONTA FE */
.triconta-symbol::before,
.triconta-symbol::after{
  content:none!important;
  display:none!important;
}


/* FIX - Boton SALIR siempre visible en Factura movil */




/* FIX Recepcion - archivos horizontales y estado limpio */
#view-recibidos .received-file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:7px!important;
  min-width:360px;
}

#view-recibidos .received-file-actions .btn{
  width:auto!important;
  min-width:auto!important;
  min-height:36px!important;
  padding:7px 10px!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
}

#view-recibidos .received-expediente-action{
  display:flex;
  align-items:center;
  white-space:nowrap;
}

#view-recibidos table td{
  vertical-align:middle!important;
}

#view-recibidos table th:nth-child(5),
#view-recibidos table td:nth-child(5){
  min-width:390px;
}

@media(max-width:1100px){
  #view-recibidos .table-wrap{
    overflow-x:auto!important;
  }
  #view-recibidos table{
    min-width:1050px!important;
  }
}


/* FIX Recepcion - cuatro archivos en una sola fila */
#view-recibidos .received-file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}

#view-recibidos .received-file-actions .btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:auto!important;
  min-height:36px!important;
  padding:7px 11px!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
}

#view-recibidos table th:nth-child(5),
#view-recibidos table td:nth-child(5){
  min-width:470px!important;
  width:470px!important;
}

#view-recibidos .table-wrap{
  overflow-x:auto!important;
}

#view-recibidos table{
  min-width:1080px!important;
}


/* FIX CONSOLIDADO - Bandeja Gastos recibidos */
#view-recibidos .received-type{
  display:inline-flex!important;
  align-items:center!important;
  padding:5px 9px!important;
  border-radius:8px!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

#view-recibidos .received-type-invoice{
  background:#eef6ff!important;
  color:#2c5d9b!important;
}

#view-recibidos .received-type-credit{
  background:#fff1f1!important;
  color:#a23737!important;
}

#view-recibidos .received-type-debit{
  background:#fff7e8!important;
  color:#946200!important;
}

#view-recibidos .received-credit-total{
  font-weight:850!important;
}

#view-recibidos .received-file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  gap:8px!important;
  white-space:nowrap!important;
}

#view-recibidos .received-file-actions .btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:auto!important;
  padding:7px 10px!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
}

#view-recibidos .table-wrap{
  overflow-x:auto!important;
}

#view-recibidos table{
  min-width:1180px!important;
}

#view-recibidos table th:nth-child(6),
#view-recibidos table td:nth-child(6){
  min-width:470px!important;
}


/* FIX RECEPCION COMPACTA ESTABLE */
#view-recibidos .table-wrap{
  overflow-x:hidden!important;
}

#view-recibidos table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}

#view-recibidos th,
#view-recibidos td{
  padding:12px 8px!important;
  vertical-align:middle!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

#view-recibidos th:nth-child(1),
#view-recibidos td:nth-child(1){width:10%!important;white-space:nowrap!important;}

#view-recibidos th:nth-child(2),
#view-recibidos td:nth-child(2){width:11%!important;}

#view-recibidos th:nth-child(3),
#view-recibidos td:nth-child(3){
  width:22%!important;
  min-width:0!important;
  white-space:normal!important;
  word-break:normal!important;
}

#view-recibidos th:nth-child(4),
#view-recibidos td:nth-child(4){width:9%!important;}

#view-recibidos th:nth-child(5),
#view-recibidos td:nth-child(5){width:11%!important;white-space:nowrap!important;}

#view-recibidos th:nth-child(6),
#view-recibidos td:nth-child(6){
  width:32%!important;
  min-width:0!important;
}

#view-recibidos th:nth-child(7),
#view-recibidos td:nth-child(7){width:5%!important;}

#view-recibidos .received-file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  white-space:nowrap!important;
}

#view-recibidos .received-file-actions .btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  padding:7px 8px!important;
  font-size:11px!important;
  white-space:nowrap!important;
}

#view-recibidos .received-type{
  white-space:nowrap!important;
}


/* =========================================================
   RECEPCION - DISTRIBUCION LIMPIA FINAL
   ========================================================= */

#view-recibidos .table-wrap{
  width:100%!important;
  overflow-x:hidden!important;
}

#view-recibidos table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}

#view-recibidos table th,
#view-recibidos table td{
  min-width:0!important;
  max-width:none!important;
  padding:13px 10px!important;
  vertical-align:middle!important;
  writing-mode:horizontal-tb!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Fecha */
#view-recibidos th:nth-child(1),
#view-recibidos td:nth-child(1){
  width:10%!important;
  white-space:nowrap!important;
}

/* Tipo */
#view-recibidos th:nth-child(2),
#view-recibidos td:nth-child(2){
  width:13%!important;
  white-space:nowrap!important;
}

/* Emisor */
#view-recibidos th:nth-child(3),
#view-recibidos td:nth-child(3){
  width:18%!important;
}

/* Estado */
#view-recibidos th:nth-child(4),
#view-recibidos td:nth-child(4){
  width:9%!important;
  white-space:nowrap!important;
}

/* Total */
#view-recibidos th:nth-child(5),
#view-recibidos td:nth-child(5){
  width:12%!important;
  white-space:nowrap!important;
}

/* Archivos */
#view-recibidos th:nth-child(6),
#view-recibidos td:nth-child(6){
  width:38%!important;
}

/* Nombre: palabras completas una debajo de otra */
#view-recibidos .received-emisor-name{
  display:block!important;
  width:auto!important;
  min-width:0!important;
  white-space:normal!important;
  line-height:1.28!important;
}

#view-recibidos .received-emisor-word{
  display:block!important;
  width:auto!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* Botones alineados y corridos hacia la izquierda */
#view-recibidos .received-file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  white-space:nowrap!important;
}

#view-recibidos .received-file-actions .btn{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  padding:7px 8px!important;
  font-size:11px!important;
  white-space:nowrap!important;
  writing-mode:horizontal-tb!important;
}

/* Evitar reglas antiguas que partian el texto letra por letra */
#view-recibidos .received-emisor-cell,
#view-recibidos .received-emisor-cell *,
#view-recibidos .badge,
#view-recibidos .received-type{
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
}

/* Solo celulares realmente angostos */
@media(max-width:800px){
  #view-recibidos .table-wrap{
    overflow-x:auto!important;
  }

  #view-recibidos table{
    min-width:1000px!important;
  }
}


/* ======================================================
   RECEPCION V17 - DISTRIBUCION COMPACTA
   ====================================================== */

#view-recibidos .table-wrap{
  width:100%!important;
  overflow-x:hidden!important;
}

#view-recibidos table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}

#view-recibidos table th,
#view-recibidos table td{
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:none!important;
  vertical-align:middle!important;
  padding:12px 8px!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  writing-mode:horizontal-tb!important;
}

/* FECHA */
#view-recibidos th:nth-child(1),
#view-recibidos td:nth-child(1){
  width:105px!important;
  white-space:nowrap!important;
}

/* TIPO - suficiente espacio para que no invada Emisor */
#view-recibidos th:nth-child(2),
#view-recibidos td:nth-child(2){
  width:125px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

/* EMISOR */
#view-recibidos th:nth-child(3),
#view-recibidos td:nth-child(3){
  width:165px!important;
  white-space:normal!important;
}

/* ESTADO */
#view-recibidos th:nth-child(4),
#view-recibidos td:nth-child(4){
  width:95px!important;
  white-space:nowrap!important;
}

/* TOTAL: lo corremos mucho mas hacia la izquierda */
#view-recibidos th:nth-child(5),
#view-recibidos td:nth-child(5){
  width:145px!important;
  white-space:nowrap!important;
  text-align:right!important;
}

/* ARCHIVOS: recibe todo el espacio restante */
#view-recibidos th:nth-child(6),
#view-recibidos td:nth-child(6){
  width:auto!important;
  white-space:nowrap!important;
}

/* Tipo nunca puede montarse sobre otra columna */
#view-recibidos .received-type{
  display:inline-flex!important;
  max-width:115px!important;
  padding:5px 7px!important;
  font-size:11px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* Emisor: una palabra completa por linea */
#view-recibidos .received-emisor-name{
  display:block!important;
  line-height:1.28!important;
}

#view-recibidos .received-emisor-word{
  display:block!important;
  width:max-content!important;
  max-width:155px!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
}

/* Los cuatro botones completos en una sola linea */
#view-recibidos .received-file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:5px!important;
  width:100%!important;
  white-space:nowrap!important;
}

#view-recibidos .received-file-actions .btn{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  padding:7px 8px!important;
  font-size:11px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  word-break:normal!important;
  writing-mode:horizontal-tb!important;
}

/* ======================================================
   VISOR
   ====================================================== */

.received-preview-dialog{
  width:min(1100px,94vw)!important;
  max-width:1100px!important;
  height:86vh!important;
  max-height:86vh!important;
  padding:0!important;
  border:0!important;
  border-radius:14px!important;
  overflow:hidden!important;
}

.received-preview-card{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  background:var(--surface,#fff)!important;
}

.received-preview-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:12px 16px!important;
  border-bottom:1px solid var(--border,#dbe4ef)!important;
}

.received-preview-frame{
  display:block!important;
  width:100%!important;
  flex:1 1 auto!important;
  min-height:600px!important;
  border:0!important;
  background:#fff!important;
}

.received-preview-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:8px!important;
  padding:10px 16px!important;
  border-top:1px solid var(--border,#dbe4ef)!important;
}

/* Solo pantallas pequenas usan desplazamiento */
@media(max-width:800px){
  #view-recibidos .table-wrap{
    overflow-x:auto!important;
  }

  #view-recibidos table{
    min-width:1050px!important;
  }
}


/* =========================================================
   RECEPCION - TOTAL Y ARCHIVOS HACIA LA IZQUIERDA
   Mantener Fecha / Tipo / Emisor / Estado como estan
   ========================================================= */

#view-recibidos table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
}

/* Neutralizar anchos viejos */
#view-recibidos table th,
#view-recibidos table td{
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* FECHA */
#view-recibidos th:nth-child(1),
#view-recibidos td:nth-child(1){
  width:9%!important;
}

/* TIPO */
#view-recibidos th:nth-child(2),
#view-recibidos td:nth-child(2){
  width:11%!important;
}

/* EMISOR */
#view-recibidos th:nth-child(3),
#view-recibidos td:nth-child(3){
  width:17%!important;
}

/* ESTADO */
#view-recibidos th:nth-child(4),
#view-recibidos td:nth-child(4){
  width:10%!important;
}

/* TOTAL - inmediatamente despues de Estado */
#view-recibidos th:nth-child(5),
#view-recibidos td:nth-child(5){
  width:13%!important;
  text-align:right!important;
  white-space:nowrap!important;
  padding-left:8px!important;
  padding-right:14px!important;
}

/* ARCHIVOS - todo el espacio restante */
#view-recibidos th:nth-child(6),
#view-recibidos td:nth-child(6){
  width:40%!important;
  padding-left:8px!important;
  padding-right:8px!important;
}

/* Los cuatro botones completos y alineados */
#view-recibidos .received-file-actions{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:center!important;
  gap:6px!important;
  width:100%!important;
  min-width:0!important;
  white-space:nowrap!important;
}

#view-recibidos .received-file-actions .btn{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:7px 9px!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  word-break:normal!important;
  writing-mode:horizontal-tb!important;
}

/* En escritorio no mostrar barra horizontal */
#view-recibidos .table-wrap{
  width:100%!important;
  overflow-x:hidden!important;
}

/* Solo dispositivos realmente pequenos */
@media(max-width:800px){
  #view-recibidos .table-wrap{
    overflow-x:auto!important;
  }

  #view-recibidos table{
    min-width:1050px!important;
  }
}


/* =========================================================
   RECEPCION - MOVER SOLO TOTAL Y ARCHIVOS
   NO modifica Fecha, Tipo, Emisor ni Estado
   ========================================================= */

/* TOTAL */
#view-recibidos table th:nth-child(5),
#view-recibidos table td:nth-child(5){
    position:relative!important;
    left:-210px!important;
    white-space:nowrap!important;
}

/* ARCHIVOS */
#view-recibidos table th:nth-child(6),
#view-recibidos table td:nth-child(6){
    position:relative!important;
    left:-210px!important;
    overflow:visible!important;
    white-space:nowrap!important;
}

/* Mantener los cuatro botones completos */
#view-recibidos .received-file-actions{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:6px!important;
    overflow:visible!important;
    white-space:nowrap!important;
}

#view-recibidos .received-file-actions .btn{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    padding:7px 9px!important;
    font-size:11px!important;
    white-space:nowrap!important;
}

/* IMPORTANTE:
   Las primeras cuatro columnas quedan exactamente donde estan */


/* =========================================================
   RECEPCION - AJUSTE CABECERA Y TIPO
   Solo corrige franja, Emisor y Tipo
   ========================================================= */

/* La tabla y su encabezado deben ocupar todo el ancho disponible */
#view-recibidos .table-wrap{
  width:100%!important;
  max-width:100%!important;
}

#view-recibidos table{
  width:100%!important;
  max-width:100%!important;
}

#view-recibidos thead,
#view-recibidos thead tr{
  width:100%!important;
}

#view-recibidos thead tr{
  display:table-row!important;
}

/* Asegurar que la linea inferior del encabezado llegue al final */
#view-recibidos thead{
  border-bottom:1px solid var(--border,#dbe4ef)!important;
}

#view-recibidos thead th{
  border-bottom:1px solid var(--border,#dbe4ef)!important;
}

/* TIPO: un poco mas de espacio sin mover las demas columnas */
#view-recibidos th:nth-child(2),
#view-recibidos td:nth-child(2){
  position:relative!important;
  left:-8px!important;
  overflow:visible!important;
}

/* Que Nota de credito y Factura electronica se vean completas */
#view-recibidos .received-type{
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
}

/* EMISOR: mantener encabezado y contenido horizontal */
#view-recibidos th:nth-child(3){
  visibility:visible!important;
  opacity:1!important;
  color:inherit!important;
  white-space:nowrap!important;
}

#view-recibidos th:nth-child(3)::after{
  content:none!important;
}

/* La ultima columna no debe cortar visualmente la franja */
#view-recibidos th:nth-child(6),
#view-recibidos td:nth-child(6){
  overflow:visible!important;
}


/* =========================================================
   RECEPCION GRID LIMPIO V1
   No depende de las reglas antiguas de la tabla
   ========================================================= */

#view-recibidos .rx-shell{
  width:100%;
  max-width:100%;
  border:1px solid var(--border,#dbe4ef);
  border-radius:14px;
  overflow:hidden;
}

#view-recibidos .rx-head,
#view-recibidos .rx-row{
  display:grid;
  grid-template-columns:
    105px
    150px
    190px
    110px
    150px
    minmax(500px,1fr);
  column-gap:14px;
  align-items:center;
  width:100%;
  box-sizing:border-box;
}

#view-recibidos .rx-head{
  min-height:52px;
  padding:0 14px;
  background:var(--surface-2,#f7f9fc);
  border-bottom:1px solid var(--border,#dbe4ef);
  color:var(--muted,#62748a);
  font-size:12px;
  font-weight:850;
  letter-spacing:.02em;
}

#view-recibidos .rx-total-head{
  text-align:right;
}

#view-recibidos .rx-body{
  width:100%;
}

#view-recibidos .rx-row{
  min-height:150px;
  padding:16px 14px;
  border-bottom:1px solid var(--border,#e3e9f0);
}

#view-recibidos .rx-row:last-child{
  border-bottom:0;
}

#view-recibidos .rx-date{
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
}

#view-recibidos .rx-type{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:145px;
  min-height:32px;
  padding:6px 9px;
  border-radius:9px;
  font-size:11px;
  font-weight:850;
  white-space:nowrap;
  pointer-events:none;
  user-select:none;
}

#view-recibidos .rx-type-invoice{
  background:#eef6ff;
  color:#245d9f;
}

#view-recibidos .rx-type-credit{
  background:#fff0f0;
  color:#af3434;
}

#view-recibidos .rx-type-debit{
  background:#fff6e5;
  color:#946300;
}

#view-recibidos .rx-emisor{
  min-width:0;
}

#view-recibidos .rx-emisor-name{
  display:block;
  font-size:15px;
  line-height:1.28;
}

#view-recibidos .rx-emisor-name span{
  display:block;
  width:max-content;
  max-width:185px;
  white-space:nowrap;
}

#view-recibidos .rx-emisor small{
  display:block;
  margin-top:7px;
  color:var(--muted,#70829a);
  font-size:12px;
  white-space:normal;
  overflow-wrap:anywhere;
}

#view-recibidos .rx-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 11px;
  border:1px solid var(--border,#d7e1eb);
  border-radius:999px;
  background:#edf3f9;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

#view-recibidos .rx-total{
  text-align:right;
  font-size:15px;
  font-weight:500;
  white-space:nowrap;
}

#view-recibidos .rx-total-credit{
  font-weight:850;
}

#view-recibidos .rx-files{
  display:flex;
  flex-direction:row;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  min-width:0;
  white-space:nowrap;
}

#view-recibidos .rx-file-btn{
  flex:0 0 auto;
  width:auto!important;
  min-width:0!important;
  min-height:38px;
  padding:8px 10px!important;
  font-size:11px!important;
  line-height:1.1;
  white-space:nowrap!important;
}

#view-recibidos .rx-empty{
  padding:26px;
  color:var(--muted,#70829a);
  text-align:center;
}

@media(max-width:1150px){
  #view-recibidos .rx-shell{
    overflow-x:auto;
  }

  #view-recibidos .rx-head,
  #view-recibidos .rx-row{
    min-width:1210px;
  }
}


/* =========================================================
   RECEPCION GRID - AJUSTE FINAL DERECHO
   Solo mueve TOTAL y ARCHIVOS
   ========================================================= */

#view-recibidos .rx-total-head,
#view-recibidos .rx-head > div:nth-child(6),
#view-recibidos .rx-total,
#view-recibidos .rx-files{
    position:relative!important;
    left:-45px!important;
}

/* Un poco menos de espacio entre botones para asegurar
   que Respuesta Hacienda quede completamente visible */
#view-recibidos .rx-files{
    gap:5px!important;
}

#view-recibidos .rx-file-btn{
    padding-left:9px!important;
    padding-right:9px!important;
}


/* MODO DEMO */
.demo-mode-badge{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:5000;
  display:flex;
  align-items:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:999px;
  background:#fff3cd;
  border:1px solid #e6bd45;
  color:#725500;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
  font-size:12px;
  font-weight:850;
  letter-spacing:.02em;
  white-space:nowrap;
}

.demo-mode-badge.expired{
  background:#ffe5e5;
  border-color:#dc6b6b;
  color:#9b2424;
}

.demo-mode-badge.hidden{
  display:none!important;
}


/* ============================================================
   MODO DEMO GLOBAL V1
   ============================================================ */

.demo-admin-status{
  margin-top:6px;
}

.demo-admin-badge{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  font-size:10px;
  font-weight:850;
  letter-spacing:.04em;
}

.demo-admin-badge.normal{
  background:#eef2f5;
  color:#5e6872;
}

.demo-admin-badge.active{
  background:#fff3cd;
  border:1px solid #e5bd4a;
  color:#745500;
}

.demo-admin-badge.expired{
  background:#ffe6e6;
  border:1px solid #e28a8a;
  color:#9d2828;
}

.demo-admin-btn{
  margin-left:6px;
}

.demo-global-card{
  width:min(610px,94vw);
}

.demo-dialog-current{
  margin-top:10px;
}

.demo-security-note{
  margin-top:14px;
}

.demo-global-actions{
  margin-top:18px;
  flex-wrap:wrap;
}



/* MODO DEMO OPCIONAL V2 */

.demo-create-option{
  margin-top:8px;
  padding:14px;
  border:1px solid var(--border,#dfe4e8);
  border-radius:12px;
  background:rgba(245,247,249,.65);
}

.demo-create-check{
  display:flex;
  gap:12px;
  align-items:flex-start;
  cursor:pointer;
}

.demo-create-check input{
  width:18px;
  height:18px;
  margin-top:2px;
}

.demo-create-check span{
  display:flex;
  flex-direction:column;
  gap:3px;
}

.demo-create-check small{
  font-weight:400;
  opacity:.78;
}

.demo-create-expiry{
  margin-top:14px;
}

.demo-reset-warning{
  margin-top:14px;
}



/* BITACORA PLANES - DISTRIBUCION DEFINITIVA */
#view-saas .table-wrap{
  overflow-x:auto!important;
  overflow-y:hidden;
}

#view-saas .bitacora-planes-table{
  width:100%!important;
  min-width:1400px!important;
  table-layout:auto!important;
}

#view-saas .bitacora-planes-table th,
#view-saas .bitacora-planes-table td{
  width:auto!important;
  padding:13px 12px!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  line-height:1.3;
}

#view-saas .bitacora-planes-table th{
  font-size:12px!important;
}

#view-saas .bitacora-planes-table th:nth-child(1),
#view-saas .bitacora-planes-table td:nth-child(1){
  min-width:145px!important;
}

#view-saas .bitacora-planes-table th:nth-child(2),
#view-saas .bitacora-planes-table td:nth-child(2){
  min-width:230px!important;
  max-width:270px!important;
  white-space:normal!important;
}

#view-saas .bitacora-planes-table th:nth-child(3),
#view-saas .bitacora-planes-table td:nth-child(3){
  min-width:145px!important;
}

#view-saas .bitacora-planes-table th:nth-child(4),
#view-saas .bitacora-planes-table td:nth-child(4){
  min-width:105px!important;
}

#view-saas .bitacora-planes-table th:nth-child(5),
#view-saas .bitacora-planes-table td:nth-child(5),
#view-saas .bitacora-planes-table th:nth-child(6),
#view-saas .bitacora-planes-table td:nth-child(6),
#view-saas .bitacora-planes-table th:nth-child(7),
#view-saas .bitacora-planes-table td:nth-child(7){
  min-width:140px!important;
  text-align:right!important;
}

#view-saas .bitacora-planes-table th:nth-child(8),
#view-saas .bitacora-planes-table td:nth-child(8){
  min-width:90px!important;
  text-align:right!important;
}

#view-saas .bitacora-planes-table th:nth-child(9),
#view-saas .bitacora-planes-table td:nth-child(9){
  min-width:185px!important;
}

#view-saas .bitacora-planes-table th:nth-child(10),
#view-saas .bitacora-planes-table td:nth-child(10){
  min-width:95px!important;
  text-align:center!important;
}


/* CLIENTES - ACCIONES EN UNA SOLA LINEA */
#view-clientes .table-wrap{
  overflow-x:auto!important;
}

#view-clientes table{
  width:100%!important;
  min-width:1050px!important;
}

#view-clientes th:last-child,
#view-clientes td:last-child{
  min-width:285px!important;
  width:285px!important;
  white-space:nowrap!important;
  text-align:right!important;
}

#view-clientes td:last-child .row-actions{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-end!important;
  align-items:center!important;
  gap:8px!important;
}

#view-clientes td:last-child .btn{
  min-width:82px!important;
  width:auto!important;
  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  flex:0 0 auto!important;
  padding:9px 12px!important;
}

#view-clientes td:first-child{
  min-width:230px!important;
}

#view-clientes td:nth-child(2){
  min-width:150px!important;
}

#view-clientes td:nth-child(3){
  min-width:220px!important;
}

#view-clientes td:nth-child(4){
  min-width:110px!important;
}


/* CLIENTES - BUSQUEDA NOMBRE Y CEDULA */
#view-clientes .client-list-searches{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(240px,380px);
  gap:12px;
  margin-bottom:14px;
}

#view-clientes .client-list-searches .search{
  width:100%;
  margin:0;
}

@media (max-width:760px){
  #view-clientes .client-list-searches{
    grid-template-columns:1fr;
  }
}


/* POS - BUSCADOR DE CLIENTES POR NOMBRE O CEDULA */
#view-pos .pos-client-autocomplete{
  margin-top:7px;
}

#view-pos .pos-client-autocomplete .client-search-wrap{
  width:100%;
}

#view-pos #posClienteSearch{
  width:100%;
}

#view-pos #posClienteResults{
  text-align:left;
}

#view-pos #posClienteResults .client-search-item strong{
  white-space:normal;
}

#view-pos #posClienteResults .client-search-item small{
  white-space:normal;
}


/* FIX: notificaciones siempre por encima de dialogs/modales */
.toast,
#toast,
.toast-container,
.notification,
.notifications {
    z-index: 2147483647 !important;
    position: fixed !important;
}

dialog[open] {
    z-index: 10000;
}

dialog::backdrop {
    z-index: 9999;
}

/* PLAN VISIBLE EMPRESA ACTIVA */
.dashboard-plan-visible{
  margin:0 0 18px;
  padding:16px 18px;
  background:var(--v6-panel,#fff);
  border:1px solid var(--v6-line,#dfe5ec);
  border-radius:16px;
  box-shadow:var(--v6-shadow-soft,0 8px 24px rgba(0,0,0,.06));
}
.dashboard-plan-visible-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  margin-bottom:13px;
}
.dashboard-plan-visible-head strong{
  display:block;
  font-size:16px;
}
.dashboard-plan-visible-head small{
  display:block;
  margin-top:3px;
  color:var(--v6-muted,#6b7d92);
}
.dashboard-plan-visible-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(150px,1fr));
  gap:10px;
}
.plan-visible-item{
  padding:11px 13px;
  border:1px solid var(--v6-line,#dfe5ec);
  border-radius:10px;
  background:var(--v6-panel-2,#f8fafc);
}
.plan-visible-item span{
  display:block;
  font-size:12px;
  color:var(--v6-muted,#6b7d92);
  margin-bottom:5px;
}
.plan-visible-item strong{
  display:block;
  font-size:14px;
  color:var(--v6-text,#17324f);
}
.plan-visible-item.plan-highlight strong{
  color:#07896d;
  font-size:17px;
}
.mobile-plan-visible{
  margin:0 0 14px;
  padding:14px;
  background:var(--v6-panel,#fff);
  border:1px solid var(--v6-line,#dfe5ec);
  border-radius:14px;
}
.mobile-plan-title{
  display:block;
  margin-bottom:10px;
}
@media(max-width:1100px){
  .dashboard-plan-visible-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .dashboard-plan-visible-grid{grid-template-columns:1fr}
}


/* RECIBIDOS - EMISOR ARRIBA A TODO EL ANCHO */
#view-recibidos .rx-head{
  grid-template-columns:160px 210px 180px 150px minmax(420px,1fr)!important;
}

#view-recibidos .rx-row{
  grid-template-columns:160px 210px 180px 150px minmax(420px,1fr)!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  row-gap:14px!important;
}

#view-recibidos .rx-row > .rx-emisor{
  grid-column:1 / -1!important;
  grid-row:1!important;
  padding:14px 18px 12px!important;
  border-bottom:1px solid var(--v6-line,#dfe5ec)!important;
  min-width:0!important;
}

#view-recibidos .rx-row > .rx-date{
  grid-column:1!important;
  grid-row:2!important;
}

#view-recibidos .rx-row > div:nth-child(2){
  grid-column:2!important;
  grid-row:2!important;
}

#view-recibidos .rx-row > div:nth-child(4){
  grid-column:3!important;
  grid-row:2!important;
}

#view-recibidos .rx-row > .rx-total{
  grid-column:4!important;
  grid-row:2!important;
}

#view-recibidos .rx-row > .rx-files{
  grid-column:5!important;
  grid-row:2!important;
}

#view-recibidos .rx-emisor-name{
  display:block!important;
  width:100%!important;
  font-size:16px!important;
  line-height:1.3!important;
  font-weight:800!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

#view-recibidos .rx-emisor-name span{
  display:inline!important;
  margin-right:4px!important;
}

#view-recibidos .rx-emisor small{
  display:block!important;
  margin-top:4px!important;
}




/* EMITIDOS - TABLA FINAL DE SEIS COLUMNAS */

#view-comprobantes .issued-table-panel .table-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
}

#view-comprobantes .issued-table{
  display:table!important;
  width:100%!important;
  min-width:1020px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}

#view-comprobantes .issued-table thead{
  display:table-header-group!important;
}

#view-comprobantes .issued-table tbody{
  display:table-row-group!important;
}

#view-comprobantes .issued-table tr{
  display:table-row!important;
}

#view-comprobantes .issued-table th,
#view-comprobantes .issued-table td{
  display:table-cell!important;
  box-sizing:border-box!important;
  vertical-align:middle!important;
}

#view-comprobantes .issued-table thead th{
  padding:13px 12px!important;
  background:#f4f7fb!important;
  color:#60738d!important;
  border-bottom:1px solid #d8e2ed!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}

#view-comprobantes .issued-table th:nth-child(1){
  width:15%!important;
}

#view-comprobantes .issued-table th:nth-child(2){
  width:19%!important;
}

#view-comprobantes .issued-table th:nth-child(3){
  width:7%!important;
}

#view-comprobantes .issued-table th:nth-child(4){
  width:11%!important;
}

#view-comprobantes .issued-table th:nth-child(5){
  width:14%!important;
}

#view-comprobantes .issued-table th:nth-child(6){
  width:34%!important;
}

/* Cliente a todo el ancho. */
#view-comprobantes .issued-client-row > td{
  padding:0!important;
  background:#f5f8fb!important;
  border-bottom:1px solid #dfe7ef!important;
}

#view-comprobantes .issued-client-banner{
  display:flex!important;
  align-items:baseline!important;
  gap:12px!important;
  width:100%!important;
  padding:11px 16px!important;
  box-sizing:border-box!important;
}

#view-comprobantes .issued-client-banner strong{
  min-width:0!important;
  color:#0b3158!important;
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:850!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

#view-comprobantes .issued-client-banner small{
  flex:0 0 auto!important;
  color:#71839a!important;
  font-size:12px!important;
  white-space:nowrap!important;
}

/* Datos del documento. */
#view-comprobantes .issued-doc-row > td{
  padding:14px 12px!important;
  background:#fff!important;
  border-bottom:1px solid #dfe6ee!important;
  line-height:1.35!important;
}

#view-comprobantes .issued-doc-row:hover > td{
  background:#fbfdff!important;
}

#view-comprobantes .issued-doc-row small{
  display:block!important;
  margin-top:4px!important;
  color:#71839a!important;
  font-size:11px!important;
}

#view-comprobantes .issued-consecutive{
  overflow-wrap:anywhere!important;
}

/* Estado único. */
#view-comprobantes .issued-state-cell{
  white-space:normal!important;
}

#view-comprobantes .issued-status{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:5px 9px!important;
  border:1px solid #d4deea!important;
  border-radius:999px!important;
  background:#f4f7fa!important;
  color:#425b76!important;
  font-size:12px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

#view-comprobantes .issued-status-danger{
  border-color:#efc9c9!important;
  background:#fff1f1!important;
  color:#a62e2e!important;
}

#view-comprobantes .issued-status-info{
  border-color:#c9d9ee!important;
  background:#eef5ff!important;
  color:#285989!important;
}

/* Acciones agrupadas. */
#view-comprobantes .issued-actions-cell{
  padding-left:8px!important;
  padding-right:8px!important;
}

#view-comprobantes .issued-actions{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}

#view-comprobantes .issued-action-btn{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  width:auto!important;
  min-width:66px!important;
  min-height:38px!important;
  margin:0!important;
  padding:8px 10px!important;
  border:1px solid #c9d7e6!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#123b67!important;
  box-shadow:none!important;
  font:800 12px/1.1 inherit!important;
  white-space:nowrap!important;
  word-break:normal!important;
  cursor:pointer!important;
  list-style:none!important;
  box-sizing:border-box!important;
}

#view-comprobantes .issued-action-btn::-webkit-details-marker{
  display:none!important;
}

#view-comprobantes .issued-action-btn:hover{
  border-color:#7798bd!important;
  background:#f2f7fc!important;
}

#view-comprobantes .note-action{
  min-width:106px!important;
}

#view-comprobantes .danger-action{
  min-width:76px!important;
  border-color:#e4aaaa!important;
  background:#fff7f7!important;
  color:#a42d2d!important;
}

#view-comprobantes .pdf-action{
  min-width:60px!important;
}

#view-comprobantes .more-action{
  min-width:68px!important;
}

#view-comprobantes .issued-note-menu,
#view-comprobantes .issued-more-menu{
  position:relative!important;
  display:inline-block!important;
  flex:0 0 auto!important;
}

#view-comprobantes .issued-note-options{
  min-width:190px!important;
}

#view-comprobantes .row-menu-pop{
  z-index:100!important;
  border:1px solid #d4dfeb!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:0 14px 34px rgba(18,48,82,.16)!important;
  overflow:hidden!important;
}

#view-comprobantes .row-menu-pop button{
  width:100%!important;
  min-height:39px!important;
  padding:9px 12px!important;
  border:0!important;
  border-bottom:1px solid #e8edf3!important;
  border-radius:0!important;
  background:#fff!important;
  color:#173b62!important;
  text-align:left!important;
  white-space:normal!important;
}

#view-comprobantes .row-menu-pop button:last-child{
  border-bottom:0!important;
}

#view-comprobantes .row-menu-pop button:hover{
  background:#f3f7fb!important;
}

@media(max-width:700px){
  #view-comprobantes .issued-client-banner{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:3px!important;
  }
}

/* FIN EMITIDOS - TABLA FINAL DE SEIS COLUMNAS */

/* USUARIOS EMPRESA - ACCIONES RESPONSIVE */

/* Tabla identificada por la acción Nueva clave. */
table:has(button[onclick*="resetUsuario"]){
  width:100%!important;
  min-width:1180px!important;
  table-layout:auto!important;
}

/* Nombre */
table:has(button[onclick*="resetUsuario"]) th:nth-child(1),
table:has(button[onclick*="resetUsuario"]) td:nth-child(1){
  min-width:155px!important;
}

/* Cédula y botón Cambiar */
table:has(button[onclick*="resetUsuario"]) th:nth-child(2),
table:has(button[onclick*="resetUsuario"]) td:nth-child(2){
  min-width:175px!important;
  white-space:nowrap!important;
}

table:has(button[onclick*="resetUsuario"]) td:nth-child(2) button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:92px!important;
  min-height:38px!important;
  margin-left:10px!important;
  padding:8px 13px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* Correo */
table:has(button[onclick*="resetUsuario"]) th:nth-child(3),
table:has(button[onclick*="resetUsuario"]) td:nth-child(3){
  min-width:190px!important;
}

/* Rol */
table:has(button[onclick*="resetUsuario"]) th:nth-child(4),
table:has(button[onclick*="resetUsuario"]) td:nth-child(4){
  min-width:185px!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Estado */
table:has(button[onclick*="resetUsuario"]) th:nth-child(5),
table:has(button[onclick*="resetUsuario"]) td:nth-child(5){
  min-width:115px!important;
  white-space:nowrap!important;
}

/* Acciones */
table:has(button[onclick*="resetUsuario"]) th:last-child,
table:has(button[onclick*="resetUsuario"]) td:last-child{
  width:400px!important;
  min-width:400px!important;
}

.row-actions:has(button[onclick*="resetUsuario"]){
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}

.row-actions:has(button[onclick*="resetUsuario"]) > button{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:110px!important;
  min-height:38px!important;
  padding:8px 14px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  text-align:center!important;
}

/* Desplazamiento horizontal seguro cuando la pantalla no alcanza. */
.table-wrap:has(table button[onclick*="resetUsuario"]),
.table-responsive:has(table button[onclick*="resetUsuario"]){
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:900px){
  table:has(button[onclick*="resetUsuario"]){
    min-width:1040px!important;
  }

  table:has(button[onclick*="resetUsuario"]) th:last-child,
  table:has(button[onclick*="resetUsuario"]) td:last-child{
    width:300px!important;
    min-width:300px!important;
  }

  .row-actions:has(button[onclick*="resetUsuario"]){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(125px,1fr))!important;
    gap:8px!important;
  }

  .row-actions:has(button[onclick*="resetUsuario"]) > button{
    width:100%!important;
    min-width:0!important;
  }
}

@media(max-width:480px){
  .row-actions:has(button[onclick*="resetUsuario"]){
    grid-template-columns:1fr!important;
  }
}

/* FIN USUARIOS EMPRESA - ACCIONES RESPONSIVE */

/* PANEL PLANES Y SUSCRIPCIONES ORGANIZADO */

/* Contenedor principal: catálogo arriba y asignación debajo. */
#view-saas .panel:has(#planesList) > .grid2{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:26px!important;
  align-items:start!important;
  margin-top:22px!important;
}

/* Sección del catálogo. */
#view-saas .panel:has(#planesList) > .grid2 > div:has(#planesList){
  min-width:0!important;
}

#view-saas .panel:has(#planesList) h4{
  margin:0 0 14px!important;
  color:#102d4f!important;
  font-size:18px!important;
  line-height:1.25!important;
}

/* Planes en una cuadrícula equilibrada. */
#view-saas #planesList{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(190px,1fr))!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
}

#view-saas #planesList > *{
  min-width:0!important;
  height:100%!important;
  padding:16px!important;
  border-radius:12px!important;
}

/* Tarjeta independiente para asignar o renovar. */
#view-saas .panel:has(#planesList) > .grid2 > div:has(#susEmpresa){
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  column-gap:20px!important;
  row-gap:16px!important;
  align-items:end!important;
  width:100%!important;
  min-width:0!important;
  padding:20px!important;
  border:1px solid #d9e3ee!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#f8fbff 0%,#f5f8fc 100%)!important;
  box-shadow:0 6px 18px rgba(20,52,88,.06)!important;
  box-sizing:border-box!important;
}

#view-saas .panel:has(#planesList) > .grid2 > div:has(#susEmpresa) > h4{
  grid-column:1 / -1!important;
  margin:0!important;
  padding-bottom:12px!important;
  border-bottom:1px solid #dfe7f0!important;
}

/* Formulario en dos filas de tres campos. */
#view-saas .panel:has(#planesList) .form-grid:has(#susEmpresa){
  grid-column:1!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-template-rows:auto auto!important;
  gap:14px 16px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
}

/* Primera fila: empresa, plan y modo. */
#view-saas .form-grid:has(#susEmpresa) label:has(#susEmpresa){
  grid-column:1!important;
  grid-row:1!important;
}

#view-saas .form-grid:has(#susEmpresa) label:has(#susPlan){
  grid-column:2!important;
  grid-row:1!important;
}

#view-saas .form-grid:has(#susEmpresa) label:has(#susModo){
  grid-column:3!important;
  grid-row:1!important;
}

/* Segunda fila: inicio, fin y documentos. */
#view-saas .form-grid:has(#susEmpresa) label:has(#susInicio){
  grid-column:1!important;
  grid-row:2!important;
}

#view-saas .form-grid:has(#susEmpresa) label:has(#susFin){
  grid-column:2!important;
  grid-row:2!important;
}

#view-saas .form-grid:has(#susEmpresa) label:has(#susCantidad){
  grid-column:3!important;
  grid-row:2!important;
}

#view-saas .form-grid:has(#susEmpresa) label{
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  font-weight:750!important;
  color:#173554!important;
}

#view-saas .form-grid:has(#susEmpresa) input,
#view-saas .form-grid:has(#susEmpresa) select{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:48px!important;
  box-sizing:border-box!important;
}

/* Botón alineado a la derecha de la tarjeta. */
#view-saas .panel:has(#planesList)
  > .grid2
  > div:has(#susEmpresa)
  > button[onclick*="asignarPlan"]{
  grid-column:2!important;
  align-self:end!important;
  width:auto!important;
  min-width:190px!important;
  min-height:48px!important;
  padding:11px 18px!important;
  white-space:nowrap!important;
}

/* Tabletas. */
@media(max-width:1150px){
  #view-saas #planesList{
    grid-template-columns:repeat(3,minmax(190px,1fr))!important;
  }

  #view-saas .panel:has(#planesList) > .grid2 > div:has(#susEmpresa){
    grid-template-columns:minmax(0,1fr)!important;
  }

  #view-saas .panel:has(#planesList)
    > .grid2
    > div:has(#susEmpresa)
    > button[onclick*="asignarPlan"]{
    grid-column:1!important;
    justify-self:end!important;
  }
}

/* Pantallas medianas. */
@media(max-width:820px){
  #view-saas #planesList{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #view-saas .panel:has(#planesList) .form-grid:has(#susEmpresa){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:auto!important;
  }

  #view-saas .form-grid:has(#susEmpresa) label{
    grid-column:auto!important;
    grid-row:auto!important;
  }
}

/* Teléfonos. */
@media(max-width:560px){
  #view-saas #planesList{
    grid-template-columns:1fr!important;
  }

  #view-saas .panel:has(#planesList) > .grid2 > div:has(#susEmpresa){
    padding:16px!important;
  }

  #view-saas .panel:has(#planesList) .form-grid:has(#susEmpresa){
    grid-template-columns:1fr!important;
  }

  #view-saas .panel:has(#planesList)
    > .grid2
    > div:has(#susEmpresa)
    > button[onclick*="asignarPlan"]{
    width:100%!important;
    min-width:0!important;
    justify-self:stretch!important;
  }
}

/* FIN PANEL PLANES Y SUSCRIPCIONES ORGANIZADO */

/* BITACORA SIN COMPARACION DE COMPETENCIA */

/* El tercer resumen correspondía a Ahorro vs. competencia. */
#view-saas #bitacoraPlanesResumen > :nth-child(3){
  display:none!important;
}

#view-saas #bitacoraPlanesResumen{
  grid-template-columns:repeat(2,minmax(220px,1fr))!important;
}

/* Tabla final:
   Fecha | Empresa | Identificación | Plan |
   Precio TRICONTA | Vigencia | Estado
*/
#view-saas .bitacora-planes-table{
  width:100%!important;
  min-width:980px!important;
  table-layout:auto!important;
}

#view-saas .bitacora-planes-table th,
#view-saas .bitacora-planes-table td{
  width:auto!important;
  padding:13px 14px!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
}

#view-saas .bitacora-planes-table th:nth-child(1),
#view-saas .bitacora-planes-table td:nth-child(1){
  min-width:135px!important;
}

#view-saas .bitacora-planes-table th:nth-child(2),
#view-saas .bitacora-planes-table td:nth-child(2){
  min-width:240px!important;
  white-space:normal!important;
}

#view-saas .bitacora-planes-table th:nth-child(3),
#view-saas .bitacora-planes-table td:nth-child(3){
  min-width:145px!important;
}

#view-saas .bitacora-planes-table th:nth-child(4),
#view-saas .bitacora-planes-table td:nth-child(4){
  min-width:120px!important;
}

#view-saas .bitacora-planes-table th:nth-child(5),
#view-saas .bitacora-planes-table td:nth-child(5){
  min-width:165px!important;
  text-align:right!important;
}

#view-saas .bitacora-planes-table th:nth-child(6),
#view-saas .bitacora-planes-table td:nth-child(6){
  min-width:210px!important;
  text-align:left!important;
}

#view-saas .bitacora-planes-table th:nth-child(7),
#view-saas .bitacora-planes-table td:nth-child(7){
  min-width:100px!important;
  text-align:center!important;
}

#view-saas .table-wrap:has(.bitacora-planes-table){
  max-width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}

@media(max-width:650px){
  #view-saas #bitacoraPlanesResumen{
    grid-template-columns:1fr!important;
  }
}

/* FIN BITACORA SIN COMPARACION DE COMPETENCIA */


/* PDF-NUEVOS-FORMATOS */
.pdf-mini.ticket_moderno{
  background:linear-gradient(180deg,#ffffff 0%,#f5f8fb 100%);
  border:1px dashed #7890aa;
  border-radius:5px;
  max-width:66px;
  margin-inline:auto
}
.pdf-mini.ticket_moderno i:first-child{
  background:#0b284d
}
.pdf-mini.ticket_moderno i:nth-child(2){
  background:#18a58f
}
.pdf-mini.factura_moderna{
  background:linear-gradient(145deg,#08264a 0 30%,#f4f8fb 30% 100%);
  border:1px solid #b9c9da
}
.pdf-mini.factura_moderna i:first-child{
  background:#18a58f
}
.pdf-mini.factura_moderna i:nth-child(2),
.pdf-mini.factura_moderna i:nth-child(3){
  background:#d8e3ed
}

/* BUSCADOR GLOBAL - COMPROBANTES RECIBIDOS */
#view-recibidos .received-search-bar{
  display:grid;
  grid-template-columns:minmax(320px,1fr) auto auto;
  align-items:end;
  gap:12px;
  margin:18px 0 14px;
  padding:14px;
  border:1px solid #dfe7ef;
  border-radius:12px;
  background:#f8fafc;
}

#view-recibidos .received-search-main{
  min-width:0;
}

#view-recibidos .received-search-main input{
  width:100%;
  margin-top:6px;
}

#view-recibidos #recibidosSearchCount{
  align-self:center;
  white-space:nowrap;
}

@media(max-width:760px){
  #view-recibidos .received-search-bar{
    grid-template-columns:1fr;
  }

  #view-recibidos #recibidosSearchCount{
    white-space:normal;
  }
}


/* =========================================================
   TRICONTA - ADAPTACION GLOBAL A RESOLUCIONES
   Evita comprimir botones y reorganiza acciones.
   ========================================================= */

html, body{
  max-width:100%;
  overflow-x:hidden;
}

.view,
.panel,
.panel-head,
.form-grid,
.grid2,
.row-actions,
.actions{
  min-width:0;
  box-sizing:border-box;
}

/* Los botones conservan legibilidad. */
.btn,
button.btn,
.row-actions > button,
.actions > button{
  min-height:38px;
  line-height:1.2;
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  box-sizing:border-box;
}

/* Escritorio mediano / laptop pequeña. */
@media(max-width:1280px){

  .panel-head{
    flex-wrap:wrap;
    gap:12px;
  }

  .panel-head > .row-actions,
  .panel-head > .actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .row-actions,
  .actions{
    flex-wrap:wrap;
  }

  .row-actions > .btn,
  .actions > .btn{
    flex:0 0 auto;
  }
}

/* Laptop pequeña y tablet horizontal. */
@media(max-width:1050px){

  .panel-head{
    align-items:flex-start;
  }

  .panel-head > div:first-child{
    flex:1 1 100%;
    min-width:0;
  }

  .panel-head > .row-actions,
  .panel-head > .actions{
    flex:1 1 100%;
    justify-content:flex-start;
  }

  .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .grid2{
    grid-template-columns:1fr;
  }

  /* Las tablas grandes conservan tamaño útil y desplazan solo la tabla. */
  .table-wrap,
  .table-responsive{
    width:100%;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }

  table{
    max-width:none;
  }
}

/* Tablet / pantallas angostas. */
@media(max-width:820px){

  .row-actions,
  .actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(130px,1fr));
    gap:8px;
    width:100%;
  }

  .row-actions > .btn,
  .actions > .btn{
    width:100%;
    min-width:0;
    justify-content:center;
  }

  .form-grid{
    grid-template-columns:1fr;
  }

  .span2{
    grid-column:auto!important;
  }

  /* No forzar botones diminutos dentro de cabeceras. */
  .panel-head .btn{
    min-width:120px;
  }
}

/* Teléfono / ventanas muy estrechas. */
@media(max-width:560px){

  .row-actions,
  .actions{
    grid-template-columns:1fr;
  }

  .row-actions > .btn,
  .actions > .btn,
  .panel-head .btn{
    width:100%;
    min-width:0;
  }

  .panel{
    max-width:100%;
    overflow:hidden;
  }

  input,
  select,
  textarea{
    max-width:100%;
    min-width:0;
    box-sizing:border-box;
  }
}

/* =========================================================
   EXCEPCIONES PARA TABLAS CON ACCIONES
   Mantiene botones completos y usa scroll en vez de aplastar.
   ========================================================= */

#view-clientes .table-wrap,
#view-comprobantes .table-wrap,
#view-recibidos .table-wrap,
#view-saas .table-wrap,
.table-wrap:has(table button[onclick*="resetUsuario"]){
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
}

/* Usuarios: respetar el ajuste ya aprobado. */
.row-actions:has(button[onclick*="resetUsuario"]) > button{
  white-space:nowrap!important;
  word-break:keep-all!important;
}

/* Emitidos: acciones pueden bajar de línea antes de comprimirse. */
@media(max-width:1180px){
  #view-comprobantes .issued-doc-row .row-actions,
  #view-comprobantes .issued-doc-row .actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px!important;
  }

  #view-comprobantes .issued-doc-row .btn{
    flex:0 0 auto!important;
    min-width:90px!important;
  }
}

/* Clientes: en resolución menor, conservar botones y desplazar tabla. */
@media(max-width:1100px){
  #view-clientes td:last-child .row-actions{
    flex-wrap:wrap!important;
  }
}

/* Recepción: los archivos pueden pasar a segunda línea sin deformarse. */
@media(max-width:1100px){
  #view-recibidos .rx-files,
  #view-recibidos .received-file-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:6px!important;
    white-space:normal!important;
  }
}

/* FIN ADAPTACION GLOBAL */

/* =========================================================
   FACTURA MOVIL - SALIR SIEMPRE VISIBLE
   ========================================================= */

@media(max-width:1100px){

  body.invoice-mobile-mode .header-account{
    display:grid!important;
    grid-template-columns:auto auto auto!important;
    grid-template-areas:
      "avatar switch logout"
      "company company company"!important;
    align-items:center!important;
    justify-content:end!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }

  body.invoice-mobile-mode #userAvatar{
    grid-area:avatar!important;
  }

  body.invoice-mobile-mode #experienceSwitchBtn{
    grid-area:switch!important;
  }

  

  body.invoice-mobile-mode #companySwitchWrap{
    grid-area:company!important;
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
}

@media(max-width:560px){

  body.invoice-mobile-mode .header-account{
    grid-template-columns:1fr auto!important;
    grid-template-areas:
      "switch logout"
      "company company"!important;
  }

  body.invoice-mobile-mode #userAvatar,
  body.invoice-mobile-mode .header-user-copy,
  body.invoice-mobile-mode #themeToggleBtn,
  body.invoice-mobile-mode .header-notification,
  body.invoice-mobile-mode #sidebarToggleBtn,
  body.invoice-mobile-mode #mobileMenuBtn,
  body.invoice-mobile-mode #envBadge{
    display:none!important;
  }

  
}

/* FIN SALIR MOVIL */



/* =========================================================
   TRICONTA - EXPORTACIONES VISUALES
   Emitidos + recibidos
   ========================================================= */

#panelDescargasEmitidos,
#panelDescargasRecibidos{
  position:relative!important;
  border:1px solid #d8e5f1!important;
  border-radius:16px!important;
  padding:18px!important;
  background:
    linear-gradient(135deg,rgba(246,250,255,.98),rgba(252,254,255,.98))!important;
  box-shadow:
    0 7px 22px rgba(22,55,88,.07),
    inset 0 1px 0 rgba(255,255,255,.9)!important;
}

/* Línea decorativa superior */
#panelDescargasEmitidos::before,
#panelDescargasRecibidos::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:18px!important;
  right:18px!important;
  height:3px!important;
  border-radius:0 0 6px 6px!important;
  background:linear-gradient(90deg,#159a8c,#4b75d6,#9b6bc9)!important;
}

/* Títulos */
#panelDescargasEmitidos strong,
#panelDescargasRecibidos h4{
  font-size:16px!important;
  font-weight:850!important;
  color:#163b61!important;
}

#panelDescargasEmitidos .hint,
#panelDescargasRecibidos .hint{
  margin-top:4px!important;
  color:#71839a!important;
}

/* Botones */
#panelDescargasEmitidos .btn,
#panelDescargasRecibidos .btn{
  border-radius:11px!important;
  min-height:44px!important;
  padding:9px 14px!important;
  border:1px solid #ccd9e7!important;
  background:#fff!important;
  color:#183d63!important;
  box-shadow:0 3px 9px rgba(24,61,99,.06)!important;
  transition:
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease!important;
}

#panelDescargasEmitidos .btn:hover,
#panelDescargasRecibidos .btn:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 7px 15px rgba(24,61,99,.11)!important;
  border-color:#9db4cc!important;
}

/* Excel */
#panelDescargasEmitidos #reportExcelProfesional,
#panelDescargasRecibidos button[onclick*="descargarRecibidosExcel"]{
  background:#edf9f2!important;
  border-color:#b8dfc8!important;
  color:#176b43!important;
}

/* XML */
#panelDescargasEmitidos button[onclick*="descargarXmlEmitidos"],
#panelDescargasRecibidos button[onclick*="descargarRecibidosPeriodo"]{
  background:#eef5ff!important;
  border-color:#bdd2ef!important;
  color:#285b93!important;
}

/* PDF */
#panelDescargasEmitidos #reportPdfVentasMes,
#panelDescargasRecibidos button[onclick*="descargarRecibidosPdf"]{
  background:#fff1f2!important;
  border-color:#efc7cc!important;
  color:#9b3540!important;
}

/* Campos de filtros */
#panelDescargasEmitidos label,
#panelDescargasRecibidos label{
  border-radius:11px!important;
}

#panelDescargasEmitidos .compact-report-month,
#panelDescargasRecibidos .form-grid label{
  padding:9px 11px!important;
  background:#ffffff!important;
  border:1px solid #d7e3ef!important;
  box-shadow:0 2px 6px rgba(25,54,84,.04)!important;
}

#panelDescargasEmitidos input,
#panelDescargasEmitidos select,
#panelDescargasRecibidos input,
#panelDescargasRecibidos select{
  border-radius:8px!important;
  background:#fbfdff!important;
}

/* Estado XML destacado */
#docXmlEstado{
  border-color:#a8d7c0!important;
  background:#f0faf5!important;
}

/* Recibidos: acciones mejor distribuidas */
#panelDescargasRecibidos + .form-grid,
#panelDescargasRecibidos ~ .form-grid{
  gap:12px!important;
}

#view-recibidos .received-tools .actions{
  gap:10px!important;
  flex-wrap:wrap!important;
}

/* Oscuro */
html[data-theme="dark"] #panelDescargasEmitidos,
html[data-theme="dark"] #panelDescargasRecibidos{
  background:linear-gradient(135deg,#101d31,#142238)!important;
  border-color:#2c405b!important;
  box-shadow:0 8px 24px rgba(0,0,0,.28)!important;
}

html[data-theme="dark"] #panelDescargasEmitidos strong,
html[data-theme="dark"] #panelDescargasRecibidos h4{
  color:#edf5ff!important;
}

html[data-theme="dark"] #panelDescargasEmitidos .compact-report-month,
html[data-theme="dark"] #panelDescargasRecibidos .form-grid label{
  background:#16253a!important;
  border-color:#34475f!important;
}

/* Responsive */
@media(max-width:900px){

  #panelDescargasEmitidos,
  #panelDescargasRecibidos{
    padding:15px!important;
  }

  #panelDescargasEmitidos .row-actions,
  #view-recibidos .received-tools .actions{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
  }

  #panelDescargasEmitidos .btn,
  #view-recibidos .received-tools .actions .btn{
    width:100%!important;
    white-space:normal!important;
  }
}

@media(max-width:560px){

  #panelDescargasEmitidos .row-actions,
  #view-recibidos .received-tools .actions{
    grid-template-columns:1fr!important;
  }
}

/* FIN EXPORTACIONES VISUALES */

/* FIX DEFINITIVO - columnas actuales Factura movil V3
   1 Producto
   2 Cantidad
   3 Precio unitario
   4 Descuento
   5 IVA
   6 Total
   7 Acciones
*/
@media(max-width:760px){

  #view-emitir table.lines.lines-v3 td:nth-child(1):before{
    content:"Producto / descripción"!important;
  }

  #view-emitir table.lines.lines-v3 td:nth-child(2):before{
    content:"Cantidad"!important;
  }

  #view-emitir table.lines.lines-v3 td:nth-child(3):before{
    content:"Precio unitario"!important;
  }

  #view-emitir table.lines.lines-v3 td:nth-child(4):before{
    content:"Descuento"!important;
  }

  #view-emitir table.lines.lines-v3 td:nth-child(5):before{
    content:"IVA / Exoneración"!important;
  }

  #view-emitir table.lines.lines-v3 td:nth-child(6):before{
    content:"Total de la línea"!important;
  }

  #view-emitir table.lines.lines-v3 td:nth-child(7):before{
    content:"Acciones"!important;
  }

  #view-emitir table.lines.lines-v3 td:nth-child(6){
    padding:12px 0!important;
    background:#f7fbfd;
    border-radius:9px;
    margin:4px 0;
  }
}



/* =========================================================
   TRICONTA FE - SELECTOR SIMPLE PARA FACTURA MOVIL
   Nombre + precio + cantidad, sin desplazamiento horizontal
   ========================================================= */

body.invoice-mobile-mode #lineCabysOfficialWrap{
  display:none!important;
}

body.invoice-mobile-mode .line-product-dialog-tools{
  grid-template-columns:1fr!important;
}

body.invoice-mobile-mode .line-product-dialog-tools>.btn{
  width:100%!important;
}

body.invoice-mobile-mode .line-product-results{
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
}

body.invoice-mobile-mode .mobile-product-selector-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
}

body.invoice-mobile-mode .mobile-product-selector-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  padding:14px!important;
  border:1px solid #d8e3ef!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
}

body.invoice-mobile-mode .mobile-product-selector-name{
  display:block!important;
  width:100%!important;
  font-size:17px!important;
  line-height:1.3!important;
  color:#132f50!important;
  overflow-wrap:anywhere!important;
}

body.invoice-mobile-mode .mobile-product-selector-price,
body.invoice-mobile-mode .mobile-product-selector-qty{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  width:100%!important;
}

body.invoice-mobile-mode .mobile-product-selector-price span,
body.invoice-mobile-mode .mobile-product-selector-qty span{
  font-size:11px!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  color:#6a7d92!important;
}

body.invoice-mobile-mode .mobile-product-selector-price b{
  font-size:19px!important;
  color:#087b68!important;
}

body.invoice-mobile-mode .mobile-product-selector-qty input{
  width:100%!important;
  max-width:100%!important;
  min-height:46px!important;
  box-sizing:border-box!important;
  font-size:18px!important;
  font-weight:800!important;
  text-align:center!important;
}

body.invoice-mobile-mode .mobile-product-selector-add{
  width:100%!important;
  min-height:48px!important;
  font-size:16px!important;
  font-weight:850!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-product-selector-card{
  background:var(--v8-surface,#111d31)!important;
  border-color:var(--v8-border,#2a3a55)!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-product-selector-name{
  color:var(--v8-text,#f5f8ff)!important;
}

@media(max-width:760px){
  body.invoice-mobile-mode .line-product-dialog,
  body.invoice-mobile-mode .line-product-dialog .dialog-card.wide{
    width:calc(100vw - 8px)!important;
    max-width:calc(100vw - 8px)!important;
  }

  body.invoice-mobile-mode .line-product-dialog .dialog-card.wide{
    overflow-y:auto!important;
    overflow-x:hidden!important;
  }
}

/* FIN SELECTOR SIMPLE FACTURA MOVIL */


/* =========================================================
   TRICONTA FE - PLAN COMPACTO FACTURA MOVIL
   ========================================================= */

body.invoice-mobile-mode #mobilePlanEstadoVisible{
  margin:14px 8px 4px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.invoice-mobile-mode .mobile-plan-compact-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}

body.invoice-mobile-mode .mobile-plan-chip{
  min-width:0!important;
  padding:10px 11px!important;
  border:1px solid #dbe5ef!important;
  border-radius:12px!important;
  background:#f8fbfd!important;
}

body.invoice-mobile-mode .mobile-plan-chip span{
  display:block!important;
  margin-bottom:4px!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  color:#708197!important;
}

body.invoice-mobile-mode .mobile-plan-chip strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.25!important;
  color:#163651!important;
  overflow-wrap:anywhere!important;
}

body.invoice-mobile-mode .mobile-plan-chip.available{
  background:#effaf6!important;
  border-color:#bfe7d9!important;
}

body.invoice-mobile-mode .mobile-plan-chip.available strong{
  color:#087b68!important;
}

body.invoice-mobile-mode .mobile-plan-chip.expiry{
  background:#f3f6ff!important;
  border-color:#d6def8!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-plan-chip{
  background:#111d31!important;
  border-color:#2a3a55!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-plan-chip span{
  color:#95a6bc!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-plan-chip strong{
  color:#f5f8ff!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-plan-chip.available{
  background:#102821!important;
  border-color:#286653!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-plan-chip.available strong{
  color:#6ee0c3!important;
}

/* FIN PLAN COMPACTO FACTURA MOVIL */

/* =========================================================
   TRICONTA FE - LIMPIEZA FACTURA MOVIL SIMPLE
   ========================================================= */

/* Ya no se necesitan botones para cambiar entre Emitir,
   Consultar o volver al menu: el logo lleva al inicio. */
body.invoice-mobile-mode .mobile-mode-page-actions{
  display:none!important;
}

/* Quitar guia 1 Cliente / 2 Detalle / 3 Enviar. */
body.invoice-mobile-mode #view-emitir .mobile-invoice-guide{
  display:none!important;
}

/* Quitar Nuevo comprobante, texto de consecutivos y badge del plan.
   Se conserva todo el formulario que viene debajo. */
body.invoice-mobile-mode #view-emitir .emit-main-card > .panel-head{
  display:none!important;
}

/* Reducir espacio sobrante al comenzar el formulario. */
body.invoice-mobile-mode #view-emitir .emit-main-card{
  padding-top:14px!important;
}

/* FIN LIMPIEZA FACTURA MOVIL SIMPLE */

/* =========================================================
   TRICONTA FE - CONSULTA MOVIL SIN FILTROS
   Consulta rapida: mostrar directamente los comprobantes
   ========================================================= */

/* Quitar navegacion redundante entre Emitir y Consultar */
body.invoice-mobile-mode #view-emitir .mobile-mode-page-actions,
body.invoice-mobile-mode #view-comprobantes .mobile-mode-page-actions{
  display:none!important;
}

/* Refuerzo: ocultar botones directos entre ambas pantallas */
body.invoice-mobile-mode #view-emitir button[onclick*="showView('comprobantes')"],
body.invoice-mobile-mode #view-comprobantes button[onclick*="showView('emitir')"]{
  display:none!important;
}

/* Quitar busqueda por cliente, fechas y boton Limpiar */
body.invoice-mobile-mode #view-comprobantes .issued-search-bar{
  display:none!important;
}

/* Quitar cualquier bloque de filtros avanzados */
body.invoice-mobile-mode #view-comprobantes .issued-advanced{
  display:none!important;
}

/* Evitar espacios sobrantes donde estaban los filtros */
body.invoice-mobile-mode #view-comprobantes .issued-head-panel{
  padding-bottom:12px!important;
}

/* FIN CONSULTA MOVIL SIN FILTROS */

/* =========================================================
   TRICONTA FE - QUITAR EDITAR CLIENTE MOVIL
   ========================================================= */

body.invoice-mobile-mode #view-emitir
.client-actions button[onclick*="editarClienteDesdeFactura"]{
  display:none!important;
}

/* FIN QUITAR EDITAR CLIENTE MOVIL */

/* =========================================================
   TRICONTA FE - QUITAR EMPRESA DUPLICADA MOVIL
   ========================================================= */

body.invoice-mobile-mode #view-emitir .emit-company-card{
  display:none!important;
}

/* FIN QUITAR EMPRESA DUPLICADA MOVIL */

/* =========================================================
   TRICONTA FE - LINEA SIMPLE FACTURA MOVIL
   ========================================================= */

/* Quitar Descuento e IVA / Exoneracion solamente en movil */
body.invoice-mobile-mode #view-emitir
#lineasBody .line-editor-row > td:nth-child(4),
body.invoice-mobile-mode #view-emitir
#lineasBody .line-editor-row > td:nth-child(5){
  display:none!important;
}

/* Total de la linea destacado */
body.invoice-mobile-mode #view-emitir
#lineasBody .line-editor-row > td:nth-child(6){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:10px 0 4px!important;
  padding:16px!important;
  border:2px solid #7483f5!important;
  border-radius:16px!important;
  background:linear-gradient(135deg,#eef3ff,#e9faf6)!important;
  box-shadow:0 5px 16px rgba(33,62,125,.15)!important;
}

/* Titulo grande del total */
body.invoice-mobile-mode #view-emitir
#lineasBody .line-editor-row > td:nth-child(6)::before{
  content:"TOTAL DE LA LINEA"!important;
  display:block!important;
  margin:0 0 7px!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  color:#50647e!important;
}

/* Monto principal */
body.invoice-mobile-mode #view-emitir [id^="lineTotal_"]{
  display:block!important;
  font-size:32px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#244ec8!important;
}

/* IVA debajo del total */
body.invoice-mobile-mode #view-emitir [id^="lineIva_"]{
  display:block!important;
  margin-top:6px!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#63768d!important;
}

/* Tema oscuro */
html[data-theme="dark"] body.invoice-mobile-mode #view-emitir
#lineasBody .line-editor-row > td:nth-child(6){
  background:#172941!important;
  border-color:#7f89ff!important;
  box-shadow:0 5px 18px rgba(0,0,0,.28)!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-emitir
#lineasBody .line-editor-row > td:nth-child(6)::before{
  color:#aebbd0!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-emitir
[id^="lineTotal_"]{
  color:#ffffff!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-emitir
[id^="lineIva_"]{
  color:#a8b7cc!important;
}

/* FIN LINEA SIMPLE FACTURA MOVIL */

/* =========================================================
   TRICONTA FE - ESTILO CARGADOR MOVIL
   ========================================================= */

.triconta-mobile-loader{
  position:fixed;
  inset:0;
  z-index:2147483000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  box-sizing:border-box;
  background:
    linear-gradient(145deg,#061f42 0%,#0a3564 58%,#087f78 140%);
}

.triconta-mobile-loader.show{
  display:flex!important;
}

.triconta-mobile-loader-card{
  width:min(330px,100%);
  padding:28px 24px 25px;
  box-sizing:border-box;
  border-radius:22px;
  background:#ffffff;
  color:#123553;
  text-align:center;
  box-shadow:0 24px 65px rgba(0,0,0,.28);
}

.triconta-mobile-loader-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-bottom:24px;
  font-size:18px;
}

.triconta-mobile-loader-symbol{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#079c87;
  color:white;
  font-size:24px;
  font-weight:900;
}

.triconta-mobile-loader-text{
  margin-bottom:8px;
  font-size:17px;
  font-weight:800;
}

.triconta-mobile-loader-percent{
  margin:5px 0 15px;
  font-size:42px;
  line-height:1;
  font-weight:900;
  color:#254fca;
}

.triconta-mobile-loader-track{
  width:100%;
  height:12px;
  overflow:hidden;
  border-radius:999px;
  background:#e4eaf2;
}

.triconta-mobile-loader-bar{
  width:0;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#079c87,#5264e8);
  transition:width .12s ease;
}

.triconta-mobile-loader-card small{
  display:block;
  margin-top:13px;
  color:#718296;
  font-size:12px;
}

/* FIN ESTILO CARGADOR MOVIL */


/* FIX126: plan documents information visible in web mode */
@media (min-width: 769px) {
  #dashboardPlanEstado {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* FIX126: force plan documents panel visible on web */
@media (min-width: 769px) {
  #dashboardPlanEstado,
  [id="dashboardPlanEstado"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}


/* FIX126: unconditional web plan panel visibility */
@media (min-width: 769px) {
  body #dashboardPlanEstado,
  body #dashboardPlanEstado[hidden],
  body #dashboardPlanEstado[style] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
  }
}

/* FIX-WEB-PLAN-20260905-3: production web plan panel */
@media (min-width: 769px) {
  #dashboardPlanEstado, #dashboardPlanEstado[hidden] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
  }
}


/* =========================================================
   TRICONTA FE - PLAN WEB COMPACTO
   La version web muestra la misma informacion esencial
   que Factura movil.
   ========================================================= */

#view-dashboard .dashboard-plan-visible{
  margin:0 0 18px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

#view-dashboard .dashboard-plan-visible-head{
  display:none!important;
}

#view-dashboard .dashboard-plan-visible-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
}

#view-dashboard .dashboard-plan-chip{
  min-width:0!important;
  padding:10px 11px!important;
  border:1px solid #dbe5ef!important;
  border-radius:12px!important;
  background:#f8fbfd!important;
  box-sizing:border-box!important;
}

#view-dashboard .dashboard-plan-chip span{
  display:block!important;
  margin-bottom:4px!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:800!important;
  text-transform:uppercase!important;
  color:#708197!important;
}

#view-dashboard .dashboard-plan-chip strong{
  display:block!important;
  font-size:14px!important;
  line-height:1.25!important;
  color:#163651!important;
  overflow-wrap:anywhere!important;
}

#view-dashboard .dashboard-plan-chip.available{
  background:#effaf6!important;
  border-color:#bfe7d9!important;
}

#view-dashboard .dashboard-plan-chip.available strong{
  color:#087b68!important;
}

#view-dashboard .dashboard-plan-chip.expiry{
  background:#f3f6ff!important;
  border-color:#d6def8!important;
}

html[data-theme="dark"] #view-dashboard .dashboard-plan-chip{
  background:#111d31!important;
  border-color:#2a3a55!important;
}

html[data-theme="dark"] #view-dashboard .dashboard-plan-chip span{
  color:#95a6bc!important;
}

html[data-theme="dark"] #view-dashboard .dashboard-plan-chip strong{
  color:#f5f8ff!important;
}

html[data-theme="dark"] #view-dashboard .dashboard-plan-chip.available{
  background:#102821!important;
  border-color:#286653!important;
}

html[data-theme="dark"] #view-dashboard .dashboard-plan-chip.available strong{
  color:#6ee0c3!important;
}

@media(max-width:600px){
  #view-dashboard .dashboard-plan-visible-grid{
    grid-template-columns:1fr!important;
  }
}

/* FIN PLAN WEB COMPACTO */


/* =========================================================
   TRICONTA FE - EMPRESA DEBAJO DEL ENCABEZADO
   Reubica visualmente el selector Empresa debajo del
   nombre e identificacion de la empresa activa.
   ========================================================= */

@media(min-width:1081px){

  .app-header-primary{
    grid-template-columns:minmax(255px,330px) minmax(360px,1fr) auto!important;
  }

  .active-company-header{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    min-width:0!important;
    gap:0!important;
  }

  .active-company-header strong{
    width:100%!important;
  }

  .active-company-header small{
    width:100%!important;
  }

  .header-account{
    min-width:0!important;
  }

  .header-account .company-switch{
    position:absolute!important;
    left:0!important;
    top:calc(50% + 18px)!important;
    z-index:450!important;
  }

  .header-account{
    position:relative!important;
  }

  .header-account .company-switch label{
    display:flex!important;
    align-items:center!important;
  }

  .app-header .company-switch select{
    width:230px!important;
    max-width:none!important;
  }

}

/* En pantallas estrechas conserva el comportamiento responsive existente. */
@media(max-width:1080px){

  .app-header .company-switch{
    position:static!important;
  }

}

/* FIN EMPRESA DEBAJO DEL ENCABEZADO */

/* =========================================================
   TRICONTA FE - AJUSTE DEFINITIVO SELECTOR EMPRESA
   El selector queda debajo del nombre e identificacion
   sin montarse sobre el encabezado.
   ========================================================= */

@media(min-width:1081px){

  .app-header-primary{
    position:relative!important;
    min-height:128px!important;
    padding-bottom:22px!important;
  }

  .active-company-header{
    align-self:start!important;
    justify-self:center!important;
    width:100%!important;
    padding-top:4px!important;
    text-align:center!important;
  }

  .active-company-header strong{
    display:block!important;
    width:100%!important;
    line-height:1.2!important;
  }

  .active-company-header small{
    display:block!important;
    width:100%!important;
    line-height:1.2!important;
    margin-top:5px!important;
  }

  .header-account{
    position:static!important;
  }

  .header-account .company-switch{
    position:absolute!important;
    left:50%!important;
    top:77px!important;
    transform:translateX(-50%)!important;
    z-index:450!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    width:auto!important;
    margin:0!important;
    white-space:nowrap!important;
  }

  .app-header .company-switch select{
    width:230px!important;
    max-width:230px!important;
  }

}

/* Tablet y movil: mantener comportamiento responsive existente */
@media(max-width:1080px){

  .app-header-primary{
    min-height:auto!important;
    padding-bottom:10px!important;
  }

  .header-account .company-switch{
    position:static!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    margin:0!important;
  }

}

/* FIN AJUSTE SELECTOR EMPRESA */


/* =========================================================
   TRICONTA FE - COMPROBANTES OSCURO COMPLETO
   Corrige exclusivamente el modulo Comprobantes emitidos
   cuando el tema oscuro esta activo.
   ========================================================= */

html[data-theme="dark"] #view-comprobantes{
  color:#f5f8ff!important;
}

/* Panel principal y panel de filtros */
html[data-theme="dark"] #view-comprobantes .issued-head-panel,
html[data-theme="dark"] #view-comprobantes .issued-table-panel{
  background:#0f1b2d!important;
  border-color:#2a3a55!important;
  color:#f5f8ff!important;
  box-shadow:0 8px 24px rgba(0,0,0,.28)!important;
}

/* Titulos y textos */
html[data-theme="dark"] #view-comprobantes .panel-head h3,
html[data-theme="dark"] #view-comprobantes .panel-head p,
html[data-theme="dark"] #view-comprobantes label,
html[data-theme="dark"] #view-comprobantes .hint{
  color:#dce6f4!important;
}

/* Campos de busqueda, fechas y selectores */
html[data-theme="dark"] #view-comprobantes input,
html[data-theme="dark"] #view-comprobantes select{
  background:#142238!important;
  color:#f5f8ff!important;
  border-color:#344b68!important;
}

html[data-theme="dark"] #view-comprobantes input::placeholder{
  color:#94a7bd!important;
}

html[data-theme="dark"] #view-comprobantes input:focus,
html[data-theme="dark"] #view-comprobantes select:focus{
  border-color:#6f86ff!important;
  box-shadow:0 0 0 3px rgba(111,134,255,.16)!important;
}

/* Tabla completa */
html[data-theme="dark"] #view-comprobantes table{
  background:#101d31!important;
  color:#f5f8ff!important;
  border-color:#2a3a55!important;
}

/* Encabezado de tabla */
html[data-theme="dark"] #view-comprobantes table thead,
html[data-theme="dark"] #view-comprobantes table thead tr,
html[data-theme="dark"] #view-comprobantes table thead th{
  background:#18283f!important;
  color:#dce7f5!important;
  border-color:#2f4562!important;
}

/* Filas y celdas */
html[data-theme="dark"] #view-comprobantes table tbody,
html[data-theme="dark"] #view-comprobantes table tbody tr,
html[data-theme="dark"] #view-comprobantes table tbody td{
  background:#101d31!important;
  color:#e9f0f8!important;
  border-color:#2a3a55!important;
}

/* Separacion visual entre comprobantes */
html[data-theme="dark"] #view-comprobantes .issued-doc-row{
  background:#101d31!important;
  border-color:#2a3a55!important;
}

/* Nombre del cliente */
html[data-theme="dark"] #view-comprobantes .issued-doc-row strong,
html[data-theme="dark"] #view-comprobantes .issued-doc-row b{
  color:#f5f8ff!important;
}

/* Texto secundario */
html[data-theme="dark"] #view-comprobantes .issued-doc-row small,
html[data-theme="dark"] #view-comprobantes .issued-doc-row .muted{
  color:#91a5bd!important;
}

/* Consecutivos y datos tecnicos */
html[data-theme="dark"] #view-comprobantes .issued-doc-row .mono{
  color:#a9bbd0!important;
}

/* Botones del modulo */
html[data-theme="dark"] #view-comprobantes .btn{
  background:#15243a!important;
  color:#eaf1f8!important;
  border-color:#3a506d!important;
}

html[data-theme="dark"] #view-comprobantes .btn:hover{
  background:#1c304b!important;
}

html[data-theme="dark"] #view-comprobantes .btn.primary{
  background:#6678f0!important;
  color:#ffffff!important;
  border-color:#6678f0!important;
}

html[data-theme="dark"] #view-comprobantes .btn.primary:hover{
  background:#7889ff!important;
}

/* Boton Ver PDF */
html[data-theme="dark"] #view-comprobantes .issued-doc-row .btn{
  background:#15243a!important;
  color:#f3f7fc!important;
  border-color:#405671!important;
}

/* Estado del comprobante */
html[data-theme="dark"] #view-comprobantes .badge{
  background:#1b2b43!important;
  color:#dce8f5!important;
  border-color:#354b66!important;
}

html[data-theme="dark"] #view-comprobantes .badge.s5{
  background:#103b32!important;
  color:#6ee0c3!important;
  border-color:#286653!important;
}

html[data-theme="dark"] #view-comprobantes .badge.s6,
html[data-theme="dark"] #view-comprobantes .badge.s7{
  background:#472329!important;
  color:#ffaaaa!important;
  border-color:#71363f!important;
}

html[data-theme="dark"] #view-comprobantes .badge.s3,
html[data-theme="dark"] #view-comprobantes .badge.s4{
  background:#493a1d!important;
  color:#f7d98a!important;
  border-color:#715b2d!important;
}

/* Separadores y areas internas */
html[data-theme="dark"] #view-comprobantes hr{
  border-color:#2a3a55!important;
}

html[data-theme="dark"] #view-comprobantes .table-wrap{
  background:#101d31!important;
}

/* FIN COMPROBANTES OSCURO COMPLETO */



/* =========================================================
   TRICONTA FE - CLIENTE MOVIL SIN CONSUMIDOR
   Exclusivamente Factura movil.
   ========================================================= */

/* Ocultar boton Consumidor final */
body.invoice-mobile-mode #view-emitir .client-actions button[onclick*="seleccionarClienteFactura('')"]{
  display:none!important;
}

/* Ocultar opcion Consumidor final del desplegable */
body.invoice-mobile-mode #view-emitir #docClienteResults .consumer{
  display:none!important;
}

/* Cuando no hay cliente seleccionado, el campo queda vacio */
body.invoice-mobile-mode #view-emitir #docClienteSearch{
  color:inherit!important;
}

/* Ocultar la descripcion que invita a usar consumidor final */
body.invoice-mobile-mode #view-emitir #docClienteWrap > small{
  font-size:0!important;
  line-height:0!important;
}

body.invoice-mobile-mode #view-emitir #docClienteWrap > small:after{
  content:"Busque por nombre, cedula o correo."!important;
  font-size:inherit!important;
  line-height:1.4!important;
}

/* FIN CLIENTE MOVIL SIN CONSUMIDOR */


/* =========================================================
   TRICONTA FE - CLIENTE WEB SIN CONSUMIDOR VISUAL
   Misma experiencia que Factura movil.
   Campo vacio = consumidor final internamente.
   ========================================================= */

/* Ocultar boton Consumidor final en WEB y MOVIL */
#view-emitir .client-actions button[onclick*="seleccionarClienteFactura('')"]{
  display:none!important;
}

/* Ocultar opcion Consumidor final del buscador */
#view-emitir #docClienteResults .consumer{
  display:none!important;
}

/* El buscador queda visualmente vacio cuando no hay cliente */
#view-emitir #docClienteSearch{
  color:inherit!important;
}

/* Mantener solo una ayuda sencilla */
#view-emitir #docClienteWrap > small{
  font-size:0!important;
  line-height:0!important;
}

#view-emitir #docClienteWrap > small:after{
  content:"Busque por nombre, cedula o correo."!important;
  font-size:12px!important;
  line-height:1.4!important;
}

/* FIN CLIENTE WEB SIN CONSUMIDOR VISUAL */


/* =========================================================
   TRICONTA FE - CLIENTE WEB SIN CONSUMIDOR VISUAL
   Misma experiencia que Factura movil.
   Campo vacio = consumidor final internamente.
   ========================================================= */

/* Ocultar boton Consumidor final en WEB y MOVIL */
#view-emitir .client-actions button[onclick*="seleccionarClienteFactura('')"]{
  display:none!important;
}

/* Ocultar opcion Consumidor final del buscador */
#view-emitir #docClienteResults .consumer{
  display:none!important;
}

/* El buscador queda visualmente vacio cuando no hay cliente */
#view-emitir #docClienteSearch{
  color:inherit!important;
}

/* Mantener solo una ayuda sencilla */
#view-emitir #docClienteWrap > small{
  font-size:0!important;
  line-height:0!important;
}

#view-emitir #docClienteWrap > small:after{
  content:"Busque por nombre, cedula o correo."!important;
  font-size:12px!important;
  line-height:1.4!important;
}

/* FIN CLIENTE WEB SIN CONSUMIDOR VISUAL */


/* =========================================================
   TRICONTA FE - CLIENTE WEB SIN CONSUMIDOR VISUAL
   Misma experiencia que Factura movil.
   Campo vacio = consumidor final internamente.
   ========================================================= */

/* Ocultar boton Consumidor final en WEB y MOVIL */
#view-emitir .client-actions button[onclick*="seleccionarClienteFactura('')"]{
  display:none!important;
}

/* Ocultar opcion Consumidor final del buscador */
#view-emitir #docClienteResults .consumer{
  display:none!important;
}

/* El buscador queda visualmente vacio cuando no hay cliente */
#view-emitir #docClienteSearch{
  color:inherit!important;
}

/* Mantener solo una ayuda sencilla */
#view-emitir #docClienteWrap > small{
  font-size:0!important;
  line-height:0!important;
}

#view-emitir #docClienteWrap > small:after{
  content:"Busque por nombre, cedula o correo."!important;
  font-size:12px!important;
  line-height:1.4!important;
}

/* FIN CLIENTE WEB SIN CONSUMIDOR VISUAL */


/* =========================================================
   TRICONTA FE - CLIENTE WEB SIN CONSUMIDOR VISUAL
   Misma experiencia que Factura movil.
   Campo vacio = consumidor final internamente.
   ========================================================= */

/* Ocultar boton Consumidor final en WEB y MOVIL */
#view-emitir .client-actions button[onclick*="seleccionarClienteFactura('')"]{
  display:none!important;
}

/* Ocultar opcion Consumidor final del buscador */
#view-emitir #docClienteResults .consumer{
  display:none!important;
}

/* El buscador queda visualmente vacio cuando no hay cliente */
#view-emitir #docClienteSearch{
  color:inherit!important;
}

/* Mantener solo una ayuda sencilla */
#view-emitir #docClienteWrap > small{
  font-size:0!important;
  line-height:0!important;
}

#view-emitir #docClienteWrap > small:after{
  content:"Busque por nombre, cedula o correo."!important;
  font-size:12px!important;
  line-height:1.4!important;
}

/* FIN CLIENTE WEB SIN CONSUMIDOR VISUAL */


/* =========================================================
   TRICONTA FE - BOTON SALIR MOVIL DESTACADO
   Solo Factura movil.
   No modifica la funcion de cerrar sesion.
   ========================================================= */

@media(max-width:1080px){

  body.invoice-mobile-mode .header-account{
    position:relative!important;
  }

  /* Boton Salir */
  body.invoice-mobile-mode .header-account button[onclick*="logout"],
  body.invoice-mobile-mode .header-account button[onclick*="Logout"],
  body.invoice-mobile-mode .header-account button[onclick*="salir"],
  body.invoice-mobile-mode .header-account button[onclick*="Salir"]{
    position:absolute!important;
    right:12px!important;
    top:8px!important;
    z-index:500!important;

    min-width:78px!important;
    min-height:44px!important;
    padding:10px 16px!important;

    border:1px solid #ff6b6b!important;
    border-radius:12px!important;

    background:#c92f3d!important;
    color:#ffffff!important;

    font-size:14px!important;
    font-weight:900!important;

    box-shadow:0 5px 14px rgba(0,0,0,.30)!important;
  }

  body.invoice-mobile-mode .header-account button[onclick*="logout"]:hover,
  body.invoice-mobile-mode .header-account button[onclick*="Logout"]:hover,
  body.invoice-mobile-mode .header-account button[onclick*="salir"]:hover,
  body.invoice-mobile-mode .header-account button[onclick*="Salir"]:hover{
    background:#e04452!important;
  }

}

/* FIN BOTON SALIR MOVIL DESTACADO */



















/* =========================================================
   TRICONTA FE - DOCUMENTOS MOVIL EMITIDOS RECIBIDOS
   Ambos modulos sin buscadores en Factura movil.
   La consulta reutiliza la logica existente.
   ========================================================= */

body.invoice-mobile-mode #view-comprobantes .issued-search,
body.invoice-mobile-mode #view-comprobantes .issued-search-bar,
body.invoice-mobile-mode #view-comprobantes .issued-filters,
body.invoice-mobile-mode #view-comprobantes .search-bar{
  display:none!important;
}

/* Recibidos: ocultar buscador */
body.invoice-mobile-mode #view-recibidos .received-search-bar{
  display:none!important;
}

/* Recibidos: ocultar herramientas de periodo/busqueda */
body.invoice-mobile-mode #view-recibidos .received-tools{
  display:none!important;
}

/* Mantener la lista de documentos ocupando todo el ancho */
body.invoice-mobile-mode #view-recibidos .rx-list,
body.invoice-mobile-mode #view-comprobantes .issued-table-panel{
  width:100%!important;
  max-width:100%!important;
}

/* Menu inferior con cinco accesos */
body.invoice-mobile-mode #mobileBottomNav{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

body.invoice-mobile-mode #mobileBottomNav button small{
  font-size:9px!important;
  line-height:1.1!important;
  white-space:normal!important;
}

body.invoice-mobile-mode #mobileBottomNav .mobile-bottom-icon{
  font-size:18px!important;
}

/* FIN DOCUMENTOS MOVIL EMITIDOS RECIBIDOS */


/* TRICONTA - SALIR ESCRITORIO ESTILO SISTEMA */
@media (min-width:1081px){
  body:not(.invoice-mobile-mode) #logoutBtn{
    position:static!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:62px!important;
    height:42px!important;
    padding:0 14px!important;
    margin:0!important;
    border:1px solid #d8e0eb!important;
    border-radius:12px!important;
    background:#f8fafc!important;
    color:#24364d!important;
    box-shadow:none!important;
    font-size:14px!important;
    font-weight:750!important;
    text-shadow:none!important;
    transform:none!important;
  }

  body:not(.invoice-mobile-mode) #logoutBtn:hover{
    background:#eef3f8!important;
    border-color:#c7d2df!important;
    color:#14263d!important;
    box-shadow:none!important;
    transform:none!important;
  }

  html[data-theme="dark"] body:not(.invoice-mobile-mode) #logoutBtn{
    background:#182335!important;
    border-color:#334155!important;
    color:#e5edf7!important;
  }

  html[data-theme="dark"] body:not(.invoice-mobile-mode) #logoutBtn:hover{
    background:#223047!important;
    border-color:#475569!important;
    color:#ffffff!important;
  }
}
/* FIN SALIR ESCRITORIO ESTILO SISTEMA */

/* =========================================================
   TRICONTA FE - MENU MOVIL VISIBLE
   Corrige la regla anterior que ocultaba mobileBottomNav.
   Solo experiencia Factura movil.
   ========================================================= */

body.invoice-mobile-mode #mobileBottomNav{
  display:grid!important;
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  z-index:99999!important;

  grid-template-columns:repeat(5,minmax(0,1fr))!important;

  padding:6px 4px calc(6px + env(safe-area-inset-bottom))!important;
  box-sizing:border-box!important;

  background:#0f1b2d!important;
  border-top:1px solid #30415b!important;
  box-shadow:0 -6px 18px rgba(0,0,0,.28)!important;
}

body.invoice-mobile-mode #mobileBottomNav button{
  min-width:0!important;
  width:100%!important;
  min-height:58px!important;

  padding:6px 3px!important;

  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;

  background:transparent!important;
  border:0!important;
  color:#dbe7f5!important;
}

body.invoice-mobile-mode #mobileBottomNav button.active{
  background:#183252!important;
  border-radius:10px!important;
}

body.invoice-mobile-mode #mobileBottomNav .mobile-bottom-icon{
  font-size:20px!important;
  line-height:1!important;
}

body.invoice-mobile-mode #mobileBottomNav button small{
  display:block!important;
  font-size:9px!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:normal!important;
}

/* Evita que el contenido quede tapado por el menu */
body.invoice-mobile-mode .main{
  padding-bottom:86px!important;
}

/* FIN MENU MOVIL VISIBLE */


/* TRICONTA - AVATAR USUARIO CIRCULAR DEFINITIVO */
@media (min-width:1081px){

  body:not(.invoice-mobile-mode) #userAvatar{
    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;

    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;

    flex:0 0 42px!important;
    flex-shrink:0!important;
    flex-grow:0!important;

    aspect-ratio:1 / 1!important;
    border-radius:999px!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    padding:0!important;
    margin:0!important;

    line-height:42px!important;
    text-align:center!important;

    font-size:15px!important;
    font-weight:850!important;

    overflow:hidden!important;
    transform:none!important;
  }

}
/* FIN AVATAR USUARIO CIRCULAR DEFINITIVO */


/* =========================================================
   TRICONTA FE - TRES TARJETAS FACTURA MOVIL
   Emitir / Documentos emitidos / Documentos recibidos
   ========================================================= */

body.invoice-mobile-mode .mobile-home-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}

body.invoice-mobile-mode .mobile-home-card{
  min-width:0!important;
  min-height:190px!important;
  width:100%!important;
  padding:28px 24px!important;

  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;
  align-content:center!important;
  align-items:center!important;
  column-gap:18px!important;
  row-gap:7px!important;

  text-align:left!important;
  box-sizing:border-box!important;
}

body.invoice-mobile-mode .mobile-home-card>span{
  grid-row:1 / 3!important;
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:64px!important;
  border-radius:16px!important;
  font-size:30px!important;
}

body.invoice-mobile-mode .mobile-home-card strong{
  min-width:0!important;
  font-size:22px!important;
  line-height:1.15!important;
}

body.invoice-mobile-mode .mobile-home-card small{
  min-width:0!important;
  font-size:14px!important;
  line-height:1.35!important;
}

/* Identidad propia para Documentos recibidos */
body.invoice-mobile-mode .mobile-home-card.received>span{
  background:#173b71!important;
  color:#a8c4ff!important;
}

body.invoice-mobile-mode .mobile-home-card.received{
  border-color:#34567f!important;
}

/* En pantallas pequeñas: una tarjeta debajo de otra */
@media(max-width:760px){
  body.invoice-mobile-mode .mobile-home-actions{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }

  body.invoice-mobile-mode .mobile-home-card{
    min-height:120px!important;
    padding:18px 16px!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    column-gap:13px!important;
  }

  body.invoice-mobile-mode .mobile-home-card>span{
    width:52px!important;
    height:52px!important;
    border-radius:14px!important;
    font-size:24px!important;
  }

  body.invoice-mobile-mode .mobile-home-card strong{
    font-size:19px!important;
  }

  body.invoice-mobile-mode .mobile-home-card small{
    font-size:12px!important;
  }
}

/* FIN TRES TARJETAS FACTURA MOVIL */


/* =========================================================
   TRICONTA FE - DOCUMENTOS RECIBIDOS MOVIL LIMPIO
   Solo experiencia Factura movil.
   La WEB conserva toda su interfaz actual.
   ========================================================= */

/* Ocultar encabezado, botones, explicaciones y configuracion */
body.invoice-mobile-mode #view-recibidos > .panel > .panel-head,
body.invoice-mobile-mode #view-recibidos > .panel > .reference-box,
body.invoice-mobile-mode #view-recibidos > .panel > #correoCentralPanel{
  display:none!important;
}

/* Ocultar cualquier bloque de busqueda/filtros existente */
body.invoice-mobile-mode #view-recibidos .received-search,
body.invoice-mobile-mode #view-recibidos .received-search-bar,
body.invoice-mobile-mode #view-recibidos .received-filters,
body.invoice-mobile-mode #view-recibidos .received-tools,
body.invoice-mobile-mode #view-recibidos .search,
body.invoice-mobile-mode #view-recibidos input[type="search"],
body.invoice-mobile-mode #view-recibidos select{
  display:none!important;
}

/* Ocultar botonera adicional de la vista */
body.invoice-mobile-mode #view-recibidos .row-actions{
  display:none!important;
}

/* Mantener solamente la lista */
body.invoice-mobile-mode #view-recibidos > .panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0!important;
}

body.invoice-mobile-mode #view-recibidos .rx-list,
body.invoice-mobile-mode #view-recibidos .table-wrap{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
}

/* Si la lista usa un contenedor propio */
body.invoice-mobile-mode #view-recibidos #recibidosBody{
  width:100%!important;
}

/* Elimina espacios superiores innecesarios */
body.invoice-mobile-mode #view-recibidos{
  padding-top:0!important;
  margin-top:0!important;
}

/* La navegacion hacia atras queda disponible */
body.invoice-mobile-mode #view-recibidos .mobile-mode-page-actions{
  display:flex!important;
  margin-bottom:10px!important;
}

/* FIN DOCUMENTOS RECIBIDOS MOVIL LIMPIO */


/* =========================================================
   TRICONTA FE - MOVIL SOLO DOCUMENTOS RECIBIDOS
   Solo experiencia Factura movil.
   ========================================================= */

/* Ocultar navegacion adicional del modulo */
body.invoice-mobile-mode #view-recibidos .mobile-mode-page-actions{
  display:none!important;
}

/*
   Dentro del panel de recibidos:
   ocultar TODOS los bloques que no contengan la lista real.
   La lista real se identifica por #recibidosBody.
*/
body.invoice-mobile-mode #view-recibidos > .panel > *:not(:has(#recibidosBody)){
  display:none!important;
}

/* Mantener visible el contenedor de la lista */
body.invoice-mobile-mode #view-recibidos > .panel > *:has(#recibidosBody){
  display:block!important;
}

/* El panel queda limpio */
body.invoice-mobile-mode #view-recibidos > .panel{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* La lista ocupa todo el ancho */
body.invoice-mobile-mode #view-recibidos #recibidosBody{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
}

/* Ocultar controles superiores de la lista si existen */
body.invoice-mobile-mode #view-recibidos #recibidosSearch,
body.invoice-mobile-mode #view-recibidos #recMesReporte,
body.invoice-mobile-mode #view-recibidos .received-search,
body.invoice-mobile-mode #view-recibidos .received-search-bar,
body.invoice-mobile-mode #view-recibidos .received-filters,
body.invoice-mobile-mode #view-recibidos .received-tools{
  display:none!important;
}

/* =========================================================
   ARCHIVOS: EN MOVIL SOLO DEJAR PDF
   Los botones XML/aceptacion se ocultan visualmente.
   ========================================================= */

/* Ocultar acciones que no sean PDF */
body.invoice-mobile-mode #view-recibidos
button:not([onclick*="pdf"]):not([onclick*="Pdf"]):not([onclick*="PDF"]){
  --recibido-accion-no-pdf:1;
}

/* FIN MOVIL SOLO DOCUMENTOS RECIBIDOS */


/* =========================================================
   TRICONTA FE - RECIBIDOS MOVIL SOLO LISTA Y PDF
   Solo Factura movil.
   La version WEB permanece intacta.
   ========================================================= */

/* Ocultar controles superiores completos */
body.invoice-mobile-mode #view-recibidos > .panel > .panel-head{
  display:none!important;
}

body.invoice-mobile-mode #view-recibidos > .panel > .reference-box{
  display:none!important;
}

body.invoice-mobile-mode #view-recibidos > .panel > #correoCentralPanel{
  display:none!important;
}

body.invoice-mobile-mode #view-recibidos > .panel > .received-tools{
  display:none!important;
}

body.invoice-mobile-mode #view-recibidos > .panel > .received-search-bar{
  display:none!important;
}

/* Ocultar cualquier control de busqueda adicional */
body.invoice-mobile-mode #view-recibidos input,
body.invoice-mobile-mode #view-recibidos select{
  display:none!important;
}

/* Mantener SOLO la lista */
body.invoice-mobile-mode #view-recibidos > .panel > .rx-shell{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
}

/* Ocultar bloques auxiliares de la lista */
body.invoice-mobile-mode #view-recibidos .rx-empty{
  display:block!important;
}

/* =========================================================
   ACCIONES DE CADA DOCUMENTO
   SOLO PDF VISIBLE
   ========================================================= */

/* Ocultar todas las acciones de archivo */
body.invoice-mobile-mode #view-recibidos .rx-file-btn{
  display:none!important;
}

/* Volver a mostrar exclusivamente PDF */
body.invoice-mobile-mode #view-recibidos .rx-file-btn[onclick*="pdf"]{
  display:inline-flex!important;
}

/* Por seguridad: ocultar botones de aceptar */
body.invoice-mobile-mode #view-recibidos button[onclick*="aceptarRecibido"]{
  display:none!important;
}

/* Ocultar XML recibido */
body.invoice-mobile-mode #view-recibidos button[onclick*=",'xml'"]{
  display:none!important;
}

/* Ocultar XML aceptacion */
body.invoice-mobile-mode #view-recibidos button[onclick*="confirmacion"]{
  display:none!important;
}

/* Ocultar respuesta Hacienda */
body.invoice-mobile-mode #view-recibidos button[onclick*="respuesta"]{
  display:none!important;
}

/* =========================================================
   PRESENTACION LIMPIA
   ========================================================= */

body.invoice-mobile-mode #view-recibidos{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
}

body.invoice-mobile-mode #view-recibidos > .panel{
  width:100%!important;
  max-width:100%!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

/* FIN RECIBIDOS MOVIL SOLO LISTA Y PDF */


/* =========================================================
   TRICONTA FE - RECIBIDOS MOVIL MODO OSCURO
   Solo Factura movil.
   La version WEB no se modifica.
   ========================================================= */

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-shell{
  background:#0f1b2d!important;
  border-color:#30415b!important;
  color:#f4f7fb!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-head{
  background:#16243a!important;
  color:#dce7f5!important;
  border-color:#30415b!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row{
  background:#0c1728!important;
  color:#f4f7fb!important;
  border-color:#30415b!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row > *{
  color:#f4f7fb!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row span,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row strong,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row small,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row div{
  color:#f4f7fb!important;
}

/* Estado */
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-status{
  background:#1a2a40!important;
  color:#f4f7fb!important;
  border-color:#3b5270!important;
}

/* Tipo de documento */
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-type-invoice,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-type-credit,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-type-debit{
  background:#1a3150!important;
  color:#cfe1ff!important;
  border-color:#385b87!important;
}

/* Total */
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-total{
  color:#ffffff!important;
}

/* Boton PDF */
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-file-btn{
  background:#14243a!important;
  color:#ffffff!important;
  border-color:#456080!important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-file-btn:hover{
  background:#1d3655!important;
  color:#ffffff!important;
  border-color:#6285ad!important;
}

/* Separadores */
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-shell,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-head,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row{
  box-shadow:none!important;
}

/* FIN RECIBIDOS MOVIL MODO OSCURO */


/* =========================================================
   TRICONTA FE - TEXTO TARJETAS FACTURA MOVIL
   Corrige desbordamiento de textos.
   Solo experiencia Factura movil.
   ========================================================= */

body.invoice-mobile-mode .mobile-home-actions{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  min-width:0!important;
}

body.invoice-mobile-mode .mobile-home-card{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;

  display:grid!important;
  grid-template-columns:56px minmax(0,1fr)!important;
  grid-template-rows:auto auto!important;

  column-gap:14px!important;
  row-gap:6px!important;

  align-items:center!important;
  align-content:center!important;

  padding:24px 18px!important;
  overflow:hidden!important;
}

body.invoice-mobile-mode .mobile-home-card>span{
  grid-row:1 / 3!important;
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  min-height:56px!important;

  display:grid!important;
  place-items:center!important;

  font-size:26px!important;
}

body.invoice-mobile-mode .mobile-home-card strong{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  font-size:19px!important;
  line-height:1.15!important;

  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}

body.invoice-mobile-mode .mobile-home-card small{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  font-size:12px!important;
  line-height:1.3!important;

  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Tarjeta recibidos */
body.invoice-mobile-mode .mobile-home-card.received{
  min-width:0!important;
  overflow:hidden!important;
}

/* Evita que el contenido interno fuerce el ancho */
body.invoice-mobile-mode .mobile-home-card>*{
  min-width:0!important;
  max-width:100%!important;
}

/* Pantallas intermedias */
@media(max-width:1050px){

  body.invoice-mobile-mode .mobile-home-actions{
    gap:12px!important;
  }

  body.invoice-mobile-mode .mobile-home-card{
    grid-template-columns:48px minmax(0,1fr)!important;
    column-gap:11px!important;
    padding:20px 14px!important;
  }

  body.invoice-mobile-mode .mobile-home-card>span{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    min-height:48px!important;
    font-size:23px!important;
  }

  body.invoice-mobile-mode .mobile-home-card strong{
    font-size:17px!important;
  }

  body.invoice-mobile-mode .mobile-home-card small{
    font-size:11px!important;
  }
}

/* Telefono */
@media(max-width:760px){

  body.invoice-mobile-mode .mobile-home-actions{
    grid-template-columns:1fr!important;
    gap:11px!important;
  }

  body.invoice-mobile-mode .mobile-home-card{
    min-height:120px!important;
    padding:18px 16px!important;

    grid-template-columns:52px minmax(0,1fr)!important;
    column-gap:13px!important;
  }

  body.invoice-mobile-mode .mobile-home-card>span{
    width:52px!important;
    height:52px!important;
    min-width:52px!important;
    min-height:52px!important;
    font-size:24px!important;
  }

  body.invoice-mobile-mode .mobile-home-card strong{
    font-size:19px!important;
  }

  body.invoice-mobile-mode .mobile-home-card small{
    font-size:12px!important;
  }
}

/* FIN TEXTO TARJETAS FACTURA MOVIL */


/* =========================================================
   TRICONTA FE - TARJETAS MOVIL SIN CORTAR PALABRAS
   Corrige "comprobante" partido en letras.
   Solo Factura movil.
   ========================================================= */

body.invoice-mobile-mode .mobile-home-card{
  overflow:hidden!important;
  box-sizing:border-box!important;
}

body.invoice-mobile-mode .mobile-home-card strong,
body.invoice-mobile-mode .mobile-home-card small{
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;

  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* La columna de texto puede crecer y encogerse sin partir palabras */
body.invoice-mobile-mode .mobile-home-card{
  grid-template-columns:56px minmax(0,1fr)!important;
}

body.invoice-mobile-mode .mobile-home-card strong{
  font-size:19px!important;
  line-height:1.18!important;
}

body.invoice-mobile-mode .mobile-home-card small{
  font-size:12px!important;
  line-height:1.3!important;
}

/* En telefono: una columna y mayor espacio para el texto */
@media(max-width:760px){

  body.invoice-mobile-mode .mobile-home-actions{
    grid-template-columns:1fr!important;
    width:100%!important;
  }

  body.invoice-mobile-mode .mobile-home-card{
    grid-template-columns:58px minmax(0,1fr)!important;
    column-gap:14px!important;
    width:100%!important;
    min-width:0!important;
    padding:18px!important;
  }

  body.invoice-mobile-mode .mobile-home-card>span{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    min-height:58px!important;
  }

  body.invoice-mobile-mode .mobile-home-card strong{
    font-size:20px!important;
    line-height:1.16!important;
  }

  body.invoice-mobile-mode .mobile-home-card small{
    font-size:12px!important;
    line-height:1.3!important;
  }
}

/* FIN TARJETAS MOVIL SIN CORTAR PALABRAS */


/* =========================================================
   TRICONTA FE - RECIBIDOS MOVIL COMO DOCUMENTOS EMITIDOS
   Solo Factura movil.
   Sin desplazamiento horizontal.
   ========================================================= */

/* El encabezado tipo tabla no se utiliza en movil */
body.invoice-mobile-mode #view-recibidos .rx-head{
  display:none!important;
}

/* Cada recibido se convierte en una tarjeta vertical */
body.invoice-mobile-mode #view-recibidos .rx-row{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto!important;

  gap:10px!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  box-sizing:border-box!important;

  padding:16px!important;
  margin:0 0 12px 0!important;

  border:1px solid #2a3a55!important;
  border-radius:16px!important;

  background:#0f1b2d!important;
  box-shadow:0 8px 22px rgba(0,0,0,.16)!important;

  overflow:hidden!important;
}

/* Ninguna celda puede forzar ancho */
body.invoice-mobile-mode #view-recibidos .rx-row > *{
  grid-column:1!important;
  grid-row:auto!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  box-sizing:border-box!important;
}

/* Proveedor */
body.invoice-mobile-mode #view-recibidos .rx-emisor{
  padding:0 0 10px 0!important;
  margin:0!important;

  border-bottom:1px solid #2a3a55!important;

  min-width:0!important;
  max-width:100%!important;
}

body.invoice-mobile-mode #view-recibidos .rx-emisor-name{
  display:block!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  font-size:17px!important;
  line-height:1.25!important;

  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
}

body.invoice-mobile-mode #view-recibidos .rx-emisor-name span{
  display:inline!important;
  margin-right:4px!important;
}

body.invoice-mobile-mode #view-recibidos .rx-emisor small{
  display:block!important;
  margin-top:5px!important;

  font-size:12px!important;
  line-height:1.3!important;

  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Fecha */
body.invoice-mobile-mode #view-recibidos .rx-date{
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.3!important;
}

/* Tipo */
body.invoice-mobile-mode #view-recibidos .rx-type-invoice,
body.invoice-mobile-mode #view-recibidos .rx-type-credit,
body.invoice-mobile-mode #view-recibidos .rx-type-debit{
  width:max-content!important;
  max-width:100%!important;

  padding:8px 11px!important;
  border-radius:10px!important;

  white-space:normal!important;
  word-break:normal!important;
}

/* Estado */
body.invoice-mobile-mode #view-recibidos .rx-status{
  width:max-content!important;
  max-width:100%!important;

  padding:8px 11px!important;
  border-radius:999px!important;

  white-space:normal!important;
}

/* Total */
body.invoice-mobile-mode #view-recibidos .rx-total{
  font-size:18px!important;
  font-weight:900!important;

  width:100%!important;
  max-width:100%!important;

  text-align:left!important;
}

/* Archivos: una sola acción visible y sin overflow */
body.invoice-mobile-mode #view-recibidos .rx-files{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:8px!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;

  padding-top:4px!important;
}

/* Solo PDF */
body.invoice-mobile-mode #view-recibidos .rx-files .rx-file-btn{
  display:none!important;

  flex:0 0 auto!important;
  min-width:0!important;
  max-width:100%!important;
}

body.invoice-mobile-mode #view-recibidos .rx-files .rx-file-btn[onclick*="pdf"]{
  display:inline-flex!important;

  min-height:44px!important;
  padding:9px 18px!important;

  border-radius:10px!important;
  white-space:nowrap!important;
}

/* El shell nunca debe crear desplazamiento horizontal */
body.invoice-mobile-mode #view-recibidos .rx-shell{
  display:block!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  overflow:visible!important;
  box-sizing:border-box!important;

  border:0!important;
  background:transparent!important;
}

/* El contenido general tampoco puede desbordarse */
body.invoice-mobile-mode #view-recibidos,
body.invoice-mobile-mode #view-recibidos > .panel,
body.invoice-mobile-mode #view-recibidos .rx-body{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  box-sizing:border-box!important;
  overflow-x:hidden!important;
}

/* En teléfonos pequeños */
@media(max-width:600px){

  body.invoice-mobile-mode #view-recibidos .rx-row{
    padding:14px!important;
    gap:9px!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-emisor-name{
    font-size:15px!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-date{
    font-size:14px!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-total{
    font-size:17px!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-files .rx-file-btn[onclick*="pdf"]{
    width:100%!important;
    justify-content:center!important;
  }
}

/* FIN RECIBIDOS MOVIL COMO DOCUMENTOS EMITIDOS */






/* TRICONTA DESCUENTO PORCENTAJE CONSOLIDADO */
.discount-percent-final{
  display:grid;
  gap:4px;
  min-width:95px;
}

.discount-percent-final label{
  display:grid;
  gap:3px;
}

.discount-percent-final label span{
  font-size:10px;
  font-weight:800;
  color:var(--muted);
}

.discount-percent-final input{
  width:100%!important;
  min-width:0!important;
}

.discount-percent-final small{
  display:block;
  font-size:10px;
  line-height:1.2;
  color:var(--muted);
  white-space:nowrap;
}

@media(max-width:760px){
  body.invoice-mobile-mode #lineasBody .line-editor-row > td:nth-child(4){
    display:block!important;
  }

  body.invoice-mobile-mode #lineasBody .line-editor-row > td:nth-child(4)::before{
    content:"Descuento"!important;
    display:block!important;
    font-size:12px!important;
    font-weight:800!important;
    color:var(--muted)!important;
    margin-bottom:5px!important;
  }

  body.invoice-mobile-mode .discount-percent-final{
    width:100%;
  }
}
/* FIN TRICONTA DESCUENTO PORCENTAJE CONSOLIDADO */
/* TRICONTA ORDEN VISUAL LINEA ACTIVA FACTURA */
#lineasBody .line-editor-row > td{
  vertical-align:top !important;
  box-sizing:border-box !important;
  padding:10px 8px !important;
  overflow:hidden !important;
}

#lineasBody .line-editor-row > td:nth-child(7){ width:4% !important; }
#lineasBody .line-editor-row input,
#lineasBody .line-editor-row button,
#lineasBody .line-editor-row .tax-auto,
#lineasBody .line-editor-row .discount-percent-final{
  max-width:100% !important;
  box-sizing:border-box !important;
}

#lineasBody .line-editor-row .discount-percent-final{
  display:grid !important;
  gap:5px !important;
  min-width:0 !important;
}

#lineasBody .line-editor-row .discount-percent-final label{
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
}

#lineasBody .line-editor-row .discount-percent-final input{
  width:100% !important;
  min-width:0 !important;
}

#lineasBody .line-editor-row .discount-percent-final small{
  display:block !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.25 !important;
}

#lineasBody .line-editor-row .tax-auto.compact{
  width:100% !important;
  min-width:0 !important;
  padding:10px 12px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  overflow:hidden !important;
}

#lineasBody .line-editor-row .tax-auto.compact strong,
#lineasBody .line-editor-row .tax-auto.compact small{
  display:block !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  max-width:100% !important;
}

#lineasBody .line-editor-row .tax-auto.compact .btn.small{
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  height:auto !important;
  line-height:1.2 !important;
  padding:8px 10px !important;
}

#lineasBody .line-editor-row .line-total-calc-btn{
  width:100% !important;
  max-width:100% !important;
  white-space:normal !important;
  height:auto !important;
}

#lineasBody .line-editor-row > td:nth-child(6){
  text-align:right !important;
}

#lineasBody .line-editor-row > td:nth-child(6) strong,
#lineasBody .line-editor-row > td:nth-child(6) small{
  display:block !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:1280px) and (min-width:761px){
}

@media (max-width:760px){
  #lineasBody .line-editor-row > td{
    width:100% !important;
    overflow:visible !important;
  }
}

/* FIN TRICONTA ORDEN VISUAL LINEA ACTIVA FACTURA */


/* TRICONTA ORDEN VISUAL LINEA ACTIVA V2 BYTES */

#lineasBody .line-editor-row > td{
  vertical-align:top !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  min-width:0 !important;
  padding:10px 8px !important;
}


#lineasBody .line-editor-row input,
#lineasBody .line-editor-row select,
#lineasBody .line-editor-row button,
#lineasBody .line-editor-row div,
#lineasBody .line-editor-row label{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
}

#lineasBody .discount-percent-final{
  width:100% !important;
  display:grid !important;
  gap:5px !important;
}

#lineasBody .discount-percent-final input{
  width:100% !important;
}

#lineasBody .discount-percent-final small{
  display:block !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.25 !important;
  font-size:11px !important;
}

#lineasBody .field-error{
  display:block;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  line-height:1.2 !important;
  font-size:11px !important;
  margin-top:4px !important;
}

#lineasBody .tax-auto.compact{
  width:100% !important;
  overflow:visible !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:6px !important;
  padding:10px !important;
}

#lineasBody .tax-auto.compact strong,
#lineasBody .tax-auto.compact small{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

#lineasBody .tax-auto.compact .btn.small{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  height:auto !important;
  min-height:40px !important;
  padding:8px 6px !important;
  font-size:12px !important;
  line-height:1.15 !important;
}

#lineasBody .line-total-calc-btn{
  width:100% !important;
  white-space:normal !important;
  height:auto !important;
}

#lineasBody .line-editor-row > td:nth-child(6){
  text-align:right !important;
}

#lineasBody .line-editor-row > td:nth-child(6) strong,
#lineasBody .line-editor-row > td:nth-child(6) small{
  display:block !important;
  width:100% !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

@media (max-width:760px){
  #lineasBody .line-editor-row > td{
    width:100% !important;
    overflow:visible !important;
  }
}

/* FIN TRICONTA ORDEN VISUAL LINEA ACTIVA V2 BYTES */

/* TRICONTA FACTURA ORDEN VISUAL FINAL */

/* Fila activa */
#lineasBody .line-editor-row > td{
  vertical-align:top !important;
  box-sizing:border-box !important;
  overflow:visible !important;
  min-width:0 !important;
  padding:8px 7px !important;
}

/* Distribucion mas equilibrada */

/* Todo debe respetar el ancho de su columna */
#lineasBody .line-editor-row input,
#lineasBody .line-editor-row select,
#lineasBody .line-editor-row textarea,
#lineasBody .line-editor-row button,
#lineasBody .line-editor-row label,
#lineasBody .line-editor-row div{
  box-sizing:border-box !important;
  min-width:0 !important;
  max-width:100% !important;
}

/* Inputs principales alineados */
#lineasBody .line-editor-row input[type="text"],
#lineasBody .line-editor-row input[type="number"]{
  width:100% !important;
  min-height:52px !important;
}

/* Producto y descripcion */
#lineasBody .line-editor-row > td:nth-child(1) button,
#lineasBody .line-editor-row > td:nth-child(1) input{
  width:100% !important;
}

#lineasBody .line-editor-row > td:nth-child(1) strong,
#lineasBody .line-editor-row > td:nth-child(1) label,
#lineasBody .line-editor-row > td:nth-child(1) small{
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

#lineasBody .line-editor-row > td:nth-child(1) strong,
#lineasBody .line-editor-row > td:nth-child(1) label{
  font-weight:600 !important;
}

/* Total con IVA */
#lineasBody .line-total-calc-btn{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:46px !important;
  height:auto !important;
  padding:8px !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.15 !important;
}

/* Descuento */
#lineasBody .discount-percent-final{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  width:100% !important;
}

#lineasBody .discount-percent-final label{
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  width:100% !important;
}

#lineasBody .discount-percent-final label span{
  display:block !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

#lineasBody .discount-percent-final input{
  width:100% !important;
  min-height:52px !important;
}

#lineasBody .discount-percent-final small{
  display:block !important;
  width:100% !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
}

/* IVA / Exoneracion */
#lineasBody .tax-auto.compact{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:6px !important;
  width:100% !important;
  min-height:132px !important;
  padding:10px 12px !important;
  overflow:visible !important;
}

#lineasBody .tax-auto.compact strong{
  display:block !important;
  width:100% !important;
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

#lineasBody .tax-auto.compact small{
  display:block !important;
  width:100% !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1.25 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
}

#lineasBody .tax-auto.compact .btn.small{
  display:block !important;
  width:100% !important;
  min-height:42px !important;
  height:auto !important;
  padding:8px !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  text-align:center !important;
}

/* Total de linea */
#lineasBody .line-editor-row > td:nth-child(6){
  text-align:right !important;
  padding-top:14px !important;
}

#lineasBody .line-editor-row > td:nth-child(6) strong{
  display:block !important;
  width:100% !important;
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

#lineasBody .line-editor-row > td:nth-child(6) small{
  display:block !important;
  width:100% !important;
  margin-top:5px !important;
  font-size:11px !important;
  font-weight:400 !important;
  line-height:1.2 !important;
  white-space:normal !important;
}

/* Laptop */
@media (max-width:1300px) and (min-width:761px){
}

/* Movil */
@media (max-width:760px){
  #lineasBody .line-editor-row > td{
    width:100% !important;
    overflow:visible !important;
  }

  #lineasBody .tax-auto.compact{
    min-height:0 !important;
  }
}

/* FIN TRICONTA FACTURA ORDEN VISUAL FINAL */


/* FIN LAYOUT ORIGINAL LINEAS MOVIL */


/* FIN LINEA FACTURA MOVIL FINAL */


/* =========================================================
   TRICONTA FE - CAPTURA LINEA MOVIL REAL
   Producto / descripcion usa todo el ancho.
   Layout vertical independiente del escritorio.
   Solo Factura movil.
   ========================================================= */

@media (max-width:760px){

  /* Contenedor */
  body.invoice-mobile-mode #view-emitir .line-editor-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  /* Tabla */
  body.invoice-mobile-mode #view-emitir table.lines-v3{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    table-layout:auto!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir table.lines-v3 thead{
    display:none!important;
  }

  /* Tbody */
  body.invoice-mobile-mode #view-emitir table.lines-v3 tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* Fila */
  body.invoice-mobile-mode #view-emitir table.lines-v3 tbody tr.line-editor-row{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0!important;
  }

  /*
     IMPORTANTE:
     anulamos cualquier ancho porcentual heredado
     de las reglas de escritorio.
  */
  body.invoice-mobile-mode #view-emitir
  table.lines-v3 tbody tr.line-editor-row > td,
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(1),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(2),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(3),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(4),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(5),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(6),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(7){

    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:8px 0!important;

    float:none!important;
    clear:both!important;

    text-align:left!important;
  }

  /*
     PRODUCTO / DESCRIPCION:
     este es el bloque que estaba apareciendo
     comprimido.
  */
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child{

    display:block!important;

    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    position:relative!important;

    overflow:visible!important;
  }

  /* Buscar producto */
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-product-choose{

    display:block!important;

    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:0!important;
  }

  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-product-search-btn{

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    white-space:normal!important;
    overflow-wrap:break-word!important;
  }

  /* Ayuda */
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-simple-hint{

    display:block!important;

    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    white-space:normal!important;
    overflow-wrap:break-word!important;

    margin-top:7px!important;
  }

  /* Descripcion */
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-description-label{

    display:flex!important;
    flex-direction:column!important;

    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin-top:10px!important;
  }

  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-description-label input{

    display:block!important;

    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;

    box-sizing:border-box!important;
  }

}

/* FIN CAPTURA LINEA MOVIL REAL */


/* =========================================================
   TRICONTA FE - LINEA MOVIL SIN COLUMNAS HEREDADAS
   Producto / descripcion a ancho completo.
   Solo Factura movil.
   ========================================================= */

@media (max-width:760px){

  body.invoice-mobile-mode #view-emitir .line-editor-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir table.lines-v3{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    table-layout:auto!important;
    border-collapse:separate!important;
    border-spacing:0!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir table.lines-v3 > thead{
    display:none!important;
  }

  body.invoice-mobile-mode #view-emitir table.lines-v3 > tbody{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir
  table.lines-v3 > tbody > tr.line-editor-row{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0!important;
  }

  body.invoice-mobile-mode #view-emitir
  table.lines-v3 > tbody > tr.line-editor-row > td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    float:none!important;
    clear:both!important;
    margin:0!important;
    padding:8px 0!important;
    text-align:left!important;
    overflow:visible!important;
  }

  /* PRODUCTO / DESCRIPCION */
  body.invoice-mobile-mode #view-emitir
  table.lines-v3 > tbody > tr.line-editor-row > td:first-child{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-product-choose{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
    padding:0!important;
  }

  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-product-search-btn{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-simple-hint{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-description-label{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:first-child
  .line-description-label input{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  /* CAMPOS RESTANTES */
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(2),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(3),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(4),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(5),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(6),
  body.invoice-mobile-mode #view-emitir
  #lineasBody .line-editor-row > td:nth-child(7){
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

}

/* FIN LINEA MOVIL SIN COLUMNAS HEREDADAS */


/* =========================================================
   TRICONTA FE - MONTO RECIBIDOS MOVIL CENTRADO
   Solo Documentos recibidos en Factura movil.
   El monto debajo de "Aceptado" queda centrado
   y no se recorta.
   WEB intacta.
   ========================================================= */

@media (max-width:760px){

  body.invoice-mobile-mode #view-recibidos .rx-total{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:10px 8px!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-total strong,
  body.invoice-mobile-mode #view-recibidos .rx-total span,
  body.invoice-mobile-mode #view-recibidos .rx-total b{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:0!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

}

/* FIN MONTO RECIBIDOS MOVIL CENTRADO */


/* =========================================================
   TRICONTA FE - MONTO RECIBIDOS MOVIL CENTRADO
   Solo Documentos recibidos en Factura movil.
   El monto debajo de "Aceptado" queda centrado
   y no se recorta.
   WEB intacta.
   ========================================================= */

@media (max-width:760px){

  body.invoice-mobile-mode #view-recibidos .rx-total{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:10px 8px!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-total strong,
  body.invoice-mobile-mode #view-recibidos .rx-total span,
  body.invoice-mobile-mode #view-recibidos .rx-total b{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:0!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

}

/* FIN MONTO RECIBIDOS MOVIL CENTRADO */


/* =========================================================
   TRICONTA FE - MONTO RECIBIDOS MOVIL CENTRADO
   Solo Documentos recibidos en Factura movil.
   El monto debajo de "Aceptado" queda centrado
   y no se recorta.
   WEB intacta.
   ========================================================= */

@media (max-width:760px){

  body.invoice-mobile-mode #view-recibidos .rx-total{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:10px 8px!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-total strong,
  body.invoice-mobile-mode #view-recibidos .rx-total span,
  body.invoice-mobile-mode #view-recibidos .rx-total b{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:0!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

}

/* FIN MONTO RECIBIDOS MOVIL CENTRADO */


/* =========================================================
   TRICONTA FE - MONTO RECIBIDOS MOVIL CENTRADO
   Solo Documentos recibidos en Factura movil.
   El monto debajo de "Aceptado" queda centrado
   y no se recorta.
   WEB intacta.
   ========================================================= */

@media (max-width:760px){

  body.invoice-mobile-mode #view-recibidos .rx-total{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:10px 8px!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body.invoice-mobile-mode #view-recibidos .rx-total strong,
  body.invoice-mobile-mode #view-recibidos .rx-total span,
  body.invoice-mobile-mode #view-recibidos .rx-total b{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;

    margin:0!important;
    padding:0!important;

    text-align:center!important;

    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

}

/* FIN MONTO RECIBIDOS MOVIL CENTRADO */


/* FIX126: centrar monto en Documentos recibidos de Factura móvil */
body.invoice-mobile-mode #view-recibidos .rx-total {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  text-align:center!important;
  overflow:visible!important;
  padding:10px 8px!important;
}

/* FIX126: corrección final del total en vista móvil */
.invoice-mobile-mode #view-recibidos .rx-total,
.invoice-mobile-mode #view-comprobantes .rx-total,
#view-recibidos .rx-total,
#view-comprobantes .rx-total {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 100%!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
  text-align:center!important;
  white-space:normal!important;
  overflow:visible!important;
  padding:10px 8px!important;
}
.invoice-mobile-mode #view-recibidos .rx-total > *,
.invoice-mobile-mode #view-comprobantes .rx-total > *,
#view-recibidos .rx-total > *,
#view-comprobantes .rx-total > * {
  margin-left:0!important;
  margin-right:0!important;
  text-align:center!important;
}

/* FIX126 received documents: final mobile-only correction */


/* FIX126-RECIBIDOS-ACTIVE-20260905 */
































/* TRICONTA HEADER WEB CONSOLIDADO 20260906 */

@media (min-width:1081px){

  :root{
    --v6-top-h:118px;
    --sticky-header-offset:118px;
  }

  body:not(.invoice-mobile-mode) .app-header-primary{
    position:fixed!important;
    top:0!important;
    left:var(--v6-side-w)!important;
    right:0!important;

    width:auto!important;
    height:118px!important;
    min-height:118px!important;

    display:grid!important;
    grid-template-columns:minmax(260px,1fr) auto!important;
    grid-template-rows:68px 42px!important;

    align-items:center!important;
    gap:0 20px!important;

    padding:0 28px 8px!important;
    box-sizing:border-box!important;

    background:var(--v6-panel)!important;
    overflow:visible!important;

    z-index:5002!important;
  }

  body:not(.invoice-mobile-mode) .active-company-header{
    grid-column:1!important;
    grid-row:1!important;

    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;

    width:auto!important;
    max-width:min(620px,42vw)!important;
    min-width:0!important;

    margin:0!important;
    padding:0!important;

    text-align:left!important;
    overflow:hidden!important;
  }

  body:not(.invoice-mobile-mode) .active-company-header strong,
  body:not(.invoice-mobile-mode) .active-company-header small{
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body:not(.invoice-mobile-mode) .header-account{
    grid-column:2!important;
    grid-row:1!important;

    position:static!important;

    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;

    width:max-content!important;
    max-width:100%!important;
    min-width:0!important;

    gap:8px!important;
    margin:0!important;
    padding:0!important;

    white-space:nowrap!important;
    overflow:visible!important;
  }

  /* Selector de empresa fuera de la fila de controles */
  body:not(.invoice-mobile-mode) #companySwitchWrap{
    position:absolute!important;

    left:28px!important;
    bottom:8px!important;
    top:auto!important;
    right:auto!important;

    display:flex!important;
    align-items:center!important;

    width:min(390px,45vw)!important;
    max-width:390px!important;

    margin:0!important;
    transform:none!important;
  }

  body:not(.invoice-mobile-mode) #companySwitchWrap.hidden{
    display:none!important;
  }

  body:not(.invoice-mobile-mode) #companySwitch{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }

  body:not(.invoice-mobile-mode) .header-user-copy{
    display:block!important;

    flex:0 1 155px!important;
    width:auto!important;
    min-width:90px!important;
    max-width:155px!important;

    overflow:hidden!important;
    text-align:left!important;
  }

  body:not(.invoice-mobile-mode) .header-user-copy span,
  body:not(.invoice-mobile-mode) .header-user-copy small{
    display:block!important;

    width:100%!important;
    max-width:100%!important;

    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body:not(.invoice-mobile-mode) #userAvatar{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
    max-width:42px!important;
    max-height:42px!important;

    flex:0 0 42px!important;
    border-radius:50%!important;
  }

  body:not(.invoice-mobile-mode) #logoutBtn{
    position:static!important;

    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;

    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;

    align-items:center!important;
    justify-content:center!important;

    flex:0 0 68px!important;

    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;

    height:42px!important;

    margin:0!important;
    padding:0 10px!important;

    transform:none!important;
  }
}

/* Escritorio menos ancho */
@media (max-width:1350px) and (min-width:1081px){

  body:not(.invoice-mobile-mode) .app-header-primary{
    padding-left:18px!important;
    padding-right:18px!important;
    gap:0 12px!important;
  }

  body:not(.invoice-mobile-mode) .header-user-copy{
    min-width:70px!important;
    max-width:115px!important;
  }

  body:not(.invoice-mobile-mode) #companySwitchWrap{
    left:18px!important;
    width:330px!important;
    max-width:330px!important;
  }

  body:not(.invoice-mobile-mode) #themeToggleBtn{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* FIN TRICONTA HEADER WEB CONSOLIDADO 20260906 */














/* TRICONTA MENU MAS DIALOG NATIVO */

#view-comprobantes .issued-more-dialog-wrap{
  display:inline-block!important;
}

.issued-more-dialog{
  width:min(390px,calc(100vw - 30px))!important;
  max-width:390px!important;
  max-height:calc(100vh - 40px)!important;

  margin:auto!important;
  padding:0!important;

  border:0!important;
  border-radius:16px!important;

  background:transparent!important;

  overflow:visible!important;
}

.issued-more-dialog[open]{
  display:block!important;
}

.issued-more-dialog::backdrop{
  background:rgba(15,35,65,.28)!important;
}

.issued-more-dialog-card{
  width:100%!important;
  max-height:calc(100vh - 40px)!important;

  background:var(--v6-panel,#fff)!important;
  color:var(--v6-text,#173b62)!important;

  border:1px solid var(--v6-line,#d7e0ea)!important;
  border-radius:16px!important;

  box-shadow:0 28px 80px rgba(15,35,65,.30)!important;

  overflow:hidden!important;
}

.issued-more-dialog-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;

  gap:14px!important;

  padding:16px 18px!important;

  border-bottom:1px solid var(--v6-line,#e5ebf2)!important;
}

.issued-more-dialog-head > div{
  display:grid!important;
  gap:3px!important;
}

.issued-more-dialog-head strong{
  font-size:17px!important;
}

.issued-more-dialog-head small{
  color:var(--v6-muted,#718096)!important;
  font-size:12px!important;
}

.issued-more-dialog-close{
  width:38px!important;
  height:38px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:0!important;

  border:1px solid var(--v6-line,#d7e0ea)!important;
  border-radius:10px!important;

  background:transparent!important;
  color:var(--v6-text,#173b62)!important;

  font-size:24px!important;

  cursor:pointer!important;
}

.issued-more-dialog-actions{
  display:grid!important;

  max-height:calc(100vh - 145px)!important;

  padding:8px!important;

  overflow-y:auto!important;
}

.issued-more-dialog-actions button,
.issued-more-dialog-actions a{
  display:flex!important;
  align-items:center!important;

  width:100%!important;
  min-height:48px!important;

  margin:0!important;
  padding:11px 13px!important;

  border:0!important;
  border-bottom:1px solid var(--v6-line,#e8edf3)!important;
  border-radius:0!important;

  background:transparent!important;
  color:var(--v6-text,#173b62)!important;

  text-align:left!important;
  white-space:normal!important;

  cursor:pointer!important;
}

.issued-more-dialog-actions button:last-child,
.issued-more-dialog-actions a:last-child{
  border-bottom:0!important;
}

.issued-more-dialog-actions button:hover:not(:disabled),
.issued-more-dialog-actions a:hover{
  background:var(--v6-hover,#f3f7fb)!important;
}

.issued-more-dialog-actions button:disabled{
  opacity:.4!important;
  cursor:not-allowed!important;
}

html[data-theme="dark"] .issued-more-dialog-card{
  background:var(--v8-surface,#0e1728)!important;
  color:var(--v8-text,#f5f8ff)!important;
}

html[data-theme="dark"] .issued-more-dialog-actions button{
  color:var(--v8-text,#f5f8ff)!important;
  border-color:var(--v8-border,#33445f)!important;
}

/* FIN TRICONTA MENU MAS DIALOG NATIVO */


/* TRICONTA CREAR NOTA DIALOG NATIVO */

#view-comprobantes .issued-note-dialog-wrap{
  display:inline-block!important;
}

.issued-note-dialog{
  width:min(360px,calc(100vw - 30px))!important;
  max-width:360px!important;
  max-height:calc(100vh - 40px)!important;

  margin:auto!important;
  padding:0!important;

  border:0!important;
  border-radius:16px!important;

  background:transparent!important;

  overflow:visible!important;
}

.issued-note-dialog[open]{
  display:block!important;
}

.issued-note-dialog::backdrop{
  background:rgba(15,35,65,.28)!important;
}

.issued-note-dialog-card{
  width:100%!important;

  background:var(--v6-panel,#fff)!important;
  color:var(--v6-text,#173b62)!important;

  border:1px solid var(--v6-line,#d7e0ea)!important;
  border-radius:16px!important;

  box-shadow:0 28px 80px rgba(15,35,65,.30)!important;

  overflow:hidden!important;
}

.issued-note-dialog-head{
  display:flex!important;

  align-items:center!important;
  justify-content:space-between!important;

  gap:14px!important;

  padding:16px 18px!important;

  border-bottom:1px solid var(--v6-line,#e5ebf2)!important;
}

.issued-note-dialog-head > div{
  display:grid!important;
  gap:3px!important;
}

.issued-note-dialog-head strong{
  font-size:17px!important;
}

.issued-note-dialog-head small{
  color:var(--v6-muted,#718096)!important;
  font-size:12px!important;
}

.issued-note-dialog-close{
  width:38px!important;
  height:38px!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:0!important;

  border:1px solid var(--v6-line,#d7e0ea)!important;
  border-radius:10px!important;

  background:transparent!important;
  color:var(--v6-text,#173b62)!important;

  font-size:24px!important;

  cursor:pointer!important;
}

.issued-note-dialog-actions{
  display:grid!important;

  padding:8px!important;

  background:var(--v6-panel,#fff)!important;
}

.issued-note-dialog-actions button{
  display:flex!important;

  align-items:center!important;

  width:100%!important;
  min-height:50px!important;

  margin:0!important;
  padding:12px 14px!important;

  border:0!important;
  border-bottom:1px solid var(--v6-line,#e8edf3)!important;
  border-radius:0!important;

  background:transparent!important;
  color:var(--v6-text,#173b62)!important;

  text-align:left!important;
  white-space:normal!important;

  cursor:pointer!important;
}

.issued-note-dialog-actions button:last-child{
  border-bottom:0!important;
}

.issued-note-dialog-actions button:hover{
  background:var(--v6-hover,#f3f7fb)!important;
}

html[data-theme="dark"] .issued-note-dialog-card,
html[data-theme="dark"] .issued-note-dialog-actions{
  background:var(--v8-surface,#0e1728)!important;
  color:var(--v8-text,#f5f8ff)!important;
}

html[data-theme="dark"] .issued-note-dialog-actions button{
  color:var(--v8-text,#f5f8ff)!important;
  border-color:var(--v8-border,#33445f)!important;
}

/* FIN TRICONTA CREAR NOTA DIALOG NATIVO */


/* TRICONTA CORREO ANDROID BUTTON */

#correoComprobanteDialog,
#correoComprobanteDialog .dialog-card,
#correoComprobanteDialog .actions{
  pointer-events:auto!important;
}

#correoComprobanteDialog button{
  pointer-events:auto!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:rgba(0,0,0,.08);
}

#correoComprobanteDialog #correoDocEnviarBtn{
  position:relative!important;
  z-index:3!important;
  min-height:48px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

/* FIN TRICONTA CORREO ANDROID BUTTON */


/* TRICONTA SISTEMA WEB MENU TELEFONO */

@media (max-width:1080px){

  /*
     SISTEMA WEB EN TELEFONO:
     el estado sidebar-collapsed pertenece al escritorio y
     nunca debe bloquear el menu movil.
  */
  body:not(.invoice-mobile-mode).sidebar-collapsed .top-nav{
    opacity:1!important;
    pointer-events:auto!important;
  }

  /*
     Cerrado normalmente.
  */
  body:not(.invoice-mobile-mode) .top-nav{
    transform:translateX(-105%)!important;
  }

  /*
     Al tocar hamburguesa entra completamente.
  */
  body:not(.invoice-mobile-mode).mobile-nav-open .top-nav,
  body:not(.invoice-mobile-mode).sidebar-collapsed.mobile-nav-open .top-nav{
    transform:translateX(0)!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  /*
     Boton hamburguesa siempre disponible en Sistema web.
  */
  body:not(.invoice-mobile-mode) #mobileMenuBtn{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;

    position:relative!important;
    z-index:5205!important;

    flex:0 0 42px!important;
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
    min-height:42px!important;
  }

  /*
     El control de colapsar sidebar es exclusivamente
     para escritorio. En telefono no debe aparecer.
  */
  body:not(.invoice-mobile-mode) #sidebarToggleBtn{
    display:none!important;
  }

  /*
     El fondo del menu debe funcionar normalmente.
  */
  body:not(.invoice-mobile-mode) #mobileNavBackdrop{
    display:block!important;
  }

  body:not(.invoice-mobile-mode).mobile-nav-open #mobileNavBackdrop{
    opacity:1!important;
    pointer-events:auto!important;
  }

}

/* FIN TRICONTA SISTEMA WEB MENU TELEFONO */


/* TRICONTA MENU WEB MOVIL FLOTANTE */

/* Por defecto no existe visualmente en escritorio. */


@media (max-width:1080px){

  /*
     Solo SISTEMA WEB.
     Factura movil conserva su interfaz propia.
  */
  body:not(.invoice-mobile-mode) 

  

  

  /*
     Al abrir el menu, la navegacion siempre queda visible,
     aunque exista sidebar-collapsed.
  */
  body:not(.invoice-mobile-mode).mobile-nav-open #nav,
  body:not(.invoice-mobile-mode).sidebar-collapsed.mobile-nav-open #nav{
    position:fixed!important;

    top:0!important;
    left:0!important;
    bottom:0!important;

    display:block!important;

    width:min(340px,88vw)!important;
    height:100dvh!important;

    padding:72px 12px 28px!important;

    transform:translateX(0)!important;

    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;

    overflow-y:auto!important;
    overflow-x:hidden!important;

    z-index:2147481900!important;

    background:linear-gradient(180deg,#061d3f,#082a56)!important;
  }

  /*
     Fondo para cerrar tocando fuera.
  */
  body:not(.invoice-mobile-mode).mobile-nav-open #mobileNavBackdrop{
    display:block!important;
    position:fixed!important;
    inset:0!important;

    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;

    z-index:2147481800!important;

    background:rgba(3,14,31,.52)!important;
  }

}

/* Factura movil nunca muestra este boton. */
body.invoice-mobile-mode 

/* FIN TRICONTA MENU WEB MOVIL FLOTANTE */


/* TRICONTA POS DESCUENTO GENERAL 20260907 */
.pos-general-discount{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:8px 0;
  padding:10px 12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:10px;
  background:rgba(0,0,0,.025);
}

.pos-general-discount label{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-weight:600;
}

.pos-general-discount input{
  width:100px;
  min-width:90px;
  text-align:right;
}

.pos-general-discount small{
  white-space:nowrap;
  font-weight:700;
}

@media (max-width:700px){
  .pos-general-discount{
    align-items:flex-end;
  }

  .pos-general-discount label{
    flex:1;
    justify-content:space-between;
  }

  .pos-general-discount input{
    width:88px;
  }
}


/* COMPRA RECIBIDA -> INVENTARIO */
.compra-inventario-dialog{
  width:min(1050px,96vw)!important
}

.compra-inventario-card{
  width:100%!important;
  max-height:92vh;
  overflow:auto
}

.compra-inv-lineas{
  display:grid;
  gap:12px;
  margin-top:16px
}

.compra-inv-row{
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  background:var(--panel)
}

.compra-inv-row.aplicado{
  background:#eff9f3;
  border-color:#b9dfc8
}

.compra-inv-status{
  font-weight:800;
  color:var(--good);
  margin-bottom:7px
}

.compra-inv-row-head{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:start
}

.compra-inv-row-head strong{
  display:block
}

.compra-inv-row-head small{
  display:block;
  color:var(--muted);
  margin-top:4px
}

.compra-inv-check{
  display:flex!important;
  grid-template-columns:auto auto!important;
  align-items:center;
  gap:6px
}

.compra-inv-check input{
  width:auto
}

.compra-inv-grid{
  display:grid;
  grid-template-columns:
    repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:13px
}

@media(max-width:760px){
  .compra-inv-grid{
    grid-template-columns:1fr
  }

  .compra-inv-grid .span2{
    grid-column:auto
  }
}


/* RECEPCION MASIVA SOLO EN EXPERIENCIA WEB */
body.invoice-mobile-mode .desktop-only-recepcion-masiva,
body.invoice-mobile-mode #recibidosMasivoDialog{
  display:none!important;
}
/* FIN RECEPCION MASIVA SOLO WEB */

/* =========================================================
   TRICONTA FE - TEMA VISIBLE EN MOVIL VERTICAL
   Mantiene visible el boton claro/oscuro junto a Version web.
   ========================================================= */
@media (max-width: 760px) {
  #themeToggleBtn,
  .theme-toggle,
  [data-theme-toggle] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 auto !important;
  }

  #experienceSwitchBtn {
    display: inline-flex !important;
    flex: 0 0 auto !important;
  }
}
/* FIN TEMA VISIBLE EN MOVIL VERTICAL */


/* =========================================================
   TRICONTA FE - FIX DEFINITIVO TEMA EN MOVIL VERTICAL
   CONSOLIDADO V4 - 2026-09-24

   Control Claro / Oscuro:
   - visible en Factura movil;
   - esquina superior derecha;
   - fuera del flujo;
   - no aumenta altura del header;
   - conserva texto y superficie tactil.
   ========================================================= */

@media(max-width:560px){

  body.invoice-mobile-mode .app-header-primary{
    position:relative!important;
  }

  /*
     Header account deja de ser referencia para el boton.
     El boton se posiciona respecto al header principal.
  */
  body.invoice-mobile-mode .header-account{
    position:static!important;
  }

  body.invoice-mobile-mode #themeToggleBtn{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;

    position:absolute!important;

    top:10px!important;
    right:12px!important;
    left:auto!important;
    bottom:auto!important;

    z-index:1000!important;

    width:auto!important;
    min-width:92px!important;
    max-width:none!important;

    height:42px!important;
    min-height:42px!important;

    margin:0!important;
    padding:0 12px!important;

    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;

    flex:none!important;

    white-space:nowrap!important;

    pointer-events:auto!important;
    touch-action:manipulation!important;

    border-radius:999px!important;
  }

  body.invoice-mobile-mode
  #themeToggleBtn
  #themeToggleLabel{
    display:inline-block!important;
    visibility:visible!important;
    opacity:1!important;
    white-space:nowrap!important;
  }

  body.invoice-mobile-mode
  #themeToggleBtn
  .theme-toggle-icon{
    flex:0 0 auto!important;
  }

  /*
     Reserva solamente espacio HORIZONTAL para evitar
     que el boton se monte sobre TRICONTA FE.
     No agrega altura.
  */
  body.invoice-mobile-mode .app-brand-horizontal{
    box-sizing:border-box!important;
    padding-right:108px!important;
  }

}

/* FIN FIX DEFINITIVO TEMA EN MOVIL VERTICAL */


/* =========================================================
   TRICONTA FE - RECIBIDOS MOVIL MODO CLARO FINAL
   Corrige tarjetas oscuras al seleccionar tema claro.
   Solo afecta Factura movil > Documentos recibidos.
   ========================================================= */

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos{
  background:#f5f7fb!important;
  color:#122033!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos > .panel,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-body{
  background:transparent!important;
  color:#122033!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-shell{
  background:transparent!important;
  color:#122033!important;
  border-color:transparent!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-row{
  background:#ffffff!important;
  color:#122033!important;
  border:1px solid #dce4ee!important;
  box-shadow:0 8px 24px rgba(15,23,42,.08)!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-row > *,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-row div,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-row strong,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-row span{
  color:#122033!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-row small,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-emisor small{
  color:#64748b!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-type-invoice,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-type-credit,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-type-debit{
  background:#edf6ff!important;
  color:#1769aa!important;
  border-color:#c9e0f5!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-status{
  background:#f1f5f9!important;
  color:#27364a!important;
  border-color:#d9e2ec!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-total,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-total > *,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-total strong,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-total span,
html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-total b{
  color:#122033!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-file-btn{
  background:#ffffff!important;
  color:#122033!important;
  border-color:#d5dee9!important;
}

html:not([data-theme="dark"]) body.invoice-mobile-mode #view-recibidos .rx-files .rx-file-btn[onclick*="pdf"]{
  background:#ffffff!important;
  color:#122033!important;
  border-color:#d5dee9!important;
}

/* FIN RECIBIDOS MOVIL MODO CLARO FINAL */


/* =========================================================
   TRICONTA FE - ESTADO RECIBIDOS LEGIBLE CLARO / OSCURO
   Aplica a version web y conserva factura movil.
   ========================================================= */

/* MODO CLARO - VERSION WEB */
html:not([data-theme="dark"]) #view-recibidos .rx-status{
  background:#f1f5f9!important;
  color:#27364a!important;
  border:1px solid #d9e2ec!important;
}

/* MODO OSCURO - VERSION WEB */
html[data-theme="dark"] #view-recibidos .rx-status{
  background:#1a2a40!important;
  color:#f4f7fb!important;
  border:1px solid #3b5270!important;
}

/* Asegura que ninguna regla general borre el color del texto */
html:not([data-theme="dark"]) #view-recibidos .rx-row .rx-status{
  color:#27364a!important;
}

html[data-theme="dark"] #view-recibidos .rx-row .rx-status{
  color:#f4f7fb!important;
}

/* FIN ESTADO RECIBIDOS LEGIBLE */


/* =========================================================
   TRICONTA FE - FIX CONTRASTE MODO OSCURO + HOVER TABLAS
   WEB Y MOVIL
   ========================================================= */

/* ---------------------------------------------------------
   1. DOCUMENTOS EMITIDOS:
   NO CAMBIAR EL FONDO AL PASAR EL MOUSE
   --------------------------------------------------------- */

#docsBody tr:hover td,
#docsBody .issued-doc-row:hover td,
#docsBody .issued-client-row:hover td {
  background:inherit!important;
}

/* La fila del documento mantiene el fondo normal de la tabla */
#docsBody .issued-doc-row td {
  background:var(--v6-panel)!important;
}

/* La fila que contiene nombre del cliente tampoco cambia */
#docsBody .issued-client-row td {
  background:var(--v6-panel)!important;
}

#docsBody .issued-doc-row:hover td,
#docsBody .issued-client-row:hover td {
  background:var(--v6-panel)!important;
}


/* ---------------------------------------------------------
   2. NOMBRE E IDENTIFICACION DEL CLIENTE EN DOCUMENTOS
   EMITIDOS
   --------------------------------------------------------- */

html[data-theme="dark"] #docsBody .issued-client-banner strong {
  color:#f4f7ff!important;
}

html[data-theme="dark"] #docsBody .issued-client-banner small {
  color:#aebbd0!important;
}

html[data-theme="dark"] #docsBody .issued-doc-row td {
  color:#edf3ff!important;
}

html[data-theme="dark"] #docsBody .issued-consecutive {
  color:#aebbd0!important;
}


/* ---------------------------------------------------------
   3. TABLAS EN MODO OSCURO
   TEXTO PRINCIPAL SIEMPRE CLARO
   --------------------------------------------------------- */

html[data-theme="dark"] table,
html[data-theme="dark"] tbody,
html[data-theme="dark"] tbody tr,
html[data-theme="dark"] tbody td {
  color:var(--v6-text)!important;
}

html[data-theme="dark"] tbody td strong,
html[data-theme="dark"] tbody td b {
  color:#edf3ff!important;
}

html[data-theme="dark"] tbody td small,
html[data-theme="dark"] .table-sub {
  color:#aebbd0!important;
}


/* ---------------------------------------------------------
   4. EVITAR FONDO CLARO GLOBAL EN HOVER DE TABLAS
   EN MODO OSCURO
   --------------------------------------------------------- */

html[data-theme="dark"] tbody tr:hover td {
  background:var(--v6-panel)!important;
  color:var(--v6-text)!important;
}


/* ---------------------------------------------------------
   5. TEXTOS GENERALES QUE TENIAN AZULES OSCUROS FIJOS
   --------------------------------------------------------- */

html[data-theme="dark"] .view h1,
html[data-theme="dark"] .view h2,
html[data-theme="dark"] .view h3,
html[data-theme="dark"] .view h4,
html[data-theme="dark"] .view h5,
html[data-theme="dark"] .view h6 {
  color:#edf3ff!important;
}

html[data-theme="dark"] .view label,
html[data-theme="dark"] .view legend {
  color:#edf3ff!important;
}

html[data-theme="dark"] .view p,
html[data-theme="dark"] .view .hint,
html[data-theme="dark"] .view .muted {
  color:#aebbd0!important;
}


/* ---------------------------------------------------------
   6. CLIENTES / PROVEEDORES / PRODUCTOS
   EVITAR AZULES OSCUROS EN FONDOS OSCUROS
   --------------------------------------------------------- */

html[data-theme="dark"] .issued-client-banner strong,
html[data-theme="dark"] .line-product-selected strong,
html[data-theme="dark"] .selected-product-banner strong,
html[data-theme="dark"] .line-summary-name strong,
html[data-theme="dark"] .line-product-table td:nth-child(2),
html[data-theme="dark"] .account-table td strong,
html[data-theme="dark"] .mobile-doc-card strong {
  color:#edf3ff!important;
}

html[data-theme="dark"] .issued-client-banner small,
html[data-theme="dark"] .line-product-selected small,
html[data-theme="dark"] .selected-product-banner small,
html[data-theme="dark"] .mobile-doc-card small {
  color:#aebbd0!important;
}


/* ---------------------------------------------------------
   7. TARJETAS MOVILES EN MODO OSCURO
   --------------------------------------------------------- */

html[data-theme="dark"] body.invoice-mobile-mode .mobile-doc-card {
  color:#edf3ff!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-doc-card-head strong {
  color:#edf3ff!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-doc-meta,
html[data-theme="dark"] body.invoice-mobile-mode .mobile-doc-consecutive {
  color:#aebbd0!important;
}


/* ---------------------------------------------------------
   8. ESTADOS CONSERVAN SUS COLORES FUNCIONALES
   --------------------------------------------------------- */

html[data-theme="dark"] .badge.s5 {
  background:#123125!important;
  color:#98e8bd!important;
  border-color:#265f48!important;
}

html[data-theme="dark"] .badge.s3,
html[data-theme="dark"] .badge.s4 {
  background:#3b2d0f!important;
  color:#ffd980!important;
  border-color:#6d5420!important;
}

html[data-theme="dark"] .badge.s6,
html[data-theme="dark"] .badge.s7 {
  background:#3b1820!important;
  color:#ff9eaa!important;
  border-color:#6b2936!important;
}


/* ---------------------------------------------------------
   9. BOTONES NO HEREDAN COLOR OSCURO DE TABLAS
   --------------------------------------------------------- */

html[data-theme="dark"] .issued-action-btn,
html[data-theme="dark"] .row-menu summary,
html[data-theme="dark"] .row-menu-pop button,
html[data-theme="dark"] .btn {
  color:var(--v6-text)!important;
}


/* FIN FIX CONTRASTE MODO OSCURO + HOVER */


/* =========================================================
   TRICONTA FE - NORMALIZACION GLOBAL MODO OSCURO
   WEB + MOVIL
   No modifica el modo claro.
   ========================================================= */


/* ---------------------------------------------------------
   VARIABLES GENERALES
   --------------------------------------------------------- */

html[data-theme="dark"] {
  --triconta-dark-bg:#091426;
  --triconta-dark-panel:#0d1a2e;
  --triconta-dark-panel-2:#12223a;
  --triconta-dark-border:#2c405c;
  --triconta-dark-text:#f3f6fb;
  --triconta-dark-muted:#aab9ce;
  --triconta-dark-input:#101f36;
}


/* ---------------------------------------------------------
   CONTENEDORES PRINCIPALES
   --------------------------------------------------------- */

html[data-theme="dark"] body,
html[data-theme="dark"] .view,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .card,
html[data-theme="dark"] .box,
html[data-theme="dark"] .section,
html[data-theme="dark"] .table-wrap,
html[data-theme="dark"] .table-container,
html[data-theme="dark"] .filters,
html[data-theme="dark"] .filter-panel,
html[data-theme="dark"] .search-panel,
html[data-theme="dark"] .search-box {
  color:var(--triconta-dark-text);
}


/* ---------------------------------------------------------
   PANELES BLANCOS QUE QUEDAN DENTRO DE VISTAS
   --------------------------------------------------------- */

html[data-theme="dark"] .view .panel,
html[data-theme="dark"] .view .card,
html[data-theme="dark"] .view .filter-panel,
html[data-theme="dark"] .view .search-panel,
html[data-theme="dark"] .view .search-box {
  background:var(--triconta-dark-panel)!important;
  border-color:var(--triconta-dark-border)!important;
}


/* ---------------------------------------------------------
   TABLAS
   --------------------------------------------------------- */

html[data-theme="dark"] table {
  background:var(--triconta-dark-panel)!important;
  color:var(--triconta-dark-text)!important;
  border-color:var(--triconta-dark-border)!important;
}

html[data-theme="dark"] thead,
html[data-theme="dark"] thead tr,
html[data-theme="dark"] thead th {
  background:var(--triconta-dark-panel-2)!important;
  color:var(--triconta-dark-text)!important;
  border-color:var(--triconta-dark-border)!important;
}

html[data-theme="dark"] tbody,
html[data-theme="dark"] tbody tr,
html[data-theme="dark"] tbody td {
  background:var(--triconta-dark-panel)!important;
  color:var(--triconta-dark-text)!important;
  border-color:var(--triconta-dark-border)!important;
}


/* NO CAMBIAR A BLANCO AL PASAR EL MOUSE */

html[data-theme="dark"] tbody tr:hover,
html[data-theme="dark"] tbody tr:hover td {
  background:var(--triconta-dark-panel)!important;
  color:var(--triconta-dark-text)!important;
}


/* ---------------------------------------------------------
   RECEPCION - COMPROBANTES RECIBIDOS
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos,
html[data-theme="dark"] #view-recibidos > *,
html[data-theme="dark"] #view-recibidos .panel,
html[data-theme="dark"] #view-recibidos .card {
  color:var(--triconta-dark-text);
}

html[data-theme="dark"] #view-recibidos table,
html[data-theme="dark"] #view-recibidos tbody,
html[data-theme="dark"] #view-recibidos tbody tr,
html[data-theme="dark"] #view-recibidos tbody td {
  background:var(--triconta-dark-panel)!important;
}

html[data-theme="dark"] #view-recibidos thead,
html[data-theme="dark"] #view-recibidos thead tr,
html[data-theme="dark"] #view-recibidos thead th {
  background:var(--triconta-dark-panel-2)!important;
  color:var(--triconta-dark-text)!important;
}


/* ---------------------------------------------------------
   INPUTS / SELECT / TEXTAREA
   --------------------------------------------------------- */

html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background:var(--triconta-dark-input)!important;
  color:var(--triconta-dark-text)!important;
  border-color:var(--triconta-dark-border)!important;
}

html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color:#8fa2bd!important;
  opacity:1!important;
}

html[data-theme="dark"] input[type="date"],
html[data-theme="dark"] input[type="datetime-local"] {
  color-scheme:dark;
}


/* ---------------------------------------------------------
   LABELS Y TEXTOS
   --------------------------------------------------------- */

html[data-theme="dark"] .view label,
html[data-theme="dark"] .view legend,
html[data-theme="dark"] .view strong,
html[data-theme="dark"] .view b {
  color:var(--triconta-dark-text);
}

html[data-theme="dark"] .view small,
html[data-theme="dark"] .view .muted,
html[data-theme="dark"] .view .hint,
html[data-theme="dark"] .table-sub {
  color:var(--triconta-dark-muted)!important;
}


/* ---------------------------------------------------------
   CLIENTES / PROVEEDORES / NOMBRES DE AGRUPACION
   --------------------------------------------------------- */

html[data-theme="dark"] .issued-client-banner,
html[data-theme="dark"] .issued-client-banner strong,
html[data-theme="dark"] .received-client-banner,
html[data-theme="dark"] .received-client-banner strong,
html[data-theme="dark"] .provider-name,
html[data-theme="dark"] .client-name,
html[data-theme="dark"] tbody td strong {
  color:var(--triconta-dark-text)!important;
}

html[data-theme="dark"] .issued-client-banner small,
html[data-theme="dark"] .received-client-banner small,
html[data-theme="dark"] .provider-meta,
html[data-theme="dark"] .client-meta {
  color:var(--triconta-dark-muted)!important;
}


/* ---------------------------------------------------------
   BOTONES
   --------------------------------------------------------- */

html[data-theme="dark"] .btn,
html[data-theme="dark"] button:not(.primary):not(.danger):not(.badge) {
  border-color:var(--triconta-dark-border);
}

html[data-theme="dark"] .btn:not(.primary):not(.danger),
html[data-theme="dark"] .row-menu summary,
html[data-theme="dark"] .row-menu-pop button {
  background:var(--triconta-dark-panel-2)!important;
  color:var(--triconta-dark-text)!important;
}


/* ---------------------------------------------------------
   PAGINACION
   --------------------------------------------------------- */

html[data-theme="dark"] .page-btn {
  background:var(--triconta-dark-panel-2)!important;
  color:var(--triconta-dark-text)!important;
  border-color:var(--triconta-dark-border)!important;
}


/* ---------------------------------------------------------
   ESTADOS
   NO SE CONVIERTEN EN BLANCO
   --------------------------------------------------------- */

html[data-theme="dark"] .badge,
html[data-theme="dark"] .status-badge,
html[data-theme="dark"] .inventory-status,
html[data-theme="dark"] .account-status {
  border-color:var(--triconta-dark-border);
}


/* ---------------------------------------------------------
   DIALOGOS
   --------------------------------------------------------- */

html[data-theme="dark"] dialog,
html[data-theme="dark"] dialog .dialog-card {
  background:var(--triconta-dark-panel)!important;
  color:var(--triconta-dark-text)!important;
  border-color:var(--triconta-dark-border)!important;
}


/* ---------------------------------------------------------
   DETAILS / SUMMARY
   --------------------------------------------------------- */

html[data-theme="dark"] details,
html[data-theme="dark"] summary {
  color:var(--triconta-dark-text);
}


/* ---------------------------------------------------------
   VERSION MOVIL
   --------------------------------------------------------- */

html[data-theme="dark"] body.invoice-mobile-mode .mobile-doc-card,
html[data-theme="dark"] body.invoice-mobile-mode .mobile-card,
html[data-theme="dark"] body.invoice-mobile-mode .mobile-panel,
html[data-theme="dark"] body.invoice-mobile-mode .mobile-section {
  background:var(--triconta-dark-panel)!important;
  color:var(--triconta-dark-text)!important;
  border-color:var(--triconta-dark-border)!important;
}

html[data-theme="dark"] body.invoice-mobile-mode input,
html[data-theme="dark"] body.invoice-mobile-mode select,
html[data-theme="dark"] body.invoice-mobile-mode textarea {
  background:var(--triconta-dark-input)!important;
  color:var(--triconta-dark-text)!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-doc-card strong,
html[data-theme="dark"] body.invoice-mobile-mode .mobile-card strong {
  color:var(--triconta-dark-text)!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-doc-card small,
html[data-theme="dark"] body.invoice-mobile-mode .mobile-card small {
  color:var(--triconta-dark-muted)!important;
}


/* ---------------------------------------------------------
   PROTECCION CONTRA FONDOS BLANCOS ESPECIFICOS
   EN RECEPCION
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos [style*="background: white"],
html[data-theme="dark"] #view-recibidos [style*="background:white"],
html[data-theme="dark"] #view-recibidos [style*="background: #fff"],
html[data-theme="dark"] #view-recibidos [style*="background:#fff"],
html[data-theme="dark"] #view-recibidos [style*="background: rgb(255"] {
  background:var(--triconta-dark-panel)!important;
  color:var(--triconta-dark-text)!important;
}


/* FIN NORMALIZACION GLOBAL MODO OSCURO */


/* =========================================================
   TRICONTA FE - FIX EXACTO RECEPCION MODO OSCURO
   WEB + MOVIL
   Corrige:
   - Buscar proveedor o documento
   - Encabezado FECHA / TIPO / ESTADO / TOTAL / ARCHIVOS
   - Filas y textos de documentos recibidos
   ========================================================= */


/* ---------------------------------------------------------
   1. BARRA BUSCAR PROVEEDOR O DOCUMENTO
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .received-search-bar {
  background:#0d1a2e !important;
  color:#f3f6fb !important;
  border-color:#2c405c !important;
  box-shadow:none !important;
}

html[data-theme="dark"] #view-recibidos .received-search-main {
  background:transparent !important;
  color:#f3f6fb !important;
}

html[data-theme="dark"] #view-recibidos .received-search-main label {
  color:#f3f6fb !important;
}

html[data-theme="dark"] #view-recibidos .received-search-main input,
html[data-theme="dark"] #view-recibidos #recibidosSearch {
  background:#101f36 !important;
  color:#f3f6fb !important;
  border-color:#2c405c !important;
}

html[data-theme="dark"] #view-recibidos .received-search-main input::placeholder,
html[data-theme="dark"] #view-recibidos #recibidosSearch::placeholder {
  color:#9eacc0 !important;
  opacity:1 !important;
}

html[data-theme="dark"] #view-recibidos #recibidosSearchCount {
  color:#aab9ce !important;
}


/* ---------------------------------------------------------
   2. CONTENEDOR REAL DE LA LISTA
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-shell,
html[data-theme="dark"] #view-recibidos .rx-list,
html[data-theme="dark"] #view-recibidos .rx-body {
  background:#0d1a2e !important;
  color:#f3f6fb !important;
  border-color:#2c405c !important;
}


/* ---------------------------------------------------------
   3. ENCABEZADO REAL
   FECHA / TIPO / ESTADO / TOTAL / ARCHIVOS

   IMPORTANTE:
   Este encabezado NO depende solamente de THEAD.
   La pantalla utiliza .rx-head.
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-head {
  background:#12223a !important;
  color:#f3f6fb !important;
  border-color:#2c405c !important;
}

html[data-theme="dark"] #view-recibidos .rx-head > *,
html[data-theme="dark"] #view-recibidos .rx-head div,
html[data-theme="dark"] #view-recibidos .rx-head span,
html[data-theme="dark"] #view-recibidos .rx-head strong {
  background:transparent !important;
  color:#dce6f4 !important;
  border-color:#2c405c !important;
}


/* ---------------------------------------------------------
   4. FILAS DE DOCUMENTOS RECIBIDOS
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-row {
  background:#0d1a2e !important;
  color:#f3f6fb !important;
  border-color:#2c405c !important;
}

html[data-theme="dark"] #view-recibidos .rx-row > * {
  background:transparent !important;
  border-color:#2c405c !important;
}

html[data-theme="dark"] #view-recibidos .rx-row:hover,
html[data-theme="dark"] #view-recibidos .rx-row:hover > * {
  background:#0d1a2e !important;
}


/* ---------------------------------------------------------
   5. PROVEEDOR / EMISOR
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-emisor,
html[data-theme="dark"] #view-recibidos .rx-emisor-name,
html[data-theme="dark"] #view-recibidos .rx-emisor-name strong,
html[data-theme="dark"] #view-recibidos .rx-emisor-name span {
  color:#f3f6fb !important;
}

html[data-theme="dark"] #view-recibidos .rx-emisor small {
  color:#aab9ce !important;
}


/* ---------------------------------------------------------
   6. FECHA Y TOTAL
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-date {
  color:#f3f6fb !important;
}

html[data-theme="dark"] #view-recibidos .rx-total,
html[data-theme="dark"] #view-recibidos .rx-total strong,
html[data-theme="dark"] #view-recibidos .rx-total span,
html[data-theme="dark"] #view-recibidos .rx-total b {
  color:#f3f6fb !important;
}


/* ---------------------------------------------------------
   7. BOTONES DE ARCHIVOS
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-file-btn {
  background:#12223a !important;
  color:#f3f6fb !important;
  border-color:#344a69 !important;
}

html[data-theme="dark"] #view-recibidos .rx-file-btn:hover {
  background:#12223a !important;
  color:#f3f6fb !important;
  border-color:#344a69 !important;
  transform:none !important;
}


/* ---------------------------------------------------------
   8. TIPO DE DOCUMENTO
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-type {
  border-color:#344a69 !important;
}

html[data-theme="dark"] #view-recibidos .rx-type-invoice {
  background:#183457 !important;
  color:#b9d9ff !important;
}

html[data-theme="dark"] #view-recibidos .rx-type-credit {
  background:#17382f !important;
  color:#a6e5ca !important;
}

html[data-theme="dark"] #view-recibidos .rx-type-debit {
  background:#3b301a !important;
  color:#f4d790 !important;
}


/* ---------------------------------------------------------
   9. ESTADOS
   CONSERVAR DIFERENCIA VISUAL SIN FONDO BLANCO
   --------------------------------------------------------- */

html[data-theme="dark"] #view-recibidos .rx-status {
  border-color:#344a69 !important;
}


/* ---------------------------------------------------------
   10. PROTECCION PARA VERSION MOVIL
   --------------------------------------------------------- */

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-shell,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-body,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-row {
  background:#0d1a2e !important;
  color:#f3f6fb !important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-head {
  background:#12223a !important;
  color:#f3f6fb !important;
}

html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-emisor-name,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-date,
html[data-theme="dark"] body.invoice-mobile-mode #view-recibidos .rx-total {
  color:#f3f6fb !important;
}


/* FIN FIX EXACTO RECEPCION MODO OSCURO */



/* =========================================================
   TRICONTA FE - INICIO SIEMPRE VISIBLE EN VERSION WEB
   El zoom no debe eliminar el acceso principal al dashboard.
   Factura movil permanece intacta.
   ========================================================= */


/* ---------------------------------------------------------
   VERSION WEB COMPACTA
   --------------------------------------------------------- */

@media (max-width:1080px){

  /*
     El acceso de marca / Inicio no puede desaparecer cuando
     el navegador reduce el viewport efectivo por zoom.
  */

  body:not(.invoice-mobile-mode) #appShell
  [onclick*="showView('dashboard')"],

  body:not(.invoice-mobile-mode) #appShell
  [data-view="dashboard"]{

    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }


  /*
     Proteccion de los contenedores habituales de marca.
     Solo actua si existen en el DOM.
  */

  body:not(.invoice-mobile-mode) .app-brand,
  body:not(.invoice-mobile-mode) .sidebar-brand,
  body:not(.invoice-mobile-mode) .brand,
  body:not(.invoice-mobile-mode) .brand-home,
  body:not(.invoice-mobile-mode) .app-logo,
  body:not(.invoice-mobile-mode) .sidebar-logo{

    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

}


/* ---------------------------------------------------------
   ZOOM ALTO / PANTALLA WEB MUY ESTRECHA
   --------------------------------------------------------- */

@media (max-width:760px){

  /*
     IMPORTANTE:
     Esto sigue siendo solamente VERSION WEB.
     No afecta body.invoice-mobile-mode.
  */

  body:not(.invoice-mobile-mode) #appShell
  [onclick*="showView('dashboard')"],

  body:not(.invoice-mobile-mode) #appShell
  [data-view="dashboard"]{

    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

}


/* FIN FIX INICIO SIEMPRE VISIBLE CON ZOOM */



/* =========================================================
   ACCESO HOME DE SEGURIDAD
   Solo aparece si el logo/acceso original realmente desaparece.
   ========================================================= */

#tricontaHomeZoomFallback{
  display:none;
}

@media(max-width:1080px){

  body:not(.invoice-mobile-mode) #tricontaHomeZoomFallback{

    position:fixed!important;
    top:12px!important;
    left:12px!important;

    z-index:2147482000!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;

    min-height:44px!important;
    padding:8px 14px!important;

    border:1px solid #304967!important;
    border-radius:12px!important;

    background:#0e2038!important;
    color:#ffffff!important;

    font:700 15px/1.1 inherit!important;

    cursor:pointer!important;
  }

}

body.invoice-mobile-mode #tricontaHomeZoomFallback{
  display:none!important;
}

/* FIN ACCESO HOME DE SEGURIDAD */


/* =========================================================
   TRICONTA FE - INICIO CUANDO SIDEBAR ESTA OCULTO
   ========================================================= */

#tricontaHomeCollapsedBtn {
  display:none;
}

body:not(.invoice-mobile-mode)
#tricontaHomeCollapsedBtn.show {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:44px!important;
  padding:0 16px!important;
  border:1px solid var(--border, #2c405c)!important;
  border-radius:12px!important;
  background:transparent!important;
  color:inherit!important;
  font-weight:700!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:100!important;
}

body:not(.invoice-mobile-mode)
#tricontaHomeCollapsedBtn.show:hover {
  background:transparent!important;
}

#tricontaHomeCollapsedBtn
.triconta-home-collapsed-icon {
  font-size:22px!important;
  line-height:1!important;
}

#tricontaHomeCollapsedBtn
.triconta-home-collapsed-text {
  font-size:15px!important;
}

/* Con espacios reducidos conserva al menos el icono */
@media (max-width:900px) {
  body:not(.invoice-mobile-mode)
  #tricontaHomeCollapsedBtn.show {
    min-width:46px!important;
    padding:0 12px!important;
  }

  body:not(.invoice-mobile-mode)
  #tricontaHomeCollapsedBtn.show
  .triconta-home-collapsed-text {
    display:none!important;
  }
}

/* FIN INICIO CUANDO SIDEBAR ESTA OCULTO */


/* =========================================================
   TRICONTA FE - HOME WEB RESPONSIVE DEFINITIVO
   En Sistema web conserva Menu + Inicio cuando el sidebar
   desaparece por zoom o por ancho reducido.
   Factura movil permanece intacta.
   ========================================================= */

@media (max-width:1080px){

  body:not(.invoice-mobile-mode)
  #tricontaHomeCollapsedBtn.show{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:auto!important;
    min-height:44px!important;
    padding:0 16px!important;
    white-space:nowrap!important;
    position:relative!important;
    z-index:5205!important;
  }

  body:not(.invoice-mobile-mode)
  #tricontaHomeCollapsedBtn.show
  .triconta-home-collapsed-text{
    display:inline!important;
  }

}

/*
   Solo en un espacio extremadamente reducido se permite
   conservar unicamente el icono de Inicio.
*/
@media (max-width:480px){

  body:not(.invoice-mobile-mode)
  #tricontaHomeCollapsedBtn.show{
    min-width:44px!important;
    width:44px!important;
    padding:0!important;
  }

  body:not(.invoice-mobile-mode)
  #tricontaHomeCollapsedBtn.show
  .triconta-home-collapsed-text{
    display:none!important;
  }

}

/* FIN HOME WEB RESPONSIVE DEFINITIVO */


/* =========================================================
   TRICONTA FE
   MENU + INICIO JUNTO AL NOMBRE PRINCIPAL
   SOLO VERSION WEB
   ========================================================= */

body:not(.invoice-mobile-mode)
.triconta-header-name-controls-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:14px!important;
  width:100%!important;
  min-width:0!important;
  flex-wrap:nowrap!important;
}


body:not(.invoice-mobile-mode)
.triconta-header-name-controls-row > h1,
body:not(.invoice-mobile-mode)
.triconta-header-name-controls-row > h2,
body:not(.invoice-mobile-mode)
.triconta-header-name-controls-row > h3,
body:not(.invoice-mobile-mode)
.triconta-header-name-controls-row > strong{
  margin:0!important;
  min-width:0!important;
  flex:0 1 auto!important;
}


body:not(.invoice-mobile-mode)
.triconta-header-name-controls{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:8px!important;
  flex:0 0 auto!important;
  position:relative!important;
  z-index:5300!important;
}


/* BOTON MENU */

body:not(.invoice-mobile-mode)
.triconta-header-name-controls
.triconta-header-menu-btn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:relative!important;
  inset:auto!important;
  margin:0!important;
  flex:0 0 auto!important;
  z-index:5301!important;
}


/* BOTON INICIO */

body:not(.invoice-mobile-mode)
.triconta-header-name-controls
#tricontaHomeCollapsedBtn,
body:not(.invoice-mobile-mode)
.triconta-header-name-controls
.triconta-header-home-btn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:relative!important;
  inset:auto!important;
  margin:0!important;
  flex:0 0 auto!important;
  z-index:5301!important;
}


/*
   IMPORTANTISIMO:
   Anula la regla anterior que escondia Inicio
   dependiendo del estado del sidebar.
*/

body:not(.invoice-mobile-mode)
.triconta-header-name-controls
#tricontaHomeCollapsedBtn{
  display:inline-flex!important;
}


/* ZOOM / PANTALLA COMPACTA */

@media(max-width:1080px){

  body:not(.invoice-mobile-mode)
  .triconta-header-name-controls-row{
    gap:8px!important;
  }

  body:not(.invoice-mobile-mode)
  .triconta-header-name-controls{
    gap:6px!important;
  }

  body:not(.invoice-mobile-mode)
  .triconta-header-name-controls
  #tricontaHomeCollapsedBtn{
    min-height:42px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }

}


/*
   Si el espacio es muy reducido:
   NO desaparecen los botones.
   Primero se compacta el texto de Inicio.
*/

@media(max-width:700px){

  body:not(.invoice-mobile-mode)
  .triconta-header-name-controls-row{
    flex-wrap:wrap!important;
  }

  body:not(.invoice-mobile-mode)
  .triconta-header-name-controls{
    flex-wrap:nowrap!important;
  }

}


/* VERSION MOVIL DEL FACTURADOR NO SE MODIFICA */

body.invoice-mobile-mode
.triconta-header-name-controls{
  display:none!important;
}


/* FIN MENU + INICIO JUNTO AL NOMBRE */


/* =========================================================
   TRICONTA FE - EDITAR DESCRIPCION DE LINEA WEB
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-description-original-hidden{
  display:none!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-description-display{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  width:100%!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-description-display strong{
  flex:1 1 auto!important;
  cursor:pointer!important;
  font-size:18px!important;
  line-height:1.35!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-description-display strong:hover{
  text-decoration:underline!important;
  text-decoration-style:dotted!important;
  text-underline-offset:4px!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-description-pencil{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  flex:0 0 38px!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:0!important;

  border:1px solid #43a98f!important;
  border-radius:9px!important;

  background:#e9faf5!important;
  color:#087b68!important;

  font-size:22px!important;
  line-height:1!important;

  cursor:pointer!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-description-pencil:hover{
  background:#d7f5ec!important;
  border-color:#07836e!important;
}

.triconta-description-dialog{
  width:min(680px,92vw)!important;
  max-width:680px!important;
  padding:0!important;

  border:1px solid #d7e1eb!important;
  border-radius:16px!important;

  background:transparent!important;

  box-shadow:0 25px 70px rgba(0,0,0,.35)!important;
}

.triconta-description-dialog::backdrop{
  background:rgba(3,12,25,.68)!important;
  backdrop-filter:blur(2px)!important;
}

.triconta-description-card{
  padding:22px!important;
  background:#ffffff!important;
  color:#122033!important;
}

.triconta-description-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:18px!important;
  margin-bottom:20px!important;
}

.triconta-description-head h3{
  margin:0 0 5px!important;
  font-size:22px!important;
}

.triconta-description-head small{
  color:#66788c!important;
}

.triconta-description-close{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;

  border:1px solid #d7e1eb!important;
  border-radius:10px!important;

  background:#f7f9fc!important;
  color:#26394e!important;

  font-size:25px!important;
  cursor:pointer!important;
}

.triconta-description-field{
  display:grid!important;
  gap:8px!important;

  font-size:13px!important;
  font-weight:800!important;
}

.triconta-description-field textarea{
  width:100%!important;
  min-height:150px!important;
  resize:vertical!important;

  padding:14px!important;

  font-size:17px!important;
  line-height:1.45!important;
}

.triconta-description-actions{
  display:flex!important;
  justify-content:flex-end!important;
  gap:10px!important;

  margin-top:20px!important;
}

/* Modo oscuro */

html[data-theme="dark"]
.triconta-description-card{
  background:#111d31!important;
  color:#f5f8ff!important;
}

html[data-theme="dark"]
.triconta-description-head small{
  color:#9eacc0!important;
}

html[data-theme="dark"]
.triconta-description-close{
  background:#172337!important;
  color:#f5f8ff!important;
  border-color:#33445e!important;
}

html[data-theme="dark"]
.triconta-description-field textarea{
  background:#172337!important;
  color:#f5f8ff!important;
  border-color:#33445e!important;
}

/* FIN EDITAR DESCRIPCION DE LINEA WEB */


/* =========================================================
   TRICONTA FE - LAPIZ DESCRIPCION V2
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-title-v2{

  display:flex!important;
  align-items:center!important;
  gap:12px!important;

  width:100%!important;
  margin:4px 0!important;

}


body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-title-v2 strong{

  flex:1 1 auto!important;

  font-size:20px!important;
  line-height:1.3!important;

  cursor:pointer!important;

}


body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-pencil-v2{

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:40px!important;
  height:40px!important;
  min-width:40px!important;

  padding:0!important;

  border:1px solid #43a98f!important;
  border-radius:10px!important;

  background:#eafaf5!important;
  color:#087d69!important;

  font-size:24px!important;
  font-weight:900!important;

  cursor:pointer!important;

}


body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-pencil-v2:hover{

  background:#d6f5ec!important;
  border-color:#07836e!important;

}


html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-pencil-v2{

  background:#12362f!important;
  color:#6ff0ce!important;
  border-color:#277b68!important;

}


/* Campo pequeño anterior */

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-antigua-oculta{

  display:none!important;

}

/* FIN LAPIZ DESCRIPCION V2 */


/* =========================================================
   TRICONTA FE - DESCRIPCION EDITABLE DIRECTA EN BANNER WEB
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-emitir
.line-description-label{
  display:none!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-edit-title{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  margin:5px 0 4px!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-edit-pencil{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  width:38px!important;
  height:38px!important;
  padding:0!important;
  border:1px solid rgba(91,232,190,.55)!important;
  border-radius:9px!important;
  background:rgba(34,197,145,.12)!important;
  color:#69f0c2!important;
  font-size:21px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-edit-pencil:hover{
  transform:translateY(-1px)!important;
  background:rgba(34,197,145,.22)!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-edit-text{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  cursor:pointer!important;
  line-height:1.25!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.triconta-desc-edit-text:hover{
  text-decoration:underline!important;
  text-decoration-style:dotted!important;
  text-underline-offset:4px!important;
}

/* FIN DESCRIPCION EDITABLE DIRECTA EN BANNER WEB */

/* =========================================================
   TRICONTA FE - QUITAR DESCRIPCION ANTIGUA EN MOVIL
   La descripcion ahora se edita desde el lapiz del banner.
   ========================================================= */

body.invoice-mobile-mode
#view-emitir
.line-description-label{
  display:none!important;
}

/* Defensa por si algun fix anterior agrego otra clase */
body.invoice-mobile-mode
#view-emitir
.triconta-description-original-hidden,
body.invoice-mobile-mode
#view-emitir
.triconta-desc-antigua-oculta{
  display:none!important;
}

/* FIN QUITAR DESCRIPCION ANTIGUA EN MOVIL */


/* =========================================================
   TRICONTA FE - DESCRIPCION GRANDE EN POPPINS
   WEB + MOVIL
   ========================================================= */

#view-emitir
.triconta-desc-edit-text,
#view-emitir
.selected-product-banner strong,
#view-emitir
.triconta-desc-title-v2 strong {
  font-family:"Poppins",sans-serif!important;
  font-weight:700!important;
  letter-spacing:0!important;
}

/* FIN DESCRIPCION GRANDE EN POPPINS */


/* =========================================================
   TRICONTA FE - BOTON BUSCAR PRODUCTO SIMPLE
   Version web.
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-emitir
.line-product-choose{
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}

body:not(.invoice-mobile-mode)
#view-emitir
.line-product-search-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  width:auto!important;
  max-width:100%!important;
  min-width:120px!important;

  padding-left:18px!important;
  padding-right:18px!important;

  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* FIN BOTON BUSCAR PRODUCTO SIMPLE */


/* =========================================================
   TRICONTA FE - ENCABEZADO VISUAL DETALLE DE LINEAS
   ========================================================= */


/* CONTENEDOR */

#view-emitir
.triconta-line-summary-table{
  width:100%!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}


/* CABECERA */

#view-emitir
.triconta-line-summary-table thead th{

  font-weight:800!important;
  font-family:"Poppins",sans-serif!important;

  padding:14px 12px!important;

  text-transform:uppercase!important;
  letter-spacing:.35px!important;

  border-top:1px solid #39506e!important;
  border-bottom:2px solid #536b8c!important;

  vertical-align:middle!important;
}


/* MODO OSCURO */

html[data-theme="dark"]
#view-emitir
.triconta-line-summary-table thead th{

  background:#172a44!important;
  color:#f4f7ff!important;

  border-color:#3b5577!important;
}


/* MODO CLARO */

html:not([data-theme="dark"])
#view-emitir
.triconta-line-summary-table thead th{

  background:#eaf0f8!important;
  color:#14243a!important;

  border-color:#c3d0e1!important;
}


/* PRIMERA FILA DE DETALLE:
   pequeña separación visual debajo de la cabecera */

#view-emitir
.triconta-line-summary-table tbody tr:first-child td{
  border-top:5px solid transparent!important;
}


/* FILAS */

#view-emitir
.triconta-line-summary-table tbody td{
  padding-top:14px!important;
  padding-bottom:14px!important;
}


/* SEPARADORES ENTRE LINEAS */

#view-emitir
.triconta-line-summary-table tbody tr:not(:last-child) td{
  border-bottom:1px solid rgba(125,150,185,.28)!important;
}


/* REDONDEO DE CABECERA */

#view-emitir
.triconta-line-summary-table thead th:first-child{
  border-top-left-radius:9px!important;
}

#view-emitir
.triconta-line-summary-table thead th:last-child{
  border-top-right-radius:9px!important;
}


/* FIN ENCABEZADO VISUAL DETALLE DE LINEAS */


/* =========================================================
   TRICONTA FE - IVA DESTACADO EN RESUMEN
   El color principal se copia dinámicamente desde TOTAL.
   ========================================================= */

#view-emitir
.triconta-iva-destacado{
  transition:
    background-color .15s ease,
    border-color .15s ease!important;
}

#view-emitir
.triconta-iva-destacado strong,
#view-emitir
.triconta-iva-destacado b{
  font-weight:800!important;
}

/* FIN IVA DESTACADO EN RESUMEN */


/* =========================================================
   TRICONTA FE - DASHBOARD ORDEN FINAL
   1. Acciones rapidas
   2. Tres metricas
   3. Graficos / resumen / actividad
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-dashboard
.dashboard-actions-first-wrap{
  width:100%!important;
  margin:0 0 18px 0!important;
}

body:not(.invoice-mobile-mode)
#view-dashboard
.dashboard-actions-first-wrap
.quick-actions-card{
  width:100%!important;
  margin:0!important;
}

body:not(.invoice-mobile-mode)
#view-dashboard
.dashboard-actions-first-wrap
.quick-action-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
}

/* Ahora solamente existen tres indicadores principales */
body:not(.invoice-mobile-mode)
#view-dashboard
#stats{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}

/*
   El bloque inferior queda dedicado al soporte.
   Ya no contiene Acciones rapidas.
*/
body:not(.invoice-mobile-mode)
#view-dashboard
.dashboard-bottom-grid{
  grid-template-columns:1fr!important;
}

/* Adaptacion cuando el ancho disminuye */
@media(max-width:1200px){

  body:not(.invoice-mobile-mode)
  #view-dashboard
  .dashboard-actions-first-wrap
  .quick-action-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }

}

@media(max-width:850px){

  body:not(.invoice-mobile-mode)
  #view-dashboard
  #stats{
    grid-template-columns:1fr!important;
  }

  body:not(.invoice-mobile-mode)
  #view-dashboard
  .dashboard-actions-first-wrap
  .quick-action-grid{
    grid-template-columns:1fr!important;
  }

}

/* FIN DASHBOARD ORDEN FINAL */


/* =========================================================
   TRICONTA FE - OCULTAR CREAR NOTA EXTERNO
   La opcion pasa al menu Mas acciones.
   ========================================================= */

#docsBody
.triconta-create-note-original-hidden{
  display:none!important;
}


/*
   Las nuevas opciones de nota conservan
   el mismo estilo del resto de Mas acciones.
*/

.issued-more-dialog-actions
.triconta-more-note-action,
.issued-more-menu
.row-menu-pop
.triconta-more-note-action{
  width:100%!important;
}


/* FIN OCULTAR CREAR NOTA EXTERNO */














/* =========================================================
   TRICONTA FE - MENU WEB MOVIL OFICIAL V1
   Unica implementacion para Sistema web en telefono/tablet.
   NO modifica Factura movil.
   ========================================================= */

.mobile-web-nav-header{
  display:none;
}

/* ---------------------------------------------------------
   REGLA ABSOLUTA:
   LOGIN Y SELECTOR DE EXPERIENCIA NO PUEDEN MOSTRAR APPSHELL
   --------------------------------------------------------- */

body:has(#authScreen:not(.hidden)) #appShell,
body:has(#modeChoiceScreen:not(.hidden)) #appShell,
body:has(#authScreen:not(.hidden)) #appShell.hidden,
body:has(#modeChoiceScreen:not(.hidden)) #appShell.hidden{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#appShell.hidden{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* ---------------------------------------------------------
   SISTEMA WEB MOVIL
   --------------------------------------------------------- */

@media(max-width:1080px){

  /* Boton hamburguesa integrado */
  body:not(.invoice-mobile-mode) #appShell:not(.hidden) #mobileMenuBtn{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;

    position:relative!important;

    width:42px!important;
    min-width:42px!important;
    max-width:42px!important;
    height:42px!important;

    margin:0!important;
    padding:8px!important;

    align-items:center!important;
    justify-content:center!important;
    flex-direction:column!important;
    gap:5px!important;

    border:1px solid #d5deea!important;
    border-radius:11px!important;

    background:#f8fafc!important;
    color:#132b48!important;

    box-shadow:none!important;
    transform:none!important;

    z-index:40!important;
  }

  body:not(.invoice-mobile-mode) #appShell:not(.hidden) #mobileMenuBtn span{
    display:block!important;
    width:22px!important;
    height:2px!important;
    min-height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:currentColor!important;
    pointer-events:none!important;
  }

  body:not(.invoice-mobile-mode).mobile-nav-open #mobileMenuBtn span:nth-child(1){
    transform:translateY(7px) rotate(45deg)!important;
  }

  body:not(.invoice-mobile-mode).mobile-nav-open #mobileMenuBtn span:nth-child(2){
    opacity:0!important;
  }

  body:not(.invoice-mobile-mode).mobile-nav-open #mobileMenuBtn span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg)!important;
  }

  /* Cabecera principal ordenada */
  body:not(.invoice-mobile-mode) #appShell:not(.hidden) .app-header-primary{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;

    align-items:center!important;
    gap:8px 10px!important;

    padding:9px 10px!important;
  }

  body:not(.invoice-mobile-mode) #appShell:not(.hidden) #mobileMenuBtn{
    grid-column:1!important;
    grid-row:1!important;
  }

  body:not(.invoice-mobile-mode) #appShell:not(.hidden) .app-brand-horizontal{
    grid-column:2!important;
    grid-row:1!important;

    min-width:0!important;
    width:auto!important;
    margin:0!important;
  }

  body:not(.invoice-mobile-mode) #appShell:not(.hidden) .header-account{
    grid-column:3!important;
    grid-row:1!important;

    min-width:0!important;
    width:auto!important;
    margin:0!important;
  }

  body:not(.invoice-mobile-mode) #appShell:not(.hidden) .active-company-header{
    grid-column:1 / -1!important;
    grid-row:2!important;

    display:block!important;
    width:100%!important;
    margin:0!important;
  }

  /* -------------------------------------------------------
     CAJON LATERAL
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode) #appShell:not(.hidden) #nav.top-nav{
    position:fixed!important;

    top:0!important;
    left:0!important;
    right:auto!important;
    bottom:0!important;

    display:block!important;

    width:min(88vw,360px)!important;
    min-width:280px!important;
    max-width:360px!important;

    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;

    margin:0!important;

    padding:
      calc(10px + env(safe-area-inset-top))
      12px
      calc(24px + env(safe-area-inset-bottom))!important;

    box-sizing:border-box!important;

    background:linear-gradient(180deg,#0b2039 0%,#0d2948 100%)!important;

    border:0!important;
    border-right:1px solid rgba(255,255,255,.12)!important;
    border-radius:0!important;

    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;

    opacity:1!important;
    visibility:visible!important;

    transform:translate3d(-105%,0,0)!important;
    transition:transform .22s ease!important;

    box-shadow:16px 0 38px rgba(0,0,0,.32)!important;

    z-index:12000!important;
    pointer-events:auto!important;
  }

  body:not(.invoice-mobile-mode).mobile-nav-open #appShell:not(.hidden) #nav.top-nav,
  body:not(.invoice-mobile-mode).sidebar-collapsed.mobile-nav-open #appShell:not(.hidden) #nav.top-nav{
    transform:translate3d(0,0,0)!important;
  }

  /* Cabecera cajon */
  body:not(.invoice-mobile-mode) #appShell:not(.hidden) #mobileWebNavHeader{
    position:sticky!important;
    top:calc(-10px - env(safe-area-inset-top))!important;

    z-index:5!important;

    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;

    width:calc(100% + 24px)!important;
    min-height:72px!important;

    margin:
      calc(-10px - env(safe-area-inset-top))
      -12px
      14px!important;

    padding:
      calc(12px + env(safe-area-inset-top))
      16px
      12px!important;

    box-sizing:border-box!important;

    background:#071a31!important;
    border-bottom:1px solid rgba(255,255,255,.13)!important;
  }

  body:not(.invoice-mobile-mode) #mobileWebNavHeader .mobile-web-nav-brand{
    display:grid!important;
    gap:2px!important;
  }

  body:not(.invoice-mobile-mode) #mobileWebNavHeader strong{
    color:#fff!important;
    font-size:18px!important;
    font-weight:900!important;
  }

  body:not(.invoice-mobile-mode) #mobileWebNavHeader strong em{
    color:#f0a516!important;
    font-style:normal!important;
  }

  body:not(.invoice-mobile-mode) #mobileWebNavHeader small{
    color:#aebfd1!important;
    font-size:11px!important;
  }

  body:not(.invoice-mobile-mode) #mobileWebNavHeader .mobile-web-nav-close{
    display:grid!important;
    place-items:center!important;

    width:40px!important;
    min-width:40px!important;
    height:40px!important;

    padding:0!important;

    border:1px solid rgba(255,255,255,.16)!important;
    border-radius:11px!important;

    background:rgba(255,255,255,.08)!important;
    color:#fff!important;

    font-size:27px!important;
    line-height:1!important;
  }

  /* Elementos principales */
  body:not(.invoice-mobile-mode) #nav.top-nav > .nav-home:not(.hidden),
  body:not(.invoice-mobile-mode) #nav.top-nav > details.nav-group:not(.hidden){
    display:block!important;
    position:static!important;

    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;

    margin:0 0 6px!important;
    padding:0!important;

    border:0!important;
    border-radius:11px!important;

    background:transparent!important;
    box-shadow:none!important;

    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  body:not(.invoice-mobile-mode) #nav.top-nav > .hidden{
    display:none!important;
  }

  /* Inicio y categorias */
  body:not(.invoice-mobile-mode) #nav.top-nav > button.nav-home,
  body:not(.invoice-mobile-mode) #nav.top-nav > details.nav-group > summary{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;

    position:static!important;

    width:100%!important;
    min-width:0!important;
    max-width:none!important;

    height:52px!important;
    min-height:52px!important;

    margin:0!important;
    padding:0 13px!important;

    box-sizing:border-box!important;

    border:0!important;
    border-radius:11px!important;

    background:transparent!important;
    color:#dce8f5!important;

    box-shadow:none!important;

    font-size:15px!important;
    font-weight:760!important;
    line-height:1.2!important;

    text-align:left!important;
    white-space:normal!important;

    touch-action:manipulation!important;
  }

  body:not(.invoice-mobile-mode) #nav.top-nav > button.nav-home.active,
  body:not(.invoice-mobile-mode) #nav.top-nav > details.nav-group[open] > summary{
    background:rgba(255,255,255,.09)!important;
    color:#fff!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-svg{
    display:block!important;
    width:22px!important;
    min-width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-home-label{
    display:inline!important;
    font-size:15px!important;
    color:inherit!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-home-label:after{
    content:none!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-group-title{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-width:0!important;
    flex:1 1 auto!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-chevron,
  body:not(.invoice-mobile-mode) #nav .chev{
    margin-left:auto!important;
    color:#94abc3!important;
  }

  /* Submenus */
  body:not(.invoice-mobile-mode) #nav details.nav-group > .nav-group-body,
  body:not(.invoice-mobile-mode) #nav details.nav-group > .nav-pop{
    position:static!important;

    display:grid!important;
    grid-template-columns:1fr!important;
    gap:2px!important;

    width:100%!important;
    min-width:0!important;
    max-width:none!important;

    margin:0!important;
    padding:3px 6px 7px 38px!important;

    border:0!important;
    border-radius:0!important;

    background:transparent!important;
    box-shadow:none!important;

    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  body:not(.invoice-mobile-mode) #nav details.nav-group:not([open]) > .nav-group-body,
  body:not(.invoice-mobile-mode) #nav details.nav-group:not([open]) > .nav-pop{
    display:none!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-group-body > button,
  body:not(.invoice-mobile-mode) #nav .nav-pop > button{
    display:flex!important;
    align-items:center!important;

    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    min-height:43px!important;

    margin:0!important;
    padding:9px 11px!important;

    box-sizing:border-box!important;

    border:0!important;
    border-left:2px solid rgba(255,255,255,.14)!important;
    border-radius:0 9px 9px 0!important;

    background:transparent!important;
    color:#b9cadc!important;

    box-shadow:none!important;

    font-size:13px!important;
    font-weight:620!important;
    line-height:1.3!important;

    text-align:left!important;
    white-space:normal!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-group-body > button.active{
    border-left-color:#11b89f!important;
    background:rgba(17,184,159,.10)!important;
    color:#fff!important;
  }

  body:not(.invoice-mobile-mode) #nav .nav-group-body > button.hidden,
  body:not(.invoice-mobile-mode) #nav .nav-pop > button.hidden{
    display:none!important;
  }

  /* Fondo */
  body:not(.invoice-mobile-mode) #appShell:not(.hidden) #mobileNavBackdrop{
    display:block!important;

    position:fixed!important;
    inset:0!important;

    width:100vw!important;
    height:100dvh!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    border-radius:0!important;

    background:rgba(3,13,27,.62)!important;

    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;

    transition:opacity .2s ease!important;

    z-index:11990!important;
  }

  body:not(.invoice-mobile-mode).mobile-nav-open #appShell:not(.hidden) #mobileNavBackdrop{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body:not(.invoice-mobile-mode).mobile-nav-open{
    overflow:hidden!important;
  }
}

/* ---------------------------------------------------------
   FACTURA MOVIL:
   NO UTILIZA ESTE MENU WEB
   --------------------------------------------------------- */

body.invoice-mobile-mode #mobileWebNavHeader,
body.invoice-mobile-mode #mobileMenuBtn,
body.invoice-mobile-mode #mobileNavBackdrop,
body.invoice-mobile-mode #nav.top-nav{
  display:none!important;
}

/* FIN MENU WEB MOVIL OFICIAL V1 */

/* =========================================================
   TRICONTA FE - OCULTAR SOLO INICIO EN LOGIN
   Mantiene intacto el menu movil dentro del sistema.
   ========================================================= */

body:has(#authScreen:not(.hidden)) #nav > .nav-home,
body:has(#modeChoiceScreen:not(.hidden)) #nav > .nav-home{
  display:none!important;
}

/* FIN OCULTAR SOLO INICIO EN LOGIN */


/* =========================================================
   TRICONTA FE - BLOQUEAR BOTON INICIO LEGACY ELIMINADO
   El unico Inicio valido queda dentro del cajon #nav.
   ========================================================= */

#tricontaHomeCollapsedBtn,
.triconta-home-collapsed,
.triconta-header-home-btn{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* FIN BLOQUEAR BOTON INICIO LEGACY ELIMINADO */


/* =========================================================
   TRICONTA FE - BLOQUEAR INICIO ZOOM FALLBACK
   El unico Inicio permitido queda dentro de #nav.
   ========================================================= */

#tricontaHomeZoomFallback{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* FIN BLOQUEAR INICIO ZOOM FALLBACK */


/* =========================================================
   TRICONTA FE - RECIBIDOS WEB RESPONSIVE DEFINITIVO
   Sistema WEB en telefono.
   Factura movil permanece completamente independiente.
   ========================================================= */

@media(max-width:900px){

  body:not(.invoice-mobile-mode) #view-recibidos,
  body:not(.invoice-mobile-mode) #view-recibidos > .panel,
  body:not(.invoice-mobile-mode) #view-recibidos .rx-shell,
  body:not(.invoice-mobile-mode) #view-recibidos .rx-body{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }

  /* Buscador */
  body:not(.invoice-mobile-mode) #view-recibidos .received-search-bar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    align-items:end!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos .received-search-main,
  body:not(.invoice-mobile-mode) #view-recibidos #recibidosSearch{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos #recibidosSearchCount{
    grid-column:1/-1!important;
  }

  /* Fechas */
  body:not(.invoice-mobile-mode) #view-recibidos
  .form-grid.desktop-only:has(#recListaDesde){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    align-items:end!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos
  .form-grid.desktop-only:has(#recListaDesde) label{
    width:100%!important;
    min-width:0!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos #recListaDesde,
  body:not(.invoice-mobile-mode) #view-recibidos #recListaHasta{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos
  .form-grid.desktop-only:has(#recListaDesde) .actions{
    grid-column:1/-1!important;
    margin:0!important;
    width:100%!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos
  .form-grid.desktop-only:has(#recListaDesde) .actions .btn{
    width:100%!important;
    min-height:40px!important;
  }

  /* Encabezado de columnas no se usa en telefono */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-head{
    display:none!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos .rx-body{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }

  /* Tarjeta */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0!important;
    padding:14px!important;
    gap:9px!important;

    align-items:start!important;
    align-content:start!important;

    box-sizing:border-box!important;
    overflow:hidden!important;

    border:1px solid var(--border,#dbe4ef)!important;
    border-radius:14px!important;
    background:var(--surface,#fff)!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos .rx-row > *{
    grid-column:1!important;
    grid-row:auto!important;

    position:static!important;
    float:none!important;
    transform:none!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    height:auto!important;
    min-height:0!important;

    margin:0!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }

  /* Fecha */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-date{
    font-size:13px!important;
    font-weight:750!important;
    line-height:1.25!important;
  }

  /* Proveedor */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-emisor{
    display:block!important;
    padding:0!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos .rx-emisor-name{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:0 4px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    font-size:16px!important;
    line-height:1.3!important;

    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos .rx-emisor small{
    display:block!important;
    margin-top:4px!important;

    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  /* Tipo */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-type{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;

    padding:7px 10px!important;

    white-space:normal!important;
  }

  /* Estado */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-status{
    display:inline-flex!important;
    width:max-content!important;
    max-width:100%!important;

    padding:7px 11px!important;

    white-space:normal!important;
  }

  /* TOTAL COMPLETO */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-total{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    margin:0!important;
    padding:7px 0!important;

    font-size:20px!important;
    font-weight:900!important;
    line-height:1.25!important;

    text-align:left!important;

    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos .rx-total > *{
    max-width:100%!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  /* Archivos */
  body:not(.invoice-mobile-mode) #view-recibidos .rx-files{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;

    gap:7px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    overflow:visible!important;
  }

  body:not(.invoice-mobile-mode) #view-recibidos .rx-file-btn{
    flex:0 1 auto!important;

    width:auto!important;
    min-width:0!important;
    max-width:100%!important;

    min-height:40px!important;
    padding:8px 11px!important;

    white-space:normal!important;
    line-height:1.2!important;
  }

  /* Paginacion */
  body:not(.invoice-mobile-mode) #view-recibidos .recibidos-pagination{
    display:flex!important;
    flex-wrap:wrap!important;

    gap:6px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    overflow:visible!important;
  }

}

/* FIN RECIBIDOS WEB RESPONSIVE DEFINITIVO */


/* =========================================================
   TRICONTA FE - EMITIDOS WEB RESPONSIVE DEFINITIVO

   Solo SISTEMA WEB visto desde telefono/tablet.
   Factura movil queda completamente independiente.

   La paginacion JS existente se conserva.
   ========================================================= */

@media(max-width:900px){

  /* -------------------------------------------------------
     CONTENEDOR
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode) #view-comprobantes,
  body:not(.invoice-mobile-mode) #view-comprobantes > .panel,
  body:not(.invoice-mobile-mode) #view-comprobantes .issued-table-panel{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }


  /* -------------------------------------------------------
     FILTROS
     Mismo criterio visual que Recibidos.
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-search-bar{
    display:grid!important;

    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr)!important;

    gap:8px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    align-items:end!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-search-main{
    grid-column:1/-1!important;

    width:100%!important;
    min-width:0!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-search-bar label{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-search-bar input,
  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-search-bar select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-search-bar .btn{
    width:100%!important;
    min-width:0!important;

    min-height:40px!important;

    white-space:normal!important;
  }


  /* -------------------------------------------------------
     FILTROS AVANZADOS
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-advanced{
    grid-template-columns:1fr!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    gap:8px!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-advanced label,
  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-advanced select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }


  /* -------------------------------------------------------
     PAGINACION EXISTENTE
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes #docsPaginationTop,

  body:not(.invoice-mobile-mode)
  #view-comprobantes #docsPaginationBottom,

  body:not(.invoice-mobile-mode)
  #view-comprobantes .emitidos-pagination{

    flex-wrap:wrap!important;

    align-items:center!important;
    justify-content:flex-start!important;

    gap:6px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    margin:10px 0!important;

    overflow:visible!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .page-btn{
    flex:0 0 auto!important;

    min-width:38px!important;
    height:38px!important;

    padding:0 9px!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .pagination .hint{
    flex:1 1 100%!important;

    margin:3px 0 0!important;

    white-space:normal!important;
  }


  /* -------------------------------------------------------
     TABLA YA NO GENERA SCROLL HORIZONTAL
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-table-panel .table-wrap{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    overflow:visible!important;

    padding:0!important;
    margin:0!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-table-panel .table-wrap:after{
    display:none!important;
    content:none!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-table{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    table-layout:auto!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-table thead{
    display:none!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes #docsBody{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    box-sizing:border-box!important;
  }


  /* -------------------------------------------------------
     CABECERA DE CLIENTE
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes #docsBody .issued-client-row{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    margin:10px 0 0!important;

    box-sizing:border-box!important;

    background:var(--v6-panel,#fff)!important;

    border:
      1px solid
      var(--v6-line,#dce4ee)!important;

    border-bottom:0!important;

    border-radius:
      14px 14px 0 0!important;

    overflow:hidden!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-client-row > td{
    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    padding:12px 14px 8px!important;

    box-sizing:border-box!important;

    border:0!important;

    white-space:normal!important;

    overflow:visible!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-client-banner{
    width:100%!important;
    min-width:0!important;

    display:block!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-client-banner strong{
    display:block!important;

    width:100%!important;

    font-size:16px!important;
    line-height:1.3!important;

    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-client-banner small{
    display:block!important;

    margin-top:3px!important;

    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }


  /* -------------------------------------------------------
     TARJETA DEL DOCUMENTO
     Después de consolidarFilasEmitidos existen 6 columnas.
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes #docsBody .issued-doc-row{
    display:grid!important;

    grid-template-columns:1fr!important;
    grid-template-rows:auto!important;

    gap:9px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    height:auto!important;
    min-height:0!important;
    max-height:none!important;

    margin:0 0 10px!important;

    padding:6px 14px 14px!important;

    box-sizing:border-box!important;

    background:var(--v6-panel,#fff)!important;

    border:
      1px solid
      var(--v6-line,#dce4ee)!important;

    border-top:0!important;

    border-radius:
      0 0 14px 14px!important;

    overflow:hidden!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td{
    display:block!important;

    grid-column:1!important;
    grid-row:auto!important;

    position:static!important;
    float:none!important;
    transform:none!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    height:auto!important;
    min-height:0!important;

    margin:0!important;
    padding:0!important;

    box-sizing:border-box!important;

    border:0!important;

    text-align:left!important;

    white-space:normal!important;

    overflow:visible!important;
    text-overflow:clip!important;
  }


  /* -------------------------------------------------------
     ETIQUETAS
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(1):before{
    content:"Tipo";
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(2):before{
    content:"Fecha";
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(3):before{
    content:"Moneda";
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(4):before{
    content:"Monto";
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(5):before{
    content:"Estado";
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(-n+5):before{

    display:block!important;

    margin-bottom:4px!important;

    color:var(--v6-muted,#687b8f)!important;

    font-size:10px!important;
    font-weight:850!important;

    line-height:1.2!important;

    letter-spacing:.05em!important;
    text-transform:uppercase!important;
  }


  /* -------------------------------------------------------
     FECHA / CONSECUTIVO
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-consecutive{
    display:block!important;

    margin-top:3px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    font-size:11px!important;

    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }


  /* -------------------------------------------------------
     MONTO COMPLETO
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(4){

    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    font-size:20px!important;
    font-weight:900!important;

    line-height:1.25!important;

    text-align:left!important;

    white-space:normal!important;

    overflow:visible!important;
    text-overflow:clip!important;

    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes
  #docsBody .issued-doc-row > td:nth-child(4) strong{

    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    white-space:normal!important;

    overflow:visible!important;
    text-overflow:clip!important;
  }


  /* -------------------------------------------------------
     ESTADOS
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes .badge,
  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-status{

    display:inline-flex!important;

    width:auto!important;
    max-width:100%!important;

    white-space:normal!important;
  }


  /* -------------------------------------------------------
     ACCIONES
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-actions-cell{

    display:block!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    overflow:visible!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-actions{

    display:flex!important;

    flex-wrap:wrap!important;

    align-items:center!important;
    justify-content:flex-start!important;

    gap:7px!important;

    width:100%!important;
    min-width:0!important;
    max-width:100%!important;

    overflow:visible!important;
  }

  body:not(.invoice-mobile-mode)
  #view-comprobantes .issued-action-btn{

    flex:0 1 auto!important;

    width:auto!important;
    min-width:0!important;
    max-width:100%!important;

    min-height:40px!important;

    padding:8px 11px!important;

    white-space:normal!important;

    line-height:1.2!important;
  }


  /* -------------------------------------------------------
     CONTEO
     ------------------------------------------------------- */

  body:not(.invoice-mobile-mode)
  #view-comprobantes #docsCount{

    width:100%!important;

    margin-top:8px!important;

    white-space:normal!important;
  }

}

/* FIN EMITIDOS WEB RESPONSIVE DEFINITIVO */


/* TRICONTA FE - RESUMEN LINEAS ACCIONES SIN CORTE */

/*
   Solo sistema WEB.
   Tabla: Detalle del comprobante -> resumen de lineas.
   Factura movil permanece intacta.
*/

body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table{
  width:100%!important;
  max-width:100%!important;
}

/* Cantidad */
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table th:nth-child(5),
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table td:nth-child(5){
  width:82px!important;
  min-width:82px!important;

  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Total */
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table th:nth-child(9),
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table td:nth-child(9){
  width:112px!important;
  min-width:112px!important;

  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Editar */
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table th:nth-child(10),
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table td:nth-child(10){
  width:74px!important;
  min-width:74px!important;
  max-width:74px!important;

  text-align:center!important;

  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Borrar */
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table th:nth-child(11),
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table td:nth-child(11){
  width:74px!important;
  min-width:74px!important;
  max-width:74px!important;

  text-align:center!important;

  white-space:nowrap!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Botones permanecen centrados y completos */
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table td:nth-child(10) button,
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table td:nth-child(11) button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  min-width:40px!important;
  min-height:40px!important;

  margin:auto!important;
}

/* FIN RESUMEN LINEAS ACCIONES SIN CORTE */





/* TRICONTA FE - OCULTAR RESUMEN LINEAS REDUNDANTE */

/*
   Sistema WEB:
   se retira visualmente el bloque secundario completo:
   - boton Mostrar/Ocultar columnas
   - tabla resumen duplicada
   - espacio y separador asociados

   La tabla operativa principal permanece intacta.
   Factura movil permanece intacta.
*/

body:not(.invoice-mobile-mode)
#view-emitir .line-summary-wrap{
  display:none!important;
  visibility:hidden!important;

  width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;

  margin:0!important;
  padding:0!important;

  border:0!important;

  overflow:hidden!important;
}

/* FIN OCULTAR RESUMEN LINEAS REDUNDANTE */


/* TRICONTA NUMERACION CONSECUTIVA */
body:not(.invoice-mobile-mode) .triconta-list-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:28px;
  padding:0 6px;
  margin-right:8px;
  border:1px solid var(--border);
  border-radius:8px;
  font-size:12px;
  font-weight:700;
  line-height:1;
  vertical-align:middle;
}

body:not(.invoice-mobile-mode) #recibidosBody .rx-date{
  display:flex;
  align-items:center;
}
/* FIN TRICONTA NUMERACION CONSECUTIVA */

/* =========================================================
   TRICONTA FE - WEB TELEFONO CABECERA RESPIRADA
   Solo sistema web <=620px.
   Web tablet NO se modifica.
   ========================================================= */

@media(max-width:620px){

  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .app-header-primary{
    grid-template-columns:44px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    gap:12px 10px!important;
    padding:12px 12px 15px!important;
    align-items:center!important;
  }

  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) #mobileMenuBtn{
    grid-column:1!important;
    grid-row:1!important;
  }

  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .app-brand-horizontal{
    grid-column:2!important;
    grid-row:1!important;
    min-width:0!important;
  }

  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .active-company-header{
    grid-column:1 / -1!important;
    grid-row:2!important;

    width:100%!important;
    min-width:0!important;

    margin:2px 0 0!important;
    padding:11px 0 0!important;

    border-top:1px solid rgba(255,255,255,.14)!important;
  }

  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .active-company-header select,
  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .company-switch,
  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .company-switch select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .header-account{
    grid-column:1 / -1!important;
    grid-row:3!important;

    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:flex-end!important;
    align-items:center!important;

    width:100%!important;
    min-width:0!important;

    gap:8px!important;

    margin:0!important;
    padding:2px 0 0!important;
  }

  body:not(.invoice-mobile-mode)
  #appShell:not(.hidden) .main{
    padding-top:18px!important;
  }

  /* Estado del plan legible en telefono */
  body:not(.invoice-mobile-mode)
  #dashboardPlanEstado{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    width:100%!important;
  }

  body:not(.invoice-mobile-mode)
  #dashboardPlanEstado .status-item{
    min-width:0!important;
    width:100%!important;
    box-sizing:border-box!important;
  }

  body:not(.invoice-mobile-mode)
  #dashboardPlanEstado .status-item span,
  body:not(.invoice-mobile-mode)
  #dashboardPlanEstado .status-item strong{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
}


/* =========================================================
   TRICONTA FE - FACTURA MOVIL RECIBIDOS SIN CORTE
   Solo Factura movil.
   ========================================================= */

body.invoice-mobile-mode #view-recibidos,
body.invoice-mobile-mode #view-recibidos > .panel,
body.invoice-mobile-mode #view-recibidos .rx-shell,
body.invoice-mobile-mode #view-recibidos .rx-body{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  overflow-x:hidden!important;
}

body.invoice-mobile-mode #view-recibidos .rx-head{
  display:none!important;
}

body.invoice-mobile-mode #view-recibidos .rx-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  box-sizing:border-box!important;

  gap:9px!important;

  padding:14px!important;
  margin:0 0 12px!important;

  overflow:visible!important;
}

body.invoice-mobile-mode #view-recibidos .rx-row > div{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  box-sizing:border-box!important;

  overflow:visible!important;
}

body.invoice-mobile-mode #view-recibidos .rx-emisor,
body.invoice-mobile-mode #view-recibidos .rx-emisor-name,
body.invoice-mobile-mode #view-recibidos .rx-emisor-name span,
body.invoice-mobile-mode #view-recibidos .rx-date,
body.invoice-mobile-mode #view-recibidos .rx-total{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}

body.invoice-mobile-mode #view-recibidos .rx-files{
  display:flex!important;
  flex-wrap:wrap!important;

  align-items:stretch!important;
  justify-content:flex-start!important;

  width:100%!important;
  min-width:0!important;
  max-width:100%!important;

  gap:8px!important;

  overflow:visible!important;
}

body.invoice-mobile-mode #view-recibidos .rx-file-btn{
  flex:1 1 135px!important;

  width:auto!important;
  min-width:0!important;
  max-width:100%!important;

  min-height:42px!important;

  padding:9px 11px!important;

  white-space:normal!important;
  line-height:1.2!important;

  box-sizing:border-box!important;
}

@media(max-width:480px){

  body.invoice-mobile-mode #view-recibidos .rx-file-btn{
    flex:1 1 100%!important;
    width:100%!important;
  }

}

/* FIN RESPONSIVE PHONE + FACTURA MOVIL RECIBIDOS */


/* TRICONTA FE - FACTURA MOVIL BOTONES RECIBIDOS V2 */

/*
   Exclusivo Factura movil.
   No modifica sistema web ni web tablet.
*/
body.invoice-mobile-mode #view-recibidos .rx-files{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

body.invoice-mobile-mode #view-recibidos .rx-file-btn{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:42px!important;
  margin:0!important;
  padding:9px 8px!important;
  box-sizing:border-box!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
  line-height:1.2!important;
}

@media(max-width:360px){
  body.invoice-mobile-mode #view-recibidos .rx-files{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* FIN FACTURA MOVIL BOTONES RECIBIDOS V2 */

/* TRICONTA FE - FACTURA MOVIL RECIBIDOS BOTONES RESPIRADOS V3 */

/* Solo Factura movil. Web y tablet permanecen intactos. */
body.invoice-mobile-mode #view-recibidos .rx-row{
  padding-left:16px!important;
  padding-right:16px!important;
}

body.invoice-mobile-mode #view-recibidos .rx-files{
  width:calc(100% - 4px)!important;
  max-width:calc(100% - 4px)!important;
  margin-left:2px!important;
  margin-right:2px!important;
  padding:2px!important;
  box-sizing:border-box!important;
}

body.invoice-mobile-mode #view-recibidos .rx-file-btn{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

/* FIN FACTURA MOVIL RECIBIDOS BOTONES RESPIRADOS V3 */

/* =========================================================
   TRICONTA FE - RESTAURAR LINEAS AGREGADAS EN FACTURACION
   Solo sistema web.
   Factura movil permanece intacta.
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-emitir .line-summary-wrap{
  display:block!important;
  visibility:visible!important;

  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;

  margin:14px 0 0!important;
  padding:0!important;

  overflow-x:auto!important;
  overflow-y:visible!important;
}

/* El boton Mostrar columnas sigue oculto */
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-toolbar{
  display:none!important;
}

/* La tabla de lineas agregadas permanece visible */
body:not(.invoice-mobile-mode)
#view-emitir .line-summary-table{
  display:table!important;
  visibility:visible!important;
  width:100%!important;
}

/* FIN RESTAURAR LINEAS AGREGADAS */


/* =========================================================
   TRICONTA FE - BOTON COLUMNAS VISIBLE SOLO CON LINEAS
   Solo sistema web.
   Factura movil no se modifica.
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-emitir .line-summary-toolbar{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center!important;
  margin:0 0 8px!important;
}

body:not(.invoice-mobile-mode)
#view-emitir #lineSummaryColumnsBtn.hidden{
  display:none!important;
}

/* FIN BOTON COLUMNAS AUTOMATICO */


/* =========================================================
   TRICONTA - BUSCADOR CLIENTE CEDULA VISIBLE
   ========================================================= */

.client-search-item-v2{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:4px;
  width:100%;
  text-align:left;
}

.client-search-item-v2 .client-search-name{
  display:block;
  width:100%;
  font-size:1rem;
  font-weight:800;
  line-height:1.25;
}

.client-search-item-v2 .client-search-id{
  display:block;
  width:100%;
  font-size:.94rem;
  line-height:1.25;
}

.client-search-item-v2 .client-search-id b{
  font-weight:800;
}

.client-search-item-v2 .client-search-email{
  display:block;
  width:100%;
  opacity:.82;
  font-size:.86rem;
  line-height:1.25;
}
.erp-api-permissions{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px 18px;margin-top:16px}
.erp-api-permissions>strong{grid-column:1/-1}
.erp-api-permissions label{display:flex;align-items:center;gap:9px;font-weight:600}
.erp-api-permissions input{width:auto}
.erp-api-token-result{margin:18px 0;border-color:#0a8777;background:#eefbf8}
.erp-api-token-value{font-family:Consolas,"Courier New",monospace;min-width:360px}
.erp-api-scope-list{display:flex;flex-wrap:wrap;gap:5px;max-width:520px}
.erp-api-scope-list .badge{font-size:11px}
@media(max-width:760px){.erp-api-permissions{grid-template-columns:1fr}.erp-api-token-value{min-width:0}}


/* TRICONTA_TABLET_PDF_DESIGN_TOUCH_V1
   Corrige desbordes y seleccion tactil en tablet/movil. */

.pdf-design-section{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.pdf-design-grid{
  width:100%!important;
  max-width:100%!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
}

.pdf-design-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent;
  position:relative!important;
  isolation:isolate;
}

.pdf-design-card > *{
  min-width:0!important;
  max-width:100%!important;
}

.pdf-design-card strong,
.pdf-design-card small,
.pdf-design-card em{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
}

.pdf-design-card strong{
  line-height:1.25!important;
}

.pdf-design-card small{
  line-height:1.35!important;
}

.pdf-design-card em{
  line-height:1.25!important;
}

.pdf-mini{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

@media(max-width:1180px){
  .pdf-design-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .pdf-design-card{
    min-height:0!important;
  }
}

@media(max-width:760px){
  .pdf-design-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

/* Visor PDF interno para PWA, movil y tablet */
.triconta-pdf-viewer-dialog{
  width:100vw!important;
  max-width:100vw!important;
  height:100dvh!important;
  max-height:100dvh!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
}

.triconta-pdf-viewer-dialog::backdrop{
  background:rgba(4,14,30,.78)!important;
}

.triconta-pdf-viewer-card{
  width:100%!important;
  height:100dvh!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
  background:var(--v6-panel,#fff)!important;
  color:var(--v6-text,#172033)!important;
  overflow:hidden!important;
}

.triconta-pdf-viewer-head{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:
    calc(9px + env(safe-area-inset-top))
    14px
    9px;
  border-bottom:1px solid var(--v6-line,#dfe5ef);
  background:var(--v6-panel,#fff);
}

.triconta-pdf-viewer-head > div{
  min-width:0;
  display:grid;
  gap:2px;
}

.triconta-pdf-viewer-head strong{
  font-size:16px;
}

.triconta-pdf-viewer-head small{
  font-size:11px;
  color:var(--v6-muted,#718096);
}

.triconta-pdf-close{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:1px solid var(--v6-line,#dfe5ef);
  border-radius:11px;
  background:var(--v6-panel-2,#f8faff);
  color:var(--v6-text,#172033);
  font-size:28px;
  line-height:1;
  cursor:pointer;
  touch-action:manipulation;
}

.triconta-pdf-viewer-frame{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border:0!important;
  background:#fff;
}

.triconta-pdf-viewer-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:9px;
  padding:
    10px
    14px
    calc(10px + env(safe-area-inset-bottom));
  border-top:1px solid var(--v6-line,#dfe5ef);
  background:var(--v6-panel,#fff);
}

.triconta-pdf-viewer-actions .btn{
  min-height:44px!important;
}

body.triconta-pdf-open{
  overflow:hidden!important;
}

@media(max-width:760px){
  .triconta-pdf-viewer-actions{
    display:grid!important;
    grid-template-columns:1fr auto!important;
  }

  .triconta-pdf-viewer-actions .btn{
    width:100%!important;
    text-align:center!important;
  }
}

/* Prevalencia final del reporte de gastos sobre el modo recibido simplificado. */
body.invoice-mobile-mode #view-recibidos > .panel > #mobileExpenseReportToggle{
  display:flex!important;
}

body.invoice-mobile-mode #view-recibidos > .panel > #reporteGastosMovil{
  display:grid!important;
}

body.invoice-mobile-mode #view-recibidos > .panel > #reporteGastosMovil[hidden]{
  display:none!important;
}

body.invoice-mobile-mode #view-recibidos #reporteGastosMovil select,
body.invoice-mobile-mode #view-recibidos #reporteGastosMovil input,
body.invoice-mobile-mode #view-recibidos #reporteGastosMovil button{
  display:block!important;
}

/* Asistente de facturacion: visible exclusivamente dentro de Factura movil. */
.assistant-mobile-view{
  display:none;
}

body.invoice-mobile-mode #view-asistente.active{
  display:block!important;
}

body.invoice-mobile-mode .mobile-home-card.assistant{
  border-color:rgba(92,107,245,.28)!important;
  background:linear-gradient(145deg,rgba(92,107,245,.08),rgba(28,181,155,.06)),var(--surface,#fff)!important;
}

body.invoice-mobile-mode .mobile-home-card.assistant>span{
  background:#eceeff!important;
  color:#4f5ee5!important;
}

body.invoice-mobile-mode .assistant-shell{
  width:min(100%,720px);
  min-height:calc(100dvh - 150px);
  margin:0 auto;
  padding:0 0 calc(22px + env(safe-area-inset-bottom));
}

body.invoice-mobile-mode .assistant-header{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  margin-bottom:16px;
}

body.invoice-mobile-mode .assistant-header h2{
  margin:2px 0 0;
  font-size:clamp(24px,7vw,34px);
  line-height:1.08;
}

body.invoice-mobile-mode .assistant-exit{
  min-height:48px!important;
  padding:10px 14px!important;
}

body.invoice-mobile-mode .assistant-progress{
  height:9px;
  overflow:hidden;
  border-radius:99px;
  background:var(--border,#dfe5ee);
}

body.invoice-mobile-mode .assistant-progress>div{
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#5365ee,#16a88e);
  transition:width .22s ease;
}

body.invoice-mobile-mode .assistant-progress-text{
  margin:7px 2px 18px;
  color:var(--muted,#66758a);
  font-size:13px;
  font-weight:800;
  text-align:right;
}

body.invoice-mobile-mode .assistant-step{
  min-height:420px;
  padding:clamp(20px,6vw,34px);
  border:1px solid var(--border,#dfe5ee);
  border-radius:25px;
  background:var(--surface,#fff);
  box-shadow:0 16px 42px rgba(18,38,73,.09);
}

body.invoice-mobile-mode .assistant-question{
  margin-bottom:24px;
}

body.invoice-mobile-mode .assistant-question h3{
  margin:8px 0 10px;
  font-size:clamp(28px,8vw,42px);
  line-height:1.08;
  letter-spacing:-.025em;
}

body.invoice-mobile-mode .assistant-question p{
  margin:0;
  color:var(--muted,#66758a);
  font-size:16px;
  line-height:1.55;
}

body.invoice-mobile-mode .assistant-choice-grid{
  display:grid;
  gap:14px;
}

body.invoice-mobile-mode .assistant-choice{
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:4px 14px;
  align-items:center;
  padding:18px;
  border:2px solid var(--border,#dfe5ee);
  border-radius:18px;
  background:var(--surface-2,#f8faff);
  color:inherit;
  text-align:left;
  cursor:pointer;
  touch-action:manipulation;
}

body.invoice-mobile-mode .assistant-choice>span{
  grid-row:1/3;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:#e9edff;
  color:#4e5ddd;
  font-size:18px;
  font-weight:900;
}

body.invoice-mobile-mode .assistant-choice strong{
  font-size:19px;
  line-height:1.2;
  text-transform:uppercase;
}

body.invoice-mobile-mode .assistant-choice small{
  color:var(--muted,#66758a);
  font-size:14px;
  line-height:1.35;
}

body.invoice-mobile-mode .assistant-choice:active,
body.invoice-mobile-mode .assistant-choice:focus-visible{
  border-color:#5b69ef;
  box-shadow:0 0 0 4px rgba(91,105,239,.14);
}

body.invoice-mobile-mode .assistant-big-field{
  display:grid;
  gap:9px;
  font-size:16px;
  font-weight:850;
}

body.invoice-mobile-mode .assistant-big-field input{
  width:100%!important;
  min-height:64px!important;
  padding:13px 16px!important;
  border:2px solid var(--border,#dfe5ee)!important;
  border-radius:16px!important;
  background:var(--surface-2,#f8faff)!important;
  color:inherit!important;
  font-size:21px!important;
}

body.invoice-mobile-mode .assistant-number input{
  min-height:82px!important;
  font-size:34px!important;
  font-weight:900!important;
  text-align:center;
}

body.invoice-mobile-mode .assistant-money>span{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  overflow:hidden;
  border:2px solid var(--border,#dfe5ee);
  border-radius:16px;
  background:var(--surface-2,#f8faff);
}

body.invoice-mobile-mode .assistant-money>span b{
  padding-left:18px;
  color:#15917d;
  font-size:30px;
}

body.invoice-mobile-mode .assistant-money>span input{
  border:0!important;
  background:transparent!important;
  font-size:30px!important;
  font-weight:900!important;
}

body.invoice-mobile-mode .assistant-results,
body.invoice-mobile-mode .assistant-lines{
  display:grid;
  gap:10px;
  margin-top:16px;
}

body.invoice-mobile-mode .assistant-result,
body.invoice-mobile-mode .assistant-line-card{
  width:100%;
  min-height:70px;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:15px;
  border:1px solid var(--border,#dfe5ee);
  border-radius:14px;
  background:var(--surface-2,#f8faff);
  color:inherit;
  text-align:left;
}

body.invoice-mobile-mode button.assistant-result{
  flex-direction:column;
  cursor:pointer;
}

body.invoice-mobile-mode .assistant-result strong,
body.invoice-mobile-mode .assistant-selected strong,
body.invoice-mobile-mode .assistant-line-card strong{
  font-size:17px;
}

body.invoice-mobile-mode .assistant-result small,
body.invoice-mobile-mode .assistant-selected small,
body.invoice-mobile-mode .assistant-line-card small{
  color:var(--muted,#66758a);
}

body.invoice-mobile-mode .assistant-selected,
body.invoice-mobile-mode .assistant-not-found,
body.invoice-mobile-mode .assistant-empty{
  display:grid;
  gap:7px;
  margin-bottom:16px;
  padding:15px;
  border-radius:14px;
  background:rgba(26,164,139,.10);
  border:1px solid rgba(26,164,139,.24);
}

body.invoice-mobile-mode .assistant-not-found{
  margin:0;
  background:rgba(231,151,36,.10);
  border-color:rgba(231,151,36,.28);
}

body.invoice-mobile-mode .assistant-nav{
  position:sticky;
  bottom:0;
  z-index:8;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);
  gap:10px;
  padding:14px 0 calc(7px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,transparent,var(--bg,#f4f7fb) 22%);
}

body.invoice-mobile-mode .assistant-nav .btn{
  min-height:54px!important;
  font-size:16px!important;
  font-weight:850!important;
}

body.invoice-mobile-mode .assistant-review{
  display:grid;
  gap:15px;
}

body.invoice-mobile-mode .assistant-review-main,
body.invoice-mobile-mode .assistant-review-line{
  margin:0;
  padding:17px;
  border:1px solid var(--border,#dfe5ee);
  border-radius:16px;
  background:var(--surface-2,#f8faff);
}

body.invoice-mobile-mode .assistant-review-line h4{
  margin:0 0 12px;
  font-size:18px;
}

body.invoice-mobile-mode .assistant-review dl,
body.invoice-mobile-mode .assistant-review-line dl{
  margin:0;
}

body.invoice-mobile-mode .assistant-review dl>div{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(110px,auto);
  gap:12px;
  padding:7px 0;
  border-bottom:1px dashed var(--border,#dfe5ee);
}

body.invoice-mobile-mode .assistant-review dl>div:last-child{
  border-bottom:0;
}

body.invoice-mobile-mode .assistant-review dt{
  color:var(--muted,#66758a);
}

body.invoice-mobile-mode .assistant-review dd{
  margin:0;
  font-weight:850;
  text-align:right;
}

body.invoice-mobile-mode .assistant-grand-total{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:20px;
  border-radius:18px;
  background:linear-gradient(135deg,#5063eb,#17a58c);
  color:#fff;
  text-transform:uppercase;
  font-weight:850;
}

body.invoice-mobile-mode .assistant-grand-total strong{
  font-size:clamp(27px,8vw,40px);
}

body.invoice-mobile-mode .assistant-final-secondary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:18px 0 10px;
}

body.invoice-mobile-mode .assistant-final-secondary .btn,
body.invoice-mobile-mode .assistant-emit{
  min-height:56px!important;
  font-size:16px!important;
  font-weight:900!important;
  text-transform:uppercase;
}

body.invoice-mobile-mode .assistant-emit{
  width:100%!important;
}

body.invoice-mobile-mode .assistant-fiscal-warning{
  margin:10px 2px 0;
  color:var(--muted,#66758a);
  font-size:12px;
  line-height:1.4;
  text-align:center;
}

html[data-theme="dark"] body.invoice-mobile-mode .mobile-home-card.assistant,
html[data-theme="dark"] body.invoice-mobile-mode .assistant-step{
  background:var(--v8-surface,#111d31)!important;
  border-color:var(--v8-border,#2a3a55)!important;
}

html[data-theme="dark"] body.invoice-mobile-mode .assistant-choice,
html[data-theme="dark"] body.invoice-mobile-mode .assistant-result,
html[data-theme="dark"] body.invoice-mobile-mode .assistant-line-card,
html[data-theme="dark"] body.invoice-mobile-mode .assistant-review-main,
html[data-theme="dark"] body.invoice-mobile-mode .assistant-review-line,
html[data-theme="dark"] body.invoice-mobile-mode .assistant-big-field input,
html[data-theme="dark"] body.invoice-mobile-mode .assistant-money>span{
  background:var(--v8-surface-soft,#17253c)!important;
  border-color:var(--v8-border,#2a3a55)!important;
}

@media(max-width:520px){
  body.invoice-mobile-mode .assistant-shell{
    min-height:calc(100dvh - 105px);
  }

  body.invoice-mobile-mode .assistant-step{
    min-height:390px;
    padding:20px 16px;
    border-radius:20px;
  }

  body.invoice-mobile-mode .assistant-header{
    align-items:start;
  }

  body.invoice-mobile-mode .assistant-question h3{
    font-size:29px;
  }

  body.invoice-mobile-mode .assistant-review dl>div{
    grid-template-columns:minmax(0,1fr);
    gap:3px;
  }

  body.invoice-mobile-mode .assistant-review dd{
    text-align:left;
  }

  body.invoice-mobile-mode .assistant-line-card{
    flex-direction:column;
  }
}



/* TRICONTA_FACTURA_MOVIL_GESTION_V1 */

/* Factura movil: Clientes, Productos y Parametros */
body.invoice-mobile-mode #view-clientes,
body.invoice-mobile-mode #view-productos,
body.invoice-mobile-mode #view-parametros{
  width:100%;
  max-width:100%;
  min-width:0;
}

body.invoice-mobile-mode #view-clientes .panel,
body.invoice-mobile-mode #view-productos .panel,
body.invoice-mobile-mode #view-parametros .panel{
  max-width:100%;
  width:100%;
  min-width:0;
}

body.invoice-mobile-mode #view-clientes .panel-head,
body.invoice-mobile-mode #view-productos .panel-head{
  align-items:flex-start;
  flex-wrap:wrap;
}

body.invoice-mobile-mode #view-clientes .row-actions,
body.invoice-mobile-mode #view-productos .row-actions{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
}

body.invoice-mobile-mode #view-clientes .search,
body.invoice-mobile-mode #view-productos .search{
  width:100%;
  max-width:none;
}

/* Parametros */
body.invoice-mobile-mode #view-parametros .parameter-master-panel{
  max-width:900px;
  margin-inline:auto;
}

body.invoice-mobile-mode #view-parametros .parameter-save-actions{
  z-index:25;
}

/* Tabla convertida a tarjetas en telefono/tablet */
@media(max-width:1100px){
  body.invoice-mobile-mode #view-clientes .table-wrap,
  body.invoice-mobile-mode #view-productos .product-table-wrap{
    overflow:visible!important;
  }

  body.invoice-mobile-mode #view-clientes table,
  body.invoice-mobile-mode #view-productos .product-table-wrap table{
    display:block;
    width:100%;
  }

  body.invoice-mobile-mode #view-clientes thead,
  body.invoice-mobile-mode #view-productos .product-table-wrap thead{
    display:none;
  }

  body.invoice-mobile-mode #view-clientes tbody,
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody{
    display:grid;
    gap:12px;
    width:100%;
  }

  body.invoice-mobile-mode #view-clientes tbody tr,
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody tr{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:0;
    width:100%;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden;
    box-shadow:0 3px 12px rgba(18,43,76,.06);
  }

  body.invoice-mobile-mode #view-clientes tbody td,
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td{
    display:block;
    min-width:0!important;
    width:auto!important;
    padding:11px 12px;
    border-bottom:1px solid #edf1f6;
    overflow-wrap:anywhere;
    word-break:normal!important;
    text-align:left!important;
  }

  body.invoice-mobile-mode #view-clientes tbody td::before,
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td::before{
    display:block;
    margin-bottom:4px;
    color:#718399;
    font-size:10px;
    font-weight:850;
    letter-spacing:.04em;
    text-transform:uppercase;
  }

  body.invoice-mobile-mode #view-clientes tbody td:nth-child(1)::before{content:"Nombre"}
  body.invoice-mobile-mode #view-clientes tbody td:nth-child(2)::before{content:"Identificacion"}
  body.invoice-mobile-mode #view-clientes tbody td:nth-child(3)::before{content:"Correo"}
  body.invoice-mobile-mode #view-clientes tbody td:nth-child(4)::before{content:"Actividad"}
  body.invoice-mobile-mode #view-clientes tbody td:nth-child(5)::before{content:"Acciones"}

  body.invoice-mobile-mode #view-clientes tbody td:nth-child(1),
  body.invoice-mobile-mode #view-clientes tbody td:nth-child(5){
    grid-column:1/-1;
  }

  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(1)::before{content:"Codigo"}
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(2)::before{content:"Descripcion"}
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(3)::before{content:"CAByS"}
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(4)::before{content:"Precio"}
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(5)::before{content:"IVA"}
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(6)::before{content:"Acciones"}

  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(2),
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:nth-child(6){
    grid-column:1/-1;
  }

  body.invoice-mobile-mode #view-clientes tbody td:last-child,
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td:last-child{
    border-bottom:0;
  }

  body.invoice-mobile-mode #view-clientes .row-actions,
  body.invoice-mobile-mode #view-productos .row-actions{
    gap:7px;
  }

  body.invoice-mobile-mode #view-clientes .row-actions .btn,
  body.invoice-mobile-mode #view-productos .row-actions .btn{
    flex:1 1 170px;
    white-space:normal;
  }

  body.invoice-mobile-mode #view-parametros .parameter-grid,
  body.invoice-mobile-mode #view-parametros .parameter-defaults{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:620px){
  body.invoice-mobile-mode #view-clientes tbody tr,
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody tr{
    grid-template-columns:1fr;
  }

  body.invoice-mobile-mode #view-clientes tbody td,
  body.invoice-mobile-mode #view-productos .product-table-wrap tbody td{
    grid-column:1!important;
  }

  body.invoice-mobile-mode #view-clientes .client-list-searches{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  body.invoice-mobile-mode #view-parametros .parameter-section{
    padding:13px;
  }

  body.invoice-mobile-mode #view-parametros .parameter-toggle{
    align-items:flex-start;
  }

  body.invoice-mobile-mode .mobile-home-actions{
    grid-template-columns:1fr!important;
  }
}



/* =========================================================
   TRICONTA_FE_ASISTENTE_WEB_V1
   Reutiliza exactamente el asistente existente de Factura movil.
   Solo adapta su presentacion a escritorio.
   ========================================================= */

body:not(.invoice-mobile-mode) #view-asistente.active{
  display:block!important;
  width:100%!important;
}

body:not(.invoice-mobile-mode) #view-asistente .assistant-shell{
  width:min(940px,100%)!important;
  max-width:940px!important;
  margin:0 auto!important;
}

body:not(.invoice-mobile-mode) #view-asistente .assistant-step{
  min-height:360px;
}

body:not(.invoice-mobile-mode) #view-asistente .assistant-choice-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

body:not(.invoice-mobile-mode) #view-asistente .assistant-nav{
  max-width:940px;
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:900px){
  body:not(.invoice-mobile-mode) #view-asistente .assistant-choice-grid{
    grid-template-columns:1fr;
  }
}

/* FIN TRICONTA_FE_ASISTENTE_WEB_V1 */








/* TRICONTA_FACTURA_FACIL_FOCUS_CSS_V1_INICIO */


/* =========================================================
   MODO ENFOCADO
   ========================================================= */

body:has(#view-asistente.active){
  overflow:hidden!important;
}


/*
   El asistente pasa a ser una experiencia de pantalla
   completa, por encima de todo el sistema.
*/

body:has(#view-asistente.active)
#view-asistente.active{

  position:fixed!important;

  inset:0!important;

  z-index:2147483000!important;

  display:block!important;

  width:100vw!important;

  max-width:none!important;

  height:100vh!important;
  height:100dvh!important;

  min-height:100vh!important;
  min-height:100dvh!important;

  margin:0!important;

  padding:0!important;

  overflow-x:hidden!important;
  overflow-y:auto!important;

  box-sizing:border-box!important;

  background:
    radial-gradient(
      circle at 10% 0%,
      rgba(28,166,145,.22),
      transparent 34%
    ),
    linear-gradient(
      145deg,
      #061f42 0%,
      #0a315f 55%,
      #087f78 135%
    )!important;
}


/* =========================================================
   CONTENEDOR PRINCIPAL
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-shell{

  width:min(
    1120px,
    calc(100% - 36px)
  )!important;

  min-height:
    calc(100dvh - 36px)!important;

  margin:18px auto!important;

  padding:
    0 34px 36px!important;

  box-sizing:border-box!important;

  background:#ffffff!important;

  border:
    1px solid rgba(255,255,255,.35)!important;

  border-radius:26px!important;

  box-shadow:
    0 28px 80px
    rgba(0,18,45,.32)!important;

  overflow:visible!important;
}


/* =========================================================
   ENCABEZADO SIEMPRE VISIBLE
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-header{

  position:sticky!important;

  top:0!important;

  z-index:50!important;

  display:flex!important;

  align-items:center!important;

  justify-content:space-between!important;

  gap:20px!important;

  min-height:94px!important;

  margin:
    0 -34px 24px!important;

  padding:
    16px 34px!important;

  box-sizing:border-box!important;

  background:
    rgba(255,255,255,.97)!important;

  border-bottom:
    1px solid #dce6ef!important;

  border-radius:
    26px 26px 0 0!important;

  box-shadow:
    0 7px 22px
    rgba(15,35,65,.08)!important;

  backdrop-filter:
    blur(12px)!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-header h2{

  margin:3px 0!important;

  font-size:
    clamp(23px,3vw,34px)!important;

  line-height:1.08!important;

  color:#082f56!important;

  font-weight:850!important;
}


/* =========================================================
   BOTON SALIR
   Siempre visible en TODOS los pasos.
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-exit{

  flex:0 0 auto!important;

  display:inline-flex!important;

  align-items:center!important;

  justify-content:center!important;

  min-height:54px!important;

  min-width:235px!important;

  padding:12px 20px!important;

  border:
    2px solid #cf4652!important;

  border-radius:14px!important;

  background:#fff5f5!important;

  color:#a82935!important;

  font-size:16px!important;

  font-weight:850!important;

  line-height:1.2!important;

  cursor:pointer!important;

  box-shadow:
    0 5px 14px
    rgba(173,45,58,.12)!important;

  white-space:normal!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-exit:hover{

  background:#ffe8e8!important;

  border-color:#ae2f3b!important;

  transform:
    translateY(-1px)!important;
}


/* =========================================================
   PROGRESO
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-progress{

  min-height:15px!important;

  border-radius:999px!important;

  overflow:hidden!important;

  background:#e8eef5!important;

  box-shadow:
    inset 0 1px 3px
    rgba(8,47,86,.12)!important;
}


body:has(#view-asistente.active)
#view-asistente
#assistantProgressBar{

  min-height:15px!important;

  border-radius:999px!important;

  background:
    linear-gradient(
      90deg,
      #0b9b87,
      #1767c0
    )!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-progress-text{

  margin:
    11px 0 22px!important;

  font-size:16px!important;

  font-weight:850!important;

  color:#47617c!important;

  text-align:center!important;
}


/* =========================================================
   CONTENIDO DEL PASO
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-step{

  width:min(
    920px,
    100%
  )!important;

  margin:
    0 auto!important;

  padding:
    12px 0 28px!important;

  box-sizing:border-box!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-question{

  text-align:center!important;

  margin:
    0 auto 26px!important;

  max-width:800px!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-question h3{

  margin:
    8px 0 10px!important;

  font-size:
    clamp(26px,3.2vw,40px)!important;

  line-height:1.12!important;

  color:#082f56!important;

  font-weight:900!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-question p{

  margin:0 auto!important;

  max-width:720px!important;

  font-size:
    clamp(15px,1.6vw,18px)!important;

  line-height:1.55!important;

  color:#64788d!important;
}


/* =========================================================
   OPCIONES GRANDES Y LLAMATIVAS
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-choice-grid{

  display:grid!important;

  grid-template-columns:
    repeat(2,minmax(0,1fr))!important;

  gap:20px!important;

  width:100%!important;

  margin:
    14px auto 26px!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice{

  position:relative!important;

  display:flex!important;

  flex-direction:column!important;

  align-items:flex-start!important;

  justify-content:center!important;

  gap:8px!important;

  min-height:145px!important;

  width:100%!important;

  padding:
    24px 26px!important;

  text-align:left!important;

  border:
    2px solid #d6e2ec!important;

  border-radius:20px!important;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #f5f9fd
    )!important;

  color:#102f50!important;

  cursor:pointer!important;

  box-shadow:
    0 8px 22px
    rgba(15,48,78,.08)!important;

  transition:
    transform .15s ease,
    box-shadow .15s ease,
    border-color .15s ease!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice:hover{

  transform:
    translateY(-3px)!important;

  border-color:#159f91!important;

  box-shadow:
    0 15px 30px
    rgba(15,115,108,.15)!important;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #eefbf8
    )!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice > span{

  display:inline-grid!important;

  place-items:center!important;

  min-width:48px!important;

  min-height:48px!important;

  padding:8px!important;

  border-radius:13px!important;

  background:#0b9b87!important;

  color:#ffffff!important;

  font-size:18px!important;

  font-weight:900!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice strong{

  display:block!important;

  font-size:
    clamp(19px,2vw,24px)!important;

  line-height:1.2!important;

  color:#082f56!important;

  font-weight:900!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice small{

  display:block!important;

  font-size:15px!important;

  line-height:1.45!important;

  color:#657b91!important;
}


/* =========================================================
   CAMPOS GRANDES
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-big-field{

  display:grid!important;

  gap:10px!important;

  width:min(
    720px,
    100%
  )!important;

  margin:
    18px auto!important;

  font-size:16px!important;

  font-weight:800!important;

  color:#334d68!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-big-field input,

body:has(#view-asistente.active)
#view-asistente
.assistant-big-field select{

  min-height:62px!important;

  padding:
    14px 17px!important;

  border:
    2px solid #cddbe7!important;

  border-radius:15px!important;

  background:#ffffff!important;

  color:#102f50!important;

  font-size:19px!important;

  font-weight:700!important;

  box-shadow:
    0 5px 15px
    rgba(15,48,78,.05)!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-big-field input:focus,

body:has(#view-asistente.active)
#view-asistente
.assistant-big-field select:focus{

  border-color:#159f91!important;

  box-shadow:
    0 0 0 4px
    rgba(21,159,145,.13)!important;
}


/* =========================================================
   RESULTADOS CLIENTE / PRODUCTO
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-results{

  display:grid!important;

  gap:10px!important;

  width:min(
    760px,
    100%
  )!important;

  margin:
    10px auto 22px!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-results button{

  min-height:66px!important;

  padding:
    14px 18px!important;

  border-radius:14px!important;

  font-size:16px!important;

  text-align:left!important;

  cursor:pointer!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-selected{

  width:min(
    760px,
    100%
  )!important;

  margin:
    12px auto 20px!important;

  padding:
    18px 20px!important;

  border:
    2px solid #9fddd3!important;

  border-radius:16px!important;

  background:#f0fbf8!important;

  box-shadow:
    0 6px 18px
    rgba(15,115,108,.08)!important;
}


/* =========================================================
   NAVEGACION ANTERIOR / SIGUIENTE
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-nav{

  position:sticky!important;

  bottom:0!important;

  z-index:45!important;

  display:grid!important;

  grid-template-columns:
    minmax(160px,.55fr)
    minmax(200px,1fr)!important;

  gap:14px!important;

  width:min(
    920px,
    100%
  )!important;

  margin:
    24px auto 0!important;

  padding:
    16px 0 6px!important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.7),
      rgba(255,255,255,1) 30%
    )!important;

  backdrop-filter:
    blur(10px)!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-prev,

body:has(#view-asistente.active)
#view-asistente
.assistant-next{

  min-height:58px!important;

  border-radius:15px!important;

  padding:
    13px 22px!important;

  font-size:18px!important;

  font-weight:900!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-next{

  background:
    linear-gradient(
      135deg,
      #0b9b87,
      #087b70
    )!important;

  border-color:#087b70!important;

  color:#ffffff!important;

  box-shadow:
    0 8px 20px
    rgba(11,155,135,.22)!important;
}


/* =========================================================
   RESUMEN Y BOTON EMITIR
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-review{

  border:
    2px solid #dde6ee!important;

  border-radius:20px!important;

  padding:22px!important;

  background:#fbfdff!important;

  box-shadow:
    0 8px 22px
    rgba(15,48,78,.07)!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-grand-total{

  padding:
    20px!important;

  border-radius:16px!important;

  background:
    linear-gradient(
      135deg,
      #082f56,
      #0b5669
    )!important;

  color:#ffffff!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-grand-total strong{

  font-size:
    clamp(28px,4vw,42px)!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-final-secondary{

  display:grid!important;

  grid-template-columns:
    1fr 1fr!important;

  gap:12px!important;

  margin:
    18px 0!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-final-secondary .btn{

  min-height:54px!important;

  border-radius:14px!important;

  font-size:17px!important;

  font-weight:850!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-emit{

  width:100%!important;

  min-height:68px!important;

  margin-top:14px!important;

  border-radius:17px!important;

  font-size:
    clamp(19px,2.4vw,24px)!important;

  font-weight:950!important;

  background:
    linear-gradient(
      135deg,
      #0b9b87,
      #087b70
    )!important;

  border-color:#087b70!important;

  box-shadow:
    0 10px 26px
    rgba(11,155,135,.25)!important;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media(max-width:760px){

  body:has(#view-asistente.active)
  #view-asistente.active{

    background:#ffffff!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-shell{

    width:100%!important;

    min-height:100dvh!important;

    margin:0!important;

    padding:
      0 16px 24px!important;

    border-radius:0!important;

    box-shadow:none!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-header{

    margin:
      0 -16px 18px!important;

    padding:
      12px 16px!important;

    border-radius:0!important;

    flex-direction:column!important;

    align-items:stretch!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-exit{

    width:100%!important;

    min-width:0!important;

    order:-1!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-header h2{

    text-align:center!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice-grid{

    grid-template-columns:
      1fr!important;

    gap:12px!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice{

    min-height:118px!important;

    padding:
      19px!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-nav{

    grid-template-columns:
      1fr!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-final-secondary{

    grid-template-columns:
      1fr!important;
  }
}


/* TRICONTA_FACTURA_FACIL_FOCUS_CSS_V1_FIN */




/* TRICONTA_FACTURA_FACIL_WEB_V2_INICIO */


/*
   FACTURA FACIL WEB

   La vista activa del asistente se convierte
   directamente en una pantalla completa.

   NO depende de clases JavaScript adicionales.
*/


body:has(#view-asistente.active){
  overflow:hidden!important;
}


/*
   El asistente cubre TODO el navegador:
   menú lateral, encabezado, empresa, navegación,
   dashboard y resto del sistema quedan detrás.
*/

body:has(#view-asistente.active)
#view-asistente.active{

  position:fixed!important;

  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;

  width:100vw!important;

  height:100vh!important;
  height:100dvh!important;

  max-width:none!important;

  margin:0!important;

  padding:0!important;

  z-index:2147483646!important;

  overflow-x:hidden!important;
  overflow-y:auto!important;

  background:
    linear-gradient(
      145deg,
      #061f42 0%,
      #0a315f 55%,
      #087f78 135%
    )!important;
}


/*
   Tarjeta principal del asistente
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-shell{

  width:min(
    1080px,
    calc(100% - 48px)
  )!important;

  min-height:
    calc(100dvh - 48px)!important;

  margin:
    24px auto!important;

  padding:
    0 38px 38px!important;

  border-radius:
    26px!important;

  background:
    #ffffff!important;

  color:
    #10233f!important;

  box-shadow:
    0 30px 90px
    rgba(0,15,38,.38)!important;

  box-sizing:
    border-box!important;
}


/*
   Encabezado fijo del asistente.
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-header{

  position:sticky!important;

  top:0!important;

  z-index:100!important;

  display:flex!important;

  align-items:center!important;

  justify-content:space-between!important;

  gap:20px!important;

  margin:
    0 -38px 28px!important;

  padding:
    18px 38px!important;

  min-height:
    88px!important;

  background:
    rgba(255,255,255,.98)!important;

  border-bottom:
    1px solid #dce5ee!important;

  border-radius:
    26px 26px 0 0!important;

  box-shadow:
    0 7px 20px
    rgba(15,35,65,.08)!important;
}


/*
   Título
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-header h2{

  margin:
    0!important;

  color:
    #082f56!important;

  font-size:
    clamp(
      25px,
      3vw,
      35px
    )!important;

  font-weight:
    900!important;
}


/*
   SALIR DEL ASISTENTE
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-exit{

  display:inline-flex!important;

  align-items:center!important;

  justify-content:center!important;

  min-height:
    56px!important;

  min-width:
    270px!important;

  padding:
    12px 20px!important;

  border:
    2px solid #c54450!important;

  border-radius:
    14px!important;

  background:
    #fff3f4!important;

  color:
    #a52d38!important;

  font-size:
    16px!important;

  font-weight:
    900!important;

  cursor:pointer!important;

  box-shadow:
    0 6px 16px
    rgba(165,45,56,.13)!important;
}


/*
   Barra de progreso
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-progress{

  height:
    14px!important;

  margin:
    0 auto!important;

  border-radius:
    999px!important;

  overflow:hidden!important;

  background:
    #e5edf4!important;
}


body:has(#view-asistente.active)
#view-asistente
#assistantProgressBar{

  height:
    14px!important;

  background:
    linear-gradient(
      90deg,
      #0b9b87,
      #1469bd
    )!important;

  border-radius:
    999px!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-progress-text{

  margin:
    12px 0 26px!important;

  text-align:center!important;

  font-size:
    17px!important;

  font-weight:
    850!important;

  color:
    #4d657e!important;
}


/*
   Área central del paso
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-step{

  width:min(
    900px,
    100%
  )!important;

  margin:
    0 auto!important;

  color:
    #10233f!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-question{

  text-align:center!important;

  margin:
    0 auto 28px!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-question h3{

  margin:
    8px 0 10px!important;

  color:
    #082f56!important;

  font-size:
    clamp(
      29px,
      3vw,
      40px
    )!important;

  font-weight:
    950!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-question p{

  color:
    #657b91!important;

  font-size:
    17px!important;

  line-height:
    1.5!important;
}


/*
   BOTONES DE ELECCION
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-choice-grid{

  display:grid!important;

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    )!important;

  gap:
    22px!important;

  width:
    100%!important;

  margin:
    20px auto 30px!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice{

  display:grid!important;

  grid-template-columns:
    62px 1fr!important;

  grid-template-rows:
    auto auto!important;

  align-items:center!important;

  column-gap:
    16px!important;

  row-gap:
    5px!important;

  min-height:
    150px!important;

  padding:
    24px!important;

  border:
    2px solid #d4e1eb!important;

  border-radius:
    20px!important;

  background:
    linear-gradient(
      145deg,
      #ffffff,
      #f5f9fd
    )!important;

  color:
    #102f50!important;

  text-align:
    left!important;

  cursor:
    pointer!important;

  box-shadow:
    0 9px 24px
    rgba(15,48,78,.09)!important;

  transition:
    .16s ease!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice:hover{

  transform:
    translateY(-3px)!important;

  border-color:
    #159f91!important;

  background:
    #f0fbf8!important;

  box-shadow:
    0 15px 32px
    rgba(15,115,108,.16)!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice > span{

  grid-row:
    1 / 3!important;

  display:grid!important;

  place-items:center!important;

  width:
    58px!important;

  height:
    58px!important;

  border-radius:
    15px!important;

  background:
    #0b9b87!important;

  color:
    white!important;

  font-size:
    20px!important;

  font-weight:
    950!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice strong{

  color:
    #082f56!important;

  font-size:
    23px!important;

  font-weight:
    950!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice small{

  color:
    #63788e!important;

  font-size:
    15px!important;

  line-height:
    1.45!important;
}


/*
   CAMPOS GRANDES
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-big-field{

  width:min(
    720px,
    100%
  )!important;

  margin:
    22px auto!important;

  color:
    #334d68!important;

  font-size:
    17px!important;

  font-weight:
    850!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-big-field input,

body:has(#view-asistente.active)
#view-asistente
.assistant-big-field select{

  min-height:
    64px!important;

  padding:
    14px 17px!important;

  border:
    2px solid #ccdbe7!important;

  border-radius:
    15px!important;

  background:
    #ffffff!important;

  color:
    #10233f!important;

  font-size:
    19px!important;
}


/*
   NAVEGACION INFERIOR
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-nav{

  position:
    sticky!important;

  bottom:
    0!important;

  z-index:
    90!important;

  display:grid!important;

  grid-template-columns:
    minmax(180px,.5fr)
    minmax(240px,1fr)!important;

  gap:
    15px!important;

  width:min(
    900px,
    100%
  )!important;

  margin:
    28px auto 0!important;

  padding:
    18px 0 8px!important;

  background:
    linear-gradient(
      180deg,
      rgba(255,255,255,.75),
      #ffffff 32%
    )!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-prev,

body:has(#view-asistente.active)
#view-asistente
.assistant-next{

  min-height:
    60px!important;

  border-radius:
    15px!important;

  font-size:
    18px!important;

  font-weight:
    900!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-next{

  background:
    linear-gradient(
      135deg,
      #0b9b87,
      #087c70
    )!important;

  border-color:
    #087c70!important;

  color:
    #ffffff!important;
}


/*
   BOTON EMITIR
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-emit{

  width:
    100%!important;

  min-height:
    70px!important;

  border-radius:
    17px!important;

  font-size:
    23px!important;

  font-weight:
    950!important;

  background:
    linear-gradient(
      135deg,
      #0b9b87,
      #087c70
    )!important;

  color:
    white!important;
}


/*
   EN WEB NO MOSTRAR EL TEXTO
   "FACTURA MOVIL" SI APARECE COMO ETIQUETA
   DEL ASISTENTE ORIGINAL.
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-header
.section-kicker{

  display:none!important;
}


/*
   MÓVIL
*/

@media(max-width:760px){

  body:has(#view-asistente.active)
  #view-asistente.active{

    background:
      #ffffff!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-shell{

    width:
      100%!important;

    min-height:
      100dvh!important;

    margin:
      0!important;

    padding:
      0 16px 28px!important;

    border-radius:
      0!important;

    box-shadow:
      none!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-header{

    margin:
      0 -16px 20px!important;

    padding:
      12px 16px!important;

    flex-direction:
      column!important;

    align-items:
      stretch!important;

    border-radius:
      0!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-exit{

    width:
      100%!important;

    min-width:
      0!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice-grid{

    grid-template-columns:
      1fr!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-nav{

    grid-template-columns:
      1fr!important;
  }

}


/* TRICONTA_FACTURA_FACIL_WEB_V2_FIN */




/* TRICONTA_FACTURA_FACIL_TEXTOS_V3_INICIO */


/* =========================================================
   CORRECCION DE TARJETAS DEL ASISTENTE

   Algunas opciones tienen icono y otras no.
   Ya no se reservara una columna de icono cuando
   la opcion no lo tenga.
   ========================================================= */


/*
   OPCION NORMAL SIN ICONO
   Titulo arriba.
   Descripcion debajo.
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-choice{

  display:grid!important;

  grid-template-columns:
    minmax(0,1fr)!important;

  grid-template-rows:
    auto auto!important;

  grid-auto-flow:
    row!important;

  align-content:
    center!important;

  align-items:
    start!important;

  justify-items:
    stretch!important;

  column-gap:
    0!important;

  row-gap:
    10px!important;

  min-height:
    145px!important;

  padding:
    26px 28px!important;

  box-sizing:
    border-box!important;

  overflow:
    hidden!important;
}


/*
   TITULO
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-choice > strong{

  grid-column:
    1!important;

  grid-row:
    auto!important;

  display:block!important;

  position:static!important;

  width:100%!important;

  min-width:0!important;

  max-width:100%!important;

  margin:0!important;

  padding:0!important;

  color:#082f56!important;

  font-size:
    clamp(
      20px,
      1.8vw,
      25px
    )!important;

  font-weight:
    950!important;

  line-height:
    1.22!important;

  letter-spacing:
    0!important;

  white-space:
    normal!important;

  word-break:
    normal!important;

  overflow-wrap:
    break-word!important;

  text-align:
    left!important;
}


/*
   DESCRIPCION
*/

body:has(#view-asistente.active)
#view-asistente
.assistant-choice > small{

  grid-column:
    1!important;

  grid-row:
    auto!important;

  display:block!important;

  position:static!important;

  width:100%!important;

  min-width:0!important;

  max-width:100%!important;

  margin:0!important;

  padding:0!important;

  color:#657b91!important;

  font-size:
    15.5px!important;

  font-weight:
    500!important;

  line-height:
    1.45!important;

  white-space:
    normal!important;

  word-break:
    normal!important;

  overflow-wrap:
    break-word!important;

  text-align:
    left!important;
}


/* =========================================================
   OPCIONES QUE SI TIENEN ICONO

   Solo en estas se usan dos columnas.
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-choice:has(> span){

  grid-template-columns:
    62px minmax(0,1fr)!important;

  grid-template-rows:
    auto auto!important;

  column-gap:
    18px!important;

  row-gap:
    6px!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice:has(> span)
> span{

  grid-column:
    1!important;

  grid-row:
    1 / 3!important;

  align-self:
    center!important;

  justify-self:
    start!important;

  display:grid!important;

  place-items:center!important;

  width:
    58px!important;

  height:
    58px!important;

  min-width:
    58px!important;

  min-height:
    58px!important;

  margin:
    0!important;

  padding:
    0!important;

  border-radius:
    15px!important;

  background:
    #0b9b87!important;

  color:
    #ffffff!important;

  font-size:
    19px!important;

  font-weight:
    950!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice:has(> span)
> strong{

  grid-column:
    2!important;

  grid-row:
    1!important;

  align-self:
    end!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice:has(> span)
> small{

  grid-column:
    2!important;

  grid-row:
    2!important;

  align-self:
    start!important;
}


/* =========================================================
   SI SOLO EXISTE UNA OPCION

   Ejemplo:
   Transferencia / deposito bancario.

   Centrarla y aprovechar mejor el espacio.
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-choice-grid
> .assistant-choice:only-child{

  grid-column:
    1 / -1!important;

  width:
    min(680px,100%)!important;

  justify-self:
    center!important;
}


/* =========================================================
   PASO MODIFICAR
   Las cuatro tarjetas conservan 2 columnas pero el texto
   usa todo el ancho de cada tarjeta.
   ========================================================= */

body:has(#view-asistente.active)
#view-asistente
.assistant-choice-grid{

  align-items:
    stretch!important;
}


body:has(#view-asistente.active)
#view-asistente
.assistant-choice{

  height:
    100%!important;
}


/* =========================================================
   MOVIL
   ========================================================= */

@media(max-width:760px){

  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice{

    min-height:
      112px!important;

    padding:
      20px!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice > strong{

    font-size:
      20px!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice > small{

    font-size:
      14px!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice:has(> span){

    grid-template-columns:
      52px minmax(0,1fr)!important;

    column-gap:
      14px!important;
  }


  body:has(#view-asistente.active)
  #view-asistente
  .assistant-choice:has(> span)
  > span{

    width:
      50px!important;

    height:
      50px!important;

    min-width:
      50px!important;

    min-height:
      50px!important;
  }

}


/* TRICONTA_FACTURA_FACIL_TEXTOS_V3_FIN */




/* TRICONTA_ASISTENTE_MOVIL_TEXTOS_V4_INICIO */


/* =========================================================
   ASISTENTE - FACTURA MOVIL

   En telefono usamos estructura vertical.
   Ningun titulo o descripcion comparte columnas estrechas.
   ========================================================= */


body.invoice-mobile-mode
#view-asistente.active
.assistant-choice-grid{

  display:grid!important;

  grid-template-columns:
    1fr!important;

  gap:
    14px!important;

  width:
    100%!important;

  min-width:
    0!important;
}


/* =========================================================
   TARJETAS DE OPCIONES
   ========================================================= */

body.invoice-mobile-mode
#view-asistente.active
.assistant-choice,

body.invoice-mobile-mode
#view-asistente.active
.assistant-choice:has(> span){

  display:flex!important;

  flex-direction:
    column!important;

  align-items:
    flex-start!important;

  justify-content:
    center!important;

  gap:
    8px!important;

  width:
    100%!important;

  min-width:
    0!important;

  max-width:
    100%!important;

  min-height:
    112px!important;

  height:
    auto!important;

  padding:
    18px 20px!important;

  box-sizing:
    border-box!important;

  overflow:
    visible!important;

  white-space:
    normal!important;
}


/* Icono separado */

body.invoice-mobile-mode
#view-asistente.active
.assistant-choice > span{

  display:inline-grid!important;

  place-items:center!important;

  position:static!important;

  width:
    48px!important;

  height:
    48px!important;

  min-width:
    48px!important;

  min-height:
    48px!important;

  margin:
    0 0 4px 0!important;

  padding:
    0!important;

  flex:
    0 0 auto!important;

  border-radius:
    13px!important;

  background:
    #0b9b87!important;

  color:
    #ffffff!important;

  font-size:
    17px!important;

  font-weight:
    900!important;
}


/* Titulo */

body.invoice-mobile-mode
#view-asistente.active
.assistant-choice > strong{

  display:block!important;

  position:static!important;

  width:
    100%!important;

  min-width:
    0!important;

  max-width:
    100%!important;

  margin:
    0!important;

  padding:
    0!important;

  flex:
    none!important;

  color:
    #082f56!important;

  font-size:
    20px!important;

  font-weight:
    900!important;

  line-height:
    1.25!important;

  white-space:
    normal!important;

  word-break:
    normal!important;

  overflow-wrap:
    anywhere!important;

  text-align:
    left!important;
}


/* Descripcion */

body.invoice-mobile-mode
#view-asistente.active
.assistant-choice > small{

  display:block!important;

  position:static!important;

  width:
    100%!important;

  min-width:
    0!important;

  max-width:
    100%!important;

  margin:
    0!important;

  padding:
    0!important;

  flex:
    none!important;

  color:
    #657b91!important;

  font-size:
    14px!important;

  font-weight:
    500!important;

  line-height:
    1.45!important;

  white-space:
    normal!important;

  word-break:
    normal!important;

  overflow-wrap:
    anywhere!important;

  text-align:
    left!important;
}


/* =========================================================
   RESULTADOS DE BUSQUEDA DE CLIENTES Y PRODUCTOS
   ========================================================= */

body.invoice-mobile-mode
#view-asistente.active
.assistant-result{

  display:flex!important;

  flex-direction:
    column!important;

  align-items:
    flex-start!important;

  gap:
    5px!important;

  width:
    100%!important;

  min-width:
    0!important;

  height:
    auto!important;

  min-height:
    68px!important;

  padding:
    14px 16px!important;

  white-space:
    normal!important;

  text-align:
    left!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-result strong,

body.invoice-mobile-mode
#view-asistente.active
.assistant-result small{

  display:block!important;

  position:static!important;

  width:
    100%!important;

  max-width:
    100%!important;

  margin:
    0!important;

  white-space:
    normal!important;

  overflow-wrap:
    anywhere!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-result strong{

  font-size:
    16px!important;

  line-height:
    1.3!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-result small{

  font-size:
    13px!important;

  line-height:
    1.4!important;
}


/* =========================================================
   ELEMENTO SELECCIONADO
   ========================================================= */

body.invoice-mobile-mode
#view-asistente.active
.assistant-selected{

  display:flex!important;

  flex-direction:
    column!important;

  align-items:
    flex-start!important;

  gap:
    5px!important;

  width:
    100%!important;

  min-width:
    0!important;

  height:
    auto!important;

  padding:
    15px 16px!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-selected span,

body.invoice-mobile-mode
#view-asistente.active
.assistant-selected strong,

body.invoice-mobile-mode
#view-asistente.active
.assistant-selected small{

  display:block!important;

  position:static!important;

  width:
    100%!important;

  max-width:
    100%!important;

  margin:
    0!important;

  white-space:
    normal!important;

  overflow-wrap:
    anywhere!important;
}


/* =========================================================
   PREGUNTA PRINCIPAL
   ========================================================= */

body.invoice-mobile-mode
#view-asistente.active
.assistant-question{

  width:
    100%!important;

  min-width:
    0!important;

  padding:
    0!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-question h3{

  width:
    100%!important;

  max-width:
    100%!important;

  font-size:
    26px!important;

  line-height:
    1.15!important;

  white-space:
    normal!important;

  overflow-wrap:
    break-word!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-question p{

  width:
    100%!important;

  max-width:
    100%!important;

  font-size:
    14px!important;

  line-height:
    1.5!important;

  white-space:
    normal!important;

  overflow-wrap:
    break-word!important;
}


/* =========================================================
   CAMPOS
   ========================================================= */

body.invoice-mobile-mode
#view-asistente.active
.assistant-big-field{

  width:
    100%!important;

  min-width:
    0!important;

  max-width:
    100%!important;

  white-space:
    normal!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-big-field input,

body.invoice-mobile-mode
#view-asistente.active
.assistant-big-field select{

  width:
    100%!important;

  min-width:
    0!important;

  max-width:
    100%!important;

  box-sizing:
    border-box!important;
}


/* =========================================================
   REVISION FINAL
   ========================================================= */

body.invoice-mobile-mode
#view-asistente.active
.assistant-review,

body.invoice-mobile-mode
#view-asistente.active
.assistant-review-line,

body.invoice-mobile-mode
#view-asistente.active
.assistant-review-main{

  min-width:
    0!important;

  max-width:
    100%!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-review dl,

body.invoice-mobile-mode
#view-asistente.active
.assistant-review-line dl,

body.invoice-mobile-mode
#view-asistente.active
.assistant-review-main{

  display:grid!important;

  grid-template-columns:
    1fr!important;

  gap:
    9px!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-review dl > div,

body.invoice-mobile-mode
#view-asistente.active
.assistant-review-line dl > div,

body.invoice-mobile-mode
#view-asistente.active
.assistant-review-main > div{

  display:block!important;

  min-width:
    0!important;

  width:
    100%!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-review dt,

body.invoice-mobile-mode
#view-asistente.active
.assistant-review dd{

  display:block!important;

  width:
    100%!important;

  max-width:
    100%!important;

  margin:
    0!important;

  white-space:
    normal!important;

  overflow-wrap:
    anywhere!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-review dd{

  margin-top:
    3px!important;
}


/* =========================================================
   NAVEGACION
   ========================================================= */

body.invoice-mobile-mode
#view-asistente.active
.assistant-nav{

  grid-template-columns:
    1fr!important;

  gap:
    10px!important;

  width:
    100%!important;
}


body.invoice-mobile-mode
#view-asistente.active
.assistant-prev,

body.invoice-mobile-mode
#view-asistente.active
.assistant-next,

body.invoice-mobile-mode
#view-asistente.active
.assistant-emit{

  width:
    100%!important;

  min-width:
    0!important;

  white-space:
    normal!important;

  line-height:
    1.25!important;
}


/* =========================================================
   PANTALLAS MUY ANGOSTAS
   ========================================================= */

@media(max-width:420px){

  body.invoice-mobile-mode
  #view-asistente.active
  .assistant-choice{

    padding:
      16px!important;
  }


  body.invoice-mobile-mode
  #view-asistente.active
  .assistant-choice > strong{

    font-size:
      18px!important;
  }


  body.invoice-mobile-mode
  #view-asistente.active
  .assistant-question h3{

    font-size:
      23px!important;
  }

}


/* TRICONTA_ASISTENTE_MOVIL_TEXTOS_V4_FIN */




/* TRICONTA_ASISTENTE_LINEAS_WEB_V1_INICIO */


/* =========================================================
   ASISTENTE WEB - LINEAS AGREGADAS

   Solo afecta Sistema Web.
   No modifica Factura movil.
   ========================================================= */


/*
   Separacion general entre las lineas.
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-lines{

  display:grid!important;

  grid-template-columns:
    1fr!important;

  gap:
    14px!important;

  width:
    100%!important;

  margin:
    22px 0 28px!important;

  padding:
    0!important;
}


/* =========================================================
   TARJETA DE CADA LINEA
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card{

  position:relative!important;

  display:grid!important;

  grid-template-columns:
    minmax(0,1fr) auto!important;

  align-items:center!important;

  gap:
    24px!important;

  width:
    100%!important;

  min-width:
    0!important;

  min-height:
    106px!important;

  margin:
    0!important;

  padding:
    18px 20px 18px 24px!important;

  box-sizing:
    border-box!important;

  overflow:
    hidden!important;

  border:
    1px solid #d5e3ee!important;

  border-left:
    5px solid #0b9b87!important;

  border-radius:
    16px!important;

  background:
    linear-gradient(
      135deg,
      #ffffff 0%,
      #f7fbfe 100%
    )!important;

  color:
    #102f50!important;

  box-shadow:
    0 7px 18px
    rgba(21,55,90,.07)!important;
}


/*
   Efecto suave para identificar cada linea.
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card:hover{

  border-color:
    #a9d8d1!important;

  border-left-color:
    #087b70!important;

  box-shadow:
    0 10px 24px
    rgba(11,126,112,.11)!important;

  transform:
    translateY(-1px)!important;
}


/* =========================================================
   BLOQUE DE INFORMACION
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:first-child{

  display:grid!important;

  grid-template-columns:
    auto minmax(0,1fr)!important;

  grid-template-rows:
    auto auto!important;

  align-items:center!important;

  column-gap:
    12px!important;

  row-gap:
    5px!important;

  min-width:
    0!important;

  width:
    100%!important;
}


/*
   DETALLE 1 / DETALLE 2
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:first-child
> span{

  grid-column:
    1!important;

  grid-row:
    1 / 3!important;

  display:inline-flex!important;

  align-items:center!important;

  justify-content:center!important;

  min-width:
    88px!important;

  min-height:
    34px!important;

  margin:
    0!important;

  padding:
    7px 12px!important;

  box-sizing:
    border-box!important;

  border:
    1px solid #9fd8cf!important;

  border-radius:
    999px!important;

  background:
    #e9f8f5!important;

  color:
    #087b70!important;

  font-size:
    13px!important;

  font-weight:
    900!important;

  line-height:
    1.1!important;

  white-space:
    nowrap!important;
}


/*
   NOMBRE DEL PRODUCTO / SERVICIO
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:first-child
> strong{

  grid-column:
    2!important;

  grid-row:
    1!important;

  display:block!important;

  min-width:
    0!important;

  max-width:
    100%!important;

  margin:
    0!important;

  padding:
    0!important;

  color:
    #082f56!important;

  font-size:
    18px!important;

  font-weight:
    900!important;

  line-height:
    1.25!important;

  white-space:
    normal!important;

  overflow-wrap:
    anywhere!important;
}


/*
   CANTIDAD X MONTO + IVA
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:first-child
> small{

  grid-column:
    2!important;

  grid-row:
    2!important;

  display:block!important;

  min-width:
    0!important;

  max-width:
    100%!important;

  margin:
    0!important;

  padding:
    0!important;

  color:
    #536b82!important;

  font-size:
    14px!important;

  font-weight:
    650!important;

  line-height:
    1.4!important;

  white-space:
    normal!important;

  overflow-wrap:
    anywhere!important;
}


/* =========================================================
   BOTONES EDITAR / QUITAR
   ========================================================= */

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child{

  display:flex!important;

  align-items:center!important;

  justify-content:flex-end!important;

  gap:
    8px!important;

  min-width:
    max-content!important;

  padding-left:
    18px!important;

  border-left:
    1px solid #dce6ef!important;
}


body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child
.btn.small{

  display:inline-flex!important;

  align-items:center!important;

  justify-content:center!important;

  min-width:
    82px!important;

  min-height:
    40px!important;

  margin:
    0!important;

  padding:
    9px 15px!important;

  border-radius:
    10px!important;

  font-size:
    14px!important;

  font-weight:
    850!important;

  cursor:
    pointer!important;
}


/*
   EDITAR
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child
.btn.small:first-child{

  border:
    1px solid #b8ccde!important;

  background:
    #ffffff!important;

  color:
    #174b78!important;
}


body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child
.btn.small:first-child:hover{

  background:
    #edf5fb!important;

  border-color:
    #83a9c8!important;
}


/*
   QUITAR
*/

body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child
.btn.small:last-child{

  border:
    1px solid #efb7bd!important;

  background:
    #fff5f6!important;

  color:
    #b12f3b!important;
}


body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child
.btn.small:last-child:hover{

  background:
    #ffe8eb!important;

  border-color:
    #df7f89!important;
}


/* =========================================================
   MODO OSCURO

   Aunque el asistente tiene fondo propio, dejamos
   contraste correcto si el usuario usa tema oscuro.
   ========================================================= */

html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card{

  background:
    linear-gradient(
      135deg,
      #17283d,
      #132237
    )!important;

  border-color:
    #38516d!important;

  border-left-color:
    #22b6a0!important;

  color:
    #f1f6fc!important;
}


html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:first-child
> span{

  background:
    #173d3a!important;

  border-color:
    #2a756b!important;

  color:
    #9ce6da!important;
}


html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:first-child
> strong{

  color:
    #f3f7fc!important;
}


html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:first-child
> small{

  color:
    #b7c7d9!important;
}


html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child{

  border-left-color:
    #344a63!important;
}


html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child
.btn.small:first-child{

  background:
    #1d3249!important;

  border-color:
    #476884!important;

  color:
    #d9ebfb!important;
}


html[data-theme="dark"]
body:not(.invoice-mobile-mode)
#view-asistente.active
.assistant-line-card
> div:last-child
.btn.small:last-child{

  background:
    #3c2128!important;

  border-color:
    #7d3e49!important;

  color:
    #ffc0c7!important;
}


/* =========================================================
   WEB ANGOSTO
   ========================================================= */

@media(max-width:900px){

  body:not(.invoice-mobile-mode)
  #view-asistente.active
  .assistant-line-card{

    grid-template-columns:
      1fr!important;

    gap:
      14px!important;
  }


  body:not(.invoice-mobile-mode)
  #view-asistente.active
  .assistant-line-card
  > div:last-child{

    justify-content:
      flex-start!important;

    padding:
      12px 0 0!important;

    border-left:
      0!important;

    border-top:
      1px solid #dce6ef!important;
  }

}


/* TRICONTA_ASISTENTE_LINEAS_WEB_V1_FIN */




/* TRICONTA_ASISTENTE_MONTO_INPUT_CSS_V2_INICIO */

#view-asistente.active
.assistant-money input{

  text-align:right!important;

  font-variant-numeric:
    tabular-nums!important;

  letter-spacing:
    .3px!important;

  font-weight:
    850!important;
}


/*
   Simbolo de colones visible y separado.
*/

#view-asistente.active
.assistant-money > span{

  display:grid!important;

  grid-template-columns:
    auto minmax(0,1fr)!important;

  align-items:center!important;

  gap:
    10px!important;

  width:
    100%!important;
}


#view-asistente.active
.assistant-money > span > b{

  display:flex!important;

  align-items:center!important;

  justify-content:center!important;

  min-width:
    46px!important;

  min-height:
    58px!important;

  padding:
    0 12px!important;

  border-radius:
    13px!important;

  background:
    #eaf7f5!important;

  color:
    #087b70!important;

  font-size:
    21px!important;

  font-weight:
    950!important;
}


/* TRICONTA_ASISTENTE_MONTO_INPUT_CSS_V2_FIN */














/* TRICONTA_ASISTENTE_NUMEROS_GIGANTES_V2_INICIO */

/* =========================================================
   NUMEROS GIGANTES - WEB Y MOVIL
   Solo visual
   ========================================================= */

/* ETIQUETAS */
#view-asistente.active .assistant-number,
#view-asistente.active .assistant-money{
  font-size: 20px !important;
  font-weight: 950 !important;
  color: #294766 !important;
}

/* =========================================================
   CANTIDAD
   ========================================================= */

#view-asistente.active .assistant-number input{
  min-height: 104px !important;
  padding: 10px 18px !important;
  border: 2px solid #b7cddd !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  color: #082f56 !important;
  font-size: clamp(72px, 8vw, 96px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-align: center !important;
  letter-spacing: .5px !important;
  font-variant-numeric: tabular-nums !important;
  box-shadow: 0 10px 26px rgba(11,155,135,.08) !important;
}

#view-asistente.active .assistant-number input:focus{
  border-color: #159283 !important;
  box-shadow: 0 0 0 5px rgba(21,146,131,.14), 0 10px 26px rgba(11,155,135,.10) !important;
}

/* Stepper + y - */
#view-asistente.active .assistant-qty-stepper{
  display: grid !important;
  grid-template-columns: 104px minmax(0,1fr) 104px !important;
  gap: 18px !important;
  align-items: center !important;
  width: 100% !important;
}

#view-asistente.active .assistant-qty-btn{
  min-height: 104px !important;
  border: none !important;
  border-radius: 22px !important;
  cursor: pointer !important;
  font-size: 58px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 10px 24px rgba(8,47,86,.12) !important;
}

#view-asistente.active .assistant-qty-btn-minus{
  background: linear-gradient(135deg,#0b1f42,#082347) !important;
  color: #fff !important;
}

#view-asistente.active .assistant-qty-btn-plus{
  background: linear-gradient(135deg,#12a392,#148f82) !important;
  color: #fff !important;
}

/* =========================================================
   MONTO POR CANTIDAD
   ========================================================= */

#view-asistente.active .assistant-money > span{
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) !important;
  gap: 16px !important;
  align-items: center !important;
}

#view-asistente.active .assistant-money > span > b{
  min-width: 80px !important;
  min-height: 96px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 20px !important;
  background: linear-gradient(135deg,#e5f6f2,#d9f2ed) !important;
  color: #0b7f74 !important;
  font-size: 44px !important;
  font-weight: 950 !important;
  box-shadow: inset 0 0 0 1px rgba(21,146,131,.15) !important;
}

#view-asistente.active .assistant-money input{
  min-height: 104px !important;
  padding: 10px 22px !important;
  border: 2px solid #b7cddd !important;
  border-radius: 22px !important;
  background: #ffffff !important;
  color: #082f56 !important;
  font-size: clamp(64px, 7.2vw, 88px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-align: right !important;
  letter-spacing: .4px !important;
  font-variant-numeric: tabular-nums !important;
  box-shadow: 0 10px 26px rgba(11,155,135,.08) !important;
}

#view-asistente.active .assistant-money input:focus{
  border-color: #159283 !important;
  box-shadow: 0 0 0 5px rgba(21,146,131,.14), 0 10px 26px rgba(11,155,135,.10) !important;
}

/* =========================================================
   LINEAS / RESUMEN
   Hacer mas grande la cantidad y los montos visibles
   ========================================================= */

#view-asistente.active .assistant-line-card > div:first-child > small{
  font-size: 22px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  font-variant-numeric: tabular-nums !important;
}

#view-asistente.active .assistant-review-line dl > div:nth-child(2) > dd{
  font-size: 30px !important;
  font-weight: 950 !important;
  color: #087b70 !important;
  font-variant-numeric: tabular-nums !important;
}

#view-asistente.active .assistant-review-line dl > div:nth-child(4) > dd,
#view-asistente.active .assistant-review-line dl > div:nth-child(5) > dd,
#view-asistente.active .assistant-review-line dl > div:nth-child(6) > dd,
#view-asistente.active .assistant-review-line dl > div:nth-child(7) > dd{
  font-size: 28px !important;
  font-weight: 950 !important;
  color: #07385c !important;
  font-variant-numeric: tabular-nums !important;
}

#view-asistente.active .assistant-grand-total strong{
  font-size: clamp(42px, 5vw, 60px) !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  font-variant-numeric: tabular-nums !important;
}

/* =========================================================
   MOVIL
   ========================================================= */

@media (max-width: 760px){

  #view-asistente.active .assistant-qty-stepper{
    grid-template-columns: 78px minmax(0,1fr) 78px !important;
    gap: 12px !important;
  }

  #view-asistente.active .assistant-qty-btn{
    min-height: 82px !important;
    font-size: 44px !important;
    border-radius: 18px !important;
  }

  #view-asistente.active .assistant-number input{
    min-height: 82px !important;
    padding: 8px 12px !important;
    border-radius: 18px !important;
    font-size: clamp(52px, 12vw, 68px) !important;
  }

  #view-asistente.active .assistant-money > span{
    gap: 10px !important;
  }

  #view-asistente.active .assistant-money > span > b{
    min-width: 60px !important;
    min-height: 78px !important;
    font-size: 32px !important;
    border-radius: 16px !important;
  }

  #view-asistente.active .assistant-money input{
    min-height: 82px !important;
    padding: 8px 14px !important;
    border-radius: 18px !important;
    font-size: clamp(46px, 10.5vw, 62px) !important;
  }

  #view-asistente.active .assistant-line-card > div:first-child > small{
    font-size: 18px !important;
  }

  #view-asistente.active .assistant-review-line dl > div:nth-child(2) > dd{
    font-size: 24px !important;
  }

  #view-asistente.active .assistant-review-line dl > div:nth-child(4) > dd,
  #view-asistente.active .assistant-review-line dl > div:nth-child(5) > dd,
  #view-asistente.active .assistant-review-line dl > div:nth-child(6) > dd,
  #view-asistente.active .assistant-review-line dl > div:nth-child(7) > dd{
    font-size: 22px !important;
  }

  #view-asistente.active .assistant-grand-total strong{
    font-size: 38px !important;
  }
}

@media (max-width: 420px){

  #view-asistente.active .assistant-qty-stepper{
    grid-template-columns: 68px minmax(0,1fr) 68px !important;
    gap: 10px !important;
  }

  #view-asistente.active .assistant-qty-btn{
    min-height: 74px !important;
    font-size: 40px !important;
  }

  #view-asistente.active .assistant-number input{
    font-size: clamp(46px, 11.5vw, 58px) !important;
  }

  #view-asistente.active .assistant-money > span > b{
    min-width: 54px !important;
    min-height: 70px !important;
    font-size: 28px !important;
  }

  #view-asistente.active .assistant-money input{
    font-size: clamp(40px, 10vw, 52px) !important;
  }
}

/* TRICONTA_ASISTENTE_NUMEROS_GIGANTES_V2_FIN */


/* TRICONTA_DARK_MODE_POPUPS_FIX_V1 */

body.dark .toast,
body.dark #toast,
body.dark .toast-container .toast {
    background: #182b45 !important;
    color: #f3f7ff !important;
    border: 1px solid #355276 !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.45) !important;
}

body.dark .toast.bad,
body.dark .toast.error {
    background: #5b2630 !important;
    color: #fff4f4 !important;
    border-color: #9e4b57 !important;
}

body.dark dialog {
    background: #111d31;
    color: #edf4ff;
    border: 1px solid #304866;
}

body.dark .dialog-card {
    background: #111d31;
    color: #edf4ff;
}

body.dark .dialog-card h1,
body.dark .dialog-card h2,
body.dark .dialog-card h3,
body.dark .dialog-card strong {
    color: #ffffff;
}

body.dark .dialog-card p,
body.dark .dialog-card span,
body.dark .dialog-card label {
    color: #c8d6ea;
}

body.dark .btn {
    background: #172941;
    border-color: #395676;
    color: #edf4ff;
}

body.dark .btn:hover {
    background: #213b5c;
}

body.dark .btn.primary {
    background: #0b5bd3;
    border-color: #0b5bd3;
    color: #ffffff;
}

body.dark .dropdown-menu,
body.dark .menu-popup,
body.dark .popover {
    background: #111d31;
    color: #edf4ff;
    border: 1px solid #304866;
    box-shadow: 0 18px 45px rgba(0,0,0,.45);
}



/* TRICONTA_DOCUMENT_RESULT_MODAL_V1 */

.document-result-card {
    width:min(520px,94vw);
}

html[data-theme="dark"] #documentResultDialog,
html[data-theme="dark"] #documentResultDialog .dialog-card {
    background:#111d31;
    color:#edf4ff;
}

html[data-theme="dark"] #documentResultMessage {
    color:#dbe8f8;
}



/* TRICONTA_DOCUMENT_ACCEPTED_NOTICE_DARK_V2 */

.pdf-aceptado-notice {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 99999;
    background: #ffffff;
    color: #10233f;
    border: 1px solid #d7dce2;
    border-radius: 12px;
    box-shadow: 0 8px 28px rgba(0,0,0,.18);
    padding: 16px;
    max-width: 360px;
    width: calc(100% - 44px);
    font-family: inherit;
}

.pdf-aceptado-notice button {
    cursor: pointer;
}

html[data-theme="dark"] .pdf-aceptado-notice,
body.dark .pdf-aceptado-notice {
    background: #111d31;
    color: #edf4ff;
    border-color: #355276;
    box-shadow: 0 18px 45px rgba(0,0,0,.45);
}

html[data-theme="dark"] .pdf-aceptado-notice button:first-child,
body.dark .pdf-aceptado-notice button:first-child {
    background: #172941 !important;
    color: #edf4ff !important;
    border-color: #395676 !important;
}



/* TRICONTA_DOCUMENT_ACCEPTED_NOTICE_DARK_V3 */

.pdf-aceptado-titulo {
    font-weight:700;
    margin-bottom:6px;
}

.pdf-aceptado-detalle {
    font-size:14px;
    margin-bottom:12px;
}

.pdf-aceptado-acciones {
    display:flex;
    gap:8px;
    justify-content:flex-end;
    flex-wrap:wrap;
}

.pdf-aceptado-cerrar {
    min-height:44px;
    padding:8px 14px;
}

.pdf-aceptado-ver {
    min-height:44px;
    padding:8px 16px;
}

html[data-theme="dark"] .pdf-aceptado-titulo,
body.dark .pdf-aceptado-titulo {
    color:#ffffff;
}

html[data-theme="dark"] .pdf-aceptado-detalle,
body.dark .pdf-aceptado-detalle {
    color:#d8e5f7;
}

html[data-theme="dark"] .pdf-aceptado-cerrar,
body.dark .pdf-aceptado-cerrar {
    background:#172941 !important;
    color:#edf4ff !important;
    border-color:#395676 !important;
}




/* TRICONTA_ASISTENTE_DESCRIPCION_PRODUCTO_CSS_V1_INICIO */


#view-asistente.active
.assistant-description-preview{

  width:
    min(820px,100%)!important;

  margin:
    20px auto 28px!important;

  padding:
    22px 24px!important;

  border:
    2px solid #d4e4ee!important;

  border-left:
    6px solid #0b9b87!important;

  border-radius:
    18px!important;

  background:
    linear-gradient(
      135deg,
      #ffffff,
      #f4fbfa
    )!important;

  box-shadow:
    0 10px 28px
    rgba(10,70,95,.08)!important;

  box-sizing:
    border-box!important;
}


#view-asistente.active
.assistant-description-preview
> span{

  display:block!important;

  margin-bottom:
    8px!important;

  color:
    #637a90!important;

  font-size:
    13px!important;

  font-weight:
    850!important;

  text-transform:
    uppercase!important;

  letter-spacing:
    .05em!important;
}


#view-asistente.active
.assistant-description-preview
> strong{

  display:block!important;

  color:
    #082f56!important;

  font-size:
    23px!important;

  font-weight:
    950!important;

  line-height:
    1.3!important;

  overflow-wrap:
    anywhere!important;
}


#view-asistente.active
.assistant-description-preview
> small{

  display:block!important;

  margin-top:
    12px!important;

  color:
    #647b91!important;

  font-size:
    15px!important;

  line-height:
    1.5!important;

  overflow-wrap:
    anywhere!important;
}


#view-asistente.active
.assistant-description-editor{

  width:
    min(820px,100%)!important;

  margin:
    18px auto 28px!important;

  display:grid!important;

  gap:
    18px!important;
}


#view-asistente.active
.assistant-description-editor
label{

  display:grid!important;

  gap:
    10px!important;

  color:
    #294766!important;

  font-size:
    17px!important;

  font-weight:
    900!important;
}


#view-asistente.active
#assistantProductDescription{

  width:
    100%!important;

  min-height:
    170px!important;

  resize:
    vertical!important;

  box-sizing:
    border-box!important;

  padding:
    20px 22px!important;

  border:
    2px solid #b8cfde!important;

  border-radius:
    18px!important;

  outline:
    none!important;

  background:
    #ffffff!important;

  color:
    #082f56!important;

  font-family:
    inherit!important;

  font-size:
    23px!important;

  font-weight:
    750!important;

  line-height:
    1.45!important;

  box-shadow:
    0 10px 26px
    rgba(8,47,86,.08)!important;
}


#view-asistente.active
#assistantProductDescription:focus{

  border-color:
    #0b9b87!important;

  box-shadow:
    0 0 0 5px
    rgba(11,155,135,.13),
    0 10px 26px
    rgba(8,47,86,.08)!important;
}


#view-asistente.active
.assistant-description-original{

  display:grid!important;

  gap:
    8px!important;

  padding:
    16px 18px!important;

  border:
    1px solid #d7e3ec!important;

  border-radius:
    14px!important;

  background:
    #f7fafc!important;
}


#view-asistente.active
.assistant-description-original
span{

  color:
    #6b7f93!important;

  font-size:
    13px!important;

  font-weight:
    850!important;
}


#view-asistente.active
.assistant-description-original
strong{

  color:
    #183e62!important;

  font-size:
    16px!important;

  line-height:
    1.4!important;

  overflow-wrap:
    anywhere!important;
}


#view-asistente.active
.assistant-description-original
.btn{

  justify-self:
    start!important;

  margin-top:
    4px!important;
}


@media(max-width:760px){

  #view-asistente.active
  .assistant-description-preview{

    padding:
      18px!important;

    border-radius:
      16px!important;
  }


  #view-asistente.active
  .assistant-description-preview
  > strong{

    font-size:
      20px!important;
  }


  #view-asistente.active
  #assistantProductDescription{

    min-height:
      150px!important;

    padding:
      16px!important;

    border-radius:
      16px!important;

    font-size:
      19px!important;
  }


  #view-asistente.active
  .assistant-description-original{

    padding:
      14px!important;
  }

}


/* TRICONTA_ASISTENTE_DESCRIPCION_PRODUCTO_CSS_V1_FIN */



/* TRICONTA_BORRADOR_POST_ERROR_DARK_V1 */

.borrador-post-error-notice{
  color:#10233f;
}

html[data-theme="dark"] .borrador-post-error-notice,
body.dark .borrador-post-error-notice{
  background:#111d31!important;
  color:#edf4ff!important;
  border-color:#355276!important;
  box-shadow:0 18px 45px rgba(0,0,0,.45)!important;
}

html[data-theme="dark"] .borrador-post-error-notice .btn,
body.dark .borrador-post-error-notice .btn{
  background:#172941!important;
  color:#edf4ff!important;
  border-color:#395676!important;
}

html[data-theme="dark"] .borrador-post-error-notice .btn.primary,
body.dark .borrador-post-error-notice .btn.primary{
  background:#0b5bd3!important;
  color:#fff!important;
  border-color:#0b5bd3!important;
}

/* FIN TRICONTA_BORRADOR_POST_ERROR_DARK_V1 */


/* TRICONTA_EMITIR_MOVIL_GUIADO_CSS_V1_INICIO
   Solo afecta Factura movil.
   Escritorio permanece intacto.
*/

.triconta-mobile-emit-flow,
.triconta-mobile-step-actions{
  display:none;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-emit-flow{
  display:grid!important;
  gap:10px;
  margin:0 0 12px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper{
  display:grid;
  grid-template-columns:
    minmax(0,1fr)
    20px
    minmax(0,1fr)
    20px
    minmax(0,1fr);
  align-items:center;
  gap:4px;
  padding:11px;
  border:1px solid #d8e6ec;
  border-radius:14px;
  background:#fff;
  box-shadow:0 4px 14px rgba(8,38,68,.06);
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper>i{
  height:2px;
  background:#dce8ec;
  border-radius:99px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper button{
  appearance:none;
  border:0;
  background:transparent;
  color:#718395;
  display:grid;
  justify-items:center;
  gap:5px;
  padding:3px 1px;
  min-width:0;
  cursor:pointer;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper button span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf2f5;
  color:#607589;
  font-weight:900;
  font-size:13px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper button strong{
  font-size:11px;
  line-height:1.1;
  text-align:center;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper button.active span{
  background:#079b84;
  color:#fff;
  box-shadow:0 3px 10px rgba(7,155,132,.25);
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper button.active strong{
  color:#075c50;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-stepper button.done span{
  background:#dff5f0;
  color:#087967;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-copy{
  padding:12px 14px;
  border-radius:12px;
  background:#f2faf8;
  border:1px solid #d2ebe5;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-copy>div{
  display:grid;
  gap:3px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-copy strong{
  color:#0a3155;
  font-size:16px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-copy small{
  color:#647b8d;
  line-height:1.35;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-live-summary{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) .55fr 1fr;
  gap:7px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-live-summary>div{
  min-width:0;
  padding:9px 10px;
  border-radius:10px;
  border:1px solid #dfe8ed;
  background:#fff;
  display:grid;
  gap:2px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-live-summary small{
  color:#718394;
  font-size:9.5px;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.03em;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-live-summary strong{
  color:#123653;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.invoice-mobile-mode
#view-emitir
#tricontaEmitirMovilTotal{
  color:#087c68;
  font-size:13px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e2eaee;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-actions.only-next{
  grid-template-columns:1fr;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-actions.only-back{
  grid-template-columns:1fr;
  margin:10px 0 12px;
}

.invoice-mobile-mode
#view-emitir
.triconta-mobile-step-actions .btn{
  min-height:46px;
  width:100%;
  white-space:normal;
}

/*
   PASO 1
   Datos del comprobante.
*/
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
.emit-detail-card,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
#pagosDetails,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
.emit-side-stack,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
.final-submit-panel,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
#tricontaMobileNavPago{
  display:none!important;
}

/*
   PASO 2
   Detalle + resumen de totales.
*/
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.emit-main-card,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
#pagosDetails,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.emit-meta-panel,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.final-submit-panel,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
#tricontaMobileNavDatos,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
#tricontaMobileNavPago{
  display:none!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.emit-side-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.emit-side-stack
.emit-meta-panel{
  display:none!important;
}

/*
   PASO 3
   Pago + resumen + emitir.
*/
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.emit-main-card,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.emit-detail-card,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#tricontaMobileNavDatos,

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#tricontaMobileNavDetalle{
  display:none!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#pagosDetails{
  display:block!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.emit-side-stack{
  display:grid!important;
  grid-template-columns:1fr!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.final-submit-panel{
  display:flex!important;
  position:sticky!important;
  bottom:calc(8px + env(safe-area-inset-bottom))!important;
}

/*
   En el paso 3 el boton Limpiar + Emitir sigue siendo
   exactamente el existente del sistema.
*/
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.emit-final-actions{
  width:100%!important;
}

/*
   Mantener formularios amplios y faciles de tocar.
*/
.invoice-mobile-mode
#view-emitir
.emit-main-card,

.invoice-mobile-mode
#view-emitir
.emit-detail-card,

.invoice-mobile-mode
#view-emitir
#pagosDetails,

.invoice-mobile-mode
#view-emitir
.emit-side-stack{
  animation:tricontaMobileStepIn .16s ease-out;
}

@keyframes tricontaMobileStepIn{
  from{
    opacity:.45;
    transform:translateY(5px);
  }
  to{
    opacity:1;
    transform:none;
  }
}

@media(max-width:420px){
  .invoice-mobile-mode
  #view-emitir
  .triconta-mobile-live-summary{
    grid-template-columns:minmax(0,1fr) 68px;
  }

  .invoice-mobile-mode
  #view-emitir
  .triconta-mobile-live-summary>div:last-child{
    grid-column:1/-1;
  }

  .invoice-mobile-mode
  #view-emitir
  .triconta-mobile-stepper{
    padding:9px 6px;
  }

  .invoice-mobile-mode
  #view-emitir
  .triconta-mobile-stepper button strong{
    font-size:10px;
  }
}

/* TRICONTA_EMITIR_MOVIL_GUIADO_CSS_V1_FIN */


/* TRICONTA_EMITIR_MOVIL_ESTRUCTURAL_CSS_V1 */

/* Nunca mostrar la navegación guiada en escritorio. */
#view-emitir .triconta-mobile-emit-flow,
#view-emitir .triconta-mobile-step-actions{
  display:none;
}

/* En modo factura móvil sí se activa. */
.invoice-mobile-mode
#view-emitir
.triconta-mobile-emit-flow{
  display:grid!important;
}

/*
 Paso 1: Datos.
*/
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
.emit-main-card{
  display:block!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
.emit-detail-card,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
#pagosDetails,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
.final-submit-panel,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
#tricontaMobileNavDetalle,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
#tricontaMobileNavPago{
  display:none!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-1
#tricontaMobileNavDatos{
  display:grid!important;
}

/*
 Paso 2: Detalle + IVA/exoneracion + resumen.
*/
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.emit-main-card,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
#pagosDetails,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.final-submit-panel,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
#tricontaMobileNavDatos,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
#tricontaMobileNavPago{
  display:none!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
.emit-detail-card{
  display:block!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-2
#tricontaMobileNavDetalle{
  display:grid!important;
}

/*
 Paso 3: Pago + emision.
*/
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.emit-main-card,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.emit-detail-card,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#tricontaMobileNavDatos,
.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#tricontaMobileNavDetalle{
  display:none!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#pagosDetails{
  display:block!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
.final-submit-panel{
  display:flex!important;
}

.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#tricontaMobileNavPago{
  display:grid!important;
}



/* TRICONTA_MOBILE_STEPS_VISIBILITY_V2 */

/*
   REGLA MAESTRA:
   En factura móvil solo se muestra la sección
   correspondiente al paso activo.
*/

body.invoice-mobile-mode
#view-emitir.active
.triconta-mobile-emit-flow{
  display:grid!important;
}

/* =========================
   PASO 1 - DATOS
   ========================= */

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="1"]
.emit-main-card{
  display:block!important;
}

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="1"]
.emit-detail-card,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="1"]
#pagosDetails,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="1"]
.final-submit-panel,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="1"]
#tricontaMobileNavDetalle,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="1"]
#tricontaMobileNavPago{
  display:none!important;
}

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="1"]
#tricontaMobileNavDatos{
  display:grid!important;
}


/* =========================
   PASO 2 - DETALLE
   ========================= */

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="2"]
.emit-main-card,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="2"]
#pagosDetails,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="2"]
.final-submit-panel,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="2"]
#tricontaMobileNavDatos,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="2"]
#tricontaMobileNavPago{
  display:none!important;
}

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="2"]
.emit-detail-card{
  display:block!important;
}

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="2"]
#tricontaMobileNavDetalle{
  display:grid!important;
}


/* =========================
   PASO 3 - PAGO
   ========================= */

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="3"]
.emit-main-card,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="3"]
.emit-detail-card,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="3"]
#tricontaMobileNavDatos,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="3"]
#tricontaMobileNavDetalle{
  display:none!important;
}

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="3"]
#pagosDetails{
  display:block!important;
}

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="3"]
.final-submit-panel{
  display:flex!important;
}

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step="3"]
#tricontaMobileNavPago{
  display:grid!important;
}


/*
   Evita que reglas móviles antiguas obliguen
   nuevamente a mostrar todas las tarjetas.
*/
body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step]
.emit-main-card,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step]
.emit-detail-card,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step]
#pagosDetails,

body.invoice-mobile-mode
#view-emitir.active[data-triconta-mobile-step]
.final-submit-panel{
  animation:tricontaStepShow .15s ease-out;
}

@keyframes tricontaStepShow{
  from{
    opacity:.6;
    transform:translateY(4px);
  }

  to{
    opacity:1;
    transform:none;
  }
}


/* TRICONTA_EMPRESA_MOVIL_V2_INICIO */

@media(max-width:900px){

  /*
     Selector real:
       #companySwitchWrap
       #companySwitch

     El select nativo permanece encima para recibir el toque,
     pero se hace visualmente transparente.
  */

  body.invoice-mobile-mode #companySwitchWrap{
    position:relative!important;

    display:flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;

    height:58px!important;
    min-height:58px!important;

    margin-left:-14px!important;

    padding:0!important;

    border:1px solid #d5deea!important;
    border-radius:15px!important;

    background:#f8fbff!important;

    overflow:hidden!important;

    font-size:0!important;
    line-height:0!important;
  }

  /*
     Texto visible fijo.
  */
  body.invoice-mobile-mode #companySwitchWrap::before{
    content:"Empresa"!important;

    position:absolute!important;
    left:18px!important;
    top:50%!important;
    transform:translateY(-50%)!important;

    color:#10294d!important;
    font-size:16px!important;
    line-height:1!important;
    font-weight:800!important;

    white-space:nowrap!important;

    pointer-events:none!important;
    z-index:1!important;
  }

  /*
     Flecha visual propia.
  */
  body.invoice-mobile-mode #companySwitchWrap::after{
    content:"⌄"!important;

    position:absolute!important;
    right:15px!important;
    top:50%!important;
    transform:translateY(-54%)!important;

    color:#10294d!important;
    font-size:22px!important;
    line-height:1!important;
    font-weight:900!important;

    pointer-events:none!important;
    z-index:1!important;
  }

  /*
     El SELECT REAL sigue ocupando todo el botón.
     En iOS esto garantiza que al tocarlo se abra
     el selector nativo con todas las empresas.

     opacity:0 evita que Safari pinte el nombre
     seleccionado encima de "Empresa".
  */
  body.invoice-mobile-mode #companySwitch{
    position:absolute!important;

    inset:0!important;

    width:100%!important;
    height:100%!important;

    min-width:0!important;
    max-width:none!important;

    margin:0!important;
    padding:0!important;

    opacity:0!important;

    cursor:pointer!important;

    z-index:2!important;
  }

}

/* TRICONTA_EMPRESA_MOVIL_V2_FIN */


/* TRICONTA_SALIR_MOVIL_FINAL_V1_INICIO */

/*
   Arquitectura definitiva:

   FACTURA MOVIL
   - El boton original #logoutBtn NO se muestra.
   - Cerrar sesion vive dentro del menu principal movil.

   SISTEMA WEB
   - #logoutBtn conserva su funcionamiento y estilos normales.
*/

body.invoice-mobile-mode #logoutBtn,
body.invoice-mobile-mode .header-account > #logoutBtn,
body.invoice-mobile-mode .app-header #logoutBtn{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  position:absolute!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  max-width:0!important;
  max-height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  overflow:hidden!important;
}

/*
   Cerrar sesion existe solamente como opcion del menu
   de Factura movil.
*/
#tricontaCerrarSesionMovilBtn{
  display:none;
}

body.invoice-mobile-mode
#view-mobile-home
#tricontaCerrarSesionMovilBtn{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  margin-top:12px!important;
  border:1px solid #e5c9cd!important;
  background:#fffafa!important;
}

body.invoice-mobile-mode
#tricontaCerrarSesionMovilBtn strong{
  color:#943f49!important;
}

body.invoice-mobile-mode
#tricontaCerrarSesionMovilBtn small{
  color:#82686c!important;
}

body.invoice-mobile-mode
#tricontaCerrarSesionMovilBtn
.triconta-mobile-logout-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#fff0f2!important;
  color:#a63f4d!important;
}

/* TRICONTA_SALIR_MOVIL_FINAL_V1_FIN */


/* TRICONTA_MENU_FACTURACION_MOVIL_V2_CSS_INICIO */

/* =========================================================
   EMPRESA CENTRADA EN ENCABEZADO MOVIL
   ========================================================= */

@media(max-width:900px){

  body.invoice-mobile-mode .app-header-primary{
    position:relative!important;
  }

  body.invoice-mobile-mode .header-account{
    position:static!important;
  }

  body.invoice-mobile-mode #companySwitchWrap{
    position:absolute!important;

    left:50%!important;
    top:50%!important;

    transform:translate(-50%,-50%)!important;

    margin:0!important;

    width:150px!important;
    min-width:150px!important;
    max-width:150px!important;

    z-index:80!important;
  }

}


/* =========================================================
   MENU FACTURACION PLEGABLE
   ========================================================= */

.triconta-mobile-billing-menu{
  display:none;
}

body.invoice-mobile-mode
#view-mobile-home
.triconta-mobile-billing-menu{
  display:block!important;

  width:100%!important;

  margin:0!important;

  border:1px solid #dbe5ef!important;
  border-radius:16px!important;

  background:#ffffff!important;

  overflow:hidden!important;

  box-shadow:0 5px 16px rgba(16,43,73,.06)!important;
}


/* CABECERA */

body.invoice-mobile-mode
.triconta-mobile-billing-menu > summary{
  list-style:none!important;

  display:grid!important;

  grid-template-columns:
    46px
    minmax(0,1fr)
    32px!important;

  gap:12px!important;

  align-items:center!important;

  min-height:78px!important;

  padding:14px 15px!important;

  cursor:pointer!important;

  user-select:none!important;

  background:#ffffff!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-menu > summary::-webkit-details-marker{
  display:none!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-menu > summary::marker{
  content:""!important;
}


/* ICONO */

body.invoice-mobile-mode
.triconta-mobile-billing-icon{
  width:44px!important;
  height:44px!important;

  display:grid!important;
  place-items:center!important;

  border-radius:13px!important;

  background:#e8f7f4!important;
  color:#07826f!important;

  font-size:21px!important;
  font-weight:900!important;
}


/* TEXTO */

body.invoice-mobile-mode
.triconta-mobile-billing-copy{
  display:grid!important;
  gap:4px!important;

  min-width:0!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-copy strong{
  color:#102f55!important;

  font-size:17px!important;
  font-weight:850!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-copy small{
  color:#6c7d90!important;

  font-size:12px!important;
  line-height:1.25!important;
}


/* FLECHA */

body.invoice-mobile-mode
.triconta-mobile-billing-chevron{
  display:grid!important;
  place-items:center!important;

  color:#667b91!important;

  font-size:24px!important;
  font-weight:900!important;

  transition:transform .18s ease!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-menu[open]
.triconta-mobile-billing-chevron{
  transform:rotate(180deg)!important;
}


/* CONTENIDO */

body.invoice-mobile-mode
.triconta-mobile-billing-items{
  display:grid!important;

  gap:8px!important;

  padding:12px!important;

  border-top:1px solid #eef2f6!important;

  background:#fbfdff!important;
}


/* OPCIONES */

body.invoice-mobile-mode
.triconta-mobile-billing-item{
  appearance:none!important;

  width:100%!important;

  display:grid!important;

  grid-template-columns:
    38px
    minmax(0,1fr)!important;

  gap:11px!important;

  align-items:center!important;

  min-height:62px!important;

  padding:10px 12px!important;

  border:1px solid #dce6ef!important;
  border-radius:12px!important;

  background:#ffffff!important;

  text-align:left!important;

  cursor:pointer!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-item > span:first-child{
  width:36px!important;
  height:36px!important;

  display:grid!important;
  place-items:center!important;

  border-radius:10px!important;

  background:#eef7f5!important;
  color:#087c6c!important;

  font-size:15px!important;
  font-weight:900!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-item > span:last-child{
  display:grid!important;
  gap:3px!important;

  min-width:0!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-item strong{
  color:#123354!important;

  font-size:14px!important;
  font-weight:820!important;
}

body.invoice-mobile-mode
.triconta-mobile-billing-item small{
  color:#708195!important;

  font-size:11px!important;
  line-height:1.25!important;
}


/* CERRAR SESION QUEDA FUERA DEL ACORDEON */

body.invoice-mobile-mode
#view-mobile-home
#tricontaCerrarSesionMovilBtn{
  margin-top:12px!important;
}


/* =========================================================
   MODO OSCURO
   ========================================================= */

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-menu{
  background:#142137!important;
  border-color:#30425b!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-menu > summary{
  background:#142137!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-copy strong{
  color:#f0f5fb!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-copy small,
html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-chevron{
  color:#aebdd0!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-items{
  background:#101b2d!important;
  border-color:#2c3d55!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-item{
  background:#17263d!important;
  border-color:#30445f!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-item strong{
  color:#eef4fb!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-billing-item small{
  color:#aabbd0!important;
}

/* TRICONTA_MENU_FACTURACION_MOVIL_V2_CSS_FIN */


/* TRICONTA_EMPRESA_MOVIL_MINIMAL_V1_INICIO */

@media(max-width:900px){

  /*
     Se reserva una franja limpia debajo de los
     datos de la empresa para el selector.
  */
  body.invoice-mobile-mode
  .app-header-primary{
    position:relative!important;
    padding-bottom:48px!important;
  }


  /*
     Contenedor real del selector.

     Sin tarjeta.
     Sin borde.
     Sin fondo.
     Sin sombra.
  */
  body.invoice-mobile-mode
  #companySwitchWrap{
    position:absolute!important;

    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:8px!important;

    transform:translateX(-50%)!important;

    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;

    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;

    height:34px!important;
    min-height:34px!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    border-radius:0!important;

    background:transparent!important;
    box-shadow:none!important;

    overflow:visible!important;

    z-index:80!important;

    font-size:0!important;
    line-height:0!important;
  }


  /*
     Texto visible.
  */
  body.invoice-mobile-mode
  #companySwitchWrap::before{
    content:"Empresa"!important;

    position:absolute!important;

    left:10px!important;
    top:50%!important;

    transform:translateY(-50%)!important;

    color:#10294d!important;

    font-size:16px!important;
    line-height:1!important;
    font-weight:800!important;

    white-space:nowrap!important;

    pointer-events:none!important;

    z-index:1!important;
  }


  /*
     Flecha discreta.
  */
  body.invoice-mobile-mode
  #companySwitchWrap::after{
    content:"⌄"!important;

    position:absolute!important;

    right:8px!important;
    top:50%!important;

    transform:translateY(-54%)!important;

    color:#10294d!important;

    font-size:20px!important;
    line-height:1!important;
    font-weight:900!important;

    pointer-events:none!important;

    z-index:1!important;
  }


  /*
     El SELECT real permanece por encima y ocupa
     toda la zona táctil.

     Así Safari/iPhone sigue abriendo el selector
     nativo con todas las empresas.
  */
  body.invoice-mobile-mode
  #companySwitch{
    position:absolute!important;

    inset:0!important;

    width:100%!important;
    height:100%!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    background:transparent!important;

    opacity:0!important;

    cursor:pointer!important;

    z-index:2!important;
  }


  /*
     No afecta las opciones cuando Safari abre
     el selector nativo.
  */
  body.invoice-mobile-mode
  #companySwitch option{
    color:#10294d!important;
  }

}


/* MODO OSCURO */

html[data-theme="dark"]
body.invoice-mobile-mode
#companySwitchWrap::before,
html[data-theme="dark"]
body.invoice-mobile-mode
#companySwitchWrap::after{
  color:#edf4ff!important;
}

/* TRICONTA_EMPRESA_MOVIL_MINIMAL_V1_FIN */


/* TRICONTA_FACTURACION_VISUAL_V3_INICIO */

@media(max-width:900px){

  body.invoice-mobile-mode
  #tricontaMobileBillingMenu{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;

    border:0!important;
    background:transparent!important;
    box-shadow:none!important;

    overflow:visible!important;
  }


  /*
     Tarjeta principal:
     mismo tamaño visual que Documentos recibidos,
     Clientes, Productos y Parámetros.
  */
  body.invoice-mobile-mode
  #tricontaMobileBillingMenu
  > .triconta-billing-main-card{

    position:relative!important;

    display:grid!important;

    grid-template-columns:
      96px
      minmax(0,1fr)
      36px!important;

    align-items:center!important;

    gap:18px!important;

    width:100%!important;

    min-height:126px!important;

    padding:20px 22px!important;

    box-sizing:border-box!important;

    border:1px solid #d7e1eb!important;
    border-radius:20px!important;

    background:#ffffff!important;

    box-shadow:
      0 5px 16px
      rgba(16,43,73,.05)!important;

    list-style:none!important;

    cursor:pointer!important;
  }


  body.invoice-mobile-mode
  #tricontaMobileBillingMenu
  > .triconta-billing-main-card::-webkit-details-marker{
    display:none!important;
  }

  body.invoice-mobile-mode
  #tricontaMobileBillingMenu
  > .triconta-billing-main-card::marker{
    content:""!important;
  }


  /*
     Icono grande igual a las demás tarjetas.
  */
  body.invoice-mobile-mode
  .triconta-billing-main-icon{

    width:82px!important;
    height:82px!important;

    display:grid!important;
    place-items:center!important;

    border-radius:16px!important;

    background:#e8f7f3!important;

    color:#0a8c79!important;

    font-size:30px!important;
    line-height:1!important;
    font-weight:800!important;

    margin:0!important;
  }


  /*
     Bloque de texto.
  */
  body.invoice-mobile-mode
  .triconta-billing-main-copy{

    min-width:0!important;

    display:grid!important;

    gap:8px!important;

    align-content:center!important;
  }


  /*
     Título azul y grande como los demás.
  */
  body.invoice-mobile-mode
  .triconta-billing-main-copy strong{

    margin:0!important;
    padding:0!important;

    color:#0788f5!important;

    font-size:24px!important;
    line-height:1.1!important;

    font-weight:850!important;

    white-space:normal!important;
  }


  /*
     Texto descriptivo debajo, nunca a la derecha.
  */
  body.invoice-mobile-mode
  .triconta-billing-main-copy small{

    display:block!important;

    margin:0!important;
    padding:0!important;

    color:#6f8195!important;

    font-size:15px!important;
    line-height:1.3!important;

    font-weight:500!important;

    white-space:normal!important;

    overflow-wrap:normal!important;
    word-break:normal!important;
  }


  /*
     Flecha.
  */
  body.invoice-mobile-mode
  .triconta-billing-main-chevron{

    display:grid!important;
    place-items:center!important;

    width:32px!important;
    height:32px!important;

    margin:0!important;
    padding:0!important;

    color:#73859a!important;

    font-size:28px!important;
    line-height:1!important;
    font-weight:900!important;

    transition:transform .18s ease!important;
  }


  body.invoice-mobile-mode
  #tricontaMobileBillingMenu[open]
  > .triconta-billing-main-card
  .triconta-billing-main-chevron{

    transform:rotate(180deg)!important;
  }


  /*
     Submenú interno.
  */
  body.invoice-mobile-mode
  #tricontaMobileBillingMenu
  .triconta-mobile-billing-items{

    display:grid!important;

    grid-template-columns:1fr!important;

    gap:8px!important;

    width:calc(100% - 20px)!important;

    margin:
      10px 10px 2px!important;

    padding:10px!important;

    box-sizing:border-box!important;

    border:1px solid #dfe7ef!important;
    border-radius:14px!important;

    background:#f7fafc!important;
  }

}


/* Pantallas pequeñas */

@media(max-width:520px){

  body.invoice-mobile-mode
  #tricontaMobileBillingMenu
  > .triconta-billing-main-card{

    grid-template-columns:
      74px
      minmax(0,1fr)
      30px!important;

    gap:14px!important;

    min-height:112px!important;

    padding:16px 18px!important;
  }


  body.invoice-mobile-mode
  .triconta-billing-main-icon{

    width:68px!important;
    height:68px!important;

    font-size:25px!important;

    border-radius:15px!important;
  }


  body.invoice-mobile-mode
  .triconta-billing-main-copy strong{

    font-size:22px!important;
  }


  body.invoice-mobile-mode
  .triconta-billing-main-copy small{

    font-size:14px!important;
  }

}


/* Tema oscuro */

html[data-theme="dark"]
body.invoice-mobile-mode
#tricontaMobileBillingMenu
> .triconta-billing-main-card{

  background:#17263d!important;
  border-color:#30445f!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-billing-main-copy strong{

  color:#45a7ff!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-billing-main-copy small{

  color:#adbed1!important;
}

html[data-theme="dark"]
body.invoice-mobile-mode
#tricontaMobileBillingMenu
.triconta-mobile-billing-items{

  background:#101b2d!important;
  border-color:#30425b!important;
}

/* TRICONTA_FACTURACION_VISUAL_V3_FIN */


/* TRICONTA_MENU_GESTION_MOVIL_CSS_V1_INICIO */

@media(max-width:900px){

  /* =======================================================
     CONTENEDOR GESTION
     ======================================================= */

  body.invoice-mobile-mode
  #tricontaMobileGestionMenu{

    display:block!important;

    width:100%!important;

    margin:0!important;
    padding:0!important;

    border:0!important;
    background:transparent!important;
    box-shadow:none!important;

    overflow:visible!important;
  }


  /* =======================================================
     TARJETAS PRINCIPALES
     Facturación + Gestión + Documentos recibidos
     ======================================================= */

  body.invoice-mobile-mode
  #tricontaMobileGestionMenu
  > .triconta-mobile-main-card,

  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received{

    position:relative!important;

    display:grid!important;

    grid-template-columns:
      96px
      minmax(0,1fr)
      36px!important;

    align-items:center!important;

    gap:18px!important;

    width:100%!important;

    min-height:126px!important;

    margin:0!important;

    padding:20px 22px!important;

    box-sizing:border-box!important;

    border:
      1px solid #d7e1eb!important;

    border-radius:
      20px!important;

    background:
      #ffffff!important;

    box-shadow:
      0 5px 16px
      rgba(16,43,73,.05)!important;

    text-align:left!important;

    cursor:pointer!important;
  }


  /* =======================================================
     SUMMARY GESTION
     ======================================================= */

  body.invoice-mobile-mode
  #tricontaMobileGestionMenu
  > .triconta-mobile-main-card{

    list-style:none!important;
  }


  body.invoice-mobile-mode
  #tricontaMobileGestionMenu
  > .triconta-mobile-main-card::-webkit-details-marker{

    display:none!important;
  }


  body.invoice-mobile-mode
  #tricontaMobileGestionMenu
  > .triconta-mobile-main-card::marker{

    content:""!important;
  }


  /* =======================================================
     ICONO GESTION
     ======================================================= */

  body.invoice-mobile-mode
  .triconta-mobile-main-icon{

    width:82px!important;
    height:82px!important;

    display:grid!important;
    place-items:center!important;

    margin:0!important;

    border-radius:16px!important;

    background:#e8f7f3!important;

    color:#0a8c79!important;

    font-size:30px!important;
    line-height:1!important;
    font-weight:800!important;
  }


  /* =======================================================
     TEXTO GESTION
     ======================================================= */

  body.invoice-mobile-mode
  .triconta-mobile-main-copy{

    display:grid!important;

    gap:8px!important;

    min-width:0!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-main-copy strong{

    margin:0!important;
    padding:0!important;

    color:#0788f5!important;

    font-size:24px!important;
    line-height:1.1!important;

    font-weight:850!important;

    white-space:normal!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-main-copy small{

    display:block!important;

    margin:0!important;
    padding:0!important;

    color:#6f8195!important;

    font-size:15px!important;
    line-height:1.3!important;

    font-weight:500!important;

    white-space:normal!important;
  }


  /* =======================================================
     FLECHA GESTION
     ======================================================= */

  body.invoice-mobile-mode
  .triconta-mobile-main-chevron{

    width:32px!important;
    height:32px!important;

    display:grid!important;
    place-items:center!important;

    margin:0!important;

    color:#73859a!important;

    font-size:28px!important;
    line-height:1!important;
    font-weight:900!important;

    transition:
      transform .18s ease!important;
  }


  body.invoice-mobile-mode
  #tricontaMobileGestionMenu[open]
  > .triconta-mobile-main-card
  .triconta-mobile-main-chevron{

    transform:
      rotate(180deg)!important;
  }


  /* =======================================================
     DOCUMENTOS RECIBIDOS
     Uniformar el botón existente.
     ======================================================= */

  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received{

    /*
       La tarjeta recibidos solamente necesita
       icono + contenido, por lo que anulamos la
       tercera columna reservada visualmente.
    */

    grid-template-columns:
      96px
      minmax(0,1fr)!important;

    column-gap:18px!important;
  }


  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received
  > span:first-child{

    width:82px!important;
    height:82px!important;

    display:grid!important;
    place-items:center!important;

    margin:0!important;

    border-radius:16px!important;

    background:#e8f7f3!important;

    color:#0a8c79!important;

    font-size:30px!important;
    line-height:1!important;

    font-weight:800!important;
  }


  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received
  > strong{

    margin:0!important;
    padding:0!important;

    color:#0788f5!important;

    font-size:24px!important;
    line-height:1.1!important;

    font-weight:850!important;
  }


  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received
  > small{

    display:block!important;

    margin:8px 0 0!important;
    padding:0!important;

    color:#6f8195!important;

    font-size:15px!important;
    line-height:1.3!important;

    font-weight:500!important;
  }


  /* =======================================================
     SUBMENU GESTION
     ======================================================= */

  body.invoice-mobile-mode
  .triconta-mobile-section-items{

    display:grid!important;

    grid-template-columns:1fr!important;

    gap:8px!important;

    width:
      calc(100% - 20px)!important;

    margin:
      10px 10px
      2px!important;

    padding:10px!important;

    box-sizing:border-box!important;

    border:
      1px solid #dfe7ef!important;

    border-radius:
      14px!important;

    background:
      #f7fafc!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-section-item{

    appearance:none!important;

    display:grid!important;

    grid-template-columns:
      44px
      minmax(0,1fr)!important;

    gap:11px!important;

    align-items:center!important;

    width:100%!important;

    min-height:64px!important;

    padding:10px 12px!important;

    box-sizing:border-box!important;

    border:
      1px solid #dce6ef!important;

    border-radius:
      11px!important;

    background:
      #ffffff!important;

    text-align:left!important;

    cursor:pointer!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-section-item
  > span:first-child{

    width:42px!important;
    height:42px!important;

    display:grid!important;
    place-items:center!important;

    border-radius:10px!important;

    background:#eaf7f4!important;

    color:#087d6d!important;

    font-size:19px!important;
    font-weight:800!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-section-item
  > span:last-child{

    display:grid!important;

    gap:3px!important;

    min-width:0!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-section-item strong{

    color:#15375a!important;

    font-size:15px!important;
    line-height:1.2!important;

    font-weight:820!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-section-item small{

    color:#708195!important;

    font-size:12px!important;
    line-height:1.25!important;
  }

}


/* =========================================================
   TELEFONOS PEQUENOS
   ========================================================= */

@media(max-width:520px){

  body.invoice-mobile-mode
  #tricontaMobileGestionMenu
  > .triconta-mobile-main-card,

  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received{

    min-height:112px!important;

    padding:16px 18px!important;

    gap:14px!important;
  }


  body.invoice-mobile-mode
  #tricontaMobileGestionMenu
  > .triconta-mobile-main-card{

    grid-template-columns:
      74px
      minmax(0,1fr)
      30px!important;
  }


  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received{

    grid-template-columns:
      74px
      minmax(0,1fr)!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-main-icon,

  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received
  > span:first-child{

    width:68px!important;
    height:68px!important;

    border-radius:15px!important;

    font-size:25px!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-main-copy strong,

  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received
  > strong{

    font-size:22px!important;
  }


  body.invoice-mobile-mode
  .triconta-mobile-main-copy small,

  body.invoice-mobile-mode
  #view-mobile-home
  .mobile-home-card.received
  > small{

    font-size:14px!important;
  }

}


/* =========================================================
   MODO OSCURO
   ========================================================= */

html[data-theme="dark"]
body.invoice-mobile-mode
#tricontaMobileGestionMenu
> .triconta-mobile-main-card,

html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
.mobile-home-card.received{

  background:#17263d!important;
  border-color:#30445f!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-main-copy strong,

html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
.mobile-home-card.received
> strong{

  color:#45a7ff!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-main-copy small,

html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
.mobile-home-card.received
> small{

  color:#adbed1!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-section-items{

  background:#101b2d!important;

  border-color:#30425b!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-section-item{

  background:#17263d!important;

  border-color:#30445f!important;
}

/* TRICONTA_MENU_GESTION_MOVIL_CSS_V1_FIN */


/* TRICONTA_CERRAR_SESION_WEB_CSS_V1_INICIO */


/* =========================================================
   SISTEMA WEB
   Ocultar el botón superior original "Salir".
   Se mantiene en DOM por compatibilidad.
   ========================================================= */

body:not(.invoice-mobile-mode) #logoutBtn{
  display:none!important;
}


/* =========================================================
   CERRAR SESION EN MENU WEB
   ========================================================= */

#tricontaCerrarSesionWebBtn{
  display:none;
}


body:not(.invoice-mobile-mode)
#tricontaCerrarSesionWebBtn{

  display:flex!important;

  align-items:center!important;
  justify-content:center!important;

  gap:9px!important;

  border:0!important;

  cursor:pointer!important;

  font-weight:750!important;

  transition:
    background .16s ease,
    color .16s ease!important;
}


/* =========================================================
   WEB ESCRITORIO - MENU HORIZONTAL
   Queda como última opción a la derecha.
   ========================================================= */

@media(min-width:1081px){

  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn{

    height:72px!important;

    margin-left:auto!important;

    padding:0 22px!important;

    background:transparent!important;

    color:#ffffff!important;

    border-left:
      1px solid rgba(255,255,255,.10)!important;

    border-radius:0!important;

    font-size:15px!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn:hover{

    background:
      rgba(255,255,255,.06)!important;

    color:#ffffff!important;

    box-shadow:
      inset 0 -4px 0
      var(--tr-teal)!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn
  .triconta-web-logout-icon{

    font-size:20px!important;
    line-height:1!important;
  }

}


/* =========================================================
   WEB EN MENU LATERAL / RESPONSIVE
   Queda al final del panel.
   ========================================================= */

@media(max-width:1080px){

  body:not(.invoice-mobile-mode)
  #nav{

    display:flex!important;
    flex-direction:column!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn{

    width:100%!important;

    min-height:52px!important;

    margin-top:auto!important;

    padding:
      12px 14px!important;

    justify-content:flex-start!important;

    background:
      rgba(255,255,255,.045)!important;

    color:#ffffff!important;

    border-top:
      1px solid rgba(255,255,255,.13)!important;

    border-radius:10px!important;

    font-size:15px!important;

    text-align:left!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn:hover{

    background:
      rgba(255,255,255,.10)!important;

    color:#ffffff!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn
  .triconta-web-logout-icon{

    width:24px!important;

    display:inline-grid!important;
    place-items:center!important;

    font-size:19px!important;
  }

}


/* =========================================================
   FACTURA MOVIL
   No mostrar esta opción porque ya tiene su propio
   Cerrar sesión.
   ========================================================= */

body.invoice-mobile-mode
#tricontaCerrarSesionWebBtn{

  display:none!important;
}

/* TRICONTA_CERRAR_SESION_WEB_CSS_V1_FIN */


/* TRICONTA_CERRAR_SESION_WEB_COLOR_V1_INICIO */

/*
   Integrar Cerrar sesión al mismo lenguaje visual
   del menú lateral del Sistema Web.
*/

@media(max-width:1080px){

  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn{

    background:transparent!important;

    color:#6f819f!important;

    border:0!important;
    border-radius:10px!important;

    box-shadow:none!important;

    min-height:52px!important;

    padding:0 14px!important;

    margin-top:auto!important;

    justify-content:flex-start!important;

    gap:10px!important;

    font-size:15px!important;
    font-weight:750!important;

    opacity:1!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn
  .triconta-web-logout-icon{

    color:#6f819f!important;

    width:24px!important;

    display:inline-grid!important;
    place-items:center!important;

    font-size:19px!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn:hover{

    background:rgba(61,105,177,.10)!important;

    color:#294d7c!important;
  }


  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn:hover
  .triconta-web-logout-icon{

    color:#294d7c!important;
  }

}


/*
   En escritorio horizontal también dejamos un tono
   integrado al menú, sin apariencia de botón independiente.
*/

@media(min-width:1081px){

  body:not(.invoice-mobile-mode)
  #tricontaCerrarSesionWebBtn{

    background:transparent!important;

    color:#ffffff!important;

    border-left:
      1px solid rgba(255,255,255,.10)!important;
  }

}

/* TRICONTA_CERRAR_SESION_WEB_COLOR_V1_FIN */


/* TRICONTA_CERRAR_SESION_SIDEBAR_V2_INICIO */

/*
   Cerrar sesión debe verse como una opción más
   del sidebar web, sin importar el ancho de pantalla.
*/

body:not(.invoice-mobile-mode)
#nav
#tricontaCerrarSesionWebBtn{

  display:flex!important;

  align-items:center!important;
  justify-content:flex-start!important;

  width:100%!important;
  min-height:52px!important;

  margin-top:auto!important;

  padding:0 14px!important;

  gap:10px!important;

  border:0!important;
  border-radius:10px!important;

  background:transparent!important;

  color:#6f819f!important;

  box-shadow:none!important;

  font-size:15px!important;
  font-weight:750!important;

  text-align:left!important;

  cursor:pointer!important;

  opacity:1!important;
}


/*
   Icono con el mismo tono del menú.
*/

body:not(.invoice-mobile-mode)
#nav
#tricontaCerrarSesionWebBtn
.triconta-web-logout-icon{

  width:24px!important;

  display:inline-grid!important;
  place-items:center!important;

  color:#6f819f!important;

  font-size:19px!important;
  line-height:1!important;
}


/*
   Hover similar a Inicio / grupos.
*/

body:not(.invoice-mobile-mode)
#nav
#tricontaCerrarSesionWebBtn:hover{

  background:#dbe6fa!important;

  color:#294d7c!important;

  box-shadow:none!important;
}


body:not(.invoice-mobile-mode)
#nav
#tricontaCerrarSesionWebBtn:hover
.triconta-web-logout-icon{

  color:#294d7c!important;
}


/*
   Anular específicamente la regla anterior que
   lo dejaba blanco en pantallas de escritorio.
*/

@media(min-width:1081px){

  body:not(.invoice-mobile-mode)
  #nav
  #tricontaCerrarSesionWebBtn{

    color:#6f819f!important;

    background:transparent!important;

    border-left:0!important;

    height:52px!important;

    padding:0 14px!important;
  }


  body:not(.invoice-mobile-mode)
  #nav
  #tricontaCerrarSesionWebBtn:hover{

    background:#dbe6fa!important;

    color:#294d7c!important;

    box-shadow:none!important;
  }

}


/*
   Factura móvil conserva su propio botón.
*/

body.invoice-mobile-mode
#tricontaCerrarSesionWebBtn{

  display:none!important;
}

/* TRICONTA_CERRAR_SESION_SIDEBAR_V2_FIN */


/* TRICONTA_CERRAR_SESION_DARK_V1_INICIO */

/*
   Factura móvil - Cerrar sesión en modo oscuro.
   Mantiene la identidad de acción de salida,
   pero integrada al tema general.
*/

html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
#tricontaCerrarSesionMovilBtn{

  background:#18263b!important;

  border:
    1px solid #7a3f49!important;

  box-shadow:
    0 5px 16px
    rgba(0,0,0,.18)!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
#tricontaCerrarSesionMovilBtn
.triconta-mobile-logout-icon{

  background:#2a1f2a!important;

  color:#df8792!important;

  border:
    1px solid rgba(223,135,146,.18)!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
#tricontaCerrarSesionMovilBtn
strong{

  color:#e58e98!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
#tricontaCerrarSesionMovilBtn
small{

  color:#b8a8ad!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
#view-mobile-home
#tricontaCerrarSesionMovilBtn:hover{

  background:#202f46!important;

  border-color:#92505b!important;
}


/* TRICONTA_CERRAR_SESION_DARK_V1_FIN */


/* TRICONTA_EMPRESA_MOVIL_BAJAR_V1_ELIMINADO_V4 */


/* TRICONTA_REVISION_FINAL_ESTRUCTURAL_CSS_V1_INICIO */


/* =========================================================
   EL RESUMEN ANTIGUO NO DEBE APARECER NUNCA MAS
   ========================================================= */

body.invoice-mobile-mode
#view-emitir
#tricontaEmitirMovilResumen,

body.invoice-mobile-mode
#view-emitir
.triconta-mobile-live-summary{

  display:none!important;
}


/* =========================================================
   REVISION FINAL
   SOLO PASO 3
   ========================================================= */

body.invoice-mobile-mode
#view-emitir
#tricontaEmitirMovilRevisionFinal{

  display:none!important;
}


body.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#tricontaEmitirMovilRevisionFinal{

  display:block!important;

  width:100%!important;

  margin:
    14px 0!important;

  padding:
    16px!important;

  box-sizing:
    border-box!important;

  border:
    1px solid #d7e4ea!important;

  border-radius:
    16px!important;

  background:
    #ffffff!important;

  box-shadow:
    0 5px 16px
    rgba(15,45,70,.06)!important;
}


/* =========================================================
   CABECERA
   ========================================================= */

body.invoice-mobile-mode
.triconta-mobile-final-review-head{

  display:grid!important;

  gap:4px!important;

  margin-bottom:
    14px!important;
}


body.invoice-mobile-mode
.triconta-mobile-final-review-head strong{

  color:#15375a!important;

  font-size:19px!important;

  font-weight:850!important;
}


body.invoice-mobile-mode
.triconta-mobile-final-review-head small{

  color:#718195!important;

  font-size:13px!important;

  line-height:1.35!important;
}


/* =========================================================
   DATOS
   ========================================================= */

body.invoice-mobile-mode
.triconta-mobile-final-review-grid{

  display:grid!important;

  grid-template-columns:
    repeat(2,minmax(0,1fr))!important;

  gap:9px!important;
}


body.invoice-mobile-mode
.triconta-mobile-final-review-grid
> div{

  display:grid!important;

  gap:4px!important;

  min-width:0!important;

  padding:
    11px 12px!important;

  box-sizing:
    border-box!important;

  border:
    1px solid #e0e8ef!important;

  border-radius:
    11px!important;

  background:
    #f8fafc!important;
}


body.invoice-mobile-mode
.triconta-mobile-final-review-grid
small{

  color:#75869a!important;

  font-size:11px!important;

  font-weight:800!important;

  text-transform:
    uppercase!important;

  letter-spacing:
    .03em!important;
}


body.invoice-mobile-mode
.triconta-mobile-final-review-grid
strong{

  min-width:0!important;

  color:#173a5f!important;

  font-size:14px!important;

  line-height:1.3!important;

  font-weight:800!important;

  white-space:normal!important;

  overflow-wrap:anywhere!important;
}


/* Cliente completo */

body.invoice-mobile-mode
.triconta-mobile-review-client{

  grid-column:
    1 / -1!important;
}


/* Total final */

body.invoice-mobile-mode
.triconta-mobile-review-total{

  grid-column:
    1 / -1!important;

  background:
    #edf9f6!important;

  border-color:
    #bce4da!important;
}


body.invoice-mobile-mode
#tricontaRevisionTotal{

  color:#07816e!important;

  font-size:21px!important;

  font-weight:900!important;
}


/* =========================================================
   MODO OSCURO
   ========================================================= */

html[data-theme="dark"]
body.invoice-mobile-mode
#view-emitir.triconta-mobile-step-3
#tricontaEmitirMovilRevisionFinal{

  background:#17263d!important;

  border-color:#30445f!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-final-review-head
strong{

  color:#eef4fb!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-final-review-head
small{

  color:#aebdd0!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-final-review-grid
> div{

  background:#101b2d!important;

  border-color:#30425b!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-final-review-grid
small{

  color:#98aabd!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-final-review-grid
strong{

  color:#edf4fb!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
.triconta-mobile-review-total{

  background:#102f30!important;

  border-color:#275f59!important;
}


html[data-theme="dark"]
body.invoice-mobile-mode
#tricontaRevisionTotal{

  color:#54d3b8!important;
}

/* TRICONTA_REVISION_FINAL_ESTRUCTURAL_CSS_V1_FIN */


/* =========================================================
   TRICONTA_EMPRESA_MOVIL_CENTRO_V2
   Ajuste puntual aprobado:
   bajar ligeramente el selector Empresa sin alterar
   la altura ni la estructura general del encabezado.
   ========================================================= */

@media (max-width:1100px){
  .invoice-mobile-mode #companySwitchWrap.company-switch{
    transform:translateY(9px)!important;
  }
}


/* =========================================================
   TRICONTA_CORREO_LOTE_CSS_V2
   ========================================================= */

#view-comprobantes .correo-lote-panel{
  margin:14px 0 16px;
  padding:16px;
  border:1px solid #d9e4ee;
  border-radius:15px;
  background:#f8fbfd;
}

#view-comprobantes .correo-lote-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
}

#view-comprobantes .correo-lote-head h4{
  margin:3px 0 5px;
  color:#153756;
  font-size:19px;
}

#view-comprobantes .correo-lote-head .hint{
  margin:0;
}

#view-comprobantes .correo-lote-periodo{
  display:flex;
  align-items:flex-end;
  gap:10px;
}

#view-comprobantes .correo-lote-periodo label{
  display:grid;
  gap:5px;
  font-weight:750;
}

#view-comprobantes .correo-lote-periodo input{
  min-height:42px;
}

#view-comprobantes .correo-lote-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
  margin-top:15px;
}

#view-comprobantes .correo-lote-stats>div{
  display:grid;
  gap:4px;
  min-width:0;
  padding:11px 12px;
  border:1px solid #dde7ef;
  border-radius:11px;
  background:#fff;
}

#view-comprobantes .correo-lote-stats span{
  color:#71839a;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
}

#view-comprobantes .correo-lote-stats strong{
  color:#123b67;
  font-size:22px;
}

#view-comprobantes .correo-lote-actions{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:14px;
}

#view-comprobantes .correo-lote-status{
  min-height:18px;
  margin-top:10px;
}

.correo-doc-status{
  display:inline-flex;
  align-items:center;
  gap:5px;
  width:max-content;
  max-width:100%;
  margin-top:6px;
  padding:4px 8px;
  border:1px solid #d7e0e9;
  border-radius:999px;
  font-size:10.5px;
  font-weight:850;
  line-height:1.15;
  white-space:nowrap;
}

.correo-doc-status-ok{
  background:#eefaf5;
  border-color:#a9ddc8;
  color:#08775b;
}

.correo-doc-status-info{
  background:#eef5ff;
  border-color:#bfd4ef;
  color:#285989;
}

.correo-doc-status-danger{
  background:#fff0f0;
  border-color:#efbcbc;
  color:#a52c2c;
}

.correo-doc-status-warning{
  background:#fff8e8;
  border-color:#efd89b;
  color:#8a6417;
}

.correo-doc-status-muted{
  background:#f4f6f8;
  border-color:#dce2e8;
  color:#68798c;
}

.correo-lote-dialog-card{
  width:min(680px,calc(100vw - 28px));
  max-height:86vh;
}

.correo-lote-select-tools{
  display:flex;
  gap:8px;
  margin-bottom:10px;
}

.correo-lote-seleccion-lista{
  display:grid;
  gap:8px;
  max-height:52vh;
  overflow:auto;
  padding:3px;
}

.correo-lote-select-row{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:11px;
  padding:11px;
  border:1px solid #dfe7ef;
  border-radius:11px;
  background:#fff;
  cursor:pointer;
}

.correo-lote-select-row:hover{
  background:#f8fbfd;
}

.correo-lote-select-row input{
  width:19px;
  height:19px;
}

.correo-lote-select-row>span{
  display:grid;
  gap:3px;
  min-width:0;
}

.correo-lote-select-row strong{
  overflow-wrap:anywhere;
}

.correo-lote-select-row small{
  color:#71839a;
  overflow-wrap:anywhere;
}

html[data-theme="dark"]
#view-comprobantes .correo-lote-panel{
  background:#101d31!important;
  border-color:#2b3c56!important;
}

html[data-theme="dark"]
#view-comprobantes .correo-lote-head h4{
  color:#f4f7ff!important;
}

html[data-theme="dark"]
#view-comprobantes .correo-lote-stats>div,
html[data-theme="dark"]
.correo-lote-select-row{
  background:#14233a!important;
  border-color:#30435f!important;
}

html[data-theme="dark"]
#view-comprobantes .correo-lote-stats strong{
  color:#eef5ff!important;
}

html[data-theme="dark"]
.correo-lote-select-row:hover{
  background:#182943!important;
}

html[data-theme="dark"]
.correo-doc-status-muted{
  background:#18263a!important;
  border-color:#364761!important;
  color:#bdc9d8!important;
}

html[data-theme="dark"]
.correo-doc-status-info{
  background:#142d4c!important;
  border-color:#315c8c!important;
  color:#b9d9ff!important;
}

html[data-theme="dark"]
.correo-doc-status-ok{
  background:#10362e!important;
  border-color:#2c745f!important;
  color:#9ce1ca!important;
}

html[data-theme="dark"]
.correo-doc-status-warning{
  background:#382f18!important;
  border-color:#786226!important;
  color:#f5d57f!important;
}

html[data-theme="dark"]
.correo-doc-status-danger{
  background:#3b1d24!important;
  border-color:#7e3948!important;
  color:#ffb7c4!important;
}

.invoice-mobile-mode
#view-comprobantes .correo-lote-panel{
  display:grid!important;
  margin:12px 0 14px;
}

.invoice-mobile-mode
#view-comprobantes .mobile-doc-card-head
.correo-doc-status{
  flex:0 0 auto;
  margin-top:0;
}

@media(max-width:760px){

  #view-comprobantes .correo-lote-panel{
    padding:14px;
  }

  #view-comprobantes .correo-lote-head{
    display:grid;
    grid-template-columns:1fr;
  }

  #view-comprobantes .correo-lote-periodo{
    display:grid;
    grid-template-columns:1fr;
  }

  #view-comprobantes .correo-lote-periodo .btn{
    width:100%;
  }

  #view-comprobantes .correo-lote-stats{
    grid-template-columns:1fr 1fr;
  }

  #view-comprobantes .correo-lote-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  #view-comprobantes .correo-lote-actions .btn{
    width:100%;
  }

  .correo-lote-select-tools{
    display:grid;
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:420px){

  #view-comprobantes .correo-lote-stats{
    grid-template-columns:1fr 1fr;
  }

  .correo-lote-select-tools{
    grid-template-columns:1fr;
  }

}

/* FIN TRICONTA_CORREO_LOTE_CSS_V2 */

/* TRICONTA_CORREO_PANEL_VISIBLE_V1 */
#view-comprobantes #correoLotePanel,
#correoLotePanel{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  pointer-events:auto!important;
}

#correoLotePanel.hidden{
  display:block!important;
}

@media (min-width:1101px){
  #correoLotePanel{
    margin:10px 0 12px 0!important;
  }
}

/* TRICONTA_CORREO_PANEL_ESTRUCTURAL_CSS_V2 */
#view-comprobantes #correoLotePanel[data-triconta-posicion="antes-filtros-documentos"],
#correoLotePanel[data-triconta-posicion="antes-filtros-documentos"]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  position:relative!important;
  margin:10px 0 12px 0!important;
  box-sizing:border-box!important;
}

/* TRICONTA_CORREO_LOTE_MODAL_VISIBLE_V1 */

/* Cerrado realmente queda fuera de la vista */
#correoLoteDialog:not([open]){
  display:none!important;
}

/* Abierto: dialogo modal visible y centrado */
#correoLoteDialog[open]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;

  position:fixed!important;
  inset:0!important;

  width:min(760px,calc(100vw - 32px))!important;
  max-width:760px!important;

  height:auto!important;
  max-height:calc(100vh - 48px)!important;

  margin:auto!important;
  padding:0!important;

  border:1px solid #d7e0ea!important;
  border-radius:16px!important;

  background:#ffffff!important;
  color:#10233f!important;

  overflow:hidden!important;

  z-index:2147483000!important;

  box-shadow:
    0 24px 70px rgba(15,23,42,.28),
    0 4px 16px rgba(15,23,42,.12)!important;
}

/* Fondo modal visible sin dejar la pagina aparentemente congelada */
#correoLoteDialog::backdrop{
  background:rgba(15,23,42,.48)!important;
  backdrop-filter:blur(2px)!important;
}

/* Tarjeta interna */
#correoLoteDialog .dialog-card{
  display:flex!important;
  flex-direction:column!important;

  width:100%!important;
  max-width:none!important;

  max-height:calc(100vh - 48px)!important;

  margin:0!important;
  padding:20px!important;

  background:#ffffff!important;
  color:#10233f!important;

  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* Encabezado siempre visible */
#correoLoteDialog .panel-head{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-bottom:12px!important;
}

/* Zona desplazable donde aparecen los comprobantes */
#correoLoteDialog .stack,
#correoLoteDialog [id*="Lista"],
#correoLoteDialog [id*="lista"],
#correoLoteDialog [id*="Items"],
#correoLoteDialog [id*="items"]{
  min-height:0!important;
}

/* Controles seleccionables */
#correoLoteDialog input[type="checkbox"]{
  appearance:auto!important;
  -webkit-appearance:checkbox!important;

  display:inline-block!important;
  visibility:visible!important;
  opacity:1!important;

  width:18px!important;
  height:18px!important;

  min-width:18px!important;
  min-height:18px!important;

  pointer-events:auto!important;
  cursor:pointer!important;
}

/* Botones interactivos */
#correoLoteDialog button,
#correoLoteDialog label,
#correoLoteDialog input{
  pointer-events:auto!important;
}

/* Pie del modal */
#correoLoteDialog .actions,
#correoLoteDialog .row-actions{
  flex:0 0 auto!important;
}

/* Pantallas pequenas */
@media(max-width:700px){
  #correoLoteDialog[open]{
    width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }

  #correoLoteDialog .dialog-card{
    max-height:calc(100vh - 20px)!important;
    padding:14px!important;
  }
}

/* Modo oscuro */
html.dark #correoLoteDialog[open],
body.dark #correoLoteDialog[open],
[data-theme="dark"] #correoLoteDialog[open],
html.dark #correoLoteDialog .dialog-card,
body.dark #correoLoteDialog .dialog-card,
[data-theme="dark"] #correoLoteDialog .dialog-card{
  background:#111827!important;
  color:#f3f4f6!important;
  border-color:#334155!important;
}

/* =========================================================
   TRICONTA_CORREO_LOTE_FLOTANTE_CSS_V2
   ========================================================= */

body.triconta-correo-lote-overlay-activo{
  overflow:hidden!important;
}

body.triconta-correo-lote-overlay-activo::before{
  content:""!important;

  display:block!important;

  position:fixed!important;
  inset:0!important;

  background:rgba(15,23,42,.48)!important;
  backdrop-filter:blur(2px)!important;

  z-index:2147482000!important;

  pointer-events:auto!important;
}

#correoLoteDialog.triconta-correo-lote-flotante[open]{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;

  position:fixed!important;

  top:50%!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;

  transform:translate(-50%,-50%)!important;

  width:min(760px,calc(100vw - 40px))!important;
  max-width:760px!important;

  height:auto!important;
  max-height:calc(100vh - 50px)!important;

  margin:0!important;
  padding:0!important;

  border:1px solid #cbd5e1!important;
  border-radius:16px!important;

  background:#ffffff!important;
  color:#10233f!important;

  box-shadow:
    0 28px 80px rgba(15,23,42,.38),
    0 6px 24px rgba(15,23,42,.18)!important;

  overflow:hidden!important;

  z-index:2147483000!important;

  pointer-events:auto!important;
}

#correoLoteDialog.triconta-correo-lote-flotante
.correo-lote-dialog-card,
#correoLoteDialog.triconta-correo-lote-flotante
.dialog-card{
  display:flex!important;
  flex-direction:column!important;

  width:100%!important;
  max-width:none!important;

  height:auto!important;
  max-height:calc(100vh - 50px)!important;

  margin:0!important;
  padding:20px!important;

  box-sizing:border-box!important;

  background:#ffffff!important;
  color:#10233f!important;

  overflow:hidden!important;

  visibility:visible!important;
  opacity:1!important;
}

#correoLoteDialog.triconta-correo-lote-flotante
#correoLoteSeleccionLista{
  display:flex!important;
  flex-direction:column!important;

  min-height:160px!important;
  max-height:55vh!important;

  overflow-y:auto!important;
  overflow-x:hidden!important;

  padding:4px!important;

  visibility:visible!important;
  opacity:1!important;
}

#correoLoteDialog.triconta-correo-lote-flotante
.correo-lote-select-row{
  display:flex!important;
  align-items:center!important;

  gap:12px!important;

  width:100%!important;

  padding:10px 8px!important;

  border-bottom:1px solid #e5e7eb!important;

  box-sizing:border-box!important;

  cursor:pointer!important;
  pointer-events:auto!important;

  visibility:visible!important;
  opacity:1!important;
}

#correoLoteDialog.triconta-correo-lote-flotante
.correo-lote-select-row span{
  display:flex!important;
  flex-direction:column!important;

  min-width:0!important;

  visibility:visible!important;
  opacity:1!important;
}

#correoLoteDialog.triconta-correo-lote-flotante
.correo-lote-check{
  display:block!important;

  appearance:auto!important;
  -webkit-appearance:checkbox!important;

  width:18px!important;
  height:18px!important;

  min-width:18px!important;
  min-height:18px!important;

  margin:0!important;

  visibility:visible!important;
  opacity:1!important;

  pointer-events:auto!important;
  cursor:pointer!important;
}

#correoLoteDialog.triconta-correo-lote-flotante
button{
  pointer-events:auto!important;
}

html[data-theme="dark"]
#correoLoteDialog.triconta-correo-lote-flotante[open],
body.dark
#correoLoteDialog.triconta-correo-lote-flotante[open],
html[data-theme="dark"]
#correoLoteDialog.triconta-correo-lote-flotante
.dialog-card,
body.dark
#correoLoteDialog.triconta-correo-lote-flotante
.dialog-card{
  background:#111827!important;
  color:#f3f4f6!important;
  border-color:#334155!important;
}

html[data-theme="dark"]
#correoLoteDialog.triconta-correo-lote-flotante
.correo-lote-select-row,
body.dark
#correoLoteDialog.triconta-correo-lote-flotante
.correo-lote-select-row{
  border-color:#334155!important;
}

@media(max-width:700px){

  #correoLoteDialog.triconta-correo-lote-flotante[open]{
    width:calc(100vw - 20px)!important;
    max-height:calc(100vh - 20px)!important;
  }

  #correoLoteDialog.triconta-correo-lote-flotante
  .dialog-card{
    max-height:calc(100vh - 20px)!important;
    padding:14px!important;
  }

  #correoLoteDialog.triconta-correo-lote-flotante
  #correoLoteSeleccionLista{
    max-height:60vh!important;
  }
}

/* FIN TRICONTA_CORREO_LOTE_FLOTANTE_CSS_V2 */

/* =========================================================
   TRICONTA_CORREO_DIAGNOSTICO_CSS_V1
   ========================================================= */

.correo-diagnostico-launch{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}

.correo-diagnostico-overlay{
  position:fixed!important;
  inset:0!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;

  padding:22px!important;

  background:rgba(15,23,42,.52)!important;
  backdrop-filter:blur(2px)!important;

  z-index:2147483100!important;
}

.correo-diagnostico-overlay.hidden{
  display:none!important;
}

body.correo-diagnostico-open{
  overflow:hidden!important;
}

.correo-diagnostico-window{
  width:min(1100px,96vw)!important;
  max-height:90vh!important;

  display:flex!important;
  flex-direction:column!important;

  background:#fff!important;
  color:#10233f!important;

  border-radius:16px!important;
  border:1px solid #d7e0ea!important;

  box-shadow:
    0 28px 90px rgba(15,23,42,.38)!important;

  overflow:hidden!important;
}

.correo-diagnostico-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;

  padding:18px 20px 12px;

  border-bottom:1px solid #e5e7eb;
}

.correo-diagnostico-head h3{
  margin:3px 0;
}

.correo-diagnostico-resumen{
  display:grid;
  grid-template-columns:
    repeat(4,minmax(120px,1fr));
  gap:10px;

  padding:14px 20px;
}

.correo-diagnostico-resumen>div{
  border:1px solid #dfe6ef;
  border-radius:10px;
  padding:10px 12px;
}

.correo-diagnostico-resumen small{
  display:block;
}

.correo-diagnostico-resumen strong{
  display:block;
  font-size:20px;
  margin-top:3px;
}

.correo-diagnostico-filtros{
  display:flex;
  flex-wrap:wrap;
  gap:8px;

  padding:0 20px 12px;
}

.correo-diagnostico-filtros button{
  border:1px solid #ccd6e3;
  background:#fff;
  border-radius:8px;
  padding:7px 11px;
  cursor:pointer;
}

.correo-diagnostico-filtros button.active{
  font-weight:700;
  box-shadow:0 0 0 2px rgba(59,130,246,.18);
}

.correo-diagnostico-search{
  padding:0 20px 12px;
}

.correo-diagnostico-search input{
  width:100%;
  box-sizing:border-box;
}

.correo-diagnostico-table-wrap{
  overflow:auto;
  min-height:220px;
  max-height:50vh;

  border-top:1px solid #e5e7eb;
  border-bottom:1px solid #e5e7eb;
}

.correo-diagnostico-table{
  width:100%;
  border-collapse:collapse;
}

.correo-diagnostico-table th,
.correo-diagnostico-table td{
  text-align:left;
  vertical-align:top;

  padding:10px 12px;

  border-bottom:1px solid #edf1f5;
}

.correo-diagnostico-table th{
  position:sticky;
  top:0;

  background:#f8fafc;

  z-index:2;
}

.correo-diagnostico-badge{
  display:inline-flex;
  align-items:center;

  padding:4px 8px;
  border-radius:999px;

  font-size:12px;
  font-weight:700;

  white-space:nowrap;
}

.correo-diagnostico-warning{
  background:#fff7d6;
}

.correo-diagnostico-danger{
  background:#fee2e2;
}

.correo-diagnostico-info{
  background:#dbeafe;
}

.correo-diagnostico-ok{
  background:#dcfce7;
}

.correo-diagnostico-muted{
  background:#eef2f7;
}

.correo-diagnostico-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;

  padding:12px 20px;
}

html[data-theme="dark"]
.correo-diagnostico-window,
body.dark
.correo-diagnostico-window{
  background:#111827!important;
  color:#f3f4f6!important;
  border-color:#334155!important;
}

html[data-theme="dark"]
.correo-diagnostico-head,
html[data-theme="dark"]
.correo-diagnostico-table-wrap,
html[data-theme="dark"]
.correo-diagnostico-table th,
html[data-theme="dark"]
.correo-diagnostico-table td,
body.dark
.correo-diagnostico-head,
body.dark
.correo-diagnostico-table-wrap,
body.dark
.correo-diagnostico-table th,
body.dark
.correo-diagnostico-table td{
  border-color:#334155!important;
}

html[data-theme="dark"]
.correo-diagnostico-table th,
body.dark
.correo-diagnostico-table th{
  background:#172033!important;
}

html[data-theme="dark"]
.correo-diagnostico-filtros button,
body.dark
.correo-diagnostico-filtros button{
  background:#1f2937;
  color:#f3f4f6;
  border-color:#475569;
}

@media(max-width:760px){

  .correo-diagnostico-overlay{
    padding:8px!important;
  }

  .correo-diagnostico-window{
    width:calc(100vw - 16px)!important;
    max-height:96vh!important;
  }

  .correo-diagnostico-resumen{
    grid-template-columns:
      repeat(2,minmax(100px,1fr));
    padding:10px;
  }

  .correo-diagnostico-head,
  .correo-diagnostico-filtros,
  .correo-diagnostico-search,
  .correo-diagnostico-foot{
    padding-left:10px;
    padding-right:10px;
  }

  .correo-diagnostico-table{
    min-width:760px;
  }
}

/* FIN TRICONTA_CORREO_DIAGNOSTICO_CSS_V1 */

/* TRICONTA_CORREO_DIAGNOSTICO_BOTON_CSS_V2 */

#correoLotePanel #correoDiagnosticoBtn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  justify-content:center!important;
}

#correoLotePanel .correo-diagnostico-launch-estructural{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  align-items:center!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  margin-top:12px!important;
}

@media(max-width:760px){
  #correoLotePanel .correo-diagnostico-launch-estructural{
    width:100%!important;
  }

  #correoLotePanel #correoDiagnosticoBtn{
    width:100%!important;
  }
}

/* FIN TRICONTA_CORREO_DIAGNOSTICO_BOTON_CSS_V2 */

/* TRICONTA_VENTAS_POR_CLIENTE_CSS_V1 */

#docExportCliente{
  min-width:260px;
  max-width:380px;
}

@media(max-width:760px){
  #docExportCliente{
    width:100%;
    min-width:0;
    max-width:none;
  }
}

/* FIN TRICONTA_VENTAS_POR_CLIENTE_CSS_V1 */

/* TRICONTA_VENTAS_CLIENTE_SELECTOR_CSS_V2 */

#docExportCliente{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:10!important;
}

/* FIN TRICONTA_VENTAS_CLIENTE_SELECTOR_CSS_V2 */

/* =========================================================
   TRICONTA_CORREO_PANEL_CIERRE_CSS_V4
   ========================================================= */

#correoLotePanel #correoDiagnosticoBtn{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

#correoLotePanel .correo-diagnostico-launch,
#correoLotePanel .correo-diagnostico-launch-runtime{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

#correoLoteDialog:not([open]){
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#correoLoteDialog:not([open])::backdrop{
  display:none!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html:not(.correo-lote-open),
body:not(.correo-lote-open){
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(max-width:760px){
  #correoLotePanel #correoDiagnosticoBtn{
    width:auto!important;
  }
}

/* FIN TRICONTA_CORREO_PANEL_CIERRE_CSS_V4 */

/* TRICONTA_CORREO_DIAGNOSTICO_VISIBLE_CSS_V5 */

#correoLotePanel #correoDiagnosticoBtn,
#correoLotePanel .correo-diagnostico-btn-v5{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:5!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
}

/* FIN TRICONTA_CORREO_DIAGNOSTICO_VISIBLE_CSS_V5 */

/* =========================================================
   TRICONTA_CORREO_OVERLAY_FIX_CSS_V5
   ========================================================= */

/*
 Si el diálogo está cerrado, ninguna capa residual
 del lote debe conservar desenfoque.
*/
body:not(:has(#correoLoteDialog[open]))
  .correo-lote-overlay,
body:not(:has(#correoLoteDialog[open]))
  .correo-lote-backdrop{
  display:none!important;
}

/*
 Cuando la clase real ya no existe, el pseudo fondo
 no puede quedar visible.
*/
body:not(.triconta-correo-lote-overlay-activo)::before{
  pointer-events:none!important;
}

/* FIN TRICONTA_CORREO_OVERLAY_FIX_CSS_V5 */

/* TRICONTA_CORREO_DIAGNOSTICO_HTML_CSS_V6 */

.correo-lote-actions #correoDiagnosticoBtn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:20!important;
  width:auto!important;
  min-width:150px!important;
}

@media(max-width:760px){
  .correo-lote-actions #correoDiagnosticoBtn{
    width:auto!important;
    min-width:0!important;
  }
}

/* FIN TRICONTA_CORREO_DIAGNOSTICO_HTML_CSS_V6 */

/* =========================================================
   TRICONTA_CORREO_DIAGNOSTICO_PDF_CSS_V1
   ========================================================= */

.correo-diagnostico-pdf-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.correo-diagnostico-pdf-actions .btn{
  white-space:nowrap;
}

@media(max-width:700px){
  .correo-diagnostico-pdf-actions{
    width:100%;
  }

  .correo-diagnostico-pdf-actions .btn{
    flex:1 1 auto;
  }
}

/* FIN TRICONTA_CORREO_DIAGNOSTICO_PDF_CSS_V1 */

/* =========================================================
   TRICONTA_CORREO_DIAGNOSTICO_PDF_FIJO_CSS_V3
   ========================================================= */

.correo-diagnostico-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  flex-wrap:wrap!important;
}

.correo-diagnostico-pdf-actions-fijo{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  visibility:visible!important;
  opacity:1!important;
}

.correo-diagnostico-pdf-actions-fijo
#correoDiagnosticoPdfVista,
.correo-diagnostico-pdf-actions-fijo
#correoDiagnosticoPdfCompleto{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  white-space:nowrap!important;
}

@media(max-width:760px){

  .correo-diagnostico-foot{
    align-items:stretch!important;
  }

  .correo-diagnostico-pdf-actions-fijo{
    width:100%!important;
  }

  .correo-diagnostico-pdf-actions-fijo
  #correoDiagnosticoPdfVista,
  .correo-diagnostico-pdf-actions-fijo
  #correoDiagnosticoPdfCompleto{
    flex:1 1 auto!important;
  }
}

/* FIN TRICONTA_CORREO_DIAGNOSTICO_PDF_FIJO_CSS_V3 */

/* =========================================================
   TRICONTA_CORREO_DIAGNOSTICO_PDF_TIPOS_CSS_V1
   ========================================================= */

.correo-diagnostico-pdf-tipo{
  min-width:165px!important;
  height:38px!important;
  padding:0 10px!important;
  border:1px solid #cbd5e1!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#172033!important;
  font:inherit!important;
  cursor:pointer!important;
}

html[data-theme="dark"]
.correo-diagnostico-pdf-tipo,
body.dark
.correo-diagnostico-pdf-tipo{
  background:#1f2937!important;
  color:#f3f4f6!important;
  border-color:#475569!important;
}

#correoDiagnosticoPdfSeleccionado{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

@media(max-width:760px){

  .correo-diagnostico-pdf-tipo{
    width:100%!important;
  }

  #correoDiagnosticoPdfSeleccionado{
    width:100%!important;
  }
}

/* FIN TRICONTA_CORREO_DIAGNOSTICO_PDF_TIPOS_CSS_V1 */
