.dash-body{padding:1.75rem 2rem;flex:1;overflow-y:auto;background:var(--bg);min-height:0}.dash-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem}.dash-title{font-size:1.5rem;font-weight:700;color:var(--text)}.dash-subtitle{font-size:.875rem;color:var(--muted);margin-top:.15rem}.dash-date{font-size:.8rem;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.4rem .85rem}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-bottom:1.75rem}.stat-card{background:var(--surface);border-radius:14px;padding:1.25rem 1.4rem;box-shadow:var(--shadow);border:1px solid var(--border);display:flex;align-items:flex-start;gap:1rem;transition:box-shadow .2s}.stat-card:hover{box-shadow:0 4px 16px #0000001a}.stat-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.25rem}.stat-icon.green{background:#dcfce7}.stat-icon.blue{background:#ffedd5}.stat-icon.violet{background:#fff7ed}.stat-icon.red{background:#fee2e2}.stat-body{flex:1;min-width:0}.stat-label{font-size:.78rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat-value{font-size:1.75rem;font-weight:800;color:var(--text);line-height:1.2;margin:.15rem 0 .2rem;letter-spacing:-.02em}.stat-value.green{color:#16a34a}.stat-value.red{color:#dc2626}.stat-badge{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:99px}.stat-badge.up{background:#dcfce7;color:#15803d}.stat-badge.down{background:#fee2e2;color:#b91c1c}.stat-badge.neutral{background:#f1f5f9;color:var(--muted)}.dash-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}.dash-card{background:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden}.dash-card-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem .75rem;border-bottom:1px solid var(--border)}.dash-card-title{font-size:.92rem;font-weight:600;color:var(--text)}.dash-card-sub{font-size:.75rem;color:var(--muted)}.dash-card-link{font-size:.78rem;color:var(--primary);text-decoration:none;font-weight:500}.dash-card-link:hover{text-decoration:underline}.chart-wrap{padding:1.25rem 1.4rem 1rem}.chart-bars{width:100%;overflow:hidden}.chart-bar-group{cursor:default}.chart-bar-bg{fill:#f1f5f9;rx:5}.chart-bar-fill{fill:var(--primary);rx:5;transition:opacity .15s;transform-origin:center bottom;animation:barGrow .6s ease-out both}@keyframes barGrow{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}.chart-bar-group:hover .chart-bar-fill{opacity:.8}.chart-label{font-size:11px;fill:var(--muted);text-anchor:middle;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.chart-val{font-size:10px;fill:var(--muted);text-anchor:middle;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.chart-empty{text-align:center;padding:2.5rem;color:var(--muted);font-size:.875rem}.alert-table{width:100%;border-collapse:collapse;font-size:.82rem}.alert-table th{text-align:left;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:.6rem 1rem;background:#f8fafc;border-bottom:1px solid var(--border)}.alert-table td{padding:.65rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.alert-table tr:last-child td{border-bottom:none}.alert-table tr:hover td{background:#f8fafc}.alert-name{font-weight:500;color:var(--text)}.alert-sku{font-size:.72rem;color:var(--muted)}.stock-pill{display:inline-block;padding:.15rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600}.stock-pill.critical{background:#fee2e2;color:#b91c1c}.stock-pill.low{background:#fef3c7;color:#92400e}.expiry-pill{display:inline-block;padding:.15rem .55rem;border-radius:99px;font-size:.72rem;font-weight:600}.expiry-pill.expired{background:#fee2e2;color:#b91c1c}.expiry-pill.critical{background:#fed7aa;color:#9a3412}.expiry-pill.warning{background:#fef3c7;color:#92400e}.expiry-pill.ok{background:#dcfce7;color:#15803d}.alert-empty{text-align:center;padding:2rem;color:var(--muted);font-size:.82rem}.alert-empty-icon{font-size:1.75rem;margin-bottom:.5rem}.quick-actions{background:var(--surface);border-radius:14px;border:1px solid var(--border);box-shadow:var(--shadow);padding:1.25rem 1.4rem;margin-bottom:1.5rem}.quick-actions-title{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1rem}.quick-actions-row{display:flex;gap:.75rem;flex-wrap:wrap}.qa-btn{display:flex;align-items:center;gap:.55rem;padding:.6rem 1.1rem;border-radius:10px;border:1.5px solid var(--border);background:var(--surface);color:var(--text);font-size:.85rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .18s}.qa-btn:hover{border-color:var(--primary);color:var(--primary);background:#fff7ed;box-shadow:0 2px 8px #f973161f}.qa-btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.qa-btn.primary:hover{background:var(--primary-h);border-color:var(--primary-h);color:#fff;box-shadow:0 4px 12px #f973164d}.qa-icon{font-size:1rem}.skel{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skel-slide 1.4s ease-in-out infinite;border-radius:6px}@keyframes skel-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.skel-stat{height:90px;border-radius:14px}.skel-chart{height:220px;border-radius:14px}.skel-table{height:200px;border-radius:14px}.skel-line{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skel-slide 1.4s ease-in-out infinite;border-radius:4px;display:inline-block}@media (max-width: 1024px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.stat-grid,.dash-row{grid-template-columns:1fr}.dash-topbar{flex-direction:column;align-items:flex-start;gap:1rem}.dash-title{font-size:1.25rem}.dash-subtitle{font-size:.8rem}}@media (max-width: 640px){.dash-body{padding:1rem}.stat-value{font-size:1.35rem}.stat-card{padding:1rem}}[data-theme=dark] .stat-icon.green{background:rgba(22,163,74,.15)}[data-theme=dark] .stat-icon.blue,[data-theme=dark] .stat-icon.violet{background:rgba(249,115,22,.15)}[data-theme=dark] .stat-icon.red{background:rgba(239,68,68,.15)}[data-theme=dark] .stat-badge.up{background:rgba(22,163,74,.15);color:#4ade80}[data-theme=dark] .stat-badge.down{background:rgba(239,68,68,.15);color:#f87171}[data-theme=dark] .stat-badge.neutral{background:#334155;color:var(--muted)}[data-theme=dark] .alert-table th{background:#1a2332}[data-theme=dark] .alert-table td{border-bottom-color:#334155}[data-theme=dark] .alert-table tr:hover td{background:rgba(51,65,85,.35)}[data-theme=dark] .chart-bar-bg{fill:#334155}[data-theme=dark] .chart-label,[data-theme=dark] .chart-val{fill:var(--muted)}[data-theme=dark] .dash-date{background:var(--surface);border-color:var(--border)}[data-theme=dark] .stock-pill.critical{background:rgba(239,68,68,.15);color:#f87171}[data-theme=dark] .stock-pill.low{background:rgba(245,158,11,.15);color:#fbbf24}[data-theme=dark] .expiry-pill.expired{background:rgba(239,68,68,.15);color:#f87171}[data-theme=dark] .expiry-pill.critical{background:rgba(234,88,12,.15);color:#fb923c}[data-theme=dark] .expiry-pill.warning{background:rgba(245,158,11,.15);color:#fbbf24}[data-theme=dark] .expiry-pill.ok{background:rgba(22,163,74,.15);color:#4ade80}[data-theme=dark] .skel-stat,[data-theme=dark] .skel-chart,[data-theme=dark] .skel-table{background:linear-gradient(90deg,#1e293b 25%,#334155 50%,#1e293b 75%);background-size:200% 100%}.pos-shell{display:flex;flex-direction:column;width:100vw;height:100vh;overflow:hidden;background:#f1f5f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--text, #0f172a)}.pos-header{flex-shrink:0;height:56px;background:#1e3a5f;color:#fff;display:flex;align-items:center;padding:0 16px;gap:12px;box-shadow:0 2px 8px #0000002e;z-index:50}.pos-brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.pos-brand-name{font-weight:700;font-size:15px;letter-spacing:.3px;color:#e2e8f0}.pos-mode-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:4px;padding:2px 7px;color:#fdba74}.pos-header-spacer{flex:1}.pos-clock{text-align:right;flex-shrink:0}.pos-clock-time{font-size:16px;font-weight:700;color:#f0f9ff;line-height:1.1}.pos-clock-date{font-size:10px;color:#fdba74;margin-top:1px}.pos-header-sep{width:1px;height:28px;background:rgba(255,255,255,.15);flex-shrink:0}.pos-cashier{display:flex;align-items:center;gap:7px;flex-shrink:0}.pos-cashier-avatar{width:30px;height:30px;border-radius:50%;background:#f97316;color:#fff;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pos-cashier-info{line-height:1.2}.pos-cashier-name{font-size:12px;font-weight:600;color:#f0f9ff}.pos-cashier-role{font-size:10px;color:#fdba74}.pos-header-btn{display:flex;align-items:center;gap:5px;padding:6px 12px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:7px;color:#e2e8f0;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s;text-decoration:none}.pos-header-btn:hover{background:rgba(255,255,255,.18);color:#fff}.pos-header-btn.danger{background:rgba(239,68,68,.15);border-color:#ef44444d;color:#fca5a5}.pos-header-btn.danger:hover{background:rgba(239,68,68,.25)}.pos-toolbar{flex-shrink:0;height:52px;display:flex;align-items:center;padding:0 12px;gap:8px;background:#fff;border-bottom:1px solid var(--border, #e2e8f0);box-shadow:0 1px 4px #0000000f;z-index:40;overflow:hidden}.pos-tb-barcode{display:flex;align-items:center;gap:6px;flex:0 0 320px;background:#f8fafc;border:1.5px solid var(--border, #e2e8f0);border-radius:8px;padding:0 10px;height:36px;transition:border-color .15s,box-shadow .15s}.pos-tb-barcode:focus-within{border-color:#f97316;box-shadow:0 0 0 3px #f973161f;background:#fff}.pos-tb-barcode--error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.pos-tb-search{display:flex;align-items:center;gap:6px;flex:1;min-width:140px;max-width:340px;background:#f8fafc;border:1.5px solid var(--border, #e2e8f0);border-radius:8px;padding:0 10px;height:36px;transition:border-color .15s,box-shadow .15s}.pos-tb-search:focus-within{border-color:#f97316;box-shadow:0 0 0 3px #f973161f;background:#fff}.pos-tb-icon{font-size:14px;flex-shrink:0;user-select:none;line-height:1}.pos-tb-input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:var(--text, #0f172a);padding:0;min-width:0}.pos-tb-input::placeholder{color:#94a3b8}.pos-tb-input--barcode{font-family:Courier New,monospace;letter-spacing:.4px}.pos-tb-status{font-size:11px;color:#f97316;white-space:nowrap;flex-shrink:0;animation:pos-tb-pulse 1s ease-in-out infinite}@keyframes pos-tb-pulse{0%,to{opacity:1}50%{opacity:.45}}.pos-tb-clear-x{flex-shrink:0;width:18px;height:18px;border:none;background:#e2e8f0;border-radius:50%;cursor:pointer;font-size:12px;line-height:1;display:flex;align-items:center;justify-content:center;color:#64748b;padding:0;transition:background .12s}.pos-tb-clear-x:hover{background:#cbd5e1}.pos-tb-sep{width:1px;height:26px;background:var(--border, #e2e8f0);flex-shrink:0}.pos-tb-spacer{flex:1}.pos-tb-btn{display:flex;align-items:center;gap:5px;height:36px;padding:0 13px;border:1.5px solid var(--border, #e2e8f0);border-radius:8px;background:#fff;font-size:12px;font-weight:600;color:var(--text, #0f172a);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .15s;position:relative}.pos-tb-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8;box-shadow:0 2px 6px #00000014}.pos-tb-btn:disabled{opacity:.4;cursor:not-allowed}.pos-tb-btn--customer.pos-tb-btn--has-customer{border-color:#f97316;color:#f97316;background:#fff7ed}.pos-tb-btn--hold:hover:not(:disabled){border-color:#f59e0b;color:#b45309;background:#fffbeb}.pos-tb-btn--clear:hover:not(:disabled){border-color:#ef4444;color:#dc2626;background:#fef2f2}.pos-tb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;background:#f59e0b;color:#fff;font-size:10px;font-weight:700;border-radius:9px;padding:0 5px;margin-left:2px}.pos-workspace{flex:1;display:flex;flex-direction:row;overflow:hidden;min-height:0}.pos-left{flex:0 0 60%;width:60%;display:flex;flex-direction:column;overflow:hidden;background:#f8fafc;min-height:0}.pos-divider{flex-shrink:0;width:1px;background:var(--border, #e2e8f0)}.pos-right{flex:0 0 40%;width:40%;display:flex;flex-direction:column;overflow:hidden;background:#fff;min-height:0;box-shadow:-4px 0 20px #0000000f;z-index:1}.pos-panel-header{flex-shrink:0;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:#fff;border-bottom:1px solid var(--border, #e2e8f0);box-shadow:0 1px 4px #0000000a;gap:10px;z-index:5}.pos-panel-title{font-size:14px;font-weight:700;color:var(--text, #0f172a);display:flex;align-items:center;gap:6px}.pos-panel-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;background:#f97316;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:0 6px}.pos-panel-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;min-height:0}.pos-panel-body::-webkit-scrollbar{width:5px}.pos-panel-body::-webkit-scrollbar-track{background:transparent}.pos-panel-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:10px}.pos-panel-footer{flex-shrink:0;border-top:1px solid var(--border, #e2e8f0);background:#fff;padding:14px 16px 16px;box-shadow:0 -6px 20px #00000012;z-index:10}.pos-footer{flex-shrink:0;height:36px;background:#0f172a;color:#94a3b8;display:flex;align-items:center;padding:0 16px;gap:20px;font-size:11px;overflow:hidden}.pos-shortcut{display:flex;align-items:center;gap:4px;white-space:nowrap}.pos-key{display:inline-flex;align-items:center;justify-content:center;height:18px;min-width:24px;padding:0 5px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:4px;font-size:10px;font-weight:600;color:#e2e8f0;font-family:Courier New,monospace}.pos-footer-sep{width:1px;height:16px;background:rgba(255,255,255,.1);flex-shrink:0}.pos-footer-spacer{flex:1}.pos-status-dot{width:6px;height:6px;border-radius:50%;background:#22c55e;flex-shrink:0;box-shadow:0 0 0 2px #22c55e40}.pos-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--muted, #64748b)}.pos-placeholder-icon{font-size:40px;opacity:.4}.pos-placeholder-text{font-size:13px}@media (min-width: 768px) and (max-width: 1023px){.pos-left,.pos-right{flex:0 0 50%;width:50%}.pos-mobile-tabs{display:none}.pos-tb-barcode{flex:0 0 200px}.pos-tb-barcode,.pos-tb-search{height:44px}.pos-tb-btn{height:44px;min-width:44px}.pg-cat{height:44px;line-height:44px;padding:0 18px;font-size:13px}.pg-card{padding:14px 12px 12px;min-height:112px}.cp-qty-btn{width:32px;height:32px;font-size:16px}.cp-qty-input{width:48px;height:32px}.cp-del-btn{width:36px;height:36px;font-size:15px}.cp-row td{padding:11px 10px}.pos-panel-header{height:52px}}@media (max-width: 767px){.pos-workspace{flex-direction:column;position:relative}.pos-left,.pos-right{flex:none;width:100%}.pos-divider{width:100%;height:1px}.pos-left,.pos-right{display:none}.pos-left[data-active=true],.pos-right[data-active=true]{display:flex;flex:1}.pos-right{box-shadow:none}.pos-mobile-tabs{flex-shrink:0;display:flex;background:#fff;border-bottom:1px solid var(--border, #e2e8f0)}.pos-mobile-tab{flex:1;min-height:44px;padding:10px;text-align:center;font-size:14px;font-weight:700;color:var(--muted, #64748b);cursor:pointer;border:none;background:none;border-bottom:3px solid transparent;transition:all .18s}.pos-mobile-tab.active{color:#f97316;border-bottom-color:#f97316;background:#fff7ed}.pos-footer{display:none}.pos-toolbar{height:auto;flex-wrap:wrap;padding:8px 10px;gap:8px}.pos-tb-barcode{flex:1 1 100%;height:48px}.pos-tb-sep{display:none}.pos-tb-search{flex:1 1 auto;max-width:none;height:48px}.pos-tb-spacer,.pos-tb-btn-label{display:none}.pos-tb-btn{padding:0;width:48px;height:48px;min-width:44px;justify-content:center}.pg-cat{height:44px;line-height:44px;padding:0 16px;font-size:13px}.pg-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.pg-card{padding:14px 12px 12px;min-height:110px}.pos-panel-header{height:52px}.cp-qty-btn{width:36px;height:36px;font-size:18px;border-radius:8px}.cp-qty-input{width:52px;height:36px;font-size:14px}.cp-del-btn{width:40px;height:40px;font-size:17px;border-radius:6px}.cp-row td{padding:12px 8px}.cp-pay-btn{height:56px;font-size:16px;border-radius:14px}.cp-col-gst,.cp-col-rate{display:none}.cp-col-name{width:55%}.cp-col-qty{width:25%}.cp-col-total{width:16%}.cp-col-del{width:4%}.cp-th.cp-col-gst,.cp-th.cp-col-rate{display:none}.pm-overlay{padding:0;align-items:flex-end}.pm-modal{border-radius:20px 20px 0 0;max-height:92vh;max-width:100%}.pm-methods{grid-template-columns:repeat(2,1fr);padding:14px 16px 10px}.pm-method{padding:14px 4px 12px;border-radius:14px}.pm-method-icon{font-size:24px}}@media (min-width: 768px){.pos-mobile-tabs{display:none}}@media (max-width: 900px){.pos-tb-barcode{flex:0 0 200px}}.pg-shell{display:flex;flex-direction:column;height:100%;overflow:hidden}.pg-cats{flex-shrink:0;display:flex;align-items:center;gap:4px;padding:8px 12px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--border, #e2e8f0);scrollbar-width:none}.pg-cats::-webkit-scrollbar{display:none}.pg-cat{flex-shrink:0;height:30px;padding:0 14px;border:1.5px solid var(--border, #e2e8f0);border-radius:20px;background:#f8fafc;font-size:12px;font-weight:600;color:var(--muted, #64748b);cursor:pointer;white-space:nowrap;transition:all .18s ease}.pg-cat:hover{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.pg-cat--active{background:#f97316;border-color:#f97316;color:#fff;box-shadow:0 2px 8px #f973164d}.pg-cat--active:hover{background:#ea580c}.pg-cat-loading{font-size:11px;color:var(--muted, #64748b);padding:0 8px}.pg-body{padding:12px}.pg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.pg-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:12px 10px 10px;background:#fff;border:1.5px solid var(--border, #e2e8f0);border-radius:14px;cursor:pointer;text-align:left;transition:border-color .2s ease,box-shadow .2s ease,transform .18s ease;overflow:hidden;min-height:104px;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.pg-card:hover{border-color:#f97316;box-shadow:0 8px 28px #f9731629,0 2px 6px #0000000f;transform:translateY(-3px)}.pg-card:active{transform:translateY(-1px) scale(.98);box-shadow:0 3px 10px #f973161f;transition:transform .08s ease,box-shadow .08s ease}.pg-card--out{background:#f8fafc;border-color:#e2e8f0;opacity:.7;box-shadow:none}.pg-card--out:hover{border-color:#94a3b8;box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.pg-card--skeleton{background:#f1f5f9;border-color:transparent;min-height:104px;animation:pg-shimmer 1.4s ease-in-out infinite;cursor:default;pointer-events:none}@keyframes pg-shimmer{0%,to{opacity:.6}50%{opacity:1}}.pg-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;flex-shrink:0}.pg-dot--ok{background:#22c55e;box-shadow:0 0 0 2px #22c55e33}.pg-dot--low{background:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.pg-dot--out{background:#ef4444;box-shadow:0 0 0 2px #ef444433}.pg-card-name{font-size:13px;font-weight:700;color:var(--text, #0f172a);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;padding-right:14px;margin-top:2px}.pg-card-cat{font-size:10px;font-weight:600;color:#f97316;background:#fff7ed;border-radius:4px;padding:1px 6px;align-self:flex-start;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.pg-card-price{font-size:16px;font-weight:800;color:#0f172a;margin-top:auto;padding-top:4px}.pg-card-foot{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:2px}.pg-gst{font-size:10px;font-weight:600;color:#0891b2;background:#ecfeff;border-radius:4px;padding:1px 5px;white-space:nowrap}.pg-stock{font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0}.pg-stock--ok{color:#16a34a}.pg-stock--low{color:#d97706}.pg-stock--out{color:#dc2626}.pg-add-overlay{position:absolute;inset:0;background:rgba(249,115,22,.07);display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#f97316;opacity:0;transition:opacity .15s;border-radius:10px;pointer-events:none;letter-spacing:.5px}.pg-card:hover .pg-add-overlay{opacity:1}.pg-card--out:hover .pg-add-overlay{color:#64748b;background:rgba(100,116,139,.07)}.pg-sentinel{height:1px}.pg-loading-more{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;font-size:12px;color:var(--muted, #64748b)}.pg-spinner{width:16px;height:16px;border:2px solid #e2e8f0;border-top-color:#f97316;border-radius:50%;animation:pg-spin .7s linear infinite;flex-shrink:0}@keyframes pg-spin{to{transform:rotate(360deg)}}.pg-end-notice{text-align:center;font-size:11px;color:#94a3b8;padding:12px 0 4px}.pg-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:8px;font-size:13px;margin-bottom:10px}.pg-notice--error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.pg-retry-btn{flex-shrink:0;padding:4px 10px;background:#fff;border:1px solid #fecaca;border-radius:6px;font-size:12px;font-weight:600;color:#dc2626;cursor:pointer}.pg-retry-btn:hover{background:#fef2f2}@media (max-width: 500px){.pg-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.cp-customer-chip{font-size:11px;font-weight:600;color:#f97316;background:#fff7ed;border:1px solid #fed7aa;border-radius:20px;padding:2px 10px;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.cp-body{padding:0}.cp-table-wrap{overflow-x:auto;width:100%}.cp-table{width:100%;border-collapse:collapse;font-size:12px}.cp-th{position:sticky;top:0;background:#f8fafc;border-bottom:2px solid var(--border, #e2e8f0);padding:8px 10px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted, #64748b);white-space:nowrap;z-index:2}.cp-col-name{width:38%;text-align:left}.cp-col-qty{width:20%;text-align:center}.cp-col-rate{width:14%;text-align:right}.cp-col-gst{width:10%;text-align:center}.cp-col-total{width:14%;text-align:right}.cp-col-del{width:4%;text-align:center}.cp-row{border-bottom:1px solid #f1f5f9;transition:background .15s ease,box-shadow .15s ease;cursor:pointer}.cp-row:hover{background:#fff7ed}.cp-row td{padding:9px 10px;vertical-align:middle}.cp-row--warn{background:#fffbeb}.cp-row--warn:hover{background:#fef9c3}.cp-row--selected{background:#fff7ed;box-shadow:inset 3px 0 #f97316}.cp-row--selected:hover{background:#fff7ed}.cp-prod-name{font-size:12px;font-weight:700;color:var(--text, #0f172a);line-height:1.3;word-break:break-word}.cp-prod-meta{font-size:10px;color:var(--muted, #64748b);margin-top:1px}.cp-stock-warn{margin-top:4px;font-size:10px;font-weight:700;border-radius:4px;padding:2px 6px;display:inline-block}.cp-stock-warn--out{background:#fee2e2;color:#dc2626}.cp-stock-warn--low{background:#fef3c7;color:#b45309}.cp-qty-wrap{display:flex;align-items:center;gap:3px;justify-content:center}.cp-qty-btn{width:24px;height:24px;border:1.5px solid var(--border, #e2e8f0);border-radius:6px;background:#f8fafc;font-size:14px;font-weight:700;color:var(--text, #0f172a);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1;padding:0;transition:all .15s ease}.cp-qty-btn:hover{background:#f97316;color:#fff;border-color:#f97316;box-shadow:0 2px 6px #f973164d;transform:scale(1.08)}.cp-qty-input{width:44px;height:28px;border:1.5px solid var(--border, #e2e8f0);border-radius:5px;text-align:center;font-size:13px;font-weight:700;color:var(--text, #0f172a);background:#fff;outline:none;transition:border-color .12s;-moz-appearance:textfield}.cp-qty-input::-webkit-inner-spin-button,.cp-qty-input::-webkit-outer-spin-button{-webkit-appearance:none}.cp-qty-input:focus{border-color:#f97316}.cp-qty-input--warn{border-color:#f59e0b;background:#fffbeb}.cp-unit{font-size:9px;color:var(--muted, #64748b);text-align:center;margin-top:2px}.cp-rate-input{width:64px;height:28px;border:1.5px solid var(--border, #e2e8f0);border-radius:5px;text-align:right;font-size:12px;font-weight:600;color:var(--text, #0f172a);background:#fff;outline:none;padding:0 6px;transition:border-color .12s;-moz-appearance:textfield}.cp-rate-input::-webkit-inner-spin-button,.cp-rate-input::-webkit-outer-spin-button{-webkit-appearance:none}.cp-rate-input:focus{border-color:#f97316}.cp-gst-chip{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 6px;background:#ecfeff;border:1px solid #a5f3fc;border-radius:4px;font-size:10px;font-weight:700;color:#0e7490;white-space:nowrap}.cp-gst-split{font-size:9px;color:var(--muted, #94a3b8);text-align:center;margin-top:2px}.cp-line-total{font-size:13px;font-weight:700;color:var(--text, #0f172a);white-space:nowrap}.cp-line-gst-detail{font-size:10px;color:var(--muted, #94a3b8);margin-top:2px;white-space:nowrap}.cp-del-btn{width:24px;height:24px;border:none;background:none;cursor:pointer;font-size:13px;color:#94a3b8;border-radius:4px;display:flex;align-items:center;justify-content:center;padding:0;transition:all .12s}.cp-del-btn:hover{background:#fee2e2;color:#dc2626}.cp-discount-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}.cp-discount-label{font-size:11px;font-weight:600;color:var(--muted, #64748b);white-space:nowrap;flex-shrink:0}.cp-discount-input{flex:1;height:30px;border:1.5px solid var(--border, #e2e8f0);border-radius:6px;padding:0 10px;font-size:13px;font-weight:600;color:var(--text, #0f172a);outline:none;-moz-appearance:textfield}.cp-discount-input::-webkit-inner-spin-button,.cp-discount-input::-webkit-outer-spin-button{-webkit-appearance:none}.cp-discount-input:focus{border-color:#f97316}.cp-totals{background:#f8fafc;border:1px solid #ffedd5;border-radius:12px;overflow:hidden;margin-bottom:12px;box-shadow:0 1px 4px #f973160f}.cp-totals-row{display:flex;justify-content:space-between;align-items:center;padding:7px 14px;border-bottom:1px solid #f1f5f9;font-size:12px;color:var(--text, #0f172a)}.cp-totals-row:last-child{border-bottom:none}.cp-gst-row{color:var(--muted, #64748b)}.cp-gst-label{display:flex;align-items:center;gap:5px}.cp-est-tag{font-size:9px;font-weight:700;color:#0891b2;background:#ecfeff;border-radius:3px;padding:1px 4px;letter-spacing:.3px}.cp-muted{color:var(--muted, #94a3b8)!important}.cp-discount-line{color:#d97706;font-weight:700}.cp-grand{background:linear-gradient(135deg,#1e3a5f 0%,#9a3412 100%);border-top:none;border-radius:0 0 8px 8px;padding-top:12px;padding-bottom:12px;font-weight:700;font-size:13px;color:#ffedd5}.cp-grand span:first-child{color:#fed7aa;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.6px}.cp-grand-amt{font-size:32px;font-weight:900;color:#fff;letter-spacing:-.5px;line-height:1;text-shadow:0 1px 2px rgba(0,0,0,.15)}.cp-pay-btn{width:100%;height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 18px;background:linear-gradient(135deg,#1e3a5f 0%,#9a3412 100%);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;transition:background .2s ease,transform .15s ease,box-shadow .2s ease;margin-bottom:4px;box-shadow:0 4px 14px #1e3a5f59}.cp-pay-btn:hover{background:linear-gradient(135deg,#9a3412 0%,#c2410c 100%);box-shadow:0 6px 20px #9a341273;transform:translateY(-1px)}.cp-pay-btn:active{transform:translateY(0) scale(.99);box-shadow:0 2px 8px #1e3a5f40}.cp-pay-amount{font-size:18px;font-weight:900;color:#fdba74;flex:1;text-align:right}.cp-pay-key{font-size:9px;font-weight:700;font-family:Courier New,monospace;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:3px;padding:1px 5px;color:#fed7aa;white-space:nowrap}.cp-est-note{font-size:10px;color:var(--muted, #94a3b8);text-align:center;margin:2px 0 0;line-height:1.4}.pm-overlay{position:fixed;inset:0;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px;backdrop-filter:blur(2px)}.pm-modal{background:#fff;border-radius:16px;width:100%;max-width:440px;max-height:92vh;overflow-y:auto;box-shadow:0 24px 64px #00000038;display:flex;flex-direction:column;scrollbar-width:thin}.pm-modal::-webkit-scrollbar{width:4px}.pm-modal::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px}.pm-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 20px 14px;border-bottom:1px solid #f1f5f9;flex-shrink:0}.pm-header--center{justify-content:center}.pm-header-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#94a3b8;margin-bottom:4px}.pm-header-total{font-size:28px;font-weight:900;color:#1e3a5f;line-height:1;letter-spacing:-.5px}.pm-header-items{font-size:11px;color:#94a3b8;margin-top:4px}.pm-close{width:32px;height:32px;border:none;background:#f1f5f9;border-radius:50%;cursor:pointer;font-size:14px;color:#64748b;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.pm-close:hover{background:#e2e8f0;color:#1e293b}.pm-error{display:flex;flex-direction:column;gap:6px;margin:12px 20px 0;padding:10px 14px;background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;font-size:13px;color:#991b1b}.pm-error-top{display:flex;align-items:center;justify-content:space-between}.pm-error-dismiss{border:none;background:none;cursor:pointer;color:#dc2626;font-size:16px;padding:0 0 0 8px;flex-shrink:0}.pm-stock-errors{list-style:none;margin:4px 0 0;padding:8px 10px;background:#fff1f2;border:1px solid #fecaca;border-radius:6px;display:flex;flex-direction:column;gap:4px}.pm-stock-error-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px;font-size:12px}.pm-stock-error-name{font-weight:600;color:#7f1d1d;flex:1 1 60%}.pm-stock-error-qty{color:#b91c1c;white-space:nowrap}.pm-methods{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:16px 20px 12px;flex-shrink:0}.pm-method{display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 4px 10px;border:2px solid #e2e8f0;border-radius:12px;background:#f8fafc;cursor:pointer;font-size:11px;font-weight:700;color:#64748b;transition:all .15s}.pm-method:hover{border-color:#fdba74;background:#fff7ed;color:#c2410c}.pm-method--active{border-color:#f97316;background:#fff7ed;color:#f97316}.pm-method-icon{font-size:22px}.pm-section{padding:0 20px 16px;flex-shrink:0}.pm-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#64748b;margin-bottom:8px}.pm-optional{font-weight:400;text-transform:none;color:#94a3b8}.pm-input{width:100%;height:42px;padding:0 14px;border:1.5px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;color:#1e293b;background:#fff;outline:none;transition:border-color .15s;box-sizing:border-box}.pm-input:focus{border-color:#f97316;box-shadow:0 0 0 3px #f973161a}.pm-big-input{width:100%;height:58px;padding:0 16px;border:2px solid #e2e8f0;border-radius:10px;font-size:24px;font-weight:800;color:#1e293b;background:#fff;outline:none;transition:border-color .15s;box-sizing:border-box;-moz-appearance:textfield}.pm-big-input::-webkit-inner-spin-button,.pm-big-input::-webkit-outer-spin-button{-webkit-appearance:none}.pm-big-input:focus{border-color:#f97316;box-shadow:0 0 0 4px #f973161a}.pm-quick-btns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.pm-quick{flex:1;min-width:64px;height:36px;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:13px;font-weight:700;color:#475569;cursor:pointer;transition:all .15s;white-space:nowrap}.pm-quick:hover{border-color:#f97316;color:#f97316;background:#fff7ed}.pm-quick--active{background:#f97316;border-color:#f97316;color:#fff}.pm-quick--exact{background:#f1f5f9;color:#0f172a;font-size:12px}.pm-quick--exact:hover{background:#1e3a5f;border-color:#1e3a5f;color:#fff}.pm-change-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:10px 14px;border-radius:8px;font-size:14px;font-weight:700;background:#f1f5f9;color:#475569}.pm-change-row--green{background:#f0fdf4;color:#166534}.pm-change-row--warn{background:#fefce8;color:#854d0e}.pm-change-amt{font-size:18px;font-weight:900}.pm-qr-wrap{display:flex;align-items:center;justify-content:center;min-height:220px;padding:16px 20px 8px}.pm-qr-loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:#64748b;font-size:13px}.pm-qr-spinner{width:36px;height:36px;border:3px solid #e2e8f0;border-top-color:#f97316;border-radius:50%;animation:pm-spin .7s linear infinite}@keyframes pm-spin{to{transform:rotate(360deg)}}.pm-qr-svg svg{width:210px;height:210px;border:10px solid #fff;box-shadow:0 0 0 1px #e2e8f0,0 8px 24px #0000001a;border-radius:12px}.pm-qr-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;text-align:center;max-width:280px}.pm-qr-placeholder-icon{font-size:40px;opacity:.5}.pm-qr-placeholder-text{font-size:14px;font-weight:700;color:#475569}.pm-qr-placeholder-sub{font-size:11px;color:#94a3b8;line-height:1.5}.pm-upi-id{text-align:center;font-size:13px;color:#475569;padding:4px 20px}.pm-upi-apps{text-align:center;font-size:11px;color:#94a3b8;padding:2px 0 10px}.pm-upi-confirm{display:flex;align-items:flex-start;gap:10px;margin:8px 20px 0;font-size:13px;font-weight:600;color:#1e293b;cursor:pointer;line-height:1.4}.pm-upi-confirm input[type=checkbox]{width:18px;height:18px;accent-color:#f97316;flex-shrink:0;margin-top:2px;cursor:pointer}.pm-credit-customer{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff7ed;border:1.5px solid #fed7aa;border-radius:10px;margin-bottom:10px}.pm-credit-icon{font-size:24px;flex-shrink:0}.pm-credit-name{font-size:14px;font-weight:700;color:#1e293b}.pm-credit-sub{font-size:11px;color:#64748b;margin-top:2px}.pm-credit-badge{margin-left:auto;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;background:#f97316;color:#fff;border-radius:5px;padding:2px 8px;flex-shrink:0}.pm-hint{padding:10px 14px;border-radius:8px;font-size:13px;line-height:1.5}.pm-hint--info{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412}.pm-hint--warn{background:#fefce8;border:1px solid #fde68a;color:#854d0e}.pm-footer{padding:12px 20px 20px;flex-shrink:0}.pm-footer--two{display:flex;gap:10px}.pm-footer--col{display:flex;flex-direction:column;gap:10px}.pm-confirm-btn{width:100%;height:52px;border:none;border-radius:12px;background:linear-gradient(135deg,#1e3a5f 0%,#9a3412 100%);color:#fff;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .2s ease,transform .15s ease,box-shadow .2s ease,opacity .15s;box-shadow:0 4px 14px #1e3a5f4d}.pm-confirm-btn:hover:not(:disabled){background:linear-gradient(135deg,#9a3412 0%,#c2410c 100%);box-shadow:0 6px 20px #9a341266;transform:translateY(-1px)}.pm-confirm-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 8px #1e3a5f33}.pm-confirm-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.pm-confirm-btn--green{background:linear-gradient(135deg,#16a34a 0%,#15803d 100%)}.pm-confirm-btn--green:hover:not(:disabled){background:linear-gradient(135deg,#15803d 0%,#166534 100%);box-shadow:0 6px 20px #16a34a66}.pm-btn-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:pm-spin .7s linear infinite;flex-shrink:0}.pm-outline-btn{flex:1;height:46px;border:1.5px solid #e2e8f0;border-radius:10px;background:#f8fafc;font-size:13px;font-weight:600;color:#475569;cursor:pointer;transition:all .15s}.pm-outline-btn:hover{background:#e2e8f0}.pm-print-row{display:flex;gap:10px}.pm-print-btn{flex:1}.pm-success-icon{text-align:center;font-size:52px;padding:24px 0 8px;animation:pm-pop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes pm-pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}.pm-success-title{text-align:center;font-size:20px;font-weight:800;color:#1e293b;margin-bottom:16px}.pm-result-box{margin:0 20px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden}.pm-result-row{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-bottom:1px solid #f1f5f9;font-size:13px}.pm-result-row:last-child{border-bottom:none}.pm-result-label{color:#64748b}.pm-result-value{color:#1e293b;font-weight:600}.pm-status-badge{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:5px;font-size:10px;font-weight:800;letter-spacing:.5px}.pm-status-badge--paid{background:#dcfce7;color:#166534}.pm-status-badge--partial{background:#fef9c3;color:#854d0e}.pm-status-badge--credit{background:#fee2e2;color:#991b1b}@media (pointer: coarse){.pos-header-btn{min-height:44px;padding:0 14px}.pos-tb-btn{min-height:44px}.pm-method{min-height:60px}.pm-confirm-btn{min-height:52px}.pm-outline-btn{min-height:48px}.pm-quick{min-height:44px}.cp-pay-btn{min-height:52px}.pg-cat{min-height:44px;line-height:44px}.pm-key-btn{min-height:56px}.pm-tile{min-height:60px}}.pos-brand-info{display:flex;flex-direction:column;gap:1px}.pos-brand-counter{font-size:10px;color:#fdba74;font-weight:500}.pos-shift-status{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.pos-shift-status--open{border-color:#22c55e4d}.pos-shift-status--closed{border-color:#ef44444d}.pos-shift-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pos-shift-dot--open{background:#22c55e;box-shadow:0 0 6px #22c55e}.pos-shift-dot--closed{background:#ef4444}.pos-shift-info{display:flex;flex-direction:column;gap:1px}.pos-shift-label{font-size:9px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.pos-shift-value{font-size:12px;color:#f1f5f9;font-weight:700}.pos-shift-close-btn,.pos-shift-open-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;border-radius:5px;padding:3px 8px;font-size:11px;cursor:pointer;transition:background .15s}.pos-shift-close-btn:hover{background:rgba(239,68,68,.2);border-color:#ef4444;color:#fca5a5}.pos-shift-open-btn:hover{background:rgba(34,197,94,.2);border-color:#22c55e;color:#86efac}.pos-shift-alert{display:flex;align-items:center;gap:10px;padding:10px 20px;background:#fef2f2;border-bottom:2px solid #fecaca;color:#991b1b;font-size:13px}.pos-shift-alert-btn{margin-left:auto;background:#dc2626;color:#fff;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:700;cursor:pointer}.pos-shift-alert-btn:hover{background:#b91c1c}.pos-status-dot--off{background:#ef4444!important}.pos-scanner-status{display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.pos-scanner-status--connected{border-color:#22c55e4d}.pos-scanner-status--scanning{border-color:#f59e0b4d}.pos-scanner-status--disconnected{border-color:#ef44444d}.pos-scanner-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.pos-scanner-dot--connected{background:#22c55e;box-shadow:0 0 6px #22c55e}.pos-scanner-dot--scanning{background:#f59e0b;box-shadow:0 0 6px #f59e0b;animation:pulse 1s infinite}.pos-scanner-dot--disconnected{background:#ef4444}.pos-scanner-info{display:flex;flex-direction:column;gap:1px}.pos-scanner-label{font-size:9px;color:#94a3b8;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.pos-scanner-value{font-size:12px;color:#f1f5f9;font-weight:700}.pos-scanner-toggle-btn{background:transparent;border:1px solid rgba(255,255,255,.2);color:#cbd5e1;border-radius:5px;padding:3px 8px;font-size:11px;cursor:pointer;transition:background .15s}.pos-scanner-toggle-btn:hover{background:rgba(255,255,255,.1);border-color:#ffffff4d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.shift-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,23,42,.85);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center}.shift-modal{background:#fff;border-radius:20px;padding:40px 36px 32px;width:100%;max-width:420px;box-shadow:0 25px 60px #00000059;text-align:center}.shift-icon{font-size:3rem;margin-bottom:12px;display:block}.shift-title{font-size:22px;font-weight:800;color:#0f172a;margin:0 0 8px}.shift-sub{font-size:14px;color:#64748b;margin:0 0 24px}.shift-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;font-size:13px;color:#991b1b;margin-bottom:16px;text-align:left}.shift-field{text-align:left;margin-bottom:16px}.shift-label{display:block;font-size:12px;font-weight:600;color:#475569;margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}.shift-input{width:100%;box-sizing:border-box;height:44px;border:1.5px solid #e2e8f0;border-radius:10px;padding:0 14px;font-size:15px;color:#1e293b;outline:none;transition:border-color .15s}.shift-input:focus{border-color:#f97316}.shift-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.shift-open-btn{width:100%;height:52px;background:#c2410c;color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s}.shift-open-btn:hover:not(:disabled){background:#9a3412}.shift-open-btn:disabled{opacity:.55;cursor:not-allowed}.shift-open-btn--danger{background:#dc2626}.shift-open-btn--danger:hover{background:#b91c1c}.shift-skip-btn{background:transparent;border:none;color:#94a3b8;font-size:13px;cursor:pointer;padding:4px 0}.shift-skip-btn:hover{color:#64748b}.shift-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.bsm-overlay{position:fixed;inset:0;z-index:9990;background:rgba(15,23,42,.7);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.bsm-modal{background:#fff;border-radius:16px;width:100%;max-width:680px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d;overflow:hidden}.bsm-header{display:flex;align-items:flex-start;justify-content:space-between;padding:20px 24px 16px;border-bottom:1px solid #f1f5f9}.bsm-title{font-size:18px;font-weight:800;color:#0f172a}.bsm-sub{font-size:13px;color:#64748b;margin-top:2px}.bsm-close{background:none;border:none;font-size:18px;color:#94a3b8;cursor:pointer;padding:0 4px;line-height:1}.bsm-close:hover{color:#ef4444}.bsm-body{flex:1;overflow-y:auto;padding:16px 24px}.bsm-loading{display:flex;align-items:center;gap:12px;padding:40px 0;justify-content:center;color:#64748b;font-size:14px}.bsm-spinner{width:20px;height:20px;border:2px solid #e2e8f0;border-top-color:#f97316;border-radius:50%;animation:spin .7s linear infinite}.bsm-error{padding:16px;background:#fef2f2;border-radius:8px;color:#991b1b;font-size:13px}.bsm-empty{padding:40px 0;text-align:center;color:#94a3b8;font-size:14px}.bsm-table{width:100%;border-collapse:collapse;font-size:13px}.bsm-table th{text-align:left;padding:8px 10px;color:#64748b;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #e2e8f0}.bsm-row{border-bottom:1px solid #f8fafc;transition:background .1s}.bsm-row:hover:not(.bsm-row--disabled){background:#f8fafc}.bsm-row--disabled{opacity:.5}.bsm-cell{padding:10px;vertical-align:middle}.bsm-cell--batch{font-weight:700;color:#1e293b}.bsm-cell--days{color:#64748b}.bsm-cell--qty{font-weight:700}.bsm-cell--action{text-align:right}.bsm-nil{color:#94a3b8}.bsm-badge{display:inline-flex;align-items:center;height:20px;padding:0 7px;border-radius:5px;font-size:10px;font-weight:700;letter-spacing:.3px}.bsm-badge--green{background:#dcfce7;color:#166534}.bsm-badge--orange{background:#fef9c3;color:#854d0e}.bsm-badge--red{background:#fee2e2;color:#991b1b}.bsm-select-btn{background:#c2410c;color:#fff;border:none;border-radius:7px;padding:6px 14px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s}.bsm-select-btn:hover:not(:disabled){background:#9a3412}.bsm-select-btn:disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.bsm-footer{padding:14px 24px;border-top:1px solid #f1f5f9;display:flex;justify-content:flex-end}.bsm-cancel-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:600;color:#64748b;cursor:pointer}.bsm-cancel-btn:hover{background:#f1f5f9}.pm-modal--wide{max-width:860px!important;padding:0!important;overflow:hidden}.pm-two-col{display:grid;grid-template-columns:1fr 340px;min-height:560px;max-height:90vh}.pm-col-left{display:flex;flex-direction:column;padding:0;overflow-y:auto;border-right:1px solid #f1f5f9}.pm-col-right{display:flex;flex-direction:column;padding:20px;background:#f8fafc;overflow-y:auto}.pm-col-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #f1f5f9}.pm-col-title{font-size:16px;font-weight:700;color:#1e293b}.pm-method-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 20px 12px}.pm-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:2px solid #e2e8f0;border-radius:12px;background:#fff;cursor:pointer;transition:all .15s;text-align:center}.pm-tile:hover{border-color:#fdba74;background:#fff7ed}.pm-tile--active{border-color:#f97316;background:#fff7ed}.pm-tile-icon{font-size:22px}.pm-tile-label{font-size:13px;font-weight:700;color:#1e293b}.pm-tile-desc{font-size:10px;color:#94a3b8}.pm-cash-section{padding:0 20px 16px}.pm-cash-display{background:#1e293b;border-radius:12px;padding:16px 20px;margin-bottom:12px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pm-cash-currency{font-size:22px;color:#94a3b8;font-weight:500}.pm-cash-value{font-size:32px;font-weight:800;color:#f8fafc;flex:1;text-align:right}.pm-cash-placeholder{color:#475569}.pm-cash-change{width:100%;text-align:right;font-size:12px;color:#4ade80;font-weight:600}.pm-cash-shortfall{width:100%;text-align:right;font-size:12px;color:#fbbf24;font-weight:600}.pm-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.pm-key-btn{height:52px;background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;font-size:18px;font-weight:700;color:#1e293b;cursor:pointer;transition:all .1s}.pm-key-btn:hover{background:#f8fafc;border-color:#fdba74}.pm-key-btn:active{background:#fff7ed;transform:scale(.96)}.pm-key-btn--del{color:#ef4444;font-size:16px}.pm-summary-box{background:#fff;border-radius:12px;border:1px solid #e2e8f0;overflow:hidden;margin-bottom:14px;flex:1;display:flex;flex-direction:column}.pm-summary-title{padding:12px 16px;font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #f1f5f9}.pm-summary-items{flex:1;overflow-y:auto;max-height:180px;padding:8px 0}.pm-summary-item{display:flex;flex-wrap:wrap;padding:7px 16px;gap:2px;font-size:12px;border-bottom:1px solid #f8fafc}.pm-summary-item:last-child{border-bottom:none}.pm-summary-item-name{flex:1;font-weight:600;color:#1e293b;min-width:120px}.pm-summary-item-meta{color:#94a3b8;font-size:11px;width:100%}.pm-summary-item-total{font-weight:700;color:#1e293b;margin-left:auto}.pm-batch-chip{display:inline-flex;align-items:center;height:16px;padding:0 5px;background:#fff7ed;border-radius:4px;font-size:10px;font-weight:600;color:#c2410c;margin-left:5px}.pm-totals-box{padding:8px 0;border-top:1px solid #f1f5f9}.pm-totals-row{display:flex;justify-content:space-between;padding:5px 16px;font-size:12px;color:#64748b}.pm-totals-row--gst{font-size:11px;color:#94a3b8}.pm-totals-row--disc{color:#16a34a}.pm-grand-box{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#1e293b;border-top:1px solid #e2e8f0}.pm-grand-label{font-size:12px;color:#94a3b8;font-weight:600}.pm-grand-amt{font-size:22px;font-weight:800;color:#f8fafc}.pm-balance-row{display:flex;justify-content:space-between;padding:8px 16px;font-size:13px;font-weight:600;border-top:1px solid #f1f5f9}.pm-balance-row--green{color:#16a34a;background:#f0fdf4}.pm-balance-row--warn{color:#b45309;background:#fffbeb}.pm-cust-row{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:12px;color:#475569;border-top:1px solid #f1f5f9}.pm-cust-label{font-weight:600}.pm-cust-phone{color:#94a3b8;margin-left:auto}.pm-autoprint-toggle{display:flex;align-items:center;gap:8px;font-size:12px;color:#475569;cursor:pointer;margin-bottom:12px;user-select:none}.pm-autoprint-toggle input{accent-color:#f97316;cursor:pointer}.pm-autoprint-note{text-align:center;font-size:12px;color:#64748b;margin-bottom:12px}.pm-confirm-btn--big{width:100%;height:56px;font-size:16px;font-weight:800;border-radius:12px}.pm-confirm-hint{text-align:center;font-size:12px;color:#94a3b8;margin-top:6px}.pm-confirm-hint--warn{color:#d97706}.pm-quick-actions{display:flex;gap:8px;padding:12px 20px 8px;flex-wrap:wrap}.pm-quick-action{flex:1;min-width:100px;height:36px;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:all .15s;white-space:nowrap}.pm-quick-action:hover:not(:disabled){border-color:#f97316;color:#f97316;background:#fff7ed}.pm-quick-action:disabled{opacity:.4;cursor:not-allowed}.pm-split-rows{padding:8px 20px;display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:auto;min-height:0}.pm-split-row{background:#fff;border:1.5px solid #e2e8f0;border-radius:10px;padding:12px;transition:border-color .15s,box-shadow .15s}.pm-split-row:focus-within{border-color:#fdba74;box-shadow:0 2px 8px #f973161a}.pm-split-row--warn{border-color:#fde68a;background:#fffbeb}.pm-split-row-main{display:flex;align-items:center;gap:10px}.pm-split-method-wrap{flex-shrink:0}.pm-split-method{height:40px;padding:0 10px;border:1.5px solid #e2e8f0;border-radius:8px;background:#f8fafc;font-size:13px;font-weight:600;color:#1e293b;cursor:pointer;outline:none;transition:border-color .15s;min-width:120px}.pm-split-method:focus{border-color:#f97316}.pm-split-amount-wrap{flex:1;display:flex;align-items:center;gap:4px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;padding:0 8px 0 12px;height:40px;transition:border-color .15s}.pm-split-amount-wrap:focus-within{border-color:#f97316;background:#fff;box-shadow:0 0 0 3px #f9731614}.pm-split-currency{font-size:15px;font-weight:700;color:#94a3b8;flex-shrink:0}.pm-split-amount{flex:1;border:none;background:transparent;font-size:16px;font-weight:700;color:#1e293b;outline:none;padding:0 4px;min-width:0;-moz-appearance:textfield}.pm-split-amount::-webkit-inner-spin-button,.pm-split-amount::-webkit-outer-spin-button{-webkit-appearance:none}.pm-split-fill-btn{flex-shrink:0;height:28px;padding:0 10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;font-size:11px;font-weight:700;color:#c2410c;cursor:pointer;transition:all .12s}.pm-split-fill-btn:hover{background:#ffedd5;border-color:#fdba74}.pm-split-remove{width:32px;height:32px;flex-shrink:0;border:1.5px solid #fee2e2;border-radius:8px;background:#fef2f2;color:#dc2626;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.pm-split-remove:hover{background:#fee2e2;border-color:#fca5a5}.pm-split-row-extra{display:flex;gap:8px;margin-top:8px;padding-top:8px;border-top:1px dashed #f1f5f9}.pm-split-ref-input{flex:1;height:34px;padding:0 10px;border:1px solid #e2e8f0;border-radius:6px;font-size:12px;color:#475569;background:#f8fafc;outline:none;transition:border-color .12s}.pm-split-ref-input:focus{border-color:#f97316;background:#fff}.pm-split-ref-input::placeholder{color:#94a3b8}.pm-split-credit-warn{margin-top:8px;padding:8px 10px;background:#fefce8;border:1px solid #fde68a;border-radius:6px;font-size:12px;font-weight:600;color:#854d0e}.pm-split-credit-info{display:flex;align-items:center;justify-content:space-between;margin-top:8px;padding:8px 10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;font-size:12px;font-weight:600;color:#ea580c}.pm-split-credit-bal{font-weight:700;color:#dc2626;background:#fef2f2;padding:2px 8px;border-radius:4px;font-size:11px}.pm-add-row-wrap{padding:0 20px 8px;flex-shrink:0}.pm-add-row-btn{width:100%;height:38px;border:2px dashed #e2e8f0;border-radius:8px;background:transparent;font-size:12px;font-weight:600;color:#94a3b8;cursor:pointer;transition:all .15s}.pm-add-row-btn:hover{border-color:#fdba74;color:#f97316;background:#fff7ed}.pm-remaining-bar{padding:12px 20px 16px;flex-shrink:0}.pm-remaining-box{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:10px;font-size:14px;font-weight:700}.pm-remaining-amt{font-size:18px;font-weight:800}.pm-remaining-box--due{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}.pm-remaining-box--change{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.pm-remaining-box--over{background:#fefce8;color:#854d0e;border:1px solid #fde68a}.pm-remaining-box--ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}.pm-allocation-box{border-top:1px solid #f1f5f9;padding:6px 0}.pm-allocation-row{display:flex;justify-content:space-between;padding:5px 16px;font-size:12px;font-weight:600;color:#475569}.pm-allocation-row--change{color:#16a34a}.pm-cust-balance-row{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px;font-weight:600;color:#475569;background:#f8fafc;border-top:1px solid #e2e8f0}.pm-cust-balance-row--warn{color:#dc2626;background:#fef2f2;border-top-color:#fecaca}.pm-cust-balance-row--ok{color:#16a34a;background:#f0fdf4;border-top-color:#bbf7d0}.pm-cust-balance-amt{font-weight:800}@media (max-width: 720px){.pm-quick-actions{padding:8px 12px 4px;gap:6px}.pm-quick-action{font-size:11px;height:32px;min-width:80px}.pm-split-rows{padding:8px 12px;gap:8px}.pm-split-row{padding:10px}.pm-split-row-main{flex-wrap:wrap;gap:8px}.pm-split-method{min-width:100px;font-size:12px}.pm-split-amount-wrap{min-width:140px}.pm-split-row-extra{flex-direction:column;gap:6px}.pm-add-row-wrap{padding:0 12px 8px}.pm-remaining-bar{padding:8px 12px 12px}}.pg-card--stock-ok{border-left:3px solid #22c55e}.pg-card--stock-low{border-left:3px solid #f59e0b}.pg-card--stock-out{border-left:3px solid #ef4444;opacity:.55;cursor:not-allowed!important}.pg-card--batch .pg-add-overlay{background:rgba(194,65,12,.85)}.pg-batch-tag{position:absolute;top:6px;left:6px;background:#fff7ed;color:#c2410c;font-size:8px;font-weight:700;padding:2px 5px;border-radius:4px;text-transform:uppercase;letter-spacing:.4px}.pg-card{position:relative}.cp-batch-chip{display:inline-flex;align-items:center;gap:3px;height:16px;padding:0 6px;background:#fff7ed;border-radius:4px;font-size:10px;font-weight:600;color:#c2410c;margin-top:2px}.cp-batch-exp{color:#64748b;font-weight:500;font-size:9px}.cp-pay-btn--disabled{background:#94a3b8!important;cursor:not-allowed!important}@media (max-width: 720px){.pm-two-col{grid-template-columns:1fr;max-height:95vh}.pm-col-right{border-top:1px solid #e2e8f0;border-right:none}.pm-modal--wide{max-width:100%!important;border-radius:16px 16px 0 0!important}}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.52);display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.cm-modal{background:#fff;border-radius:14px;width:100%;max-width:520px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000002e;overflow:hidden}.cm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.cm-title{font-size:16px;font-weight:700;color:#0f172a}.cm-close{background:none;border:none;cursor:pointer;font-size:18px;color:#64748b;padding:0 4px;line-height:1}.cm-close:hover{color:#0f172a}.cm-tabs{display:flex;border-bottom:1px solid #e2e8f0;flex-shrink:0}.cm-tab{flex:1;padding:10px;font-size:13px;font-weight:600;background:none;border:none;cursor:pointer;color:#64748b;transition:color .15s,border-bottom .15s;border-bottom:3px solid transparent}.cm-tab:hover{color:#1e3a5f}.cm-tab--active{color:#1e3a5f;border-bottom-color:#f97316}.cm-body{flex:1;overflow-y:auto;padding:16px 20px}.cm-search-wrap{display:flex;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:0 12px;margin-bottom:12px}.cm-search-icon{font-size:15px;color:#94a3b8;flex-shrink:0}.cm-search-input{flex:1;border:none;background:none;outline:none;font-size:14px;padding:10px 0;color:#0f172a}.cm-search-spin{color:#94a3b8;font-size:14px}.cm-current-strip{display:flex;align-items:center;gap:8px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 12px;margin-bottom:10px;font-size:13px}.cm-current-label{color:#64748b}.cm-current-name{font-weight:700;color:#1e3a5f}.cm-current-phone{color:#475569}.cm-remove-btn{margin-left:auto;background:#fee2e2;border:none;cursor:pointer;color:#dc2626;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.cm-remove-btn:hover{background:#fecaca}.cm-results{display:flex;flex-direction:column;gap:6px}.cm-no-results{color:#94a3b8;font-size:13px;text-align:center;padding:24px 0}.cm-result-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;transition:background .12s}.cm-result-row:hover{background:#f8fafc}.cm-result-info{flex:1;min-width:0}.cm-result-name{display:block;font-weight:600;font-size:14px;color:#0f172a}.cm-result-meta{display:block;font-size:12px;color:#64748b;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-credit-badge{display:inline-block;margin-top:3px;font-size:11px;font-weight:600;background:#ecfdf5;color:#059669;border-radius:4px;padding:1px 6px}.cm-select-btn{background:#f97316;color:#fff;border:none;border-radius:7px;padding:7px 14px;font-size:13px;font-weight:600;cursor:pointer;flex-shrink:0}.cm-select-btn:hover{background:#ea580c}.cm-add-tab{display:flex;flex-direction:column;gap:12px}.cm-field{display:flex;flex-direction:column;gap:4px}.cm-label{font-size:12px;font-weight:600;color:#475569}.cm-req{color:#dc2626;margin-left:2px}.cm-input{padding:8px 12px;border:1px solid #e2e8f0;border-radius:7px;font-size:14px;color:#0f172a;outline:none;transition:border-color .15s}.cm-input:focus{border-color:#f97316}.cm-input--error{border-color:#dc2626}.cm-field-error{font-size:11px;color:#dc2626}.cm-server-error{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:10px 14px;color:#dc2626;font-size:13px}.cm-save-btn{background:#1e3a5f;color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;margin-top:4px}.cm-save-btn:hover:not(:disabled){background:#152d4a}.cm-save-btn:disabled{opacity:.6;cursor:not-allowed}.cm-error{color:#dc2626;font-size:13px;margin:4px 0}.cm-notice{background:#fff7ed;border:1px solid #fed7aa;border-radius:7px;padding:8px 12px;font-size:12px;color:#c2410c}.cm-add-hint{font-size:12px;color:#64748b;margin:-4px 0 2px;padding:6px 10px;background:#f8fafc;border-radius:6px}.hm-modal{background:#fff;border-radius:14px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000002e;overflow:hidden}.hm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#1e3a5f}.hm-title{font-size:15px;font-weight:700;color:#fff}.hm-close{background:none;border:none;cursor:pointer;font-size:18px;color:#ffffffb3;padding:0}.hm-close:hover{color:#fff}.hm-summary{padding:16px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}.hm-summary-row{display:flex;justify-content:space-between;font-size:13px;color:#475569}.hm-summary-row strong{color:#0f172a}.hm-summary-total{border-top:1px solid #e2e8f0;padding-top:8px;margin-top:4px}.hm-grand{font-size:16px;color:#1e3a5f}.hm-note-wrap{padding:16px 20px;display:flex;flex-direction:column;gap:6px}.hm-note-label{font-size:12px;font-weight:600;color:#475569}.hm-note-input{padding:9px 12px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#0f172a;outline:none}.hm-note-input:focus{border-color:#f97316}.hm-error{color:#dc2626;font-size:13px;padding:0 20px 8px}.hm-actions{display:flex;gap:10px;padding:12px 20px 20px}.hm-cancel-btn{flex:1;padding:10px;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;font-weight:600;background:#fff;cursor:pointer;color:#475569}.hm-cancel-btn:hover{background:#f8fafc}.hm-hold-btn{flex:2;padding:10px;border:none;border-radius:8px;font-size:14px;font-weight:700;background:#f59e0b;color:#fff;cursor:pointer}.hm-hold-btn:hover:not(:disabled){background:#d97706}.hm-hold-btn:disabled{opacity:.6;cursor:not-allowed}.hl-modal{background:#fff;border-radius:14px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000002e;overflow:hidden}.hl-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.hl-title{font-size:15px;font-weight:700;color:#0f172a}.hl-close{background:none;border:none;cursor:pointer;font-size:18px;color:#64748b;padding:0}.hl-close:hover{color:#0f172a}.hl-body{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:10px}.hl-loading{text-align:center;color:#94a3b8;padding:32px 0}.hl-error{color:#dc2626;text-align:center;font-size:13px}.hl-empty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:40px 0;color:#94a3b8;text-align:center}.hl-empty-icon{font-size:36px}.hl-empty p{font-weight:600;color:#64748b;margin:0}.hl-empty span{font-size:12px}.hl-card{border:1px solid #e2e8f0;border-radius:10px;padding:12px 14px;background:#fff;display:flex;flex-direction:column;gap:8px}.hl-card-top{display:flex;align-items:center;gap:8px}.hl-time{font-size:12px;font-weight:700;color:#f97316}.hl-note{font-size:12px;color:#64748b;font-style:italic}.hl-card-meta{display:flex;align-items:center;gap:10px;font-size:13px}.hl-items{color:#64748b}.hl-total{font-weight:700;color:#0f172a;margin-left:auto}.hl-customer{color:#1e3a5f;font-weight:600}.hl-card-actions{display:flex;gap:8px}.hl-discard-btn{flex:1;padding:7px;border:1px solid #fecaca;border-radius:7px;font-size:12px;font-weight:600;background:#fff;color:#dc2626;cursor:pointer}.hl-discard-btn:hover:not(:disabled){background:#fef2f2}.hl-resume-btn{flex:2;padding:7px;border:none;border-radius:7px;font-size:13px;font-weight:700;background:#1e3a5f;color:#fff;cursor:pointer}.hl-resume-btn:hover:not(:disabled){background:#152d4a}.hl-resume-btn:disabled,.hl-discard-btn:disabled{opacity:.6;cursor:not-allowed}.pos-tb-btn--hold-list{position:relative;background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.3);color:#92400e;border-radius:8px;padding:6px 10px;font-size:16px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:background .15s}.pos-tb-btn--hold-list:hover{background:rgba(245,158,11,.2)}.acc-shell{display:flex;flex-direction:column;height:100%;min-height:0}.acc-topbar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem 0;flex-shrink:0;flex-wrap:wrap;gap:.75rem}.acc-title{font-size:1.45rem;font-weight:700;color:var(--text);margin:0}.acc-subtitle{font-size:.82rem;color:var(--muted);margin:.2rem 0 0}.acc-body{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 1.75rem 2rem}.acc-subnav{display:flex;gap:.25rem;padding:.75rem 1.75rem 0;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.acc-subnav::-webkit-scrollbar{display:none}.acc-tab{display:flex;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.82rem;font-weight:600;color:var(--muted);border:none;background:none;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s,border-color .15s}.acc-tab:hover{color:var(--text)}.acc-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.acc-filter-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}.acc-filter-bar label{font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.acc-filter-bar input[type=date]{padding:.42rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.83rem;color:var(--text);background:#fff;outline:none;transition:border-color .15s}.acc-filter-bar input[type=date]:focus{border-color:var(--primary)}.acc-filter-bar select{padding:.42rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.83rem;color:var(--text);background:#fff;outline:none}.acc-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.acc-kpi-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.3rem;transition:box-shadow .2s}.acc-kpi-card:hover{box-shadow:0 4px 16px #0000001a}.acc-kpi-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.acc-kpi-value{font-size:1.55rem;font-weight:800;color:var(--text);line-height:1.1}.acc-kpi-value.positive{color:#16a34a}.acc-kpi-value.negative{color:#dc2626}.acc-kpi-value.neutral{color:#d97706}.acc-kpi-icon{font-size:1.5rem;margin-bottom:.2rem}.acc-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1.5rem 0 .6rem}.acc-table-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.acc-table{width:100%;border-collapse:collapse;font-size:.83rem}.acc-table th{padding:.7rem 1rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc;border-bottom:1px solid var(--border)}.acc-table th.right,.acc-table td.right{text-align:right}.acc-table td{padding:.65rem 1rem;border-bottom:1px solid #f1f5f9;color:var(--text);vertical-align:middle}.acc-table tr:last-child td{border-bottom:none}.acc-table tr:hover td{background:#f8fafc}.acc-table .debit{color:#dc2626;font-weight:600}.acc-table .credit{color:#16a34a;font-weight:600}.acc-table .balance-pos{color:#16a34a;font-weight:700}.acc-table .balance-neg{color:#dc2626;font-weight:700}.acc-table tfoot td{padding:.8rem 1rem;font-weight:700;font-size:.85rem;background:#f0f4ff;border-top:2px solid var(--border)}.acc-ledger-select{background:#fff;border:1px solid var(--border);border-radius:10px;padding:.5rem .9rem;font-size:.88rem;color:var(--text);min-width:240px;outline:none;cursor:pointer}.acc-pnl-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:1.25rem}@media (max-width: 700px){.acc-pnl-grid{grid-template-columns:1fr}}.acc-pnl-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.acc-pnl-card-header{padding:.85rem 1.1rem;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border)}.acc-pnl-card-header.income{background:#f0fdf4;color:#15803d}.acc-pnl-card-header.expense{background:#fef2f2;color:#b91c1c}.acc-pnl-row{display:flex;justify-content:space-between;padding:.55rem 1.1rem;font-size:.83rem;border-bottom:1px solid #f1f5f9}.acc-pnl-row:last-child{border-bottom:none}.acc-pnl-row .label{color:var(--muted)}.acc-pnl-row .amount{font-weight:600}.acc-net-profit-bar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(135deg,#f97316,#ea580c);border-radius:14px;color:#fff;margin-bottom:1.25rem;box-shadow:0 4px 20px #f973164d}.acc-net-profit-bar .np-label{font-size:.85rem;font-weight:600;opacity:.85}.acc-net-profit-bar .np-value{font-size:1.8rem;font-weight:800}.acc-net-profit-bar .np-period{font-size:.75rem;opacity:.7;margin-top:.2rem}.acc-gst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.25rem}@media (max-width: 700px){.acc-gst-grid{grid-template-columns:1fr 1fr}}.acc-gst-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1rem 1.2rem;box-shadow:var(--shadow)}.acc-gst-card-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.4rem}.acc-gst-card-value{font-size:1.4rem;font-weight:800}.acc-gst-card.output .acc-gst-card-value{color:#dc2626}.acc-gst-card.input .acc-gst-card-value{color:#16a34a}.acc-gst-card.net .acc-gst-card-value{color:#d97706}.acc-gst-card-sub{font-size:.76rem;color:var(--muted);margin-top:.3rem}.acc-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.acc-modal{background:#fff;border-radius:18px;width:100%;max-width:460px;box-shadow:0 20px 60px #0003;overflow:hidden}.acc-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border)}.acc-modal-header h3{margin:0;font-size:1rem;font-weight:700}.acc-modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--muted);padding:.25rem;border-radius:6px;line-height:1}.acc-modal-close:hover{background:#f1f5f9;color:var(--text)}.acc-modal-body{padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.85rem}.acc-modal-footer{padding:1rem 1.4rem;border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end}.acc-field{display:flex;flex-direction:column;gap:.3rem}.acc-field label{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.acc-field input,.acc-field select,.acc-field textarea{padding:.55rem .85rem;border:1px solid var(--border);border-radius:9px;font-size:.88rem;color:var(--text);background:#fff;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.acc-field input:focus,.acc-field select:focus,.acc-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #f973161a}.acc-btn{padding:.5rem 1.1rem;border-radius:9px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,transform .1s}.acc-btn:active{transform:scale(.97)}.acc-btn:disabled{opacity:.5;cursor:not-allowed}.acc-btn-primary{background:var(--primary);color:#fff}.acc-btn-primary:hover{background:var(--primary-h)}.acc-btn-outline{background:#fff;color:var(--text);border:1px solid var(--border)}.acc-btn-outline:hover{background:#f8fafc}.acc-btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.acc-btn-danger:hover{background:#fee2e2}.acc-btn-sm{padding:.35rem .75rem;font-size:.78rem}.acc-badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.acc-badge-sale{background:#f0fdf4;color:#16a34a}.acc-badge-purchase{background:#fff7ed;color:#c2410c}.acc-badge-expense{background:#fef3c7;color:#d97706}.acc-badge-payment{background:#fff7ed;color:#ea580c}.acc-badge-manual{background:#f1f5f9;color:#475569}.acc-empty{text-align:center;padding:3.5rem 1.5rem;color:var(--muted)}.acc-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.acc-empty-text{font-size:.88rem;margin:0}.acc-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:acc-shimmer 1.5s infinite;border-radius:8px}@keyframes acc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.acc-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.75rem 1rem;font-size:.82rem;color:var(--muted)}.acc-page-btn{padding:.3rem .7rem;border:1px solid var(--border);border-radius:7px;background:#fff;cursor:pointer;font-size:.82rem;transition:border-color .15s}.acc-page-btn:hover{border-color:var(--primary);color:var(--primary)}.acc-page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.acc-page-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 600px){.acc-topbar{padding:1rem 1rem 0}.acc-subnav{padding:.5rem 1rem 0}.acc-body{padding:1rem}.acc-kpi-grid{grid-template-columns:1fr 1fr}}.hr-shell{display:flex;flex-direction:column;height:100%;min-height:0}.hr-topbar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem 0;flex-shrink:0;flex-wrap:wrap;gap:.75rem}.hr-title{font-size:1.45rem;font-weight:700;color:var(--text);margin:0}.hr-subtitle{font-size:.82rem;color:var(--muted);margin:.2rem 0 0}.hr-body{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 1.75rem 2rem}.hr-subnav{display:flex;gap:.25rem;padding:.75rem 1.75rem 0;border-bottom:1px solid var(--border);flex-shrink:0;overflow-x:auto;scrollbar-width:none}.hr-subnav::-webkit-scrollbar{display:none}.hr-tab{display:flex;align-items:center;gap:.4rem;padding:.55rem 1rem;font-size:.82rem;font-weight:600;color:var(--muted);border:none;background:none;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;white-space:nowrap;transition:color .15s,border-color .15s}.hr-tab:hover{color:var(--text)}.hr-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.hr-kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;margin-bottom:1.5rem}.hr-kpi-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.3rem;transition:box-shadow .2s}.hr-kpi-card:hover{box-shadow:0 4px 16px #0000001a}.hr-kpi-icon{font-size:1.4rem;margin-bottom:.15rem}.hr-kpi-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.hr-kpi-value{font-size:1.55rem;font-weight:800;color:var(--text);line-height:1.1}.hr-kpi-value.positive{color:#16a34a}.hr-kpi-value.warning{color:#d97706}.hr-kpi-value.danger{color:#dc2626}.hr-filter-bar{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}.hr-filter-bar label{font-size:.78rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.hr-filter-bar input,.hr-filter-bar select{padding:.42rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.83rem;color:var(--text);background:#fff;outline:none;transition:border-color .15s}.hr-filter-bar input:focus,.hr-filter-bar select:focus{border-color:var(--primary)}.hr-table-wrap{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.hr-table{width:100%;border-collapse:collapse;font-size:.83rem}.hr-table th{padding:.7rem 1rem;text-align:left;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:#f8fafc;border-bottom:1px solid var(--border)}.hr-table td{padding:.65rem 1rem;border-bottom:1px solid #f1f5f9;color:var(--text);vertical-align:middle}.hr-table tr:last-child td{border-bottom:none}.hr-table tr:hover td{background:#f8fafc}.hr-badge{display:inline-flex;align-items:center;padding:.2rem .65rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.hr-badge-present{background:#f0fdf4;color:#16a34a}.hr-badge-absent{background:#fef2f2;color:#dc2626}.hr-badge-half_day{background:#fef3c7;color:#d97706}.hr-badge-leave{background:#fff7ed;color:#f97316}.hr-badge-pending{background:#fef3c7;color:#d97706}.hr-badge-paid{background:#f0fdf4;color:#16a34a}.hr-badge-warning{background:#fef3c7;color:#d97706}.hr-badge-misconduct{background:#fef2f2;color:#dc2626}.hr-badge-complaint{background:#fff7ed;color:#f97316}.hr-stars{color:#f59e0b;font-size:1.1rem;letter-spacing:.1rem;line-height:1}.hr-stars-empty{color:#e5e7eb}.hr-section-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:1.5rem 0 .6rem}.hr-btn{padding:.5rem 1.1rem;border-radius:9px;font-size:.85rem;font-weight:600;cursor:pointer;border:none;transition:opacity .15s,transform .1s;line-height:1.4}.hr-btn:active{transform:scale(.97)}.hr-btn:disabled{opacity:.5;cursor:not-allowed}.hr-btn-primary{background:var(--primary);color:#fff}.hr-btn-primary:hover{opacity:.9}.hr-btn-outline{background:#fff;color:var(--text);border:1px solid var(--border)}.hr-btn-outline:hover{background:#f8fafc}.hr-btn-success{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.hr-btn-success:hover{background:#dcfce7}.hr-btn-danger{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.hr-btn-danger:hover{background:#fee2e2}.hr-btn-sm{padding:.35rem .75rem;font-size:.78rem}.hr-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.hr-modal{background:#fff;border-radius:18px;width:100%;max-width:480px;box-shadow:0 20px 60px #0003;overflow:hidden}.hr-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border)}.hr-modal-header h3{margin:0;font-size:1rem;font-weight:700}.hr-modal-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:var(--muted);padding:.25rem;border-radius:6px;line-height:1}.hr-modal-close:hover{background:#f1f5f9;color:var(--text)}.hr-modal-body{padding:1.3rem 1.4rem;display:flex;flex-direction:column;gap:.85rem}.hr-modal-footer{padding:1rem 1.4rem;border-top:1px solid var(--border);display:flex;gap:.75rem;justify-content:flex-end}.hr-field{display:flex;flex-direction:column;gap:.3rem}.hr-field label{font-size:.78rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.hr-field input,.hr-field select,.hr-field textarea{padding:.55rem .85rem;border:1px solid var(--border);border-radius:9px;font-size:.88rem;color:var(--text);background:#fff;outline:none;transition:border-color .15s;width:100%;box-sizing:border-box}.hr-field input:focus,.hr-field select:focus,.hr-field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #f973161a}.hr-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.hr-empty{text-align:center;padding:3.5rem 1.5rem;color:var(--muted)}.hr-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.hr-empty-text{font-size:.88rem;margin:0}.hr-error{color:#dc2626;font-size:.83rem;background:#fef2f2;padding:.65rem .9rem;border-radius:8px;border-left:3px solid #dc2626}.hr-upgrade-gate{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:400px;text-align:center;padding:3rem 2rem;color:var(--text)}.hr-upgrade-icon{font-size:3rem;margin-bottom:1rem}.hr-upgrade-gate h2{font-size:1.3rem;font-weight:700;margin:0 0 .75rem}.hr-upgrade-gate p{font-size:.92rem;color:var(--muted);max-width:440px;line-height:1.6;margin:0}@media (max-width: 600px){.hr-topbar{padding:1rem 1rem 0}.hr-subnav{padding:.5rem 1rem 0}.hr-body{padding:1rem}.hr-kpi-grid{grid-template-columns:1fr 1fr}.hr-field-row{grid-template-columns:1fr}}.rpt-shell{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--bg)}.rpt-topbar{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.75rem 0;flex-shrink:0}.rpt-title{font-size:1.3rem;font-weight:700;color:var(--text);margin:0}.rpt-subtitle{font-size:.8rem;color:var(--muted);margin:.15rem 0 0}.rpt-subnav{display:flex;gap:.25rem;padding:.75rem 1.75rem;border-bottom:1px solid var(--border);overflow-x:auto;flex-shrink:0}.rpt-subnav-btn{padding:.45rem .9rem;border:1px solid var(--border);border-radius:20px;background:#fff;color:var(--muted);font-size:.82rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.rpt-subnav-btn:hover{border-color:var(--primary);color:var(--primary)}.rpt-subnav-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.rpt-body{flex:1;overflow-y:auto;padding:1.25rem 1.75rem 2rem}.rpt-filters{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end;background:#fff;border:1px solid var(--border);border-radius:12px;padding:.9rem 1.1rem;margin-bottom:1.25rem;box-shadow:var(--shadow)}.rpt-filter-group{display:flex;flex-direction:column;gap:.2rem}.rpt-filter-group label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.rpt-filter-group input,.rpt-filter-group select{border:1px solid var(--border);border-radius:8px;padding:.42rem .65rem;font-size:.84rem;color:var(--text);background:#fafafa;outline:none;transition:border-color .15s;min-width:130px}.rpt-filter-group input:focus,.rpt-filter-group select:focus{border-color:var(--primary);background:#fff}.rpt-filter-actions{display:flex;gap:.5rem;margin-left:auto;align-items:flex-end}.rpt-btn{padding:.5rem 1rem;border-radius:8px;font-size:.83rem;font-weight:600;cursor:pointer;border:none;transition:all .15s}.rpt-btn.primary{background:var(--primary);color:#fff}.rpt-btn.primary:hover{background:var(--primary-h)}.rpt-btn.outline{background:#fff;color:var(--primary);border:1px solid var(--primary)}.rpt-btn.outline:hover{background:#fff7ed}.rpt-btn.success{background:#059669;color:#fff}.rpt-btn.success:hover{background:#047857}.rpt-btn:disabled{opacity:.55;cursor:not-allowed}.rpt-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.9rem;margin-bottom:1.25rem}.rpt-kpi{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem 1.2rem;box-shadow:var(--shadow)}.rpt-kpi-label{font-size:.75rem;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.35rem}.rpt-kpi-value{font-size:1.4rem;font-weight:700;color:var(--text);line-height:1.1}.rpt-kpi-value.green{color:#059669}.rpt-kpi-value.red{color:#dc2626}.rpt-kpi-value.blue,.rpt-kpi-value.violet{color:#f97316}.rpt-kpi-value.orange{color:#d97706}.rpt-kpi-sub{font-size:.73rem;color:var(--muted);margin-top:.25rem}.rpt-chart-card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.2rem 1.4rem;box-shadow:var(--shadow);margin-bottom:1.25rem}.rpt-chart-title{font-size:.95rem;font-weight:700;color:var(--text);margin-bottom:1rem}.rpt-chart-wrap{overflow-x:auto}.rpt-bar-bg{fill:#f1f5f9}.rpt-bar-fill{fill:var(--primary, #f97316)}.rpt-bar-fill2{fill:#10b981}.rpt-chart-label{text-anchor:middle;font-size:11px;fill:#94a3b8;font-family:inherit}.rpt-chart-val{text-anchor:middle;font-size:10px;fill:#fff;font-weight:600;font-family:inherit}.rpt-line{fill:none;stroke:var(--primary, #f97316);stroke-width:2}.rpt-dot{fill:var(--primary, #f97316)}.rpt-chart-grid{stroke:#f1f5f9;stroke-width:1}.rpt-chart-axis{stroke:#e2e8f0;stroke-width:1}.rpt-table-card{background:#fff;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:1rem}.rpt-table-header{display:flex;align-items:center;justify-content:space-between;padding:.9rem 1.2rem;border-bottom:1px solid var(--border)}.rpt-table-title{font-size:.92rem;font-weight:700;color:var(--text)}.rpt-table-count{font-size:.78rem;color:var(--muted)}.rpt-table{width:100%;border-collapse:collapse;font-size:.83rem}.rpt-table th{background:#f8fafc;padding:.6rem 1rem;text-align:left;font-size:.74rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--border);white-space:nowrap}.rpt-table th.right,.rpt-table td.right{text-align:right}.rpt-table td{padding:.7rem 1rem;border-bottom:1px solid #f8fafc;color:var(--text);vertical-align:middle}.rpt-table tr:last-child td{border-bottom:none}.rpt-table tr:hover td{background:#fff7ed}.rpt-table .rpt-name{font-weight:600;color:var(--text)}.rpt-table .rpt-sub{font-size:.75rem;color:var(--muted)}.rpt-badge{display:inline-block;padding:.2rem .55rem;border-radius:12px;font-size:.73rem;font-weight:600;white-space:nowrap}.rpt-badge.green{background:#dcfce7;color:#166534}.rpt-badge.red{background:#fee2e2;color:#991b1b}.rpt-badge.orange{background:#fef3c7;color:#92400e}.rpt-badge.blue{background:#ffedd5;color:#9a3412}.rpt-badge.gray{background:#f1f5f9;color:#64748b}.rpt-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.7rem 1rem;border-top:1px solid var(--border)}.rpt-page-btn{padding:.3rem .65rem;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--text);font-size:.8rem;cursor:pointer}.rpt-page-btn:disabled{opacity:.4;cursor:not-allowed}.rpt-page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.rpt-page-info{font-size:.8rem;color:var(--muted)}.rpt-empty{text-align:center;padding:3rem 1.5rem;color:var(--muted)}.rpt-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.rpt-empty-msg{font-size:.9rem}.rpt-loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--muted);font-size:.9rem}.rpt-skel{border-radius:8px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:rpt-skel-anim 1.5s infinite}@keyframes rpt-skel-anim{0%{background-position:200% 0}to{background-position:-200% 0}}.rpt-pnl-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.25rem}.rpt-pnl-section{background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.2rem 1.4rem;box-shadow:var(--shadow)}.rpt-pnl-section h3{font-size:.88rem;font-weight:700;color:var(--text);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.rpt-pnl-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem 0;font-size:.85rem}.rpt-pnl-row.total{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.6rem;font-weight:700}.rpt-pnl-row .label{color:var(--muted)}.rpt-pnl-row .value{font-weight:600;color:var(--text)}.rpt-pnl-row .value.green{color:#059669}.rpt-pnl-row .value.red{color:#dc2626}.rpt-donut-wrap{display:flex;align-items:center;gap:1.5rem;padding:.5rem 0}.rpt-donut-legend{flex:1;display:flex;flex-direction:column;gap:.5rem}.rpt-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.82rem}.rpt-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.rpt-progress-wrap{background:#f1f5f9;border-radius:4px;height:6px;margin-top:.25rem}.rpt-progress-fill{height:100%;border-radius:4px;background:var(--primary);transition:width .3s}.rpt-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.rpt-section-title{font-size:1rem;font-weight:700;color:var(--text)}@media (max-width: 768px){.rpt-topbar{padding:1rem 1rem 0}.rpt-subnav{padding:.5rem 1rem}.rpt-body{padding:1rem 1rem 2rem}.rpt-kpi-row{grid-template-columns:1fr 1fr}.rpt-pnl-grid{grid-template-columns:1fr}.rpt-filters{flex-direction:column}.rpt-filter-actions{margin-left:0}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #f97316;--primary-h: #ea580c;--danger: #ef4444;--success: #22c55e;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--radius: 10px;--shadow: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6}.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(135deg,#fff7ed 0%,#f0fdf4 100%)}.auth-card{background:var(--surface);border-radius:16px;padding:2.5rem;width:100%;max-width:420px;box-shadow:0 4px 24px #00000017}.auth-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem}.logo-mark{background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;font-weight:900;font-size:1.05rem;padding:.32rem .88rem;border-radius:10px;letter-spacing:-.03em}.logo-text{display:none}.auth-title{font-size:1.3rem;font-weight:600;margin-bottom:1.5rem;color:var(--text)}.field{margin-bottom:1.1rem}.field label{display:block;font-size:.875rem;font-weight:500;color:var(--muted);margin-bottom:.35rem}.field input{width:100%;padding:.6rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.95rem;outline:none;transition:border-color .15s}.field input:focus{border-color:var(--primary)}.alert{border-radius:var(--radius);padding:.7rem 1rem;font-size:.9rem;margin-bottom:1rem}.alert-error{background:#fef2f2;color:var(--danger);border:1px solid #fecaca}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;border:1.5px solid transparent;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-outline{background:transparent;color:var(--primary);border-color:var(--primary)}.btn-outline:hover:not(:disabled){background:#fff7ed}.btn-full{width:100%;justify-content:center;margin-top:.5rem}.primary-action-btn,.secondary-btn,.danger-btn{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;text-decoration:none;transition:all .2s ease-in-out}.primary-action-btn{padding:6px 14px;font-size:12px;font-weight:600;border-radius:8px;cursor:pointer;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;backdrop-filter:blur(6px);box-shadow:0 4px 12px #ea580c40,inset 0 1px #fff3;border:1px solid #fdba74}.primary-action-btn:hover:not(:disabled){background:linear-gradient(135deg,#fb923c,#f97316);box-shadow:0 6px 16px #ea580c59,inset 0 1px #ffffff40;transform:translateY(-1px)}.primary-action-btn:active:not(:disabled){transform:scale(.97)}.secondary-btn{padding:5px 10px;font-size:11px;font-weight:600;border-radius:6px;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;cursor:pointer}.secondary-btn:hover:not(:disabled){background:#e5e7eb;transform:translateY(-1px)}.secondary-btn:active:not(:disabled){transform:scale(.97)}.danger-btn{padding:5px 10px;font-size:11px;font-weight:600;border-radius:6px;background:#fef2f2;color:#dc2626;border:1px solid #fecaca;cursor:pointer}.danger-btn:hover:not(:disabled){background:#fee2e2;transform:translateY(-1px)}.danger-btn:active:not(:disabled){transform:scale(.97)}.primary-action-btn:disabled,.secondary-btn:disabled,.danger-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.actions-cell{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.blurred-value{color:#9ca3af;font-weight:600;letter-spacing:2px;user-select:none}.app-layout{display:flex;min-height:100vh}.sidebar{width:230px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:1.25rem .75rem;flex-shrink:0}.app-main-footer{position:fixed;bottom:0;left:230px;right:0;z-index:20}.main-content{padding-bottom:38px}.sidebar-logo{display:flex;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.25rem .25rem .75rem}.sidebar-nav{display:flex;flex-direction:column;gap:0;flex:1;overflow-y:auto}.nav-item{padding:.5rem .75rem;border-radius:8px;color:var(--muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:background .12s,color .12s;display:flex;align-items:center;gap:.55rem}.nav-item:hover{background:#f1f5f9;color:var(--text)}.nav-item.active{background:#fff7ed;color:var(--primary);font-weight:600}.sidebar-footer{border-top:1px solid var(--border);padding-top:1rem}.user-info{display:flex;align-items:center;gap:.65rem;margin-bottom:.75rem}.avatar{width:34px;height:34px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.user-name{font-size:.88rem;font-weight:600;line-height:1.2}.tenant-name{font-size:.78rem;color:var(--muted)}.btn-logout{width:100%;padding:.45rem;border:1px solid var(--border);border-radius:8px;background:none;color:var(--muted);font-size:.85rem;cursor:pointer;transition:background .12s}.btn-logout:hover{background:#fef2f2;color:var(--danger);border-color:#fecaca}.main-content{flex:1;padding:2rem;overflow-y:auto}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}.page-header h2{font-size:1.4rem;font-weight:700}.plan-badge{background:#fff7ed;color:var(--primary);border:1px solid #fed7aa;padding:.3rem .75rem;border-radius:99px;font-size:.8rem;font-weight:500}.modules-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:1.25rem}.module-card{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.75rem}.module-card.module-locked{opacity:.7;border-style:dashed}.module-header{display:flex;align-items:center;gap:.5rem}.module-header h3,.module-card h3{font-size:1rem;font-weight:600}.module-badge{background:#fef9c3;color:#a16207;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:99px}.module-desc{font-size:.875rem;color:var(--muted);line-height:1.5}.batch-actions{display:flex;gap:.5rem}.pos-module{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;max-width:680px}.pos-header{display:flex;align-items:center;gap:.6rem}.pos-header h3{font-size:1.05rem;font-weight:600}.pos-badge{font-size:.72rem;font-weight:700;padding:.2rem .55rem;border-radius:99px;text-transform:uppercase;letter-spacing:.03em}.pos-badge--medical{background:#ffedd5;color:#c2410c}.pos-badge--kirana{background:#dcfce7;color:#166534}.pos-badge--cloth{background:#fff7ed;color:#9a3412}.pos-section{display:flex;flex-direction:column;gap:.35rem}.pos-label{font-size:.82rem;font-weight:500;color:var(--muted)}.pos-row{display:flex;gap:.5rem;flex-wrap:wrap}.pos-search{display:flex;gap:.5rem}.pos-input{flex:1;padding:.55rem .8rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.9rem;outline:none;transition:border-color .15s;min-width:0}.pos-input:focus{border-color:var(--primary)}.pos-input--sm{flex:0 0 100px}.pos-chips{display:flex;gap:.4rem;flex-wrap:wrap}.chip{padding:.3rem .7rem;border:1.5px solid var(--border);border-radius:99px;background:none;font-size:.85rem;cursor:pointer;transition:background .12s,border-color .12s}.chip:hover,.chip.active{background:#fff7ed;border-color:var(--primary);color:var(--primary)}.pos-alert{background:#fff7ed;border:1px solid #fed7aa;border-radius:var(--radius);padding:.6rem .9rem;font-size:.85rem;color:#c2410c}.pos-hint{font-size:.82rem;color:var(--muted);font-style:italic}.pos-cart-summary{display:flex;align-items:center;justify-content:flex-end;gap:1rem;padding-top:.75rem;border-top:1px solid var(--border);font-size:.9rem;font-weight:500;color:var(--muted)}.pos-loading,.pos-unconfigured,.pos-locked,.pos-error{padding:2rem;text-align:center;color:var(--muted)}.pos-unconfigured h3,.pos-locked h3{font-size:1.1rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.pos-unconfigured p,.pos-locked p{font-size:.9rem;margin-bottom:1rem}.debug-panel{margin-top:2rem;border:1px dashed var(--border);border-radius:var(--radius);padding:1rem;font-size:.8rem}.debug-panel summary{cursor:pointer;color:var(--muted);font-weight:500;margin-bottom:.5rem}.debug-panel pre{background:#f1f5f9;border-radius:8px;padding:.75rem;overflow:auto;color:#334155}.admin-layout{display:flex;min-height:100vh;background:var(--bg)}.admin-sidebar{width:245px;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;height:100vh;position:sticky;top:0}.admin-main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}.admin-topbar{display:none;align-items:center;gap:.85rem;padding:.85rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar-title{font-size:1rem;font-weight:700}.admin-content{flex:1;padding:2rem;overflow-y:auto}.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:39;animation:fade-in .15s ease}.sidebar-brand{display:flex;align-items:flex-start;flex-direction:column;gap:.35rem;padding:1.1rem 1rem .9rem;border-bottom:1px solid var(--border);flex-shrink:0}.admin-tag{font-size:.67rem;font-weight:700;background:#fff7ed;color:#ea580c;padding:.18rem .55rem;border-radius:99px;letter-spacing:.1em;text-transform:uppercase}.sidebar-nav-section{flex:1;padding:.6rem .65rem;display:flex;flex-direction:column;gap:.1rem;overflow-y:auto}.sidebar-section-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:.85rem .5rem .3rem}.admin-nav-item{display:flex;align-items:center;gap:.6rem;padding:.6rem .85rem;border-radius:8px;text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:500;transition:background .12s,color .12s;white-space:nowrap}.admin-nav-item:hover{background:#fff7ed;color:var(--primary)}.admin-nav-item.active{background:#fff7ed;color:var(--primary);font-weight:600}.nav-icon{width:20px;text-align:center;flex-shrink:0;font-size:1rem;opacity:.7}.admin-nav-item.active .nav-icon,.admin-nav-item:hover .nav-icon{opacity:1}.admin-sidebar .sidebar-footer{border-top:1px solid var(--border);padding:.85rem 1rem;flex-shrink:0}.sidebar-burger{background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:4px;border-radius:6px;flex-shrink:0}.sidebar-burger span{display:block;width:20px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s}.mobile-only{display:none}.admin-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;flex-wrap:wrap;gap:.75rem}.admin-page-header h2{font-size:1.35rem;font-weight:700}.btn-primary,.btn-secondary,.btn-danger,.btn-success,.btn-warning,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.52rem 1.1rem;border-radius:var(--radius);font-size:.88rem;font-weight:500;cursor:pointer;border:1.5px solid transparent;transition:background .15s,transform .1s,border-color .15s;white-space:nowrap;line-height:1.4;text-decoration:none}.btn-primary:active,.btn-secondary:active,.btn-danger:active,.btn-success:active,.btn-warning:active{transform:scale(.98)}.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled,.btn-success:disabled,.btn-warning:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-h);border-color:var(--primary-h)}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.btn-danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-success{background:#16a34a;color:#fff;border-color:#16a34a}.btn-success:hover:not(:disabled){background:#15803d;border-color:#15803d}.btn-warning{background:#d97706;color:#fff;border-color:#d97706}.btn-warning:hover:not(:disabled){background:#b45309;border-color:#b45309}.btn-ghost{background:transparent;color:var(--muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:#f1f5f9;color:var(--text)}.btn-sm{padding:.32rem .75rem;font-size:.8rem}.form-check{display:flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.9rem;color:var(--text)}.form-check input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.table-card{background:var(--surface);border:1.5px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}.page-title{font-size:1.45rem;font-weight:700;margin:0}.page-subtitle{font-size:.88rem;color:var(--muted);margin:.2rem 0 0}.search-row{display:flex;align-items:center;gap:.75rem;padding:.85rem 1.25rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.search-input{flex:1;min-width:180px;max-width:320px;height:38px;padding:0 .85rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--bg);font-size:.88rem;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #f973161f}.search-input::placeholder{color:var(--muted)}.table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-empty{text-align:center;padding:2.5rem 1rem!important;color:var(--muted);font-size:.9rem}.action-btns{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.85rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.5rem;flex:1;max-width:320px;padding:.55rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .15s}.search-box:focus-within{border-color:var(--primary)}.search-box svg{color:var(--muted);flex-shrink:0}.search-box input{border:none;outline:none;font-size:.9rem;width:100%;background:transparent;color:var(--text)}.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;white-space:nowrap}.data-table th,.data-table td{padding:.9rem 1.25rem;text-align:left;border-bottom:1px solid var(--border)}.data-table th{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:#f8fafc}.data-table td{font-size:.9rem;vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:#fafbfc}.user-cell{display:flex;flex-direction:column;gap:.1rem;white-space:normal}.user-cell-name{font-weight:600;font-size:.9rem}.user-cell-email{font-size:.8rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .65rem;border-radius:99px;font-size:.75rem;font-weight:600}.badge:before{content:"";width:6px;height:6px;border-radius:50%;flex-shrink:0}.badge-active{background:#dcfce7;color:#166534}.badge-active:before{background:#16a34a}.badge-inactive{background:#fee2e2;color:#991b1b}.badge-inactive:before{background:#ef4444}.badge-role{background:#fff7ed;color:var(--primary)}.badge-role:before{display:none}.badge-neutral{background:#f1f5f9;color:#475569;font-size:.78rem;padding:.18rem .55rem;border-radius:99px;font-weight:500}.tab-bar{display:flex;gap:.25rem;border-bottom:2px solid var(--border);margin-bottom:1.25rem}.tab-btn{padding:.55rem 1.1rem;font-size:.9rem;font-weight:500;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;color:var(--muted);border-radius:4px 4px 0 0;transition:color .15s,border-color .15s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary)}.form-hint{font-size:.78rem;color:var(--muted);margin-top:.25rem}.toggle-switch{position:relative;display:inline-block;width:42px;height:24px;cursor:pointer;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;inset:0;background:#d1d5db;border-radius:99px;transition:background .2s}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0000002e}.toggle-switch input:checked+.toggle-slider{background:var(--primary)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-switch input:disabled+.toggle-slider{opacity:.5;cursor:not-allowed}.actions{display:flex;align-items:center;gap:.35rem}.btn-icon{width:32px;height:32px;border:1.5px solid var(--border);border-radius:8px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s,color .12s;color:var(--muted);flex-shrink:0}.btn-icon:hover{background:#f1f5f9;color:var(--text);border-color:#cbd5e1}.btn-icon:disabled{opacity:.4;cursor:not-allowed}.btn-icon-danger:hover{background:#fef2f2;color:var(--danger);border-color:#fecaca}.btn-icon-success:hover{background:#f0fdf4;color:#16a34a;border-color:#bbf7d0}.btn-icon-warn:hover{background:#fff7ed;color:#c2410c;border-color:#fed7aa}.pagination{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.25rem;border-top:1px solid var(--border);flex-wrap:wrap;gap:.5rem}.pagination-info{font-size:.85rem;color:var(--muted)}.pagination-controls{display:flex;align-items:center;gap:.3rem}.page-btn{min-width:32px;height:32px;padding:0 .5rem;border:1.5px solid var(--border);border-radius:8px;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--muted);transition:background .12s,color .12s,border-color .12s}.page-btn:hover:not(:disabled){background:#fff7ed;color:var(--primary);border-color:var(--primary)}.page-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600}.page-btn:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:50;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fade-in .15s ease}.modal{background:var(--surface);border-radius:16px;padding:1.75rem;width:100%;max-width:460px;box-shadow:0 20px 60px #0003;animation:slide-up .2s ease;position:relative}.modal-title{font-size:1.1rem;font-weight:700;margin-bottom:.25rem}.modal-subtitle{font-size:.875rem;color:var(--muted);margin-bottom:1.5rem}.modal-actions{display:flex;gap:.65rem;justify-content:flex-end;margin-top:1.5rem;flex-wrap:wrap}.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-size:.85rem;font-weight:500;color:var(--muted);margin-bottom:.35rem}.form-input{width:100%;padding:.6rem .85rem;border:1.5px solid var(--border);border-radius:var(--radius);font-size:.95rem;outline:none;transition:border-color .15s;background:var(--surface);color:var(--text)}.form-input:focus{border-color:var(--primary)}.form-input.input-error{border-color:var(--danger)}.form-error{font-size:.8rem;color:var(--danger);margin-top:.3rem}.input-wrap{position:relative}.input-wrap .form-input{padding-right:2.6rem}.input-toggle{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--muted);font-size:.9rem;line-height:1;padding:.15rem;display:flex;align-items:center}.input-toggle:hover{color:var(--text)}.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;flex-direction:column;gap:.6rem;z-index:99999;pointer-events:none}.toast{position:relative;display:flex;align-items:flex-start;gap:.65rem;padding:.8rem 1rem .8rem .9rem;border-radius:10px;border-left:4px solid var(--accent, #64748b);font-size:.875rem;font-weight:500;line-height:1.4;box-shadow:0 8px 24px #00000024,0 2px 6px #00000014;animation:toast-in .3s cubic-bezier(.34,1.45,.64,1) both;min-width:280px;max-width:380px;pointer-events:all;overflow:hidden}.toast-icon{flex-shrink:0;margin-top:1px;line-height:0}.toast-msg{flex:1;word-break:break-word}.toast-dismiss{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:.75rem;color:inherit;opacity:.45;padding:0 0 0 .25rem;line-height:1;transition:opacity .15s}.toast-dismiss:hover{opacity:.85}.toast-progress{position:absolute;bottom:0;left:0;height:3px;width:100%;background:var(--accent, #64748b);opacity:.35;transform-origin:left;animation:toast-shrink 4s linear forwards}.profile-card{background:var(--surface);border:1.5px solid var(--border);border-radius:16px;padding:2rem;max-width:600px;box-shadow:var(--shadow)}.profile-avatar-row{display:flex;align-items:center;gap:1.25rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.profile-avatar-wrap{position:relative;cursor:pointer;flex-shrink:0}.profile-avatar{width:74px;height:74px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.65rem;overflow:hidden;border:3px solid var(--border)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar-badge{position:absolute;bottom:0;right:0;width:22px;height:22px;background:var(--primary);border-radius:50%;border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;color:#fff;font-size:.65rem}.profile-meta h3{font-weight:700;font-size:1.05rem}.profile-meta .role-tag{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;color:var(--primary);background:#fff7ed;padding:.15rem .55rem;border-radius:99px;margin-top:.35rem}.profile-fields{display:flex;flex-direction:column;gap:0}.profile-actions{display:flex;gap:.75rem;margin-top:1.5rem;flex-wrap:wrap}.empty-state{padding:3.5rem 1rem;text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:.5rem}.empty-state p{font-size:.9rem}.loading-state{padding:3rem 1rem;text-align:center;color:var(--muted);font-size:.9rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toast-in{0%{transform:translate(calc(100% + 1.5rem));opacity:0}to{transform:translate(0);opacity:1}}@keyframes toast-shrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 768px){.admin-sidebar{position:fixed;left:-260px;top:0;height:100dvh;z-index:40;transition:left .25s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #0000001a;overflow-y:auto}.admin-sidebar.open{left:0}.sidebar{position:fixed;left:-260px;top:0;height:100dvh;width:260px;z-index:40;transition:left .25s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #0000001a;overflow-y:auto}.sidebar.open{left:0}.sidebar-overlay,.mobile-only{display:block}.mobile-header{display:flex;align-items:center;padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30}.mobile-header .sidebar-burger{margin-right:.75rem}.mobile-header-logo{display:flex;align-items:center}.app-layout{flex-direction:column}.main-content{padding-top:0}.app-main-footer{left:0;z-index:25}.admin-topbar{display:flex}.admin-content{padding:1rem}.admin-page-header{margin-bottom:1.1rem}.table-toolbar{flex-direction:column;align-items:stretch}.search-box{max-width:none}.modal{padding:1.25rem;max-width:95%;margin:.5rem;border-radius:12px}.modal-overlay{padding:0;align-items:flex-end}@media (max-height: 600px){.modal{max-height:90vh;overflow-y:auto;border-radius:12px 12px 0 0;margin:0;width:100%;max-width:100%}.modal-overlay{align-items:flex-end}}.modal-close{width:44px;height:44px;font-size:1.5rem}.profile-card{padding:1.25rem}.profile-avatar-row{flex-direction:column;align-items:flex-start;gap:1rem}.pagination{flex-direction:column;align-items:center;gap:.75rem}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%;justify-content:center}.btn{min-height:44px;min-width:44px;padding:.75rem 1.25rem}.btn-sm{min-height:36px;min-width:36px;padding:.5rem .9rem}.btn-icon{width:44px;height:44px}.action-buttons,.btn-group{gap:.75rem}.form-actions .btn+.btn{margin-top:.5rem}.form-input{padding:.75rem 1rem;font-size:1rem;min-height:48px}.form-field{margin-bottom:1.25rem}select.form-input{min-height:48px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.form-label{margin-bottom:.5rem;display:block;font-weight:500}h1,.h1{font-size:1.5rem;line-height:1.3;margin-bottom:.75rem}h2,.h2{font-size:1.25rem;line-height:1.3;margin-bottom:.75rem}h3,.h3{font-size:1.1rem;line-height:1.3;margin-bottom:.5rem}.card,.table-card,.dash-card{padding:1rem}ul,ol{padding-left:1.25rem}li{margin-bottom:.5rem}p{margin-bottom:.75rem;line-height:1.5}.nav-item{padding:.75rem 1rem}.section{margin-bottom:1.5rem}body{line-height:1.5}}@media (max-width: 768px){table thead{display:none}table tbody tr{display:block;margin-bottom:1rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 1px 3px #0000000d}table tbody td{display:block;padding:.5rem 0;border:none;text-align:left}table tbody td:before{content:attr(data-label) ": ";font-weight:600;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:.5rem}.alert-table tbody tr{padding:.75rem}.alert-table tbody td{padding:.4rem 0}table tbody td:empty{display:none}.table-card table tbody tr{margin-bottom:.75rem}}@media (max-width: 480px){.toast-container{left:1rem;right:1rem;bottom:1rem;align-items:stretch}.toast{min-width:auto;max-width:none;width:100%}.admin-page-header{flex-direction:column;align-items:flex-start}}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}@media (max-width: 540px){.form-grid-2{grid-template-columns:1fr}}.modal-scroll{max-height:calc(100dvh - 4rem);overflow-y:auto;overscroll-behavior:contain}.filter-pills{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.pill{padding:.32rem .85rem;border-radius:99px;border:1.5px solid var(--border);background:transparent;font-size:.8rem;font-weight:500;color:var(--muted);cursor:pointer;transition:background .12s,color .12s,border-color .12s;white-space:nowrap}.pill:hover{background:#f1f5f9;color:var(--text)}.pill.active{background:var(--primary);color:#fff;border-color:var(--primary)}.logo-upload-zone{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border:1.5px dashed var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color .15s,background .15s;margin-bottom:1.25rem}.logo-upload-zone:hover{border-color:var(--primary);background:#fff7ed}.logo-preview{width:56px;height:56px;border-radius:10px;overflow:hidden;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-weight:700;font-size:1.25rem;color:#fff;background:var(--primary)}.logo-preview img{width:100%;height:100%;object-fit:cover}.logo-upload-info{display:flex;flex-direction:column;gap:.2rem}.logo-upload-info strong{font-size:.88rem;font-weight:600}.logo-upload-info span{font-size:.78rem;color:var(--muted)}.tenant-brand-panel{display:flex}.tenant-mobile-logo{display:none}.admin-brand-panel{display:flex}.admin-mobile-logo{display:none!important}@media (max-width: 768px){.admin-brand-panel{display:none}.admin-mobile-logo{display:flex!important}}@media (max-width: 768px){.tenant-brand-panel{display:none}.tenant-mobile-logo{display:flex;align-items:center;gap:.5rem;margin-bottom:1.75rem}}.biz-feat-hdr{display:grid;grid-template-columns:1fr 110px 210px 130px 40px;gap:1rem;padding:.45rem 1.25rem;background:#f8fafc;border-bottom:1px solid var(--border);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.biz-feat-row-t{display:grid;grid-template-columns:1fr 110px 210px 130px 40px;gap:1rem;align-items:center;padding:.9rem 1.25rem;transition:background .12s}.biz-feat-row-t:hover{background:#fff7ed}.bft-info,.bft-plan{min-width:0}.bft-control{min-width:0;display:flex;align-items:center}.bft-effective{min-width:0}.bft-clear{display:flex;align-items:center;justify-content:center}@media (max-width: 760px){.biz-feat-hdr{display:none}.biz-feat-row-t{grid-template-columns:1fr auto;grid-template-rows:auto auto auto;row-gap:.55rem;padding:1rem}.bft-info{grid-column:1;grid-row:1}.bft-clear{grid-column:2;grid-row:1;align-self:start}.bft-plan{grid-column:1;grid-row:2}.bft-effective{grid-column:2;grid-row:2;justify-self:end;text-align:right}.bft-control{grid-column:1 / -1;grid-row:3}}.biz-feature-col-header{display:grid;grid-template-columns:1fr 120px 200px 150px 40px;gap:1rem;padding:.45rem 1.25rem;background:#f8fafc;border-bottom:1px solid var(--border);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.biz-feature-row{display:grid;grid-template-columns:1fr 120px 200px 150px 40px;gap:1rem;align-items:center;padding:.9rem 1.25rem;transition:background .12s}.biz-feat-info,.biz-feat-plan{min-width:0}.biz-feat-override{min-width:0;display:flex;align-items:center}.biz-feat-effective{min-width:0}.biz-feat-clear{display:flex;align-items:center;justify-content:center}@media (max-width: 780px){.biz-feature-col-header{display:none}.biz-feature-row{grid-template-columns:1fr auto;grid-template-rows:auto auto auto;row-gap:.55rem;padding:1rem}.biz-feat-info{grid-column:1;grid-row:1}.biz-feat-clear{grid-column:2;grid-row:1;align-self:start}.biz-feat-plan{grid-column:1;grid-row:2}.biz-feat-effective{grid-column:2;grid-row:2;justify-self:end;text-align:right}.biz-feat-override{grid-column:1 / -1;grid-row:3}}.feature-col-header{display:grid;grid-template-columns:1fr 130px 220px 40px;gap:1rem;padding:.45rem 1.25rem;background:#f8fafc;border-bottom:1px solid var(--border);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.feature-row{display:grid;grid-template-columns:1fr 130px 220px 40px;gap:1rem;align-items:center;padding:.9rem 1.25rem;transition:background .12s}.feature-row:hover{background:#fff7ed}.feature-info,.feature-default{min-width:0}.feature-control{min-width:0;display:flex;align-items:center}.feature-clear{display:flex;align-items:center;justify-content:center}@media (max-width: 700px){.feature-col-header{display:none}.feature-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;row-gap:.6rem;padding:1rem}.feature-info{grid-column:1;grid-row:1}.feature-clear{grid-column:2;grid-row:1;align-self:start}.feature-default{grid-column:1;grid-row:2}.feature-control{grid-column:2;grid-row:2;justify-content:flex-end;max-width:180px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pageIn{0%{opacity:0}to{opacity:1}}.main-content{animation:pageIn .18s ease-out}.orientation-guard{position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#f8fafc,#fff7ed);color:#0f172a;text-align:center;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;animation:fadeInUp .3s ease-out}.orientation-guard--banner{position:fixed;top:0;left:0;width:100%;z-index:9998;background:linear-gradient(to right,#f97316,#ea580c);color:#fff;padding:.75rem 1rem;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 2px 8px #00000026;animation:slideDown .3s ease-out}.orientation-guard__icon{width:24px;height:24px;flex-shrink:0}.orientation-guard__content{max-width:600px}.orientation-guard__title{font-size:1.5rem;font-weight:700;margin-bottom:.75rem;color:inherit}.orientation-guard__message{font-size:1rem;line-height:1.5;margin-bottom:1.5rem;color:inherit;opacity:.9}.orientation-guard__hint{font-size:.875rem;opacity:.8;font-style:italic;margin-top:.5rem}.orientation-guard__button{background:#f97316;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .2s;margin-top:1rem}.orientation-guard__button:hover{background:#ea580c}.orientation-guard--banner .orientation-guard__content{display:flex;align-items:center;gap:.75rem;max-width:100%;padding:0}.orientation-guard--banner .orientation-guard__title{font-size:1rem;font-weight:600;margin-bottom:0;color:#fff}.orientation-guard--banner .orientation-guard__message{font-size:.875rem;margin-bottom:0;opacity:.95}.orientation-guard--banner .orientation-guard__hint{display:none}.orientation-guard--banner .orientation-guard__button{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);padding:.4rem .8rem;font-size:.875rem;margin-top:0;margin-left:auto}.orientation-guard--banner .orientation-guard__button:hover{background:rgba(255,255,255,.3)}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}[data-theme=dark] .orientation-guard{background:linear-gradient(135deg,#0f172a,#1e293b);color:#e2e8f0}[data-theme=dark] .orientation-guard--banner{background:linear-gradient(to right,#fb923c,#f97316);color:#f8fafc}[data-theme=dark] .orientation-guard__button{background:#fb923c}[data-theme=dark] .orientation-guard__button:hover{background:#f97316}[data-theme=dark]{--primary: #fb923c;--primary-h: #f97316;--danger: #f87171;--success: #4ade80;--bg: #0f172a;--surface: #1e293b;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--shadow: 0 1px 3px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.2)}[data-theme=dark] body{background:var(--bg);color:var(--text)}[data-theme=dark] .auth-wrap{background:linear-gradient(135deg,#0f172a,#1e293b)}[data-theme=dark] .auth-card{background:var(--surface);box-shadow:0 4px 24px #0000004d}[data-theme=dark] .nav-item:hover{background:#334155;color:var(--text)}[data-theme=dark] .nav-item.active{background:rgba(249,115,22,.15);color:var(--primary)}[data-theme=dark] .btn-logout:hover{background:rgba(239,68,68,.12);border-color:#7f1d1d}[data-theme=dark] .feature-row:hover{background:#263042}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#0f172a;color:var(--text);border-color:var(--border)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#64748b}[data-theme=dark] .modal-overlay{background:rgba(0,0,0,.6)}[data-theme=dark] .modal-card,[data-theme=dark] .modal-content{background:var(--surface)}[data-theme=dark] table th{background:#1a2332}[data-theme=dark] table tr:hover td{background:rgba(51,65,85,.4)}[data-theme=dark] table td{border-bottom-color:var(--border)}[data-theme=dark] .toast{background:#334155;color:var(--text)}[data-theme=dark] .skel,[data-theme=dark] .skel-line{background:linear-gradient(90deg,#1e293b 25%,#334155 50%,#1e293b 75%);background-size:200% 100%}[data-theme=dark] .btn-sm{border-color:var(--border)!important}[data-theme=dark] .btn-sm.btn-secondary{background:var(--surface)!important;color:var(--text)!important;border-color:var(--border)!important}[data-theme=dark] .app-main-footer{background:var(--surface);border-top:1px solid var(--border)}.customer-dashboard-drawer{width:75%!important;max-width:75%}.service-order-item{cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.service-order-item:hover{background-color:#fff7ed!important;border-color:#fed7aa!important}@media (max-width: 768px){.customer-dashboard-drawer{width:100%!important;max-width:100%}}
