:root{--ink:#182037;--muted:#7b8495;--line:#e8ebf0;--canvas:#f6f7fb;--white:#fff;--violet:#6757d6;--violet-soft:#f1eeff;--nav:#151b2b;--success:#128b6e;--danger:#da4f61;--radius:16px;--shadow:0 2px 14px rgba(31,35,62,.035)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--canvas);font-size:14px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c3bbff;outline-offset:2px}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--nav);width:245px;flex:0 0 245px;color:#c0c7d5;display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px;padding:29px 23px 33px;color:#fff}.brand-mark{width:40px;height:40px;border-radius:12px;background:linear-gradient(135deg,#9c8dfd,#5d4cd0);display:grid;place-items:center;color:#fff;font-weight:800;font-size:23px;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;background:#fff}.brand-text{display:flex;flex-direction:column;gap:4px}.brand-text strong{font-size:19px;letter-spacing:-.6px;max-width:148px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.brand-text small{font-size:9px;letter-spacing:1.7px;color:#858fa2;font-weight:700}.nav-caption{font-size:10px;font-weight:800;color:#697387;letter-spacing:1.25px;margin:0 21px 13px}.nav-caption.second{margin:25px 17px 13px}.sidebar nav{padding:0 12px}.nav-btn{color:#adb7ca;background:none;border:0;width:100%;display:flex;align-items:center;text-align:left;gap:14px;border-radius:10px;padding:11px 13px;font-weight:570;margin-bottom:4px;min-height:43px}.nav-btn:hover{background:#232b3e;color:#fff}.nav-btn.active{background:#35314c;color:#fff}.nav-icon{display:grid;place-items:center;width:20px;font-size:20px;line-height:1;color:#b7b4ea}.nav-count{margin-left:auto;background:#c36070;color:#fff;border-radius:12px;font-size:10px;padding:3px 6px}.sidebar-foot{margin:auto 19px 23px;padding-top:24px;border-top:1px solid #2d3444;font-size:11px;line-height:1.6;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.sidebar-foot small{display:block;width:100%;color:#778299;margin-left:15px}.status-dot{height:8px;width:8px;background:#65cfa4;border-radius:50%}.workspace{flex:1;min-width:0}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--line);padding:0 clamp(20px,4vw,50px);display:flex;align-items:center;justify-content:space-between;gap:15px}.header-left,.header-right{display:flex;align-items:center;gap:23px}.breadcrumb{font-weight:750;font-size:10px;letter-spacing:1.2px;color:#a8aebb}.breadcrumb span{padding:0 11px;color:#d1d5de}.breadcrumb strong{color:#495066}.today{color:#8b93a0;font-size:12px}.main-content{padding:36px clamp(18px,4vw,48px) 70px;max-width:1550px;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:28px;flex-wrap:wrap}.page-overline{color:var(--violet);letter-spacing:2px;font-weight:800;font-size:10px;text-transform:uppercase;margin-bottom:10px}.page-head h1{font-size:29px;letter-spacing:-1.1px;margin:0 0 7px;font-weight:770}.subheading{color:var(--muted);margin:0;line-height:1.5}.head-actions{display:flex;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;border:1px solid transparent;border-radius:9px;padding:11px 17px;font-weight:680;white-space:nowrap;transition:background .13s,transform .13s}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--violet);color:#fff}.btn-primary:hover{background:#5544c1}.btn-dark{background:#252840;color:#fff}.btn-outline{border-color:#e0e3eb;background:#fff;color:#535e72}.btn-outline:hover{background:#f7f8fc}.btn-danger{background:#fff1f2;color:#c34458;border-color:#ffdadf}.btn-small{font-size:12px;padding:9px 13px}.btn-ghost{background:transparent;color:#5c52c8;border:0;padding:8px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.stat-card,.panel{background:#fff;border:1px solid #edf0f4;border-radius:var(--radius);box-shadow:var(--shadow)}.stat-card{padding:22px 22px 19px;min-height:132px}.stat-top{display:flex;justify-content:space-between;align-items:center;color:#848d9e;font-size:12px}.stat-ico{height:36px;width:36px;display:grid;place-items:center;border-radius:11px;background:#f0efff;color:var(--violet);font-size:18px}.stat-value{font-size:26px;font-weight:760;letter-spacing:-.8px;margin:16px 0 6px;font-variant-numeric:tabular-nums}.stat-help{font-size:11px;color:#9ba2ae}.layout-two{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(285px,1fr);gap:20px;margin-top:20px}.panel{padding:23px;margin-bottom:20px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.panel-title{font-size:16px;font-weight:750;letter-spacing:-.25px;margin:0}.small-note{color:#a0a6b3;font-size:11px}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:#8a93a4;letter-spacing:.65px;font-size:10px;font-weight:750;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap;text-transform:uppercase}.data-table td{padding:14px 10px;border-bottom:1px solid #f0f1f5;vertical-align:middle;color:#4d5669}.data-table tr:last-child td{border-bottom:0}.data-table td strong{color:#222b41;font-weight:680}.data-table .action-cell{text-align:right;white-space:nowrap}.row-title{display:flex;align-items:center;gap:11px;min-width:190px}.product-thumb{width:42px;height:42px;background:#f3f3f7;border-radius:10px;object-fit:cover;flex-shrink:0;display:grid;place-items:center;color:#9ca1b6;font-size:23px}.product-thumb img{height:100%;width:100%;object-fit:cover;border-radius:inherit}.row-title small{display:block;color:#9098a7;margin-top:4px;font-size:11px}.tag{display:inline-flex;align-items:center;padding:5px 9px;font-weight:680;border-radius:7px;font-size:10px;white-space:nowrap}.tag-green{background:#e7f7f0;color:#118666}.tag-amber{background:#fff4df;color:#b57714}.tag-red{background:#ffebef;color:#c43d58}.tag-gray{background:#f0f2f6;color:#677285}.mini-link{border:0;background:transparent;color:var(--violet);font-weight:750;font-size:11px;padding:6px}.empty{padding:48px 18px;text-align:center;color:#8c95a4}.empty-icon{font-size:34px;display:block;color:#b2acd9;margin-bottom:11px}.empty strong{display:block;color:#4f576e;font-size:15px;margin-bottom:7px}.empty p{margin:0 auto 18px;max-width:310px;line-height:1.5}.filters{display:flex;gap:11px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.field,.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.field label,.form-field label{font-size:11px;font-weight:750;color:#5c6374}.input,.select,.textarea{width:100%;border:1px solid #e2e6ed;border-radius:10px;padding:11px 13px;color:#222a3d;background:#fff;min-height:42px}.textarea{resize:vertical;min-height:77px}.input:focus,.select:focus,.textarea:focus{border-color:#9890eb;outline:3px solid #f1eefe}.search-input{min-width:220px;flex:1}.search-input input{padding-left:14px}.helper{font-size:11px;color:#9ba2ae;line-height:1.4}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.span-2{grid-column:span 2}.form-section{font-size:12px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;margin:23px 0 16px;color:#6a63ac}.modal-backdrop{position:fixed;inset:0;z-index:50;background:rgba(16,22,35,.58);display:flex;align-items:center;justify-content:center;padding:18px;overflow-y:auto}.modal{background:#fff;border-radius:19px;width:min(100%,650px);max-height:min(92vh,900px);display:flex;flex-direction:column;box-shadow:0 28px 90px #0003}.modal-wide{width:min(100%,820px)}.modal-head{padding:23px 25px 18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:19px;letter-spacing:-.3px}.modal-body{padding:24px 25px;overflow:auto}.modal-footer{border-top:1px solid var(--line);padding:17px 25px;display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.icon-button{background:transparent;border:0;color:#7b8493;padding:8px;border-radius:9px;font-size:19px}.icon-button:hover{background:#f1f2f5}.img-upload{display:flex;align-items:center;gap:14px}.img-preview{width:85px;height:85px;object-fit:cover;background:#f3f4f7;border:1px dashed #d5d9e4;border-radius:12px;display:grid;place-items:center;overflow:hidden;color:#949bb0;font-size:30px}.img-preview img{width:100%;height:100%;object-fit:cover}.file-input{max-width:100%;font-size:11px}.pos-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(310px,.9fr);align-items:start;gap:19px}.search-results{max-height:270px;overflow:auto;border:1px solid #e8ebf2;border-radius:12px;margin-top:9px}.lookup-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:0;background:#fff;width:100%;text-align:left;border-bottom:1px solid #f0f2f6}.lookup-item:hover{background:#f8f7ff}.lookup-item:last-child{border-bottom:0}.lookup-item strong{display:block;font-size:13px;color:#30394d}.lookup-item small{display:block;color:#949aa8;margin-top:3px}.lookup-item .price{font-weight:800;color:var(--ink)}.cart-list{margin-top:18px}.cart-item{display:flex;gap:12px;align-items:center;border-bottom:1px solid #eceef2;padding:12px 0}.cart-info{flex:1;min-width:0}.cart-info strong{display:block;font-size:12px}.cart-info small{color:#9099a8}.cart-amount{font-weight:750;white-space:nowrap}.qty-controls{display:flex;align-items:center;border:1px solid #e6e7ec;border-radius:8px;margin-top:7px;width:max-content}.qty-controls button{border:0;background:#fff;padding:4px 9px;font-weight:800;color:#7770ba}.qty-controls span{padding:0 4px;font-size:11px;font-weight:700}.checkout-card{position:sticky;top:18px}.summary-line{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#798297;margin:11px 0}.summary-line strong{color:#394255}.summary-total{border-top:1px solid var(--line);padding-top:17px;margin-top:17px;display:flex;align-items:flex-end;justify-content:space-between}.summary-total strong{font-size:27px;letter-spacing:-.5px}.summary-total span{color:#7f899b}.full{width:100%}.scan-preview{background:#070b13;width:100%;max-height:350px;aspect-ratio:4/3;border-radius:13px;object-fit:cover}.scan-status{font-size:12px;color:#8890a1;text-align:center;padding:9px}.code-chip{font-family:ui-monospace,monospace;font-size:11px;background:#f4f5f8;padding:5px 8px;border-radius:7px;color:#616d85}.chart{display:flex;align-items:flex-end;gap:14px;height:205px;border-bottom:1px solid #ebeef2;padding:16px 8px 0}.chart-slot{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:9px;height:100%}.chart-bar{background:linear-gradient(180deg,#8274e7,#c6bdfa);width:65%;max-width:50px;min-height:3px;border-radius:6px 6px 0 0}.chart-slot span{color:#98a0ae;font-size:10px;padding-bottom:9px}.chart-slot strong{font-size:10px;color:#726aca}.top-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f1f2f5}.top-item:last-child{border:0}.rank{width:28px;height:28px;border-radius:8px;background:#f1efff;color:#7b68d8;display:grid;place-items:center;font-weight:800}.top-item .top-info{flex:1;min-width:0}.top-item .top-info strong{display:block;font-size:12px}.top-item .top-info small{color:#a0a8b5}.top-item .top-count{font-weight:800}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:18px}.catalog-card{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.catalog-photo{width:100%;height:215px;background:#f0f1f5;display:grid;place-items:center;font-size:60px;color:#b5bac8}.catalog-photo img{width:100%;height:100%;object-fit:cover}.catalog-body{padding:16px}.catalog-body strong{display:block;font-size:14px;line-height:1.4}.catalog-body small{display:block;color:#99a0ae;margin:6px 0}.catalog-price{font-size:20px;font-weight:800;margin-top:11px}.catalog-price span{float:right;margin-top:5px}.settings-card{padding:25px;border:1px solid #eceef3;border-radius:16px;background:#fff;margin-bottom:18px}.settings-card h3{margin:0 0 6px;font-size:16px}.settings-card p{color:#9098a5;font-size:12px;margin:0 0 20px;line-height:1.55}.setting-actions{display:flex;gap:9px;flex-wrap:wrap}.warning{padding:12px 14px;background:#fff8e8;border:1px solid #f7e9bf;border-radius:10px;color:#987117;font-size:12px;line-height:1.5}.notice{background:#f1efff;color:#5c54af;padding:12px 15px;border-radius:10px;font-size:12px;line-height:1.5}.divider{height:1px;background:var(--line);margin:19px 0}.payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payment-method{padding:13px;border:1px solid var(--line);border-radius:11px;display:flex;gap:8px;align-items:center;cursor:pointer;font-size:12px}.payment-method:has(input:checked){border-color:var(--violet);background:#f7f5ff}.payment-method input{accent-color:var(--violet)}#toastRoot{position:fixed;right:20px;bottom:22px;z-index:80;display:flex;flex-direction:column;gap:10px}.toast{background:#222b3c;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:0 10px 35px #0003;font-size:12px;max-width:360px}.toast.error{background:#a82f45}.mobile-menu{display:none}.loading{text-align:center;padding:100px 0;color:#8b92a2}@media(max-width:1120px){.stats-grid{grid-template-columns:repeat(2,1fr)}.layout-two{grid-template-columns:1fr}.pos-grid{grid-template-columns:1fr}.checkout-card{position:static}}@media(max-width:820px){.sidebar{position:fixed;z-index:35;transform:translateX(-100%);transition:transform .2s;box-shadow:10px 0 50px #0003}.sidebar.open{transform:translateX(0)}.mobile-menu{display:block}.topbar{padding:0 18px;height:65px}.main-content{padding:25px 16px 65px}.today{display:none}.page-head h1{font-size:25px}}@media(max-width:520px){.stats-grid{gap:10px}.stat-card{padding:15px;min-height:120px}.stat-value{font-size:21px}.stat-top{font-size:10px}.stat-help{font-size:10px}.form-grid,.grid-2,.grid-3{grid-template-columns:1fr}.span-2{grid-column:span 1}.panel{padding:17px;margin-bottom:13px}.page-head{margin-bottom:20px}.modal-backdrop{padding:9px}.modal-body,.modal-head,.modal-footer{padding:16px}.modal{max-height:95vh}.payment-methods{grid-template-columns:1fr}.breadcrumb{font-size:9px}.header-right{gap:6px}.head-actions{width:100%}.btn{font-size:12px}.pos-grid{gap:10px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-photo{height:160px}.catalog-body{padding:12px}.catalog-price{font-size:16px}}
.rank-chart{padding:4px 0 8px}.rank-chart-row{margin:0 0 17px}.rank-chart-row:last-child{margin-bottom:0}.rank-chart-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;font-size:12px}.rank-chart-meta span{color:#4f596e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-chart-meta strong{color:#5b54a0;font-size:11px;white-space:nowrap}.rank-chart-track{height:10px;border-radius:7px;background:#f0eff9;overflow:hidden}.rank-chart-track span{height:100%;display:block;border-radius:7px;background:linear-gradient(90deg,#8a7bea,#6557d5)}

/* ModaFlow 1.2: interfaz iPhone y controles tactiles. */
.iphone-tabs,.drawer-backdrop,.iphone-install-tip{display:none}
@media(max-width:820px){
  :root{--radius:17px}
  html{scroll-padding-top:70px}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%;touch-action:pan-x pan-y}
  .app-shell{min-height:100dvh}
  .workspace{width:100%;min-width:0}
  .topbar{height:calc(60px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0;position:sticky;top:0;z-index:18;background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
  .breadcrumb{letter-spacing:.65px}.breadcrumb strong{color:#282c42}
  .header-left,.header-right{gap:8px}.header-right .btn{min-height:39px}
  .main-content{padding:24px 14px calc(114px + env(safe-area-inset-bottom,0px))}
  .sidebar{width:min(305px,87vw);height:100dvh;top:0;overflow-y:auto;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);z-index:49;overscroll-behavior:contain}
  .sidebar.open{transform:translateX(0)}
  .drawer-backdrop{display:block;position:fixed;inset:0;background:rgba(7,12,25,.52);border:0;z-index:45}
  .drawer-backdrop[hidden]{display:none!important}
  .iphone-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:39;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom,0px));padding:5px 6px calc(5px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);box-shadow:0 -5px 30px rgba(31,35,62,.08);border-top:1px solid #e7e8f0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
  .iphone-tab{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;border:0;border-radius:13px;background:transparent;color:#818a9c;font-weight:700;font-size:10px;min-width:0;min-height:46px;line-height:1.15;-webkit-tap-highlight-color:transparent}
  .iphone-tab.active{color:#6555d8;background:#f2efff}
  .tab-glyph{font-size:23px;line-height:1.15;font-weight:650}
  .mobile-menu{min-width:40px;min-height:42px}
  #toastRoot{right:12px;left:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));align-items:stretch;pointer-events:none}
  #toastRoot .toast{width:100%;max-width:none;text-align:center}
  .modal-backdrop{padding:env(safe-area-inset-top,0px) 0 0;align-items:flex-end;z-index:60}
  .modal{width:100%!important;max-width:100%!important;max-height:calc(100dvh - 12px - env(safe-area-inset-top,0px));border-radius:22px 22px 0 0;overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0px)}
  .modal-body{max-height:calc(100dvh - 116px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));overflow:auto;-webkit-overflow-scrolling:touch}
  .modal-head{padding:18px 18px 14px}.modal-head h2{font-size:18px}
  .modal-footer .btn{flex:1}
  .btn,.nav-btn,.lookup-item,.mini-link,.qty-controls button{min-height:43px;touch-action:manipulation}
  .input,.select,.textarea,input[type=date],input[type=number],input[type=tel],input[type=email]{font-size:16px!important;min-height:44px}
  .data-table{font-size:12px}.data-table th,.data-table td{padding:10px 9px}
  .table-wrap{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
  .page-head{gap:13px}.page-overline{margin-bottom:7px}.page-head h1{font-size:25px;line-height:1.15}
  .page-head .head-actions{display:flex}.page-head .head-actions>.btn{flex:1}
  .panel{border-radius:16px}.stat-card{border-radius:15px}
  .checkout-card{padding-bottom:20px}
  .sidebar-foot{padding-bottom:15px}
  .iphone-install-tip{position:fixed;z-index:47;bottom:calc(70px + env(safe-area-inset-bottom,0px));left:12px;right:12px;border:1px solid #dcd6ff;border-radius:17px;box-shadow:0 12px 35px #1f21542b;background:#fff;padding:15px 42px 15px 17px;color:#272941}
  .iphone-install-tip:not([hidden]){display:block}
  .iphone-install-tip strong{font-size:13px}.iphone-install-tip p{font-size:12px;line-height:1.4;margin:5px 0 0;color:#6b7284}
  .tip-close{position:absolute;right:10px;top:9px;border:0;background:#f1effa;width:29px;height:29px;border-radius:50%;font-size:19px;color:#60607a}
}
@media(max-width:390px){
  .topbar{padding-left:10px;padding-right:10px}.header-right .btn{font-size:11px;padding:8px}
  .breadcrumb{font-size:9px}.breadcrumb span{padding:0 5px}
  .main-content{padding-left:11px;padding-right:11px}
  .stat-card{padding:13px}.stat-value{font-size:19px}
  .catalog-photo{height:138px}.catalog-grid{gap:8px}
}
@media (display-mode:standalone){
  .iphone-install-tip{display:none!important}
}

/* ModaFlow 2.0: login privado, administración y vista iPhone. */
[hidden]{display:none!important}
body:not(.modaflow-unlocked) .iphone-tabs,
body:not(.modaflow-unlocked) .iphone-install-tip,
body:not(.modaflow-unlocked) #drawerBackdrop{display:none!important}
.account-sidebar{padding:10px 15px 6px;display:flex;flex-direction:column;gap:7px}
.account-sidebar button{min-height:40px;border:1px solid #ffffff2c;border-radius:10px;background:#ffffff14;color:#e8f1ff;font-weight:700;cursor:pointer}
.account-sidebar #adminAccess{background:#756ce3;border-color:transparent;color:#fff}
.account-sidebar small{font-size:11px;color:#a8b7c9;line-height:1.4}
.auth-gate{position:fixed;inset:0;z-index:110;background:radial-gradient(circle at 18% 8%,#3d415c 0%,#161c31 40%,#0b1020 100%);display:flex;align-items:center;justify-content:center;overflow:auto;padding:clamp(20px,4vw,55px);padding-top:calc(25px + env(safe-area-inset-top,0px));padding-bottom:calc(25px + env(safe-area-inset-bottom,0px));font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif}
.auth-card{background:#fff;width:min(100%,420px);border-radius:23px;padding:clamp(25px,5vw,42px);box-shadow:0 25px 90px #0007;color:#283149}
.auth-symbol{width:55px;height:55px;display:grid;place-items:center;border-radius:16px;color:white;font-weight:900;font-size:27px;background:linear-gradient(135deg,#7165de,#3e519a);box-shadow:0 10px 25px #605ad855}
.auth-brand{font-size:13px;letter-spacing:2px;font-weight:900;margin-top:18px;color:#3f465a}.auth-brand span{color:#756ce3}
.auth-card h1{font-size:27px;letter-spacing:-1.15px;margin:10px 0 8px;line-height:1.17}.auth-intro{color:#8590a4;font-size:13px;line-height:1.55;margin:0 0 22px}
.auth-card label,.create-user-form label,.account-editor label{display:flex;flex-direction:column;gap:6px;font-weight:750;color:#404a60;font-size:12px;margin-bottom:15px}
.auth-card input,.create-user-form input,.account-editor input{appearance:none;border:1px solid #dce0ec;border-radius:11px;padding:13px 14px;font-size:16px;background:#f9faff;color:#20293e;outline:none;min-width:0;width:100%;box-sizing:border-box}
.auth-card input:focus,.create-user-form input:focus,.account-editor input:focus{border-color:#8072e5;box-shadow:0 0 0 3px #7c72e51b}
.auth-card button[type=submit],.create-user-form button[type=submit]{border:0;border-radius:11px;padding:14px 16px;background:#6658d7;color:#fff;font-size:14px;font-weight:850;cursor:pointer;width:100%}
.auth-card button:disabled,.admin-shell button:disabled{opacity:.5;cursor:wait}
.auth-helper{font-size:12px;color:#9ca4b3;line-height:1.6;margin:15px 0 0}.auth-message{font-size:12px;line-height:1.55;color:#52658a;min-height:18px;margin-top:16px}.auth-error{color:#c54057!important}
.setup-pill{display:inline-block;background:#eeedff;color:#5b51c9;font-size:10px;font-weight:900;padding:7px 10px;border-radius:8px;margin-bottom:15px;letter-spacing:1px}
.auth-setup-notice{background:#fbf6ec;border:1px solid #eacba0;padding:15px;border-radius:12px;font-size:13px;line-height:1.6}.auth-setup-notice p{color:#806a4f;font-size:12px;overflow-wrap:anywhere}
.admin-shell{position:fixed;inset:0;z-index:100;background:#f4f5fa;overflow:auto;padding:24px 16px 80px;font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#253047}
.admin-content{max-width:1050px;margin:0 auto}.admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;padding:17px 0 25px}.admin-top small{color:#7363cd;font-weight:900;letter-spacing:1.5px}.admin-top h2{font-size:clamp(26px,4vw,36px);letter-spacing:-1.1px;margin:7px 0}.admin-top p{font-size:14px;color:#8d94a4}.admin-close{border:1px solid #d9dce8;background:white;color:#505a71;border-radius:12px;min-height:42px;padding:9px 14px;font-weight:750;cursor:pointer}
.admin-new,.admin-accounts,.admin-legacy{background:#fff;border:1px solid #e3e5ee;border-radius:16px;padding:24px;margin-bottom:16px;box-shadow:0 4px 18px #1b22400b}.admin-new h3,.admin-accounts h3,.admin-legacy h3{margin:0 0 20px;font-size:17px}
.create-user-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}.create-user-form label{margin:0}.create-user-form button[type=submit]{grid-column:1/-1;width:max-content;min-width:180px}
.accounts-title{display:flex;justify-content:space-between;gap:8px;align-items:center}.accounts-title span{color:#9ba3b1;font-size:12px}.admin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-card{border:1px solid #e6e8ee;border-radius:13px;padding:16px;min-width:0;background:#fafbff}.account-main{display:flex;gap:10px;align-items:center;justify-content:space-between}.account-main strong{font-size:17px}.account-small{display:block;color:#8a92a5;font-size:12px;line-height:1.7;margin-top:4px}.account-open,.account-editor button,.admin-legacy button{border:1px solid #d3d3ed;border-radius:9px;background:#f2f0ff;color:#5147aa;padding:10px 11px;min-height:40px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.account-editor{border-top:1px solid #e5e8f0;margin-top:15px;padding-top:13px}.editor-grid{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:end;margin:11px 0}.editor-grid label{margin:0}.editor-grid>span{font-size:12px;font-weight:700}.device-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:11px 0;border-top:1px solid #e5e8ef}.device-row span{min-width:0;overflow-wrap:anywhere}.device-row strong{font-size:12px}.device-row small{display:block;font-size:11px;color:#9aa0ad}.devices-caption{font-size:12px;font-weight:900;margin:22px 0 8px}.delete-account{width:100%;margin-top:16px;border-color:#fae1e3!important;background:#fff2f3!important;color:#b52f49!important}.admin-legacy p{font-size:12px;line-height:1.6;color:#8894a9;max-width:740px}.empty-accounts{color:#9ba3b1;font-size:12px}
#adminMessage{font-size:12px;margin-bottom:12px;min-height:10px;color:#6862b5}
@media(max-width:850px){.admin-list{grid-template-columns:1fr}.create-user-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.auth-card{padding:26px 22px}.auth-card h1{font-size:25px}.create-user-form{grid-template-columns:1fr}.create-user-form button[type=submit]{width:100%}.admin-top{flex-direction:column}.admin-new,.admin-accounts,.admin-legacy{padding:17px}.accounts-title{flex-direction:column;align-items:flex-start}.account-main{align-items:flex-start}.editor-grid{grid-template-columns:1fr}.editor-grid button{width:100%}.admin-shell{padding:14px 11px 90px}}

.conflict-panel{position:fixed;inset:0;z-index:125;display:flex;align-items:center;justify-content:center;background:#080d1ad9;padding:18px;overflow:auto}
.conflict-card{background:white;color:#243047;width:min(100%,510px);padding:27px;border-radius:21px;box-shadow:0 25px 90px #0005}
.conflict-card h2{font-size:23px;margin:16px 0 8px;line-height:1.25}.conflict-card p{font-size:13px;line-height:1.7;color:#8490a5}
.conflict-actions{display:flex;flex-direction:column;gap:8px;margin-top:18px}.conflict-actions button{min-height:45px;border-radius:10px;border:1px solid #d9daed;font-weight:750;cursor:pointer;background:#f2f1ff;color:#5146af}
.conflict-actions button:first-child{background:#6759d9;color:#fff;border:0}.conflict-actions button:last-child{background:#fff;color:#6e7589}

/* A&B 2.0: catálogo más compacto; el resto del panel conserva sus tamaños. */
.catalog-grid{grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:12px}
.catalog-photo{height:175px;background:#fff;padding:8px}
.catalog-photo img{object-fit:contain}
.catalog-body{padding:11px 12px}
.catalog-body strong{font-size:13px}
.catalog-price{font-size:17px}
.cash-section{margin-top:18px;padding:15px;background:#f6f6ff;border:1px solid #dfddf8;border-radius:11px}
.cash-section label{display:block;color:#424661;font-weight:750;font-size:13px}
.cash-section input{display:block;margin-top:8px}
.change-preview{display:flex;justify-content:space-between;align-items:center;margin-top:13px;gap:10px;color:#535c72}
.change-preview strong{font-size:20px;color:#198d68}
.change-preview strong.insufficient{color:#d45463}
.bg-checkbox{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;font-weight:750;color:#50556b}
.bg-checkbox input{accent-color:#6857d8}
.autobackup-panel{display:flex;flex-wrap:wrap;align-items:center;gap:13px;padding:15px;margin-top:16px;border-radius:12px;background:#f8f9fd;border:1px solid #e5e8f2}
.autobackup-panel label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750}
.autobackup-panel input[type=number]{max-width:95px;min-width:70px}
.autobackup-panel small{color:#8992a1;line-height:1.5;width:100%}
.auth-symbol{font-size:17px;letter-spacing:-.7px}
@media(max-width:820px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.catalog-photo{height:140px;padding:7px}.catalog-body{padding:9px 10px}}
@media(max-width:390px){.catalog-photo{height:115px}}

/* A&B 2.1: temas por comercio, toda la interfaz reacciona al color elegido. */
:root{--ab2-accent:#6757d6;--ab2-soft:#f1eeff;--ab2-nav:#151b2b;--ab2-canvas:#f6f7fb;--ab2-surface:#fff;--ab2-ink:#182037;--ab2-line:#e3e7ef;--ab2-muted:#788497}
html,body,.workspace{background:var(--ab2-canvas);color:var(--ab2-ink)}
.sidebar{background:var(--ab2-nav)}.brand-mark,.auth-symbol{background:var(--ab2-accent)}
.brand-text strong{color:#fff}.brand-text small{color:#c4c9d6}
.nav-btn.active{background:var(--ab2-accent);color:#fff}.nav-btn:hover{background:var(--ab2-accent);color:#fff}.nav-icon{color:#b7b4ea}
.sidebar #adminAccess{background:var(--ab2-accent);color:#fff}.sidebar-foot{border-color:#ffffff22}
.topbar,.stat-card,.panel,.settings-card,.catalog-card,.modal,.checkout-card,.auth-card,.admin-new,.admin-accounts,.admin-legacy,.account-card,.iphone-tabs{background:var(--ab2-surface);border-color:var(--ab2-line);color:var(--ab2-ink)}
.stat-card,.panel,.settings-card,.data-table td,.data-table td strong,.page-head h1,.panel-title,.stat-value,.summary-total,.catalog-body strong{color:var(--ab2-ink)}
.input,.select,.textarea,.auth-card input,.create-user-form input,.account-editor input{background:var(--ab2-surface);color:var(--ab2-ink);border-color:var(--ab2-line)}
.breadcrumb strong,.field label,.form-field label,.data-table td{color:var(--ab2-ink)}
.btn-primary,.auth-card button[type=submit],.create-user-form button[type=submit],.btn-dark,.account-sidebar #adminAccess{background:var(--ab2-accent);color:#fff}
.btn-primary:hover,.btn-dark:hover{background:var(--ab2-accent);filter:brightness(.89)}
.btn-outline,.stat-ico,.account-open,.account-editor button,.admin-legacy button,.iphone-tab.active{background:var(--ab2-soft);color:var(--ab2-accent);border-color:var(--ab2-line)}
.btn-ghost,.mini-link,.page-overline,.admin-top small,.auth-brand span,.rank-chart-meta strong{color:var(--ab2-accent)}
.rank-chart-track,.stat-ico,.autobackup-panel,.cash-section{background:var(--ab2-soft)}
.rank-chart-track span,.chart-bar{background:var(--ab2-accent)}
.auth-gate{background:radial-gradient(circle at 20% 15%,var(--ab2-accent),var(--ab2-nav) 65%,#090c13 100%)}
.auth-symbol{box-shadow:0 10px 25px #0002}.auth-card h1,.auth-brand{color:var(--ab2-ink)}
.admin-shell{background:var(--ab2-canvas);color:var(--ab2-ink)}.account-card{background:var(--ab2-surface)}
.admin-list .account-small,.stat-help,.small-note,.subheading,.helper{color:var(--ab2-muted)}
.iphone-tabs{background:var(--ab2-surface)}.iphone-tab.active{color:var(--ab2-accent)}
.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin-top:13px}
.theme-choice{display:flex;align-items:center;gap:9px;border:1px solid var(--ab2-line);padding:10px;border-radius:12px;cursor:pointer;font-weight:650}
.theme-choice:has(input:checked){border:2px solid var(--ab2-accent);padding:9px;background:var(--ab2-soft)}
.theme-choice input{accent-color:var(--ab2-accent)}
.theme-chip{display:inline-block;width:35px;height:35px;border-radius:9px;background:linear-gradient(135deg,var(--sample-nav) 0 40%,var(--sample-accent) 40% 70%,var(--sample-bg) 70%);border:1px solid #aaa5;flex:none}
.theme-custom{margin-top:15px;display:flex;align-items:center;gap:11px;flex-wrap:wrap}
.theme-custom input[type=color]{width:55px;height:42px;padding:3px;border-radius:10px;border:1px solid var(--ab2-line);background:transparent;cursor:pointer}
.fiscal-alert{border-left:4px solid var(--ab2-accent);padding:15px!important;line-height:1.6}
.fiscal-link{color:var(--ab2-accent);text-decoration:underline;font-weight:750}
html[data-ab2theme=noche] .notice,html[data-ab2theme=noche] .empty,html[data-ab2theme=noche] .form-field label,html[data-ab2theme=noche] .summary-line,html[data-ab2theme=noche] .stat-top,html[data-ab2theme=noche] .data-table th{color:#d6dcef}
html[data-ab2theme=noche] .notice,html[data-ab2theme=noche] .auth-setup-notice{background:#313d54;color:#eff2fc}
html[data-ab2theme=noche] .input,html[data-ab2theme=noche] .select,html[data-ab2theme=noche] .textarea{color-scheme:dark}
@media(max-width:820px){.topbar,.iphone-tabs{background:var(--ab2-surface)}.theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.theme-options{grid-template-columns:1fr}}

/* A&B 2.3: cobro claro en celulares y preferencias de impresora */
[hidden]{display:none!important}
.cash-quick{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
.cash-quick button{border:1px solid var(--ab2-accent,#6757d6);background:#fff;color:var(--ab2-ink,#182037);border-radius:8px;padding:9px 12px;font-size:12px;font-weight:750;min-height:42px}
.cash-quick button:active{background:var(--ab2-soft,#f1eeff)}
.change-preview{min-height:47px}
.printer-auto-label{display:flex;gap:9px;align-items:center;margin:17px 0;line-height:1.5;font-weight:650}
.printer-auto-label input{width:20px;height:20px;flex:none;accent-color:var(--ab2-accent,#6757d6)}
#thermalPrinterStatus{padding:10px 12px;border:1px solid #dfe4ec;border-radius:8px;margin-top:13px}
@media(max-width:520px){.cash-section{padding:14px}.cash-quick{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.cash-quick button{white-space:normal;min-height:48px}.change-preview{align-items:flex-start;flex-direction:column}.change-preview strong{font-size:26px}}
