:root{--primary: #1a6fe8;--primary-dark: #1256bd;--primary-light: #e8f1fd;--sidebar-bg: #0e1c2e;--sidebar-bg-2: #13253c;--sidebar-text: #94a8c0;--sidebar-active: #ffffff;--danger: #d5443c;--danger-light: #fdeceb;--success: #17854e;--success-light: #e6f6ee;--warning: #b46908;--warning-light: #fdf3e0;--violet: #6d4fd1;--violet-light: #efeafb;--text: #14212f;--text-muted: #64748b;--bg: #f4f6fa;--card-bg: #ffffff;--border: #e3e8f0;--border-strong: #cbd5e1;--radius: 12px;--shadow: 0 1px 2px rgba(15, 30, 50, .05);--shadow-md: 0 4px 16px rgba(15, 30, 50, .08)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:Inter,Sarabun,Noto Sans Thai,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-weight:400;font-size:15px;color:var(--text);background:var(--bg);min-height:100vh}#root{min-height:100vh}button{font-family:inherit}input,select{font-family:inherit;font-size:.92rem;padding:9px 12px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.muted{color:var(--text-muted);font-size:.88rem}.mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.nowrap{white-space:nowrap}.page-loading{padding:64px 16px;text-align:center;color:var(--text-muted)}.app-boot{padding-top:30vh}.btn-primary{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .15s,box-shadow .15s;box-shadow:var(--shadow)}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-small{padding:7px 14px;font-size:.84rem}.btn-ghost{background:#fff;color:var(--text);border:1px solid var(--border-strong);border-radius:8px;padding:8px 14px;font-size:.88rem;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.btn-icon{width:15px;height:15px;vertical-align:-2.5px;margin-right:5px}.pl-page{position:relative;min-height:100vh;min-height:100dvh;overflow:hidden;display:flex;justify-content:center;padding:36px 16px 20px;background:#dff0f2}.pl-main{position:relative;z-index:2;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center}.pl-soap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.pl-soap i{position:absolute;bottom:-100px;border-radius:50%;border:2px solid #a9d3da;background:#ffffff59;animation:pl-soap-rise 20s linear infinite}.pl-soap i:after{content:"";position:absolute;left:22%;top:18%;width:22%;height:22%;border-radius:50%;background:#fffffff2}.pl-shop{width:100%;border-radius:0 0 20px 20px;background:#fff;box-shadow:0 1px 2px #0000000f,0 18px 48px #1f3a5f2e}.pl-awning{position:relative;z-index:2;display:block;width:100%;height:auto;margin-bottom:-24px;filter:drop-shadow(0 4px 0 rgba(31,58,95,.12))}.pl-window{position:relative;height:180px;overflow:hidden;background:#f1fafa}.pl-counter{position:relative;z-index:2;height:16px;background:#1f3a5f;border-top:4px solid #36557d}.pl-open{position:absolute;z-index:1;left:24px;top:14px;width:84px;transform-origin:50% 6px;animation:pl-swing 3.4s ease-in-out infinite}.pl-open-string{display:block;width:84px;height:32px}.pl-open-string path{fill:none;stroke:#22303c;stroke-width:2.5;stroke-linejoin:round}.pl-open-string circle{fill:#22303c}.pl-open-board{display:flex;flex-direction:column;align-items:center;margin-top:-2px;padding:5px 0 6px;border:3px solid #22303c;border-radius:8px;background:#fff;color:#0e8a7e;font-size:17px;font-weight:800;letter-spacing:.08em;line-height:1.1}.pl-open-board small{font-size:11px;font-weight:600;letter-spacing:0;color:#4c5a68}.pl-speech{position:absolute;z-index:3;right:16px;top:30px;max-width:calc(50% - 52px);padding:7px 12px;border:1px solid #cfe3e6;border-radius:12px 12px 12px 4px;background:#fff;box-shadow:0 1px 2px #0000000f,0 4px 12px #1f3a5f1a;color:#22303c;font-size:13px;font-weight:600;line-height:1.45;animation:pl-pop .28s ease-out both}.pl-nw{white-space:nowrap}.pl-dots i{font-style:normal;animation:ml-dot 1.2s infinite}.pl-dots i:nth-child(2){animation-delay:.2s}.pl-dots i:nth-child(3){animation-delay:.4s}.pl-mascot{position:absolute;z-index:1;left:50%;bottom:-26px;width:150px;margin-left:-75px;transform-origin:50% 100%;transition:transform .45s cubic-bezier(.3,1.4,.5,1)}.pl-mascot-act,.pl-mascot-float{display:block;transform-origin:50% 100%}.pl-mascot-float{animation:pl-float 4.2s ease-in-out infinite}.pl-mascot-svg{display:block;width:100%;height:auto;overflow:visible;transform-origin:50% 100%;animation:pl-breathe 3.1s ease-in-out infinite}.pl-mood--look .pl-mascot{transform:translateY(-4px) scale(1.05)}.pl-mood--look .pl-mascot-float{animation-duration:2.2s}.pl-mood--shy .pl-mascot{transform:translateY(84px);transition-timing-function:ease-in-out}.pl-mood--busy .pl-mascot-float{animation:ml-walk .9s ease-in-out infinite}.pl-mood--oops .pl-mascot-act{animation:pl-shake .55s ease-in-out 2}.pl-act--look-l .pl-mascot-act{animation:pl-look-l 1.4s ease-in-out}.pl-act--look-r .pl-mascot-act{animation:pl-look-r 1.4s ease-in-out}.pl-act--hop .pl-mascot-act{animation:pl-hop 1.1s ease-out}.pl-act--wave .pl-mascot-act{animation:pl-wave 1.3s ease-in-out}.ms-lid{transform-box:fill-box;transform-origin:50% 0;transform:scaleY(0);animation:ms-blink 4.6s ease-in-out infinite}.ms-lid ellipse{fill:#c1d9e1}.ms-lid path{fill:none;stroke:#22303c;stroke-width:6;stroke-linecap:round}.pl-body{padding:22px 28px 28px}.pl-sign{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;color:#4c5a68}.pl-sign img{width:26px;height:26px;border-radius:7px;object-fit:cover}.pl-sign b{color:#22303c}.pl-title{margin-top:10px;text-align:center;font-size:22px;font-weight:700;color:#14212f}.pl-sub{margin:4px 0 20px;text-align:center;font-size:14px;color:var(--text-muted)}.pl-form{display:flex;flex-direction:column;gap:14px}.pl-form .form-error{margin-bottom:0}.pl-field{display:flex;flex-direction:column;gap:6px}.pl-field label{font-size:13px;font-weight:600;color:#4c5a68}.pl-field input{width:100%;height:48px;padding:0 14px;border:1px solid #c7d6da;border-radius:10px;font-size:16px}.pl-field input:focus{border-color:#17b8a6;box-shadow:0 0 0 3px #17b8a633}.pl-pw{position:relative}.pl-pw input{padding-right:52px}.pl-pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;border:none;border-radius:8px;background:none;color:var(--text-muted);cursor:pointer}.pl-pw-eye:hover{background:#eef6f7;color:#14212f}.pl-pw-eye svg{width:20px;height:20px}.pl-submit{height:50px;margin-top:4px;border:none;border-radius:10px;background:#0e8a7e;color:#fff;font-size:16px;font-weight:700;cursor:pointer;transition:background .12s ease}.pl-submit:hover{background:#0b7268}.pl-submit:disabled{opacity:.6;cursor:not-allowed}.pl-body .demo-hint{margin-top:16px}.pl-features{list-style:none;width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}.pl-features li{display:flex;flex-direction:column;align-items:center;text-align:center;font-size:12.5px;font-weight:600;line-height:1.45;color:#31545a}.pl-feat-ico{width:42px;height:42px;margin-bottom:6px;display:grid;place-items:center;border-radius:12px;background:#fff;color:#0e8a7e;box-shadow:0 1px 2px #0000000f}.pl-feat-ico svg{width:22px;height:22px}.pl-foot{margin-top:auto;padding-top:20px;font-size:12px;color:#5d7f85}.pl-pol{--r: 0deg;position:absolute;z-index:1;width:230px;padding:10px 10px 0;border-radius:6px;background:#fff;box-shadow:0 2px 4px #0000000f,0 12px 30px #1f3a5f2e;transform:rotate(var(--r));transform-origin:50% 0;animation:pl-sway 7s ease-in-out infinite}.pl-pol img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:3px}.pl-pol figcaption{padding:10px 4px 12px;text-align:center;font-size:15px;font-weight:700;color:#22303c}.pl-pol-tape{position:absolute;left:50%;top:-12px;width:84px;height:24px;margin-left:-42px;border:1px solid rgba(0,0,0,.05);background:#fff9;transform:rotate(-4deg)}.pl-pol--l1{--r: -7deg;left:calc(50% - 560px);top:8%}.pl-pol--l2{--r: 5deg;left:calc(50% - 510px);top:52%;width:200px;animation-delay:-2.5s}.pl-pol--l2 img{aspect-ratio:1 / 1}.pl-pol--r1{--r: 6deg;right:calc(50% - 560px);top:10%;animation-delay:-4s}.pl-pol--r2{--r: -5deg;right:calc(50% - 520px);top:54%;animation-delay:-1.2s}@keyframes pl-soap-rise{0%{transform:translate(0);opacity:0}8%{opacity:1}50%{transform:translate(16px,-55vh)}92%{opacity:1}to{transform:translate(-8px,calc(-100vh - 140px));opacity:0}}@keyframes pl-swing{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes pl-sway{0%,to{transform:rotate(calc(var(--r) - 1.5deg))}50%{transform:rotate(calc(var(--r) + 1.5deg))}}@keyframes pl-pop{0%{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:none}}@keyframes pl-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pl-breathe{0%,to{transform:scale(1)}50%{transform:scale(.985,1.025)}}@keyframes pl-look-l{0%,to{transform:none}22%,70%{transform:translate(-4px) rotate(-9deg)}}@keyframes pl-look-r{0%,to{transform:none}22%,70%{transform:translate(4px) rotate(9deg)}}@keyframes pl-hop{0%,to{transform:none}18%{transform:scale(1.06,.9)}42%{transform:translateY(-22px) scale(.96,1.06)}64%{transform:translateY(0) scale(1.08,.88)}80%{transform:scale(.98,1.03)}}@keyframes pl-wave{0%,to{transform:none}15%{transform:rotate(-8deg)}32%{transform:rotate(7deg)}50%{transform:rotate(-6deg)}68%{transform:rotate(5deg)}84%{transform:rotate(-2deg)}}@keyframes pl-shake{0%,to{transform:translate(0) rotate(0)}20%{transform:translate(-8px) rotate(-6deg)}40%{transform:translate(7px) rotate(5deg)}60%{transform:translate(-5px) rotate(-3deg)}80%{transform:translate(4px) rotate(2deg)}}@keyframes ms-blink{0%,92%,97.5%,to{transform:scaleY(0)}94%,95%{transform:scaleY(1)}}@media (prefers-reduced-motion: reduce){.pl-act--hop .pl-mascot-act{animation:none}}.field{display:flex;flex-direction:column;gap:6px;font-size:.88rem;font-weight:600}.field input{padding:11px 12px;font-weight:400}.form-error{background:var(--danger-light);color:var(--danger);border:1px solid #f5c9c6;border-radius:8px;padding:10px 14px;font-size:.88rem;margin-bottom:16px}.login-form .form-error{margin-bottom:0}.demo-hint{margin-top:24px;padding:12px 14px;background:var(--warning-light);border:1px solid #f0dcb4;border-radius:8px;font-size:.84rem;text-align:center;color:var(--warning);line-height:1.7}.demo-hint code{background:#fff;border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-weight:600}.app-shell{min-height:100vh;display:flex}.sidebar{width:232px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.logo-mark{width:40px;height:40px;flex-shrink:0;display:block;object-fit:contain;background:#fff;border-radius:10px;border:2px solid rgba(255,255,255,.85)}.sidebar-brand-title{color:#fff;font-weight:700;font-size:.98rem;line-height:1.2}.sidebar-brand-sub{font-size:.72rem;color:var(--sidebar-text);letter-spacing:.06em;text-transform:uppercase}.sidebar-nav{flex:1;padding:14px 10px;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:11px;padding:10px 12px;border-radius:8px;color:var(--sidebar-text);text-decoration:none;font-size:.92rem;font-weight:500;transition:background .15s,color .15s}.sidebar-link svg{width:19px;height:19px;flex-shrink:0}.sidebar-link:hover{background:var(--sidebar-bg-2);color:#d7e2ef}.sidebar-link.active{background:var(--primary);color:var(--sidebar-active)}.sidebar-foot{padding:14px 18px;border-top:1px solid rgba(255,255,255,.08);font-size:.78rem;display:flex;align-items:center;justify-content:space-between;gap:8px}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.app-topbar{background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.app-topbar-inner{padding:12px 28px;display:flex;align-items:center;justify-content:flex-end;gap:16px;flex-wrap:wrap}.shop-switcher{display:flex;align-items:center;gap:8px;font-size:.88rem}.shop-switcher-label{color:var(--text-muted);font-weight:500}.topbar-divider{width:1px;height:26px;background:var(--border)}.shop-identity{display:flex;align-items:center;gap:10px}.shop-avatar{width:34px;height:34px;border-radius:999px;background:var(--primary-light);color:var(--primary-dark);font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.shop-identity-name{font-size:.9rem;font-weight:600;line-height:1.2}.shop-identity-role{font-size:.75rem;color:var(--text-muted)}.demo-chip{background:var(--warning-light);color:var(--warning);border:1px solid #f0dcb4;font-size:.7rem;font-weight:700;border-radius:999px;padding:3px 10px;letter-spacing:.08em}.page{flex:1;width:100%;max-width:1400px;padding:16px 18px 28px}.page-head{margin-bottom:24px}.page-head h2{font-size:1.45rem;font-weight:700;letter-spacing:-.01em}.page-head .muted{margin-top:2px}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 22px;margin-bottom:14px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.card-head h3{font-size:1.02rem;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.stat-grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.stat-card{background:#fff;border:none;border-radius:8px;box-shadow:0 1px 2px #0000001a;padding:16px;display:flex;align-items:flex-start;gap:12px}.stat-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon svg{width:20px;height:20px}.stat-icon-blue{background:#ebf5ff;color:#0866ff}.stat-icon-amber{background:#fff3e0;color:#e07800}.stat-icon-violet{background:#f1ecff;color:#6b3fd4}.stat-icon-green{background:#e6f4ea;color:#1f8a3e}.stat-value{font-size:1.5rem;font-weight:700;line-height:1.25;color:#050505;font-variant-numeric:tabular-nums;margin-top:2px}.stat-label{font-size:.875rem;font-weight:600;color:#65676b}.stat-note{font-size:.78rem;color:#65676b;margin-top:2px}.filter-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:20px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px 20px}.filter-bar .btn-primary{margin-left:auto}.field-inline{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:600;color:var(--text-muted)}.quick-buttons{display:flex;gap:8px}.table-wrap{overflow-x:auto}.card.table-wrap{padding:0}.card.table-wrap .table th:first-child,.card.table-wrap .table td:first-child{padding-left:22px}.card.table-wrap .table th:last-child,.card.table-wrap .table td:last-child{padding-right:22px}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-weight:600;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:#f8fafc;padding:11px 14px;border-bottom:1px solid var(--border);white-space:nowrap}.table td{padding:13px 14px;border-bottom:1px solid var(--border);vertical-align:top}.table tbody tr:last-child td{border-bottom:none}.table tbody tr{transition:background .1s}.table tbody tr:hover{background:#f8fafc}.table tfoot td{font-weight:700;border-bottom:none;border-top:2px solid var(--border-strong);background:#f8fafc}.cell-main{font-weight:600}.cell-sub{font-size:.79rem;color:var(--text-muted);margin-top:1px}.empty{padding:40px 16px;text-align:center;color:var(--text-muted)}.status-badge{display:inline-flex;align-items:center;gap:7px;border-radius:8px;font-size:.78rem;font-weight:600;white-space:nowrap;background:none;padding:3px 11px 3px 0;color:var(--badge-text, #33415e)}.status-badge:before{content:"";width:4px;height:14px;border-radius:3px;background:var(--badge-accent, #94a3b8);flex-shrink:0}.status-pending{--badge-bg: #eef1f6;--badge-text: #475569;--badge-accent: #94a3b8}.status-confirmed{--badge-bg: #e0f3f7;--badge-text: #0e7490;--badge-accent: #0e97b8}.status-pickup{--badge-bg: var(--primary-light);--badge-text: var(--primary-dark);--badge-accent: var(--primary)}.status-washing{--badge-bg: var(--warning-light);--badge-text: var(--warning);--badge-accent: #e08908}.status-delivery{--badge-text: var(--success);--badge-accent: var(--success)}.status-completed{--badge-bg: var(--success-light);--badge-text: var(--success);--badge-accent: var(--success)}.status-cancelled{--badge-bg: var(--danger-light);--badge-text: var(--danger);--badge-accent: var(--danger)}.received-stamp{color:var(--success);font-size:.84rem;font-weight:600;white-space:nowrap}.delivered-stamp{color:var(--primary);font-size:.84rem;font-weight:600;white-space:nowrap}.stamp-stack{display:flex;flex-direction:column;gap:2px}@media (max-width: 900px){.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.sidebar-brand{padding:14px 16px}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:8px 10px;gap:4px}.sidebar-link{white-space:nowrap;padding:8px 12px}.sidebar-foot{display:none}.app-topbar-inner{padding:10px 16px}.page{padding:18px 16px 44px}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar .btn-primary{margin-left:0}.quick-buttons{flex-wrap:wrap}}.dt-wrap{overflow:auto;max-height:calc(100vh - 200px)}table.data-table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px}.data-table th{position:sticky;top:0;z-index:6;text-align:left;height:42px;box-sizing:border-box;padding:11px 14px;background:#f8fafc;color:var(--text-muted);font-weight:500;font-size:13px;border-bottom:1px solid #e2e8f0;border-right:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.data-table th:last-child{border-right:none}.data-table th.sortable{cursor:pointer}.data-table th.sortable:hover{color:var(--primary)}.th-head{display:flex;align-items:center;gap:4px}.th-head span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis}.th-caret{width:14px;height:14px;color:#94a3b8;flex-shrink:0;transition:transform .12s,color .12s}.th-caret.asc{transform:rotate(180deg)}.th-caret.active{color:var(--primary)}.data-table td{padding:11px 14px;color:#374151;border-bottom:1px solid var(--border);border-right:1px solid var(--border);vertical-align:middle;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table td:last-child{border-right:none}.data-table tbody tr:nth-child(2n) td{background:#fafafa}.data-table tbody tr:hover td{background:#f0f5fd}.th-filter-row th{top:42px;z-index:5;height:auto;padding:4px 6px;background:#fff;border-bottom:2px solid var(--border);cursor:default}.th-filter,.th-combo{position:relative;min-width:90px}.th-filter-icon{position:absolute;left:7px;top:50%;transform:translateY(-50%);width:12px;height:12px;color:#94a3b8;pointer-events:none}.th-filter-input{width:100%;padding:6px 8px 6px 26px;border:none;border-bottom:1.5px solid #e2e8f0;border-radius:0;font-size:13px;font-family:inherit;font-weight:400;color:var(--text);outline:none;box-sizing:border-box;background:transparent}.th-filter-input:focus{border-bottom-color:var(--primary)}.th-combo-clear{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:none;color:#94a3b8;font-size:10px;cursor:pointer;padding:2px 4px}.th-combo-pop{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;max-height:220px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0f172a24;z-index:20;padding:4px}.th-combo-opt{display:block;width:100%;text-align:left;border:none;background:none;padding:6px 10px;border-radius:6px;font-size:12.5px;font-family:inherit;color:var(--text);cursor:pointer}.th-combo-opt:hover{background:var(--primary-light)}.th-combo-opt.active{color:var(--primary);font-weight:600}.th-combo-empty{padding:8px 10px;font-size:12px;color:var(--text-muted)}.empty-state{text-align:center;color:var(--text-muted);padding:40px 0}.table-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 14px;border-top:1px solid var(--border);background:#fff;color:var(--text-muted);font-size:12.5px;flex-wrap:wrap;font-variant-numeric:tabular-nums}.table-footer-left{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.page-size{display:flex;align-items:center;gap:6px;font-size:12px}.page-size select{border:1px solid var(--border);background:#fff;border-radius:6px;padding:3px 6px;font-size:12px;font-family:inherit;color:var(--text);cursor:pointer;outline:none}.pager{display:flex;gap:4px;align-items:center}.pager button{border:none;background:none;border-radius:7px;min-width:28px;height:28px;padding:0 8px;cursor:pointer;color:#9ca3af;font-size:12.5px;font-family:inherit;transition:background .12s,color .12s}.pager button:hover:not(:disabled):not(.current){background:#f3f6fa;color:var(--primary)}.pager button:disabled{opacity:.4;cursor:not-allowed}.pager button.current{width:28px;border-radius:50%;background:var(--primary);color:#fff;font-weight:600}.page-jump{display:flex;align-items:center;gap:6px;margin-left:8px;font-size:12px}.page-jump input{width:52px;border:1px solid var(--border);border-radius:7px;padding:4px 6px;font-size:12.5px;font-family:inherit;color:var(--text);text-align:center;outline:none;background:#fff}.card.table-card{padding:0;overflow:hidden}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border)}.table-toolbar-title{margin:0;font-size:16px;font-weight:700;color:var(--text)}.table-toolbar-sub{margin:2px 0 0;font-size:12.5px;color:var(--text-muted)}.table-toolbar-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.date-picker{position:relative;display:flex;flex-direction:column;gap:5px}.date-field-label{font-size:.8rem;font-weight:600;color:var(--text-muted)}.date-field-btn{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-family:inherit;font-size:.92rem;text-align:left;padding:9px 12px;border:1px solid var(--border-strong);border-radius:8px;background:#fff;color:var(--text);transition:border-color .15s,box-shadow .15s}.date-field-btn:hover{border-color:var(--primary)}.date-field-btn.open,.date-field-btn:focus-visible{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.date-field-icon{width:17px;height:17px;flex-shrink:0;color:var(--primary)}.date-field-value{white-space:nowrap}.date-field-caret{width:15px;height:15px;flex-shrink:0;color:var(--text-muted);transition:transform .15s}.date-field-caret.flip{transform:rotate(180deg)}.date-pop{position:fixed;display:flex;background:#fff;border:1px solid #cfe1f4;border-radius:12px;box-shadow:0 12px 36px #143c7833;overflow:hidden;z-index:1000}.date-pop-presets{width:218px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid #e3edf8}.date-pop-head{padding:14px 16px;font-size:14px;font-weight:600;color:var(--text, #1f2c3d);border-bottom:1px solid #e3edf8}.date-preset{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:11px 16px;border:none;border-bottom:1px solid #eef4fb;background:none;cursor:pointer;text-align:left;font-family:inherit}.date-preset:hover{background:#eef5fd}.date-preset.active{background:var(--primary-light)}.date-preset-name{font-size:13.5px;color:var(--text, #1f2c3d);white-space:nowrap}.date-preset.active .date-preset-name{color:var(--primary-dark);font-weight:600}.date-preset-sub{font-size:11px;color:var(--text-muted, #6b7c92);text-align:right}.date-pop-cal{position:relative;padding:12px 16px 14px}.cal-nav{position:absolute;top:12px;right:16px;display:flex;gap:6px}.cal-nav-btn{width:26px;height:26px;border-radius:999px;border:1px solid #cfe1f4;background:#f2f8fe;color:var(--ink-2);font-size:15px;line-height:1;cursor:pointer;display:grid;place-items:center;padding-bottom:2px}.cal-nav-btn:hover{background:var(--primary-light);color:var(--primary-dark);border-color:var(--primary)}.cal-months{display:flex;gap:22px}.cal-month{width:226px}.cal-caption{font-size:13.5px;font-weight:600;padding:4px 0 10px 4px;color:var(--text, #1f2c3d)}.cal-grid{display:grid;grid-template-columns:repeat(7,30px);gap:2px;justify-content:start}.cal-weekday{font-size:10.5px;color:var(--text-muted, #6b7c92);text-align:center;padding-bottom:4px}.cal-day{width:30px;height:28px;border:none;background:none;border-radius:999px;font-family:inherit;font-size:12px;color:var(--text, #1f2c3d);cursor:pointer;display:grid;place-items:center}.cal-day:hover{background:#dcebfa}.cal-day.today{box-shadow:inset 0 0 0 1.5px #9cc4ee}.cal-day.in-band{background:var(--primary-light);border-radius:0;color:var(--primary-dark)}.cal-day.selected{background:var(--primary);color:#fff;font-weight:600;box-shadow:none}.cal-day.range-start{border-radius:999px 0 0 999px}.cal-day.range-end{border-radius:0 999px 999px 0}.cal-hint{margin-top:8px;font-size:11.5px;color:var(--primary-dark)}.btn-manage{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.82rem;font-weight:600;color:var(--primary-dark);background:var(--primary-light);border:1px solid transparent;border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s}.btn-manage svg{width:14px;height:14px}.btn-manage:hover:not(:disabled){background:#d8e8fb;border-color:var(--primary)}.pm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f1e3273;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:100}.pm-panel{width:640px;max-width:100%;background:#fff;border-radius:14px;box-shadow:0 18px 48px #0a234647;overflow:hidden}.pm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border);background:#f7fafd}.pm-title{margin:0;font-size:1.02rem;font-weight:700;color:var(--text)}.pm-sub{margin:3px 0 0;font-size:.82rem;color:var(--text-muted)}.pm-head-right{display:flex;align-items:center;gap:10px}.pm-close{width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--text-muted);font-size:.95rem;cursor:pointer}.pm-close:hover{background:var(--primary-light);color:var(--primary-dark)}.pm-body{padding:6px 20px 20px;max-height:calc(100vh - 160px);overflow-y:auto}.pm-section{padding:16px 0;border-bottom:1px solid var(--border)}.pm-section:last-child{border-bottom:none;padding-bottom:4px}.pm-section h4{margin:0 0 10px;font-size:.9rem;font-weight:700;color:var(--text)}.pm-photos{display:flex;gap:10px;flex-wrap:wrap}.pm-photo{width:110px;height:140px;padding:0;border:1px solid var(--border);border-radius:10px;overflow:hidden;cursor:zoom-in;background:#f2f6fa}.pm-photo img{width:100%;height:100%;object-fit:cover;display:block}.pm-meta{margin:10px 0 0;font-size:.8rem;color:var(--text-muted)}.pm-comment{margin:6px 0 0;font-size:.82rem;color:var(--text);background:#fff8e8;border:1px solid #f2e2b3;border-radius:8px;padding:8px 10px}.pm-empty{margin:0;font-size:.82rem;color:var(--text-muted)}.pm-done{margin:0;font-size:.86rem;font-weight:600;color:#1d8a4a}.pm-done.small{margin-top:8px;font-size:.78rem}.pm-hint{margin:0 0 12px;font-size:.8rem;color:var(--text-muted)}.pm-lines{display:flex;flex-direction:column;gap:6px}.pm-line{display:flex;align-items:center;gap:10px;padding:7px 10px;border:1px solid var(--border);border-radius:9px;background:#fbfdff}.pm-line-name{flex:1;font-size:.85rem;color:var(--text)}.qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--border-strong);border-radius:8px;overflow:hidden;background:#fff}.qty-stepper button{width:28px;height:28px;border:none;background:#f1f6fb;color:var(--primary-dark);font-size:1rem;font-weight:700;cursor:pointer}.qty-stepper button:hover:not(:disabled){background:var(--primary-light)}.qty-stepper button:disabled{color:#b6c4d4;cursor:default}.qty-stepper span{min-width:34px;text-align:center;font-size:.88rem;font-weight:600;color:var(--text)}.pm-special{margin-top:12px}.pm-special-head{margin:0 0 6px;font-size:.8rem;font-weight:600;color:var(--text-muted)}.pm-special-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pm-pieces{margin-top:12px}.pm-pieces input{width:90px;padding:6px 10px;text-align:center}.pm-savebar{display:flex;justify-content:flex-end;margin-top:14px}.btn-complete{width:100%}.pm-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#081220d1;display:flex;align-items:center;justify-content:center;z-index:120;cursor:zoom-out}.pm-lightbox img{max-width:min(92vw,720px);max-height:88vh;border-radius:12px;box-shadow:0 20px 60px #00000080}@media (max-width: 640px){.pm-overlay{padding:12px 8px}.pm-special-grid{grid-template-columns:1fr}}.mq{--mq-incoming: var(--primary);--mq-washing: #e08908;--mq-returned: var(--success);--mq-done: var(--success);max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.mq-date{display:flex;align-items:center;gap:8px;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;padding:6px}.mq-date-arrow{width:44px;height:44px;border:none;border-radius:10px;background:var(--bg);color:var(--text);font-size:1.6rem;line-height:1;cursor:pointer;flex-shrink:0}.mq-date-arrow:active{background:var(--primary-light)}.mq-date-center{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px}.mq-date-text{font-size:1.05rem;font-weight:700}.mq-today{border:none;background:none;color:var(--primary);font-size:.82rem;font-weight:600;padding:2px 6px;cursor:pointer}.mq-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.mq-tab{--tab-color: var(--mq-incoming);display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;border:1.5px solid var(--border);border-radius:12px;background:var(--card-bg);color:var(--text);cursor:pointer;min-width:0}.mq-tab-washing{--tab-color: var(--mq-washing)}.mq-tab-returned{--tab-color: var(--mq-returned)}.mq-tab-done{--tab-color: var(--mq-done)}.mq-tab-num{font-size:1.5rem;font-weight:800;line-height:1.1;color:var(--tab-color)}.mq-tab-label{font-size:.78rem;font-weight:600;color:var(--text-muted);white-space:nowrap}.mq-tab.active{background:var(--tab-color);border-color:var(--tab-color)}.mq-tab.active .mq-tab-num,.mq-tab.active .mq-tab-label{color:#fff}.mq-list{display:flex;flex-direction:column;gap:12px}.mq-card{--card-accent: var(--mq-incoming);position:relative;background:#fff;border:none;border-radius:8px;box-shadow:0 1px 2px #0000001a;overflow:hidden}.mq-card:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-accent)}.mq-card-washing{--card-accent: var(--mq-washing)}.mq-card-returned{--card-accent: var(--mq-returned)}.mq-card-done{--card-accent: var(--mq-done)}.mq-card-body{display:flex;flex-direction:column;gap:5px;width:100%;padding:14px 14px 10px;border:none;background:none;text-align:left;color:inherit;font:inherit;cursor:pointer}.mq-card-body:active{background:#f2f2f2}.mq-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.mq-id{font-size:.78rem;font-weight:600;color:#65676b;font-variant-numeric:tabular-nums}.mq-name{font-size:1.12rem;font-weight:700;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mq-line{font-size:.92rem;line-height:1.4;color:#050505}.mq-row{display:flex;align-items:flex-start;gap:8px}.mq-ico{flex-shrink:0;width:1.1em;height:1.1em;margin-top:.15em;color:#65676b}.mq-pcs{font-weight:600}.mq-note-row{padding:6px 10px;border-radius:6px;background:#f0f2f5}.mq-muted{color:#65676b}.mq-stamp{font-size:.85rem;font-weight:600;color:#1f8a3e}.mq-stamp .mq-ico{color:#1f8a3e}.mq-card-actions{display:flex;gap:8px;padding:0 14px 14px}.mq-call{display:inline-flex;align-items:center;justify-content:center;height:48px;padding:0 16px;border:1.5px solid var(--border-strong);border-radius:12px;color:var(--primary-dark);font-weight:700;font-size:.95rem;text-decoration:none;flex-shrink:0}.mq-main{flex:1;height:48px;border:none;border-radius:12px;font-size:1rem;font-weight:700;color:#fff;cursor:pointer}.mq-main:disabled{opacity:.55;cursor:not-allowed}.mq-main-receive{background:var(--mq-incoming)}.mq-main-wash{background:var(--mq-washing)}.mq-main-ghost{background:var(--bg);color:var(--text);border:1.5px solid var(--border)}.mq-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;color:var(--text-muted);font-size:.95rem}.mq-empty-emoji{font-size:2.4rem}.staff-shell{min-height:100vh;background:var(--bg)}.staff-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:10px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top));background:var(--card-bg);border-bottom:1px solid var(--border)}.staff-profile-btn{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:none;background:none;padding:4px;margin:-4px;border-radius:12px;text-align:left;font:inherit;color:inherit;cursor:pointer}.staff-profile-btn:active{background:var(--bg)}.staff-avatar{width:38px;height:38px;border-radius:999px;background:var(--primary);color:#fff;font-weight:700;font-size:1rem;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.staff-avatar.owner{background:var(--sidebar-bg)}.staff-avatar.large{width:56px;height:56px;font-size:1.4rem}.staff-shop-text{min-width:0;display:flex;flex-direction:column}.staff-shop-name{font-size:.95rem;font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-shop-sub{font-size:.75rem;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-branch{max-width:140px;padding:8px 10px}.staff-logout{width:40px;height:40px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:10px;background:#fff;color:var(--text-muted);cursor:pointer}.staff-page{padding:12px 16px calc(24px + env(safe-area-inset-bottom))}:root:has(.staff-shell){font-size:clamp(15px,2.7vw,18px)}.staff-shell .mq{max-width:820px}.staff-shell .pm-overlay{padding:16px 12px;align-items:center}.staff-shell .pm-panel{width:100%;max-width:820px;max-height:calc(100dvh - 32px);overflow-y:auto;border-radius:18px}.staff-shell .pm-head{position:sticky;top:0;z-index:1;padding:14px 16px}.staff-shell .pm-body{max-height:none;overflow:visible;padding-bottom:0}.staff-shell .pm-body .btn-primary{width:100%;min-height:48px;font-size:1rem}.staff-shell .qty-stepper button{width:40px;height:40px}.staff-shell .pm-body{counter-reset:pm-step}.staff-shell .pm-body>.pm-section:last-child{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.staff-shell .pm-body>.pm-section>h4{display:flex;align-items:center;gap:10px}.staff-shell .pm-body>.pm-section>h4:before{counter-increment:pm-step;content:counter(pm-step);flex:none;width:1.6em;height:1.6em;border-radius:50%;background:#e8edf3;color:#475569;font-size:.8em;display:inline-flex;align-items:center;justify-content:center}.staff-link{display:flex;align-items:center;gap:22px;border-left:4px solid var(--primary)}.staff-link-qr{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;font-size:.75rem;color:var(--text-muted)}.staff-link-qr img,.staff-link-qr-empty{width:120px;height:120px;border:1px solid var(--border);border-radius:10px;background:#fff;padding:6px}.staff-link-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.staff-link-body h3{font-size:1.02rem;font-weight:700}.staff-link-body .muted{color:var(--text-muted);font-size:.88rem}.staff-link-url{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:6px 6px 6px 12px}.staff-link-url-text{flex:1;min-width:0;font-weight:600;color:var(--primary-dark);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.staff-link-actions{display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 640px){.staff-link{flex-direction:column;align-items:stretch}}.staff-login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(180deg,var(--primary-light) 0%,var(--bg) 60%)}.staff-login-card{width:100%;max-width:400px;background:var(--card-bg);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-md);padding:28px 22px 24px;display:flex;flex-direction:column;gap:14px}.staff-login-logo{width:72px;height:72px;object-fit:contain;border-radius:16px;align-self:center}.staff-login-card h1{text-align:center;font-size:1.35rem;font-weight:800}.staff-login-sub{text-align:center;color:var(--text-muted);font-size:.9rem;margin-top:-8px}.staff-login-card input{font-size:1rem;padding:12px 14px}.staff-login-btn{height:50px;border:none;border-radius:12px;background:var(--primary);color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;margin-top:4px}.staff-login-btn:disabled{opacity:.6}.team-row-off td{color:var(--text-muted)}.team-toggle{display:inline-flex;align-items:center;gap:8px;border:none;background:none;font:inherit;font-size:.85rem;font-weight:600;color:var(--text-muted);cursor:pointer;padding:0}.team-toggle:before{content:"";width:36px;height:20px;border-radius:999px;background:var(--border-strong);transition:background .15s;flex-shrink:0}.team-toggle-knob{width:16px;height:16px;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0003;margin-left:-42px;margin-right:18px;transition:transform .15s}.team-toggle.on{color:var(--success)}.team-toggle.on:before{background:var(--success)}.team-toggle.on .team-toggle-knob{transform:translate(16px)}.team-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.team-actions .btn-ghost{padding:6px 10px;font-size:.82rem}.team-danger{color:var(--danger)}.team-panel{width:460px}.team-form{display:flex;flex-direction:column;gap:14px;padding-top:16px}.team-pw{display:flex;gap:8px}.team-pw input{flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.team-branches{display:flex;flex-direction:column;gap:8px}.team-branch{display:flex;align-items:center;gap:8px;font-size:.9rem}.team-branch input{width:18px;height:18px}.team-form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-bottom:4px}.team-creds{display:flex;flex-direction:column;gap:10px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.team-creds div{display:flex;justify-content:space-between;gap:12px;font-size:.92rem}.team-creds span{color:var(--text-muted)}.team-creds b{word-break:break-all;text-align:right}.team-note{font-size:.85rem;color:var(--warning)}.staff-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#0f1e3273;display:flex;align-items:flex-end;justify-content:center}.staff-sheet{width:100%;max-width:560px;background:#fff;border-radius:20px 20px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:16px}.staff-sheet-grip{width:40px;height:4px;border-radius:999px;background:var(--border-strong);align-self:center}.staff-sheet-head{display:flex;align-items:center;gap:14px}.staff-sheet-name{font-size:1.15rem;font-weight:700;margin-bottom:4px}.staff-role-chip{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--primary-light);color:var(--primary-dark)}.staff-role-chip.owner{background:#e6eaf0;color:var(--sidebar-bg)}.staff-sheet-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:14px;overflow:hidden}.staff-sheet-list div{display:flex;justify-content:space-between;gap:16px;padding:12px 14px;font-size:.92rem}.staff-sheet-list div+div{border-top:1px solid var(--border)}.staff-sheet-list dt{color:var(--text-muted);flex-shrink:0}.staff-sheet-list dd{text-align:right;font-weight:600;word-break:break-word}.staff-sheet-logout,.staff-sheet-close{height:48px;border-radius:12px;font:inherit;font-size:1rem;font-weight:700;cursor:pointer}.staff-sheet-logout{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1.5px solid var(--danger-light);background:var(--danger-light);color:var(--danger)}.staff-sheet-close{border:1.5px solid var(--border);background:#fff;color:var(--text);margin-top:-6px}.pm-photo-new{position:relative;cursor:zoom-in}.pm-photo-remove{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:none;background:#0f172abf;color:#fff;font-size:13px;line-height:26px;cursor:pointer}.pm-photo-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:2px dashed var(--border);color:var(--muted, #64748b);font-weight:700;font-size:.85rem;cursor:pointer;background:#f8fafc}.pm-photo-add:hover{border-color:var(--primary, #0284c7);color:var(--primary, #0284c7)}.pm-photo-add.disabled{opacity:.5;pointer-events:none}.pm-photo-add input{display:none}.pm-photo-add-icon{font-size:26px}.btn-complete{margin-top:12px}.upload-banner{background:#fff7e6;color:#9a5b00;border-bottom:1px solid #f5d9a8;padding:8px 16px;font-size:.85rem;font-weight:600;text-align:center}.offline-banner{background:#eef2f7;color:#334155;border-bottom-color:#d5dde8;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.offline-restore{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.offline-restore .mascot-loader--fullscreen{min-height:auto}.offline-restore-actions{display:flex;flex-direction:column;align-items:center;gap:10px;padding:0 16px 24px;text-align:center}.offline-restore-actions p{margin:0;font-size:.9rem;color:#475569}.upload-banner-failed{background:#fdecec;color:#a61b1b;border-bottom-color:#f5c2c2;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.upload-banner-actions{display:inline-flex;gap:6px}.upload-banner-actions button{border:1px solid currentColor;background:#fff;color:inherit;border-radius:8px;padding:4px 12px;min-height:32px;font:inherit;cursor:pointer}.upload-banner-actions button.danger{background:#a61b1b;color:#fff;border-color:#a61b1b}.upload-banner-actions button:disabled{opacity:.6;cursor:default}.pm-extra{margin-top:14px}.pm-extra-head,.pm-extra-row{display:grid;grid-template-columns:minmax(0,1fr) auto 96px 28px;gap:8px;align-items:center}.pm-extra-head{font-size:.72rem;color:var(--text-muted, #64748b);margin-bottom:4px}.pm-extra-row{margin-bottom:8px}.pm-extra-name,.pm-extra-price{width:100%;box-sizing:border-box;border:1px solid var(--border, #dbe3ee);border-radius:8px;padding:8px 10px;font:inherit;font-size:.9rem}.pm-extra-price{text-align:right}.pm-extra-del{border:none;background:none;color:#94a3b8;font-size:.85rem;cursor:pointer}.pm-extra-del:hover{color:var(--danger, #dc2626)}.pm-extra-add{border:1px dashed var(--border, #cbd5e1);background:none;border-radius:8px;padding:8px 12px;width:100%;font:inherit;font-size:.88rem;color:var(--primary, #2563eb);cursor:pointer}.pm-extra-sum{margin:8px 0 0;font-size:.8rem;color:var(--text-muted, #64748b)}.pm-review-note{margin:6px 0 0;font-size:.82rem;color:var(--danger, #dc2626)}.pm-link-btn{border:0;background:none;padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;cursor:pointer}@media (max-width: 480px){.pm-extra-head,.pm-extra-row{grid-template-columns:minmax(0,1fr) auto 72px 24px;gap:6px}}.mq-wait{display:flex;flex-direction:column;gap:6px;width:100%}.mq-wait span,.cell-wait{font-size:.8rem;color:var(--danger, #dc2626)}.pm-panel{width:760px}.pm-panel .pm-title{font-size:1.25rem}.pm-panel .pm-sub{font-size:1rem}.pm-panel .pm-section h4{font-size:1.15rem;margin-bottom:12px}.pm-panel .pm-hint,.pm-panel .pm-empty{font-size:.98rem;line-height:1.5}.pm-panel .pm-done{font-size:1.02rem}.pm-panel .pm-done.small,.pm-panel .pm-review-note{font-size:.95rem}.pm-panel .pm-line{padding:10px 12px;gap:12px}.pm-panel .pm-line-name{font-size:1.05rem;line-height:1.35}.pm-panel .pm-special-head{font-size:1rem;margin-bottom:8px}.pm-panel .pm-special-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}.pm-panel .qty-stepper button{width:42px;height:42px;font-size:1.35rem}.pm-panel .qty-stepper span{min-width:46px;font-size:1.2rem;font-weight:700}.pm-panel .pm-pieces input{width:110px;padding:10px 12px;font-size:1.15rem}.pm-panel .btn-primary{font-size:1.05rem;padding:12px 20px}.pm-panel .pm-extra-head{font-size:.9rem}.pm-panel .pm-extra-name,.pm-panel .pm-extra-price{font-size:1.05rem;padding:10px 12px}.pm-panel .pm-extra-head,.pm-panel .pm-extra-row{grid-template-columns:minmax(0,1fr) auto 110px 32px}.pm-panel .pm-extra-add{font-size:1.02rem;padding:11px 12px}.pm-panel .pm-extra-sum,.pm-panel .status-badge{font-size:.95rem}@media (max-width: 480px){.pm-panel .pm-special-grid{grid-template-columns:1fr}.pm-panel .pm-extra-head,.pm-panel .pm-extra-row{grid-template-columns:minmax(0,1fr) auto 84px 28px}}html.staff-mode{font-size:clamp(18px,calc(6px + 3.4vw),30px)}html.staff-mode body{font-size:1rem}html.staff-mode .mq-tab-label,html.staff-mode .mq-muted,html.staff-mode .mq-stamp,html.staff-mode .staff-shop-sub,html.staff-mode .status-badge,html.staff-mode .pm-extra-head{font-size:.88rem}html.staff-mode .mq-name{font-size:1.2rem}html.staff-mode .mq-line{font-size:1rem;line-height:1.5}html.staff-mode .mq-id{font-size:.95rem}html.staff-mode input,html.staff-mode select{font-size:1rem;min-height:2.75rem}html.staff-mode .mq-main,html.staff-mode .staff-login-btn,html.staff-mode .btn-primary{min-height:2.9rem;font-size:1.05rem}html.staff-mode .mq-tab{padding:.7rem .3rem}html.staff-mode .staff-top{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}html.staff-mode .staff-shell{padding-bottom:env(safe-area-inset-bottom)}@media (max-width: 640px){html.staff-mode .pm-overlay{padding:calc(10px + env(safe-area-inset-top)) 10px calc(10px + env(safe-area-inset-bottom))}html.staff-mode .pm-panel{width:100%}html.staff-mode .pm-body{padding:6px 14px 16px;max-height:calc(100dvh - 150px)}}html.staff-mode .mq-date-arrow{width:2.4rem;height:2.4rem}html.staff-mode .staff-avatar{width:2.2rem;height:2.2rem}html.staff-mode .staff-logout{width:2.3rem;height:2.3rem}html.staff-mode .staff-logout svg{width:1.2rem;height:1.2rem}html.staff-mode .staff-branch{font-size:.9rem}.pm-head{align-items:flex-start}.pm-head-main{flex:1;min-width:0}.pm-head-main .pm-title{overflow-wrap:anywhere}.pm-head-status{margin-top:6px}.pm-close{flex-shrink:0;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-strong);border-radius:12px;background:#fff;color:var(--text);padding:0}.pm-close svg{width:22px;height:22px}.pm-close:active{background:var(--primary-light)}html.staff-mode .pm-close{width:2.6rem;height:2.6rem;border-radius:.7rem}html.staff-mode .pm-close svg{width:1.3rem;height:1.3rem}html.staff-mode .pm-panel{display:flex;flex-direction:column;max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}html.staff-mode .pm-head{flex-shrink:0}html.staff-mode .pm-body{flex:1;min-height:0;max-height:none;overflow-y:auto}.pm-xcard{border:1px solid var(--border);border-radius:12px;background:#fbfdff;padding:.75rem .85rem;margin-bottom:.7rem;display:flex;flex-direction:column;gap:.6rem}.pm-xcard-top{display:flex;align-items:center;justify-content:space-between}.pm-xcard-no{font-weight:700;color:var(--text);font-size:1rem}.pm-xcard-del{border:1px solid #fecaca;background:#fff;color:var(--danger, #dc2626);border-radius:8px;padding:.3rem .8rem;font:inherit;font-size:.9rem;min-height:2.2rem;cursor:pointer}.pm-xfield{display:flex;flex-direction:column;gap:.3rem;min-width:0}.pm-xfield>span{font-size:.9rem;color:var(--text-muted)}.pm-xfield input{width:100%;box-sizing:border-box;font-size:1.05rem;padding:.6rem .75rem}.pm-xrow{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:end}.pm-xrow .pm-xfield input{text-align:right}.pm-xtotal{text-align:right;font-size:1rem;color:var(--text-muted)}.pm-xtotal strong{color:var(--text);font-size:1.15rem}.pm-extra-sum strong{color:var(--text)}.qty-stepper button{display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0}.mascot-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:48px 16px;color:var(--text-muted, var(--muted, #71808f));text-align:center}.mascot-loader--fullscreen{min-height:70vh;min-height:70dvh}.mascot-loader--compact{padding:20px 12px;gap:8px}.ml-stage{position:relative;width:112px;height:168px}.mascot-loader--compact .ml-stage{transform:scale(.7);margin:-34px 0 -24px}.ml-mascot{position:absolute;left:50%;bottom:12px;width:104px;height:auto;margin-left:-52px;transform-origin:50% 100%;animation:ml-walk .9s ease-in-out infinite;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.ml-shadow{position:absolute;left:50%;bottom:4px;width:70px;height:10px;margin-left:-35px;border-radius:50%;background:#22303e24;animation:ml-shadow .9s ease-in-out infinite}.ml-bubble{position:absolute;z-index:2;bottom:96px;border-radius:50%;border:2.5px solid #7fb6e0;background:radial-gradient(circle at 35% 30%,#fff 0,#fff 18%,#aad6f559 40%,#aad6f514 70%);opacity:0;animation:ml-bubble 2.4s ease-in infinite}.ml-bubble--1{left:58px;width:16px;height:16px}.ml-bubble--2{left:74px;width:22px;height:22px;animation-delay:.8s}.ml-bubble--3{left:44px;width:11px;height:11px;animation-delay:1.6s}.ml-label{font-size:.95rem;font-weight:500}.ml-dots i{font-style:normal;animation:ml-dot 1.2s infinite}.ml-dots i:nth-child(2){animation-delay:.2s}.ml-dots i:nth-child(3){animation-delay:.4s}@keyframes ml-walk{0%,to{transform:translateY(0) rotate(-4deg) scaleY(1)}25%{transform:translateY(-9px) rotate(0) scaleY(1.02)}50%{transform:translateY(0) rotate(4deg) scaleY(.96)}75%{transform:translateY(-9px) rotate(0) scaleY(1.02)}}@keyframes ml-shadow{0%,50%,to{transform:scaleX(1);opacity:1}25%,75%{transform:scaleX(.78);opacity:.6}}@keyframes ml-bubble{0%{transform:translate(0) scale(.4);opacity:0}15%{opacity:1}80%{transform:translate(6px,-58px) scale(1);opacity:.9}90%{transform:translate(7px,-64px) scale(1.25);opacity:0}to{transform:translate(7px,-64px) scale(1.25);opacity:0}}@keyframes ml-dot{0%,60%,to{opacity:.2}30%{opacity:1}}@media (prefers-reduced-motion: reduce){.ml-mascot,.ml-shadow,.ml-bubble,.ml-dots i{animation:none}.ml-bubble{opacity:.8}}.stat-sub{font-size:.6em;font-weight:600;color:#65676b}.rev-est{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:#f0f2f5;color:#65676b;font-size:11px;font-weight:600;vertical-align:1px}.rev-range-note{margin:-6px 0 12px}.rev-foot{margin:10px 2px 2px}.pm-flags{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:0 0 12px}.pm-flag{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:8px;min-width:0}.pm-flag-icon{flex-shrink:0;width:2.1em;height:2.1em;border-radius:50%;display:grid;place-items:center}.pm-flag-icon svg{width:1.15em;height:1.15em}.pm-flag-text{display:flex;flex-direction:column;gap:1px;min-width:0}.pm-cnote{background:#f0f2f5}.pm-cnote .pm-flag-icon{background:#e4e6eb;color:#050505}.pm-cnote-label{font-size:.78rem;font-weight:600;color:#65676b}.pm-cnote-body{color:#050505;font-size:.92rem;white-space:pre-wrap;word-break:break-word}.mq-note,.q-note{white-space:pre-wrap;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.q-note-row{display:flex;align-items:flex-start;gap:6px;margin-top:2px}.q-note-ico{flex-shrink:0;width:14px;height:14px;margin-top:2px}.pm-with-icon{display:flex;align-items:center;gap:8px}.pm-with-icon svg{flex-shrink:0;width:18px;height:18px;color:#65676b}.pm-photo-add-icon svg{width:26px;height:26px}.pm-separate{align-items:center;background:#ebf5ff}.pm-separate .pm-flag-icon{background:#0866ff;color:#fff}.pm-separate strong{color:#0866ff;font-size:.95rem;font-weight:700}.pm-normal{border-color:var(--primary, #2563eb);background:#f8fbff}.pm-normal .pm-line-name{font-weight:700}.pm-normal-stepper{align-items:stretch}.pm-normal-stepper button{width:40px;height:40px;font-size:1.15rem}.pm-normal-stepper input{width:64px;height:auto;min-height:0;padding:0 4px;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);border-radius:0;background:#fff;font:inherit;font-size:1rem;font-weight:700;text-align:center;color:var(--text);-moz-appearance:textfield}.pm-normal-stepper input::-webkit-outer-spin-button,.pm-normal-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.pm-normal-stepper input:focus{outline:2px solid var(--primary);outline-offset:-2px}.pm-unit{font-size:.8rem;color:var(--muted, #64748b)}.pm-pieces{background:#f1f5f9}.pm-pieces .pm-line-name{display:flex;flex-direction:column;gap:2px;font-weight:600}.pm-pieces-sub{font-size:.75rem;font-weight:400;color:var(--muted, #64748b)}.pm-pieces-total{font-size:1.05rem;white-space:nowrap}.staff-shell .pm-normal-stepper button,html.staff-mode .pm-normal-stepper button{width:2.75rem;height:2.75rem}.staff-shell .pm-normal-stepper input,html.staff-mode .pm-normal-stepper input{height:auto;min-height:0;width:4rem}.mq-scope{display:flex;flex-direction:column;gap:2px;margin:0 0 12px;padding:10px 14px;border-radius:8px;background:#fff;box-shadow:0 1px 2px #0000001a}.mq-scope-title{font-weight:700;color:#050505}.mq-scope-sub{font-size:.85rem;color:#65676b}.mq-scope.late{background:var(--primary-light, #e8f1fd);box-shadow:inset 3px 0 0 var(--primary, #1a6fe8)}.mq-scope.late .mq-scope-sub{color:var(--primary-dark, #1256bd);font-weight:600}.mq-day{align-self:flex-start;padding:2px 8px;border-radius:6px;background:#f0f2f5;color:#65676b;font-size:.8rem;font-weight:600}.mq-day.late{background:#fdeceb;color:#c4291f}.mq-date-arrow:disabled{opacity:.35;cursor:default}.mq-empty-ico{width:40px;height:40px;color:#bcc0c4}.dash-late{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:#fdeceb;color:#c4291f;font-size:.75rem;font-weight:600}
