:root{--ink:#102a43;--muted:#6b7c93;--line:#dbe5ee;--paper:#f6f8fb;--white:#fff;--teal:#0f766e;--teal-dark:#0d5f59;--orange:#c9793b;--red:#c94f4f;--shadow:0 8px 28px rgba(16,42,67,.06);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
.login-screen{min-height:100vh;background:#102a43;display:grid;grid-template-columns:minmax(320px,520px) minmax(280px,1fr);align-items:stretch;color:#fff}.login-panel{background:#f7fafc;color:var(--ink);padding:clamp(28px,7vw,90px);display:flex;flex-direction:column;justify-content:center}.login-brand{padding:0 0 54px}.login-panel h1{font-size:32px;margin-top:12px}.login-copy{color:var(--muted);font-size:14px;margin-top:10px;line-height:1.55}.login-form{display:grid;gap:15px;margin-top:28px}.login-form label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#486175}.login-form input{height:44px;border:1px solid var(--line);border-radius:6px;padding:0 12px;outline:0;background:#fff;font-size:14px}.login-form input:focus{border-color:#81b8b1;box-shadow:0 0 0 3px #e5f3f0}.login-button{height:44px;display:flex;justify-content:space-between;align-items:center;margin-top:6px}.login-hint{font-size:11px;color:#8193a3;text-align:center;margin-top:4px}.login-error{font-size:12px;color:var(--red);text-align:center}.login-aside{display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(28px,7vw,100px);background:linear-gradient(145deg,#102a43,#164765)}.login-aside strong{font-size:clamp(30px,4vw,54px);line-height:1.04;letter-spacing:-.045em;max-width:480px}.login-aside>span:last-child{font-size:14px;color:#b8ccda;max-width:370px;line-height:1.6}
*{box-sizing:border-box}body{margin:0;background:var(--paper);font-size:15px}button,input{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none}.app-shell{min-height:100vh;display:flex}.sidebar{width:250px;background:#102a43;color:#dce8f1;padding:24px 16px 18px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:11px;padding:0 10px 28px}.brand-mark{width:34px;height:34px;background:#f7c873;color:#102a43;border-radius:9px;display:grid;place-items:center;font-weight:800;font-size:19px}.brand strong{display:block;font-size:18px;letter-spacing:.02em;color:#fff}.brand span{display:block;font-size:11px;color:#9cb2c7;margin-top:2px;letter-spacing:.04em}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:700}.sidebar .eyebrow{color:#8fa9bd}.branch-picker{position:relative;margin:0 6px 30px}.branch-button{width:100%;display:flex;justify-content:space-between;align-items:center;color:#fff;background:#1b3b57;padding:11px 12px;border-radius:7px;margin-top:8px;font-size:13px}.branch-button>span:first-child{display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:99px;background:#67d391;display:inline-block}.chevron{color:#98aec0}.branch-menu{position:absolute;z-index:10;left:0;right:0;top:73px;background:#fff;color:var(--ink);border-radius:7px;box-shadow:var(--shadow);overflow:hidden}.branch-menu button{display:flex;justify-content:space-between;width:100%;padding:11px 12px;font-size:13px;text-align:left}.branch-menu button:hover{background:#f1f7f8}.branch-menu small{color:var(--muted)}.nav-list{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:11px;color:#aac0d0;padding:11px 12px;border-radius:7px;text-align:left;font-size:14px}.nav-item:hover{background:#18364f;color:#fff}.nav-item.active{background:#eaf5f3;color:#102a43;font-weight:700}.nav-icon{width:18px;text-align:center;font-size:16px}.nav-count{margin-left:auto;font-size:11px;padding:2px 6px;border-radius:20px;background:#d9eee9;color:var(--teal-dark)}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(220,232,241,.15);padding:16px 4px 0;display:flex;align-items:center;gap:8px;font-size:12px;color:#93a9bb}.user-chip{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.avatar{width:31px;height:31px;border-radius:50%;background:#f7c873;color:#102a43;display:grid;place-items:center;font-weight:800;font-size:11px}.user-chip strong,.user-chip span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-chip strong{font-size:12px;color:#eaf2f7}.user-chip span{font-size:10px;color:#8fa9bd;margin-top:2px}.more-button{color:#9ab0c0;padding:4px}.help-link{width:19px;height:19px;border:1px solid #7792a8;border-radius:50%;display:grid;place-items:center;font-size:11px}.main-content{margin-left:250px;width:calc(100% - 250px);padding:28px 34px 48px;max-width:1600px}.topbar{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:27px}.breadcrumb{color:var(--muted);font-size:12px;margin:0 0 9px}.breadcrumb span{margin:0 8px;color:#a8b5c0}.breadcrumb strong{color:var(--ink)}h1,h2,h3,p{margin:0}h1{font-size:27px;letter-spacing:-.03em}h2{font-size:20px;letter-spacing:-.02em}h3{font-size:17px}.top-actions{display:flex;align-items:center;gap:17px}.date-label{font-size:12px;color:var(--muted)}.icon-button{font-size:21px;color:#5d7487;position:relative}.notification-dot{position:absolute;width:6px;height:6px;background:#d75c55;border-radius:50%;right:0;top:2px}.primary-button{background:var(--teal);color:#fff;border-radius:6px;padding:11px 16px;font-size:13px;font-weight:700;box-shadow:0 3px 0 rgba(13,95,89,.12)}.primary-button:hover{background:var(--teal-dark)}.primary-button.compact{padding:10px 13px}.view{display:none}.view.active{display:block}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:21px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:17px 18px;box-shadow:var(--shadow)}.stat-card.alert{border-color:#efd5c2}.stat-label{display:block;color:var(--muted);font-size:12px;margin-bottom:11px}.stat-card strong{display:block;font-size:25px;letter-spacing:-.03em}.stat-trend{display:block;margin-top:10px;font-size:11px;font-weight:700}.stat-trend em{font-style:normal;color:var(--muted);font-weight:500}.positive{color:var(--teal)}.neutral{color:#8b6b42}.warning{color:var(--orange)}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 355px;gap:20px}.surface{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.sale-surface{padding:22px}.surface-head,.cart-head{display:flex;justify-content:space-between;align-items:flex-start}.surface-head h2{margin-top:6px}.sale-type{display:flex;gap:4px;background:#f0f4f7;padding:3px;border-radius:6px}.sale-tab{padding:8px 12px;border-radius:4px;font-size:12px;color:var(--muted)}.sale-tab.active{background:#fff;color:var(--ink);font-weight:700;box-shadow:0 1px 4px rgba(16,42,67,.1)}.search-row{display:flex;gap:10px;margin:24px 0 14px}.search-box{display:flex;align-items:center;gap:9px;border:1px solid var(--line);height:40px;border-radius:6px;padding:0 11px;flex:1;color:#7f94a6;background:#fff}.search-box:focus-within{border-color:#81b8b1;box-shadow:0 0 0 3px #e5f3f0}.search-box input{border:0;outline:0;width:100%;color:var(--ink);background:transparent;font-size:13px}.search-box kbd{font-size:10px;border:1px solid var(--line);border-radius:3px;padding:3px 5px;color:#8da0af;white-space:nowrap}.search-box.small{max-width:270px}.outline-button{display:inline-flex;align-items:center;gap:10px;height:40px;border:1px solid var(--line);border-radius:6px;padding:0 12px;font-size:12px;background:#fff;color:#486175}.outline-button:hover{border-color:#9cb9c9;color:var(--ink)}.category-row{display:flex;gap:7px;margin-bottom:19px}.category-chip{font-size:12px;color:#597083;padding:7px 11px;border-radius:30px;border:1px solid var(--line)}.category-chip.active{background:#e6f3f0;border-color:#c5e6df;color:var(--teal-dark);font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.product-card{border:1px solid var(--line);border-radius:7px;padding:13px;text-align:left;min-height:112px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;transition:.15s}.product-card:hover{border-color:#85bcb4;box-shadow:0 5px 14px rgba(15,118,110,.08);transform:translateY(-1px)}.product-card.out{opacity:.52}.product-top{display:flex;justify-content:space-between;gap:8px}.product-name{font-size:13px;font-weight:700;line-height:1.25}.product-code{font-size:10px;color:#9babb8;margin-top:4px}.product-price{font-size:15px;font-weight:800;color:var(--ink)}.product-bottom{display:flex;align-items:end;justify-content:space-between}.stock{font-size:10px;color:var(--muted)}.stock.low{color:var(--orange);font-weight:700}.stock.none{color:var(--red);font-weight:700}.cart-surface{padding:22px;display:flex;flex-direction:column;min-height:590px}.cart-head h2{margin-top:6px}.text-button{font-size:12px;color:var(--teal);font-weight:700;padding:3px}.text-button:hover{text-decoration:underline}.cart-items{flex:1;min-height:210px;padding:15px 0}.empty-cart{height:210px;border:1px dashed #cbd8e2;border-radius:7px;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#8193a3;gap:5px}.empty-cart strong{font-size:13px;color:#536b7e}.empty-cart span:last-child{font-size:11px}.empty-icon{font-size:21px;color:#93b1bf}.cart-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 0;border-bottom:1px solid #eef2f5}.cart-item-name{font-size:13px;font-weight:700}.cart-item-meta{font-size:11px;color:var(--muted);margin-top:4px}.cart-item-price{font-size:13px;font-weight:700}.qty-control{display:flex;align-items:center;gap:8px;margin-top:7px}.qty-control button{width:20px;height:20px;border:1px solid var(--line);border-radius:4px;color:var(--teal);font-weight:700}.qty-control span{font-size:12px;min-width:10px;text-align:center}.cart-summary{border-top:1px solid var(--line);padding-top:13px;display:grid;gap:9px}.cart-summary>div{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.cart-summary strong{color:var(--ink)}.discount-link{color:var(--teal);font-size:12px}.total-line{padding-top:7px;margin-top:2px;border-top:1px solid #eef2f5;font-size:14px!important;color:var(--ink)!important}.total-line strong{font-size:21px}.payment-options{padding:19px 0 15px}.payment-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.payment-button{border:1px solid var(--line);font-size:11px;border-radius:5px;padding:8px 4px;color:#60778a}.payment-button.active{background:#edf7f5;border-color:#a8d7cf;color:var(--teal-dark);font-weight:700}.checkout-button{width:100%;display:flex;justify-content:space-between;align-items:center}.checkout-button:disabled{opacity:.45;cursor:not-allowed}.customer-field{display:grid;gap:7px;padding:15px 0 2px}.customer-field label{font-size:11px;color:var(--muted);font-weight:700}.customer-field input{height:35px;border:1px solid var(--line);border-radius:5px;padding:0 9px;font-size:12px;outline:0}.customer-field input:focus{border-color:#81b8b1}.view-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.view-toolbar h2{margin-top:6px}.toolbar-actions{display:flex;gap:8px}.order-filters{display:flex;gap:8px;margin-bottom:14px}.filter-pill{border:1px solid var(--line);border-radius:30px;padding:8px 12px;font-size:12px;color:#5c7385}.filter-pill span{margin-left:5px;color:#9aaab5}.filter-pill.active{background:#e6f3f0;border-color:#c5e6df;color:var(--teal-dark);font-weight:700}.table-surface{overflow:hidden}.table-head{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr .8fr 1fr 20px;gap:12px;padding:13px 18px;background:#f7fafc;color:#8293a2;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.table-row{display:grid;grid-template-columns:1.2fr 1.2fr .8fr 1fr .8fr 1fr 20px;gap:12px;align-items:center;padding:15px 18px;border-top:1px solid #edf1f4;font-size:12px}.order-id{font-weight:800}.order-time{display:block;color:#9aaab5;font-size:10px;margin-top:4px}.muted{color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:20px;padding:5px 8px;font-size:10px;font-weight:700;white-space:nowrap}.badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}.badge.green{background:#e7f5ef;color:#26845e}.badge.orange{background:#fbf0e4;color:#b66e32}.badge.blue{background:#e8f0f8;color:#46749f}.badge.red{background:#fcebea;color:#ba5551}.row-menu{color:#8293a2}.inventory-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.inventory-summary>div{background:#fff;border:1px solid var(--line);padding:16px 18px;border-radius:8px}.inventory-summary span{display:block;color:var(--muted);font-size:11px;margin-bottom:9px}.inventory-summary strong{font-size:20px}.text-warning{color:var(--orange)}.inventory-toolbar{display:flex;gap:9px;padding:16px 18px;border-bottom:1px solid var(--line)}.inventory-head,.inventory-row{grid-template-columns:1.6fr 1fr 1fr .8fr .8fr 1fr 20px}.inventory-row .product-name{font-size:12px}.quantity{font-weight:800}.quantity.low{color:var(--orange)}.quantity.out{color:var(--red)}.report-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px}.chart-surface,.ranking-surface{padding:21px}.chart-surface h3{font-size:25px;margin-top:7px}.chart-surface h3 small{font-size:11px;color:var(--teal);vertical-align:middle;margin-left:5px}.chart-legend{font-size:11px;color:var(--muted)}.chart-legend i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--teal);margin-right:5px}.bars{height:220px;display:flex;align-items:end;gap:14px;padding:28px 10px 0;border-bottom:1px solid var(--line);margin-top:15px}.bar{background:#a9d8d1;flex:1;max-width:47px;border-radius:5px 5px 0 0;position:relative}.bar.current{background:var(--teal)}.bar:after{content:attr(data-value);position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:10px;color:#7d919f}.axis{display:flex;justify-content:space-between;color:#9aaab5;font-size:10px;padding:9px 9px 0}.ranking-surface h3{margin-top:7px}.ranking-list{margin-top:20px}.ranking-list>div{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:14px 0;border-bottom:1px solid #edf1f4;font-size:12px}.ranking-list b{color:#9aaab5;font-size:11px}.ranking-list strong{font-size:12px}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}.settings-card{padding:20px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:13px}.settings-icon{width:38px;height:38px;background:#e8f3f1;border-radius:7px;display:grid;place-items:center;color:var(--teal);font-size:18px}.settings-card h3{font-size:14px}.settings-card p{font-size:12px;color:var(--muted);margin-top:5px;line-height:1.5}.toast{position:fixed;right:25px;bottom:25px;background:#102a43;color:#fff;border-radius:6px;padding:12px 16px;font-size:13px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:none}@media(max-width:1100px){.sidebar{width:220px}.main-content{margin-left:220px;width:calc(100% - 220px);padding:24px}.workspace-grid{grid-template-columns:1fr}.cart-surface{min-height:0}.product-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.sidebar{width:68px;padding:20px 9px}.brand{padding:0 6px 28px}.brand>div:last-child,.branch-picker,.nav-item:not(.active)::after,.nav-item{font-size:0}.brand-mark{margin:auto}.nav-item{justify-content:center;padding:12px 5px}.nav-icon{font-size:17px}.nav-item.active{font-size:0}.nav-item.active .nav-icon{font-size:17px}.nav-count,.sidebar-footer{display:none}.main-content{margin-left:68px;width:calc(100% - 68px);padding:20px 15px}.topbar{gap:15px}.top-actions .date-label{display:none}.top-actions{gap:8px}.primary-button.compact{font-size:11px;padding:9px}.stats-row{grid-template-columns:repeat(2,1fr)}.sale-surface{padding:16px}.sale-type{margin-top:11px}.surface-head{display:block}.search-row{flex-direction:column}.product-grid{grid-template-columns:repeat(2,1fr)}.table-surface{overflow-x:auto}.table-head,.table-row{min-width:760px}.inventory-summary{grid-template-columns:repeat(2,1fr)}.report-grid,.settings-grid{grid-template-columns:1fr}.view-toolbar{align-items:flex-start;gap:14px;flex-direction:column}.toolbar-actions{width:100%}.toolbar-actions .primary-button,.toolbar-actions .outline-button{flex:1}.category-row{overflow-x:auto;padding-bottom:3px}.category-chip{white-space:nowrap}}
.inventory-head,.inventory-row{grid-template-columns:1.5fr .9fr .9fr 1fr 1fr 1fr 20px}.product-head,.product-row{grid-template-columns:1.5fr .9fr .7fr 1fr 1fr .8fr 20px}.catalog-note{font-size:12px;color:var(--muted);align-self:center;margin-left:auto}.edit-link{color:var(--teal);font-weight:700;font-size:11px}.margin-positive{color:var(--teal);font-weight:700}.modal-backdrop{position:fixed;inset:0;background:rgba(16,42,67,.45);display:grid;place-items:center;padding:20px;z-index:20}.modal-backdrop[hidden]{display:none}.modal{width:min(560px,100%);background:#fff;border-radius:10px;box-shadow:0 20px 70px rgba(16,42,67,.28);padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px}.modal-head h2{margin-top:6px}.modal-close{font-size:25px;line-height:1;color:#8293a2;padding:0 4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-grid label,.modal form>label{display:grid;gap:7px;font-size:12px;color:#486175;font-weight:700}.form-grid input,.form-grid select,.modal form>label input,.modal form>label select{width:100%;height:39px;border:1px solid var(--line);border-radius:6px;padding:0 10px;background:#fff;color:var(--ink);outline:0;font-size:13px;font-weight:400}.form-grid input:focus,.form-grid select:focus,.modal form>label input:focus,.modal form>label select:focus{border-color:#81b8b1;box-shadow:0 0 0 3px #e5f3f0}.compact-grid{margin:15px 0}.form-hint{margin:18px 0 0;padding:11px 12px;background:#f4f8fa;border-radius:6px;color:var(--muted);font-size:11px;line-height:1.5}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.modal-actions .outline-button{height:40px}.settings-card .text-button{white-space:nowrap}@media(max-width:600px){.modal{padding:18px}.form-grid{grid-template-columns:1fr}.catalog-note{display:none}}
.home-summary,.home-action,.home-date{transition:background .2s,color .2s,border-color .2s}.login-screen[hidden]{display:none}@media(max-width:900px){.home-actions{grid-template-columns:repeat(2,1fr)}.login-screen{grid-template-columns:1fr}.login-aside{display:none}}@media(max-width:760px){.menu-toggle{display:block;position:fixed;z-index:8;top:17px;left:80px}.sidebar{transform:translateX(-100%);transition:transform .2s;z-index:7;box-shadow:10px 0 30px rgba(16,42,67,.18)}.app-shell.menu-open .sidebar{transform:translateX(0)}.app-shell.menu-open:after{content:"";position:fixed;inset:0;background:rgba(16,42,67,.35);z-index:6}.main-content{padding-top:56px}.topbar{padding-left:0}.home-welcome{display:block}.home-date{margin-top:15px;width:max-content}.home-actions{grid-template-columns:1fr;gap:11px}.home-action{min-height:142px;padding:18px}.home-action-icon{margin-bottom:14px}.home-action>span:not(.home-action-icon){min-height:0}.home-metrics{grid-template-columns:1fr;gap:10px}.home-metrics>div,.home-metrics>div:first-child{border-left:0;border-top:1px solid var(--line);padding:12px 0}.home-metrics>div:first-child{border-top:0}.login-panel{padding:32px 24px}.login-brand{padding-bottom:42px}.login-panel h1{font-size:28px}}
.product-card{overflow:hidden}.product-thumb{width:100%;height:62px;object-fit:cover;border-radius:5px;margin-bottom:9px}.product-thumb-fallback{display:grid;place-items:center;background:#f1f5f7;font-size:27px}.phone-lookup{display:grid;grid-template-columns:1fr auto;gap:7px}.phone-lookup .outline-button{height:35px}.customer-alert{font-size:11px;padding:8px 10px;border-radius:5px;background:#fff2e7;color:#a65d2a}.customer-alert.found{background:#e7f5ef;color:#26845e}.customer-alert button{color:inherit;text-decoration:underline;font-weight:800}.customer-head,.customer-row{grid-template-columns:1.3fr 1fr 1.5fr .7fr 1fr 60px}.coupon-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:17px}.coupon-hero,.coupon-rules{padding:22px}.coupon-toggle-row{display:flex;align-items:center;justify-content:space-between}.coupon-hero h3,.coupon-rules h3{margin-top:7px}.coupon-hero>p,.coupon-rules>p{color:var(--muted);font-size:13px;line-height:1.55;margin:14px 0 20px}.toggle{width:45px;height:25px;border-radius:20px;background:#cad7df;padding:3px}.toggle span{display:block;width:19px;height:19px;border-radius:50%;background:#fff;transition:.2s}.toggle[aria-pressed=true]{background:var(--teal)}.toggle[aria-pressed=true] span{transform:translateX(20px)}.coupon-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}.coupon-fields label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#486175}.coupon-fields input{height:38px;border:1px solid var(--line);border-radius:5px;padding:0 9px;outline:0}.coupon-example{border:1px dashed #d9b27f;background:#fff7ed;border-radius:7px;padding:18px;display:grid;gap:8px;color:#9b6331}.coupon-example span{font-size:11px;text-transform:uppercase;letter-spacing:.1em}.coupon-example strong{font-size:23px;color:#7e4d25}.coupon-example b{font-size:12px}.login-screen[hidden]{display:none}
.home-action{color:#102a43}.home-action strong{color:#102a43}.home-action>span:not(.home-action-icon){color:#486175}.home-action-icon{font-size:25px;line-height:1}.action-sales .home-action-icon,.action-products .home-action-icon,.action-stock .home-action-icon,.action-orders .home-action-icon{display:grid;place-items:center}.action-sales b{color:#0d5f59}.action-products b{color:#78518e}.action-stock b{color:#a65d2a}.action-orders b{color:#41668f}[data-theme=dark] .home-action{color:#102a43}[data-theme=dark] .home-action strong{color:#102a43}[data-theme=dark] .home-action>span:not(.home-action-icon){color:#486175}[data-theme=dark] .home-date{background:#142a39;color:#e8f0f4;border-color:#304858}[data-theme=dark] .home-date strong{color:#e8f0f4}
.app-shell.menu-open .nav-item{font-size:14px;justify-content:flex-start}.app-shell.menu-open .brand>div:last-child,.app-shell.menu-open .branch-picker,.app-shell.menu-open .sidebar-footer{display:flex}.app-shell.menu-open .nav-count{display:block}
.sale-mode-picker{margin-bottom:20px}.section-intro{margin-bottom:12px}.section-intro p{color:var(--muted);font-size:12px;margin-top:5px}.sale-mode-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.sale-mode-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:16px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;min-height:145px;transition:.15s}.sale-mode-card:hover,.sale-mode-card.selected{border-color:#73b4ab;box-shadow:0 7px 20px rgba(15,118,110,.1)}.sale-mode-card.selected{background:#edf8f5}.sale-mode-icon{font-size:26px;margin-bottom:13px}.sale-mode-card strong{font-size:15px;color:var(--ink)}.sale-mode-card>span:not(.sale-mode-icon){color:var(--muted);font-size:11px;line-height:1.45;margin-top:6px}.sale-mode-card b{font-size:11px;color:var(--teal-dark);margin-top:auto;padding-top:11px}.inventory-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.inventory-action-card{background:#fff;border:1px solid var(--line);border-radius:8px;text-align:left;padding:16px;min-height:130px;display:flex;flex-direction:column;align-items:flex-start;transition:.15s}.inventory-action-card:hover,.inventory-action-card.featured{border-color:#88c0b8;box-shadow:0 7px 20px rgba(15,118,110,.08)}.inventory-action-card.featured{background:#edf8f5}.inventory-action-card>span{font-size:23px;color:var(--teal);margin-bottom:12px}.inventory-action-card strong{font-size:14px}.inventory-action-card small{color:var(--muted);line-height:1.45;margin-top:6px;font-size:11px}.inventory-table-surface{margin-top:2px}@media(max-width:900px){.sale-mode-grid{grid-template-columns:1fr}.sale-mode-card{min-height:116px}.inventory-actions{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.inventory-actions{grid-template-columns:1fr}.inventory-action-card{min-height:105px}}
.home-welcome{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.home-welcome h1{margin-top:7px}.home-welcome p{color:var(--muted);margin-top:8px}.home-date{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted);background:#fff;border:1px solid var(--line);padding:10px 12px;border-radius:6px}.home-date strong{color:var(--ink)}.home-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.home-action{min-height:190px;border-radius:9px;padding:22px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;box-shadow:var(--shadow);transition:.15s}.home-action:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,42,67,.12)}.home-action-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;font-size:20px;margin-bottom:24px}.home-action strong{font-size:18px}.home-action>span:not(.home-action-icon){font-size:12px;line-height:1.5;color:var(--muted);margin-top:7px;min-height:38px}.home-action b{font-size:12px;margin-top:auto;padding-top:18px}.action-sales{background:#e9f5f2}.action-sales .home-action-icon{background:#c4e7df;color:var(--teal-dark)}.action-sales b{color:var(--teal-dark)}.action-products{background:#f4edf8}.action-products .home-action-icon{background:#e3d2ef;color:#78518e}.action-products b{color:#78518e}.action-stock{background:#fff2e7}.action-stock .home-action-icon{background:#f4d6b9;color:#a65d2a}.action-stock b{color:#a65d2a}.action-orders{background:#eaf0f8}.action-orders .home-action-icon{background:#ceddee;color:#41668f}.action-orders b{color:#41668f}.home-lower{margin-top:20px}.home-summary{padding:21px}.home-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:20px}.home-metrics>div{padding:15px 20px;border-left:1px solid var(--line)}.home-metrics>div:first-child{border-left:0;padding-left:0}.home-metrics span,.home-metrics small{display:block;color:var(--muted);font-size:11px}.home-metrics strong{display:block;font-size:23px;margin:7px 0}.menu-toggle{display:none;color:var(--ink);font-size:21px;padding:3px}.app-shell[hidden]{display:none}
.checkout-actions{display:grid;gap:8px}.print-button{width:100%;justify-content:center}.theme-switcher{display:flex;gap:6px;margin-top:12px}.theme-choice{border:1px solid var(--line);border-radius:5px;padding:7px 10px;font-size:11px;color:var(--muted)}.theme-choice.active{background:#e6f3f0;border-color:#b6ded7;color:var(--teal-dark);font-weight:700}.settings-wide{grid-column:1/-1}.company-settings{display:flex;align-items:end;gap:10px;margin-top:12px;flex-wrap:wrap}.company-settings label{display:grid;gap:6px;font-size:11px;color:var(--muted);font-weight:700}.company-settings input[type=text]{height:34px;border:1px solid var(--line);border-radius:5px;padding:0 9px;font-size:12px;outline:0}.file-label input{max-width:220px;font-size:11px}.logo-preview{width:46px;height:46px;object-fit:contain;border:1px solid var(--line);border-radius:5px;padding:4px}.ticket-preview-wrap{background:#edf1f4;padding:18px;display:grid;place-items:center;border-radius:7px}.thermal-ticket{width:80mm;min-height:90mm;background:#fff;color:#111;padding:7mm 5mm;font-family:"Courier New",monospace;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}.thermal-ticket small{font-size:9px}.thermal-ticket hr{width:100%;border:0;border-top:1px dashed #888;margin:5px 0}.ticket-logo{max-width:35mm;max-height:18mm;object-fit:contain}.ticket-line,.ticket-total{width:100%;display:flex;justify-content:space-between;gap:7px;text-align:left}.ticket-line span{max-width:55mm}.ticket-total{font-size:13px;font-weight:800}.ticket-modal{max-width:500px}@media print{body>*{display:none!important}#ticketModalBackdrop{display:block!important;position:static;background:#fff;padding:0}.ticket-modal{box-shadow:none;width:auto;padding:0}.ticket-modal>.modal-head,.ticket-modal>.modal-actions{display:none}.ticket-preview-wrap{padding:0;background:#fff}.thermal-ticket{width:80mm;min-height:auto;padding:4mm 3mm}}
[data-theme=dark]{--ink:#e8f0f4;--muted:#9eb0bd;--line:#304858;--paper:#0c1c29;--white:#142a39;--shadow:0 8px 28px rgba(0,0,0,.2);--teal:#65c7bb;--teal-dark:#a3e3da}[data-theme=dark] body,[data-theme=dark] .main-content{background:var(--paper);color:var(--ink)}[data-theme=dark] .surface,[data-theme=dark] .stat-card,[data-theme=dark] .product-card,[data-theme=dark] .outline-button,[data-theme=dark] .search-box,[data-theme=dark] .branch-menu,[data-theme=dark] .modal,[data-theme=dark] .thermal-ticket,[data-theme=dark] .inventory-summary>div{background:#142a39;color:var(--ink);border-color:var(--line)}[data-theme=dark] .table-head{background:#102431;color:#9eb0bd}[data-theme=dark] .table-row{border-color:#243d4c}[data-theme=dark] .product-code,[data-theme=dark] .order-time{color:#8da2b0}[data-theme=dark] .search-box input,[data-theme=dark] .form-grid input,[data-theme=dark] .form-grid select,[data-theme=dark] .modal form>label input,[data-theme=dark] .modal form>label select{color:var(--ink);background:#102431;border-color:var(--line)}[data-theme=dark] .theme-choice.active{background:#1c4b4a;color:#b6eee6;border-color:#3d8980}[data-theme=dark] .form-hint{background:#102431}[data-theme=dark] .ticket-preview-wrap{background:#08141d}
[data-theme=dark] .sale-mode-card,[data-theme=dark] .inventory-action-card{background:#142a39;color:#e8f0f4;border-color:#304858}[data-theme=dark] .sale-mode-card strong,[data-theme=dark] .inventory-action-card strong{color:#f4fbff}[data-theme=dark] .sale-mode-card>span:not(.sale-mode-icon),[data-theme=dark] .inventory-action-card small{color:#b8c8d4}[data-theme=dark] .sale-mode-card b{color:#72e1d3}[data-theme=dark] .sale-mode-card.selected,[data-theme=dark] .inventory-action-card.featured{background:#173d3a;border-color:#65c7bb}[data-theme=dark] .sale-type{background:#102431}[data-theme=dark] .sale-tab{color:#aebfcb}[data-theme=dark] .sale-tab.active{background:#eaf5f3;color:#102a43}[data-theme=dark] .product-thumb-fallback{background:#203947;color:#f6c86b}

/* Flujo móvil: ventas separadas, envíos y ajustes funcionales */
.ticket-payment{display:grid;grid-template-columns:1fr 150px 120px;gap:14px;align-items:end;margin:18px 0 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.ticket-payment>div:first-child{display:flex;flex-direction:column;gap:4px}.ticket-payment small{color:var(--muted)}.ticket-payment label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.ticket-payment input{min-height:42px}.change-line{display:flex;flex-direction:column;gap:4px;color:var(--muted)}.change-line strong{font-size:20px;color:var(--text)}
[hidden]{display:none!important}.cash-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cash-card{padding:22px}.cash-card h3{font-size:28px;margin:12px 0 4px}.cash-card>p{color:var(--muted);font-size:13px;line-height:1.5}.cash-form{display:grid;gap:12px;margin-top:18px}.cash-form label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}.cash-form input{height:40px;border:1px solid var(--line);border-radius:6px;padding:0 10px;background:var(--paper);color:var(--ink)}.cash-sales-list{display:grid;gap:8px;margin-top:18px}.cash-sales-list>div{display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--line);font-size:13px}.cash-sales-list span{color:var(--muted)}
.payment-button{color:#234255;background:#fff;border-color:#7892a3;font-weight:700}.payment-button.active{background:#087f73;color:#fff;border-color:#087f73}.settings-card .text-button{color:#086f66;border:1px solid #5b9f96;border-radius:6px;padding:8px 11px;background:#eef8f6}.settings-card .text-button:hover{background:#d5eee9;text-decoration:none}
.ticket-modal{max-height:calc(100vh - 24px);overflow-y:auto}.ticket-modal .modal-actions{position:sticky;bottom:0;background:var(--white);padding-top:12px;z-index:2}.ticket-preview-wrap{max-height:250px;overflow:auto}.ticket-modal .thermal-ticket{min-height:0;height:auto;max-height:250px}.ticket-payment #confirmPaymentButton{grid-column:1/-1;width:100%;min-height:44px;margin-top:2px;color:#fff;background:#087f73;border-color:#087f73}
@media(max-width:700px){.ticket-payment{grid-template-columns:1fr 1fr}.ticket-payment>div:first-child{grid-column:1/-1}.change-line{justify-content:center}}
@media(max-width:760px){.cash-grid{grid-template-columns:1fr}}
.sidebar{overflow-y:auto}
.delivery-tabs{display:flex;gap:9px;margin:14px 0 18px}.delivery-tabs .filter-pill{background:transparent;color:var(--ink)}.delivery-tabs .filter-pill.active{background:#087f73;color:#fff;border-color:#087f73}
.ticket-modal .modal-actions #confirmPaymentButton{color:#fff;background:#087f73;border-color:#087f73;min-height:44px}.ticket-modal .modal-actions #confirmPaymentButton[hidden]{display:none!important}
.view-note{margin:.35rem 0 0;color:var(--muted);font-size:.95rem}
.delivery-extra{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-top:.7rem}
.delivery-extra label{display:grid;gap:.35rem;font-size:.8rem;color:var(--muted)}
.delivery-extra select,.login-form select,.inline-form select{width:100%;border:1px solid var(--line);background:var(--card,#fff);color:var(--text,var(--ink));border-radius:12px;padding:.8rem}
.settings-panels{margin-top:1rem;display:grid;gap:1rem}
.settings-panel{display:none}.settings-panel.active{display:block}
.inline-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1rem 0}
.user-form{grid-template-columns:repeat(4,minmax(0,1fr))}
.inline-form input{width:100%;border:1px solid var(--line);background:var(--card,#fff);color:var(--text,var(--ink));border-radius:12px;padding:.8rem}
.settings-list{display:grid;gap:.65rem}.settings-row{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:.75rem;align-items:center;border:1px solid var(--line);border-radius:16px;padding:.85rem;background:#f7fafc}.settings-row strong{display:block}.settings-row small{color:var(--muted)}
.danger-button{border:0;background:#ffe2df;color:#a01818;border-radius:999px;padding:.55rem .8rem;font-weight:800}.danger-button:disabled{opacity:.45;cursor:not-allowed}
.payment-toggle{display:grid;grid-template-columns:1.3fr 1fr 1fr auto}.payment-toggle button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem .9rem;font-weight:800;color:var(--ink)}.payment-toggle button.active{background:var(--teal);color:#07312c}
#view-ventas .workspace-grid{display:none}#view-ventas .sale-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
[data-theme=dark] .settings-row{background:#102431}[data-theme=dark] .danger-button{background:#4c1f22;color:#ffb4aa}[data-theme=dark] .delivery-extra select,[data-theme=dark] .login-form select,[data-theme=dark] .inline-form select,[data-theme=dark] .inline-form input{background:#102431;color:#e8f0f4;border-color:#304858}[data-theme=dark] .payment-toggle button{background:#142a39;color:#e8f0f4;border-color:#304858}[data-theme=dark] .payment-toggle button.active{background:#65c7bb;color:#07312c}
@media(max-width:900px){#view-ventas .sale-mode-grid,.inline-form,.user-form,.delivery-extra{grid-template-columns:1fr}.settings-row,.payment-toggle{grid-template-columns:1fr}.workspace-grid{grid-template-columns:1fr}.cart-surface{position:static}}

/* Mobile-first POS layout: keep the drawer and cards usable after later desktop rules. */
@media (max-width: 760px) {
  html, body { width: 100%; overflow-x: hidden; }
  .app-shell { width: 100%; min-width: 0; }
  .sidebar {
    width: min(86vw, 290px);
    padding: 22px 16px 18px;
    transform: translateX(-105%);
    transition: transform .2s ease;
    z-index: 30;
    box-shadow: 10px 0 30px rgba(16,42,67,.24);
  }
  .sidebar .brand { padding: 0 10px 24px; }
  .sidebar .brand>div:last-child { display: block; }
  .branch-picker { display: block; font-size: 13px; margin-bottom: 20px; }
  .nav-list { gap: 5px; }
  .nav-item, .nav-item.active { justify-content: flex-start; gap: 11px; font-size: 14px; padding: 12px; }
  .nav-icon { flex: 0 0 18px; font-size: 17px; }
  .nav-count { display: inline-flex; }
  .sidebar-footer { display: flex; }
  .app-shell.menu-open .sidebar { transform: translateX(0); }
  .app-shell.menu-open::after { content: ""; position: fixed; inset: 0; background: rgba(7,20,30,.48); z-index: 29; }
  .main-content { width: 100%; margin-left: 0; max-width: none; padding: 68px 16px 32px; }
  .menu-toggle {
    display: grid;
    place-items: center;
    position: fixed;
    top: max(10px, env(safe-area-inset-top));
    left: 12px;
    width: 44px;
    height: 44px;
    border: 1px solid #9bb0bd;
    border-radius: 10px;
    background: #fff;
    color: #102a43;
    font-size: 23px;
    line-height: 1;
    z-index: 31;
    box-shadow: 0 3px 12px rgba(16,42,67,.16);
  }
  [data-theme=dark] .menu-toggle { background: #142a39; color: #f2f7f9; border-color: #527080; }
  .topbar { gap: 10px; margin-bottom: 20px; align-items: center; }
  .topbar>div:first-of-type { min-width: 0; }
  .topbar h1 { font-size: 24px; }
  .breadcrumb { font-size: 11px; }
  .top-actions { gap: 6px; }
  .top-actions .date-label, .top-actions .icon-button { display: none; }
  .primary-button.compact { padding: 10px; font-size: 12px; white-space: nowrap; }
  .home-welcome { display: block; margin-bottom: 18px; }
  .home-welcome h1 { font-size: 27px; line-height: 1.15; }
  .home-welcome p { font-size: 14px; line-height: 1.45; }
  .home-date { width: fit-content; max-width: 100%; margin-top: 14px; }
  .home-actions { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .home-action { width: 100%; min-height: 0; padding: 17px; display: grid; grid-template-columns: 48px minmax(0,1fr); column-gap: 13px; align-items: center; }
  .home-action-icon { width: 44px; height: 44px; grid-row: span 3; margin: 0; }
  .home-action strong { font-size: 17px; }
  .home-action>span:not(.home-action-icon) { min-height: 0; margin-top: 3px; font-size: 13px; line-height: 1.4; }
  .home-action b { padding-top: 8px; margin-top: 0; font-size: 13px; }
  .home-lower { margin-top: 14px; }
  .home-summary { padding: 17px; }
  .surface-head { gap: 10px; }
  .home-metrics { grid-template-columns: minmax(0, 1fr); margin-top: 12px; }
  .home-metrics>div, .home-metrics>div:first-child { border: 0; border-top: 1px solid var(--line); padding: 12px 0; }
  .home-metrics>div:first-child { border-top: 0; }
  .stats-row, .inventory-summary { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
  .workspace-grid, .report-grid, .settings-grid { grid-template-columns: minmax(0,1fr); }
  .sale-mode-grid, #view-ventas .sale-mode-grid, .inventory-actions { grid-template-columns: minmax(0,1fr); }
  .sale-mode-card, .inventory-action-card { min-height: 0; }
  .surface, .sale-surface, .cart-surface { min-width: 0; }
  .sale-surface, .cart-surface { padding: 16px; }
  .search-row, .inline-form, .user-form, .delivery-extra, .cash-grid { grid-template-columns: minmax(0,1fr); }
  .search-row { display: grid; }
  .table-surface { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .table-head, .table-row { min-width: 720px; }
  .view-toolbar { align-items: stretch; flex-direction: column; gap: 12px; }
  .toolbar-actions { width: 100%; }
  .toolbar-actions>* { flex: 1; }
  .modal-backdrop { padding: 10px; align-items: end; }
  .modal { width: 100%; max-height: calc(100dvh - 20px); overflow-y: auto; padding: 18px; border-radius: 16px 16px 10px 10px; }
  .form-grid, .ticket-payment { grid-template-columns: minmax(0,1fr); }
  .ticket-payment>div:first-child { grid-column: auto; }
  .modal-actions { flex-wrap: wrap; }
  .modal-actions>* { flex: 1 1 auto; }
  .toast { left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); text-align: center; }
}

.period-fields { display:flex; align-items:end; gap:10px; }
.period-select { display:grid; gap:6px; min-width:170px; color:var(--muted); font-size:12px; font-weight:700; }
.period-select select,.period-select input { height:40px; border:1px solid var(--line); border-radius:7px; padding:0 10px; color:var(--ink); background:var(--white); }
.notes-kpis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin:16px 0; }
.notes-kpis .surface { padding:16px 18px; }
.notes-kpis span { display:block; font-size:12px; color:var(--muted); margin-bottom:8px; }
.notes-kpis strong { display:block; font-size:24px; }
.notes-head,.notes-row { grid-template-columns:1fr 1.2fr 1.2fr .8fr .8fr 1fr .8fr 1.1fr 1.3fr; min-width:1120px; }
.notes-row { font-size:12px; }
.note-actions { display:flex; align-items:center; gap:12px; }
.danger-link { color:#a72e2e; font-size:11px; font-weight:800; text-decoration:underline; text-underline-offset:2px; }
.note-cancel-button { border:1px solid #c33; border-radius:5px; background:#fff0f0; padding:7px 9px; white-space:nowrap; text-decoration:none; }
.home-welcome { align-items:center; }
.home-branch-banner { width:min(100%,420px); margin:18px auto 0; min-height:94px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; background:#102c40; color:#fff; border:2px solid var(--teal); border-radius:12px; }
.home-branch-banner>span:first-child { font-size:11px; letter-spacing:.12em; font-weight:800; color:#c8e5e5; }
.home-branch-banner strong { font-size:30px; line-height:1.1; }
.home-branch-banner .status-dot { position:absolute; margin:0 0 0 200px; }
.branch-inventory-toolbar { justify-content:space-between; align-items:end; }
.inventory-filter { display:grid; gap:5px; font-size:11px; color:var(--muted); font-weight:700; }
.inventory-row[hidden] { display:none!important; }
.inventory-filter select { height:38px; min-width:135px; border:1px solid var(--line); border-radius:6px; padding:0 10px; color:var(--ink); background:var(--white); }
.general-inventory-table { overflow-x:auto; }
#generalInventoryHead { display:grid; min-width:max-content; }
.general-stock-row { display:grid; min-width:max-content; border-bottom:1px solid var(--line); align-items:center; }
.general-stock-row>div,.general-stock-row>span { padding:15px 18px; }
.general-stock-row>div { display:grid; gap:3px; }
.general-stock-row small { color:var(--muted); }
.general-stock-row>span { font-weight:700; }
.save-company-button { margin-top:14px; min-height:42px; }
.category-manager { padding:20px; }
.category-create { display:flex; align-items:end; gap:12px; max-width:700px; padding-bottom:18px; border-bottom:1px solid var(--line); }
.category-create label { display:grid; flex:1; gap:7px; color:var(--muted); font-size:12px; font-weight:700; }
.category-create input { height:42px; border:1px solid var(--line); border-radius:7px; padding:0 12px; color:var(--ink); background:var(--white); }
.category-create button { min-height:42px; }
.category-list { display:grid; margin-top:12px; }
.category-manager-row { display:grid; grid-template-columns:minmax(160px,1fr) minmax(100px,.6fr) auto; align-items:center; gap:12px; padding:14px 4px; border-bottom:1px solid var(--line); }
.category-manager-row>span { color:var(--muted); font-size:12px; }
.category-manager-row>div { display:flex; gap:8px; }
.category-manager-row .outline-button,.category-manager-row .danger-button { min-height:36px; padding:0 11px; }
.home-company-name { margin:6px 0 2px; font-size:19px; }
.home-company-name strong { color:var(--teal-dark); }
@media(max-width:600px) { .category-create { align-items:stretch; flex-direction:column; } .category-manager-row { grid-template-columns:1fr; gap:7px; } .category-manager-row>div { flex-wrap:wrap; } }
.qty-control input[data-qty-id] { width:72px; min-height:30px; border:1px solid var(--line); border-radius:5px; padding:3px 5px; background:var(--white); color:var(--ink); text-align:center; font:inherit; }
.ticket-whatsapp { display:flex; flex-direction:column; align-items:center; gap:3px; width:100%; margin-top:5px; page-break-inside:avoid; }
.ticket-whatsapp img { width:32mm; height:32mm; object-fit:contain; image-rendering:pixelated; }
.ticket-whatsapp small { max-width:68mm; text-align:center; }
.cash-cut-summary { display:grid; gap:6px; padding:12px; margin:12px 0; border:1px solid var(--line); border-radius:8px; }
.cash-cut-summary span { color:var(--muted); font-size:13px; }
.ticket-modal .ticket-preview-wrap { max-height:min(55vh,520px); }
.ticket-modal .thermal-ticket { height:auto; max-height:none; overflow:visible; font-size:13px; line-height:1.3; }
@media print {
  .thermal-ticket { font-size:12pt!important; line-height:1.35!important; padding:2mm!important; gap:3px!important; }
  .thermal-ticket small { font-size:10pt!important; }
  .ticket-line,.ticket-total { font-size:12pt!important; }
  .ticket-total { font-size:14pt!important; }
  .ticket-whatsapp img { width:32mm!important; height:32mm!important; }
}
.brand-logo { object-fit:contain; padding:3px; background:#fff; }
.cash-shortage { color:#a51f2d; font-weight:800; }
[data-theme=dark] .thermal-ticket,[data-theme=dark] #thermalTicket { background:#fff!important; color:#101820!important; border-color:#fff!important; opacity:1!important; filter:none!important; }
.thermal-ticket,.thermal-ticket * { color:#101820; opacity:1; }
.thermal-ticket { font-size:15px!important; font-weight:600; }
.thermal-ticket small { color:#202a32!important; font-size:12px!important; font-weight:500; }
.thermal-ticket .ticket-line,.thermal-ticket .ticket-total { color:#101820!important; font-size:14px!important; font-weight:700; }
.thermal-ticket .ticket-total { font-size:16px!important; }
.thermal-ticket hr { border-top:1px dashed #33404a!important; }
@media print {
  .thermal-ticket { background:#fff!important; color:#101820!important; font-size:13pt!important; font-weight:600!important; line-height:1.4!important; padding:2mm!important; gap:3px!important; }
  .thermal-ticket small { color:#202a32!important; font-size:11pt!important; font-weight:500!important; }
  .thermal-ticket .ticket-line,.thermal-ticket .ticket-total { color:#101820!important; font-size:13pt!important; font-weight:700!important; }
  .thermal-ticket .ticket-total { font-size:15pt!important; }
}
[data-theme=dark] .inventory-filter select { color:var(--ink); background:#102431; border-color:var(--line); }
@media print {
  @page { size: 80mm auto; margin: 0; }
  html, body { width:80mm!important; min-width:0!important; margin:0!important; padding:0!important; background:#fff!important; }
  body * { visibility:hidden!important; }
  #ticketModalBackdrop, #ticketModalBackdrop * { visibility:visible!important; }
  #ticketModalBackdrop { position:absolute!important; inset:0 auto auto 0!important; display:block!important; width:80mm!important; min-height:0!important; padding:0!important; margin:0!important; background:#fff!important; }
  .ticket-modal { display:block!important; width:80mm!important; max-width:80mm!important; max-height:none!important; overflow:visible!important; padding:0!important; margin:0!important; border:0!important; box-shadow:none!important; background:#fff!important; }
  .ticket-modal>.modal-head,.ticket-modal>.modal-actions,#ticketPaymentPanel { display:none!important; }
  .ticket-preview-wrap { display:block!important; width:80mm!important; max-height:none!important; overflow:visible!important; padding:0!important; margin:0!important; background:#fff!important; }
  .thermal-ticket { display:flex!important; width:80mm!important; height:auto!important; min-height:0!important; max-height:none!important; overflow:visible!important; margin:0!important; padding:3mm!important; gap:2px!important; background:#fff!important; color:#000!important; font-size:10pt!important; }
  .thermal-ticket small { font-size:8pt!important; }
}
[data-theme=dark] .period-select select,[data-theme=dark] .period-select input { color:var(--ink); background:#102431; border-color:var(--line); }
@media(max-width:900px) { .notes-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:600px) { .notes-kpis { grid-template-columns:1fr; gap:8px; } .period-fields,.period-select { min-width:0; width:100%; } .period-fields { align-items:stretch; flex-direction:column; } }
/* Final receipt rules stay after every theme and print override for reliable high contrast. */
.thermal-ticket,.thermal-ticket * { color:#101820!important; opacity:1!important; filter:none!important; }
[data-theme=dark] .thermal-ticket,[data-theme=dark] #thermalTicket { background:#fff!important; color:#101820!important; }
.thermal-ticket { background:#fff!important; font-size:15px!important; font-weight:600!important; line-height:1.4!important; }
.thermal-ticket small { color:#202a32!important; font-size:12px!important; font-weight:500!important; }
.thermal-ticket .ticket-line,.thermal-ticket .ticket-total { font-size:14px!important; font-weight:700!important; }
.thermal-ticket .ticket-total { font-size:16px!important; }
@media print {
  .thermal-ticket { width:80mm!important; font-size:13pt!important; line-height:1.4!important; padding:2mm!important; gap:3px!important; }
  .thermal-ticket small { font-size:11pt!important; }
  .thermal-ticket .ticket-line,.thermal-ticket .ticket-total { font-size:13pt!important; }
  .thermal-ticket .ticket-total { font-size:15pt!important; }
}
.delivery-late-alert { margin:12px 0; padding:13px 16px; border:1px solid #c84c26; border-radius:9px; background:#fff0e6; color:#763016; line-height:1.5; }
.cash-expense-card { grid-column:1/-1; }
.cash-expense-card .cash-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:end; gap:12px; }
.cash-expense-card .cash-form button { min-height:42px; }
.stats-daily,.stats-products { margin-top:16px; padding:20px; }
.stats-row { display:grid; grid-template-columns:130px minmax(120px,1fr) 110px; align-items:center; gap:14px; padding:10px 0; border-bottom:1px solid var(--line); }
.stats-bar { height:12px; border-radius:99px; background:var(--surface-2,#e7edf1); overflow:hidden; }
.stats-bar i { display:block; height:100%; border-radius:99px; background:var(--teal,#159b91); }
.attendance-week { display:grid; grid-template-columns:repeat(7,minmax(36px,1fr)); align-items:end; gap:10px; height:170px; padding:14px 0 4px; }
.attendance-day { height:100%; display:flex; flex-direction:column; align-items:center; justify-content:end; gap:6px; color:var(--muted); font-size:11px; }
.attendance-day i { display:block; width:min(30px,80%); min-height:4px; border-radius:6px 6px 2px 2px; background:var(--teal,#159b91); }
.attendance-day b { color:var(--ink); font-size:10px; }
#inventoryOpsForm { display:grid; gap:13px; }
#inventoryOpsForm .table-row { display:grid; grid-template-columns:1fr auto; gap:6px 12px; padding:11px 0; border-bottom:1px solid var(--line); }
#inventoryOpsForm .table-row small { grid-column:1/-1; color:var(--muted); }
@media(max-width:700px) { .cash-expense-card .cash-form { grid-template-columns:1fr; } .stats-row { grid-template-columns:82px 1fr 82px; gap:8px; } .attendance-week { gap:3px; } }
.stats-filters,.cash-cut-filters { display:flex; align-items:end; flex-wrap:wrap; gap:14px; margin:18px 0; padding:16px; }
.stats-filters label,.cash-cut-filters label { display:grid; gap:6px; min-width:155px; }
.cash-cut-history { margin-top:22px; padding:18px; }
.cash-cut-rows { display:grid; gap:10px; }
.cash-cut-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px; border:1px solid var(--line); border-radius:10px; }
.cash-cut-row div { display:grid; gap:5px; }
.cash-cut-row small { color:var(--muted); }
.cash-day-group { border:1px solid var(--line); border-radius:10px; overflow:hidden; }
.cash-day-group+ .cash-day-group { margin-top:10px; }
.cash-day-group summary { display:grid; grid-template-columns:1.5fr 1fr auto; align-items:center; gap:10px; padding:15px; cursor:pointer; background:var(--surface-2,#f4f7f8); list-style:none; }
.cash-day-group summary { color:#193246; background:#e8f0f4; }
.cash-day-group summary strong,.cash-day-group summary span { color:#193246; }
.cash-day-group summary::-webkit-details-marker { display:none; }
.cash-day-group summary strong { text-transform:capitalize; }
.cash-day-group summary small { color:var(--muted); }
.cash-day-details { padding:8px 14px; }
@media(max-width:700px) { .stats-filters,.cash-cut-filters { display:grid; grid-template-columns:1fr 1fr; } .stats-filters label,.cash-cut-filters label { min-width:0; } .cash-cut-row { align-items:flex-start; flex-direction:column; } }
@media(max-width:700px) { .cash-day-group summary { grid-template-columns:1fr; } }
.nav-count { background:#f0b34f; color:#243544; font-weight:800; min-width:21px; text-align:center; }
.nav-count[hidden] { display:none!important; }
.delivery-head,.delivery-row { grid-template-columns:minmax(105px,1.1fr) minmax(105px,1fr) minmax(90px,.8fr) minmax(75px,.65fr) minmax(95px,.8fr) minmax(155px,1.3fr) minmax(135px,auto); min-width:980px; }
.table-surface:has(.delivery-head) { overflow-x:auto; }
.delivery-list { display:grid; gap:12px; }
.delivery-card { min-width:0; padding:16px; border:1px solid var(--line); border-left:5px solid #d99a45; border-radius:12px; background:var(--surface-2,#fff); color:var(--ink); cursor:pointer; transition:transform .15s,border-color .15s,box-shadow .15s; }
.delivery-card:hover,.delivery-card:focus-visible { transform:translateY(-1px); border-color:var(--teal); box-shadow:0 6px 20px rgba(15,118,110,.12); outline:none; }
.delivery-card.delivery-blue { border-left-color:#4b86b6; }
.delivery-card.delivery-green { border-left-color:#298c61; }
.delivery-card.delivery-red { border-left-color:#c65450; }
.delivery-card-top,.delivery-card-main,.delivery-card-bottom { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.delivery-card-main { margin-top:12px; align-items:baseline; }
.delivery-card-main strong { font-size:17px; }
.delivery-card-main>span,.delivery-card-bottom { color:var(--muted); font-size:13px; }
.delivery-card-bottom { margin-top:10px; padding-top:10px; border-top:1px solid var(--line); }
.delivery-card-bottom>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.delivery-card-bottom b { color:var(--teal); white-space:nowrap; }
.delivery-detail-card { padding:20px; }
.delivery-detail-top { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.delivery-detail-top h3 { margin-top:5px; font-size:22px; }
.delivery-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:18px 0; }
.delivery-detail-grid>div,.delivery-detail-address { display:grid; gap:5px; min-width:0; }
.delivery-detail-grid small,.delivery-detail-address small { color:var(--muted); }
.delivery-detail-address { padding:14px; border-radius:9px; background:var(--surface-2,#f4f7f8); }
.delivery-detail-items { margin-top:18px; }
.delivery-detail-items h4 { margin-bottom:8px; }
.delivery-detail-line { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); }
.delivery-detail-footer { display:flex; justify-content:flex-end; margin-top:18px; }
.delivery-detail-footer .primary-button { min-height:48px; }
.delivery-complete-message,.delivery-detail-note { color:var(--muted); }
.ticket-payment-error { margin-top:12px; padding:12px 14px; border:1px solid #e8b28e; border-radius:8px; background:#fff2e8; color:#763016; font-size:14px; line-height:1.45; }
.ticket-payment-error[hidden] { display:none!important; }
.coupon-grid,.coupon-hero,.coupon-rules,.coupon-redemption { min-width:0; }
.coupon-hero .primary-button,.coupon-redemption .primary-button { min-height:46px; }
@media(max-width:760px) {
  .coupon-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .coupon-hero,.coupon-rules,.coupon-redemption { padding:16px; }
  .coupon-fields { grid-template-columns:minmax(0,1fr); gap:12px; }
  .coupon-fields label,.coupon-redemption label { min-width:0; font-size:13px; }
  .coupon-fields input,.coupon-redemption input,.coupon-redemption select { width:100%; min-width:0; min-height:46px; font-size:16px; }
  .coupon-grid button,.coupon-redemption button { min-height:46px; }
  .coupon-check-row { grid-template-columns:minmax(0,1fr); }
  .coupon-example { padding:14px; }
  .delivery-card { padding:14px; }
  .delivery-card-top { align-items:flex-start; }
  .delivery-card-main { align-items:flex-start; flex-direction:column; gap:5px; }
  .delivery-card-bottom { align-items:flex-start; }
  .delivery-card-bottom>span { white-space:normal; }
  .delivery-detail-card { padding:16px; }
  .delivery-detail-top { align-items:flex-start; flex-direction:column; }
  .delivery-detail-grid { gap:14px 10px; }
  .delivery-detail-footer,.delivery-detail-footer .primary-button { width:100%; }
}
.delivery-action { display:flex; align-items:center; justify-content:flex-start; min-width:0; }
.delivery-action .edit-link { color:#086f68; background:#d9f1eb; border:1px solid #82c7b9; border-radius:6px; padding:8px 10px; font-weight:800; white-space:nowrap; }
.delivery-action .edit-link:hover { background:#bfe8df; }
.delivery-row .badge { max-width:100%; white-space:normal; line-height:1.25; }
.workspace-grid>* { min-width:0; }
.phone-lookup { grid-template-columns:minmax(0,1fr) auto; min-width:0; }
.phone-lookup input,.customer-field>input { width:100%; min-width:0; }
.delivery-extra { min-width:0; }
.delivery-extra label { min-width:0; }
.delivery-extra input,.delivery-extra select { width:100%; min-width:0; }
.delivery-action .edit-link { font-size:12px; }
#view-inventario-general[hidden],#openGeneralInventory[hidden],[data-view="inventario-general"][hidden] { display:none!important; }
.coupon-redemption { margin-top:18px; padding:22px; max-width:760px; }
.coupon-redemption h3 { margin-top:6px; }
.coupon-redemption>p:not(.eyebrow) { color:var(--muted); margin:10px 0 16px; line-height:1.5; }
.coupon-check-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.coupon-redemption label { display:grid; gap:6px; font-size:12px; color:var(--muted); }
.coupon-redemption input,.coupon-redemption select { width:100%; min-width:0; height:40px; border:1px solid var(--line); border-radius:6px; padding:0 10px; background:var(--surface); color:var(--ink); }
.coupon-customer-status { min-height:24px; margin-top:12px!important; font-weight:700; }
#couponRewardOptions[hidden] { display:none!important; }
@media(max-width:700px) { .coupon-check-row { grid-template-columns:1fr; } }

/* Cuponera: alertas visibles y controles legibles en tema oscuro. */
#couponGiftProduct { color-scheme: dark; }
#couponGiftProduct option { color: #eaf3f8 !important; background-color: #102638 !important; }
.coupon-customer-status { color: var(--ink) !important; }
.coupon-customer-ready { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.coupon-customer-ready strong { color: #08765f; }
.coupon-customer-ready button { border: 0; border-radius: 5px; padding: 5px 9px; background: #08765f; color: #fff; text-decoration: none; cursor: pointer; }
.coupon-global-alert { position: fixed; z-index: 1200; top: 14px; left: 50%; transform: translateX(-50%); width: min(680px, calc(100vw - 28px)); display: grid; grid-template-columns: auto minmax(0,1fr) auto auto; align-items: center; gap: 12px; padding: 14px 16px; border: 2px solid #8c5b00; border-radius: 12px; color: #382400; background: #fff1bd; box-shadow: 0 10px 36px #0007; }
.coupon-global-alert[hidden] { display: none !important; }
.coupon-global-alert>span:nth-child(2) { display: grid; gap: 3px; }
.coupon-global-alert small { color: #5e471f; line-height: 1.35; }
.coupon-global-alert button { border: 0; border-radius: 7px; padding: 9px 12px; color: #fff; background: #7c4d00; font-weight: 700; cursor: pointer; }
.coupon-global-alert .coupon-alert-close { padding: 3px 8px; color: #382400; background: transparent; font-size: 22px; }
.coupon-alert-icon { font-size: 25px; }
@media(max-width:560px) { .coupon-global-alert { grid-template-columns: auto minmax(0,1fr) auto; gap: 8px; padding: 11px; } .coupon-global-alert #openDueCoupon { grid-column: 2 / 3; justify-self: start; } .coupon-global-alert .coupon-alert-close { grid-column: 3; grid-row: 1; } }

.backup-settings { margin-top: 20px; padding: 22px; }
.backup-settings h2 { margin: 6px 0 8px; }
.backup-settings>p:not(.backup-status) { max-width: 760px; color: var(--muted); line-height: 1.5; }
.backup-settings>small { display: block; margin-top: 12px; color: var(--muted); line-height: 1.45; }
.backup-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.backup-import-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; cursor: pointer; }
.backup-status { min-height: 1.3em; color: var(--ink); font-weight: 700; }
@media(max-width:560px) { .backup-settings { padding: 16px; } .backup-actions { display: grid; grid-template-columns: 1fr; } .backup-actions>button,.backup-import-button { width: 100%; min-height: 48px; } }

.mobile-preview-entry { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 16px; padding:14px 16px; border:1px solid var(--line); border-radius:9px; background:var(--surface); }
.mobile-preview-entry>span,.mobile-preview-toolbar>span { color:var(--muted); font-size:12px; }
.mobile-preview-backdrop { position:fixed; inset:0; z-index:1500; display:grid; place-items:center; padding:18px; background:#020b12cc; }
.mobile-preview-backdrop[hidden] { display:none!important; }
.mobile-preview-dialog { display:grid; grid-template-rows:auto auto minmax(0,1fr); gap:12px; width:min(960px,100%); height:min(950px,calc(100vh - 36px)); padding:18px; border:1px solid var(--line); border-radius:14px; background:var(--surface); box-shadow:0 24px 70px #0008; }
.mobile-preview-dialog>header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.mobile-preview-dialog h2 { margin:4px 0 0; }
.mobile-preview-toolbar { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.mobile-preview-toolbar label { display:grid; gap:5px; color:var(--muted); font-size:12px; }
.mobile-preview-toolbar select { min-height:40px; min-width:250px; padding:0 10px; border:1px solid var(--line); border-radius:6px; color:var(--ink); background:var(--surface); }
.mobile-preview-stage { position:relative; display:grid; place-items:center; min-height:0; overflow:hidden; border-radius:10px; background:radial-gradient(ellipse at center,#24394a 0%,#0a1722 74%); }
.mobile-device-frame { box-sizing:border-box; flex:none; overflow:hidden; border:8px solid #05080b; border-radius:28px; background:#fff; box-shadow:0 14px 42px #0009; transform-origin:center center; }
.mobile-device-frame iframe { display:block; width:100%; height:100%; border:0; background:#fff; }
@media(max-width:600px) { .mobile-preview-backdrop { padding:0; } .mobile-preview-dialog { height:100dvh; width:100%; padding:12px; border:0; border-radius:0; } .mobile-preview-dialog h2 { font-size:19px; } .mobile-preview-toolbar select { min-width:0; width:100%; } .mobile-preview-toolbar label { flex:1; } }

/* Reusable product choices */
.product-options { margin:20px 0; padding-top:18px; border-top:1px solid var(--border, #ddd); }
.product-options h3 { margin:0 0 8px; }
.option-config, .sale-option-group { border:1px solid var(--border, #ddd); border-radius:12px; padding:14px; margin:12px 0; min-width:0; }
.option-config small, .option-summary { display:block; line-height:1.5; overflow-wrap:anywhere; }
.option-summary { font-size:12px; margin:4px 0; }
.option-rules { display:flex; flex-wrap:wrap; gap:12px; margin-top:12px; align-items:center; }
.option-check, .option-choice { display:flex!important; flex-direction:row!important; align-items:center; gap:9px; }
.option-check input, .option-choice input { width:18px!important; height:18px!important; flex-shrink:0; margin:0; }
.option-edit-row { display:grid; grid-template-columns:minmax(0,1fr) 100px 44px; gap:8px; align-items:end; margin:12px 0; }
.option-edit-row input { width:100%; min-width:0; height:42px; border:1px solid var(--line, #dce3e8); border-radius:6px; padding:0 9px; background:white; color:var(--ink, #17334b); }
.option-edit-row label { display:grid; gap:6px; font-size:12px; font-weight:600; }
.option-edit-row button { height:44px; padding:8px; }
.option-choice { border:1px solid var(--border, #ddd); padding:12px; border-radius:10px; margin:8px 0; cursor:pointer; }
.option-choice:has(input:checked) { border-color:#628535; background:rgba(122,155,64,.12); }
.option-choice span { flex:1; overflow-wrap:anywhere; }
.option-choice strong { font-size:12px; }
.options-backdrop { z-index:1000; }
.options-backdrop .modal { max-height:90dvh; overflow-y:auto; }
#optionGroupError, #saleOptionError { color:#bc3434; }
.sale-option-group legend { font-weight:700; }
@media(max-width:480px) { .option-edit-row { grid-template-columns:minmax(0,1fr) 82px 36px; } .options-backdrop .modal { padding:18px; } }
#modalBackdrop .modal { max-height:90dvh; overflow-y:auto; }

