:root{
  /* Fuente */
  --font-sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  /* Fondos — valores por defecto = tema oscuro (wishtech) */
  --color-background-primary:#0f1117;
  --color-background-secondary:#1a1d27;
  --color-background-info:#2d1f0a;
  --color-background-danger:#3b1515;
  --color-bg-card:#1e2235;
  /* Texto */
  --color-text-primary:#f0f0f0;
  --color-text-secondary:#9ca3af;
  --color-text-muted:#6b7280;
  --color-text-danger:#f87171;
  --color-text-info:#fde68a;
  /* Bordes */
  --color-border:#2a2d3a;
  --color-border-primary:#F59E0B;
  --color-border-secondary:#2e3347;
  --color-border-tertiary:#23263a;
  --color-border-info:#92400E;
  --color-border-danger:#7f1d1d;
  /* Acento */
  --color-accent:#F59E0B;
  --color-accent-hover:#D97706;
  --color-accent-text:#000000;
  /* Semánticos — fijos en todos los temas */
  --color-success:#22c55e;
  --color-success-bg:color-mix(in srgb,var(--color-success) 14%,var(--color-background-primary));
  --color-warning:#f59e0b;
  --color-warning-bg:color-mix(in srgb,var(--color-warning) 14%,var(--color-background-primary));
  --color-danger:#ef4444;
  --color-danger-bg:color-mix(in srgb,var(--color-danger) 14%,var(--color-background-primary));
  --color-info:#3b82f6;
  --color-violet:#8b5cf6;
  --color-info-bg:color-mix(in srgb,var(--color-info) 14%,var(--color-background-primary));
  --color-violet-bg:color-mix(in srgb,var(--color-violet) 14%,var(--color-background-primary));
  --color-neutral-bg:color-mix(in srgb,var(--color-text-secondary) 12%,var(--color-background-primary));
  /* Texto sobre fondos suaves: color solido legible en claro y oscuro */
  --color-success-fg:color-mix(in srgb,var(--color-success) 72%,var(--color-text-primary));
  --color-warning-fg:color-mix(in srgb,var(--color-warning) 72%,var(--color-text-primary));
  --color-danger-fg:color-mix(in srgb,var(--color-danger) 72%,var(--color-text-primary));
  --color-info-fg:color-mix(in srgb,var(--color-info) 72%,var(--color-text-primary));
  --color-violet-fg:color-mix(in srgb,var(--color-violet) 72%,var(--color-text-primary));
  --color-neutral-fg:var(--color-text-secondary);
  /* Sombras */
  --shadow-sm:0 1px 3px rgba(0,0,0,0.3);
  --shadow-md:0 4px 12px rgba(0,0,0,0.4);
  --shadow-lg:0 8px 32px rgba(0,0,0,0.5);
  /* Tipografía */
  --font-size-xs:11px;
  --font-size-sm:13px;
  --font-size-md:15px;
  --font-size-lg:18px;
  --font-size-xl:24px;
  --font-size-2xl:32px;
  /* Alias de compatibilidad */
  --color-background:var(--color-background-primary);
  /* Espaciado */
  --space-xs:4px;
  --space-sm:8px;
  --space-md:16px;
  --space-lg:24px;
  --space-xl:32px;
  /* Radios — nuevos tokens + retrocompatibilidad */
  --radius-sm:8px;
  --radius-md:10px;
  --radius-lg:14px;
  --border-radius-sm:8px;
  --border-radius-md:10px;
  --border-radius-lg:14px;
  /* Borde card shorthand */
  --border-card:1px solid var(--color-border);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--font-sans);background:var(--color-background-primary);color:var(--color-text-primary);}
input,select,textarea{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--border-radius-md);padding:11px 14px;font-size:14px;color:var(--color-text-primary);outline:none;transition:border-color .15s,box-shadow .15s;}
input:not([type=checkbox]):not([type=radio]):not([type=range]),select{min-height:40px;}
input:focus,select:focus,textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 18%,transparent);}
input::placeholder,textarea::placeholder{color:var(--color-text-muted);}
select option{color:var(--color-text-primary);background:var(--color-bg-card);}
.app{
  max-width:480px;
  margin:0 auto;
  font-family:var(--font-sans);
}

.sticky-top{position:sticky;top:0;background:var(--color-background-primary);z-index:10;border-bottom:0.5px solid var(--color-border-tertiary);}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 1rem;}
.page-title{font-size:15px;font-weight:500;color:var(--color-text-primary);}
.tab-bar{display:flex;overflow-x:auto;}
.tab{flex:1;min-width:72px;text-align:center;padding:8px 4px 6px;font-size:13px;color:var(--color-text-secondary);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;}
.tab.on{color:var(--color-accent);border-bottom-color:var(--color-accent);}
.tab i{display:block;font-size:18px;margin-bottom:1px;}
.content{padding:1rem 1rem 3rem;}
.screen{display:none;}.screen.active{display:block;}
.card{background:var(--color-bg-card);border:var(--border-card);border-radius:var(--border-radius-lg);padding:1rem 1.25rem;margin-bottom:10px;}
.tap{cursor:pointer;}.tap:active{opacity:0.75;}
.card-vencido{border-color:color-mix(in srgb,var(--color-danger) 32%,var(--color-background-primary));background:var(--color-danger-bg);border-left:3px solid var(--color-danger);}
.mgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:1rem;}
.metric{background:var(--color-bg-card);border-radius:var(--border-radius-md);padding:1.25rem;box-shadow:var(--shadow-sm);border:var(--border-card);}
.ml{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:5px;font-weight:500;text-transform:uppercase;letter-spacing:.04em;}
.mv{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text-primary);line-height:1;}
.btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:40px;padding:0 14px;border-radius:var(--border-radius-md);font-size:14px;cursor:pointer;font-family:var(--font-sans);text-align:center;transition:background .2s,border-color .2s,color .2s,opacity .2s;}
/* PRIMARY — dorado, texto negro */
.bp,.bcc{background:var(--color-accent);color:var(--color-accent-text);border:none;font-weight:700;}
.bp:hover,.bcc:hover{background:var(--color-accent-hover);}
/* SECONDARY — borde sutil, texto secundario */
.bs{background:transparent;border:1px solid var(--color-border-secondary);color:var(--color-text-secondary);font-weight:500;}
.bs:hover{border-color:var(--color-accent);color:var(--color-accent);}
/* DANGER — fondo rojo oscuro, discreto */
.bd{background:var(--color-danger-bg);color:var(--color-text-danger);border:1px solid rgba(239,68,68,0.25);font-weight:500;}
.bd:hover{background:rgba(239,68,68,0.2);}
/* SUCCESS */
.bg,.bapprove{background:var(--color-success);color:#fff;border:none;font-weight:600;}
.bg:hover,.bapprove:hover{opacity:.88;}
/* WHATSAPP */
.bwa{background:#25D366;color:#fff;border:none;font-weight:500;}
.gap{margin-top:8px;}
/* NEW primary button (acción principal de pantalla) */
.btn-nuevo{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 22px;max-width:320px;border-radius:var(--border-radius-md);font-size:14px;cursor:pointer;font-family:var(--font-sans);background:var(--color-accent);color:var(--color-accent-text);border:none;font-weight:700;margin-bottom:1rem;transition:background .2s;}
.btn-nuevo:hover{background:var(--color-accent-hover);}
.fg{margin-bottom:16px;}
.fg label{display:block;font-size:12px;color:var(--color-text-secondary);margin-bottom:4px;font-weight:600;letter-spacing:.02em;}
.fg input,.fg select,.fg textarea{width:100%;}
.fg-row{display:flex;gap:12px;margin-bottom:16px;}
.fg-row>.fg{flex:1;margin-bottom:0;}
.fg-0{margin-bottom:0 !important;}
.tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.tbtn{padding:10px 8px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-card);cursor:pointer;font-size:var(--font-size-sm);text-align:center;color:var(--color-text-secondary);font-family:var(--font-sans);transition:border-color .15s,color .15s,background .15s;}
.tbtn.on{border:2px solid var(--color-accent);background:var(--color-warning-bg);color:var(--color-accent);font-weight:600;box-shadow:0 2px 6px rgba(0,0,0,0.15);}
.badge{font-size:11px;padding:2px 10px;border-radius:9999px;font-weight:600;white-space:nowrap;}
.bpend{background:var(--color-warning-bg);color:var(--color-warning-fg);}.bparc{background:var(--color-info-bg);color:var(--color-info-fg);}.bcomp{background:var(--color-success-bg);color:var(--color-success-fg);}
.pq-borrador{background:var(--color-neutral-bg);color:var(--color-neutral-fg);}.pq-enviado{background:var(--color-info-bg);color:var(--color-info-fg);}.pq-aprobado{background:var(--color-success-bg);color:var(--color-success-fg);}.pq-rechazado{background:var(--color-danger-bg);color:var(--color-danger-fg);}
.fp-activa{background:var(--color-success-bg);color:var(--color-success-fg);}.fp-pendiente{background:var(--color-warning-bg);color:var(--color-warning-fg);}.fp-aprobada{background:var(--color-info-bg);color:var(--color-info-fg);}.fp-pausada{background:var(--color-neutral-bg);color:var(--color-neutral-fg);}
.num-chip{font-size:11px;color:var(--color-text-secondary);font-weight:500;font-family:monospace;}
.st{font-size:var(--font-size-xs);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-weight:700;margin:1.25rem 0 8px;}
.row{display:flex;justify-content:space-between;align-items:center;}
.drow{display:flex;justify-content:space-between;padding:9px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:14px;}
.drow:last-child{border-bottom:none;}
.back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--color-text-secondary);cursor:pointer;background:none;border:none;margin-bottom:1rem;padding:0;font-family:var(--font-sans);}
.av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;flex-shrink:0;}
.ave{background:var(--color-violet-bg);color:var(--color-violet-fg);}.avn{background:var(--color-warning-bg);color:var(--color-warning-fg);}.avp{background:var(--color-success-bg);color:var(--color-success-fg);}
.irow{display:flex;gap:6px;align-items:center;margin-bottom:8px;}
.irow input{flex:1;}.iw{flex:0 0 80px !important;}.iq{flex:0 0 54px !important;}
.itrash{background:none;border:none;cursor:pointer;color:var(--color-text-danger);font-size:18px;padding:4px;}
.tbar{background:var(--color-bg-card);border:var(--border-card);border-radius:var(--border-radius-md);padding:12px 16px;display:flex;justify-content:space-between;align-items:center;margin-top:12px;}
.empty{text-align:center;padding:2.5rem 0;color:var(--color-text-secondary);font-size:14px;line-height:1.9;}
.sok{background:var(--color-success-bg);color:var(--color-success-fg);font-size:12px;padding:2px 8px;border-radius:20px;}
.slow{background:var(--color-warning-bg);color:var(--color-warning-fg);font-size:12px;padding:2px 8px;border-radius:20px;}
.sout{background:var(--color-danger-bg);color:var(--color-danger-fg);font-size:12px;padding:2px 8px;border-radius:20px;}
.prod-alert-crit{background:var(--color-danger-bg);color:var(--color-danger-fg);font-size:12px;padding:8px 12px;border-radius:var(--border-radius-md);margin-bottom:8px;font-weight:500;display:flex;align-items:center;gap:6px;}
.prod-alert-warn{background:var(--color-warning-bg);color:var(--color-warning-fg);font-size:12px;padding:8px 12px;border-radius:var(--border-radius-md);margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.svcchip{background:var(--color-violet-bg);color:var(--color-violet-fg);font-size:12px;padding:2px 8px;border-radius:20px;}
.fbar{display:flex;gap:12px;margin-bottom:1rem;overflow-x:auto;padding-bottom:4px;}
.fbar .tbtn{white-space:nowrap;flex-shrink:0;padding:8px 16px;font-size:13px;}
.iform{background:var(--color-background-secondary);border:var(--border-card);border-radius:var(--border-radius-md);padding:1rem;margin-top:10px;}
.cbox{background:var(--color-background-danger);border-radius:var(--border-radius-md);padding:1rem;margin-top:10px;}
.cbox p{font-size:14px;color:var(--color-text-danger);margin-bottom:10px;}
.twobtn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.icon-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:16px;padding:4px;display:inline-flex;align-items:center;}
.fp-chip{font-size:11px;padding:2px 8px;border-radius:20px;display:inline-flex;align-items:center;gap:4px;}
.fp-efectivo{background:var(--color-success-bg);color:var(--color-success-fg);}
.fp-transferencia{background:var(--color-info-bg);color:var(--color-info-fg);}
.fp-cheque{background:var(--color-warning-bg);color:var(--color-warning-fg);}
.fp-cheque_dif{background:var(--color-warning-bg);color:var(--color-warning-fg);}
.fp-mercadopago{background:var(--color-violet-bg);color:var(--color-violet-fg);}
.fp-cuentacorriente{background:var(--color-info-bg);color:var(--color-info-fg);}
.fp-tarjeta{background:var(--color-neutral-bg);color:var(--color-neutral-fg);}
.fp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0;}
.fp-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border:0.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);cursor:pointer;font-size:11px;color:var(--color-text-primary);font-family:var(--font-sans);text-align:center;line-height:1.3;}
.fp-btn i{font-size:20px;color:var(--color-text-secondary);}
.fp-btn.sel{border:2px solid var(--color-border-info);background:var(--color-background-info);color:var(--color-text-info);}
.fp-btn.sel i{color:var(--color-text-info);}
.cc-box{border:2px solid var(--color-border-info);border-radius:var(--border-radius-lg);padding:1rem 1.25rem;margin-bottom:10px;background:var(--color-background-info);}
.cc-saldo{font-size:24px;font-weight:500;color:var(--color-accent);margin:4px 0;}
.cc-mov{padding:8px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:13px;display:flex;justify-content:space-between;}
.cc-mov:last-child{border-bottom:none;}
.nota-item{padding:10px 0;border-bottom:0.5px solid var(--color-border-tertiary);}
.nota-item:last-child{border-bottom:none;}
.nota-texto{font-size:14px;margin-bottom:3px;}
.nota-fecha{font-size:11px;color:var(--color-text-secondary);}
.wa-preview{background:var(--color-success-bg);border-radius:var(--border-radius-lg);padding:1rem;margin-top:10px;font-size:13px;line-height:1.6;color:var(--color-text-primary);white-space:pre-wrap;word-break:break-word;border:0.5px solid color-mix(in srgb,var(--color-success) 30%,var(--color-background-primary));}
.toast{position:fixed;top:60px;left:50%;transform:translateX(-50%);background:var(--color-text-primary);color:var(--color-background-primary);padding:10px 20px;border-radius:var(--border-radius-md);font-size:13px;z-index:999;opacity:0;transition:opacity .2s;white-space:nowrap;}
.toast.show{opacity:1;}
/* Work Hub — centro de trabajo (Inicio) */
.work-hub{margin-bottom:1.25rem;}
.wh-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;flex-wrap:wrap;}
.wh-title{font-size:17px;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em;}
.wh-sub{font-size:12px;color:var(--color-text-secondary);text-transform:capitalize;}
.wh-section{margin-bottom:14px;}
.wh-section-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;}
.wh-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);}
.wh-count{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--color-warning-bg);color:var(--color-warning);}
.wh-pipeline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.wh-col{background:var(--color-bg-card);border:var(--border-card);border-radius:var(--border-radius-lg);padding:10px 12px;min-height:120px;}
.wh-col-hdr{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:8px;padding-bottom:6px;border-bottom:0.5px solid var(--color-border-tertiary);}
.wh-col-hdr i{font-size:14px;color:var(--color-accent);}
.wh-col-act .wh-col-hdr i{color:var(--color-info);}
.wh-col-bill .wh-col-hdr i{color:var(--color-warning);}
.wh-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:0.5px solid var(--color-border-tertiary);cursor:pointer;}
.wh-item:last-child{border-bottom:none;padding-bottom:0;}
.wh-item:hover .wh-item-num{color:var(--color-accent);}
.wh-item-main{min-width:0;flex:1;}
.wh-item-num{font-size:12px;font-weight:600;font-family:monospace;color:var(--color-text-primary);transition:color .15s;}
.wh-item-cli{font-size:12px;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wh-item-meta{font-size:11px;color:var(--color-text-muted);margin-top:2px;}
.wh-item-amt{font-size:13px;font-weight:600;color:var(--color-accent);white-space:nowrap;}
.wh-item-btn{flex-shrink:0;padding:5px 10px;font-size:11px;min-height:28px;width:auto;border-radius:8px;}
.wh-empty{font-size:12px;color:var(--color-text-secondary);padding:12px 0;text-align:center;}
.wh-visita{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;background:var(--color-bg-card);border:var(--border-card);border-radius:var(--border-radius-md);margin-bottom:8px;}
.wh-visita.vencida{border-left:3px solid var(--color-danger);}
.wh-visita-info{min-width:0;flex:1;}
.wh-visita-cli{font-weight:600;font-size:14px;}
.wh-visita-desc{font-size:12px;color:var(--color-text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.wh-visita-acts{display:flex;gap:6px;flex-shrink:0;}
.wh-visita-acts .btn{width:auto;padding:6px 10px;font-size:11px;min-height:30px;}
@media(min-width:900px){
  .wh-pipeline{grid-template-columns:1.2fr 1fr;}
}
.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:1.5rem;}
.qa-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;border:var(--border-card);border-radius:var(--border-radius-lg);background:var(--color-bg-card);cursor:pointer;font-size:12px;color:var(--color-text-secondary);font-family:var(--font-sans);box-shadow:var(--shadow-sm);transition:background .15s,border-color .15s;}
.qa-btn:hover{background:var(--color-warning-bg);border-color:rgba(245,158,11,0.45);}
.qa-btn i{font-size:32px;color:var(--color-accent);}
.pq-banner{background:var(--color-background-info);border:0.5px solid var(--color-border-info);border-radius:var(--border-radius-md);padding:12px 16px;margin-bottom:10px;font-size:13px;color:#185FA5;display:flex;align-items:center;gap:8px;}
.search-wrap{position:relative;margin-bottom:1rem;}
.search-wrap input{width:100%;padding:10px 12px 10px 38px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:14px;background:var(--color-bg-card);color:var(--color-text-primary);}
.search-wrap .si{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:17px;color:var(--color-text-secondary);pointer-events:none;}
.search-wrap .sc{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:16px;cursor:pointer;background:none;border:none;padding:2px;display:none;color:var(--color-text-secondary);}
.search-wrap input:not(:placeholder-shown)~.sc{display:block;}
.alerta-vencido{background:var(--color-danger-bg);border:0.5px solid color-mix(in srgb,var(--color-danger) 28%,var(--color-background-primary));border-left:3px solid var(--color-danger);border-radius:var(--border-radius-md);padding:13px 14px;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;min-height:48px;}
.export-textarea{width:100%;font-family:monospace;font-size:12px;min-height:160px;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);padding:10px;resize:vertical;background:var(--color-background-primary);color:var(--color-text-primary);}
.r-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.r-bar-label{font-size:14px;font-weight:500;min-width:0;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.r-bar-wrap{width:120px;flex-shrink:0;background:var(--color-background-secondary);border-radius:20px;height:8px;overflow:hidden;}
.r-bar{height:100%;border-radius:20px;}
.r-bar-val{font-size:14px;color:var(--color-text-secondary);flex-shrink:0;text-align:right;width:90px;}
.r-estado-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.r-estado{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:1.25rem 1rem;text-align:center;}
.r-ev{font-size:40px;font-weight:700;line-height:1;}
.r-el{font-size:13px;font-weight:500;color:var(--color-text-secondary);margin-top:6px;}
.chart-container{position:relative;width:100%;height:240px;}
.r-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--color-text-secondary);margin-bottom:12px;}
.r-litem{display:flex;align-items:center;gap:6px;}
.r-lsq{width:12px;height:12px;border-radius:2px;flex-shrink:0;}
.periodo-bar{display:flex;gap:6px;margin-bottom:1rem;flex-wrap:wrap;}
.periodo-bar .tbtn{padding:9px 16px;flex:0 0 auto;font-size:14px;}
/* ====== DÓLAR WIDGET ====== */
#dolar-widget{display:flex;align-items:center;gap:4px;}
.dolar-chip{background:var(--color-success-bg);color:var(--color-success);padding:4px 11px;border-radius:20px;font-size:13px;font-weight:600;white-space:nowrap;}
.dolar-btn{background:none;border:none;cursor:pointer;color:var(--color-success);font-size:16px;padding:2px;display:flex;align-items:center;}
.dt-topbar-sep{width:1px;height:26px;background:rgba(240,240,240,0.10);margin:0 4px;flex-shrink:0;}
.dt-topbar-dolar,.dt-topbar-cloud,.dt-topbar-arca{display:flex;align-items:center;gap:8px;}
.dt-topbar-user{display:flex;align-items:center;margin-left:auto;padding-right:8px;flex-shrink:0;}
.topbar-status-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:10px;background:rgba(240,240,240,0.06);border:0.5px solid rgba(240,240,240,0.12);color:var(--color-text-secondary);font-size:12px;font-weight:500;white-space:nowrap;line-height:1;}
.topbar-status-chip .chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.topbar-status-chip.chip-ok .chip-dot{background:#4ade80;}
.topbar-status-chip.chip-warn .chip-dot{background:#F59E0B;}
.topbar-status-chip.chip-stale .chip-dot{background:#f87171;}
.topbar-status-chip.chip-ok{border-color:rgba(74,222,128,0.22);}
.topbar-status-chip.chip-warn{border-color:rgba(245,158,11,0.28);background:rgba(245,158,11,0.08);}
.topbar-status-chip.chip-stale{border-color:rgba(248,113,113,0.25);background:rgba(248,113,113,0.06);}
.topbar-status-chip.drive .ti-brand-google-drive{color:#4ade80;font-size:14px;}
.topbar-status-chip.onedrive .ti-brand-onedrive{color:#38bdf8;font-size:14px;}
.topbar-status-chip .chip-lbl{font-weight:600;color:rgba(240,240,240,0.85);}
.topbar-status-chip .chip-time{opacity:0.75;font-size:11px;}
.topbar-status-chip .chip-action{font-size:11px;color:var(--color-accent);font-weight:600;}
.topbar-status-chip.chip-disconnected{opacity:0.85;cursor:pointer;border-style:dashed;border-color:rgba(245,158,11,0.35);}
.topbar-status-chip.chip-disconnected:hover{background:rgba(245,158,11,0.10);border-color:rgba(245,158,11,0.5);}
.topbar-status-chip.chip-disconnected .chip-dot{background:rgba(245,158,11,0.6);}
.topbar-status-chip.chip-skeleton{min-width:110px;min-height:28px;animation:chip-pulse 1.4s ease-in-out infinite;}
.topbar-status-chip.chip-error{border-color:rgba(248,113,113,0.35);color:#f87171;}
.status-refresh-btn{background:none;border:none;cursor:pointer;color:rgba(240,240,240,0.55);font-size:14px;padding:4px;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px;border-radius:6px;transition:color .15s,background .15s;}
.status-refresh-btn:hover{color:#F59E0B;background:rgba(245,158,11,0.12);}
.status-refresh-btn:disabled{opacity:0.45;cursor:default;}
@keyframes chip-pulse{0%,100%{opacity:.45}50%{opacity:.9}}
.mob-cloud-widget{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.mob-cloud-widget .topbar-status-chip{font-size:11px;padding:4px 8px;}
.mob-cloud-widget .chip-lbl{display:none;}
.mob-cloud-widget .status-refresh-btn{min-width:24px;min-height:24px;font-size:12px;}
.dolar-upd{color:var(--color-text-secondary);font-size:12px;white-space:nowrap;display:none;}
/* ====== MONEDA ====== */
.mon-selector{display:flex;gap:4px;margin-bottom:14px;}
.mon-btn{flex:1;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-bg-card);cursor:pointer;font-size:13px;text-align:center;color:var(--color-text-secondary);font-family:var(--font-sans);transition:border-color .15s,color .15s;}
.mon-btn.on{border:2px solid var(--color-success);background:var(--color-success-bg);color:var(--color-success);font-weight:500;}
.usd-badge{font-size:10px;padding:2px 7px;border-radius:20px;background:var(--color-success-bg);color:var(--color-success-fg);font-weight:600;display:inline-block;}
/* ====== ST ESTADOS ====== */
.bst-ingresado{background:var(--color-neutral-bg);color:var(--color-neutral-fg);}.bst-diagnostico{background:var(--color-warning-bg);color:var(--color-warning-fg);}.bst-presupuestado{background:var(--color-info-bg);color:var(--color-info-fg);}.bst-aprobado{background:var(--color-success-bg);color:var(--color-success-fg);}.bst-reparacion{background:var(--color-violet-bg);color:var(--color-violet-fg);}.bst-listo{background:var(--color-success-bg);color:var(--color-success-fg);}.bst-entregado{background:var(--color-neutral-bg);color:var(--color-neutral-fg);}
.garantia-info{background:var(--color-info-bg);border:0.5px solid color-mix(in srgb,var(--color-info) 30%,var(--color-background-primary));border-radius:var(--border-radius-md);padding:10px 14px;margin-bottom:10px;font-size:13px;color:var(--color-info-fg);}
.garantia-warn{background:var(--color-warning-bg);border:0.5px solid color-mix(in srgb,var(--color-warning) 30%,var(--color-background-primary));border-radius:var(--border-radius-md);padding:10px 14px;margin-bottom:10px;font-size:13px;color:var(--color-warning-fg);}
/* ====== SPINNER ====== */
@keyframes spin{to{transform:rotate(360deg);}}
.ti-spin{animation:spin 1s linear infinite;display:inline-block;}
/* ====== ARCA ====== */
.arca-ok{background:var(--color-success-bg);border:0.5px solid color-mix(in srgb,var(--color-success) 32%,var(--color-background-primary));border-radius:var(--border-radius-md);padding:12px 14px;}
.arca-err{background:var(--color-background-danger);border:0.5px solid var(--color-border-danger);border-radius:var(--border-radius-md);padding:12px 14px;color:var(--color-text-danger);}
.cae-box{background:var(--color-success-bg);border:0.5px solid color-mix(in srgb,var(--color-success) 32%,var(--color-background-primary));border-radius:var(--border-radius-md);padding:14px;margin-top:8px;}
.homo-badge{background:var(--color-warning-bg);color:var(--color-warning-fg);font-size:10px;padding:2px 7px;border-radius:20px;font-weight:500;vertical-align:middle;}
.arca-status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;transition:background .25s,box-shadow .25s;}
.arca-status-dot.ok{background:#52C41A;box-shadow:0 0 0 3px #D9F7BE;}
.arca-status-dot.err{background:#FF4D4F;box-shadow:0 0 0 3px #FFE7E7;}
.arca-status-dot.unk{background:#BFC3C9;}
#arca-indicator{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:var(--border-radius-md);cursor:pointer;transition:background .15s;background:var(--color-background-secondary);border:none;font-family:var(--font-sans);width:100%;box-sizing:border-box;text-align:left;}
#arca-indicator:hover{background:var(--color-background-info);}
#arca-indicator-label{font-size:11px;color:var(--color-text-secondary);}
#sidebar-info-zone{display:none;}
.sb-info-section{display:flex;flex-direction:column;gap:8px;}
.sb-dolar-card{background:var(--color-background-secondary);border-radius:var(--border-radius-md);padding:10px 14px;}
.sb-dolar-card .sb-zone-label{font-size:10px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;font-weight:500;margin-bottom:6px;}
.sb-dolar-card #dolar-widget,.sb-dolar-card #mob-dolar-widget{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.sb-dolar-card .dolar-chip{font-size:15px;padding:4px 12px;}
.sb-dolar-card .dolar-upd{display:block !important;font-size:11px;}
/* ====== CAJA ====== */
.mov-ing{background:var(--color-success-bg);color:var(--color-success-fg);font-size:11px;padding:2px 8px;border-radius:20px;}
.mov-egr{background:var(--color-danger-bg);color:var(--color-danger-fg);font-size:11px;padding:2px 8px;border-radius:20px;}
/* ====== PROVEEDORES ====== */
.prov-chip{background:var(--color-info-bg);color:var(--color-info-fg);font-size:11px;padding:2px 8px;border-radius:20px;}
/* ====== GANANCIAS ====== */
.gan-delta{font-size:11px;margin-top:4px;display:flex;align-items:center;gap:3px;}
.gan-delta.up{color:#3B6D11;}.gan-delta.down{color:#dc2626;}.gan-delta.neutral{color:var(--color-text-secondary);}
/* ====== CONDICIÓN FISCAL / FACTURAS ====== */
.cf-ri{background:var(--color-warning-bg);color:var(--color-warning-fg);}.cf-b{background:var(--color-success-bg);color:var(--color-success-fg);}
.fa-chip{background:var(--color-warning-bg);color:var(--color-warning-fg);font-size:11px;padding:3px 9px;border-radius:20px;font-weight:500;}
.fb-chip{background:var(--color-info-bg);color:var(--color-info-fg);font-size:11px;padding:3px 9px;border-radius:20px;font-weight:500;}
.ci-chip{background:var(--color-violet-bg);color:var(--color-violet-fg);font-size:11px;padding:3px 9px;border-radius:20px;font-weight:500;}
.prod-search-wrap{position:relative;margin-bottom:8px;}.psd-input-row{display:flex;gap:6px;align-items:center;}
.prod-search-drop{position:absolute;top:calc(100% + 2px);left:0;right:0;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,0.12);z-index:200;max-height:200px;overflow-y:auto;display:none;}
.prod-search-drop.open{display:block;}.psd-row{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--color-border);font-size:13px;display:flex;justify-content:space-between;align-items:center;gap:8px;}.psd-row:last-child{border-bottom:none;}.psd-row:hover,.psd-row.ps-hi{background:var(--color-background-secondary);}.psd-name{font-weight:500;flex:1;}.psd-meta{color:var(--color-text-secondary);font-size:11px;white-space:nowrap;}
.btn-ia{background:none;border:1px solid #c4b5fd;color:#7c3aed;border-radius:6px;padding:2px 7px;font-size:11px;cursor:pointer;white-space:nowrap;transition:background 0.15s;font-weight:500;}.btn-ia:hover{background:#f5f3ff;}.btn-ia:disabled{opacity:0.6;cursor:default;}
.cae-chip{background:var(--color-success-bg);color:var(--color-success-fg);font-size:11px;padding:3px 9px;border-radius:20px;font-weight:500;}
.no-cae-chip{background:var(--color-neutral-bg);color:var(--color-neutral-fg);font-size:11px;padding:3px 9px;border-radius:20px;font-weight:500;}
.borrador-chip{background:var(--color-neutral-bg);color:var(--color-neutral-fg);font-size:11px;padding:3px 9px;border-radius:20px;font-weight:500;}
.ot-cargada{background:var(--color-neutral-bg);color:var(--color-neutral-fg);}.ot-abierta{background:var(--color-info-bg);color:var(--color-info-fg);}.ot-ejecucion{background:var(--color-info-bg);color:var(--color-info-fg);}.ot-finalizada{background:var(--color-warning-bg);color:var(--color-warning-fg);}.ot-cerrada{background:var(--color-warning-bg);color:var(--color-warning-fg);}.ot-facturada{background:var(--color-success-bg);color:var(--color-success-fg);}.ot-cancelada{background:var(--color-danger-bg);color:var(--color-danger-fg);}
.ot-state-picker{position:fixed;z-index:600;background:#fff;border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.18);padding:4px;min-width:160px;}.ot-picker-item{padding:7px 12px;cursor:pointer;border-radius:6px;font-size:13px;}.ot-picker-item:hover,.ot-picker-item.cur{background:var(--color-background-secondary);}
.ot-fin-card{background:linear-gradient(135deg,#1e3a5f,#162942);color:#fff;border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.ot-fin-row{display:flex;justify-content:space-between;align-items:center;padding:2px 0;font-size:12px;color:rgba(255,255,255,0.75);}
.ot-fin-main{display:flex;justify-content:space-between;align-items:baseline;padding-top:8px;border-top:1px solid rgba(255,255,255,0.15);margin-top:6px;}
.ot-it-prod{background:var(--color-info-bg);color:var(--color-info-fg);font-size:10px;padding:1px 6px;border-radius:10px;font-weight:500;white-space:nowrap;display:inline-block;}
.ot-it-serv{background:var(--color-violet-bg);color:var(--color-violet-fg);font-size:10px;padding:1px 6px;border-radius:10px;font-weight:500;white-space:nowrap;display:inline-block;}
.ot-it-gasto{background:var(--color-warning-bg);color:var(--color-warning-fg);font-size:10px;padding:1px 6px;border-radius:10px;font-weight:500;white-space:nowrap;display:inline-block;}
.ot-it-rep{background:var(--color-success-bg);color:var(--color-success-fg);font-size:10px;padding:1px 6px;border-radius:10px;font-weight:500;white-space:nowrap;display:inline-block;}
.ot-it-emp{background:var(--color-violet-bg);color:var(--color-violet-fg);font-size:10px;padding:1px 6px;border-radius:10px;font-weight:500;white-space:nowrap;display:inline-block;}
.ot-cat-hdr{display:flex;justify-content:space-between;align-items:center;padding:8px 0 4px;margin-top:4px;font-size:12px;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-tertiary);}
.ot-cat-hdr:first-child{margin-top:0;}
.ot-new-fin{border:1px solid var(--color-border-secondary);border-radius:12px;padding:14px 16px;margin-bottom:12px;}
.ot-fin-sep{border-top:1px solid var(--color-border-secondary);margin:8px 0;}
.ot-fin-r{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:13px;}
.ot-fin-total{display:flex;justify-content:space-between;align-items:center;padding:6px 0 2px;font-size:16px;font-weight:700;}
.ot-fin-gan{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:14px;font-weight:600;}
.ot-header-card{background:var(--color-background-secondary);border-radius:14px;padding:16px 18px;margin-bottom:14px;border:1px solid var(--color-border-secondary);}
.ot-header-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;gap:8px;flex-wrap:wrap;}
.ot-header-num{font-size:22px;font-weight:700;letter-spacing:0;text-transform:uppercase;color:#F59E0B;}
.ot-header-cliente{font-size:24px;font-weight:800;color:var(--color-text-primary);margin-bottom:10px;line-height:1.2;word-break:break-word;}
.ot-header-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px;}
.ot-meta-chip{font-size:13px;color:var(--color-text-secondary);background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);padding:6px 12px;border-radius:20px;display:inline-flex;align-items:center;gap:6px;}
.ot-meta-chip i{font-size:15px;}
.ot-chip-tipo{background:var(--color-info-bg);color:var(--color-info-fg);border-color:transparent;}
.ot-chip-tecnico{background:var(--color-success-bg);color:var(--color-success-fg);border-color:transparent;}
.ot-chip-fecha{background:var(--color-neutral-bg);color:var(--color-neutral-fg);border-color:transparent;}
.ot-chip-serie{background:#3a2000;color:#fdba74;border-color:#3a2000;}
.nf-tipo-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 8px;border:2px solid var(--color-border-secondary);border-radius:10px;background:transparent;cursor:pointer;font-family:var(--font-sans);color:var(--color-text-secondary);transition:all 0.15s;width:100%;}
.nf-tipo-btn.on{color:var(--color-text-primary);}
.nf-tipo-btn:disabled{opacity:.4;cursor:not-allowed;}
.nf-tipo-letter{font-size:26px;font-weight:800;line-height:1;}
.nf-tipo-sub{font-size:10px;}
/* ── Nueva factura layout ───────────────────────────── */
#s-nf{max-width:none;}
.nf-page-hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.nf-page-title{font-size:20px;font-weight:700;color:var(--color-text-primary);}
.nf-steps{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary);}
.nf-step{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:20px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-tertiary);transition:all .15s;}
.nf-step.on{color:var(--color-accent);border-color:var(--color-accent);background:rgba(245,158,11,.08);font-weight:600;}
.nf-step.done{color:var(--color-success);border-color:transparent;background:var(--color-success-bg);}
.nf-step-sep{width:12px;height:1px;background:var(--color-border-secondary);}
.nf-header-card{background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:14px;padding:16px 18px;margin-bottom:16px;}
.nf-header-card .fg label{font-size:12px;font-weight:600;color:var(--color-text-secondary);}
.nf-client-fg{margin-bottom:10px;}
.nf-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;margin-top:12px;}
.nf-header-grid label{display:block;font-size:11px;font-weight:600;color:var(--color-text-secondary);margin-bottom:5px;}
.nf-header-grid input[type=date],.nf-header-grid select{width:100%;padding:8px 10px;border-radius:8px;border:0.5px solid var(--color-border-secondary);background:var(--color-background-primary);color:var(--color-text-primary);font-family:var(--font-sans);font-size:13px;}
.nf-tipo-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.nf-header-tipo{grid-column:1/-1;}
.nf-cc-hint{font-size:12px;color:var(--color-info);padding:8px 12px;margin-top:10px;background:var(--color-background-info);border-radius:8px;border:0.5px solid var(--color-border-info);}
.nf-client-banner{padding:10px 12px;background:var(--color-background-primary);border-radius:10px;border:0.5px solid var(--color-border-tertiary);margin-bottom:8px;}
.nf-client-banner-name{font-size:15px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px;}
.nf-client-banner-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:12px;}
.nf-client-cuit{font-family:monospace;color:var(--color-text-secondary);}
.nf-client-meta{color:var(--color-text-secondary);}
.nf-client-sug{margin-left:auto;font-size:11px;color:var(--color-accent);font-weight:600;}
.nf-ot-ref-chip{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-background-primary);border-radius:8px;margin-bottom:8px;font-size:13px;color:var(--color-text-secondary);border:0.5px dashed var(--color-border-secondary);}
.nf-ot-ref-chip i{color:var(--color-accent);font-size:15px;}
.nf-items-empty{text-align:center;padding:20px 12px;color:var(--color-text-secondary);font-size:13px;border:0.5px dashed var(--color-border-secondary);border-radius:10px;background:var(--color-background-secondary);}
.nf-items-empty i{display:block;font-size:28px;margin-bottom:8px;opacity:.35;}
.nf-items-empty small{display:block;margin-top:4px;font-size:11px;opacity:.8;}
.nf-layout{display:grid;gap:20px;align-items:start;}
.nf-ot-btn{width:100%;max-width:100%;padding:11px 16px;border-radius:10px;background:var(--color-background-primary);border:0.5px solid var(--color-border-secondary);cursor:pointer;font-size:13px;font-weight:600;color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:14px;font-family:var(--font-sans);transition:border-color .15s,background .15s;}
.nf-ot-btn:hover{border-color:var(--color-accent);color:var(--color-accent);}
.nf-items-title{margin-bottom:10px;}
.nf-item-form-card{background:var(--color-background-primary);border:0.5px solid var(--color-border-secondary);border-radius:12px;padding:14px;margin-bottom:12px;}
.nf-item-form-title{font-size:12px;font-weight:600;color:var(--color-text-secondary);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.nf-item-form-title i{color:var(--color-accent);font-size:15px;}
.nf-item-fields-grid{display:grid;grid-template-columns:54px 72px 1fr 72px 96px auto;gap:6px;align-items:end;}
.nf-add-col{align-self:end;}
.nf-add-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:35px;padding:0 12px;border-radius:8px;background:var(--color-accent);border:none;cursor:pointer;color:#000;font-size:12px;font-weight:700;font-family:var(--font-sans);white-space:nowrap;}
.nf-add-btn span{display:none;}
.nf-items-list{margin-bottom:12px;}
.nf-desc-row{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.nf-desc-row label{font-size:12px;font-weight:600;color:var(--color-text-secondary);white-space:nowrap;}
.nf-desc-row input{width:64px;text-align:center;padding:5px 6px;border-radius:7px;border:0.5px solid var(--color-border-secondary);background:var(--color-input-bg,var(--color-background-secondary));font-size:13px;color:var(--color-text-primary);}
.nf-opt{font-weight:400;color:var(--color-text-muted);font-size:11px;}
.nf-sidebar-inner{background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:14px;padding:16px;position:sticky;top:12px;}
.nf-emit-hint{font-size:12px;color:var(--color-text-secondary);min-height:18px;margin:8px 0 4px;text-align:center;}
.nf-err{color:var(--color-text-danger);font-size:13px;margin-bottom:8px;text-align:center;}
.nf-emit-actions{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.nf-emit-primary{width:100%;padding:14px 16px;border-radius:12px;background:var(--color-accent);border:none;cursor:pointer;font-size:15px;font-weight:700;color:#000;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);transition:opacity .15s,transform .1s;}
.nf-emit-primary:hover:not(:disabled){transform:translateY(-1px);}
.nf-emit-primary:disabled{opacity:.45;cursor:not-allowed;transform:none;}
.nf-emit-secondary{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.nf-emit-alt{padding:10px 8px;border-radius:10px;background:var(--color-background-primary);border:0.5px solid var(--color-border-secondary);cursor:pointer;font-size:12px;font-weight:500;color:var(--color-text-primary);display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-sans);}
.nf-emit-alt:hover:not(:disabled){border-color:var(--color-border-info);color:var(--color-text-info);}
.nf-emit-alt:disabled{opacity:.4;cursor:not-allowed;}
.nf-emit-muted{opacity:.85;}
.nf-mobile-bar{display:none;}
/* ====== PRESUPUESTOS — layout amplio e ítems en 2 filas ====== */
#s-nq .nf-item-form-card{padding:18px 20px;margin-bottom:16px;}
#s-nq .nq-header-grid{display:grid;gap:12px 16px;grid-template-columns:1fr;}
#s-nq .nq-lbl{display:block;font-size:10px;font-weight:600;color:var(--color-text-secondary);margin-bottom:5px;text-transform:uppercase;letter-spacing:.04em;}
#s-nq .nq-lbl-accent{color:var(--color-accent);}
#s-nq .nq-lbl-iva{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;}
#s-nq .nq-iva-modo{display:inline-flex;gap:3px;}
#s-nq .nq-iva-modo button{font-size:9px;padding:2px 6px;border-radius:4px;border:0.5px solid var(--color-border-secondary);background:var(--color-input-bg,#fff);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);}
#s-nq #nqi-modo-con{background:var(--color-accent);color:#000;font-weight:700;}
#s-nq .nq-inp{width:100%;background:var(--color-input-bg,#fff);border:0.5px solid var(--color-border-secondary);border-radius:8px;padding:9px 10px;font-size:14px;color:var(--color-text-primary);outline:none;box-sizing:border-box;font-family:var(--font-sans);}
#s-nq .nq-inp-qty{text-align:center;padding-left:6px;padding-right:6px;}
#s-nq .nq-inp-precio{font-size:17px;font-weight:600;text-align:right;padding:11px 14px;min-height:44px;border-color:rgba(245,158,11,.35);}
#s-nq .nq-inp-precio:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px rgba(245,158,11,.15);}
#s-nq .nq-preview{padding:11px 14px;background:var(--color-input-bg,#fff);border:0.5px solid var(--color-border-tertiary);border-radius:8px;font-size:16px;font-weight:700;color:var(--color-accent);text-align:right;min-height:44px;display:flex;align-items:center;justify-content:flex-end;}
#s-nq .nq-breakdown{font-size:12px;color:var(--color-text-secondary);min-height:18px;padding:6px 2px 0;}
#s-nq .nq-tipo-row{margin-bottom:12px;}
#s-nq .nq-tipo-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:360px;margin-top:4px;}
#s-nq .nq-cost-row{display:grid;gap:10px 14px;margin-bottom:12px;align-items:end;}
#s-nq .nq-gan{font-size:12px;min-height:44px;display:flex;align-items:center;padding-bottom:4px;}
#s-nq .nq-item-grid{display:grid;gap:12px 14px;align-items:end;}
#s-nq .nq-add-btn{width:100%;height:44px;font-size:13px;border-radius:9px;}
#s-nq .nq-add-btn span{display:inline;}
@media(min-width:640px){
  #s-nq .nq-header-grid{grid-template-columns:1.4fr 0.7fr 0.5fr;align-items:end;}
  #s-nq .nq-cost-row{grid-template-columns:1fr 1fr 1.4fr;}
  #s-nq .nq-item-grid{
    grid-template-columns:72px 120px 84px 1fr;
    grid-template-areas:
      "qty unidad bonif iva"
      "precio precio precio precio"
      "preview preview preview add";
  }
  #s-nq .nq-cell-qty{grid-area:qty;}
  #s-nq .nq-cell-unidad{grid-area:unidad;}
  #s-nq .nq-cell-bonif{grid-area:bonif;}
  #s-nq .nq-cell-iva{grid-area:iva;}
  #s-nq .nq-cell-precio{grid-area:precio;}
  #s-nq .nq-cell-preview{grid-area:preview;}
  #s-nq .nq-cell-add{grid-area:add;}
}
@media(max-width:639px){
  #s-nq .nq-item-grid{grid-template-columns:1fr 1fr;}
  #s-nq .nq-cell-precio,#s-nq .nq-cell-preview,#s-nq .nq-cell-add{grid-column:1/-1;}
}
@media(min-width:900px){
  #s-nf,#s-nq{max-width:1080px;}
  .nf-layout{grid-template-columns:1fr 300px;}
  .nf-header-grid{grid-template-columns:1.2fr 1fr 0.7fr 1.2fr;}
  .nf-header-tipo{grid-column:auto;}
  .nf-add-btn span{display:inline;}
}
@media(max-width:899px){
  .nf-sidebar-inner{position:static;}
  .nf-mobile-bar{display:flex;align-items:center;gap:10px;position:fixed;bottom:0;left:0;right:0;z-index:200;padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom));background:var(--color-background-secondary);border-top:0.5px solid var(--color-border-secondary);box-shadow:0 -4px 20px rgba(0,0,0,.15);}
  .nf-mobile-total{flex:1;font-size:18px;font-weight:800;color:var(--color-accent);}
  .nf-mobile-emit{flex:0 0 auto;padding:12px 18px;border-radius:10px;background:var(--color-accent);border:none;font-weight:700;color:#000;font-size:14px;cursor:pointer;font-family:var(--font-sans);}
  .nf-mobile-emit:disabled{opacity:.45;}
  #s-nf{padding-bottom:72px;}
  .nf-item-fields-grid{grid-template-columns:1fr 1fr;gap:8px;}
  .nf-item-fields-grid .nf-add-col{grid-column:1/-1;}
  .nf-add-btn{width:100%;height:40px;}
  .nf-add-btn span{display:inline;}
  .nf-emit-primary,.nf-emit-secondary{display:none;}
}
.nf-item-row{padding:10px 12px;border-bottom:0.5px solid var(--color-border-tertiary);}
.nf-item-row:last-child{border-bottom:none;}
.nf-field{width:100%;font-size:12px;padding:4px 6px;border:0.5px solid var(--color-border-secondary);border-radius:5px;background:var(--color-input-bg,var(--color-background-primary));color:var(--color-text-primary);font-family:var(--font-sans);}
.ot-danger-btn{background:none;border:none;padding:5px 8px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);border-radius:6px;display:inline-flex;align-items:center;gap:5px;transition:color 0.15s;}
.ot-danger-btn:hover{color:#f87171;}
.ot-header-desc{font-size:13px;color:var(--color-text-secondary);margin-bottom:6px;line-height:1.5;}
.ot-header-serie{font-size:12px;color:var(--color-text-secondary);display:flex;align-items:center;gap:5px;}
.ot-item-card{padding:10px 0;border-bottom:1px solid var(--color-border-tertiary);}
.ot-item-card:last-child{border-bottom:none;}
.ot-gan-pos{color:var(--color-success-fg);}.ot-gan-neg{color:var(--color-danger-fg);}
.ot-meta-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px;}
.ot-meta-pill{font-size:10.5px;padding:2px 8px;border-radius:6px;background:var(--color-neutral-bg);color:var(--color-neutral-fg);font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums;}
.ot-meta-pill-price{background:var(--color-warning-bg);color:var(--color-warning-fg);font-weight:600;}
.ot-meta-pill-pos{background:var(--color-success-bg);color:var(--color-success-fg);font-weight:600;}
.ot-meta-pill-neg{background:var(--color-danger-bg);color:var(--color-danger-fg);font-weight:600;}
/* ── OT dashboard layout ─────────────────────────────── */
.ot-layout{display:grid;gap:16px;}
@media(min-width:768px){.ot-layout{grid-template-columns:1fr 320px;align-items:start;}}
.ot-main{min-width:0;}
@media(max-width:767px){.ot-sidebar{order:-1;}}
@media(min-width:768px){.ot-sidebar{position:sticky;top:16px;}}
.ot-sidebar-card{background:var(--color-background-secondary);border-radius:14px;padding:18px;border:1px solid var(--color-border-secondary);}
.ot-sb-badge-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.ot-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 14px;border-radius:9999px;font-size:12px;font-weight:600;letter-spacing:.02em;}
.ot-sb-num{font-size:11px;font-weight:700;color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px;}
.ot-sb-client{font-size:20px;font-weight:800;color:var(--color-text-primary);margin-bottom:14px;line-height:1.2;}
.ot-sb-meta{display:flex;flex-direction:column;gap:8px;}
.ot-sb-meta-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-text-secondary);}
.ot-sb-meta-row i{font-size:14px;width:16px;color:var(--color-text-muted);flex-shrink:0;}
.ot-sb-desc{font-size:13px;color:var(--color-text-secondary);margin-top:14px;padding-top:14px;border-top:0.5px solid var(--color-border-tertiary);line-height:1.5;}
.ot-sb-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;padding-top:14px;border-top:0.5px solid var(--color-border-tertiary);font-size:15px;font-weight:700;}
.ot-sb-total span:first-child{font-size:12px;font-weight:500;color:var(--color-text-secondary);}
.ot-action-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.ot-act-btn{width:auto !important;padding:8px 16px;font-size:13px;}
.ot-wizard-banner{background:var(--color-background-secondary);border-radius:10px;padding:12px 14px;margin-bottom:14px;border:0.5px solid var(--color-accent);}
.ot-wizard-hint{font-size:13px;color:var(--color-text-secondary);}
.ot-status-note{margin-top:12px;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;}
.ot-status-ok{background:var(--color-success-bg);color:var(--color-success);}
.ot-status-danger{background:rgba(239,68,68,0.10);color:var(--color-text-danger);}
.ot-items-hdr{display:flex;justify-content:space-between;align-items:center;}
.ot-add-item-btn{width:auto !important;padding:6px 14px;font-size:13px;border-color:var(--color-accent) !important;color:var(--color-accent) !important;}
.ot-empty-items{font-size:13px;color:var(--color-text-secondary);padding:8px 0;}
.ot-notes-hdr{display:flex;justify-content:space-between;align-items:center;margin-top:8px;}
.ot-notes-add-btn{background:none;border:none;padding:3px 8px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);display:inline-flex;align-items:center;gap:4px;border-radius:6px;transition:color .15s;}
.ot-notes-add-btn:hover{color:var(--color-accent);}
.ot-danger-zone{margin-top:24px;border-top:0.5px solid var(--color-border-tertiary);padding-top:14px;}
.ot-danger-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:10px;}
.ot-danger-btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.ot-rep-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;}
/* ── Action bar ── */
.ot-action-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;align-items:center;}
.ot-fab-factura{margin-left:auto;}
/* ── Sidebar separadores ── */
.ot-sb-sep{display:flex;align-items:center;gap:8px;margin:14px 0 10px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);}
.ot-sb-sep::after{content:'';flex:1;height:0.5px;background:var(--color-border-tertiary);}
.ot-serie-val{font-family:monospace;font-size:12px;}
/* ── Card editar datos ── */
.ot-card-edit{cursor:default;margin-bottom:10px;}
.ot-card-edit-title{margin-top:0 !important;margin-bottom:10px !important;}
/* ── Card técnica reparación ── */
.ot-tech-card{cursor:default;margin-bottom:10px;}
.ot-tech-hdr{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:0 0 14px;}
.ot-tech-section{margin-bottom:12px;}
.ot-tech-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin-bottom:5px;}
.ot-tech-value{font-size:13px;color:var(--color-text-primary);line-height:1.5;padding:8px 12px;background:var(--color-background-secondary);border-radius:8px;border:0.5px solid var(--color-border-tertiary);}
.ot-tech-textarea{width:100%;font-size:13px;color:var(--color-text-primary);border:0.5px solid var(--color-border-secondary);border-radius:8px;padding:8px 10px;background:var(--color-background-secondary);font-family:var(--font-sans);resize:vertical;outline:none;box-sizing:border-box;}
.ot-tech-footer{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:0.5px solid var(--color-border-tertiary);}
/* ── Tabla de costos ── */
.ot-cost-table-wrap{cursor:default;padding:0 14px;margin-bottom:4px;}
.ot-cat-hdr-sep{border-top:0.5px solid var(--color-border-tertiary);margin-top:8px;padding-top:8px;}
.ot-cat-nofact{font-size:10px;opacity:.6;font-weight:400;margin-left:5px;}
.ot-cat-hdr-label{display:flex;align-items:center;gap:5px;}
.ot-cat-hdr-total{font-weight:600;}
.ot-item-card-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.ot-item-info{flex:1;min-width:0;}
.ot-item-name{font-size:14px;font-weight:500;display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:2px;}
.ot-item-qty{font-size:12px;color:var(--color-text-secondary);}
.ot-item-meta{font-size:11px;color:var(--color-text-secondary);}
.ot-item-actions{display:flex;gap:4px;flex-shrink:0;padding-top:2px;}
/* ── Resumen financiero (estilo ARCA) ── */
.ot-resumen-card{background:var(--color-background-secondary);border:1px solid var(--color-border-secondary);border-radius:12px;overflow:hidden;margin-bottom:14px;}
.ot-resumen-hdr{padding:9px 14px;background:var(--color-background);border-bottom:0.5px solid var(--color-border-secondary);display:flex;align-items:center;gap:7px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);}
.ot-resumen-hdr i{font-size:15px;color:var(--color-accent);}
.ot-resumen-row{display:flex;justify-content:space-between;align-items:center;padding:5px 14px;font-size:13px;color:var(--color-text-secondary);font-variant-numeric:tabular-nums;}
.ot-resumen-neg{color:var(--color-warning);}
.ot-resumen-emp{color:var(--color-violet-fg);}
.ot-resumen-sep{height:1px;background:var(--color-border-secondary);margin:4px 0;}
.ot-resumen-total{display:flex;justify-content:space-between;align-items:center;margin:6px 12px 8px;padding:11px 13px;background:var(--color-warning-bg);border:0.5px solid color-mix(in srgb,var(--color-warning) 25%,var(--color-background-primary));border-radius:10px;font-weight:700;}
.ot-resumen-total span:first-child{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-warning-fg);}
.ot-resumen-total span:last-child{font-size:21px;font-weight:800;color:var(--color-accent);font-variant-numeric:tabular-nums;letter-spacing:-.02em;}
.ot-resumen-muted{opacity:.75;}
.ot-resumen-gan{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;}
.ot-resumen-margen{text-align:right;padding:0 14px 10px;font-size:11px;font-weight:500;}
/* ── Comprobante vinculado ── */
.ot-linked-comp{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;cursor:pointer;}
.ot-linked-comp-label{font-size:11px;color:var(--color-text-secondary);}
.ot-linked-comp-num{font-weight:500;margin-top:2px;}
.fac-emitida{background:var(--color-info-bg);color:var(--color-info-fg);}.fac-cobrada{background:var(--color-success-bg);color:var(--color-success-fg);}.fac-anulada{background:var(--color-neutral-bg);color:var(--color-neutral-fg);}
.iva-row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;}
.iva-total{display:flex;justify-content:space-between;font-size:16px;font-weight:600;padding:8px 0;border-top:0.5px solid var(--color-border-tertiary);margin-top:4px;}
/* ====== AUTH / LOGIN ====== */
#login-overlay{position:fixed;inset:0;background:linear-gradient(135deg,#09090b,#0d0d0f);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem;}
#login-split{display:flex;width:780px;max-width:100%;min-height:520px;border-radius:18px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,0.6);}
/* LEFT — brand panel */
#login-brand{flex:1;position:relative;background:radial-gradient(120% 80% at 20% 10%,#23200f 0%,#15140d 45%,#0c0c0e 100%);display:flex;flex-direction:column;justify-content:center;gap:32px;padding:40px 38px;overflow:hidden;}
#login-brand::before{content:"";position:absolute;top:-80px;right:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(212,165,42,0.22),transparent 70%);}
#login-brand::after{content:"";position:absolute;bottom:-90px;left:-50px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(212,165,42,0.10),transparent 70%);}
#login-brand-top{position:relative;display:flex;align-items:center;gap:12px;}
#login-brand-mark{width:42px;height:42px;border-radius:11px;background:linear-gradient(135deg,#9a6e0e,#d4a52a);display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;color:#0c0a00;}
#login-brand-name{font-size:18px;font-weight:700;color:#f4f1e8;letter-spacing:.01em;}
#login-brand-mid{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;}
#login-logo{display:block;width:224px;margin:0 0 26px;filter:drop-shadow(0 4px 20px rgba(212,165,42,0.25));}
#login-brand-tag{font-size:26px;font-weight:800;color:#f4f1e8;line-height:1.25;letter-spacing:-.01em;margin-bottom:12px;}
#login-brand-desc{font-size:14px;color:#b9b2a0;line-height:1.6;max-width:330px;}
#login-brand-feats{position:relative;display:flex;gap:20px;flex-wrap:wrap;justify-content:center;}
#login-brand-feats span{display:flex;align-items:center;gap:7px;font-size:12px;color:#9a9484;}
#login-brand-feats i{color:#d4a52a;font-size:16px;}
/* RIGHT — form */
#login-box{width:360px;flex-shrink:0;background:#101216;display:flex;flex-direction:column;justify-content:center;padding:44px 40px;}
#login-welcome{font-size:22px;font-weight:700;color:#f4f4f5;margin-bottom:4px;}
#login-sub{font-size:13.5px;color:#8b93a3;margin-bottom:26px;}
.l-label{display:block;font-size:12px;font-weight:600;color:#9aa1b2;letter-spacing:.03em;margin-bottom:7px;}
.l-field{position:relative;margin-bottom:15px;}
.l-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#6b7280;font-size:17px;pointer-events:none;}
.l-eye{position:absolute;right:13px;top:50%;transform:translateY(-50%);color:#6b7280;font-size:17px;cursor:pointer;}
.l-input{display:block;width:100%;padding:13px 40px;background:#181b22;border:1px solid #2a2e3a;border-radius:10px;font-size:14px;color:#f0f0f0;outline:none;font-family:var(--font-sans);box-sizing:border-box;transition:border-color .15s,box-shadow .15s;}
.l-input:focus{border-color:#d4a52a;box-shadow:0 0 0 3px rgba(212,165,42,0.14);}
.l-input:focus + .l-eye, .l-field:focus-within .l-ico{color:#d4a52a;}
.l-input::placeholder{color:#6b7280;}
#l-err{font-size:13px;color:#f87171;text-align:center;min-height:18px;margin:4px 0;}
#login-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:6px;padding:14px 16px;background:linear-gradient(135deg,#9a6e0e,#c99015,#d4a52a);border:none;border-radius:10px;color:#0c0a00;font-size:15px;font-weight:700;cursor:pointer;font-family:var(--font-sans);}
#login-btn:active{opacity:.85;}
#login-foot{text-align:center;margin-top:22px;font-size:11.5px;color:#5b6270;}
/* Mobile — colapsa a una columna */
@media(max-width:680px){
  #login-overlay{padding:0;align-items:stretch;}
  #login-split{flex-direction:column;width:100%;min-height:100%;border-radius:0;box-shadow:none;}
  #login-brand{flex:0 0 auto;padding:46px 26px 28px;align-items:center;text-align:center;background:radial-gradient(120% 70% at 50% 0%,#23200f 0%,#15140d 50%,#0c0c0e 100%);}
  #login-brand-top,#login-brand-feats{display:none;}
  #login-logo{width:130px;margin:0 auto 12px;}
  #login-brand-tag{font-size:13px;font-weight:600;color:rgba(212,165,42,0.85);letter-spacing:.18em;text-transform:uppercase;margin-bottom:0;}
  #login-brand-desc{display:none;}
  #login-box{width:100%;flex:1;padding:28px 24px 32px;justify-content:flex-start;}
  #login-foot{margin-top:auto;}
}
/* USER IN HEADER */
#header-user{display:flex;align-items:center;gap:6px;}
.huser-name{font-size:12px;color:var(--color-text-secondary);max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.logout-btn{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:17px;padding:4px;display:flex;align-items:center;}
#sidebar-userinfo{display:none;}
/* BRAND */
#brand-wrap{display:flex;align-items:center;gap:8px;min-width:0;flex:1;}
#app-logo{height:30px;width:auto;flex-shrink:0;}
#brand-wt{font-size:14px;font-weight:600;color:var(--color-text-primary);display:none;white-space:nowrap;}
#ptitle{font-size:15px;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(min-width:768px){
  body{background:var(--color-background-secondary);}
  .app{max-width:1280px;min-height:100vh;display:flex;align-items:flex-start;background:var(--color-background-primary);box-shadow:0 0 0 0.5px var(--color-border-tertiary);}
  .sticky-top{width:240px;flex-shrink:0;min-height:100vh;position:sticky;top:0;border-bottom:none;border-right:0.5px solid var(--color-border-tertiary);display:flex;flex-direction:column;padding:1.5rem 0;overflow-y:auto;}
  .topbar{flex-direction:column;align-items:center;justify-content:flex-start;padding:1.5rem 1.25rem 1rem;}
  #brand-wrap{flex:none;width:100%;justify-content:center;margin-bottom:0;}
  .page-title{font-size:15px;font-weight:600;}
  #tbar{display:flex !important;flex-direction:column;overflow-x:visible;gap:2px;}
  #tbar .nav-group-label{padding:6px 1.25rem 3px;}
  #tbar .nav-role-bar{padding:0 1.25rem 10px;}
  .tab{display:flex;flex:none;min-width:0;text-align:left;flex-direction:row;align-items:center;gap:10px;padding:13px 1.25rem;font-size:16px;border-bottom:none;border-left:3px solid transparent;white-space:nowrap;border-radius:0 8px 8px 0;margin-right:12px;}
  .tab i{display:inline-block;font-size:20px;margin-bottom:0;flex-shrink:0;}
  .tab.on{border-bottom-color:transparent;border-left-color:var(--color-accent);background:var(--color-background-secondary);}
  .content{flex:1;min-width:0;padding:2rem 2.5rem 3rem;}
  .mgrid{grid-template-columns:repeat(5,minmax(0,1fr));}
  .quick-actions{grid-template-columns:repeat(4,minmax(0,1fr));}
  .btn-nuevo{padding:8px 16px;font-size:13px;}
  #cc-main-list{display:block;}
  #cc-main-list .card{margin-bottom:0;}
  #cc-main-list .empty{grid-column:1/-1;}
  #prod-list{display:block;}
  #s-nc,#s-np,#s-nt,#s-df,#s-config,#s-export{max-width:640px;}
  #s-nf,#s-nq{max-width:1080px;}
  .chart-container{height:300px;}
  .toast{left:calc(120px + 50%);}
  #header-user{display:none;}
  #sidebar-userinfo{display:block;margin-top:auto;padding:1.25rem;border-top:0.5px solid var(--color-border-tertiary);}
  #app-logo{height:80px;}
  #brand-wt{display:none;}
  #ptitle{display:none;}
  #sidebar-info-zone{display:flex;flex-direction:column;gap:8px;padding:10px 1rem;border-top:0.5px solid var(--color-border-tertiary);border-bottom:0.5px solid var(--color-border-tertiary);}
  #dolar-widget{display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
  #st-list{display:block;}
  #s-nst,#s-dst{max-width:640px;}
}
@media(min-width:960px){
  #r-two-col{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;align-items:start;}
}
/* ── MOBILE HAMBURGER MENU ── */
#hamburger-btn{display:none;background:none;border:none;cursor:pointer;color:var(--color-text-primary);font-size:22px;padding:4px 8px 4px 0;align-items:center;justify-content:center;line-height:1;flex-shrink:0;}
#mobile-nav-overlay{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,0.45);}
#mobile-nav-drawer{position:absolute;left:0;top:0;bottom:0;width:240px;background:var(--color-background-primary);display:flex;flex-direction:column;overflow-y:auto;box-shadow:4px 0 16px rgba(0,0,0,.18);transform:translateX(-100%);transition:transform .22s ease;}
#mobile-nav-overlay.open{display:flex;}
#mobile-nav-overlay.open #mobile-nav-drawer{transform:translateX(0);}
.mnav-header{padding:1.25rem 1.25rem 0.75rem;border-bottom:0.5px solid var(--color-border-tertiary);margin-bottom:4px;display:flex;align-items:center;gap:8px;}
.mnav-tab{display:flex;align-items:center;gap:10px;padding:12px 1.25rem;font-size:14px;color:var(--color-text-primary);cursor:pointer;border-left:3px solid transparent;white-space:nowrap;}
.mnav-tab.on{border-left-color:var(--color-accent);background:var(--color-background-secondary);}
.mnav-tab i{font-size:17px;flex-shrink:0;}
.nav-role-bar{padding:8px 1.25rem 10px;border-bottom:0.5px solid var(--color-border-tertiary);margin-bottom:4px;}
.nav-role-name{font-size:13px;font-weight:600;color:var(--color-text-primary);}
.nav-role-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);margin-top:2px;}
.nav-group{margin-bottom:8px;}
.nav-group-label{padding:8px 1.25rem 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);}
.nav-agenda-sub{margin:2px 0 4px 1.25rem;border-left:2px solid rgba(245,158,11,0.25);padding-left:4px;}
@media(max-width:767px){
  #tbar{display:none !important;}
  #hamburger-btn{display:flex;}
  .content{padding-bottom:1.5rem;}
  body{background:#e5e7eb;}
  .app{background:#e5e7eb;}
}
/* ====== TABLAS UNIFICADAS — usan variables de tema ====== */
.dtable-wrap{overflow-x:auto;border-radius:var(--radius-md);margin-bottom:1rem;background:var(--color-bg-card);box-shadow:var(--shadow-sm);border:var(--border-card);}
.dtable{width:100%;border-collapse:collapse;font-size:var(--font-size-sm);}
.dtable thead th{background:var(--color-background-secondary);color:var(--color-text-secondary);text-align:left;font-size:var(--font-size-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px 14px;border-right:0.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);white-space:nowrap;}
.dtable thead th:last-child{border-right:none;}
.dtable thead th.thl{text-align:left;}
.dtable thead th.thr{text-align:right;min-width:90px;}
.dtable tbody tr{transition:background .12s;}
.dtable tbody tr:nth-child(odd){background:var(--color-background-primary);}
.dtable tbody tr:nth-child(even){background:var(--color-bg-card);}
.dtable tbody tr:hover{background:color-mix(in srgb,var(--color-accent) 8%,var(--color-background-secondary));cursor:pointer;}
.dtable tbody tr[style*="cursor:default"]:hover{background:inherit;}
.dtable tbody td{padding:11px 14px;border-right:0.5px solid var(--color-border);color:var(--color-text-secondary);vertical-align:middle;}
.dtable tbody td:last-child{border-right:none;}
.tc-num{font-family:monospace;font-size:12px;color:var(--color-text-muted);white-space:nowrap;}
.tc-date{font-family:monospace;font-size:12px;color:var(--color-text-muted) !important;white-space:nowrap;}
.tc-amt{text-align:right !important;font-weight:600;color:var(--color-text-primary) !important;white-space:nowrap;min-width:90px;padding-right:16px !important;}
.tc-debt{text-align:right;font-weight:600;color:var(--color-danger) !important;white-space:nowrap;}
.tc-credit{text-align:right;font-weight:600;color:var(--color-success) !important;white-space:nowrap;}
.th-debe{color:var(--color-danger) !important;}
.th-haber{color:var(--color-success) !important;}
.tc-act{white-space:nowrap;vertical-align:middle;}
.tc-act-inner{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:nowrap;}
.cc-cobrar-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:700;background:var(--color-accent);color:var(--color-accent-text,#000);border:none;border-radius:8px;cursor:pointer;font-family:var(--font-sans);width:100%;}
.cc-cobrar-btn-sm{padding:5px 10px;font-size:12px;border-radius:7px;width:auto;}
.cc-cobrar-btn-main{padding:13px 16px;font-size:14px;}
.cc-cobrar-btn:active{transform:scale(.98);}
.tc-name{font-weight:500;color:var(--color-text-primary) !important;}
.tc-ctr{text-align:center;}
.dtable .icon-btn{color:var(--color-text-muted);font-size:15px;}
.dtable .icon-btn:hover{color:var(--color-text-primary);}
@media(max-width:600px){.dtm{display:none !important;}}
@media(min-width:768px){#cl-list,#tr-list,#pq-list,#rec-list,#fac-list,#st-list,#prod-list,#prov-list{display:block;}}
/* ====== SEMÁFORO CC ====== */
.sem-r{color:#ef4444;}.sem-y{color:#f59e0b;}.sem-g{color:#22c55e;}.sem-z{color:#6b7280;}
.sem-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex-shrink:0;}
.sem-dot-r{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,0.18);}
.sem-dot-y{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,0.18);}
.sem-dot-g{background:#22c55e;box-shadow:0 0 0 2px rgba(34,197,94,0.18);}
.sem-dot-z{background:#6b7280;}
.cc-comp-row{display:grid;grid-template-columns:auto 1fr auto auto auto auto;gap:6px;align-items:center;padding:10px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:13px;}
.cc-comp-row:last-child{border-bottom:none;}
.cc-imput-input{width:90px;padding:6px 8px;font-size:13px;text-align:right;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-sm);color:var(--color-text-primary);}
.cc-saldo-big{font-size:32px;font-weight:700;color:var(--color-accent);line-height:1;margin:8px 0 4px;}
.cc-saldo-tag{font-size:11px;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.06em;}
.cc-search{width:100%;margin-bottom:1rem;}
.fav-chip{background:var(--color-success-bg);color:var(--color-success-fg);font-size:11px;padding:2px 8px;border-radius:20px;font-weight:500;}
/* ====== CLIENTE PICKER ====== */
.cl-picker{position:relative;}
.cl-picker-row{display:flex;align-items:stretch;gap:6px;}
.cl-picker-row input{flex:1;min-width:0;}
.cl-add-btn{flex-shrink:0;width:40px;height:40px;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);background:var(--color-input-bg,#fff);color:var(--color-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;transition:background .15s,border-color .15s;}
.cl-add-btn:hover:not(:disabled){background:var(--color-background-info);border-color:var(--color-accent);}
.cl-add-btn:disabled{opacity:.45;cursor:not-allowed;}
.cl-quick-form{margin-top:8px;padding:12px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:10px;border-left:3px solid var(--color-accent);}
.cl-picker-drop{position:absolute;z-index:200;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);width:100%;max-height:240px;overflow-y:auto;box-shadow:0 4px 20px rgba(0,0,0,0.18);margin-top:2px;}
.cl-drop-item{padding:10px 14px;cursor:pointer;border-bottom:0.5px solid var(--color-border-tertiary);}
.cl-drop-item:last-child{border-bottom:none;}
.cl-drop-item:hover,.cl-drop-item:active{background:var(--color-background-info);}
.cl-drop-name{font-size:14px;font-weight:500;color:var(--color-text-primary);}
.cl-drop-info{font-size:12px;color:var(--color-text-secondary);margin-top:2px;}
.cl-drop-cc{color:#185FA5;font-weight:500;}
.cl-sel-badge{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-background-info);border:0.5px solid var(--color-border-info);border-radius:var(--border-radius-md);margin-top:6px;font-size:13px;}
.cl-sel-badge button{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:16px;margin-left:auto;padding:0;line-height:1;}
/* ====== ÁREA DE TRABAJO: fondos gris + campos blancos (botones sin cambio) ====== */
.content{
  --color-page-bg:#e5e7eb;
  --color-background:#ffffff;
  --color-background-primary:#eceef2;
  --color-background-secondary:#e8eaef;
  --color-bg-card:#f0f2f5;
  --color-input-bg:#ffffff;
  --color-text-primary:#111827;
  --color-text-secondary:#4b5563;
  --color-text-muted:#9ca3af;
  --color-text-danger:#dc2626;
  --color-text-info:#92400e;
  --color-border:#d1d5db;
  --color-border-secondary:#cbd5e1;
  --color-border-tertiary:#d1d5db;
  --color-border-info:#fcd34d;
  --color-border-danger:#fecaca;
  --color-background-info:#fffbeb;
  --color-background-danger:#fef2f2;
  --color-success-bg:color-mix(in srgb,var(--color-success) 12%,#f0f2f5);
  --color-warning-bg:color-mix(in srgb,var(--color-warning) 12%,#f0f2f5);
  --color-danger-bg:color-mix(in srgb,var(--color-danger) 10%,#f0f2f5);
  --color-info-bg:color-mix(in srgb,var(--color-info) 10%,#f0f2f5);
  --color-violet-bg:color-mix(in srgb,var(--color-violet) 10%,#f0f2f5);
  --color-neutral-bg:#e8eaef;
  --color-success-fg:#15803d;
  --color-warning-fg:#b45309;
  --color-danger-fg:#dc2626;
  --color-info-fg:#1d4ed8;
  --color-violet-fg:#6d28d9;
  --color-neutral-fg:#4b5563;
  --shadow-sm:0 1px 2px rgba(15,23,42,0.06);
  --shadow-md:0 4px 14px rgba(15,23,42,0.08);
  --border-card:1px solid var(--color-border-tertiary);
  background:var(--color-page-bg);
  color:var(--color-text-primary);
  min-height:100vh;
}
/* Campos de escritura siempre blancos dentro del área de trabajo */
.content input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=button]):not([type=submit]):not([type=reset]),
.content select,
.content textarea{
  background:var(--color-input-bg);
  border-color:var(--color-border-secondary);
  color:var(--color-text-primary);
}
.content .ag-search-wrap{background:var(--color-input-bg);}
.content .ag-search-wrap input{background:transparent;}
.content .cc-imput-input{background:var(--color-input-bg);}
.content .nf-header-grid input[type=date],
.content .nf-header-grid select,
.content .nf-field,
.content .nf-desc-row input,
.content #nfi-cod,
.content #nfi-qty,
.content #nfi-precio,
.content #nfi-unidad,
.content #nfi-iva,
.content #nfi-preview,
.content #nfi-search{background:var(--color-input-bg);}
.content #nfi-search{border-bottom-color:var(--color-border-secondary);}
.content .card,
.content .nf-header-card,
.content .nf-item-form-card,
.content .nf-sidebar-inner,
.content .ot-sidebar-card,
.content .metric{
  box-shadow:var(--shadow-sm);
}
.content .nf-tipo-btn{background:var(--color-input-bg);}
.content .nf-tipo-btn.on{background:color-mix(in srgb,var(--color-accent) 10%,#ffffff);}
.content .nf-ot-btn{background:var(--color-input-bg);}
.content .screen-header{border-bottom-color:var(--color-border-tertiary);}
.content .nf-page-title,
.content .screen-header h1{color:#111827;}
@media(min-width:768px){
  body{background:#e5e7eb;}
  .app{background:#e5e7eb;}
  /* -- Sidebar oscuro dorado: permanente, no cambia con el tema -- */
  .sticky-top{
    background:#1a1d27;
    border-right:none;
    color:#f0f0f0;
    --color-text-primary:#f0f0f0;
    --color-text-secondary:rgba(240,240,240,0.55);
    --color-border-tertiary:rgba(240,240,240,0.10);
    --color-border-secondary:rgba(240,240,240,0.18);
    --color-background-secondary:rgba(240,240,240,0.06);
    --color-background-primary:rgba(240,240,240,0.03);
    --color-background-info:rgba(245,158,11,0.10);
    --color-accent:#F59E0B;
  }
  #app-logo{filter:none;}
  #tbar{gap:4px;padding-top:8px;}
  .tab{color:rgba(240,240,240,0.70);border-radius:0 8px 8px 0;margin:0 12px 0 0;padding:12px 14px;font-size:14px;}
  .tab i{color:rgba(240,240,240,0.55);}
  .tab::after{display:none;}
  .tab.on{background:rgba(245,158,11,0.12);border-left-color:#F59E0B;color:#F59E0B;font-weight:600;}
  .tab.on i{color:#F59E0B;}
  .tab:hover:not(.on){background:rgba(245,158,11,0.10);}
  .sticky-top .dolar-chip{background:rgba(245,158,11,0.12);color:#F59E0B;border-radius:10px;padding:5px 12px;border:0.5px solid rgba(245,158,11,0.25);}
  .sticky-top .dolar-btn{color:rgba(240,240,240,0.55);}
  .sticky-top .dolar-upd{color:rgba(240,240,240,0.40);}
}
/* -- Mobile drawer oscuro dorado -- */
#mobile-nav-drawer{background:#1a1d27;color:#f0f0f0;--color-text-primary:#f0f0f0;--color-text-secondary:rgba(240,240,240,0.55);--color-border-tertiary:rgba(240,240,240,0.10);--color-background-secondary:rgba(240,240,240,0.06);--color-accent:#F59E0B;}
.mnav-header{border-bottom-color:rgba(240,240,240,0.10);}
.mnav-header img{filter:none;}
.mnav-tab{color:rgba(240,240,240,0.75);}
.mnav-tab i{color:rgba(240,240,240,0.55);}
.mnav-tab.on{background:rgba(245,158,11,0.12);border-left-color:#F59E0B;color:#F59E0B;font-weight:600;}
.mnav-tab.on i{color:#F59E0B;}
.mnav-tab:hover:not(.on){background:rgba(245,158,11,0.10);}
#mobile-nav-drawer .dolar-chip{background:rgba(245,158,11,0.15);color:#F59E0B;}
#mobile-nav-drawer .dolar-btn{color:rgba(240,240,240,0.55);}
#mobile-nav-drawer .sb-zone-label{color:rgba(240,240,240,0.45);}
/* -- Cards: sombra coherente -- */
.card{box-shadow:var(--shadow-sm);}
/* -- Botones de acción contextuales -- */
.btn-print{background:var(--color-success);color:#fff;border:none;font-weight:500;}
.btn-anular{background:var(--color-warning);color:#000;border:none;font-weight:500;}
.btn-borrar{background:var(--color-danger-bg);color:var(--color-text-danger);border:1px solid rgba(239,68,68,0.25);font-weight:500;}
.btn-salir{background:transparent;border:1px solid var(--color-border-secondary);color:var(--color-text-secondary);font-weight:500;}

/* ====== SCREEN HEADER — título del área de contenido ====== */
.screen-header{display:flex;align-items:baseline;gap:12px;padding-bottom:14px;margin-bottom:20px;border-bottom:1px solid var(--color-border-tertiary);}
.screen-header h1{font-size:20px;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.2;}
/* ====== SIDEBAR USER BUTTONS ====== */
.sb-user-btn{display:flex;align-items:center;gap:8px;width:100%;padding:9px 10px;background:none;border:0.5px solid var(--color-border-secondary);border-radius:var(--border-radius-md);font-size:13px;color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-sans);margin-bottom:6px;transition:background .15s,color .15s;}
.sb-user-btn:last-child{margin-bottom:0;}
.sb-user-btn:hover{background:rgba(245,158,11,0.08);color:#F59E0B;}
/* ====== COHERENCIA GLOBAL — usa variables de tema ====== */

/* Texto global con variables */
.nota-texto,.drow,.iva-row,.iva-total{color:var(--color-text-primary);}
.nota-fecha,.num-chip,.dolar-upd{color:var(--color-text-muted);}
.back{color:var(--color-text-secondary);}
.empty{color:var(--color-text-secondary);}
.page-title{color:var(--color-text-primary);font-weight:600;}

/* Formulario login — mantener tema oscuro propio */
.l-input{background:rgba(255,255,255,0.04) !important;border:1px solid rgba(245,158,11,0.50) !important;color:#f0f0f0 !important;}
.l-input:focus{border-color:rgba(245,158,11,0.85) !important;}
.l-input::placeholder{color:#9ca3af !important;}

/* Labels globales */
label:not(.tbtn):not(.mon-btn):not(.fp-btn):not(.cfg-switch){color:var(--color-text-secondary);}

/* IVA filas */
.iva-row span:first-child,.iva-total span:first-child{color:var(--color-text-secondary);}

/* Pq-banner */
.pq-banner{background:var(--color-background-info);border-color:var(--color-border-info);color:var(--color-text-info);}

/* OT header card (legacy) */
.ot-header-card{background:var(--color-bg-card);border:var(--border-card);}
.ot-header-num{color:var(--color-accent);}
.ot-header-cliente{color:var(--color-text-primary);}
/* OT sidebar card */
.ot-sidebar-card{background:var(--color-bg-card);border:var(--border-card);}
.ot-sb-num{color:var(--color-accent);}
.ot-sb-client{color:var(--color-text-primary);}
.nf-tipo-btn{border-color:var(--color-border);color:var(--color-text-secondary);}
.nf-tipo-btn.on{color:var(--color-text-primary);border-color:var(--color-accent);}
.nf-field{border-color:var(--color-border);background:var(--color-input-bg,var(--color-bg-card));color:var(--color-text-primary);}
.content .nf-field{background:var(--color-input-bg);}

/* Dropdowns de búsqueda */
.prod-search-drop{background:var(--color-bg-card);border-color:var(--color-border);}
.psd-row{color:var(--color-text-secondary);}
.psd-name{color:var(--color-text-primary);}
.psd-meta{color:var(--color-text-muted);}
.psd-row:hover,.psd-row.ps-hi{background:var(--color-background-secondary);}

/* Cliente picker */
.cl-picker-drop{background:var(--color-bg-card);border-color:var(--color-border);}
.cl-drop-name{color:var(--color-text-primary);}
.cl-drop-info{color:var(--color-text-secondary);}

/* Formas de pago */
.fp-btn{background:var(--color-bg-card);border-color:var(--color-border);color:var(--color-text-secondary);}
.fp-btn i{color:var(--color-text-muted);}
.fp-btn.sel{background:var(--color-warning-bg);border-color:var(--color-accent);color:var(--color-accent);}
.fp-btn.sel i{color:var(--color-accent);}

/* CC badge seleccionado */
.cl-sel-badge{background:var(--color-background-info);border-color:var(--color-border-info);}

/* Iform labels */
.iform label{color:var(--color-text-secondary) !important;}

/* Cbox: confirmación destructiva */
.cbox{background:var(--color-background-danger);border:1px solid var(--color-border-danger);}
.cbox p{color:var(--color-text-danger);}

/* ARCA status */
.arca-ok{background:var(--color-success-bg);border-color:rgba(34,197,94,0.3);}
.arca-err{background:var(--color-danger-bg);border-color:rgba(239,68,68,0.3);color:var(--color-text-danger);}
.cae-box{background:var(--color-success-bg);border-color:rgba(34,197,94,0.3);}

/* Garantías */
.garantia-info{background:var(--color-background-info);border-color:var(--color-border-info);color:var(--color-text-info);}
.garantia-warn{background:var(--color-warning-bg);border-color:rgba(245,158,11,0.4);color:var(--color-warning);}

/* OT fin card */
.ot-new-fin{border:var(--border-card);border-radius:var(--radius-md);}

/* Scroll de tab-bar mobile */
.tab-bar{scrollbar-width:none;}
.tab-bar::-webkit-scrollbar{display:none;}

/* Config tabs */
.cfg-tab-nav{display:flex;overflow-x:auto;gap:3px;padding:10px 12px 0;background:var(--color-background-secondary);border-bottom:1.5px solid var(--color-border-secondary);scrollbar-width:none;position:sticky;top:0;z-index:5;}
.cfg-tab-nav::-webkit-scrollbar{display:none;}
.cfg-tab-btn{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 14px 9px;font-size:12px;font-weight:500;color:var(--color-text-primary);background:none;border:none;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1.5px;transition:color .15s,background .15s;font-family:var(--font-sans);white-space:nowrap;border-radius:8px 8px 0 0;}
.cfg-tab-btn i{font-size:19px;}
.cfg-tab-btn.on{background:#F59E0B;color:#000 !important;border-bottom-color:#F59E0B;font-weight:700;}
.cfg-tab-btn.on i{color:#000 !important;}
.cfg-tab-btn:hover:not(.on){background:rgba(255,255,255,0.06);color:var(--color-text-primary);}
.cfg-tab-content{padding:14px 14px 40px;}
.cfg-card{background:var(--color-background-secondary);border:1px solid var(--color-border-secondary);border-radius:12px;padding:16px;margin-bottom:14px;}
.cfg-card-title{font-size:12px;font-weight:700;color:var(--color-accent);margin-bottom:14px;display:flex;align-items:center;gap:8px;letter-spacing:.06em;text-transform:uppercase;}
.cfg-card-title i{font-size:15px;color:var(--color-accent);}
.cfg-card p,.cfg-card label{color:var(--color-text-secondary);}
.cfg-save-btn{background:#F59E0B;color:#000;border:none;border-radius:9px;padding:13px 20px;font-size:14px;font-weight:700;cursor:pointer;width:100%;font-family:var(--font-sans);display:flex;align-items:center;justify-content:center;gap:8px;}
.cfg-save-btn:active{opacity:.85;}
.cfg-cloud-card{border:1px solid var(--color-border-secondary);border-radius:10px;padding:12px 14px;margin-bottom:10px;background:var(--color-background-secondary);}
.cfg-cloud-status-wrap{margin-bottom:12px;}
.cfg-cloud-status-row{display:flex;flex-wrap:wrap;gap:8px;}
.cloud-panel-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.cloud-panel-status{flex:1;min-width:0;}
.cloud-panel-chip{background:var(--color-background-primary);}
.cloud-panel-actions{display:flex;gap:5px;flex-shrink:0;}
.cloud-panel-btn{padding:6px 10px!important;font-size:12px!important;}
.cloud-panel-connect-btn{background:var(--color-accent);color:var(--color-accent-text);border:none;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:700;cursor:pointer;font-family:var(--font-sans);white-space:nowrap;flex-shrink:0;}
.cloud-panel-connect-btn:hover{filter:brightness(1.05);}
.cloud-panel-full-btn{padding:6px 10px!important;font-size:12px!important;margin-top:6px;width:100%;}
.cloud-panel-files{margin-top:4px;}
.cloud-panel-loading,.cloud-panel-empty,.cloud-panel-err{font-size:12px;color:var(--color-text-secondary);}
.cloud-panel-err{color:var(--color-text-danger);}
.cloud-creds-hint{font-size:11px;color:var(--color-text-secondary);margin-bottom:8px;line-height:1.45;}
.cloud-creds-hint code{font-size:10px;color:var(--color-accent);}
.cloud-file-row{display:flex;align-items:center;justify-content:space-between;padding:6px 0;border-bottom:0.5px solid var(--color-border-tertiary);font-size:12px;}
.cloud-file-row .ti-database{color:var(--color-accent);margin-right:4px;}
.cfg-accordion-toggle{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-text-secondary);cursor:pointer;margin-top:10px;padding-top:8px;border-top:1px solid var(--color-border-secondary);user-select:none;}
.cfg-accordion-toggle:hover{color:#F59E0B;}
.cfg-creds-inner{background:#252840;border-radius:8px;padding:12px;margin-top:8px;}
.cfg-switch{position:relative;display:inline-block;width:40px;height:22px;flex-shrink:0;}
.cfg-switch input{opacity:0;width:0;height:0;}
.cfg-switch-slider{position:absolute;inset:0;background:#444860;border-radius:22px;transition:.2s;}
.cfg-switch input:checked+.cfg-switch-slider{background:#F59E0B;}
.cfg-switch-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;}
.cfg-switch input:checked+.cfg-switch-slider:before{transform:translateX(18px);}
.cfg-modulo-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border-secondary);font-size:14px;color:var(--color-text-primary);}
.cfg-modulo-row:last-child{border-bottom:none;}
.cfg-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px;}
.cfg-theme-card{border:2px solid var(--color-border-secondary);border-radius:12px;padding:14px;cursor:pointer;transition:border-color .15s;}
.cfg-theme-card.on{border-color:#F59E0B;box-shadow:0 0 0 1px #F59E0B;}
.cfg-theme-swatch{height:8px;border-radius:4px;margin-bottom:10px;}
.cfg-theme-name{font-size:13px;font-weight:600;margin-bottom:3px;}
.cfg-theme-accent{font-size:11px;opacity:.7;}
.cfg-bak-row{display:flex;align-items:center;height:36px;border-bottom:1px solid var(--color-border-secondary);}
.cfg-bak-row:last-child{border-bottom:none;}
.cfg-bak-lbl{flex:1;font-size:12px;color:var(--color-text-secondary);}
.cfg-bak-btn{width:90px;flex-shrink:0;padding:7px 0;min-height:32px;font-size:11px;font-weight:600;background:#2a2d3a;color:#e0e0e0;border:1px solid #444;border-radius:6px;cursor:pointer;text-align:center;font-family:var(--font-sans);}
.cfg-bak-btn:hover{background:#363a4e;}
.cfg-bak-all{background:transparent;border:1px solid #F59E0B;color:#F59E0B;border-radius:6px;padding:6px 0;font-size:12px;font-weight:600;cursor:pointer;width:100%;font-family:var(--font-sans);margin-top:6px;}
/* ====== Agenda unificada (móvil-first) ====== */
#s-agenda{padding:0;margin:0 -4px;}
.nav-agenda-badge{background:var(--color-accent);color:#000;border-radius:20px;padding:0 6px;font-size:10px;font-weight:700;margin-left:6px;min-width:18px;text-align:center;line-height:18px;display:inline-block;}
.ag-hub-top{position:sticky;top:0;z-index:20;background:var(--color-page-bg,var(--color-background,#e5e7eb));padding:0 4px 10px;margin-bottom:4px;border-bottom:0.5px solid var(--color-border-tertiary);}
.ag-hub-title-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.ag-hub-title{margin:0;font-size:18px;font-weight:700;}
.ag-hub-actions{display:flex;gap:6px;}
.ag-hub-act{width:40px;height:40px;border-radius:10px;border:0.5px solid var(--color-border-secondary);background:var(--color-background-secondary);color:var(--color-text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;}
.ag-hub-act-primary{background:var(--color-accent);color:var(--color-accent-text,#000);border-color:transparent;}
.ag-hub-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;}
.ag-hub-tab{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;border-radius:10px;border:none;background:var(--color-background-secondary);color:var(--color-text-secondary);font-size:10px;font-weight:600;cursor:pointer;font-family:var(--font-sans);position:relative;}
.ag-hub-tab i{font-size:17px;}
.ag-hub-tab.on{background:color-mix(in srgb,var(--color-accent) 18%,var(--color-background-secondary));color:var(--color-accent);}
.ag-hub-badge{position:absolute;top:4px;right:6px;background:var(--color-accent);color:#000;border-radius:10px;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;line-height:16px;}
.ag-search-wrap{display:flex;align-items:center;gap:8px;margin-top:10px;padding:8px 12px;border-radius:10px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);}
.ag-search-wrap i{color:var(--color-text-muted);font-size:16px;}
.ag-search-wrap input{flex:1;border:none;background:transparent;font-size:14px;color:var(--color-text-primary);outline:none;font-family:var(--font-sans);}
.ag-hub-content{padding:4px 2px 24px;}
.ag-section{margin-bottom:14px;}
.ag-section-hdr{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:8px;padding:0 4px;}
.ag-section-hdr i{color:var(--color-accent);}
.ag-section-cnt{background:var(--color-background-secondary);border-radius:10px;padding:1px 7px;font-size:11px;}
.ag-section-warn .ag-section-hdr{color:var(--color-text-danger,#ef4444);}
.ag-section-warn .ag-section-hdr i{color:var(--color-text-danger,#ef4444);}
.ag-empty-inline{text-align:center;padding:20px 12px;font-size:13px;color:var(--color-text-secondary);}
.ag-link-btn{background:none;border:none;color:var(--color-accent);font-size:11px;font-weight:600;cursor:pointer;margin-left:auto;padding:0;font-family:var(--font-sans);}
.ag-item{display:flex;align-items:stretch;gap:0;margin-bottom:8px;border-radius:12px;background:var(--color-bg-card,var(--color-background-secondary));border:0.5px solid var(--color-border-secondary);overflow:hidden;cursor:pointer;transition:transform .12s,box-shadow .12s;}
.ag-item:active{transform:scale(.985);}
.ag-item-stripe{width:4px;flex-shrink:0;}
.ag-st-agendada .ag-item-stripe{background:#3b82f6;}
.ag-st-sinfecha .ag-item-stripe{background:#6b7280;}
.ag-st-realizada .ag-item-stripe{background:#10b981;opacity:.7;}
.ag-st-cancelada .ag-item-stripe{background:#9ca3af;opacity:.5;}
.ag-st-curso .ag-item-stripe{background:#f59e0b;}
.ag-st-vencida .ag-item-stripe{background:#ef4444;}
.ag-st-pendiente .ag-item-stripe{background:#8b5cf6;}
.ag-item-body{flex:1;min-width:0;padding:10px 10px 10px 8px;}
.ag-item-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;}
.ag-item-fecha{font-size:11px;font-weight:600;color:var(--color-text-secondary);}
.ag-item-st{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:2px 6px;border-radius:6px;background:var(--color-background-primary);}
.ag-st-agendada .ag-item-st{color:#3b82f6;}
.ag-st-vencida .ag-item-st{color:#ef4444;}
.ag-st-pendiente .ag-item-st{color:#8b5cf6;}
.ag-item-client{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ag-item-desc{font-size:12px;color:var(--color-text-secondary);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ag-item-meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:6px;}
.ag-prio{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;}
.ag-prio-u{background:rgba(239,68,68,.15);color:#ef4444;}
.ag-prio-p{background:rgba(59,130,246,.15);color:#3b82f6;}
.ag-vencida-tag{font-size:10px;font-weight:700;color:#ef4444;}
.ag-ot-link{font-size:11px;color:var(--color-accent);font-weight:600;}
.ag-item-acts{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 6px 6px 0;border-left:0.5px solid var(--color-border-tertiary);}
.ag-quick-btn{width:36px;height:36px;border:none;border-radius:8px;background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:17px;}
.ag-quick-ok{color:#10b981;}
.ag-quick-cal{color:#3b82f6;}
.ag-quick-del{color:var(--color-text-danger,#ef4444);}
.ag-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding:0 4px;}
.ag-cal-arrow{width:36px;height:36px;border-radius:10px;border:0.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ag-cal-label{font-size:12px;font-weight:600;color:var(--color-text-secondary);}
.ag-week-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:12px;}
.ag-week-day{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:10px;border:0.5px solid var(--color-border-secondary);background:var(--color-background-secondary);cursor:pointer;font-family:var(--font-sans);position:relative;}
.ag-week-day.sel{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-background-secondary));}
.ag-week-day.today .ag-week-num{color:var(--color-accent);font-weight:800;}
.ag-week-dow{font-size:9px;text-transform:uppercase;color:var(--color-text-muted);font-weight:600;}
.ag-week-num{font-size:15px;font-weight:600;}
.ag-week-dot{position:absolute;top:4px;right:4px;background:var(--color-accent);color:#000;border-radius:8px;min-width:14px;height:14px;font-size:9px;font-weight:700;line-height:14px;text-align:center;}
.ag-week-day.drag-over{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 22%,var(--color-background-secondary));box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 35%,transparent);}
.ag-item-draggable{cursor:grab;}
.ag-item-draggable:active{cursor:grabbing;}
.ag-item-dragging{opacity:.55;transform:scale(.98);box-shadow:0 4px 14px rgba(0,0,0,.12);}
.ag-dnd-hint{margin-left:auto;font-size:10px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--color-text-muted);}
.ag-quick-ord{color:var(--color-text-muted);}
.ag-quick-ord:disabled{opacity:.35;cursor:default;pointer-events:none;}
.ag-pend-grip{cursor:grab;display:flex;align-items:center;justify-content:center;min-width:22px;touch-action:none;-webkit-user-select:none;user-select:none;}
.ag-pend-grip:active{cursor:grabbing;}
.ag-pend-grip i{font-size:15px;opacity:.55;color:inherit;}
.ag-item-drop-before{box-shadow:inset 0 3px 0 var(--color-accent);}
.ag-item-drop-after{box-shadow:inset 0 -3px 0 var(--color-accent);}
.ag-lista-filtros{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;padding:0 2px;}
.ag-sheet-overlay{position:fixed;inset:0;z-index:10000;background:rgba(15,23,42,.45);display:flex;align-items:flex-end;justify-content:center;padding:0;}
.ag-sheet{background:#f0f2f5;border-radius:16px 16px 0 0;width:100%;max-width:520px;padding:18px 16px calc(18px + env(safe-area-inset-bottom));animation:agSheetUp .22s ease;color:#111827;}
@keyframes agSheetUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.ag-sheet-hdr{display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;margin-bottom:6px;color:#111827;}
.ag-sheet-hdr button{background:none;border:none;font-size:20px;cursor:pointer;color:#4b5563;padding:4px;}
.ag-sheet-sub{font-size:13px;color:#4b5563;margin-bottom:14px;line-height:1.4;}
.ag-sheet-btn{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;margin-bottom:8px;border-radius:12px;border:0.5px solid #cbd5e1;background:#e8eaef;font-size:14px;font-weight:600;cursor:pointer;text-align:left;font-family:var(--font-sans);color:#111827;}
.ag-sheet-btn i{font-size:18px;}
.ag-sheet-primary{background:color-mix(in srgb,#F59E0B 15%,#e8eaef);border-color:#F59E0B;color:#b45309;}
.ag-sheet-muted{background:transparent;border-color:transparent;color:#6b7280;justify-content:center;}
.ag-sheet-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;}
.ag-sheet-quick button{padding:12px 8px;border-radius:10px;border:0.5px solid #cbd5e1;background:#e8eaef;font-size:13px;font-weight:600;cursor:pointer;font-family:var(--font-sans);color:#111827;}
.ag-sheet-fecha{margin-bottom:12px;}
.ag-sheet-fecha label{font-size:12px;font-weight:600;color:#4b5563;}
.ag-sheet-fecha input[type=date]{width:100%;margin-top:6px;padding:10px;border-radius:10px;border:0.5px solid #cbd5e1;background:#ffffff;font-family:var(--font-sans);color:#111827;}
@media(min-width:900px){
  #s-agenda{margin:0;}
  .ag-hub-top{top:72px;}
  .ag-item-acts{flex-direction:row;padding:8px;}
  .ag-hub-tabs{max-width:480px;}
}
.cfg-bak-all:hover{background:rgba(245,158,11,.1);}
/* ====== LAYOUT DESKTOP (≥900px) — debe estar al final para ganar cascada ====== */
@media(min-width:900px){
  /* 1. Reset layout 768px: .app vuelve a ser bloque normal con espacio para topbar fijo */
  .app{ display:block !important; max-width:100% !important; padding-top:72px; margin:0; min-height:100vh; }

  /* 2. Sticky-top se convierte en topbar horizontal fijo */
  .sticky-top{
    position:fixed !important;
    top:0; left:0; right:0;
    height:72px;
    min-height:auto !important;
    width:auto !important;
    flex-direction:row !important;
    display:flex;
    align-items:center;
    padding:0 !important;
    overflow:visible;
    border-bottom:0.5px solid rgba(240,240,240,0.18) !important;
    border-right:none !important;
    z-index:200;
    background:#1a1d27 !important;
  }

  /* 3. Topbar: logo a la izquierda con ancho del sidebar */
  .topbar{
    flex-direction:row !important;
    padding:0 20px !important;
    width:240px !important;
    flex-shrink:0 !important;
    height:72px;
    justify-content:flex-start !important;
    border-bottom:none !important;
    border-right:0.5px solid rgba(240,240,240,0.18);
    display:flex;
    align-items:center;
    gap:12px;
  }

  /* 4. Logo en topbar: altura fija, sin recortes */
  #topbar-logo-wrap{
    display:flex;
    align-items:center;
    flex-shrink:0;
  }
  #topbar-logo-wrap #app-logo{
    height:46px;
    width:auto;
    max-width:none;
    max-height:46px;
    object-fit:contain;
    clip-path:none;
    position:static;
  }

  /* 5. Ocultar elementos mobile que no van en desktop */
  #tbar{ display:none !important; }
  #sidebar-info-zone{ display:none !important; }
  #sidebar-userinfo{ display:none !important; }
  #hamburger-btn{ display:none !important; }
  #mobile-nav-overlay{ display:none !important; }
  #ptitle{ display:none; }
  #header-user{ display:none !important; }

  /* 6. Info zone (dólar, usuario) en el topbar a la derecha */
  #dt-topbar-info{
    display:flex !important;
    align-items:center;
    gap:16px;
    flex:1;
    padding:0 20px;
    font-size:13px;
    color:var(--color-text-secondary);
    overflow:visible;
    position:relative;
  }

  /* 7. Grid interno: sidebar 240px + contenido */
  #desktop-layout{
    display:grid;
    grid-template-columns:240px 1fr;
    min-height:calc(100vh - 72px);
  }

  /* 8. Sidebar vertical */
  #desktop-sidebar{
    position:sticky;
    top:72px;
    height:calc(100vh - 72px);
    overflow-y:auto;
    border-right:0.5px solid rgba(240,240,240,0.18);
    background:#1a1d27;
    padding:16px 0;
  }
  .desktop-tab{
    display:flex; align-items:center; gap:10px;
    padding:11px 20px; font-size:13px;
    color:rgba(240,240,240,0.70);
    cursor:pointer;
    border-left:3px solid transparent;
    transition:background .15s,color .15s,border-color .15s;
    white-space:nowrap;
  }
  .desktop-tab:hover{ background:rgba(245,158,11,0.10); color:#F59E0B; }
  .desktop-tab.on{ background:rgba(245,158,11,0.12); border-left-color:transparent; color:#F59E0B; font-weight:600; border-radius:10px; margin:0 8px; padding:11px 12px; }
  .desktop-tab.on i{ color:#F59E0B; }
  .desktop-tab i{ font-size:17px; flex-shrink:0; }
  .nav-role-bar{padding:0 16px 12px;margin-bottom:4px;border-bottom:0.5px solid rgba(240,240,240,0.12);}
  .nav-role-name{font-size:13px;font-weight:600;color:rgba(240,240,240,0.9);}
  .nav-role-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:rgba(245,158,11,0.85);margin-top:2px;}
  .nav-group{margin-bottom:10px;}
  .nav-group-label{padding:6px 20px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:rgba(240,240,240,0.35);}
  .nav-agenda-sub{margin:2px 0 4px 12px;border-left:2px solid rgba(245,158,11,0.25);padding-left:4px;}

  /* 9. Contenido principal */
  .content{ padding:24px 32px 3rem !important; min-height:calc(100vh - 72px); }

  /* 10. Misc */
  .mgrid{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .sb-dolar-card{ display:flex; flex-direction:row; align-items:center; gap:8px; background:none; padding:0; }
  .sb-zone-label{ display:none; }

  /* 11. Marca en topbar */
  #brand-wrap{ gap:0; }
  #topbar-logo-wrap{ display:none !important; }
  #brand-wt{ display:inline-flex !important; align-items:center; font-family:'Sora',sans-serif; font-size:22px; font-weight:800; letter-spacing:-0.5px; }
  #brand-wt .bw-1{ color:#f4f1e8; }
  #brand-wt .bw-2{ color:#d4a52a; }
  #brand-wt .bw-pill{ margin-left:9px; font-family:var(--font-sans); font-size:10px; font-weight:700; color:#b89548; background:rgba(212,165,42,0.12); border:0.5px solid rgba(212,165,42,0.28); border-radius:20px; padding:3px 9px; letter-spacing:0.08em; line-height:1; }

  /* 12. ARCA compacto en topbar */
  #arca-indicator{ display:flex; align-items:center; gap:6px; padding:5px 12px; border-radius:10px; background:rgba(240,240,240,0.06); border:0.5px solid rgba(240,240,240,0.12); cursor:pointer; white-space:nowrap; width:auto; }
  #dt-topbar-info .av{ width:34px; height:34px; border-radius:28%; border:1.5px solid rgba(212,175,55,0.45); font-size:14px; font-weight:700; }
  #arca-indicator-label{ display:none; }
  #arca-indicator .ti-chevron-right{ display:none; }
}

/* ── Modo solo lectura (sesión inactiva) ─────────────────────────────────── */
body.modo-lectura .btn.bp,
body.modo-lectura .cobro-confirm-btn {
  opacity: 0.4;
  pointer-events: none;
}
body.modo-lectura .cc-cobrar-btn {
  opacity: 0.4;
  pointer-events: none;
}
.sync-status-chip{position:fixed;bottom:12px;left:12px;z-index:9990;font-size:11px;font-weight:600;padding:6px 10px;border-radius:20px;background:var(--color-background-secondary);border:0.5px solid var(--color-border-secondary);color:var(--color-text-secondary);display:flex;align-items:center;gap:5px;box-shadow:0 2px 8px rgba(0,0,0,.12);pointer-events:none;font-family:var(--font-sans);}
.sync-status-chip i{font-size:13px;}
.sync-status-chip.sync-ok{color:#10b981;border-color:rgba(16,185,129,.35);}
.sync-status-chip.sync-syncing,.sync-status-chip.sync-stale{color:var(--color-accent);}
.sync-status-chip.sync-offline{color:#ef4444;border-color:rgba(239,68,68,.35);}
body.modo-lectura .sync-status-chip{bottom:52px;}
body.modo-lectura #sesion-banner button {
  opacity: 1 !important;
  pointer-events: auto !important;
}