:root{--bg:#f6f8fb;--surface:#fff;--surface-soft:#eef3f6;--ink:#17212b;--muted:#657281;--line:#dce3ea;--green:#087f5b;--green-dark:#056147;--blue:#1d4ed8;--orange:#ea580c;--red:#dc2626;--shadow:0 16px 40px #17212b14}.mobile-order-app{--bg:#faf8f3;--surface:#fff;--surface-soft:#efede7;--ink:#273538;--muted:#788582;--line:#dfdbd3;--green:#0868d8;--green-dark:#064dbd;color:var(--ink);background:#faf8f3;min-height:100vh;padding:0;font-family:Comfortaa,ui-sans-serif,system-ui,sans-serif}.mobile-order-header,.mobile-order-content{width:100%;max-width:none;margin:0}.mobile-order-header{background:#faf8f3;border-bottom:1px solid #e0dbd2;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px 22px;display:grid}.mobile-order-header>a,.mobile-order-header>button{background:#ebe6dc;border-radius:50%;justify-content:center;align-items:center;width:41px;height:41px;display:flex}.mobile-order-header>div:not(.mobile-order-brand){gap:4px;display:grid}.mobile-order-header span{color:#7b8d93;letter-spacing:1px;font-size:7px;font-weight:700}.mobile-order-header strong{font-size:17px}.mobile-order-brand{color:#58788a;letter-spacing:-1px;font-size:18px;font-weight:800}.mobile-order-logo{object-fit:contain;object-position:right center;max-width:120px;height:42px}.mobile-order-content{background:#faf8f3;min-height:calc(100vh - 133px);padding:22px}.mobile-order-app .primary-button{background:linear-gradient(135deg,#074bc4,#1596f2);border-color:#0868d8;border-radius:12px}.mobile-order-app .primary-button:hover{background:linear-gradient(135deg,#063fa8,#087cdb)}.mobile-order-brand{color:#0000;background:linear-gradient(135deg,#074bc4,#1596f2);-webkit-background-clip:text;background-clip:text}.mobile-order-header span{color:#0868d8}.mobile-order-app .secondary-button,.mobile-order-app input,.mobile-order-app select{border-radius:10px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{grid-template-columns:1fr;min-height:100vh;display:grid}.app-topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:14px;height:64px;padding:10px 28px;display:flex;position:sticky;top:0}.menu-button,.sidebar-close{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.topbar-brand{gap:2px;margin-right:auto;display:grid}.topbar-brand span{color:var(--muted);text-transform:uppercase;font-size:12px}.sidebar{color:#fff;z-index:40;background:#111827;flex-direction:column;gap:28px;width:280px;min-height:100vh;padding:24px;transition:transform .16s;display:flex;position:fixed;top:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-backdrop{z-index:30;background:#11182773;border:0;position:fixed;inset:0}.brand,.nav-item,.sidebar-note,.ghost-button,.primary-button,.secondary-button,.label-row,.section-title,.action-row,.qris-box,.delivery-grid,.customer-header,.customer-search,.customer-card-header{align-items:center;display:flex}.brand{gap:12px}.brand .sidebar-close{margin-left:auto}.brand-mark{background:var(--green);border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;font-weight:800;display:flex}.brand p,.brand span,.eyebrow,h1,h2,p{margin:0}.brand p{font-size:16px;font-weight:800}.brand span{color:#aab4c0;margin-top:2px;font-size:13px;display:block}.nav-list{gap:8px;display:grid}.role-switcher{background:#ffffff14;border:1px solid #ffffff14;border-radius:8px;gap:10px;padding:12px;display:grid}.role-switcher>span{color:#aab4c0;text-transform:uppercase;font-size:12px;font-weight:800}.role-switcher div{background:#ffffff14;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.role-switcher .active-employee{grid-template-columns:auto 1fr;align-items:center;gap:3px 8px;padding:9px;display:grid}.active-employee svg{color:#93c5fd;grid-row:1/3}.active-employee strong{color:#fff;font-size:12px}.active-employee small{color:#aab4c0;font-size:10px}.role-switcher button{color:#cbd5e1;background:0 0;border:0;border-radius:7px;min-height:36px;font-weight:800}.role-switcher button.selected{color:var(--ink);background:#fff}.nav-item{color:#cbd5e1;border-radius:8px;gap:10px;min-height:44px;padding:0 12px}.nav-item.active,.nav-item:hover{color:#fff;background:#ffffff1a}.sidebar-note{color:#d9e2ec;background:#ffffff14;border:1px solid #ffffff14;border-radius:8px;gap:10px;margin-top:auto;padding:14px;line-height:1.4}.workspace{gap:18px;padding:28px;display:grid}.topbar{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-actions{gap:10px;display:flex}.eyebrow{color:var(--green);text-transform:uppercase;font-size:12px;font-weight:800}h1{font-size:30px;line-height:1.1}h2{font-size:19px;line-height:1.2}.ghost-button,.primary-button,.secondary-button{white-space:nowrap;border-radius:8px;justify-content:center;gap:8px;min-height:42px;padding:0 14px}.ghost-button{background:var(--surface);border:1px solid var(--line);color:var(--ink)}.primary-button{background:var(--green);border:1px solid var(--green);color:#fff;font-weight:800}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled,.secondary-button:disabled{cursor:not-allowed;opacity:.52}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff;font-weight:700}.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric,.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.metric{gap:6px;min-height:78px;padding:16px;display:grid}.metric span,.summary-list span,.receipt-line span,.customer-summary span{color:var(--muted);font-size:13px}.metric strong{font-size:22px}.content-grid{grid-template-columns:minmax(0,1.45fr) minmax(340px,.9fr);align-items:start;gap:18px;display:grid}.cashier-grid{grid-template-columns:minmax(0,1.35fr) minmax(360px,.75fr)}.cashier-grid.no-summary{grid-template-columns:minmax(0,1fr)}.order-flow-panel{align-self:start;gap:14px;display:grid}.flow-stepper{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.compact-stepper{border:1px solid var(--line);background:#fff;border-radius:10px;gap:4px;padding:6px;display:flex}.flow-step{background:var(--surface-soft);color:var(--muted);text-align:left;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-height:72px;padding:12px;display:flex}.compact-stepper .flow-step{color:#8a96a3;text-align:center;background:0 0;border-color:#0000;border-radius:8px;flex:1;justify-content:center;min-width:0;min-height:42px;padding:8px 10px}.flow-step strong,.flow-step small{display:block}.flow-step strong{color:var(--ink);font-size:14px}.compact-stepper .flow-step strong{color:inherit;font-size:14px}.flow-step small{margin-top:2px;font-size:12px}.flow-step.active{border-color:var(--green);background:#e8f7f1}.compact-stepper .flow-step.active{color:var(--green-dark);background:#e8f7f1;border-color:#0000}.compact-stepper .flow-step.done{color:var(--green-dark)}.flow-step.done .step-number{background:var(--green);color:#fff}.flow-step.locked{cursor:not-allowed;opacity:.62}.compact-stepper .flow-step.locked{opacity:1}.step-number{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:13px;font-weight:800;display:flex}.compact-stepper .step-number{width:24px;height:24px;font-size:12px}.compact-stepper .flow-step.active .step-number,.compact-stepper .flow-step.done .step-number{background:var(--green);border-color:var(--green);color:#fff}.flow-card{border:0;border-radius:0;padding:0}.step-content{gap:16px;display:grid}.checkout-step-content{padding-bottom:92px}.operator-guide{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);border-radius:8px;gap:4px;margin-bottom:16px;padding:12px 14px;display:grid}.operator-guide span{color:var(--muted);font-size:14px}.member-lookup-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.member-card,.checkout-member-strip{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(180px,auto) auto;align-items:center;gap:12px;padding:14px;display:grid}.checkout-member-strip{grid-template-columns:minmax(0,1fr) minmax(180px,auto)}.checkout-member-confirmation{background:#e8f7f1;border-color:#a7f3d0;grid-template-columns:1fr}.checkout-member-confirmation .checkout-member-phone{color:var(--ink);font-size:13px;font-weight:700}.checkout-member-confirmation .checkout-member-note{color:#8a96a3;font-size:12px;font-weight:500}.confirmed-member-card{background:#ecfdf5;border-color:#a7f3d0}.member-card>div,.checkout-member-strip>div{gap:4px;display:grid}.member-card span,.member-card small,.checkout-member-strip span,.checkout-member-strip small,.lookup-message,.topup-action-row small,.settings-action-row small{color:var(--muted);font-size:13px}.lookup-message{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;padding:12px}.lookup-message.success{color:var(--green-dark);background:#e8f7f1;border-color:#b9ead8}.lookup-message.warning,.warning-text{color:var(--red)}.service-entry{border:1px solid var(--line);border-radius:8px;gap:14px;padding:14px;display:grid}.register-member-panel{background:#fbfdff}.customer-step-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;min-width:0;display:grid}.customer-work-card{box-shadow:none;background:0 0;border:0;border-radius:0;gap:16px;min-width:0;padding:0;display:grid}.pos-section-heading{gap:5px;display:grid}.pos-section-heading h2{margin:0;font-size:22px}.pos-section-heading p:not(.eyebrow){color:var(--muted);margin:0;font-size:14px}.customer-search-panel{gap:8px;display:grid}.customer-search-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.customer-search-row>*,.customer-result-card>*{min-width:0}.customer-phone-field input,.customer-search-button{min-height:50px}.customer-search-button.searched{color:#475569;background:#e5e7eb;border-color:#d1d5db}.customer-search-button.searched:hover{background:#dbe1e8}.input-helper{color:var(--muted);font-size:13px}.customer-result-card{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;padding:16px;display:grid}.customer-result-card.selected{border-color:#a7f3d0}.customer-result-card.found{background:#e8f7f1;border-color:#a7f3d0;grid-template-columns:minmax(0,1fr) auto}.customer-result-card.selected{grid-template-columns:minmax(0,1fr)}.customer-result-main{gap:4px;display:grid}.customer-result-main span,.customer-result-main small{color:var(--muted);font-size:13px}.customer-result-main strong{font-size:22px}.customer-result-actions{gap:10px;display:flex}.checkout-split-panel{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.checkout-left-panel,.service-form-panel{gap:14px;display:grid}.service-card-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.service-choice-card{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:10px;gap:6px;min-height:118px;padding:12px;display:grid}.service-choice-card svg{color:var(--green)}.service-choice-card span,.service-choice-card small,.selected-service-summary span,.selected-service-summary small{color:var(--muted);font-size:12px}.service-choice-card strong{font-size:16px}.service-choice-card.selected{border-color:var(--green);background:#e8f7f1;box-shadow:0 12px 28px #087f5b1f}.selected-service-summary{background:var(--surface-soft);border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.selected-service-summary svg{color:var(--green)}.selected-service-summary>div{gap:4px;display:grid}.service-form-panel{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}.service-form-panel small{color:var(--muted);font-size:13px}.checkout-modal-backdrop{z-index:90;overscroll-behavior:none;background:#1118277a;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0;overflow:hidden}.checkout-modal{border:1px solid var(--line);max-height:min(860px, calc(var(--app-viewport-height,100dvh) - 36px));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#fff;border-radius:12px;gap:16px;width:min(960px,100%);max-width:960px;padding:18px;scroll-padding-bottom:28px;display:grid;overflow:auto;box-shadow:0 24px 70px #0f172a3d}:is(html:has([aria-modal=true]),body:has([aria-modal=true])){overscroll-behavior:none;overflow:hidden}.checkout-modal.compact-modal{max-width:520px}.checkout-modal-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.modal-service-body{gap:14px;display:grid}.add-to-cart-button{width:100%}.cart-sticky-trigger{border:1px solid var(--line);color:var(--ink);z-index:55;background:#fff;border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:min(560px,100vw - 32px);padding:12px;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #0f172a33}.cart-sticky-icon{color:var(--green-dark);background:#e8f7f1;border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;display:flex;position:relative}.cart-sticky-icon span{background:var(--green);color:#fff;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 5px;font-size:12px;font-weight:800;display:flex;position:absolute;top:-6px;right:-6px}.cart-sticky-copy{text-align:left;gap:3px;min-width:0;display:grid}.cart-sticky-copy>span{color:var(--ink);font-size:15px}.cart-sticky-copy strong{font-size:17px}.cart-sticky-copy small,.cart-modal-total span,.cart-modal-total small{color:var(--muted);font-size:13px}.cart-sticky-arrow{background:var(--green);color:#fff;border-radius:999px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.cart-review-modal{padding-bottom:16px}.cart-modal-body{gap:14px;display:grid}.cart-modal-total{color:var(--green-dark);background:#087f5b1f;border-radius:10px;gap:5px;padding:14px;display:grid}.cart-modal-total span,.cart-modal-total small{color:#056147b8}.cart-modal-total strong{font-size:30px}.cart-modal-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.empty-cart{background:var(--surface-soft);color:var(--muted);border-radius:8px;padding:14px;font-size:14px}.cart-list{gap:10px;max-height:42vh;display:grid;overflow:auto}.cart-swipe-row{border-radius:12px;position:relative;overflow:hidden}.cart-delete-button{color:var(--red);opacity:0;pointer-events:none;z-index:0;background:#fee2e2;border:0;border-radius:12px;justify-content:center;align-items:center;width:66px;transition:opacity .16s;display:flex;position:absolute;inset:0 0 0 auto}.cart-swipe-row.revealed .cart-delete-button{opacity:1;pointer-events:auto}.cart-row{border:1px solid var(--line);touch-action:pan-y;z-index:1;background:#fff;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;transition:transform .16s;display:grid;position:relative}.cart-swipe-row.revealed .cart-row{transform:translate(-74px)}.cart-item-copy{gap:4px;min-width:0;display:grid}.cart-row span{color:var(--muted);font-size:13px}.cart-item-price{color:#087f5bd1;font-size:18px}.cart-edit-button{color:var(--green-dark);background:#e8f7f1;border:0;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.quick-row{gap:10px;display:flex}.quick-row button{flex:1}.payment-hero{color:#fff;background:#111827;border-radius:8px;gap:6px;padding:18px;display:grid}.payment-hero span{color:#cbd5e1}.payment-hero small{color:#d9e2ec}.payment-hero strong{font-size:34px}.payment-step-content,.print-step-content{gap:18px}.payment-total-card{color:#fff;background:#111827;border-radius:12px;grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(160px,.45fr));gap:14px;padding:18px;display:grid}.payment-total-card div{gap:5px;display:grid}.payment-total-card span{color:#cbd5e1;font-size:14px}.payment-total-card strong{font-size:18px}.payment-total-card div:first-child strong{font-size:34px}.payment-method-section,.payment-detail-card,.print-info-card,.print-total-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:14px;padding:18px;display:grid;box-shadow:0 12px 30px #17212b0d}.payment-detail-card{gap:12px;padding:14px}.payment-method-grid{flex-wrap:wrap;gap:10px;display:flex}.payment-method-card{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:999px;align-items:center;gap:8px;width:auto;min-height:44px;padding:0 14px;display:inline-flex}.payment-method-card svg{color:var(--green)}.payment-method-card span,.payment-method-card small,.payment-help-text,.payment-panel-heading p,.print-data-list span,.print-item-row span,.print-total-card>span,.print-success-state span{color:var(--muted);font-size:14px}.payment-method-card small{color:var(--green-dark);font-weight:800}.payment-method-card.selected{border-color:var(--green);box-shadow:0 8px 18px #087f5b1a}.payment-check{color:var(--green);margin-left:2px}.payment-panel-heading{align-items:center;gap:12px;display:flex}.payment-panel-heading svg{color:var(--green)}.payment-panel-heading h3{margin:0;font-size:18px}.payment-panel-heading p{margin:3px 0 0}.cash-input-grid,.saldo-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.payment-info-box{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;gap:4px;padding:10px;display:grid}.payment-info-box span{color:var(--muted);font-size:13px}.payment-info-box strong{font-size:18px}.payment-info-box.success{color:var(--green-dark);background:#e8f7f1;border-color:#b9ead8}.payment-info-box.warning{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.quick-cash-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.quick-cash-row .secondary-button,.saldo-use-button{min-height:40px}.qris-payment-layout{grid-template-columns:190px minmax(0,1fr);align-items:center;gap:16px;display:grid}.qris-placeholder{aspect-ratio:1;border:2px dashed var(--line);background:#fff;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.qris-placeholder svg{color:var(--ink)}.qris-payment-image{object-fit:contain;border-radius:10px;width:100%;height:100%}.qris-instruction{gap:10px;display:grid}.qris-instruction span{color:var(--muted);font-size:14px}.qris-instruction strong{font-size:28px}.qris-instruction p{margin:0}.payment-bottom-action{justify-content:space-between;align-items:center;gap:12px;display:flex}.payment-next-button,.print-primary-button,.print-secondary-button,.print-action-stack .primary-button,.print-action-stack .secondary-button{min-height:52px}.print-step-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);align-items:start;gap:18px;display:grid}.print-left-stack,.print-action-stack,.print-item-list{gap:14px;display:grid}.print-total-card{position:sticky;top:24px}.print-data-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.print-data-list div{background:var(--surface-soft);border-radius:10px;gap:5px;padding:12px;display:grid}.print-item-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.print-item-row>div:nth-child(2){gap:4px;display:grid}.print-item-number{background:var(--surface-soft);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-weight:800;display:flex}.delivery-row{background:#fbfdff}.print-total-card>strong{font-size:34px}.print-success-state{color:var(--green-dark);text-align:center;background:#e8f7f1;border:1px solid #b9ead8;border-radius:12px;place-items:center;gap:8px;padding:18px;display:grid}.print-success-state.warning{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.cash-payment-panel{border:1px solid var(--line);border-radius:8px;gap:14px;padding:14px;display:grid}.payment-card-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.payment-option-card{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:8px;justify-items:start;gap:6px;min-height:88px;padding:12px;display:grid}.payment-option-card svg{color:var(--green)}.payment-option-card small,.selected-payment-label span{color:var(--muted);font-size:12px}.payment-option-card.selected{border-color:var(--green);background:#e8f7f1;box-shadow:0 10px 24px #087f5b1f}.selected-payment-label{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:5px;padding:12px;display:grid}.topup-saldo-modal{gap:14px}.topup-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.topup-preview-grid div{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;gap:5px;padding:12px;display:grid}.topup-preview-grid span,.topup-voucher-note span{color:var(--muted);font-size:13px}.topup-method-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.topup-method-row .selected{border-color:var(--green);color:var(--green-dark);background:#e8f7f1}.topup-settlement-panel{border:1px solid var(--line);background:#f8fafc;border-radius:12px;gap:12px;padding:13px;display:grid}.topup-settlement-panel .quick-cash-row{margin-top:0}.topup-qris-layout{grid-template-columns:150px minmax(0,1fr)}.topup-qris-layout .qris-instruction small{color:#b33d2e;font-size:11px;line-height:1.5}.topup-voucher-note{background:#fff7ed;border:1px solid #fed7aa;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.topup-voucher-note svg{color:var(--orange);flex:none}.fund-payment-panel,.topup-panel{border:1px solid var(--line);border-radius:8px;gap:14px;padding:14px;display:grid}.fund-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.fund-summary-grid div{border:1px solid var(--line);background:#f8fafc;border-radius:8px;gap:5px;padding:12px;display:grid}.fund-summary-grid span{color:var(--muted);font-size:12px}.compact-form-grid{margin-bottom:0}.topup-action-row,.settings-action-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel{padding:20px}.order-panel,.side-stack,.lower-grid,.delivery-panel{gap:18px;display:grid}.sticky-panel{position:sticky;top:24px}.section-title{justify-content:space-between;margin-bottom:18px}.status-pill{color:var(--green-dark);background:#e8f7f1;border:1px solid #b9ead8;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:800}.form-grid{gap:12px;margin-bottom:16px;display:grid}.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{gap:8px;display:grid}.field span,.label-row span{color:var(--ink);align-items:center;gap:7px;font-size:13px;font-weight:800;display:flex}.field input,.field select,.addon-row input,.settings-row input{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;outline:none;width:100%;min-height:42px;padding:0 12px}.field input:focus,.field select:focus,.addon-row input:focus,.settings-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #087f5b1f}.field input:disabled,.field select:disabled,.settings-row input:disabled{color:#94a3b8;cursor:not-allowed;background:#f8fafc}.control-block{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.control-block+.control-block{margin-top:16px}.label-row{justify-content:space-between}.label-row small{color:var(--muted)}.package-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.package-option{background:var(--surface-soft);color:var(--ink);text-align:left;border:1px solid #0000;border-radius:8px;gap:5px;min-height:92px;padding:12px;display:grid}.package-option span,.package-option strong,.package-option small{display:block}.package-option strong{font-size:14px}.package-option small,.addon-row small,.queue-row span,.settings-row label,.qris-box span{color:var(--muted);font-size:12px}.package-option.selected{border-color:var(--green);background:#e8f7f1}.addon-list,.summary-list,.queue-list,.settings-table,.customer-timeline{gap:10px;display:grid}.addon-row,.summary-list div,.receipt-line,.queue-row,.settings-row,.customer-step{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.addon-row input{max-width:90px}.addon-list.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.addon-list.compact .addon-row{align-items:start;min-height:116px;display:grid}.addon-list.compact .addon-row input{max-width:none}.addon-row>div:first-child{gap:4px;display:grid}.segmented{background:var(--surface-soft);border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:4px;display:grid}.segmented.three{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;font-weight:800;display:flex}.segmented button.selected{color:var(--ink);background:#fff;box-shadow:0 8px 20px #17212b14}.change-box{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:6px;min-height:70px;padding:12px;display:grid}.change-box span{color:var(--orange);font-size:13px;font-weight:800}.change-box.warning{background:#fef2f2;border-color:#fecaca}.change-box.warning span{color:var(--red)}.change-box strong{font-size:22px}.qris-box{color:var(--blue);background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;gap:12px;padding:14px}.summary-list{margin-bottom:14px}.summary-list .cart-summary-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;display:grid}.summary-list .cart-summary-row small{color:var(--muted);grid-column:1/-1;font-size:12px}.total-box{color:#fff;background:#111827;border-radius:8px;gap:6px;margin-bottom:14px;padding:16px;display:grid}.total-box span{color:#cbd5e1}.total-box strong{font-size:30px}.action-row{gap:10px;margin-bottom:14px}.action-row button{flex:1}.receipt-preview{border:1px dashed #94a3b8;border-radius:8px;gap:8px;padding:12px;display:grid}.summary-status{color:var(--green-dark);background:#e8f7f1;border:1px solid #b9ead8;border-radius:8px;align-items:center;gap:8px;margin-top:14px;padding:12px;font-size:13px;font-weight:800;display:flex}.review-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.review-card{border:1px solid var(--line);border-radius:8px;gap:5px;padding:14px;display:grid}.review-card span,.review-card small{color:var(--muted);font-size:13px}.review-card strong{font-size:18px}.final-action-panel{background:var(--surface-soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px;display:grid}.flow-error{color:var(--red);background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:14px;padding:12px;font-size:14px;font-weight:800}.flow-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;margin-top:18px;padding-top:16px;display:flex}.queue-row{background:#fff}.queue-row>div{gap:3px;display:grid}.queue-row>div:last-child{text-align:right}.queue-row small{color:var(--orange);font-weight:800}.queue-page-grid,.settings-page-grid,.delivery-page-grid{align-items:start;gap:18px;display:grid}.queue-page-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.4fr)}.settings-page-grid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.settings-hardware{grid-column:2}.delivery-page-grid{grid-template-columns:minmax(360px,.75fr) minmax(0,1fr)}.dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.55fr);align-items:start;gap:18px;display:grid}.kanban-panel{gap:16px;display:grid;overflow:hidden}.kanban-panel>.section-title{align-items:center}.laundry-board{grid-template-columns:repeat(5,minmax(190px,1fr));gap:12px;padding-bottom:4px;display:grid;overflow-x:auto}.laundry-board-column{border:1px solid var(--line);background:#f1f5f9;border-radius:10px;flex-direction:column;gap:10px;min-height:410px;padding:10px;display:flex}.laundry-board-column.drop-target{background:#e8f7f1;border-color:#9edfc8}.laundry-board-column.active-drop-target{border-color:var(--green);box-shadow:inset 0 0 0 2px #087f5b38}.board-column-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.board-column-header strong{font-size:14px}.board-column-header span{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:flex}.board-task-list{gap:10px;display:grid}.laundry-task-card{cursor:grab;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d7dee8;border-radius:8px;gap:12px;padding:12px;display:grid;box-shadow:0 10px 22px #0f172a12}.laundry-task-card:active{cursor:grabbing}.laundry-task-card.dragging{opacity:.48}.task-card-header,.task-card-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-card-header span{color:var(--green-dark);text-transform:uppercase;background:#e8f7f1;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.task-card-body{gap:4px;display:grid}.task-deadline-row{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;margin-top:6px;padding:8px;display:flex}.task-card-body span,.task-card-footer span,.task-deadline-row span,.empty-board-column{color:var(--muted);font-size:12px}.task-deadline-row strong{color:var(--orange);font-size:12px}.mobile-drag-preview{border:1px solid var(--green);pointer-events:none;z-index:80;background:#fff;border-radius:8px;gap:12px;min-width:min(260px,82vw);max-width:min(280px,82vw);padding:12px;display:grid;position:fixed;top:0;left:0;transform:translate(-50%,-50%);box-shadow:0 20px 45px #0f172a33}.mobile-drag-preview span{color:var(--muted);font-size:12px}.task-card-footer{border-top:1px solid var(--line);padding-top:10px}.empty-board-column{text-align:center;border:1px dashed #cbd5e1;border-radius:8px;padding:12px}.action-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.action-card{border:1px solid var(--line);color:var(--ink);border-radius:8px;gap:8px;min-height:138px;padding:16px;display:grid}.action-card svg{color:var(--green)}.action-card span{color:var(--muted);font-size:13px;line-height:1.45}.machine-panel{grid-column:1/-1}.machine-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.machine-card{border:1px solid var(--line);border-radius:8px;gap:10px;padding:14px;display:grid}.machine-card div{gap:3px;display:grid}.machine-card span,.machine-card small{color:var(--muted);font-size:12px}.machine-card small{color:var(--orange);text-transform:uppercase;font-weight:800}.machine-form{border-top:1px solid var(--line);gap:12px;padding-top:16px;display:grid}.role-lock{color:var(--orange);background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;margin-bottom:14px;padding:12px;font-size:13px;font-weight:800}.order-list,.route-list,.hardware-list,.status-board{gap:10px;display:grid}.work-order-row{border:1px solid var(--line);border-radius:8px;grid-template-columns:40px minmax(180px,1.2fr) repeat(5,minmax(90px,.55fr));align-items:center;gap:12px;min-height:78px;padding:12px;display:grid}.assignment-message{color:var(--blue);background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:12px;padding:12px;font-size:13px;font-weight:800}.assignment-list{gap:12px;display:grid}.assignment-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(220px,.9fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.assignment-card>div:first-child{gap:4px;display:grid}.assignment-card span,.work-order-row span,.delivery-card span,.hardware-list span,.status-column small{color:var(--muted);font-size:13px}.work-order-main,.work-order-row>div:not(.queue-index),.delivery-card>div{gap:4px;display:grid}.queue-index,.icon-button,.status-column span{justify-content:center;align-items:center;display:flex}.queue-index{background:var(--surface-soft);border-radius:999px;width:34px;height:34px;font-weight:800}.icon-button{color:var(--green-dark);background:#e8f7f1;border:1px solid #b9ead8;border-radius:8px;width:42px;height:42px}.status-board{grid-template-columns:1fr}.status-column{border:1px solid var(--line);border-radius:8px;gap:6px;padding:12px;display:grid}.status-column span{background:var(--surface-soft);color:var(--muted);border-radius:999px;width:28px;height:28px;font-size:12px;font-weight:800}.status-column.active{border-color:#9edfc8}.status-column.active span{background:var(--green);color:#fff}.lower-grid{grid-template-columns:minmax(0,1fr) minmax(420px,.9fr)}.text-link{color:var(--blue);font-size:14px;font-weight:800}.timeline{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;display:grid}.timeline-step{border:1px solid var(--line);border-radius:8px;gap:8px;min-height:88px;padding:10px;display:grid}.timeline-step span{background:var(--surface-soft);border-radius:999px;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:800;display:flex}.timeline-step strong{font-size:13px}.timeline-step.done{border-color:#9edfc8}.timeline-step.done span{background:var(--green);color:#fff}.minimum-field{max-width:240px;margin-bottom:14px}.settings-row{grid-template-columns:110px repeat(2,minmax(0,1fr));align-items:end;display:grid}.settings-row label{gap:6px;display:grid}.hardware-list>div{border:1px solid var(--line);border-radius:8px;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:12px;display:grid}.hardware-list>.hardware-printer-card{align-items:start}.hardware-printer-copy{gap:4px;display:grid}.hardware-printer-copy small{color:var(--muted);font-size:12px;line-height:1.4}.hardware-actions{flex-wrap:wrap;grid-column:2/-1;gap:8px;display:flex}.hardware-actions button{min-height:38px}.hardware-list svg{color:var(--green)}.delivery-grid{grid-template-columns:1.4fr .8fr 1fr;align-items:end;gap:12px;display:grid}.delivery-form-grid{gap:12px;display:grid}.delivery-action{width:100%;margin-top:16px}.delivery-card{border:1px solid var(--line);border-radius:8px;grid-template-columns:150px minmax(0,1fr) 150px;align-items:center;gap:12px;padding:14px;display:grid}.delivery-card>div:last-child{text-align:right}.tracking-page{background:var(--bg);min-height:100vh;padding:28px}.tracking-shell{gap:18px;max-width:900px;margin:0 auto;display:grid}.customer-header{justify-content:space-between}.customer-header>div{text-align:right}.customer-search,.customer-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:20px}.customer-search{gap:12px}.customer-search .field{flex:1}.customer-card-header{justify-content:space-between;margin-bottom:18px}.customer-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.customer-summary div{background:var(--surface-soft);border-radius:8px;gap:6px;min-height:118px;padding:14px;display:grid}.customer-summary svg{color:var(--green)}.customer-step{justify-content:flex-start}.customer-step>div:last-child{gap:4px;display:grid}.customer-step span{color:var(--muted);font-size:13px}.step-icon{background:var(--surface-soft);color:var(--muted);border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.customer-step.done .step-icon{background:var(--green);color:#fff}@media (max-width:1180px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:100vh;position:fixed}.nav-list{grid-template-columns:1fr}.sidebar-note{margin-top:0}.content-grid,.lower-grid,.queue-page-grid,.settings-page-grid,.delivery-page-grid,.dashboard-grid,.customer-step-layout,.payment-total-card,.saldo-summary-grid,.qris-payment-layout,.print-step-layout,.checkout-split-panel{grid-template-columns:1fr}.print-total-card{position:static}.machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.laundry-board{grid-template-columns:repeat(3,minmax(190px,1fr))}.settings-hardware{grid-column:auto}.sticky-panel{position:static}.work-order-row{grid-template-columns:40px minmax(0,1fr)}.work-order-row>div:not(.queue-index,.work-order-main){grid-column:auto;display:none}.assignment-card,.delivery-card{grid-template-columns:1fr}.delivery-card>div:last-child{text-align:left}.flow-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.addon-list.compact{grid-template-columns:1fr}.fund-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payment-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.workspace,.tracking-page{padding:16px}.topbar,.customer-header,.customer-card-header,.label-row{flex-direction:column;align-items:flex-start}.topbar .ghost-button,.topbar .primary-button,.customer-header .ghost-button{width:100%}.compact-stepper{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.compact-stepper .flow-step{justify-content:flex-start}.page-actions{flex-direction:column;width:100%}.flow-stepper,.customer-search-row,.customer-result-card,.payment-method-grid,.payment-total-card,.cash-input-grid,.saldo-summary-grid,.qris-payment-layout,.print-data-list,.print-item-row,.review-grid,.final-action-panel,.action-card-grid,.laundry-board,.machine-grid,.member-lookup-card,.member-card,.checkout-member-strip,.payment-card-grid,.fund-summary-grid,.segmented.three{grid-template-columns:1fr}.cash-input-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-total-box{order:1}.cash-change-box{order:2}.cash-received-field{order:3;grid-column:1/-1}.compact-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-footer,.quick-row,.customer-result-actions,.quick-cash-row,.payment-bottom-action,.topup-action-row,.settings-action-row{flex-direction:column}.flow-footer>*,.quick-row>*,.customer-result-actions>*,.quick-cash-row>*,.payment-bottom-action>*,.topup-action-row>*,.settings-action-row>*{width:100%}.metrics,.form-grid.two,.form-grid.three,.package-grid,.timeline,.delivery-grid,.customer-summary,.customer-search,.nav-list,.settings-row{grid-template-columns:1fr}.laundry-task-card{touch-action:none}.action-row{flex-direction:column}.customer-header>div{text-align:left}}@media (max-width:768px){input,select,textarea{font-size:16px!important}}.empty-service-setup{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 120px);padding:36px 24px;display:flex}.empty-service-setup>span{color:#075bcf;background:#e8f3ff;border-radius:16px;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.empty-service-setup h2{color:#263538;margin-top:18px;font-size:22px}.empty-service-setup p{color:#6f7b79;max-width:360px;margin-top:9px;font-size:11px;line-height:1.65}.empty-service-setup a{color:#fff;background:#075bcf;border-radius:12px;justify-content:center;align-items:center;min-height:47px;margin-top:20px;padding:0 18px;font-size:11px;font-weight:700;display:flex}
