:root{--bg: #0f1419;--surface: #1a222d;--surface2: #243040;--border: #334155;--text: #e8eef4;--muted: #94a3b8;--accent: #22c55e;--accent-dim: #16a34a;--danger: #f87171;--radius: 10px;font-family:DM Sans,system-ui,sans-serif;line-height:1.45;color:var(--text);background:var(--bg)}*{box-sizing:border-box}html,body{margin:0;height:100%}#root{height:100%}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:var(--accent)}.pos-login-page{min-height:100dvh;padding:1rem;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.pos-app{height:100dvh;max-width:1400px;margin:0 auto;padding:.35rem .5rem .45rem;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}.pos-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-shrink:0;margin-bottom:.35rem}.pos-header-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem}.pos-header-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.pos-main-tabs{width:-moz-fit-content;width:fit-content;max-width:100%}.pos-header h1{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:-.02em}.pos-header-meta{font-size:.72rem;color:var(--muted)}.pos-workspace{flex:1;min-height:0;display:grid;grid-template-columns:1fr minmax(252px,320px);gap:.45rem}.pos-orders-workspace{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pos-orders-card{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:.55rem .65rem!important}.pos-orders-toolbar{flex-shrink:0}.pos-orders-toolbar-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap}.pos-orders-title{margin:0 0 .15rem;font-size:1rem}.pos-orders-sub{margin:0 0 .4rem;font-size:.72rem;color:var(--muted);max-width:42rem}.pos-orders-scroll{flex:1;min-height:0}.pos-orders-list{list-style:none;margin:0;padding:0}.pos-order-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.pos-order-row:last-child{border-bottom:none}.pos-order-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.12rem}.pos-order-num{font-weight:600;font-size:.88rem}.pos-order-meta,.pos-order-status{font-size:.72rem;color:var(--muted)}.pos-order-status{text-transform:capitalize}.pos-order-row-actions{flex-shrink:0;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.pos-order-total{font-weight:600;font-size:.85rem}.pos-orders-footer{flex-shrink:0;padding-top:.35rem}@media (max-width: 720px){.pos-workspace{grid-template-columns:1fr;grid-template-rows:1fr auto}}.pos-panel{min-height:0;display:flex;flex-direction:column;overflow:hidden}.pos-card-fill{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:.45rem .55rem!important}.pos-card-fill>h2{margin:0 0 .3rem!important;font-size:.78rem!important}.pos-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.pos-scroll--cart{flex:1;min-height:0}.pos-cart-card{min-height:0}.pos-cart-footer{flex-shrink:0;padding-top:.35rem;border-top:1px solid var(--border);margin-top:.25rem}.btn-checkout{width:100%;margin-top:.35rem;padding:.55rem}.search-row--tight{margin-bottom:.35rem}.search-row--tight input{padding:.45rem .5rem;font-size:.85rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem}.card h2{margin:0 0 .75rem;font-size:.95rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.75rem}.field label{font-size:.8rem;color:var(--muted)}.field input,.field select,.field textarea{padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text)}.field textarea{min-height:64px;resize:vertical}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.55rem 1rem;border-radius:8px;border:none;font-weight:600;font-size:.9rem}.btn-primary{background:var(--accent);color:#052e16}.btn-primary:hover{background:var(--accent-dim)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--muted)}.search-row{display:flex;gap:.5rem;margin-bottom:1rem}.search-row input{flex:1;padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--surface2);color:var(--text)}.pos-variation-screen{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.pos-variation-top{flex-shrink:0;margin-bottom:.4rem}.pos-variation-back{width:100%;justify-content:flex-start;margin-bottom:.35rem;font-size:.78rem}.pos-variation-title{margin:0 0 .2rem;font-size:.95rem;font-weight:700;color:var(--text);line-height:1.25}.pos-variation-sub{margin:0;font-size:.72rem;color:var(--muted)}.variation-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.4rem;padding-bottom:.35rem}.variation-card{display:flex;flex-direction:column;gap:.3rem;padding:.45rem .4rem;border-radius:8px;background:var(--surface2);border:1px solid var(--border);min-height:0}.variation-card:hover:not(.variation-card--out){border-color:var(--accent)}.variation-card--out{opacity:.55}.variation-card-head{display:flex;flex-direction:column;gap:.18rem;flex:1;min-height:0}.variation-card-product{margin:0;font-size:.62rem;font-weight:500;color:var(--muted);line-height:1.2}.variation-card-attrs{margin:0;font-weight:700;font-size:.76rem;line-height:1.3;color:var(--text);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5rem}.cart-line-text{min-width:0}.cart-line-sub{font-size:.7rem;font-weight:500;color:var(--accent);line-height:1.25;margin-top:.06rem}.variation-card-stock{margin:0;font-size:.68rem;color:var(--muted)}.variation-card .btn-primary{width:100%;margin-top:auto;padding:.35rem .4rem;font-size:.72rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:.35rem;padding-bottom:.25rem}.product-card{display:flex;flex-direction:column;gap:.28rem;padding:.4rem .35rem;border-radius:8px;background:var(--surface2);border:1px solid var(--border);min-height:0}.product-card:hover{border-color:var(--muted)}.product-card-name{margin:0;font-weight:600;font-size:.74rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-height:2.1rem}.product-card .btn-primary{width:100%;margin-top:auto;padding:.32rem .35rem;font-size:.72rem}.price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.3rem;font-size:.72rem}.price-line .price-now{font-weight:700;color:var(--accent)}.price-line .price-was{font-size:.8rem;color:var(--muted);text-decoration:line-through}.price-line.muted-total{color:var(--muted);font-size:.82rem}.price-line.muted-total .price-now{color:var(--text);font-weight:600}.cart-lines--fill{display:flex;flex-direction:column;gap:.25rem}.cart-line{display:flex;align-items:flex-start;justify-content:space-between;gap:.35rem;font-size:.8rem;padding:.28rem 0;border-bottom:1px solid var(--border)}.cart-line-title{font-weight:600;font-size:.78rem;line-height:1.25}.cart-line:last-child{border-bottom:none}.cart-line-qty{display:flex;align-items:center;gap:.35rem}.cart-line-qty button{width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:var(--surface2);color:var(--text);line-height:1;font-size:.85rem}.btn-tiny{padding:.2rem .35rem!important;font-size:.75rem!important;min-width:auto}.cart-totals{font-size:.95rem;margin-bottom:1rem}.cart-totals--compact{font-size:.8rem;margin-bottom:0}.cart-totals--compact .cart-total-block{margin-bottom:.15rem}.success-banner--tight{margin-top:.35rem;margin-bottom:0;padding:.4rem .5rem;font-size:.78rem}.success-banner--with-actions{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.pos-print-receipt{flex-shrink:0;white-space:nowrap}.cart-total-block{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;margin-bottom:.5rem}.cart-total-block .cart-total-label{display:flex;justify-content:space-between;font-weight:600}.cart-totals .cart-total-block.emphasis{font-weight:700;font-size:1.05rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border)}.segmented{display:flex;gap:0;border-radius:8px;overflow:hidden;border:1px solid var(--border);margin-bottom:1rem}.segmented button{flex:1;padding:.55rem;border:none;background:var(--surface2);color:var(--muted);font-weight:600}.segmented button.active{background:var(--accent);color:#052e16}.error-banner{background:#f871711f;border:1px solid var(--danger);color:var(--danger);padding:.65rem .75rem;border-radius:8px;font-size:.88rem;margin-bottom:1rem}.success-banner{background:#22c55e1f;border:1px solid var(--accent);color:var(--accent);padding:.65rem .75rem;border-radius:8px;font-size:.88rem;margin-bottom:1rem}.login-card{max-width:400px;margin:4rem auto}.login-card h1{margin:0 0 .25rem;font-size:1.5rem}.login-card p{margin:0 0 1.25rem;color:var(--muted);font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-backdrop--checkout{padding:min(.5rem,2vw);align-items:center}.modal-backdrop--order-detail{z-index:60;padding:min(.5rem,2vw);align-items:center}.pos-order-detail-modal{max-width:min(96vw,560px);width:100%;max-height:min(92dvh,820px);display:flex;flex-direction:column;overflow:hidden;padding:.55rem .65rem .65rem}.pos-order-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;flex-shrink:0}.pos-order-detail-head h3{margin:0;font-size:1rem;line-height:1.3;word-break:break-word}.pos-order-detail-body{flex:1;min-height:0;display:flex;flex-direction:column;margin-top:.45rem}.pos-order-detail-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.85rem;padding-right:.15rem}.pos-order-detail-section h4{margin:0 0 .35rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600}.pos-order-detail-kv{display:grid;grid-template-columns:minmax(5.5rem,36%) 1fr;gap:.35rem .55rem;font-size:.82rem;align-items:start}.pos-order-detail-k{color:var(--muted)}.pos-order-detail-v-cap{text-transform:capitalize}.pos-order-detail-mono{font-family:ui-monospace,monospace;font-size:.78rem}.pos-order-detail-pre{margin:0;white-space:pre-wrap;word-break:break-word;font-size:.82rem;line-height:1.45;color:var(--text)}.pos-order-detail-table-wrap{overflow-x:auto;margin:0 -.15rem;padding:0 .15rem}.pos-order-detail-items{width:100%;border-collapse:collapse;font-size:.78rem}.pos-order-detail-items th,.pos-order-detail-items td{padding:.38rem .3rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}.pos-order-detail-items th:nth-child(2),.pos-order-detail-items td:nth-child(2){text-align:center;width:2.5rem}.pos-order-detail-items th:nth-child(3),.pos-order-detail-items td:nth-child(3),.pos-order-detail-items th:nth-child(4),.pos-order-detail-items td:nth-child(4){text-align:right;white-space:nowrap}.pos-order-detail-items th{color:var(--muted);font-weight:600}.pos-order-detail-footer{flex-shrink:0;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end;align-items:center;padding-top:.55rem;margin-top:.35rem;border-top:1px solid var(--border)}.pos-order-row-btns{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:flex-end}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.checkout-modal{max-width:min(96vw,860px);width:100%;max-height:min(96dvh,720px);overflow:hidden;padding:.55rem .65rem .6rem;display:flex;flex-direction:column;gap:.35rem}.checkout-modal-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.35rem .75rem;flex-shrink:0}.checkout-modal-toolbar h3{margin:0;font-size:1rem}.checkout-order-type-pill{font-size:.72rem;font-weight:600;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:.28rem .65rem;flex-shrink:0}.segmented--compact{margin-bottom:0;flex:0 1 auto;min-width:min(220px,100%)}.segmented--compact button{padding:.38rem .5rem;font-size:.78rem}.checkout-modal-grid{display:grid;grid-template-columns:1fr min(220px,32%);gap:.5rem .75rem;align-items:stretch;min-height:0;flex:1}.checkout-modal-form{min-width:0;display:flex;flex-direction:column;gap:0}.checkout-modal-aside{display:flex;flex-direction:column;gap:.4rem;min-width:0;border-left:1px solid var(--border);padding-left:.65rem}.checkout-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.35rem .5rem}.checkout-modal .field--compact{margin-bottom:.32rem;gap:.18rem}.checkout-modal .field--compact label{font-size:.68rem}.checkout-modal .field--compact input,.checkout-modal .field--compact select,.checkout-modal .field--compact textarea{padding:.38rem .45rem;font-size:.78rem}.checkout-modal .textarea-single{min-height:2.05rem;max-height:4.5rem;resize:none;line-height:1.3}.cart-totals--checkout{padding:.35rem .4rem;background:var(--surface2);border-radius:8px;border:1px solid var(--border)}.error-banner--compact{margin:0;padding:.35rem .45rem;font-size:.72rem}.modal-hint--inline{margin:0;padding:.38rem 0;font-size:.72rem}.modal-actions--stack{flex-direction:column;margin-top:auto;gap:.35rem}.btn-block{width:100%}@media (max-width: 640px){.checkout-modal{max-height:100dvh;overflow-y:auto}.checkout-modal-grid{grid-template-columns:1fr}.checkout-modal-aside{border-left:none;padding-left:0;border-top:1px solid var(--border);padding-top:.45rem}.checkout-field-row{grid-template-columns:1fr}}.modal-summary .cart-total-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:.2rem;font-size:.82rem}.checkout-total-row{font-weight:700;font-size:.95rem;margin-top:.35rem;padding-top:.35rem;border-top:1px solid var(--border)}.modal-hint{font-size:.78rem;color:var(--muted);margin:0}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem}.modal h3{margin:0 0 .65rem;font-size:1.05rem}.empty-hint{color:var(--muted);font-size:.8rem;text-align:center;padding:1rem .5rem}
