@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@500;600;700&family=Noto+Sans+Thai:wght@300;400;500;600;700;800&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--bg-canvas: #faf8f5;--bg-surface: #ffffff;--bg-subtle: #f8fafc;--bg-warm: #fff7ed;--bg-warm-hover: #ffedd5;--orange-50: #fff7ed;--orange-100: #ffedd5;--orange-200: #fed7aa;--orange-400: #fb923c;--orange-500: #f7931a;--orange-600: #ea580c;--orange-700: #c2410c;--orange-gradient: linear-gradient(135deg, #f7931a 0%, #ea580c 100%);--orange-soft-grad: linear-gradient(135deg, #fff7ed 0%, #ffedd5 100%);--ink-900: #0f172a;--ink-800: #1e293b;--ink-700: #334155;--ink-500: #64748b;--ink-400: #94a3b8;--border-light: #e2e8f0;--border-warm: #fed7aa;--green-600: #059669;--green-50: #ecfdf5;--green-border: #a7f3d0;--red-600: #dc2626;--red-50: #fef2f2;--red-border: #fecaca;--blue-600: #2563eb;--blue-50: #eff6ff;--blue-border: #bfdbfe;--purple-600: #7c3aed;--purple-50: #f5f3ff;--radius-xl: 20px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 4px 12px rgba(15, 23, 42, .05);--shadow-md: 0 10px 25px -5px rgba(15, 23, 42, .07), 0 8px 10px -6px rgba(15, 23, 42, .04);--shadow-orange: 0 8px 20px -4px rgba(247, 147, 26, .32);--bottom-nav-h: 74px;--sidebar-w: 252px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{font-family:Noto Sans Thai,Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-canvas);color:var(--ink-900);line-height:1.55;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}.mono{font-family:JetBrains Mono,Noto Sans Thai,monospace;font-variant-numeric:tabular-nums}a{text-decoration:none;color:inherit}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--orange-500)}.app-shell{display:flex;min-height:100vh}.main-area{flex:1;margin-left:var(--sidebar-w);display:flex;flex-direction:column;min-width:0}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-w);z-index:90;background:var(--bg-surface);border-right:1.5px solid var(--border-warm);box-shadow:4px 0 24px #0f172a0a;display:flex;flex-direction:column;padding:18px 14px;overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:4px 6px 18px;margin-bottom:10px;border-bottom:1px solid var(--border-light)}.sidebar-logo{width:46px;height:46px;min-width:46px;border-radius:50%;background:#fff;padding:2px;border:2px solid var(--orange-500);box-shadow:0 3px 10px #f7931a38;overflow:hidden}.sidebar-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.sidebar-brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.sidebar-brand-text strong{font-family:Plus Jakarta Sans,Noto Sans Thai,sans-serif;font-size:17px;font-weight:800;color:var(--ink-900);letter-spacing:-.3px}.sidebar-brand-text span{font-size:10.5px;font-weight:800;letter-spacing:.6px;color:var(--orange-600)}.sidebar-section-label{font-size:11px;font-weight:800;color:var(--ink-400);letter-spacing:.5px;padding:8px 10px 6px}.sidebar-nav{display:flex;flex-direction:column;gap:4px}.side-nav-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:12px;color:var(--ink-700);font-size:13.5px;font-weight:700;transition:all .16s ease;position:relative}.side-nav-item:hover{background:var(--orange-50);color:var(--orange-700)}.side-nav-icon{width:32px;height:32px;min-width:32px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--bg-subtle);color:var(--ink-500);transition:all .16s ease}.side-nav-icon svg{width:18px;height:18px}.side-nav-item:hover .side-nav-icon{background:var(--orange-100);color:var(--orange-600)}.side-nav-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-nav-item.active{background:var(--orange-soft-grad);color:var(--orange-700);font-weight:800;box-shadow:inset 0 0 0 1.5px var(--orange-200)}.side-nav-item.active .side-nav-icon{background:var(--orange-gradient);color:#fff;box-shadow:0 4px 10px #f7931a52}.side-nav-badge{background:var(--red-600);color:#fff;font-size:10.5px;font-weight:800;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center}.sidebar-footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--border-light);display:flex;flex-direction:column;gap:8px}.sidebar-footer-btn{width:100%;padding:9px 12px}.topbar-logo,.topbar-mobile-only{display:none!important}.topbar{position:sticky;top:0;z-index:50;background:#fffffff2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-warm);box-shadow:0 2px 14px #0f172a0a;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar-inner{max-width:1320px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.topbar-logo{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;background:#fff;padding:2px;border:2px solid var(--orange-500);box-shadow:0 3px 10px #f7931a38;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.topbar-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.page-title-wrap{min-width:0}.brand-eyebrow{font-size:11px;font-weight:800;letter-spacing:.4px;color:var(--orange-600);text-transform:uppercase;line-height:1.1}.page-title-wrap h1{font-size:18px;font-weight:800;color:var(--ink-900);letter-spacing:-.3px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.branch-switcher{display:flex;align-items:center;gap:6px;background:var(--orange-50);border:1.5px solid var(--orange-400);padding:6px 12px;border-radius:11px}.branch-switcher span{font-size:12px;font-weight:800;color:var(--orange-700);white-space:nowrap}.branch-switcher select{background:transparent;border:none;font-family:inherit;font-size:13px;font-weight:700;color:var(--ink-900);outline:none;cursor:pointer;padding:1px 2px;width:auto}.clock-badge{background:var(--bg-subtle);border:1px solid var(--border-light);padding:7px 11px;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--ink-700)}.page-container{padding:20px 20px 40px;max-width:1320px;width:100%;margin:0 auto}.mobile-bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;background:#fffffff7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1.5px solid var(--border-warm);box-shadow:0 -8px 28px #0f172a17;padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));justify-content:center}.bottom-nav-inner{width:100%;max-width:760px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.mob-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:6px 4px;border-radius:12px;color:var(--ink-500);font-size:11px;font-weight:700;position:relative;transition:all .18s ease;text-align:center;white-space:nowrap}.mob-nav-item:hover{color:var(--orange-600);background:var(--orange-50)}.mob-nav-icon-box{width:36px;height:26px;border-radius:99px;display:flex;align-items:center;justify-content:center;transition:all .18s ease}.mob-nav-item svg{width:20px;height:20px;stroke-width:2.1}.mob-nav-item.active{color:var(--orange-600);font-weight:800}.mob-nav-item.active .mob-nav-icon-box{background:var(--orange-gradient);color:#fff;box-shadow:0 4px 10px #f7931a52}.mob-nav-item.active svg{stroke:#fff}.mob-nav-badge{position:absolute;top:2px;right:calc(50% - 20px);background:var(--red-600);color:#fff;font-size:9.5px;font-weight:800;min-width:16px;height:16px;padding:0 4px;border-radius:99px;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #ffffff;z-index:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 15px;border-radius:11px;font-family:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:all .16s ease;white-space:nowrap}.btn-primary{background:var(--orange-gradient);color:#fff;box-shadow:0 4px 12px #ea580c38}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 18px #ea580c57}.btn-secondary{background:var(--bg-surface);border-color:var(--border-light);color:var(--ink-800);box-shadow:var(--shadow-xs)}.btn-secondary:hover{border-color:var(--orange-500);color:var(--orange-600);background:var(--orange-50)}.btn-warm{background:var(--orange-100);border-color:var(--orange-200);color:var(--orange-700)}.btn-warm:hover{background:var(--orange-200)}.btn-success{background:var(--green-50);border-color:var(--green-border);color:var(--green-600)}.btn-danger{background:var(--red-50);border-color:var(--red-border);color:var(--red-600)}.btn-sm{padding:6px 11px;font-size:12px;border-radius:9px}.btn-lg{padding:12px 20px;font-size:14.5px;border-radius:13px}input,select,textarea{background:var(--bg-surface);border:1.5px solid var(--border-light);color:var(--ink-900);padding:10px 12px;border-radius:10px;font-family:inherit;font-size:13.5px;width:100%;outline:none;transition:all .16s ease}input:focus,select:focus,textarea:focus{border-color:var(--orange-500);box-shadow:0 0 0 3px #f7931a26}.card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm)}.card-warm{background:linear-gradient(145deg,#fffaf5,#fff);border:1.5px solid var(--border-warm)}.card-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px;flex-wrap:wrap}.card-title{font-size:15.5px;font-weight:800;color:var(--ink-900);display:flex;align-items:center;gap:7px;line-height:1.35}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.kpi-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:16px;box-shadow:var(--shadow-sm);display:flex;align-items:flex-start;justify-content:space-between;gap:10px;min-width:0}.kpi-card.highlight{background:var(--orange-gradient);color:#fff;border:none;box-shadow:var(--shadow-orange)}.kpi-card.highlight .kpi-label,.kpi-card.highlight .kpi-sub{color:#ffffffe6}.kpi-icon{width:42px;height:42px;min-width:42px;border-radius:12px;background:var(--orange-50);color:var(--orange-600);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.kpi-card.highlight .kpi-icon{background:#ffffff38;color:#fff}.kpi-label{font-size:12px;font-weight:600;color:var(--ink-500)}.kpi-value{font-size:23px;font-weight:800;margin:3px 0;letter-spacing:-.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi-sub{font-size:11.5px;color:var(--ink-500)}.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:18px}.grid-equal{display:grid;grid-template-columns:1fr 1fr;gap:18px}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.product-card{background:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:15px;overflow:hidden;display:flex;flex-direction:column;transition:all .2s ease;cursor:pointer;box-shadow:var(--shadow-xs);min-width:0}.product-card:hover{border-color:var(--orange-500);box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-card.custom-tattoo{border:2px dashed var(--orange-500);background:linear-gradient(180deg,#fff7ed,#fff)}.product-thumb-wrap{position:relative;width:100%;height:140px;background:#f1f5f9;overflow:hidden}.product-thumb-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.product-card:hover .product-thumb-wrap img{transform:scale(1.05)}.product-badge-top{position:absolute;top:8px;left:8px;z-index:2}.product-stock-pill{position:absolute;bottom:8px;right:8px;background:#0f172ac7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:99px}.product-stock-pill.low{background:#dc2626eb}.product-body{padding:12px;display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:8px}.product-title{font-size:13.5px;font-weight:700;color:var(--ink-900);line-height:1.32;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-desc{font-size:11.5px;color:var(--ink-500);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:8px;border-top:1px solid #f1f5f9}.product-price{font-size:15px;font-weight:800;color:var(--orange-600);white-space:nowrap}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:99px;font-size:11px;font-weight:700;white-space:nowrap}.badge-orange{background:var(--orange-100);color:var(--orange-700)}.badge-green{background:var(--green-50);color:var(--green-600);border:1px solid var(--green-border)}.badge-red{background:var(--red-50);color:var(--red-600);border:1px solid var(--red-border)}.badge-blue{background:var(--blue-50);color:var(--blue-600);border:1px solid var(--blue-border)}.badge-purple{background:var(--purple-50);color:var(--purple-600)}.badge-gray{background:#f1f5f9;color:var(--ink-700)}.filter-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.filter-tabs::-webkit-scrollbar{display:none}.filter-tab{padding:7px 14px;border-radius:99px;border:1.5px solid var(--border-light);background:var(--bg-surface);color:var(--ink-700);font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .16s ease}.filter-tab.active{background:var(--orange-gradient);color:#fff;border-color:transparent;box-shadow:0 4px 10px #f7931a40}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;padding:10px 12px;font-size:11.5px;font-weight:700;color:var(--ink-500);background:#f8fafc;border-bottom:1px solid var(--border-light);white-space:nowrap}td{padding:11px 12px;border-bottom:1px solid #f1f5f9;vertical-align:middle}tr:hover td{background:#fffaf5}.item-cell{display:flex;align-items:center;gap:10px}.avatar-sm{width:38px;height:38px;min-width:38px;border-radius:50%;object-fit:cover;border:2px solid var(--orange-400);flex-shrink:0}.bar-track{height:10px;background:#f1f5f9;border-radius:99px;overflow:hidden}.bar-fill{height:100%;border-radius:99px;background:var(--orange-gradient);transition:width .35s ease}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:120;display:none;align-items:center;justify-content:center;padding:16px}.modal-backdrop.open{display:flex}.modal{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:20px;width:100%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #0f172a40}.modal-header{padding:16px 20px;border-bottom:1px solid var(--border-light);display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(90deg,#fff7ed,#fff);position:sticky;top:0;z-index:5}.modal-header h3{font-size:15.5px;font-weight:800}.modal-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.modal-footer{padding:14px 20px;border-top:1px solid var(--border-light);display:flex;justify-content:flex-end;gap:10px;background:#f8fafc;position:sticky;bottom:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-field{display:flex;flex-direction:column;gap:5px;min-width:0}.form-field.full{grid-column:1 / -1}.form-field label{font-size:12px;font-weight:700;color:var(--ink-700)}.toast-container{position:fixed;bottom:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:8px}.toast{background:var(--ink-900);color:#fff;border-left:5px solid var(--orange-500);padding:12px 16px;border-radius:12px;box-shadow:var(--shadow-md);font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;animation:slideIn .2s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1280px){.grid-2,.grid-equal{grid-template-columns:1fr}}@media(max-width:1180px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.sidebar{display:none!important}.main-area{margin-left:0;padding-bottom:calc(var(--bottom-nav-h) + 28px)}.mobile-bottom-nav{display:flex}.topbar-logo{display:flex!important}.topbar-mobile-only{display:inline-flex!important}.toast-container{bottom:calc(var(--bottom-nav-h) + 14px)}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-equal{grid-template-columns:1fr}}@media(max-width:768px){.topbar{padding:10px 14px}.topbar-inner{gap:8px}.topbar-logo{width:38px;height:38px;min-width:38px;min-height:38px}.page-title-wrap h1{font-size:16px}.clock-badge{display:none!important}.topbar-right{width:100%;justify-content:space-between;gap:8px}.branch-switcher{flex:1;padding:6px 10px;justify-content:space-between}.branch-switcher select{flex:1;text-align:right}.page-container{padding:14px 12px 32px}.card{padding:15px 14px;border-radius:15px}.toast-container{left:12px;right:12px}}@media(max-width:560px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.kpi-card{padding:13px 12px;border-radius:14px;gap:8px}.kpi-icon{width:34px;height:34px;min-width:34px;font-size:16px;border-radius:9px}.kpi-label{font-size:11px}.kpi-value{font-size:18px;margin:2px 0}.kpi-sub{font-size:10.5px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-thumb-wrap{height:112px}.product-body{padding:10px;gap:6px}.product-title{font-size:12.5px}.product-desc{font-size:11px;-webkit-line-clamp:1}.product-price{font-size:13.5px}.product-footer .btn-sm{padding:4px 8px;font-size:11px}.form-grid{grid-template-columns:1fr;gap:10px}.mob-nav-item{font-size:10px;padding:4px 2px}.mob-nav-icon-box{width:32px;height:24px}.mob-nav-item svg{width:18px;height:18px}.modal-backdrop{padding:0;align-items:flex-end}.modal{border-radius:22px 22px 0 0;max-height:88vh;max-width:100%}.modal-footer .btn{flex:1}}.grid-2>*,.grid-equal>*,.pos-grid-layout>*,.booking-wizard-grid>*,.main-area>*,.page-container>*{min-width:0}@media(max-width:900px){.topbar-right{width:100%;flex-wrap:nowrap}.branch-switcher{flex:1;min-width:0}.branch-switcher select{min-width:0;flex:1}}@media(max-width:380px){.branch-switcher>span{display:none}}.btn:disabled,.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media(max-width:640px){.table-wrap{overflow-x:visible;margin:0;padding:0}.table-wrap table,.table-wrap tbody,.table-wrap tr,.table-wrap td{display:block;width:100%}.table-wrap thead{display:none}.table-wrap tr{background:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:14px;padding:4px 12px;margin-bottom:10px;box-shadow:var(--shadow-xs)}.table-wrap tr:hover td{background:transparent}.table-wrap td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px dashed #eef2f7}.table-wrap td:last-child{border-bottom:none}.table-wrap td:before{content:attr(data-label);flex-shrink:0;max-width:38%;font-size:11.5px;font-weight:700;color:var(--ink-500)}.table-wrap td.td-empty{justify-content:center;text-align:center}.table-wrap td.td-empty:before{display:none}.table-wrap .td-val{flex:1;min-width:0;text-align:right;overflow-wrap:anywhere}.table-wrap .td-val .item-cell,.table-wrap .td-val>div[style*="display:flex"]{justify-content:flex-end}.table-wrap .td-val br{display:none}.table-wrap .td-val br+*{margin-left:6px}.table-wrap td:last-child .btn{padding:8px 12px}}.tag-choice{display:flex;flex-wrap:wrap;gap:8px}.tag-chip{display:inline-flex;align-items:center;cursor:pointer}.tag-chip input{position:absolute;opacity:0;width:0;height:0}.tag-chip span{padding:7px 13px;border-radius:99px;border:1.5px solid var(--border-light);background:var(--bg-surface);font-size:12.5px;font-weight:700;color:var(--ink-700);transition:all .15s ease}.tag-chip input:checked+span{background:var(--orange-100);border-color:var(--orange-500);color:var(--orange-700)}.tag-chip input:focus-visible+span{box-shadow:0 0 0 3px #f7931a40}.rate-box{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--green-50);border:1.5px solid var(--green-border);border-radius:12px;padding:10px 12px}.pos-grid-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;align-items:start}.cart-panel{position:sticky;top:86px}.cart-list{display:flex;flex-direction:column;gap:10px;max-height:360px;overflow-y:auto;margin:14px 0}.cart-item{background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:12px;padding:11px;display:flex;gap:10px;align-items:center}.cart-item img{width:48px;height:48px;border-radius:10px;object-fit:cover;border:1px solid var(--border-light);flex-shrink:0}.qty-box{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--border-light);border-radius:8px;padding:2px 6px}.qty-box button{border:none;background:none;font-weight:800;cursor:pointer;width:22px;height:22px;color:var(--orange-600)}.mobile-pos-cart-bar{display:none;position:fixed;left:12px;right:12px;bottom:calc(var(--bottom-nav-h) + 10px);z-index:75;background:var(--ink-900);color:#fff;border:1.5px solid var(--orange-500);border-radius:14px;padding:11px 16px;box-shadow:0 12px 28px #0f172a59;align-items:center;justify-content:space-between;gap:10px;cursor:pointer}@media(max-width:1240px){.pos-grid-layout{grid-template-columns:1fr}.cart-panel{position:static}}.cart-sheet-close,.cart-sheet-backdrop{display:none}@keyframes cartBump{0%{transform:scale(1)}40%{transform:scale(1.04)}to{transform:scale(1)}}@media(max-width:900px){.mobile-pos-cart-bar{display:flex}.mobile-pos-cart-bar.empty{background:#fff;color:var(--ink-700);border-color:var(--border-warm);box-shadow:0 8px 20px #0f172a1f}.mobile-pos-cart-bar.bump{animation:cartBump .35s ease}body.page-pos .main-area{padding-bottom:calc(var(--bottom-nav-h) + 80px)}body.page-pos .toast-container{bottom:calc(var(--bottom-nav-h) + 78px)!important}.cart-panel{position:fixed!important;left:0;right:0;bottom:0;top:auto;max-height:92vh;overflow-y:auto;z-index:110;border-radius:22px 22px 0 0!important;padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))!important;transform:translateY(105%);transition:transform .28s ease;box-shadow:0 -12px 40px #0f172a40}body.cart-open .cart-panel{transform:translateY(0)}body.cart-open{overflow:hidden}body.cart-open .toast-container{bottom:auto!important;top:12px}.cart-sheet-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a80;z-index:105;opacity:0;pointer-events:none;transition:opacity .25s ease}body.cart-open .cart-sheet-backdrop{opacity:1;pointer-events:auto}.cart-sheet-close{display:inline-flex}.cart-sheet-handle{width:44px;height:5px;border-radius:99px;background:var(--border-warm);margin:-6px auto 12px}.cart-list{max-height:none}}@media(min-width:901px){.cart-sheet-handle{display:none}}.artist-comm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.artist-comm-card{background:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:16px;padding:16px;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;gap:10px}.rule-pill{background:var(--orange-50);border:1px solid var(--border-warm);color:var(--orange-700);border-radius:10px;padding:7px 10px;font-size:12px;font-weight:700;line-height:1.5}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.setting-tile{background:#fff;border:1.5px solid var(--border-light);border-radius:14px;padding:12px 14px}.setting-tile .lbl{font-size:12px;font-weight:700;color:var(--ink-500)}.setting-tile .val{font-size:15px;font-weight:800;color:var(--ink-900);margin-top:2px}.rule-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.muted-note{font-size:11.5px;color:var(--ink-500)}@media(max-width:560px){.rule-fields{grid-template-columns:1fr 1fr}}.link-gen-box{background:#fff;border:2px solid var(--orange-400);border-radius:14px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.day-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-bottom:14px}.day-strip::-webkit-scrollbar{display:none}.day-chip{flex:0 0 auto;min-width:64px;border:1.5px solid var(--border-light);background:#fff;border-radius:14px;padding:7px 10px;text-align:center;cursor:pointer;font-family:inherit;position:relative}.day-chip .dw{font-size:11px;font-weight:700;color:var(--ink-500)}.day-chip .dd{font-size:18px;font-weight:800;color:var(--ink-900);line-height:1.2}.day-chip .dn{font-size:10.5px;font-weight:700;color:var(--orange-600)}.day-chip.active{background:var(--orange-gradient);border-color:transparent}.day-chip.active .dw,.day-chip.active .dd,.day-chip.active .dn{color:#fff}.slot-list{display:flex;flex-direction:column;gap:10px}.slot{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:1.5px solid var(--border-light);border-left:5px solid var(--blue-600);border-radius:12px;padding:10px 12px;background:#fff}.slot.tattoo{border-left-color:var(--orange-500)}.slot.cancelled{opacity:.5}.slot .tm{font-family:JetBrains Mono,monospace;font-weight:800;font-size:15px;color:var(--ink-900)}.slot .acts{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:640px){.slot{grid-template-columns:54px 1fr}.slot .acts{grid-column:1 / -1;justify-content:flex-start}}.staff-punch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:14px}.staff-punch-card{background:var(--bg-surface);border:1.5px solid var(--border-light);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}.staff-punch-card.working{border-color:var(--green-border);background:linear-gradient(180deg,#f0fdf4,#fff 60%)}.group-label{font-size:13px;font-weight:800;color:var(--ink-700);margin:14px 0 8px}.group-label:first-child{margin-top:0}.punch-info{background:var(--bg-subtle);padding:9px 12px;border-radius:10px;font-size:12.5px;display:flex;flex-direction:column;gap:3px}.punch-info div{display:flex;justify-content:space-between;gap:8px}.line-box{display:flex;gap:12px;align-items:flex-start;background:#f0fdf4;border:1.5px solid #86efac;border-radius:14px;padding:12px 14px;font-size:12.5px;color:var(--ink-700)}.line-box .ic{width:34px;height:34px;min-width:34px;border-radius:10px;background:#06c755;color:#fff;font-weight:800;font-size:11px;display:flex;align-items:center;justify-content:center}body.page-customer{font-family:Plus Jakarta Sans,Noto Sans Thai,-apple-system,sans-serif}.customer-hero{background:linear-gradient(135deg,#fff7ed,#ffedd5 55%,#fed7aa);border-bottom:1px solid var(--border-warm);padding:30px 20px}.hero-inner{max-width:1120px;margin:0 auto;display:flex;align-items:center;gap:18px}.hero-logo{width:80px;height:80px;border-radius:50%;background:#fff;padding:4px;border:3px solid var(--orange-500);box-shadow:0 10px 24px #ea580c40;flex-shrink:0}.hero-logo img{width:100%;height:100%;object-fit:contain;border-radius:50%}.hero-inner h1{font-size:26px;font-weight:800;line-height:1.2;color:var(--ink-900)}.hero-inner h1 span{color:var(--orange-600)}.hero-inner p{font-size:14px;color:var(--ink-700);margin-top:4px}.customer-container{max-width:1120px;margin:0 auto;padding:24px 16px 110px}.booking-wizard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:22px;align-items:start}.booking-wizard-grid>*{min-width:0}.step-card{background:#fff;border:1.5px solid var(--border-light);border-radius:18px;padding:20px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.step-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.step-num{width:30px;height:30px;border-radius:50%;background:var(--orange-gradient);color:#fff;font-weight:800;font-size:13.5px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.step-title{font-size:16px;font-weight:800;color:var(--ink-900)}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}.choice-card{border:2px solid var(--border-light);border-radius:14px;padding:12px;cursor:pointer;background:#fff;transition:all .16s ease;min-width:0;text-align:left;font-family:inherit}.choice-card:hover{border-color:var(--orange-400);background:var(--orange-50)}.choice-card.selected{border-color:var(--orange-500);background:var(--orange-50);box-shadow:0 0 0 3px #f7931a2e}.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.svc-card{border:2px solid var(--border-light);border-radius:15px;overflow:hidden;cursor:pointer;background:#fff;display:flex;flex-direction:column;transition:all .16s ease}.svc-card.selected{border-color:var(--orange-500);background:var(--orange-50);box-shadow:0 0 0 3px #f7931a33}.svc-card img{width:100%;height:118px;object-fit:cover}.date-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-bottom:12px}.date-strip::-webkit-scrollbar{display:none}.date-chip{flex:0 0 auto;min-width:62px;border:1.5px solid var(--border-light);background:#fff;border-radius:14px;padding:7px 8px;text-align:center;cursor:pointer;font-family:inherit}.date-chip .dw{font-size:11px;font-weight:700;color:var(--ink-500)}.date-chip .dd{font-size:18px;font-weight:800;color:var(--ink-900);line-height:1.2}.date-chip .dm{font-size:10.5px;font-weight:700;color:var(--orange-600)}.date-chip.selected{background:var(--orange-gradient);border-color:transparent}.date-chip.selected .dw,.date-chip.selected .dd,.date-chip.selected .dm{color:#fff}.time-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.time-btn{padding:10px 6px;border-radius:10px;border:1.5px solid var(--border-light);background:#fff;font-family:JetBrains Mono,monospace;font-size:13px;font-weight:700;cursor:pointer;text-align:center}.time-btn.selected{background:var(--orange-gradient);color:#fff;border-color:transparent;box-shadow:var(--shadow-orange)}.time-btn:disabled{background:#f1f5f9;color:#cbd5e1;text-decoration:line-through;cursor:not-allowed}.tattoo-note{display:flex;gap:12px;align-items:flex-start;background:#0f172a;color:#fff;border-radius:16px;padding:14px 16px;margin-bottom:16px;border-left:5px solid var(--orange-500)}.tattoo-note b{color:var(--orange-400)}.summary-card{position:sticky;top:16px;background:#fff;border:2px solid var(--orange-400);border-radius:20px;padding:20px;box-shadow:var(--shadow-md)}.sum-row{display:flex;justify-content:space-between;gap:10px;font-size:13.5px}.sum-row span:first-child{color:var(--ink-500)}.sum-row strong{text-align:right}.mobile-book-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;background:#fffffff7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1.5px solid var(--border-warm);box-shadow:0 -8px 24px #0f172a1a;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));align-items:center;justify-content:space-between;gap:12px}.cal-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media(max-width:920px){.booking-wizard-grid{grid-template-columns:1fr}.summary-card{position:static}}@media(max-width:640px){.customer-hero{padding:20px 14px}.hero-logo{width:62px;height:62px}.hero-inner h1{font-size:20px}.hero-inner p{font-size:12.5px}.step-card{padding:15px 13px;border-radius:15px}.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.svc-card img{height:100px}.time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-book-bar{display:flex}body.page-customer .toast-container{bottom:90px!important}}@media(max-width:640px){.table-wrap .td-val>div[style*="display: flex"]{justify-content:flex-end}}.bottom-nav-inner{grid-template-columns:repeat(5,minmax(0,1fr))}button.mob-nav-item{border:none;background:none;font-family:inherit;cursor:pointer}.mob-nav-item.more-open .mob-nav-icon-box{background:var(--orange-100);color:var(--orange-600)}.more-sheet-backdrop,.more-sheet{display:none}@media(max-width:900px){.more-sheet-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:93;background:#0f172a73;opacity:0;pointer-events:none;transition:opacity .22s ease}.more-sheet{display:block;position:fixed;left:0;right:0;bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0px));z-index:94;background:#fff;border-radius:22px 22px 0 0;border-top:1.5px solid var(--border-warm);box-shadow:0 -12px 32px #0f172a2e;padding:10px 14px 14px;transform:translateY(calc(100% + var(--bottom-nav-h) + 20px));transition:transform .26s ease}body.more-open .more-sheet-backdrop{opacity:1;pointer-events:auto}body.more-open .more-sheet{transform:translateY(0)}}.more-sheet-handle{width:44px;height:5px;border-radius:99px;background:var(--border-warm);margin:0 auto 10px}.more-sheet-title{font-size:12px;font-weight:800;color:var(--ink-500);margin:0 2px 8px}.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.more-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;border-radius:14px;border:1.5px solid var(--border-light);background:var(--bg-surface);color:var(--ink-700);font-size:12px;font-weight:700;text-align:center;text-decoration:none}.more-item svg{width:22px;height:22px}.more-item.active{border-color:var(--orange-400);background:var(--orange-50);color:var(--orange-600)}.more-item .mob-nav-badge{top:6px;right:calc(50% - 22px)}.more-links{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(135deg,#fff7ed,#ffedd5 55%,#fed7aa)}.login-card{width:100%;max-width:400px;background:#fff;border:1.5px solid var(--border-warm);border-radius:22px;padding:28px 24px 22px;box-shadow:var(--shadow-md)}.login-logo{width:84px;height:84px;border-radius:50%;border:3px solid var(--orange-500);object-fit:contain;background:#fff;padding:3px;box-shadow:0 10px 24px #ea580c38}.login-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:none;background:var(--orange-50);color:var(--orange-600);font-family:inherit;font-weight:700;font-size:12px;border-radius:8px;padding:5px 9px;cursor:pointer}.login-error{background:var(--red-50);border:1.5px solid var(--red-border);color:var(--red-600);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700;margin-top:10px}.login-demo{margin-top:18px;border-top:1.5px dashed var(--border-warm);padding-top:12px;font-size:12px;color:var(--ink-700)}.login-demo button{display:block;width:100%;text-align:left;border:1px solid var(--border-light);background:var(--bg-subtle);border-radius:8px;padding:6px 9px;margin-top:5px;font-family:inherit;font-size:12px;cursor:pointer;color:var(--ink-700)}.user-chip{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--border-light);background:#fff;border-radius:12px;padding:5px 6px 5px 10px;font-size:12px}.user-chip b{font-size:12.5px;color:var(--ink-900)}.user-chip small{color:var(--orange-600);font-weight:700}@media(max-width:900px){.user-chip-desktop{display:none}}.sidebar-user{border:1.5px solid var(--border-light);border-radius:12px;padding:8px 10px;font-size:12px;color:var(--ink-500);margin-bottom:8px}.sidebar-user b{display:block;font-size:13px;color:var(--ink-900)}.clock-page{min-height:100vh;display:flex;justify-content:center;align-items:flex-start;padding:16px 12px 32px;background:linear-gradient(180deg,#fff7ed,#faf8f5 45%)}.clock-card{width:100%;max-width:440px;background:#fff;border:1.5px solid var(--border-warm);border-radius:22px;padding:16px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:14px}.clock-time{text-align:center;font-size:46px;font-weight:800;color:var(--ink-900);letter-spacing:1px;line-height:1.1}.clock-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.clock-buttons .btn{flex-direction:column;gap:4px;padding:18px 8px;font-size:22px;border-radius:16px}.clock-buttons .btn span{font-size:17px;font-weight:800}.clock-ok{background:var(--green-50);border:1.5px solid var(--green-border);color:var(--green-600);border-radius:10px;padding:8px 12px;font-size:13px;font-weight:700}.install-banner{display:flex;align-items:center;gap:10px;background:var(--orange-50);border:1.5px solid var(--border-warm);border-radius:14px;padding:10px 12px;font-size:12px;color:var(--ink-500);text-align:left}.install-banner img{width:40px;height:40px;border-radius:10px;flex-shrink:0}.install-banner b{display:block;font-size:13px;color:var(--ink-900)}.install-steps{margin:4px 0 0 20px;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-700)}.install-ico{display:inline-block;background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:6px;padding:0 5px}@media(display-mode:standalone){.topbar{padding-top:env(safe-area-inset-top,0px)}.clock-page{padding-top:calc(16px + env(safe-area-inset-top,0px))}}.work-strip{background:#fff;border:1.5px solid var(--border-light);border-radius:18px;padding:14px 14px 10px;margin-bottom:16px;box-shadow:var(--shadow-sm)}.work-strip-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.work-strip-head b{font-size:15px;color:var(--ink-900)}.work-strip-head span{font-size:12px;color:var(--ink-500)}.work-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory;scrollbar-width:thin}.work-item{flex:0 0 auto;width:170px;border:1.5px solid var(--border-light);border-radius:14px;overflow:hidden;background:#fff;padding:0;cursor:pointer;text-align:left;font-family:inherit;scroll-snap-align:start;transition:border-color .15s ease,transform .15s ease}.work-item:hover{border-color:var(--orange-400);transform:translateY(-2px)}.work-item img{width:100%;height:128px;object-fit:cover;display:block}.work-item span{display:block;padding:7px 9px;font-size:12px;font-weight:700;color:var(--ink-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:640px){.work-item{width:140px}.work-item img{height:105px}}
