/* Interfaz V4. Tamaños y paletas solo en pantalla; impresión intacta. */
@media screen {
 /* Sustituir las animaciones automáticas de V2/V3 por aperturas explícitas. */
 .ea-main-v1>.topbar,.ea-dashboard-v1>.toolbar,.ea-dashboard-v1>.card,
 .login>.card,#modal .dialog {animation:none!important}
 @media(prefers-reduced-motion:no-preference) {
  #content.ea4-enter,#modal .dialog.ea4-enter {animation:ea4-open 160ms ease-out!important}
  @keyframes ea4-open {from{opacity:.8}to{opacity:1}}
 }
 @media(prefers-reduced-motion:reduce) {#content.ea4-enter,#modal .dialog.ea4-enter{animation:none!important}}
 :root {font-size:18px;color:#35445d;--ea-ink:#273b57;--ea-muted:#52647c}
 body {font-size:18px}
 button,input,select,textarea {font-size:18px}
 :is(#content,#modal,.login) td {font-size:16px}
 :is(#content,#modal) th {font-size:14px;letter-spacing:.35px}
 #content.ea-dashboard-v1 th {font-size:16px}
 label,:is(#content,#modal,.login) label {font-size:16px}
 .muted,:is(#content,#modal,.login) .muted {font-size:16px}
 :is(#content,#modal,.login) .note,:is(#content,#modal,.login) .error {font-size:16px}
 :is(#content,#modal) .tag {font-size:15px}
 .sidebar .nav {font-size:17px;line-height:1.4}
 .sidebar .sale-subnav {font-size:16px}
 .sidebar .navgroup {font-size:14px;letter-spacing:.6px}
 .sidebar>.muted {font-size:15px}
 .ea-main-v1>.topbar button,.ea-main-v1>.topbar select {font-size:16px}
 .ea-main-v1>.topbar h1 {font-size:28px}
 .ea-dashboard-v1 h2 {font-size:22px}
 :is(#content,#modal,.login) h2 {font-size:22px}
 :is(#content,#modal,.login) h3 {font-size:19px}
 .ea-dashboard-v1 .annual-column11>span,.ea-dashboard-v1 .annual-column11>small {font-size:14px}
 .date-picker-panel {width:min(490px,94vw);max-height:90vh;overflow:auto;font-size:17px;top:5vh}
 .date-picker-panel button {font-size:17px}
 .date-picker-panel .toolbar {flex-wrap:nowrap;justify-content:space-between}
 .date-picker-panel .calendar-grid {gap:5px}
 .date-picker-panel .calendar-grid button {min-width:0;padding:9px 2px}
 .date-picker-panel .calendar-grid button:disabled {opacity:.25;cursor:not-allowed}
 .date-picker-panel .foot {flex-wrap:wrap}
 .price-menu {width:255px;font-size:17px;max-width:94vw}
 .price-menu button {font-size:17px}
 .price-menu small {font-size:15px}
 .quantity-arrows button,.price-arrows {font-size:14px!important}
 .check {font-size:17px}
 :is(#content,#modal,.login) input::placeholder {color:var(--ea-muted);opacity:1}
 :is(#content,#modal,.login) select {border-radius:8px;color:var(--ea-ink)!important}
 select option,select optgroup {background:var(--ea-surface,#fff);color:var(--ea-ink,#273b57);font-size:inherit}
 .quantity-control input,.price-control input {border-radius:6px 0 0 6px!important}
 /* Claro: mayor contraste; gris oscuro conserva su paleta. */
 body:not(.night) {color:#35445d}
 /* Azul y corinto mantienen los identificadores existentes para conservar
    la preferencia guardada, pero ahora son paletas claras pastel. */
 .night.theme-navy {
  --app-bg:#eaf0fa;--panel:#f7faff;--field:#f5f8ff;--row:#d4e2f6;
  --text:#24395b;--muted:#526582;--line:#c4d3e9;--accent:#496fa7;
  --blue:#3e63a5;--ea-soft:#dfe9fb;--ea-highlight:#3e63a5;
  --ea-blue:#dce8fc;--ea-green:#ddefe9;--ea-lilac:#e9e1f7;--ea-peach:#f5e8df;--ea-icon:#355d91;
  --ea2-glass:rgba(249,252,255,.87);--ea2-edge:rgba(255,255,255,.96);
  --ea2-glow:rgba(90,125,194,.16);--ea2-wash:rgba(154,190,239,.26);
  --ea2-wash-alt:rgba(192,173,231,.20);--ea2-title:#253f73;
  --ea2-top:rgba(255,255,255,.85);--ea2-shade:rgba(75,107,165,.13);--ea2-button:#edf3ff;
  --ea3-field:#f8fbff;--ea3-focus:#5279ba;--ea3-primary:#4469a6;--ea3-primary-end:#365b99;
  --ea3-panel-edge:#c4d3e9;--ea3-selection:#cfdef6;--ea3-danger:#af3047;
 }
 .night.theme-wine {
  --app-bg:#f5ebef;--panel:#fff8fa;--field:#fff5f8;--row:#ead2dc;
  --text:#50313f;--muted:#785868;--line:#dec3cf;--accent:#95576e;
  --blue:#99546c;--ea-soft:#f1dfe7;--ea-highlight:#934d67;
  --ea-blue:#e9e1f4;--ea-green:#e4eee5;--ea-lilac:#eedff0;--ea-peach:#f6e6dc;--ea-icon:#884c65;
  --ea2-glass:rgba(255,249,251,.88);--ea2-edge:rgba(255,255,255,.95);
  --ea2-glow:rgba(169,107,137,.14);--ea2-wash:rgba(225,175,194,.25);
  --ea2-wash-alt:rgba(215,195,233,.23);--ea2-title:#6a364e;
  --ea2-top:rgba(255,255,255,.85);--ea2-shade:rgba(133,83,109,.13);--ea2-button:#fbf0f4;
  --ea3-field:#fff9fb;--ea3-focus:#a85c7b;--ea3-primary:#98556f;--ea3-primary-end:#82425d;
  --ea3-panel-edge:#dec3cf;--ea3-selection:#ebcfdd;--ea3-danger:#af3047;
 }
 .night:is(.theme-navy,.theme-wine) {color:var(--text)}
 .night:is(.theme-navy,.theme-wine) :is(.main,#app,#content) {color:var(--text)}
 .night:is(.theme-navy,.theme-wine) :is(.error,.loss,.refund-red) {color:#b33146!important}
 .night:is(.theme-navy,.theme-wine) .profit {color:#216b4c!important}
 .night:is(.theme-navy,.theme-wine) .tag {background:#e2eafb;color:#315b93}
 .night:is(.theme-navy,.theme-wine) .tag.warn {background:#fff0cc;color:#78530b}
 .night:is(.theme-navy,.theme-wine) .tag.bad {background:#f9dfe5;color:#a52e45}
 .night:is(.theme-navy,.theme-wine) .warning {background:#fff1db;color:#795122;border-color:#dbc298}
 .night:is(.theme-navy,.theme-wine) :is(.status-cancelled,.ended12,.stock-zero12) td {color:#b33146!important}
 .night:is(.theme-navy,.theme-wine) :is(.status-credit,.ending12,.stock-one12) td {color:#825b0c!important}
 .night:is(.theme-navy,.theme-wine) :is(.status-delivered,.active12) td {color:#216b4c!important}
 .night:is(.theme-navy,.theme-wine) .price-warning {background:#fff1d7;color:#79530b}
 /* No sobrescribir los colores semánticos claros de advertencias. */
 body:not(.night) :is(.status-cancelled,.ended12,.stock-zero12) td {color:#b33146!important}
 body:not(.night) :is(.status-credit,.ending12,.stock-one12) td {color:#825b0c!important}
 body:not(.night) :is(.status-delivered,.active12) td {color:#216b4c!important}
 .sidebar {width:250px}
 .ea-main-v1 {margin-left:250px}
 .ea4-menu-toggle {border-radius:9px;min-height:36px;font-size:16px;white-space:nowrap}
 #ea4-hide-menu {display:block;width:100%;margin:0 0 14px;text-align:left;color:var(--ea-ink)!important;background:var(--ea-soft)!important}
 #ea4-show-menu[hidden] {display:none!important}
 body.ea4-sidebar-hidden .sidebar {display:none!important}
 body.ea4-sidebar-hidden .main {margin-left:0!important}
 .sidebar .nav.active .ea-nav-icon-v1 {box-shadow:inset 0 1px 2px var(--ea2-top),0 0 12px var(--ea2-glow),0 3px 7px var(--ea2-shade)}
 @media(hover:hover) and (prefers-reduced-motion:no-preference){.sidebar .nav:hover .ea-nav-icon-v1{transform:translateY(-1px) scale(1.04)}}
 @media(prefers-reduced-motion:no-preference){.sidebar .nav:active .ea-nav-icon-v1{transform:scale(.94)}}
 @media(max-width:1100px){.sidebar{width:225px}.ea-main-v1{margin-left:225px}.ea-main-v1>.topbar .userbar{justify-content:flex-start}}
 @media(max-width:700px){.sidebar{width:100%}.ea-main-v1{margin-left:0}.ea-main-v1>.topbar h1{font-size:25px}.sidebar .nav{font-size:16px}.date-picker-panel{top:3vh;max-height:94vh}.date-picker-panel .calendar-grid{gap:3px}}
}

@media screen {
 html body :is(#app,#modal) input:not([type=checkbox]):not([type=radio]),html body :is(#app,#modal) textarea,html body :is(#app,#modal) select{font-size:18px!important}
 html body .ea5-select-list{font-size:18px}
 html body .ea5-select-group{font-size:15px}
 #app #g3-new-sale{font-size:15px}
 #modal .g3-product-management summary,#modal .g3-product-management p,#modal .g3-deactivation p{font-size:16px}
}

/* G4-R3: espacio vertical suficiente para la tipografía ampliada. */
@media screen {
 html body :is(#app,#modal,.login) input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=button]):not([type=submit]):not([type=reset]):not([type=image]),
 html body :is(#app,#modal,.login) select:not([multiple]):not([size]),
 html body :is(#app,#modal,.login) select[size="1"] {
  box-sizing:border-box!important;line-height:1.4!important;
  height:calc(1.4em + 22px)!important;min-height:calc(1.4em + 22px)!important;
  padding-top:8px!important;padding-bottom:8px!important;text-indent:0!important;
 }
 html body :is(#app,#modal,.login) textarea {line-height:1.4!important;padding-top:8px!important;padding-bottom:8px!important;text-indent:0!important}
}

/* G5: una barra de opciones en PC y formularios con menos separación. */
@media screen and (min-width:801px){
 html:not(.ea-mobile-app-m2) .ea-main-v1>.topbar{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;padding:10px 12px!important;margin-bottom:12px!important;min-height:60px;overflow-x:auto;}
 html:not(.ea-mobile-app-m2) .ea-main-v1>.topbar h1{flex:0 0 auto!important;white-space:nowrap;margin:0;}
 html:not(.ea-mobile-app-m2) .ea-main-v1>.topbar .section-zoom{flex:none;margin:0;}
 html:not(.ea-mobile-app-m2) .ea-main-v1>.topbar .userbar{display:flex;flex-wrap:nowrap!important;flex:0 0 auto!important;gap:8px!important;white-space:nowrap;}
 html:not(.ea-mobile-app-m2) .ea-main-v1>.topbar .userbar>span{max-width:160px;overflow:hidden;text-overflow:ellipsis;}
 html:not(.ea-mobile-app-m2) .ea-main-v1>.topbar :is(button,select){padding:7px 9px;flex-shrink:0;}
 html:not(.ea-mobile-app-m2) .ea-main-v1>.topbar #theme-selector{width:180px!important;}
 html:not(.ea-mobile-app-m2) #content>.card{padding:14px;}
 html:not(.ea-mobile-app-m2) #content>.card>.toolbar{gap:7px;margin-bottom:10px;}
 html:not(.ea-mobile-app-m2) #content>.card>.toolbar :is(button,.button-link){padding:7px 9px;}
 html:not(.ea-mobile-app-m2) #document-form .card{padding:14px;margin-bottom:12px;}
 html:not(.ea-mobile-app-m2) #document-form :is(.grid,.grid3){gap:8px 12px;}
 html:not(.ea-mobile-app-m2) #document-form label{margin-bottom:4px;}
 html:not(.ea-mobile-app-m2) #document-form .toolbar{gap:8px;margin-bottom:8px;}
 html:not(.ea-mobile-app-m2) #document-form>.card>.toolbar{flex-wrap:nowrap;}
 html:not(.ea-mobile-app-m2) #document-form>.card>.toolbar h2{flex:1;margin:0;white-space:nowrap;}
 html:not(.ea-mobile-app-m2) #document-form>.card>.toolbar>.spacer{display:none;}
 html:not(.ea-mobile-app-m2) #document-form>.card>.toolbar>span{font-size:14px;white-space:nowrap;}
 html:not(.ea-mobile-app-m2) #document-form p{margin:7px 0;}
 html:not(.ea-mobile-app-m2) #content>p.muted{margin:4px 0 8px;}
}
@media screen and (min-width:1200px){
 html:not(.ea-mobile-app-m2) #document-form>.card>.grid3:has([name=customer]){grid-template-columns:repeat(6,minmax(0,1fr));align-items:end;}
 html:not(.ea-mobile-app-m2) #document-form>.card>.grid3:has([name=customer])>div:has(button[onclick="clientLookup()"]){align-self:end;}
}

@media screen and (min-width:801px){html:not(.ea-mobile-app-m2) #content:has([data-g5-inactive])>.card>.toolbar{flex-wrap:nowrap;overflow-x:auto;gap:6px}html:not(.ea-mobile-app-m2) #content:has([data-g5-inactive])>.card>.toolbar>*{flex-shrink:0;white-space:nowrap}html:not(.ea-mobile-app-m2) #content:has([data-g5-inactive])>.card>.toolbar>input{width:150px;min-width:100px;flex:1 1 150px}html:not(.ea-mobile-app-m2) #content:has([data-g5-inactive])>.card>.toolbar .count{display:none}}
@media screen and (min-width:801px){
 html:not(.ea-mobile-app-m2) #content:has([data-g5-inactive])>.card>.toolbar #result-count,
 html:not(.ea-mobile-app-m2) #content:has([data-g5-inactive])>.card>.toolbar>.spacer{display:none;}
 html:not(.ea-mobile-app-m2) #content:has([data-g5-inactive])>.card>.toolbar :is(button,a){font-size:14px;padding:7px 6px;}
}
@media screen and (min-width:801px) and (max-width:1400px){
 html:not(.ea-mobile-app-m2) .main>.topbar{gap:6px;padding:8px;}
 html:not(.ea-mobile-app-m2) .main>.topbar h1{font-size:24px!important;max-width:180px;overflow:hidden;text-overflow:ellipsis;}
 html:not(.ea-mobile-app-m2) .main>.topbar .userbar{gap:5px;min-width:0;}
 html:not(.ea-mobile-app-m2) .main>.topbar :is(button,select){font-size:14px!important;padding:7px 6px;}
 html:not(.ea-mobile-app-m2) .main>.topbar #theme-selector{width:130px!important;}
 html:not(.ea-mobile-app-m2) .main>.topbar .userbar>span{max-width:76px;font-size:14px;}
}

/* G6: densidad compartida en pantallas y ventanas, sin reducir la tipografía. */
@media screen {
 :is(#content,#modal .dialog) .card{padding:12px!important;margin-bottom:10px!important;}
 :is(#content,#modal .dialog) :is(.grid,.grid3){gap:8px 12px!important;}
 :is(#content,#modal .dialog) .toolbar{gap:6px!important;margin-bottom:8px!important;}
 :is(#content,#modal .dialog) :is(h2,h3){margin-top:6px;margin-bottom:8px!important;}
 :is(#content,#modal .dialog) p{margin-top:5px;margin-bottom:5px;line-height:1.35;}
 :is(#content,#modal .dialog) label{margin-bottom:4px;}
 :is(#content,#modal .dialog) .foot{gap:8px;margin-top:10px!important;}
 :is(#content,#modal .dialog) :is(.note,.warning){padding:8px 10px;margin:8px 0;}
 :is(#content,#modal .dialog) .tabs{gap:6px;margin-bottom:8px;padding-bottom:6px;}
 :is(#content,#modal .dialog) .stats{gap:10px;margin-bottom:10px;}
 :is(#content,#modal .dialog) .stat{padding:12px;}
 :is(#content,#modal .dialog) .document-total{margin:7px 0!important;}
 :is(#content,#modal .dialog) :is(th,td){padding:6px 8px;}
 #modal .dialog{padding:14px!important;}
 #modal .dialoghead{gap:8px;margin-bottom:8px!important;padding-bottom:6px;}
 #modal .dialoghead h2{margin:0!important;}
 #modal .modal-zoom{padding:3px;min-width:0;}
 #modal .modal-zoom>.toolbar:has(#lookup-search){width:100%;padding:3px;margin-top:0!important;}
 #modal #lookup-search{width:100%!important;flex:1 1 100%;min-width:0;max-width:100%;}
 #modal .dialog.g5-product-picker .modal-zoom>p.muted{margin:2px 3px 5px;}
 #modal .business-address{margin:2px 0 6px!important;line-height:1.3;}
 #modal .document-logo{margin:0 0 4px!important;}
 #modal .modal-zoom:has(.receipt-lines)>.grid{gap:6px 12px!important;}
 #modal .modal-zoom:has(.receipt-lines)>.grid p{margin:3px 0;}
 #modal .document-change10{margin:3px 0 6px!important;}
 #modal .record-details10>.grid>div{padding:8px;}
 #modal .record-details10>p{padding:8px;}
 #content .two-panel{gap:12px;}
 #content .lineform{gap:8px;margin:8px 0;}
}
@media screen and (min-width:801px){
 html:not(.ea-mobile-app-m2) .main{padding-top:14px;padding-bottom:14px;}
 html:not(.ea-mobile-app-m2) #modal .modal-zoom>.tablewrap:has([data-purchase-lines]){max-height:var(--g5-list-height,65dvh)!important;}
}
@media screen {
 :is(#content,#modal .dialog) :is(.promotion-fields12,.promotion-actions13){gap:8px;margin:8px 0;}
 :is(#content,#modal .dialog) .state-control12{margin:8px 0;}
 #modal .product-image-editor11{padding:10px;margin:8px 0;}
}
