.pos-page{display:flex;position:relative;height:calc(100vh - 64px);overflow:hidden;background:var(--color-bg,#f4f5f7)}.pos-page__cart-panel{display:flex;flex-direction:column;width:38%;min-width:340px;max-width:520px;background:var(--color-surface,#fff);border-right:2px solid var(--color-border,#dde1e7);overflow:hidden}.pos-page__cart-header{display:flex;align-items:center;gap:8px;padding:14px 16px;font-weight:700;font-size:1.1rem;background:var(--color-primary,#1a56db);color:#fff;letter-spacing:.02em}.pos-page__cart-header .material-symbols-outlined{font-size:1.25rem}.pos-page__cart-body{flex:1;overflow-y:auto;padding:0 8px}.pos-page__cart-footer{padding:12px 16px;border-top:1px solid var(--color-border,#dde1e7);background:var(--color-surface,#fff)}.pos-page__totals{margin-bottom:12px}.pos-page__total-row{display:flex;justify-content:space-between;padding:2px 0;font-size:.9rem;color:var(--color-text-secondary,#6b7280)}.pos-page__total-row--grand{font-size:1.4rem;font-weight:700;color:var(--color-text,#111827);border-top:2px solid var(--color-border,#dde1e7);margin-top:6px;padding-top:8px}.pos-page__actions{display:flex;gap:8px}.pos-page__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:16px;border:none;border-radius:10px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:background .15s,transform .06s;min-height:56px;user-select:none}.pos-page__btn:not(:disabled):active {transform:scale(0.97)}.pos-page__btn:disabled {opacity:.4;cursor:not-allowed}.pos-page__btn--cancel{background:var(--color-error-light,#fee2e2);color:var(--color-error,#dc2626)}.pos-page__btn--cancel:not(:disabled):hover {background:var(--color-error,#dc2626);color:#fff}.pos-page__btn--pay{background:var(--color-success,#16a34a);color:#fff;font-size:1.25rem;flex:2;box-shadow:0 4px 14px rgba(22,163,74,.35)}.pos-page__btn--pay:not(:disabled):hover {background:#15803d;box-shadow:0 4px 18px rgba(22,163,74,.45)}.pos-page__product-panel{flex:1;overflow:hidden;display:flex;flex-direction:column}.pos-page__loading{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-secondary,#6b7280);font-size:.95rem}.pos-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--color-text-secondary,#6b7280);text-align:center;padding:32px}.pos-empty-state__icon{font-size:3rem;opacity:.4}.pos-empty-state p{margin:0;font-size:1rem}.pos-empty-state__hint{font-size:.82rem;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 14px;max-width:320px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1.2s linear infinite;display:inline-block}.pos-cart-field{width:100%}.pos-cart__table{width:100%;border-collapse:collapse;font-size:.85rem}.pos-cart__table td,.pos-cart__table th{padding:6px 8px;text-align:left;border-bottom:1px solid var(--color-border,#dde1e7)}.pos-cart__table thead th{background:var(--color-bg-subtle,#f9fafb);font-weight:600;font-size:.78rem;text-transform:uppercase;color:var(--color-text-secondary,#6b7280)}.pos-cart__right{text-align:right!important}.pos-cart__col-qty{width:70px}.pos-cart__col-price{width:90px}.pos-cart__col-disc{width:60px}.pos-cart__col-tax{width:60px}.pos-cart__col-amt{width:90px}.pos-cart__col-del{width:36px}.pos-cart__qty-input{width:60px;padding:2px 4px;border:1px solid var(--color-border,#dde1e7);border-radius:4px;text-align:right;font-size:.85rem}.pos-cart__remove-btn{background:none;border:none;cursor:pointer;padding:2px;color:var(--color-error,#dc2626);display:flex;align-items:center}.pos-cart__remove-btn .material-symbols-outlined{font-size:16px}.pos-cart__total-label{text-align:right;font-size:.82rem;color:var(--color-text-secondary,#6b7280);padding-top:4px}.pos-cart__total-value{font-weight:600}.pos-cart__grand-total td{font-size:1rem;font-weight:700;border-top:2px solid var(--color-border,#dde1e7);padding-top:6px}.pos-numpad{display:flex;flex-direction:column;gap:8px;width:100%;max-width:280px;margin:0 auto}.pos-numpad__display{background:var(--color-bg,#f4f5f7);border:2px solid var(--color-primary,#1a56db);border-radius:10px;padding:14px 18px;font-size:2.4rem;font-weight:700;text-align:right;font-variant-numeric:tabular-nums;min-height:70px;color:var(--color-text,#111827)}.pos-numpad__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pos-numpad__key{padding:18px 14px;border:1px solid var(--color-border,#dde1e7);border-radius:10px;background:var(--color-surface,#fff);font-size:1.3rem;font-weight:600;cursor:pointer;transition:background .1s,transform .05s;text-align:center;user-select:none;min-height:60px}.pos-numpad__key:not(:disabled):hover {background:var(--color-primary-light,#eff6ff)}.pos-numpad__key:not(:disabled):active {transform:scale(0.96);background:var(--color-primary,#1a56db);color:#fff}.pos-numpad__key:disabled {opacity:.4;cursor:not-allowed}.pos-numpad__key--clear{background:var(--color-error-light,#fee2e2);color:var(--color-error,#dc2626)}.pos-tender-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:1000}.pos-tender{background:var(--color-surface,#fff);border-radius:12px;padding:24px;width:100%;max-width:380px;box-shadow:0 20px 60px rgba(0,0,0,0.25)}.pos-tender__header{margin-bottom:16px}.pos-tender__title{font-size:1.2rem;font-weight:700;margin:0}.pos-tender__summary{margin-bottom:16px;background:var(--color-bg-subtle,#f9fafb);border-radius:8px;padding:12px}.pos-tender__row{display:flex;justify-content:space-between;padding:3px 0;font-size:.9rem}.pos-tender__row--change{font-weight:700;font-size:1.05rem;border-top:1px solid var(--color-border,#dde1e7);margin-top:6px;padding-top:8px}.pos-tender__value--total{font-weight:700;font-size:1.1rem}.pos-tender__value--change{color:var(--color-success,#16a34a)}.pos-tender__actions{display:flex;gap:8px;margin-top:16px}.pos-tender__btn{flex:1;padding:12px;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.pos-tender__btn:disabled {opacity:.4;cursor:not-allowed}.pos-tender__btn--cancel{background:var(--color-bg-subtle,#f4f5f7);color:var(--color-text,#111827)}.pos-tender__btn--confirm{background:var(--color-success,#16a34a);color:#fff;box-shadow:0 4px 14px rgba(22,163,74,.3);flex:2}.pos-tender__btn--confirm:not(:disabled):hover {background:#15803d}.pos-tender__btn--confirm:not(:disabled):active {transform:scale(0.97)}.pos-category-grid{display:flex;flex-direction:column;height:100%;overflow:hidden}.pos-category-grid__search{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--color-surface,#fff);border-bottom:1px solid var(--color-border,#dde1e7)}.pos-category-grid__search-icon{color:var(--color-text-secondary,#6b7280);font-size:1.1rem}.pos-category-grid__search-input{flex:1;border:none;outline:none;font-size:.95rem;background:transparent;color:var(--color-text,#111827)}.pos-category-grid__tabs{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;background:var(--color-surface,#fff);border-bottom:1px solid var(--color-border,#dde1e7);flex-shrink:0}.pos-category-grid__tab{padding:8px 18px;border-radius:20px;border:1px solid var(--color-border,#dde1e7);background:var(--color-bg-subtle,#f9fafb);font-size:.9rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s;min-height:40px;display:inline-flex;align-items:center;user-select:none}.pos-category-grid__tab--active{background:var(--color-primary,#1a56db);color:#fff;border-color:transparent}.pos-category-grid__tiles{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:14px;align-content:start}.pos-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 10px 12px;border:1px solid var(--color-border,#dde1e7);border-radius:12px;background:var(--color-surface,#fff);cursor:pointer;text-align:center;transition:box-shadow .15s,transform .06s,border-color .15s;min-height:150px;user-select:none;-webkit-user-select:none}.pos-tile:hover {border-color:var(--color-primary,#1a56db);box-shadow:0 3px 14px rgba(26,86,219,.15)}.pos-tile:active {transform:scale(0.97)}.pos-tile__img{width:72px;height:72px;object-fit:cover;border-radius:8px}.pos-tile__icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-subtle,#f4f5f7);border-radius:8px;flex-shrink:0}.pos-tile__icon .material-symbols-outlined{font-size:36px;color:var(--color-primary,#1a56db)}.pos-tile__icon--colored{background:#1e293b;border-radius:10px}.pos-tile__icon--colored .material-symbols-outlined{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,0.4)}.pos-account-overlay{position:absolute;inset:0;background:rgba(15,23,42,.82);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200}.pos-account-picker{background:#fff;border-radius:16px;padding:28px 24px;max-width:640px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,0.3)}.pos-account-picker__title{font-size:1.25rem;font-weight:700;color:#0f172a;margin-bottom:20px;display:flex;align-items:center;gap:8px}.pos-account-picker__title .material-symbols-outlined{font-size:28px;color:#1d4ed8}.pos-account-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.pos-account-tab{padding:6px 14px;border-radius:20px;border:2px solid #e2e8f0;background:#f8fafc;color:#475569;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .12s}.pos-account-tab:hover {border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.pos-account-tab--active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.pos-account-picker__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px}.pos-account-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px 8px;border-radius:12px;border:2px solid #e2e8f0;background:#f8fafc;color:#1e293b;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .12s;min-height:80px}.pos-account-btn .material-symbols-outlined{font-size:28px;color:#3b82f6}.pos-account-btn:hover {background:#dbeafe;border-color:#3b82f6;color:#1d4ed8}.pos-account-btn--counter{border-color:#86efac;background:#f0fdf4}.pos-account-btn--counter .material-symbols-outlined{color:#16a34a}.pos-account-btn--counter:hover {background:#dcfce7;border-color:#4ade80}.pos-account-btn--takeaway{border-color:#fde047;background:#fefce8}.pos-account-btn--takeaway .material-symbols-outlined{color:#ca8a04}.pos-account-btn--takeaway:hover {background:#fef9c3;border-color:#facc15}.pos-page__account-name{font-weight:700;font-size:1rem;color:#fff;letter-spacing:.01em;text-shadow:0 1px 3px rgba(0,0,0,0.3)}.pos-page__change-account{background:none;border:none;cursor:pointer;padding:2px 4px;border-radius:6px;display:flex;align-items:center;color:#64748b}.pos-page__change-account:hover {background:#e2e8f0;color:#1d4ed8}.pos-page__change-account .material-symbols-outlined{font-size:18px}.pos-tile__name{font-size:.9rem;font-weight:600;line-height:1.2;color:var(--color-text,#111827);word-break:break-word}.pos-tile__price{font-size:1rem;font-weight:700;color:var(--color-primary,#1a56db);margin-top:auto}@media print{.pos-category-grid__search,.pos-category-grid__tabs,.pos-page__actions,.pos-page__product-panel{display:none!important}.pos-page{display:block}.pos-page__cart-panel{width:100%;max-width:100%;border:none}.pos-cart__remove-btn{display:none}}@media print and (max-width: 80mm){body{font-size:10pt}.pos-cart__table{font-size:9pt}.pos-cart__col-disc,.pos-cart__col-tax{display:none}}.pos-tile--small{min-height:100px!important;padding:10px 6px!important}.pos-tile--small .pos-tile__icon{width:44px!important;height:44px!important}.pos-tile--small .pos-tile__icon .material-symbols-outlined{font-size:1.6rem!important}.pos-tile--small .pos-tile__name{font-size:.78rem!important}.pos-tile--large{min-height:200px!important;padding:20px 12px 16px!important}.pos-tile--large .pos-tile__icon,.pos-tile--large .pos-tile__img{width:96px!important;height:96px!important}.pos-tile--large .pos-tile__icon .material-symbols-outlined{font-size:3rem!important}.pos-tile--large .pos-tile__name{font-size:1.05rem!important}.pos-tile--large .pos-tile__price{font-size:1.2rem!important}