:root{--bg:#f6f8ff;--surface:#fff;--ink:#0b1739;--muted:#7180a0;--line:#e6eaf5;--green:#0c8fdc;--green-dark:#071b5b;--green-soft:#eaf8ff;--amber:#9b50ff;--amber-soft:#f4ecff;--red:#e43c78;--cyan:#12d8ff;--blue:#0b63f6;--violet:#6d3cff;--magenta:#f000b8;--navy:#071b5b;--shadow:0 16px 42px rgba(13,37,111,.10)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(circle at 8% 0,rgba(18,216,255,.12) 0,transparent 28%),radial-gradient(circle at 95% 4%,rgba(240,0,184,.08) 0,transparent 25%),var(--bg);color:var(--ink);font-feature-settings:"tnum" 1}.topbar{position:sticky;top:0;z-index:20;background:linear-gradient(100deg,rgba(7,27,91,.98),rgba(16,54,135,.97) 52%,rgba(67,23,130,.96));backdrop-filter:blur(10px);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:14px max(18px,5vw);box-shadow:0 5px 20px rgba(0,0,0,.08)}.topbar-brand{display:flex;gap:10px;align-items:center}.brand-mark{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,var(--cyan) 0%,var(--blue) 48%,var(--magenta) 100%);box-shadow:0 0 0 1px #ffffff1f,0 5px 16px rgba(18,216,255,.22);font-weight:900;font-size:20px}.topbar strong{font-size:20px;letter-spacing:-.02em}.business-mini{opacity:.62;border-left:1px solid #ffffff2d;padding-left:12px}.logout{color:#fff;text-decoration:none;padding:8px 11px;border-radius:9px}.logout:hover{background:#ffffff12}.wrap{max-width:1240px;margin:auto;padding:28px 20px 50px}.hero{background:linear-gradient(135deg,#fff 0,#fbfdff 62%,#edf9ff 82%,#f8efff 100%);border:1px solid #fff;border-radius:24px;padding:26px 28px;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow)}.identity{display:flex;align-items:center;gap:18px;min-width:0}.business-logo{width:82px;height:82px;border-radius:20px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.07);flex:0 0 auto}.business-logo img{width:100%;height:100%;object-fit:contain;padding:7px}.business-logo--fallback{background:linear-gradient(145deg,var(--navy) 0%,var(--blue) 48%,var(--magenta) 100%);color:#fff;font-size:45px;font-weight:900}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:800;color:#5670b5;margin:0 0 5px}.hero h1{font-size:34px;letter-spacing:-.035em;margin:0 0 7px}.business-meta{display:flex;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:13px}.business-meta span+span:before{content:"•";margin-right:8px;color:#b8bdb9}.sync-box{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:230px}.sync-box small{color:var(--muted);font-size:11px}.sync-box strong{font-size:13px}.status-pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;margin-bottom:8px}.status-pill i{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px currentColor20}.status-pill--ok{color:#0b6fae;background:#e9f8ff}.status-pill--warn{color:#9348d8;background:#f3eaff}.section-head{display:flex;justify-content:space-between;align-items:end;margin:28px 2px 12px}.section-head h2{margin:0;font-size:21px}.date-label{color:var(--muted);font-size:12px}.cards{display:grid;gap:13px}.cards-main{grid-template-columns:repeat(5,1fr)}.metric,.panel{background:var(--surface);border:1px solid rgba(29,49,40,.045);border-radius:19px;box-shadow:0 8px 24px rgba(20,35,28,.045)}.metric{padding:19px;min-height:132px;position:relative;overflow:hidden}.metric span{display:block;color:var(--muted);font-size:12px;font-weight:650}.metric b{font-size:28px;display:block;margin:10px 0 7px;letter-spacing:-.035em}.metric small{color:#98a09c;font-size:10px}.metric--primary{background:linear-gradient(145deg,var(--navy) 0%,#0b49c8 55%,#6b32de 100%);color:#fff}.metric--primary span,.metric--primary small{color:#dceaff}.metric--primary:after{content:"";position:absolute;width:100px;height:100px;border:18px solid #ffffff0b;border-radius:50%;right:-45px;bottom:-48px}.metric--alert{background:linear-gradient(145deg,#fff,#fbf7ff)}.metric--alert b{color:var(--amber)}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.grid-report{grid-template-columns:1.4fr .85fr}.panel{padding:21px}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:13px}.panel-title h2{margin:0;font-size:18px;letter-spacing:-.02em}.panel-title>strong{font-size:22px}.bar-chart{height:210px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;padding-top:20px}.bar-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:7px;min-width:0}.bar-track{height:145px;width:min(30px,70%);background:#edf1fb;border-radius:9px;display:flex;align-items:flex-end;overflow:hidden}.bar-track i{display:block;width:100%;background:linear-gradient(180deg,var(--cyan) 0%,var(--blue) 52%,var(--violet) 100%);border-radius:9px;min-height:4px}.bar-value{font-size:9px;color:#78837e;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bar-col small{font-size:10px;color:#7e8984;text-transform:capitalize}.report-summary{display:flex;flex-direction:column}.period-row{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 0}.period-row:last-child{border-bottom:0}.period-row>span{color:var(--muted);font-size:13px}.period-row>div{text-align:right}.period-row b{display:block;font-size:16px}.period-row small{color:#9aa19e;font-size:10px}.rows>div{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:12px 0;gap:12px}.rows>div:last-child{border-bottom:0}.rows span{font-size:13px}.rows small,.empty{color:#87918c}.payment-dot{display:inline-block;width:8px;height:8px;background:linear-gradient(135deg,var(--cyan),var(--magenta));border-radius:50%;margin-right:8px}.ranking em{font-style:normal;width:22px;height:22px;border-radius:7px;background:#eef3ff;color:#435dde;display:inline-grid;place-items:center;font-size:10px;font-weight:800;margin-right:8px}.ranking b small{font-size:9px}.stock-rows span small{display:block;font-size:9px;margin-top:3px}.stock-rows b{min-width:31px;height:31px;border-radius:9px;background:var(--amber-soft);color:var(--amber);display:grid;place-items:center;font-size:13px}.count-badge{background:var(--amber-soft);color:var(--amber);padding:5px 9px;border-radius:999px;font-weight:800;font-size:11px}.recent-sales{display:flex;flex-direction:column}.sale-row{display:grid;grid-template-columns:38px 1fr auto;gap:11px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.sale-row:last-child{border-bottom:0}.sale-icon{width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#e7fbff,#f5eaff);color:#4059d8;display:grid;place-items:center;font-weight:900}.sale-main b,.sale-total b{display:block;font-size:13px}.sale-main small,.sale-total small{color:#8b9490;font-size:10px}.sale-total{text-align:right}.sale-total .good{color:#0c83c7}.sale-total .bad{color:var(--red)}footer{text-align:center;color:#969e9a;font-size:10px;padding:30px 0 0}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#06133d 0%,#0d3ba7 48%,#6516a9 100%);padding:20px}.login-card{width:min(440px,100%);background:#fff;border-radius:24px;padding:32px;box-shadow:0 24px 80px #0006}.login-card.wide{width:min(560px,100%)}.brand{font-weight:900;font-size:22px;color:var(--green)}.login-card h1{margin-bottom:4px;letter-spacing:-.03em}.login-card form{display:grid;gap:9px;margin-top:22px}.login-card label{font-size:13px;font-weight:700}.login-card input{width:100%;padding:13px;border:1px solid #ccd4d0;border-radius:10px}.login-card button{margin-top:8px;padding:13px;border:0;border-radius:10px;background:linear-gradient(90deg,var(--cyan),var(--blue) 50%,var(--magenta));color:#fff;font-weight:800;cursor:pointer}.alert{background:#ffe6e6;color:#8a2020;padding:12px;border-radius:10px}.success{background:#e8f7ed;color:#174f2a;padding:12px;border-radius:10px}.success code{display:block;margin-top:10px;word-break:break-all;background:#fff;padding:10px}.login-card p{color:#67736d}@media(max-width:980px){.cards-main{grid-template-columns:repeat(3,1fr)}.grid-report{grid-template-columns:1fr 1fr}}@media(max-width:760px){.business-mini{display:none}.wrap{padding:18px 13px 40px}.hero{align-items:flex-start;gap:18px;flex-direction:column;padding:20px}.business-logo{width:66px;height:66px;border-radius:17px}.hero h1{font-size:28px}.sync-box{align-items:flex-start;min-width:0}.cards-main{grid-template-columns:1fr 1fr}.grid,.grid-report{grid-template-columns:1fr}.metric{min-height:118px;padding:16px}.metric b{font-size:24px}.bar-chart{height:190px}.bar-track{height:128px}.panel{padding:18px}.topbar{padding:12px 16px}}@media(max-width:390px){.identity{align-items:flex-start}.business-logo{width:58px;height:58px}.cards-main{grid-template-columns:1fr 1fr}.metric b{font-size:21px}.metric small{font-size:9px}.bar-value{display:none}}

/* e-ckash identity accents */
.hero{position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--cyan),var(--blue),var(--violet),var(--magenta))}.metric,.panel{transition:transform .18s ease,box-shadow .18s ease}.metric--alert b{color:#8a43d1}.stock-rows b,.count-badge{background:#f1eaff;color:#8445c7}.business-logo{border-color:#dfe8ff}.brand{background:linear-gradient(90deg,var(--blue),var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent}@media(min-width:761px){.metric:hover,.panel:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(13,37,111,.09)}}

/* e-ckash 1.2.3 - boton premium de descarga Excel */
.section-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.excel-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 17px;border-radius:14px;text-decoration:none;font-weight:900;font-size:13px;color:#fff;background:linear-gradient(135deg,var(--cyan) 0%,var(--blue) 42%,var(--violet) 72%,var(--magenta) 100%);box-shadow:0 10px 26px rgba(61,75,255,.22),inset 0 1px 0 rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.20);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;white-space:nowrap}
.excel-btn__icon{width:28px;height:28px;border-radius:10px;display:inline-grid;place-items:center;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);font-size:15px;line-height:1}
.excel-btn:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 14px 32px rgba(199,45,255,.24),0 8px 22px rgba(18,216,255,.14)}
.excel-btn:active{transform:translateY(0);box-shadow:0 7px 18px rgba(61,75,255,.18)}
.excel-btn:focus-visible{outline:3px solid rgba(18,216,255,.30);outline-offset:3px}
@media(max-width:720px){.section-actions{width:100%;justify-content:space-between}.excel-btn{min-height:42px;padding:10px 14px}.excel-btn__icon{width:26px;height:26px}}

/* e-ckash 1.2.4 - boton Excel premium, visible aun con caches previas */
.section-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.excel-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;
  min-height:48px!important;padding:8px 16px 8px 9px!important;border-radius:15px!important;
  text-decoration:none!important;color:#fff!important;
  background:linear-gradient(135deg,#10d7ff 0%,#1768ff 42%,#743cff 72%,#f000b8 100%)!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 10px 26px rgba(43,82,255,.25),0 3px 10px rgba(240,0,184,.10),inset 0 1px 0 rgba(255,255,255,.22)!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
  white-space:nowrap!important;overflow:hidden!important;
}
.excel-btn__icon{
  width:34px!important;height:34px!important;display:inline-grid!important;place-items:center!important;flex:0 0 34px!important;
  border-radius:11px!important;background:rgba(255,255,255,.18)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)!important;color:#fff!important;
}
.excel-btn__text{display:flex!important;flex-direction:column!important;align-items:flex-start!important;line-height:1.08!important}
.excel-btn__text strong{font-size:13px!important;font-weight:900!important;color:#fff!important;letter-spacing:-.01em!important}
.excel-btn__text small{font-size:9px!important;font-weight:650!important;color:rgba(255,255,255,.82)!important;margin-top:3px!important}
.excel-btn:hover{transform:translateY(-2px)!important;filter:brightness(1.06)!important;box-shadow:0 15px 34px rgba(81,64,255,.28),0 8px 24px rgba(240,0,184,.16)!important}
.excel-btn:active{transform:translateY(0)!important}
.excel-btn:focus-visible{outline:3px solid rgba(18,216,255,.34)!important;outline-offset:3px!important}
@media(max-width:720px){.section-actions{width:100%;justify-content:space-between}.excel-btn{min-height:46px!important;padding-right:14px!important}.excel-btn__text small{display:none!important}}
