/* ===== SUPLEVET REDESIGN — DESIGN SYSTEM ===== */
:root{
  /* Brand core */
  --brand:#253C61; --brand2:#1a2d4a; --brand3:#344f7a;
  --sky:#99D3DA; --sky2:#b8e2e7; --sky3:#d6f0f3; --sky4:#eaf7f9;
  --orange:#EA8C43; --orange2:#f5a568; --orange3:#fde8d4; --orange-d:#c0641e;
  /* Warm palette (from redesign refs) */
  --cream:#FBF5EC; --sand:#F5EBD9; --peach:#FFD8B8;
  --leaf:#4B8B6B; --leaf-l:#dff0e4;
  --rose:#D95B6A; --rose-l:#fde0e3;
  /* Neutrals */
  --gry:#FBF5EC; --wh:#fff;
  --td:#1a2535; --tm:#4a5568; --tl:#718096;
  --bd:#e6e1d7; --bd2:#d4cec5;
  --ok:#2d7a3a; --ok-bg:#e8f5ea; --ok-b:#a3d9a8;
  --er:#c0392b; --er-bg:#fdf0ef; --er-b:#f5b7b1;
  --warn:#92400e; --warn-bg:#fffbeb; --warn-b:#fcd34d;
  /* Layout */
  --r:10px; --rl:14px; --rxl:20px;
  --sh:0 1px 3px rgba(37,60,97,.07),0 1px 2px rgba(37,60,97,.05);
  --sh2:0 8px 28px rgba(37,60,97,.12),0 2px 6px rgba(37,60,97,.06);
  --sh3:0 20px 50px rgba(37,60,97,.18);
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;}
html{font-size:15px;line-height:1.45;}
body{font-family:"DM Sans",system-ui,sans-serif;color:var(--td);min-height:100vh;
  background:var(--cream);
  background-image:linear-gradient(160deg,#ffffff 0%,#ffffff 30%,#d6eef1 70%,#99D3DA 100%);
  background-attachment:fixed;}
h1,h2,h3,.display{font-family:"Bebas Neue",sans-serif;letter-spacing:.5px;font-weight:400;}
.serif{font-family:"Instrument Serif",serif;font-style:italic;font-weight:400;letter-spacing:-.01em;}

/* ===== LOGIN ===== */
.login-screen{position:fixed;inset:0;background:linear-gradient(135deg,var(--brand) 0%,var(--brand3) 60%,#1e6e77 100%);display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;}
.login-card{background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-radius:24px;padding:2.8rem 2.2rem;width:100%;max-width:370px;text-align:center;box-shadow:var(--sh3);}
.login-logo{width:74px;height:74px;border-radius:16px;object-fit:contain;margin:0 auto 1.2rem;display:block;}
.login-title{font-family:"Bebas Neue",sans-serif;font-size:30px;letter-spacing:1.5px;color:var(--brand);margin-bottom:2px;}
.login-sub{font-size:12px;color:var(--tl);margin-bottom:1.8rem;font-family:"Instrument Serif",serif;font-style:italic;}
.login-field{display:flex;flex-direction:column;gap:5px;text-align:left;margin-bottom:1rem;}
.login-field label{font-size:11px;font-weight:700;color:var(--tm);text-transform:uppercase;letter-spacing:.5px;}
.login-field input{padding:.65rem .9rem;border:2px solid var(--bd);border-radius:var(--r);font-size:14px;font-family:"DM Sans",sans-serif;outline:none;transition:all .18s;width:100%;background:var(--cream);}
.login-field input:focus{border-color:var(--sky);box-shadow:0 0 0 4px rgba(153,211,218,.2);background:#fff;}
.login-btn{width:100%;padding:.78rem;background:var(--brand);color:#fff;border:none;border-radius:var(--r);font-size:14px;font-weight:700;font-family:"DM Sans",sans-serif;cursor:pointer;transition:all .15s;margin-top:.5rem;letter-spacing:.3px;}
.login-btn:hover{background:var(--brand3);transform:translateY(-1px);box-shadow:0 4px 14px rgba(37,60,97,.35);}
.login-error{background:var(--er-bg);color:var(--er);border:1px solid var(--er-b);border-radius:var(--r);padding:.55rem .85rem;font-size:12px;margin-top:.75rem;display:none;}
.login-error.show{display:block;}
.login-info{background:var(--sky4);border:1px solid var(--sky);border-radius:var(--r);padding:.55rem .85rem;font-size:12px;color:#1e6e77;margin-top:.75rem;display:none;}
.login-info.show{display:block;}
.login-remember{display:flex;align-items:center;gap:8px;margin-top:.8rem;font-size:12px;color:var(--tm);cursor:pointer;justify-content:center;}
.login-remember input{width:auto;}
.login-footer{margin-top:1.5rem;font-size:11px;color:var(--tl);}

/* ===== SIDEBAR ===== */
.sidebar{position:fixed;top:0;left:0;bottom:0;width:232px;background:var(--brand);display:flex;flex-direction:column;z-index:100;box-shadow:4px 0 24px rgba(26,45,74,.2);}
.sb-logo{padding:1.3rem 1.1rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);}
.sb-logo-row{display:flex;align-items:center;gap:11px;}
.sb-ic img{width:38px;height:38px;object-fit:contain;border-radius:9px;display:block;}
.sb-nm{font-family:"Bebas Neue",sans-serif;font-size:23px;color:#fff;letter-spacing:1.5px;line-height:1;}
.sb-sb{font-size:10px;color:var(--sky);margin-top:2px;letter-spacing:.5px;}
.sb-user{padding:.8rem 1.1rem;border-bottom:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.05);}
.sb-user-name{font-size:13px;font-weight:700;color:#fff;}
.sb-user-role{font-size:10px;color:var(--sky);margin-top:2px;font-family:"Instrument Serif",serif;font-style:italic;}
.nav-sec{padding:.9rem .75rem .2rem;flex:1;overflow-y:auto;}
.nav-lbl{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(153,211,218,.45);font-weight:700;padding:0 .5rem;margin-bottom:4px;}
.nav-item{display:flex;align-items:center;gap:10px;padding:.52rem .75rem;border-radius:var(--r);cursor:pointer;color:rgba(255,255,255,.65);font-size:13px;font-weight:500;margin-bottom:2px;transition:all .15s;position:relative;}
.nav-item:hover{background:rgba(255,255,255,.07);color:#fff;}
.nav-item.active{background:rgba(153,211,218,.14);color:#fff;}
.nav-item.active::before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;background:var(--orange);border-radius:0 3px 3px 0;}
.ni{font-size:15px;width:18px;text-align:center;flex-shrink:0;opacity:.9;}
.sb-foot{padding:.9rem 1.1rem;border-top:1px solid rgba(255,255,255,.08);}
.sb-foot p{color:rgba(153,211,218,.4);font-size:10px;}
.logout-btn{display:flex;align-items:center;gap:8px;padding:.48rem .75rem;border-radius:var(--r);cursor:pointer;color:rgba(255,130,130,.8);font-size:12.5px;font-weight:500;margin-bottom:7px;transition:all .15s;background:none;border:none;width:100%;font-family:"DM Sans",sans-serif;}
.logout-btn:hover{background:rgba(255,100,100,.1);color:rgba(255,130,130,1);}

/* ===== MAIN CONTENT ===== */
.main{margin-left:232px;padding:1.6rem 2rem;min-height:100vh;}

/* ===== PAGE HEADER ===== */
.page{display:none;animation:fadeIn .3s ease;}.page.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(5px);}to{opacity:1;transform:translateY(0);}}
.ph{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:1.5rem;flex-wrap:wrap;gap:12px;}
.ph-l .kicker{font-size:11px;color:var(--orange-d);font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.pt{font-family:"Bebas Neue",sans-serif;font-size:38px;letter-spacing:.5px;color:var(--brand);line-height:1;}
.ps{font-size:13px;color:var(--tl);margin-top:4px;}
.ps em{font-style:normal;color:var(--brand);font-weight:600;}

/* ===== STAT CARDS (small) ===== */
.sg{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:1.3rem;}
.sc{background:var(--wh);border-radius:var(--rl);border:1px solid rgba(230,225,215,.8);padding:.95rem 1.1rem;box-shadow:var(--sh);position:relative;overflow:hidden;}
.sc::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--sky),var(--brand3));}
.sl{font-size:10px;color:var(--tl);font-weight:700;margin-bottom:5px;letter-spacing:.6px;text-transform:uppercase;}
.sv{font-size:26px;font-weight:700;font-family:"Bebas Neue",sans-serif;letter-spacing:.5px;}
.ss{font-size:11px;color:var(--tl);margin-top:2px;}
.sv-b{color:var(--brand);}.sv-s{color:#1e8a94;}.sv-o{color:var(--orange);}.sv-g{color:var(--ok);}.sv-r{color:var(--er);}.sv-w{color:#d97706;}

/* ===== CARDS ===== */
.card{background:var(--wh);border-radius:var(--rl);border:1px solid rgba(230,225,215,.8);box-shadow:var(--sh);margin-bottom:1.2rem;}
.ch{display:flex;align-items:center;justify-content:space-between;padding:.95rem 1.2rem;border-bottom:1px solid var(--bd);}
.ct{font-family:"Bebas Neue",sans-serif;font-size:17px;letter-spacing:.5px;color:var(--brand);}
.cs{font-size:12px;color:var(--tl);}
.cb{padding:1.2rem;}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:5px;padding:.48rem 1rem;border-radius:var(--r);font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .15s;font-family:"DM Sans",sans-serif;letter-spacing:.1px;}
.btn:active{transform:scale(.97);}.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn-p{background:var(--brand);color:#fff;}.btn-p:hover:not(:disabled){background:var(--brand3);box-shadow:0 3px 12px rgba(37,60,97,.3);}
.btn-sk{background:var(--sky);color:var(--brand);font-weight:700;}.btn-sk:hover:not(:disabled){background:var(--sky2);}
.btn-s{background:var(--cream);color:var(--td);border:1.5px solid var(--bd2);}.btn-s:hover:not(:disabled){background:var(--sand);}
.btn-d{background:var(--er-bg);color:var(--er);border:1px solid var(--er-b);}
.btn-ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-b);}
.btn-sm{padding:.28rem .65rem;font-size:11.5px;}

/* ===== FORMS ===== */
.row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:11px;}.fg .full{grid-column:1/-1;}
.fg3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:11px;}.fg3 .full{grid-column:1/-1;}
.fgr{display:flex;flex-direction:column;gap:5px;}
label{font-size:11px;font-weight:700;color:var(--tm);text-transform:uppercase;letter-spacing:.4px;}
input,select,textarea{padding:.5rem .8rem;border:2px solid var(--bd);border-radius:var(--r);font-size:13px;font-family:"DM Sans",sans-serif;color:var(--td);background:var(--cream);outline:none;transition:all .15s;width:100%;}
input:focus,select:focus,textarea:focus{border-color:var(--sky);box-shadow:0 0 0 4px rgba(153,211,218,.18);background:#fff;}
textarea{resize:vertical;min-height:52px;}
.req{color:var(--orange);margin-left:1px;}

/* ===== TABLES ===== */
.tw{overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:12.5px;}
thead th{text-align:left;padding:.55rem .8rem;background:var(--cream);color:var(--tm);font-weight:700;font-size:10px;letter-spacing:.8px;text-transform:uppercase;border-bottom:2px solid var(--bd);}
tbody tr{border-bottom:1px solid var(--bd);}tbody td{padding:.65rem .8rem;vertical-align:middle;}
tbody tr:hover{background:rgba(153,211,218,.06);}

/* ===== BADGES ===== */
.b{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:600;}
.b-pagado{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-b);}
.b-pendiente{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-b);}
.b-vencido{background:var(--er-bg);color:var(--er);border:1px solid var(--er-b);}
.b-devuelto{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;}
.b-contado{background:var(--sky4);color:#1e6e77;border:1px solid var(--sky);}
.b-credito{background:var(--orange3);color:var(--orange-d);border:1px solid var(--orange2);}
.b-delivery{background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd;}
.b-devolucion{background:#f3f4f6;color:#374151;border:1px solid #d1d5db;}
.b-cobro{background:#dcfce7;color:#166534;border:1px solid #86efac;}
.b-visita{background:#e0f2fe;color:#0369a1;border:1px solid #bae6fd;}
.b-anulado{background:#f3f4f6;color:#9ca3af;border:1px solid #e5e7eb;}

/* ===== ALERTS / STATUS ===== */
.alert{padding:.7rem 1rem;border-radius:var(--r);font-size:12px;margin-bottom:.7rem;display:flex;align-items:center;gap:8px;}
.ai{background:var(--sky4);color:#1e6e77;border:1px solid var(--sky);}
.st-bar{display:flex;align-items:center;gap:8px;padding:.48rem .9rem;border-radius:var(--r);font-size:12px;font-weight:500;margin-bottom:.9rem;}
.st-ok{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-b);}
.st-er{background:var(--er-bg);color:var(--er);border:1px solid var(--er-b);}
.st-ld{background:var(--sky4);color:#1e6e77;border:1px solid var(--sky);}
.spin{display:inline-block;width:15px;height:15px;border:2.5px solid var(--bd);border-top-color:var(--sky);border-radius:50%;animation:spin .7s linear infinite;vertical-align:middle;margin-right:4px;}
@keyframes spin{to{transform:rotate(360deg)}}

/* ===== TABS ===== */
.tabs{display:flex;gap:5px;margin-bottom:1rem;flex-wrap:wrap;}
.tab{padding:.38rem .9rem;border-radius:999px;font-size:12.5px;font-weight:600;cursor:pointer;border:1.5px solid var(--bd);background:var(--cream);color:var(--tm);transition:all .15s;}
.tab:hover{background:var(--sand);}
.tab.active{background:var(--brand);color:#fff;border-color:var(--brand);}
.sb2{display:flex;gap:8px;margin-bottom:1rem;align-items:center;}.sb2 input{flex:1;}
.es{text-align:center;padding:2.5rem 1rem;color:var(--tl);font-size:13px;}.ei{font-size:32px;margin-bottom:8px;}
.tm2{color:var(--tl);font-size:11.5px;}
.exp{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--brand);cursor:pointer;padding:.3rem .65rem;border-radius:var(--r);border:1.5px solid var(--sky);background:var(--sky4);font-family:"DM Sans",sans-serif;font-weight:700;}
.exp:hover{background:var(--sky3);}

/* ===== PLAN TABLE ===== */
.plan-wrap{overflow-x:auto;}
.plan-table{width:100%;border-collapse:collapse;font-size:12px;min-width:750px;}
.plan-table th{padding:.54rem .65rem;background:var(--brand);color:#fff;font-weight:600;font-size:11px;text-align:left;white-space:nowrap;}
.plan-table th.opt{background:#344f7a;color:rgba(255,255,255,.7);font-style:italic;}
.plan-table th:first-child{width:100px;}
.plan-table td{padding:.3rem .35rem;border:1px solid var(--bd);vertical-align:top;}
.plan-table td:first-child{background:var(--cream);font-weight:600;font-size:11.5px;color:var(--tm);white-space:nowrap;min-width:90px;}
.plan-table input{border:none;background:transparent;padding:.25rem .3rem;font-size:12px;outline:none;width:100%;min-width:100px;}
.plan-table input:focus{background:var(--sky4);border-radius:4px;}
.plan-add-row{display:flex;align-items:center;gap:8px;padding:.58rem .75rem;border-top:2px dashed var(--bd);}
.plan-week-nav{display:flex;align-items:center;gap:10px;padding:.9rem 1.2rem;border-bottom:1px solid var(--bd);}
.plan-week-label{font-family:"Bebas Neue",sans-serif;font-size:18px;color:var(--brand);flex:1;text-align:center;letter-spacing:.5px;}

/* ===== KPI CARDS ===== */
.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:14px;margin-bottom:1.4rem;}
.kpi-card{background:var(--wh);border-radius:var(--rl);border:1px solid rgba(230,225,215,.9);padding:1.1rem 1.2rem;box-shadow:var(--sh);position:relative;overflow:hidden;transition:box-shadow .2s;}
.kpi-card:hover{box-shadow:var(--sh2);}
.kpi-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;}
.kpi-blue::before{background:linear-gradient(90deg,var(--brand),var(--brand3));}
.kpi-green::before{background:linear-gradient(90deg,var(--ok),var(--leaf));}
.kpi-orange::before{background:linear-gradient(90deg,var(--orange),var(--orange2));}
.kpi-sky::before{background:linear-gradient(90deg,var(--sky),#5ecad2);}
.kpi-icon{font-size:24px;margin-bottom:7px;}
.kpi-val{font-family:"Bebas Neue",sans-serif;font-size:28px;letter-spacing:.5px;color:var(--brand);line-height:1;}
.kpi-lbl{font-size:10px;color:var(--tl);font-weight:700;margin-top:4px;letter-spacing:.5px;text-transform:uppercase;}
.kpi-sub{font-size:11px;color:var(--tm);margin-top:5px;}

/* ===== OPS CARDS (Dashboard) ===== */
.ops-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;}
.ops-card{background:var(--wh);border-radius:var(--rl);border:1px solid rgba(230,225,215,.9);padding:.75rem .9rem;box-shadow:var(--sh);cursor:pointer;transition:transform .15s ease,box-shadow .2s;position:relative;overflow:hidden;}
.ops-card:hover{box-shadow:var(--sh2);transform:translateY(-2px);}
.ops-card:active{transform:translateY(0);}
.ops-card::before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;}

/* ===== PRODUCTOS VENDIDOS GRID (Dashboard) - Responsive ===== */
.prod-vendido-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;}
.prod-vendido-card{transition:transform .15s ease,box-shadow .2s;}
.prod-vendido-card:hover{transform:translateY(-2px);box-shadow:var(--sh2);}
@media (max-width:768px){
  .prod-vendido-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .prod-vendido-card{padding:.7rem .5rem !important;}
  .prod-vendido-card > div:nth-child(2){font-size:28px !important;}
}
@media (max-width:380px){
  .prod-vendido-grid{grid-template-columns:repeat(2,1fr);gap:6px;}
}
.ops-c-contado::before{background:#16a34a;}
.ops-c-total::before{background:linear-gradient(180deg,var(--brand),var(--brand3));}
.ops-c-total{border-color:var(--brand);}
.ops-icon{font-size:18px;margin-bottom:3px;}
.ops-lbl{font-size:9.5px;color:var(--tl);font-weight:700;letter-spacing:.4px;text-transform:uppercase;margin-bottom:2px;}
.ops-val{font-family:"Bebas Neue",sans-serif;font-size:22px;letter-spacing:.5px;color:var(--brand);line-height:1;}
.ops-sub{font-size:10px;color:var(--tm);margin-top:3px;}
.ops-arrow{position:absolute;top:.55rem;right:.65rem;color:var(--tl);font-size:16px;font-weight:300;}

/* Sidebar badge */
.nav-badge{display:inline-block;background:#dc2626;color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:6px;min-width:18px;text-align:center;line-height:1.3;animation:pulse 2s ease-in-out infinite;}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(220,38,38,.5);}50%{box-shadow:0 0 0 6px rgba(220,38,38,0);}}

/* Alert banner para créditos vencidos */
.alert-cred-banner{background:linear-gradient(135deg,#dc2626 0%,#b91c1c 100%);color:#fff;border-radius:var(--rl);padding:.8rem 1rem;margin-bottom:.85rem;box-shadow:0 4px 12px rgba(220,38,38,.25);cursor:pointer;display:flex;align-items:center;gap:12px;transition:transform .15s,box-shadow .2s;}
.alert-cred-banner:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(220,38,38,.35);}
.alert-cred-banner.warning{background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);box-shadow:0 4px 12px rgba(245,158,11,.25);}
.alert-cred-banner.warning:hover{box-shadow:0 6px 16px rgba(245,158,11,.35);}
.alert-cred-icon{font-size:26px;flex-shrink:0;}
.alert-cred-content{flex:1;min-width:0;}
.alert-cred-title{font-size:13px;font-weight:700;margin-bottom:2px;letter-spacing:.2px;}
.alert-cred-sub{font-size:11.5px;opacity:.95;line-height:1.3;}
.alert-cred-arrow{font-size:22px;font-weight:300;opacity:.85;flex-shrink:0;}

/* ===== RESPONSIVE: MOBILE ===== */
@media (max-width: 768px){
  .ops-grid{grid-template-columns:repeat(2,1fr);gap:8px;}
  .ops-card{padding:.65rem .7rem;}
  .ops-val{font-size:19px;}
  .ops-icon{font-size:16px;margin-bottom:2px;}
  .ops-lbl{font-size:9px;}
  .ops-sub{font-size:9.5px;}
  .ops-arrow{display:none;}
  /* Total card spans both columns */
  .ops-card.ops-c-total{grid-column:1/-1;}
  .ops-c-total .ops-val{font-size:26px !important;}
  /* Alert banners stack content tighter */
  .alert-cred-banner{padding:.7rem .85rem;gap:10px;margin-bottom:.7rem;}
  .alert-cred-icon{font-size:22px;}
  .alert-cred-title{font-size:12.5px;}
  .alert-cred-sub{font-size:11px;}
  .alert-cred-arrow{display:none;}
}
@media (max-width: 480px){
  .ops-grid{grid-template-columns:repeat(2,1fr);}
}
.ops-c-delivery::before{background:#3b82f6;}
.ops-c-credito::before{background:#d97706;}
.ops-c-cobros::before{background:#0891b2;}
.ops-c-devol::before{background:#dc2626;}

/* ===== CREDIT / MERCH ITEMS ===== */
.cred-item{background:var(--wh);border:1px solid rgba(230,225,215,.8);border-radius:var(--rl);padding:.95rem 1.1rem;margin-bottom:.75rem;display:flex;align-items:center;gap:12px;flex-wrap:wrap;box-shadow:var(--sh);}
.cred-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.cred-dot.venc{background:var(--er);}.cred-dot.pend{background:#d97706;}
.merch-card{background:linear-gradient(135deg,var(--sky4),#fff);border:1px solid var(--sky);border-radius:var(--rl);padding:.95rem 1.2rem;margin-bottom:.75rem;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:var(--sh);}

/* ===== VDD ITEMS ===== */
.vdd-item{padding:.58rem .9rem;cursor:pointer;border-bottom:1px solid var(--bd);transition:background .12s;}
.vdd-item:hover{background:rgba(153,211,218,.08);}
.vdd-item:last-child{border-bottom:none;}
.cli-tab{cursor:pointer;}

/* ===== MODALS ===== */
.mo{display:none;position:fixed;inset:0;background:rgba(26,45,74,.5);backdrop-filter:blur(3px);z-index:200;align-items:center;justify-content:center;}
.mo.open{display:flex;}
.md{background:var(--wh);border-radius:var(--rxl);width:540px;max-width:96vw;max-height:92vh;overflow-y:auto;box-shadow:var(--sh3);}
.mh{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.3rem;border-bottom:1px solid var(--bd);position:sticky;top:0;background:var(--wh);z-index:1;border-radius:var(--rxl) var(--rxl) 0 0;}
.mt2{font-family:"Bebas Neue",sans-serif;font-size:21px;letter-spacing:.5px;color:var(--brand);}
.mc{background:rgba(37,60,97,.06);border:none;cursor:pointer;font-size:16px;color:var(--tl);line-height:1;padding:5px 8px;border-radius:8px;transition:background .12s;}
.mc:hover{background:rgba(37,60,97,.12);}
.mb{padding:1.3rem;}
.mf{padding:.8rem 1.3rem;border-top:1px solid var(--bd);display:flex;gap:8px;justify-content:flex-end;background:var(--cream);position:sticky;bottom:0;}

/* ===== RESPONSIVE ===== */
@media(max-width:768px){
  .sidebar{display:none;}
  .main{margin-left:0;padding:.9rem 1rem;padding-bottom:85px;overflow-x:hidden;max-width:100vw;box-sizing:border-box;}
  .sg{grid-template-columns:1fr 1fr;}
  .fg,.fg3{grid-template-columns:1fr;}
  .kpi-grid{grid-template-columns:1fr 1fr;}
  .ch{flex-wrap:wrap;gap:5px;}
  .ch .cs{font-size:11.5px;color:var(--tl);width:100%;}
  table{font-size:12px;}
  .nivel-widget{padding:14px 16px;}
  .nw-nivel{font-size:24px;}
  .nw-stats{gap:8px;}
  .tipo-btn{font-size:12px;padding:.55rem .4rem;}
  .ph{margin-bottom:.8rem;}
  .visit-layout{grid-template-columns:1fr;}
}
@media(max-width:400px){
  .kpi-grid{grid-template-columns:1fr;}
  .tipo-btn span.ti{font-size:18px;}
}

/* ===== BOTTOM NAV ===== */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--brand);border-top:1px solid rgba(255,255,255,.12);z-index:150;padding-bottom:env(safe-area-inset-bottom,0px);}
.bottom-nav-inner{display:flex;justify-content:space-around;}
.bn-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.58rem .2rem .48rem;cursor:pointer;color:rgba(255,255,255,.55);font-size:9.5px;font-weight:600;gap:3px;border:none;background:none;font-family:"DM Sans",sans-serif;transition:color .12s;}
.bn-icon{font-size:21px;line-height:1;}
.bn-item.active{color:var(--sky);}
.bn-more-menu{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--brand2);border-top:1px solid rgba(255,255,255,.12);z-index:160;padding:1.1rem;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 72px);border-radius:20px 20px 0 0;}
.bn-more-menu.open{display:block;}
.bn-more-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.bn-more-item{display:flex;align-items:center;gap:10px;padding:.7rem 1rem;border-radius:var(--r);cursor:pointer;color:rgba(255,255,255,.85);font-size:13px;font-weight:500;background:rgba(255,255,255,.09);border:none;font-family:"DM Sans",sans-serif;width:100%;transition:background .12s;}
.bn-more-item:hover{background:rgba(153,211,218,.2);}
.bn-overlay{display:none;position:fixed;inset:0;z-index:155;background:rgba(0,0,0,.35);}
.bn-overlay.open{display:block;}
@media(max-width:768px){.bottom-nav{display:block;}}
@media(max-width:600px){.md{width:100%!important;max-width:100%!important;border-radius:var(--rxl) var(--rxl) 0 0!important;margin-top:auto;max-height:95vh;}}

/* ===== WIZARD STEPS ===== */
.flow-steps{display:flex;gap:8px;margin-bottom:20px;}
.flow-step{flex:1;padding:10px 12px;background:var(--sky4);border:1px solid var(--bd);border-radius:12px;display:flex;align-items:center;gap:10px;font-size:12px;color:var(--tl);}
.flow-step .fsn{width:22px;height:22px;border-radius:50%;background:var(--sky4);color:var(--tl);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;flex-shrink:0;border:2px solid var(--sky);}
.flow-step.done{background:#e8f7ee;border-color:#27ae60;color:#1e8449;}
.flow-step.done .fsn{background:#27ae60;color:#fff;border-color:#27ae60;}
.flow-step.active{background:var(--brand);color:#fff;border-color:var(--brand);}
.flow-step.active .fsn{background:var(--sky);color:var(--brand);border-color:var(--sky);}

/* ===== VISIT 2-COL LAYOUT ===== */
.visit-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:20px;align-items:start;}
@media(max-width:900px){.visit-layout{grid-template-columns:1fr;}}

/* ===== TIPO CARDS ===== */
.tipo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.tipo-btn{padding:14px 10px;background:var(--sky4);border:1.5px solid var(--sky);border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--brand);transition:all .15s;cursor:pointer;text-align:center;}
.tipo-btn .ti{font-size:22px;}
.tipo-btn:hover{border-color:var(--brand);background:rgba(37,60,97,.1);}
.tipo-btn.sel{border-color:var(--brand);background:var(--brand);color:#fff;}

/* ===== SUMMARY PANEL ===== */
.visit-summary{background:var(--brand);color:#fff;border-radius:16px;padding:22px;position:sticky;top:20px;}
.vsm-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--sky);margin-bottom:10px;}
.vsm-title{font-family:'Bebas Neue',sans-serif;font-size:22px;color:#fff;margin-bottom:4px;min-height:26px;}
.vsm-meta{font-size:11px;color:rgba(153,211,218,.7);margin-bottom:14px;min-height:14px;}
.vsm-empty{display:flex;flex-direction:column;align-items:center;padding:20px;color:rgba(255,255,255,.4);font-size:12px;text-align:center;gap:8px;}
.vsm-empty .ei{font-size:26px;}
.vsm-item{display:flex;justify-content:space-between;align-items:flex-start;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.12);gap:8px;}
.vsm-item:last-of-type{border-bottom:none;}
.vsm-tipo{font-size:12px;font-weight:600;color:#fff;}
.vsm-det{font-size:11px;color:rgba(255,255,255,.6);margin-top:2px;}
.vsm-amt{font-family:'Bebas Neue',sans-serif;font-size:17px;color:var(--sky);white-space:nowrap;}
.vsm-total-row{padding-top:12px;margin-top:4px;border-top:2px solid rgba(255,255,255,.2);display:flex;justify-content:space-between;align-items:baseline;}
.vsm-total-lbl{font-size:11px;color:var(--sky);text-transform:uppercase;letter-spacing:1px;}
.vsm-total-val{font-family:'Bebas Neue',sans-serif;font-size:38px;color:#fff;}

/* ===== PLAN SEMANAL ===== */
.plan-cal-wrap{overflow-x:auto;}
.plan-cal{min-width:700px;}
.plan-cal-header{display:grid;grid-template-columns:70px repeat(7,1fr);background:var(--brand);border-radius:10px 10px 0 0;}
.plan-cal-header-cell{padding:10px 8px;font-size:11px;font-weight:700;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:.5px;text-align:center;}
.plan-cal-header-cell.weekend{color:var(--sky);}
.plan-cal-row{display:grid;grid-template-columns:70px repeat(7,1fr);border-bottom:1px solid var(--bd);}
.plan-time-cell{padding:10px 8px;font-size:11px;color:var(--tl);font-weight:700;border-right:2px solid var(--sky4);display:flex;align-items:flex-start;justify-content:flex-end;}
.plan-day-cell{min-height:52px;padding:4px;background:var(--wh);}
.plan-day-cell.weekend{background:var(--sky4);}
.plan-event-visita{background:#bae6fd;border-radius:6px;padding:5px 7px;font-size:11px;font-weight:600;color:#0c4a6e;cursor:pointer;margin:2px;}
.plan-event-cobro{background:var(--sky);border-radius:6px;padding:5px 7px;font-size:11px;font-weight:600;color:var(--brand);cursor:pointer;margin:2px;}
.plan-event-nuevo{background:#a5d6a7;border-radius:6px;padding:5px 7px;font-size:11px;font-weight:600;color:#1b5e20;cursor:pointer;margin:2px;}
.plan-event-delivery{background:#c5cae9;border-radius:6px;padding:5px 7px;font-size:11px;font-weight:600;color:#283593;cursor:pointer;margin:2px;}
.ev-name{font-size:11px;font-weight:600;}
.ev-tipo{font-size:10px;opacity:.75;margin-top:1px;}
.plan-event-ruta{background:#fde68a;border-radius:6px;padding:5px 7px;margin:2px;}
.ev-ruta-stop{font-size:10px;font-weight:600;color:#78350f;line-height:1.35;white-space:normal;word-break:break-word;}
.ev-ruta-stop+.ev-ruta-stop{margin-top:3px;padding-top:3px;border-top:1px solid rgba(120,53,15,.18);}
.plan-input-event{width:100%;background:transparent;border:none;outline:none;font-size:11px;padding:5px 6px;color:var(--tl);min-height:30px;}
.plan-leg-dot{display:inline-block;width:10px;height:10px;margin-right:4px;}
.plan-legend{display:flex;gap:16px;font-size:11px;color:var(--tl);}
.btn-sk{background:transparent;border:1.5px solid var(--bd);color:var(--tl);padding:.5rem 1rem;border-radius:var(--r);font-size:12px;cursor:pointer;}
.btn-sk:hover{border-color:var(--sky);color:var(--brand);}

/* ===== MERCH CARDS ===== */
.merch-grid-new{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:20px;}
.merch-card-new{background:var(--wh);border:1.5px solid var(--bd);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden;}
.merch-card-new .mc-bag{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;}
.mc-bag.blue{background:#e8f4fd;}
.mc-bag.pink{background:#fce4ec;}
.mc-bag.yellow{background:var(--sky4);}
.mc-name{font-size:13px;font-weight:700;color:var(--brand);}
.mc-type{font-size:10px;color:var(--tl);text-transform:uppercase;letter-spacing:.5px;}
.mc-qty-big{font-family:'Bebas Neue',sans-serif;font-size:42px;color:var(--brand);line-height:1;}
.mc-qty-zero{font-family:'Bebas Neue',sans-serif;font-size:42px;color:#e74c3c;line-height:1;}
.mc-unit{font-size:11px;color:var(--tl);text-transform:uppercase;letter-spacing:.8px;}
.mc-bar-wrap{height:6px;background:var(--sky4);border-radius:99px;overflow:hidden;}
.mc-bar-fill{height:100%;border-radius:99px;transition:width .4s;}
.mc-bar-green{background:#27ae60;}
.mc-bar-sky{background:var(--sky);}
.mc-bar-red{background:#e74c3c;}
.mc-bar-lbl{font-size:10px;color:var(--tl);}
.mc-badge-low{position:absolute;top:10px;right:10px;background:#e74c3c;color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:99px;}
.merch-alert-new{background:#fff8e1;border:1.5px solid var(--sky);border-radius:12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;}
.merch-alert-new .ma-txt{font-size:13px;font-weight:600;color:var(--brand);}
.merch-alert-new .ma-sub{font-size:11px;color:var(--tl);margin-top:2px;}

/* ===== NIVEL WIDGET ===== */
.nivel-widget{background:var(--brand);color:#fff;border-radius:16px;padding:20px 22px;margin-bottom:20px;}
.nw-kicker{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--sky);margin-bottom:8px;}
.nw-hello{font-family:'Bebas Neue',sans-serif;font-size:18px;color:rgba(255,255,255,.8);}
.nw-nivel{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--sky);letter-spacing:1px;margin-bottom:4px;}
.nw-ventas{font-size:12px;color:rgba(255,255,255,.65);margin-bottom:14px;}
.nw-bar-wrap{height:8px;background:rgba(255,255,255,.15);border-radius:99px;overflow:hidden;margin-bottom:5px;}
.nw-bar-fill{height:100%;background:var(--sky);border-radius:99px;transition:width .5s;}
.nw-bar-labels{display:flex;justify-content:space-between;font-size:10px;color:rgba(153,211,218,.6);margin-bottom:4px;}
.nw-prog-msg{font-size:11px;color:rgba(153,211,218,.7);margin-bottom:14px;}
.nw-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:12px;border-top:1px solid rgba(255,255,255,.15);}
.nw-stat-val{font-family:'Bebas Neue',sans-serif;font-size:20px;color:#fff;}
.nw-stat-lbl{font-size:10px;color:rgba(153,211,218,.6);text-transform:uppercase;letter-spacing:.5px;}

/* Override orange buttons - use sky/brand instead */
.btn-cta{background:var(--brand) !important;color:#fff !important;border-color:var(--brand) !important;}
.btn-cta:hover{background:var(--sky) !important;color:var(--brand) !important;border-color:var(--sky) !important;}
/* Light blue inputs instead of warm cream */
input[type=text],input[type=number],input[type=date],input[type=time],input[type=tel],input[type=email],input[type=password],select,textarea{background:#eaf7f9 !important;}
input[type=text]:focus,input[type=number]:focus,input[type=date]:focus,input[type=time]:focus,input[type=tel]:focus,input[type=email]:focus,select:focus,textarea:focus{background:#d6f0f3 !important;border-color:var(--sky) !important;}

