/* Identidad visual NexosTienda (rebrand 2026-09): navy #0B2545 + naranja
   #FF8A00, tipografía Poppins. --black se mantiene como alias del navy para
   superficies que quedan oscuras a propósito en ambos temas (sidebar, login,
   toasts); --text es el color de texto que sí cambia entre temas. */
:root{
  --black:#0B2545;--gray-900:#111111;--gray-700:#3D3D3D;--gray-500:#6B6B6B;
  --gray-300:#C4C4C4;--gray-100:#F4F6F8;--gray-50:#FAFAFA;--white:#FFFFFF;
  --text:#0A0A0A;--border-rgb:10,10,10;
  --accent:#FF8A00;--accent-light:#FFF1E0;--accent-hover:#E67A00;--success:#16A34A;--success-light:#E7F6EC;
  --warn:#B45309;--warn-light:#FDF3E3;--danger:#DC2626;--danger-light:#FCEAEA;
  --radius-sm:8px;--radius-md:14px;--radius-lg:20px;
  --shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow-md:0 4px 20px rgba(0,0,0,.08);--shadow-lg:0 12px 40px rgba(0,0,0,.13);
  --font-display:'Poppins',sans-serif;--font-body:'Poppins',sans-serif;--font-mono:'JetBrains Mono',ui-monospace,monospace;
  --transition:0.2s cubic-bezier(0.4,0,0.2,1);
  --sidebar-w:230px;
}
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --gray-900:#F2F2F5;--gray-700:#C7C7CE;--gray-500:#9A9AA2;
    --gray-300:#3A3A40;--gray-100:#1E1E22;--gray-50:#0B0B0D;--white:#16161A;
    --text:#F2F2F5;--border-rgb:255,255,255;
    --accent:#FF9E33;--accent-light:rgba(255,138,0,.16);--accent-hover:#FFB25C;
    --success-light:rgba(22,163,74,.18);--warn-light:rgba(180,83,9,.2);--danger-light:rgba(220,38,38,.18);
  }
}
:root[data-theme="dark"]{
  --gray-900:#F2F2F5;--gray-700:#C7C7CE;--gray-500:#9A9AA2;
  --gray-300:#3A3A40;--gray-100:#1E1E22;--gray-50:#0B0B0D;--white:#16161A;
  --text:#F2F2F5;--border-rgb:255,255,255;
  --accent:#FF9E33;--accent-light:rgba(255,138,0,.16);--accent-hover:#FFB25C;
  --success-light:rgba(22,163,74,.18);--warn-light:rgba(180,83,9,.2);--danger-light:rgba(220,38,38,.18);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-font-smoothing:antialiased}
body{font-family:var(--font-body);color:var(--text);background:var(--gray-50);font-size:14px;line-height:1.5}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:14px}
[hidden]{display:none!important}
::selection{background:var(--accent-light)}

/* ===== LOGIN / SETUP =====
   Fondo real (foto de caja NexosTienda) + tarjeta de vidrio oscura, mismo
   patrón que la referencia de Central de Marketing pero con la marca navy/
   naranja de NexosTienda en vez del rojo. */
.auth-screen{
  min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:linear-gradient(180deg,rgba(11,37,69,.72),rgba(6,20,38,.92)),url('/images/login-bg.jpg');
  background-size:cover;background-position:center;
}
.auth-card{width:100%;max-width:400px;background:rgba(255,255,255,.07);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-lg);padding:40px 32px;box-shadow:0 24px 64px rgba(0,0,0,.45)}
.auth-logo{margin-bottom:6px;text-align:center}
.auth-logo img{height:42px;margin:0 auto;display:block}
.auth-sub{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.55);margin-bottom:26px;text-align:center}
.auth-heading{font-family:var(--font-display);font-size:24px;font-weight:700;color:#fff;margin-bottom:20px}
.field{margin-bottom:16px}
.field label{display:block;font-size:12px;font-weight:600;color:var(--gray-700);margin-bottom:6px}
.field input{width:100%;padding:11px 14px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition)}
.field input:focus{border-color:var(--accent)}

.auth-card .field label{color:rgba(255,255,255,.75)}
.auth-card .field input{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.18);color:#fff}
.auth-card .field input::placeholder{color:rgba(255,255,255,.35)}
.auth-card .field input:focus{border-color:var(--accent);background:rgba(255,255,255,.1)}
.auth-remember{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.75);margin:-4px 0 20px;cursor:pointer}
.auth-remember input{accent-color:var(--accent);width:15px;height:15px}
.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:rgba(255,255,255,.4);font-size:12px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.18)}
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;background:#fff;color:#1F1F1F;font-weight:600;font-size:14px;padding:12px 18px;border-radius:999px;border:none;transition:background var(--transition),transform var(--transition)}
.btn-google:hover{background:#F1F1F1;transform:translateY(-1px)}
.auth-card .btn-primary{border-radius:999px;padding:13px;font-size:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;
  padding:11px 18px;border-radius:var(--radius-sm);border:none;transition:background var(--transition),transform var(--transition)}
.btn-primary{background:var(--accent);color:var(--white)}
.auth-card .btn-primary{width:100%}
.btn-primary:hover{background:var(--accent-hover)}
.btn-ghost{background:transparent;color:var(--gray-700);border:1.5px solid rgba(var(--border-rgb),.12)}
.btn-ghost:hover{border-color:var(--text);color:var(--text)}
.btn-danger{background:var(--danger-light);color:var(--danger)}
.btn-danger:hover{background:rgba(220,38,38,.16)}
.btn-sm{padding:7px 12px;font-size:12.5px}
.btn-sm{white-space:nowrap;justify-content:center;text-align:center}
.row-actions{display:flex;gap:8px;flex-wrap:nowrap;justify-content:flex-end;align-items:center}
@media (max-width:1100px){.row-actions{display:grid;grid-template-columns:repeat(2,104px);justify-content:end}}
.auth-error{background:var(--danger-light);color:var(--danger);font-size:12.5px;padding:10px 12px;border-radius:var(--radius-sm);margin-bottom:16px}

/* ===== APP SHELL ===== */
.app{display:none;min-height:100vh}
.app.active{display:flex}
.sidebar{width:var(--sidebar-w);flex-shrink:0;background-color:var(--black);background-image:linear-gradient(180deg,rgba(11,37,69,.88),rgba(6,20,38,.96)),url('/images/login-bg.jpg');background-size:cover;background-position:center;background-repeat:no-repeat;color:var(--white);display:flex;flex-direction:column;padding:22px 14px;position:fixed;top:0;bottom:0;left:0}
.sidebar-logo{font-family:var(--font-display);font-size:18px;font-weight:800;padding:0 10px 24px;color:var(--white);display:flex;align-items:center;gap:8px}
.sidebar-logo span{color:var(--accent)}
.sidebar-logo img{height:26px;width:auto;display:block;flex-shrink:0}
.auth-logo img{height:40px;display:block;margin:0 auto}
.nav-item{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:var(--radius-sm);color:rgba(255,255,255,.65);
  font-size:13.5px;font-weight:500;transition:background var(--transition),color var(--transition)}
.nav-item svg{width:17px;height:17px;flex-shrink:0}
.nav-item:hover{background:rgba(255,255,255,.06);color:var(--white)}
.nav-item.active{background:var(--accent);color:var(--white)}
.sidebar-footer{margin-top:auto;padding:12px 10px 0;border-top:1px solid rgba(255,255,255,.1);position:relative}

/* ===== CAJA DE PERFIL ===== */
.profile-trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:var(--radius-sm);background:transparent;border:none;text-align:left;transition:background var(--transition)}
.profile-trigger:hover{background:rgba(255,255,255,.06)}
.profile-avatar{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.12);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:700;flex-shrink:0}
.profile-trigger-text{min-width:0;flex:1}
.profile-trigger-name{font-size:13px;font-weight:600;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-trigger-email{font-size:11px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.profile-popover{display:none;position:absolute;left:0;bottom:calc(100% + 8px);width:260px;background:var(--white);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);border:1px solid rgba(var(--border-rgb),.08);padding:16px;z-index:200}
.profile-popover.open{display:block}
.profile-popover-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.profile-popover-avatar{width:42px;height:42px;border-radius:50%;background:var(--gray-100);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.profile-popover-name{font-size:14px;font-weight:700;color:var(--text)}
.profile-popover-email{font-size:12px;color:var(--gray-500);word-break:break-all}
.theme-switch{display:flex;background:var(--gray-100);border-radius:999px;padding:3px;gap:2px;margin-bottom:14px}
.theme-switch button{flex:1;padding:7px 0;border:none;background:transparent;border-radius:999px;font-size:12px;font-weight:600;color:var(--gray-500);transition:background var(--transition),color var(--transition)}
.theme-switch button.active{background:var(--white);color:var(--text);box-shadow:var(--shadow-sm)}
.profile-popover-link{display:block;width:100%;text-align:left;padding:10px 4px;font-size:13px;font-weight:600;color:var(--text);border:none;background:none;border-radius:6px}
.profile-popover-link:hover{background:var(--gray-100)}
.profile-popover-divider{height:1px;background:rgba(var(--border-rgb),.08);margin:8px 0}
.profile-popover-logout{color:var(--danger)}

.main{margin-left:var(--sidebar-w);flex:1;min-width:0;padding:28px 36px 60px}
.page-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.page-head h1{font-family:var(--font-display);font-size:24px;font-weight:800}
.page-head p{color:var(--gray-500);font-size:13.5px;margin-top:4px}

/* ===== CARDS / STATS ===== */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:28px}
.stat-card{background:var(--white);border:1.5px solid rgba(var(--border-rgb),.07);border-radius:var(--radius-md);padding:18px 20px}
.stat-card .label{font-size:12px;color:var(--gray-500);font-weight:600}
.stat-card .value{font-family:var(--font-display);font-size:26px;font-weight:800;margin-top:6px;font-variant-numeric:tabular-nums}
.stat-card .value.accent{color:var(--accent)}

.panel{background:var(--white);border:1.5px solid rgba(var(--border-rgb),.07);border-radius:var(--radius-md);overflow:hidden;margin-bottom:24px}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(var(--border-rgb),.06)}
.panel-head h2{font-size:15px;font-weight:700}
.panel-body{padding:20px}

/* ===== TABLE ===== */
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:11px;font-weight:700;color:var(--gray-500);text-transform:uppercase;letter-spacing:.04em;
  padding:10px 16px;border-bottom:1px solid rgba(var(--border-rgb),.06);white-space:nowrap}
td{padding:12px 16px;border-bottom:1px solid rgba(var(--border-rgb),.05);font-size:13.5px;vertical-align:middle}
tr:last-child td{border-bottom:none}
tr.clickable{cursor:pointer;transition:background var(--transition)}
tr.clickable:hover{background:var(--gray-50)}
.table-scroll{overflow-x:auto}
.cell-mono{font-family:var(--font-mono);font-size:12px;color:var(--gray-500)}
.cell-img{width:38px;height:38px;border-radius:8px;object-fit:cover;background:var(--gray-100)}

/* ===== PILLS ===== */
.pill{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap}
.pill::before{content:'';width:6px;height:6px;border-radius:50%}
.pill-lead{background:var(--accent-light);color:var(--accent)}.pill-lead::before{background:var(--accent)}
.pill-comprobante_subido{background:var(--warn-light);color:var(--warn)}.pill-comprobante_subido::before{background:var(--warn)}
.pill-confirmado{background:var(--success-light);color:var(--success)}.pill-confirmado::before{background:var(--success)}
.pill-preparando{background:var(--warn-light);color:var(--warn)}.pill-preparando::before{background:var(--warn)}
.pill-en_transito{background:var(--accent);color:var(--white)}.pill-en_transito::before{background:var(--white)}
.pill-entregado{background:var(--black);color:var(--white)}.pill-entregado::before{background:var(--white)}
.pill-rechazado{background:var(--danger-light);color:var(--danger)}.pill-rechazado::before{background:var(--danger)}
.pill-low{background:var(--danger-light);color:var(--danger)}
.pill-ok{background:var(--success-light);color:var(--success)}
.pill-nodata{background:var(--gray-100);color:var(--gray-500)}

/* ===== SEGMENT TABS (nivel de página — mismo patrón de píldora que .tab,
   pero naranja de acento en vez de negro, para distinguirse como el
   selector "de arriba" sobre los filtros de estado) ===== */
.segment-tabs{display:flex;gap:8px;margin-bottom:22px}
.segment-tab{padding:10px 20px;border-radius:999px;font-size:13.5px;font-weight:700;color:var(--gray-700);
  background:var(--white);border:1.5px solid rgba(var(--border-rgb),.1);transition:all var(--transition)}
.segment-tab:hover{border-color:var(--accent);color:var(--text)}
.segment-tab.active{background:var(--accent);color:var(--white);border-color:var(--accent)}

/* ===== FILTER TABS ===== */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.tab{padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--gray-700);
  background:var(--white);border:1.5px solid rgba(var(--border-rgb),.1);transition:all var(--transition)}
.tab.active{background:var(--black);color:var(--white);border-color:var(--black)}

/* ===== MODAL ===== */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(10,10,10,.55);z-index:500;align-items:center;justify-content:center;padding:20px}
.modal-overlay.active{display:flex}
.modal{width:100%;max-width:560px;max-height:88vh;overflow-y:auto;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid rgba(var(--border-rgb),.06);position:sticky;top:0;background:var(--white)}
.modal-head h3{font-size:16px;font-weight:700}
.modal-close{width:30px;height:30px;border-radius:50%;border:none;background:var(--gray-100);font-size:16px;display:flex;align-items:center;justify-content:center}
.modal-body{padding:22px 24px}
.modal-foot{display:flex;gap:10px;padding:16px 24px;border-top:1px solid rgba(var(--border-rgb),.06);justify-content:flex-end}

.kv-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--gray-50);font-size:13.5px}
.kv-row .k{color:var(--gray-500)}
.kv-row .v{font-weight:600;text-align:right}

.dropzone{border:2px dashed rgba(var(--border-rgb),.15);border-radius:var(--radius-md);padding:32px;text-align:center;color:var(--gray-500);
  font-size:13px;cursor:pointer;transition:border-color var(--transition),background var(--transition)}
.dropzone:hover,.dropzone.dragover{border-color:var(--accent);background:var(--accent-light)}
.dropzone input{display:none}

.dropzone-doc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:30px 20px}
.dropzone-doc .dropzone-icon{width:32px;height:32px;color:var(--gray-500);margin-bottom:4px;transition:color var(--transition)}
.dropzone-doc:hover .dropzone-icon,.dropzone-doc.dragover .dropzone-icon{color:var(--accent)}
.dropzone-doc .dropzone-title{font-size:14px;font-weight:600;color:var(--gray-700)}
.dropzone-doc .dropzone-sub{font-size:11.5px;color:var(--gray-500)}
.dropzone-doc.has-file .dropzone-icon,.dropzone-doc.has-file .dropzone-title{color:var(--success)}

.toast-wrap{position:fixed;bottom:24px;right:24px;z-index:900;display:flex;flex-direction:column;gap:8px}
.toast{background:var(--black);color:var(--white);padding:12px 18px;border-radius:var(--radius-sm);font-size:13px;box-shadow:var(--shadow-lg);
  animation:toastIn .25s ease}
.toast.error{background:var(--danger)}
.toast.success{background:var(--success)}
@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.empty-state{text-align:center;padding:48px 20px;color:var(--gray-500);font-size:13.5px}

.qty-input{width:64px;padding:6px 8px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:6px;text-align:center;font-variant-numeric:tabular-nums}

textarea.notas{width:100%;min-height:70px;padding:10px 12px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);resize:vertical}

.promo-card{border:1.5px solid rgba(var(--border-rgb),.07);border-radius:var(--radius-md);padding:18px;margin-bottom:14px}
.promo-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.tier-row{display:flex;gap:8px;margin-bottom:8px}
.tier-row input{flex:1;padding:8px 10px;border:1.5px solid rgba(var(--border-rgb),.1);border-radius:6px}

.switch{position:relative;display:inline-block;width:38px;height:22px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch .slider{position:absolute;inset:0;background:var(--gray-300);border-radius:999px;transition:var(--transition);cursor:pointer}
.switch .slider::before{content:'';position:absolute;width:16px;height:16px;left:3px;top:3px;background:var(--white);border-radius:50%;transition:var(--transition)}
.switch input:checked + .slider{background:var(--accent)}
.switch input:checked + .slider::before{transform:translateX(16px)}

@media(max-width:860px){
  .sidebar{transform:translateX(-100%);transition:transform var(--transition);z-index:400}
  .sidebar.open{transform:translateX(0)}
  .main{margin-left:0;padding:20px 16px 60px}
  .mobile-menu-btn{display:flex!important}
}
.mobile-menu-btn{display:none;width:38px;height:38px;border-radius:8px;border:1.5px solid rgba(var(--border-rgb),.1);background:var(--white);align-items:center;justify-content:center;margin-bottom:16px}

/* ===== PRESUPUESTOS (constructor) ===== */
.modal-lg{max-width:1080px}
.pres-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:start}
@media(max-width:760px){.pres-grid{grid-template-columns:1fr}}
.pres-cliente-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}
.pres-2col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pres-tabs{display:flex;gap:6px;margin:14px 0 12px;flex-wrap:wrap}
.pres-tab,.ped-tab{padding:8px 14px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--gray-700);background:var(--gray-100);border:1.5px solid transparent;transition:all var(--transition)}
.pres-tab.active,.ped-tab.active{background:var(--black);color:var(--white)}
.pres-panel{border:1.5px solid rgba(var(--border-rgb),.08);border-radius:var(--radius-md);padding:16px}
.pres-phone-row{display:flex;gap:8px}
.pres-phone-row select{flex:0 0 138px;width:138px;min-width:0;max-width:138px;text-overflow:ellipsis;padding:11px 8px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);background:var(--white);color:var(--text)}
.pres-phone-row input{flex:1;min-width:110px}
.pres-phone-row.ced-row select{flex:0 0 76px;width:76px;max-width:76px;font-weight:600}
.pres-catalogo-head{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.pres-catalogo-head #presBuscador,.pres-catalogo-head #pedBuscador{flex:1;margin-bottom:0}
.pres-catalogo-head .btn{flex-shrink:0;white-space:nowrap}
.pres-catalogo-info{font-size:12px;color:var(--gray-500);margin:-4px 0 10px;padding:8px 10px;background:var(--gray-50);border-radius:var(--radius-sm)}
#presBuscador,#comboBuscador,#pedBuscador{width:100%;padding:10px 14px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);margin-bottom:10px}
.pres-search-results{max-height:280px;overflow-y:auto;display:flex;flex-direction:column;gap:6px}
.pres-search-item{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid rgba(var(--border-rgb),.06);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition)}
.pres-search-item:hover{background:var(--gray-50)}
.pres-search-item img{width:36px;height:36px;border-radius:7px;object-fit:cover;background:var(--gray-100);flex-shrink:0}
.pres-search-item .info{min-width:0;flex:1}
.pres-search-item .name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pres-search-item .meta{font-size:11px;color:var(--gray-500);display:flex;gap:8px}
.pres-search-item .price{font-size:13px;font-weight:700;flex-shrink:0}
.dropzone-sm{padding:16px;font-size:12.5px}

.pres-subtabs{display:flex;gap:6px;margin-bottom:10px}
.pres-subtab{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600;color:var(--gray-700);background:var(--gray-100);border:none}
.pres-subtab.active{background:var(--accent);color:var(--white)}
.pres-combo-add{background:var(--gray-50);border-radius:var(--radius-sm);padding:14px;margin:10px 0}
.pres-combo-draft-items{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.pres-combo-draft-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--gray-50);border-radius:6px;font-size:12.5px}
.pres-combo-draft-item .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pres-combo-draft-item button{background:none;border:none;color:var(--danger);font-size:14px;flex-shrink:0}

.pres-lineas-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);margin-bottom:10px}
.pres-lineas{display:flex;flex-direction:column;gap:8px;max-height:280px;overflow-y:auto;margin-bottom:16px}
.pres-linea{background:var(--white);border:1.5px solid rgba(var(--border-rgb),.08);border-radius:var(--radius-sm);padding:10px;display:flex;align-items:center;gap:10px}
.pres-linea img{width:42px;height:42px;border-radius:8px;object-fit:cover;background:var(--gray-100);flex-shrink:0}
.pres-linea .info{min-width:0;flex:1}
.pres-linea .name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pres-linea .meta{font-size:11px;color:var(--gray-500)}
.pres-linea .combo-badge{display:inline-block;background:var(--accent-light);color:var(--accent);font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;margin-right:6px;text-transform:uppercase}
.pres-linea .subitems{margin-top:4px;font-size:11px;color:var(--gray-500)}
.pres-linea .qty-input{width:52px}
.pres-linea .price{font-size:13px;font-weight:700;width:80px;text-align:right;flex-shrink:0}
.pres-linea .del-linea{background:none;border:none;color:var(--danger);font-size:16px;flex-shrink:0}
.pres-empty{text-align:center;padding:24px;color:var(--gray-500);font-size:13px;border:1.5px dashed rgba(var(--border-rgb),.12);border-radius:var(--radius-sm)}

.pres-totales{border-top:1px solid rgba(var(--border-rgb),.08);padding-top:14px}
.pres-total-row{display:flex;justify-content:space-between;padding:6px 0;font-size:13.5px}
.pres-total-row.grand{font-family:var(--font-display);font-size:18px;font-weight:800;border-top:1px solid rgba(var(--border-rgb),.08);margin-top:6px;padding-top:10px}

.pres-link-box{margin-top:20px;padding:18px;background:var(--success-light);border-radius:var(--radius-md)}
.pres-link-box-title{font-weight:700;font-size:13.5px;color:var(--success);margin-bottom:10px}
.pres-link-actions{display:flex;gap:8px;flex-wrap:wrap}

.wa-range{display:flex;align-items:center;gap:8px;margin:-6px 0 16px;font-size:13px;color:var(--gray-500)}
.wa-range input{padding:8px 10px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm)}

.pres-check{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:600;color:var(--gray-700)}
.pres-check input{width:16px;height:16px;accent-color:var(--accent)}
.pill-oculto{background:var(--gray-100);color:var(--gray-500)}
.pill-destacado{background:var(--accent-light);color:var(--accent)}
.pill-prov{background:var(--warn-light);color:var(--warn)}.pill-prov::before{background:var(--warn)}

.pill-borrador{background:var(--gray-100);color:var(--gray-500)}
.pill-enviado{background:var(--warn-light);color:var(--warn)}
.pill-aceptado{background:var(--success-light);color:var(--success)}

/* ===== ASESOR TÉCNICO (chat con IA) ===== */
.asesor-layout{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start}
@media(max-width:860px){.asesor-layout{grid-template-columns:1fr}}
.asesor-lista-body{padding:10px;display:flex;flex-direction:column;gap:4px;max-height:70vh;overflow-y:auto}
.asesor-caso-item{display:flex;align-items:flex-start;gap:6px;padding:10px 8px 10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);position:relative}
.asesor-caso-item:hover{background:var(--gray-50)}
.asesor-caso-item.active{background:var(--accent-light)}
.asesor-caso-item .info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
.asesor-caso-item .titulo{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.asesor-caso-item .meta{font-size:11px;color:var(--gray-500)}
.asesor-caso-item .estado-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;margin-right:5px}
.asesor-caso-menu-btn{flex-shrink:0;width:26px;height:26px;border-radius:6px;border:none;background:transparent;color:var(--gray-500);font-size:15px;line-height:1;display:flex;align-items:center;justify-content:center}
.asesor-caso-menu-btn:hover{background:rgba(var(--border-rgb),.08);color:var(--text)}
.asesor-caso-menu{display:none;position:absolute;right:8px;top:36px;width:220px;background:var(--white);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);border:1px solid rgba(var(--border-rgb),.08);padding:6px;z-index:150}
.asesor-caso-menu.open{display:block}
.asesor-caso-menu button{display:block;width:100%;text-align:left;padding:8px 10px;font-size:12.5px;font-weight:600;color:var(--text);border:none;background:none;border-radius:6px}
.asesor-caso-menu button:hover{background:var(--gray-100)}
.asesor-caso-menu button.danger{color:var(--danger)}
.asesor-caso-menu .divider{height:1px;background:rgba(var(--border-rgb),.08);margin:5px 2px}
.dot-en_proceso{background:var(--accent)}
.dot-esperando_cliente{background:var(--warn)}
.dot-solucionado{background:var(--success)}
.dot-vendido{background:#7C3AED}
.asesor-chat-body{display:flex;flex-direction:column;height:70vh;padding:0}
.asesor-mensajes{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}
.asesor-msg{max-width:78%;padding:12px 16px;border-radius:var(--radius-md);font-size:13.5px;line-height:1.55}
.asesor-msg h4{font-size:13px;font-weight:800;margin:10px 0 4px;text-transform:uppercase;letter-spacing:.02em}
.asesor-msg h4:first-child{margin-top:0}
.asesor-msg p{margin:0 0 8px}
.asesor-msg p:last-child{margin-bottom:0}
.asesor-msg ul{margin:0 0 8px 18px}
.asesor-msg-user{align-self:flex-end;background:var(--black);color:var(--white);white-space:pre-wrap}
.asesor-msg-assistant{align-self:flex-start;background:var(--gray-50);color:var(--text);border:1.5px solid rgba(var(--border-rgb),.06)}
.asesor-msg-assistant h4{color:var(--accent)}
.asesor-thinking{display:flex;align-items:center;gap:9px;color:var(--gray-500);font-size:13px}
.asesor-dots{display:inline-flex;gap:4px}
.asesor-dots span{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:asesorDotPulse 1.1s infinite ease-in-out both}
.asesor-dots span:nth-child(2){animation-delay:.15s}
.asesor-dots span:nth-child(3){animation-delay:.3s}
@keyframes asesorDotPulse{0%,80%,100%{opacity:.25;transform:scale(.75)}40%{opacity:1;transform:scale(1)}}
.asesor-thinking-time{margin-left:2px;font-variant-numeric:tabular-nums;opacity:.75}
.asesor-input-row{display:flex;gap:10px;padding:16px 20px;border-top:1px solid rgba(var(--border-rgb),.06)}
.asesor-input-row textarea{flex:1;min-height:52px;max-height:140px}
.asesor-input-row .btn{align-self:flex-end}
.asesor-input-main{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}
.asesor-input-main textarea{width:100%}
.asesor-adjunto-chip{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;max-width:100%;background:var(--accent-light);color:var(--accent);font-size:12.5px;font-weight:700;padding:5px 4px 5px 12px;border-radius:999px}
.asesor-adjunto-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}
.asesor-adjunto-chip button{background:none;border:none;color:inherit;font-size:15px;line-height:1;cursor:pointer;padding:3px 7px;border-radius:50%}
.asesor-adjunto-chip button:hover{background:rgba(0,0,0,.08)}
#btnAsesorAdjuntar{align-self:flex-end;padding:9px 12px;font-size:17px;line-height:1}
.asesor-empty{margin:auto;text-align:center;color:var(--gray-500);font-size:13.5px;padding:40px}
.asesor-reintento{align-self:center;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;font-size:13px;color:var(--gray-500);padding:10px 14px;border:1.5px dashed var(--gray-300);border-radius:var(--radius-md)}

/* ===== Calculadora de ganancia ===== */
.calc-resultados{margin-top:12px;display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto}
.calc-input{width:100%;padding:8px 10px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);background:transparent;color:var(--text);outline:none;font-variant-numeric:tabular-nums}
.calc-input:focus{border-color:var(--accent)}
.calc-tasa{margin-top:6px;font-family:var(--font-display);font-size:20px;font-weight:800;padding:6px 10px}
.calc-falta{border-color:var(--danger);background:var(--danger-light)}
.calc-resumen-wrap{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,3fr);gap:24px;align-items:start}
.calc-kpis{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:16px}
.calc-kpis span{display:block;font-size:12px;color:var(--gray-500);font-weight:600}
.calc-kpis strong{font-family:var(--font-display);font-size:22px;font-variant-numeric:tabular-nums}
.calc-tabla360 th,.calc-tabla360 td{padding:10px 12px;text-align:right;font-variant-numeric:tabular-nums}
.calc-tabla360 th:first-child,.calc-tabla360 th[scope=row]{text-align:left;color:var(--gray-500);font-weight:600}
.calc-sem{display:inline-block;margin-left:6px;font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.calc-sem.ok{background:var(--success-light);color:var(--success)}
.calc-sem.mid{background:var(--warn-light);color:var(--warn)}
.calc-sem.na{background:var(--gray-100);color:var(--gray-500)}
.calc-sem.bad{background:var(--danger-light);color:var(--danger)}
.calc-aviso{background:var(--warn-light);color:var(--warn);padding:10px 14px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:600;margin-bottom:14px}
.calc-pie{font-size:12px;color:var(--gray-500);margin-top:14px}
@media (max-width:1280px){.calc-resumen-wrap{grid-template-columns:1fr}.calc-ajustes .panel-body{display:grid;grid-template-columns:1fr 1fr;gap:16px}.calc-ajustes .field{margin-bottom:0!important}}
#calcTabla input[data-f=qty]{min-width:64px;padding:8px 6px;text-align:center}

/* ===== Presupuesto sugerido por el asesor ===== */
.asesor-pres-card{margin-top:12px;padding:14px 16px;border:1.5px solid var(--accent);border-radius:var(--radius-md);background:var(--white)}
.asesor-pres-titulo{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--accent);margin-bottom:8px}
.asesor-pres-card ul{margin:0 0 8px 18px}
.asesor-pres-card li{margin-bottom:4px}
.asesor-pres-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid rgba(var(--border-rgb),.08);margin-bottom:12px}
.asesor-pres-total strong{font-family:var(--font-display);font-size:18px}
.asesor-pres-acciones{display:flex;gap:8px;flex-wrap:wrap}

/* ===== Notas de entrega ===== */
.pres-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);margin-bottom:10px}
.link-btn{background:none;border:none;color:var(--accent);font-size:11.5px;font-weight:600;cursor:pointer;margin-left:8px;padding:0}
.hint{font-size:11.5px;color:var(--gray-500);margin-top:4px}
#notaLineas{display:flex;flex-direction:column;gap:10px;max-height:340px;overflow-y:auto;padding-right:2px}
.nota-linea{background:var(--white);border:1.5px solid rgba(var(--border-rgb),.1);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.nota-linea-fila{display:flex;gap:10px;align-items:flex-end}
.nota-linea-fila label{flex:1;min-width:0;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);display:flex;flex-direction:column;gap:4px}
.nota-linea-fila label:first-child{flex:0 0 64px}
.nota-nombre{flex:1;font-weight:600}
.nota-linea .del-linea{background:none;border:none;color:var(--danger);font-size:16px;cursor:pointer;flex-shrink:0}
.nota-linea-total{font-weight:800;font-size:14px;min-width:78px;text-align:right;padding-bottom:8px}
.nota-linea details summary{font-size:12px;font-weight:600;color:var(--accent);cursor:pointer}
.nota-linea details textarea{margin-top:8px}
.nota-incluye-lbl{display:block;font-size:10.5px;font-weight:700;text-transform:uppercase;color:var(--gray-500);margin-top:8px}

/* Menú desplegable con el diseño de los demás campos del panel */
.sel{width:100%;appearance:none;-webkit-appearance:none;padding:11px 40px 11px 14px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);background:#FFFFFF url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%239A9AA2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M1 1.5l5 5 5-5'/></svg>") no-repeat right 14px center/12px;color:#0A0A0A;font-family:inherit;font-size:14px;cursor:pointer;outline:none;transition:border-color var(--transition)}
.sel:hover{border-color:rgba(var(--border-rgb),.25)}
.sel:focus{border-color:var(--accent)}

/* ===== PERFIL DE CLIENTE ===== */
.field textarea{width:100%;padding:11px 14px;border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);outline:none;resize:vertical;font-family:inherit;font-size:14px;transition:border-color var(--transition)}
.field textarea:focus{border-color:var(--accent)}
.modal-perfil{max-width:900px}
.cli-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.cli-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--white);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:20px}
.cli-id{flex:1 1 200px;min-width:0}
.cli-id h2{font-size:20px;font-weight:800;line-height:1.2;overflow-wrap:anywhere}
.cli-id p{font-size:13px;color:var(--gray-500);margin-top:2px}
.cli-head-actions{display:flex;gap:8px}
.cli-datos{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));column-gap:32px;margin-bottom:22px}
.cli-datos .kv-row .v{overflow-wrap:anywhere}
.cli-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.cli-tabs .segment-tab{padding:8px 16px;font-size:13px;margin:0}
.cli-doc-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.cli-doc-bar .hint{margin:0}
.cli-doc-titulo{font-weight:600;overflow-wrap:anywhere}
.cli-doc-sub{font-size:12px;color:var(--gray-500);margin-top:2px;overflow-wrap:anywhere}
.cli-aviso{padding:12px 14px;border-radius:var(--radius-sm);background:var(--warn-light);color:var(--warn);font-size:13px;margin-bottom:16px}
.cli-nombre{font-weight:700}
tr.clickable:hover .cli-nombre,tr.clickable:focus-visible .cli-nombre{color:var(--accent)}
tr.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}

/* ===== NUEVO PEDIDO: elegir cliente registrado ===== */
.ped-cli-box{position:relative}
.ped-cli-box input[type=search]{width:100%}
.ped-cli-results{position:absolute;left:0;right:0;top:100%;z-index:5;margin-top:4px;background:var(--white);border:1.5px solid rgba(var(--border-rgb),.12);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:240px;overflow-y:auto}
.ped-cli-item{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:10px 14px;background:none;border:0;border-bottom:1px solid rgba(var(--border-rgb),.05);font:inherit;text-align:left;cursor:pointer;color:inherit}
.ped-cli-item:last-child{border-bottom:0}
.ped-cli-item:hover,.ped-cli-item:focus-visible{background:var(--gray-50)}
.ped-cli-item .n{font-weight:600;font-size:13.5px;overflow-wrap:anywhere}
.ped-cli-item .t{font-size:12px;color:var(--gray-500);white-space:nowrap;font-family:var(--font-mono)}
.ped-cli-vacio{padding:12px 14px;font-size:13px;color:var(--gray-500)}
.ped-cli-elegido{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--success-light);color:var(--success);font-size:13.5px;font-weight:600}
.ped-cli-elegido .aviso{display:block;font-weight:500;font-size:12px;margin-top:2px}
.ped-check{display:flex!important;align-items:center;gap:8px;font-size:13.5px!important;font-weight:600;cursor:pointer;margin-bottom:0!important}
.ped-check input{width:auto!important;margin:0}

.nota-fotos{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nota-foto{position:relative;display:inline-block}
.nota-foto img{height:56px;width:auto;border-radius:6px;border:1px solid rgba(var(--border-rgb),.15);display:block}
.nota-foto button{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;border:none;background:var(--danger);color:#fff;font-size:10px;cursor:pointer;line-height:1}
