@import"https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;600;700&family=Noto+Sans+TC:wght@300;400;500&display=swap";._container_15mh9_1{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;margin-left:12px;padding:4px 8px;border-left:2px solid #ddd}._label_15mh9_11{font-size:12px;color:#666}._chips_15mh9_16{display:flex;gap:6px;flex-wrap:wrap}._chip_15mh9_16{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#f4f4f4;border-radius:4px;font-size:13px}._statusOk_15mh9_32{color:#15803d;font-weight:600;font-size:13px}._statusError_15mh9_38{color:#dc2626;font-weight:600;font-size:13px}@media (max-width: 768px){._container_15mh9_1{margin-left:0;margin-top:8px;width:100%;border-left:none;border-top:1px solid #ddd;padding-top:8px}}._chipSelect_15mh9_55{border:none;background:transparent;font-size:13px;width:50px}._chipInput_15mh9_62{border:none;background:transparent;font-size:13px;width:60px;text-align:right}._chipRemove_15mh9_70{border:none;background:transparent;cursor:pointer;font-size:16px;line-height:1;padding:0 2px;color:#999}._chipRemove_15mh9_70:hover{color:#dc2626}._addBtn_15mh9_84{border:1px dashed #999;background:transparent;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:13px;color:#666}._addBtn_15mh9_84:hover{border-color:#2563eb;color:#2563eb}@keyframes barcode-scan-shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}.barcode-scan-shake{animation:barcode-scan-shake .2s ease-in-out}@keyframes barcode-count-pop{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.barcode-count-pop{animation:barcode-count-pop .1s ease-in-out}:root{--op-bg-base: #faf9f7;--op-bg-card: #ffffff;--op-bg-subtle: #f5f3f0;--op-bg-accent: #fff8f0;--op-border-light: #e8e4de;--op-border-medium: #d4cfc6;--op-text-primary: #2d2a26;--op-text-secondary: #6b6560;--op-text-muted: #9d9792;--op-accent-gold: #c9a227;--op-accent-gold-light: #f5e6b8;--op-accent-emerald: #2d8a6e;--op-accent-emerald-light: #d4f0e7;--op-accent-coral: #d46b5d;--op-accent-coral-light: #fce8e5;--op-accent-indigo: #5a6a7d;--op-accent-indigo-light: #e8eaed;--op-radius-sm: 8px;--op-radius-md: 12px;--op-radius-lg: 16px;--op-radius-xl: 24px;--op-shadow-sm: 0 1px 3px rgba(45, 42, 38, .04);--op-shadow-md: 0 4px 12px rgba(45, 42, 38, .06);--op-shadow-lg: 0 8px 24px rgba(45, 42, 38, .08)}.op-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--op-radius-md);font-weight:600;font-size:14px;transition:all .2s ease;cursor:pointer;border:none}.op-btn-primary{background:linear-gradient(135deg,var(--op-accent-gold) 0%,#d4a82a 100%);color:#fff;box-shadow:0 4px 12px #c9a2274d}.op-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 16px #c9a22766}.op-btn-secondary{background:var(--op-bg-subtle);color:var(--op-text-primary);border:1px solid var(--op-border-light)}.op-btn-secondary:hover{background:var(--op-border-light)}.op-btn-outline-danger{background:transparent;color:var(--op-accent-coral);border:1px solid var(--op-accent-coral-light)}.op-btn-outline-danger:hover{background:var(--op-accent-coral-light)}.op-btn-success{background:linear-gradient(135deg,var(--op-accent-emerald) 0%,#359a7d 100%);color:#fff;box-shadow:0 4px 12px #2d8a6e4d}.op-card{background:var(--op-bg-card);border-radius:var(--op-radius-lg);box-shadow:var(--op-shadow-md);overflow:hidden}.op-card-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--op-border-light)}.op-card-title{font-size:16px;font-weight:600;color:var(--op-text-primary)}.op-card-body{padding:24px}.op-status-draft{--status-color: var(--op-text-muted);--status-bg: var(--op-bg-subtle)}.op-status-pending_pick{--status-color: var(--op-accent-gold);--status-bg: var(--op-accent-gold-light)}.op-status-picked{--status-color: var(--op-accent-emerald);--status-bg: var(--op-accent-emerald-light)}.op-status-in_progress{--status-color: var(--op-accent-indigo);--status-bg: var(--op-accent-indigo-light)}.op-status-completed{--status-color: var(--op-accent-emerald);--status-bg: var(--op-accent-emerald-light)}.op-status-cancelled{--status-color: var(--op-accent-coral);--status-bg: var(--op-accent-coral-light)}@keyframes op-ripple{0%{transform:scale(1);opacity:1}to{transform:scale(2.5);opacity:0}}.op-animate-ripple:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:inherit;animation:op-ripple 1.5s ease-out infinite}.op-metal-icon{width:40px;height:40px;border-radius:var(--op-radius-sm);display:flex;align-items:center;justify-content:center;font-size:20px}.op-metal-gold{background:linear-gradient(135deg,#ffd700 0%,#ffb300 100%)}.op-metal-silver{background:linear-gradient(135deg,#c0c0c0 0%,#a8a8a8 100%)}.op-metal-platinum{background:linear-gradient(135deg,#e5e5e5 0%,#d0d0d0 100%)}.op-metal-palladium{background:linear-gradient(135deg,#b8b8b8 0%,#9e9e9e 100%)}.op-metal-copper{background:linear-gradient(135deg,#b87333 0%,#cd7f32 100%)}.op-metal-default{background:linear-gradient(135deg,#94a3b8 0%,#64748b 100%)}.op-input{width:100%;padding:12px 16px;border:1px solid var(--op-border-light);border-radius:var(--op-radius-sm);font-size:14px;color:var(--op-text-primary);background:var(--op-bg-card);transition:border-color .2s ease,box-shadow .2s ease}.op-input:focus{outline:none;border-color:var(--op-accent-indigo);box-shadow:0 0 0 3px #5a6a7d26}.op-input:disabled{background:var(--op-bg-subtle);cursor:not-allowed}.op-label{display:block;font-size:13px;font-weight:500;color:var(--op-text-secondary);margin-bottom:8px}.op-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:9999px;font-size:12px;font-weight:500}.op-badge-gold{background:var(--op-accent-gold-light);color:var(--op-accent-gold)}.op-badge-emerald{background:var(--op-accent-emerald-light);color:var(--op-accent-emerald)}.op-badge-coral{background:var(--op-accent-coral-light);color:var(--op-accent-coral)}.op-badge-indigo{background:var(--op-accent-indigo-light);color:var(--op-accent-indigo)}.op-badge-gray{background:var(--op-bg-subtle);color:var(--op-text-muted)}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.reservation-print,.reservation-print *,.reservation-print *:before,.reservation-print *:after{box-sizing:border-box}.reservation-print{background:#fff;color:#111;font-family:Noto Sans TC,sans-serif;font-weight:300;padding:48px 40px;max-width:860px;margin:0 auto}.reservation-print header{border-top:3px solid #111;border-bottom:1px solid #111;padding:16px 0 12px;margin-bottom:36px;display:flex;justify-content:space-between;align-items:flex-end}.reservation-print header h1{font-family:"Noto Serif TC",serif;font-size:22px;font-weight:700;letter-spacing:.14em;margin:0}.reservation-print header .meta{font-size:11.5px;color:#444;text-align:right;line-height:2;letter-spacing:.06em}.reservation-print header .meta strong{color:#111;font-size:13px}.reservation-print .section-title{font-family:"Noto Serif TC",serif;font-size:11px;font-weight:600;letter-spacing:.25em;color:#888;border-bottom:1px solid #ddd;padding-bottom:6px;margin-bottom:0}.reservation-print table{width:100%;border-collapse:collapse;margin-bottom:28px;font-size:13.5px}.reservation-print thead tr{background:#111;color:#fff}.reservation-print thead th{font-family:"Noto Serif TC",serif;font-weight:600;font-size:12px;letter-spacing:.1em;padding:10px 14px;text-align:left}.reservation-print tbody tr{border-bottom:1px solid #e8e8e8}.reservation-print tbody tr:last-child{border-bottom:2px solid #111}.reservation-print tbody td{padding:10px 14px;color:#222;line-height:1.5}.reservation-print .num{text-align:right;font-variant-numeric:tabular-nums}.reservation-print .badge{display:inline-block;font-size:10px;padding:2px 8px;border-radius:2px;letter-spacing:.08em;font-weight:500}.reservation-print .badge.done{background:#111;color:#fff}.reservation-print .badge.pend{background:#fff;color:#888;border:1px solid #bbb}.reservation-print .badge.plan{background:#e8e8e8;color:#555}.reservation-print tfoot tr{background:#f0f0f0}.reservation-print tfoot td{padding:10px 14px;font-weight:500;font-size:13px;border-top:2px solid #111}.reservation-print .payment-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;border:2px solid #111;margin-bottom:16px}.reservation-print .pay-cell{padding:16px 20px;border-right:1px solid #d0d0d0}.reservation-print .pay-cell:last-child{border-right:none}.reservation-print .pay-cell .pay-label{font-size:10px;letter-spacing:.2em;color:#888;font-family:"Noto Serif TC",serif;margin-bottom:8px}.reservation-print .pay-cell .pay-amount{font-family:"Noto Serif TC",serif;font-size:18px;font-weight:700}.reservation-print .pay-cell .pay-unit{font-size:11px;color:#777;margin-left:3px}.reservation-print .pay-cell.highlight{background:#111}.reservation-print .pay-cell.highlight .pay-label{color:#aaa}.reservation-print .pay-cell.highlight .pay-amount{color:#fff}.reservation-print .pay-cell.highlight .pay-unit{color:#bbb}.reservation-print .pay-cell.balance{background:#f7f7f7}.reservation-print .pay-cell.balance.owing .pay-amount{color:#c00}.reservation-print .pay-cell.balance.overpaid .pay-amount,.reservation-print .pay-cell.balance.settled .pay-amount{color:#2a7a2a}.reservation-print footer{margin-top:40px;border-top:1px solid #ccc;padding-top:12px;font-size:11px;color:#999;letter-spacing:.08em;display:flex;justify-content:space-between}.reservation-print .print-actions{margin:16px 0;text-align:right}.reservation-print .print-actions button{padding:8px 20px;font-family:"Noto Serif TC",serif;background:#111;color:#fff;border:none;cursor:pointer}@media print{.reservation-print .print-actions{display:none}body{padding:0}.reservation-print{padding:20px}}
