*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden;width:100%;max-width:100vw}body{font-family:system-ui,-apple-system,Noto Sans TC,sans-serif;color:#1a1a1a;background:#f7f7f8}#root{overflow-x:hidden;width:100%}img{max-width:100%}.screen{padding:12px 14px 96px;max-width:640px;margin:0 auto;overflow-wrap:anywhere}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;background:#fff;border-bottom:1px solid #eee}.brand{font-weight:700;text-decoration:none;color:#111;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar nav{display:flex;align-items:center;gap:10px;flex-shrink:0}.nav-link{text-decoration:none;color:#333;font-size:14px;white-space:nowrap}.cart-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#111;color:#fff;text-decoration:none;flex-shrink:0}.cart-badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 4px;border-radius:10px;background:#c0392b;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid #fff}.banner{background:#eef4ff;padding:8px 14px;font-size:14px;overflow-wrap:anywhere}.banner-warn{background:#fff4e5}.banner-ok{background:#e6f4ea;color:#137333;padding:10px 14px;border-radius:8px;font-size:14px;margin:10px 0}.banner-ok a{color:#137333;font-weight:700}.banner-sub{color:#666}.search{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:16px;font-family:inherit;margin:8px 0}select{max-width:100%;font-family:inherit}.campaign-select{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:16px;margin:8px 0;text-overflow:ellipsis}.filters{display:flex;gap:8px;min-width:0}.filters select{flex:1;min-width:0;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:15px}.count{color:#666;font-size:13px;margin:8px 2px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{min-width:0;background:#fff;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;border:1px solid #eee}.card-img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.card-img-empty{background:#eee}.card-title{font-size:13px;padding:8px 8px 0;line-height:1.35;height:3.4em;overflow:hidden;overflow-wrap:anywhere}.card-price{padding:4px 8px 10px;font-weight:700;color:#c0392b}.hero{display:block;width:100%;max-width:100%;height:auto;border-radius:12px}.hero-empty{aspect-ratio:1;background:#eee}.back-link{background:none;border:none;color:#8a8578;font:inherit;font-size:14px;padding:2px 0 12px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.back-link:hover{color:#111}.product-layout{display:block}.product-media{min-width:0}.product-title{margin:12px 0}.option{margin:12px 0;min-width:0}.option-name{font-weight:600;margin-bottom:6px}.option-values{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 12px;border:1px solid #ccc;border-radius:20px;background:#fff;max-width:100%;overflow-wrap:anywhere}.chip-on{border-color:#111;background:#111;color:#fff}.price-block{margin:14px 0;font-size:22px}.employee-price{color:#c0392b;font-weight:800}.retail-price{text-decoration:line-through;color:#999;margin-left:8px;font-size:16px}.soldout{margin-left:8px;color:#999;font-size:14px}.muted{color:#888}.small{font-size:12px}.primary{width:100%;padding:14px;border:none;border-radius:10px;background:#111;color:#fff;font-size:16px;font-weight:700}.primary:disabled{background:#bbb}.link{background:none;border:none;color:#2563eb;padding:6px 0;text-decoration:none;display:inline-block}label{display:block;margin:12px 0;font-size:14px}label input,label select,label textarea{display:block;width:100%;padding:10px 12px;margin-top:6px;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:16px;font-family:inherit;color:inherit}label textarea{resize:vertical;line-height:1.5}label input[type=checkbox],label input[type=radio]{display:inline-block;width:18px;height:18px;flex:none;padding:0;margin:0 6px 0 0;vertical-align:-3px;accent-color:#111}input:focus,select:focus,textarea:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px #11111114}input:disabled,select:disabled,textarea:disabled{background:#f5f4f2;color:#999}.cart-line{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eee}.thumb{width:56px;height:56px;object-fit:cover;border-radius:8px;flex-shrink:0}.cart-line-info{flex:1;min-width:0}.cart-line-title,.cart-line-variant{overflow-wrap:anywhere}.cart-line-price{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.qty{width:56px;padding:4px;border:1px solid #ddd;border-radius:6px}.total{font-weight:800;font-size:18px;margin:14px 0;text-align:right}.desc{margin-top:16px;font-size:14px;line-height:1.6;overflow-wrap:anywhere}.desc img{max-width:100%;height:auto}.order{background:#fff;border:1px solid #eee;border-radius:10px;padding:12px;margin-bottom:12px;min-width:0}.order-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;flex-wrap:wrap}.order-head strong{overflow-wrap:anywhere;min-width:0}.pill{border:none;border-radius:12px;padding:2px 10px;font-size:12px;cursor:default;flex-shrink:0}button.pill{cursor:pointer;font-family:inherit}.pill-paid{background:#e6f4ea;color:#137333}.pill-unpaid{background:#fce8e6;color:#c5221f}.pill-pending{background:#fff4e5;color:#b45309}.order-item{font-size:14px;padding:2px 0;overflow-wrap:anywhere}.order-actions{display:flex;gap:12px;align-items:center;margin-top:8px;flex-wrap:wrap}.admin-links{display:flex;flex-direction:column;gap:10px}.admin-link{display:block;padding:16px;background:#fff;border:1px solid #eee;border-radius:10px;text-decoration:none;color:#111;font-weight:600}.admin-shell{display:block}.admin-nav,.admin-home-hint{display:none}.admin-form{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.discount-row{display:flex;align-items:center;gap:8px;min-width:0}.discount-label{flex:1;min-width:0;overflow-wrap:anywhere}.discount-input{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0}.discount-input input{width:72px;padding:6px;border:1px solid #ddd;border-radius:6px;text-align:right}.totals-box{background:#fff;border:1px solid #eee;border-radius:10px;padding:12px;margin-top:16px;font-weight:700;display:flex;flex-direction:column;gap:6px}h3{display:flex;align-items:center;flex-wrap:wrap;gap:4px}h3 button.link{font-size:13px;margin-left:6px}a.primary,label.primary{display:block;text-align:center;text-decoration:none;box-sizing:border-box;cursor:pointer}.primary.disabled{background:#bbb;cursor:default}.pay-note{color:#b45309;font-weight:700;font-size:15px}.proof-option{background:#fff;border:1px solid #eee;border-radius:10px;padding:14px;margin:8px 0}.proof-option-head{font-weight:700;margin-bottom:4px}.proof-or{text-align:center;color:#999;font-size:13px;margin:6px 0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:4px 0 8px}.order-table{width:100%;border-collapse:collapse;font-size:14px}.order-table th,.order-table td{text-align:left;padding:8px 10px;border-bottom:1px solid #eee;vertical-align:top;white-space:nowrap}.order-table th{font-size:12px;color:#8a8578;font-weight:700}.order-table .num{text-align:right}.order-table .cell-email{color:#555;white-space:normal;word-break:break-all;min-width:190px}.table-actions{display:flex;gap:6px}.proof-digits{font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.05em}.pay-info{background:#fff;border:1px solid #eee;border-radius:10px;padding:14px;margin:12px 0}.pay-info h3{margin:0 0 10px;font-size:16px}.amount-due{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #eee}.amount-due-label{color:#888;font-size:14px}.amount-due-value{font-size:26px;font-weight:800;color:#c0392b}.pay-deadline{background:#fff4e5;color:#b45309;font-weight:700;font-size:14px;padding:8px 12px;border-radius:8px;margin-bottom:12px}.qr-block{text-align:center}.qr-img{display:block;margin:0 auto;width:220px;max-width:100%;height:auto;image-rendering:pixelated}.qr-label{margin:6px 0 0}.qr-placeholder{background:#f0efed;border-radius:8px;margin:0 auto;max-width:100%}.qr-preview{margin:16px 0}.method-book{background:#fff;border:1px solid #eee;border-radius:10px;padding:12px 14px;margin:8px 0 16px}.method-book-head{font-size:13px;font-weight:700;color:#8a8578;letter-spacing:.03em;margin-bottom:6px}.method-row{display:flex;gap:10px;align-items:flex-start;justify-content:space-between;padding:8px 0;border-top:1px solid #f0efed;flex-wrap:wrap}.method-row:first-of-type{border-top:none}.method-name{font-weight:600;min-width:0;overflow-wrap:anywhere}.method-default{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#111;color:#fff;font-size:11px;font-weight:700}.method-actions{display:flex;gap:6px;flex-shrink:0;flex-wrap:wrap}.pay-rows{margin:12px 0 0}.pay-row{display:flex;gap:12px;padding:7px 0;border-top:1px solid #f0efed}.pay-row dt{flex:0 0 72px;color:#888;font-size:14px}.pay-row dd{margin:0;flex:1;min-width:0;overflow-wrap:anywhere;font-weight:600}.payment-status{margin:6px 0}.banner-pay{background:#fff4e5;padding:14px;border-radius:10px;margin:10px 14px}.banner-pay .primary{margin-top:10px}.order-actions.pay-cta{flex-direction:column;align-items:stretch}.btn{display:inline-block;padding:8px 16px;border:1.5px solid #111;border-radius:8px;background:#fff;color:#111;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;text-align:center;font-family:inherit}.btn:disabled{border-color:#bbb;color:#bbb;cursor:default}.btn-danger{border-color:#c5221f;color:#c5221f}.btn-sm{padding:4px 10px;font-size:13px;font-weight:600}.ordered-section{margin-top:24px;padding-top:12px;border-top:2px solid #eee}.ordered-section .btn{margin-top:10px}.order-item-edit{display:flex;align-items:center;justify-content:space-between;gap:8px}.order-item-edit.removed .order-item-name{text-decoration:line-through;color:#bbb}.order-item-name{overflow-wrap:anywhere}.order-item-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.banner-ok .btn{margin-top:8px;display:block}.brand{display:flex;align-items:center;gap:6px}.brand-logo{height:34px;display:block}.brand-name{font-size:20px;font-weight:800;letter-spacing:.02em;color:#111}.brand-sub{font-size:13px;font-weight:700;color:#b45309;border:1.5px solid #b45309;border-radius:6px;padding:1px 6px;flex-shrink:0}.shop-bar{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}.shop-bar .shop-tabs{flex:1 1 100%;min-width:0}.snapshot-note{flex:1 1 100%;text-align:right;color:#999;font-size:12px;white-space:nowrap;padding:0 14px 4px 0}.featured-section{margin-bottom:6px}.featured-head{margin:10px 0 8px}.card-featured{position:relative;border:2px solid #b45309;border-radius:10px;box-shadow:0 2px 8px #b4530926}.featured-badge{position:absolute;top:8px;left:8px;z-index:1;background:#b45309;color:#fff;font-size:12px;font-weight:700;padding:2px 8px;border-radius:10px}.brand-logo-ink{filter:brightness(0)}.topbar{padding:0}.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;width:100%}.catalog-controls,.catalog-body{display:block}.catalog-sidebar{display:none}.filters{flex-wrap:wrap}.filters select{flex:1 1 40%}@media (min-width: 600px){.grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}}@media (min-width: 900px){body{background:#f6f5f3}.topbar{border-bottom:1px solid #e8e6e1}.topbar-inner{max-width:1040px;margin:0 auto;padding:12px 24px}.brand-logo{height:38px}.topbar nav{gap:22px}.nav-link{font-size:15px;color:#1a1a1a;padding:4px 0;border-bottom:2px solid transparent;transition:border-color .15s ease}.nav-link:hover{border-bottom-color:#b45309}.banner-strip{padding:10px max(24px,calc((100vw - 1040px)/2 + 24px))}.banner-pay{max-width:640px;margin:16px auto}.shop-bar{max-width:1040px;margin:0 auto;padding:14px 24px 0;flex-wrap:nowrap}.shop-bar .shop-tabs{flex:1 1 auto;padding:0}.snapshot-note{flex:0 0 auto;text-align:left;padding:0}.screen{padding-top:24px}.catalog-screen{max-width:1040px;padding-left:24px;padding-right:24px}.catalog-controls{display:flex;gap:10px;align-items:center;margin-bottom:16px}.catalog-controls .search{flex:1;margin:0;max-width:420px}.catalog-controls .filters{margin:0;flex-shrink:0;flex-wrap:nowrap}.catalog-controls .filters select{min-width:140px;flex:none}.cat-select-mobile{display:none}.catalog-body{display:grid;grid-template-columns:176px minmax(0,1fr);gap:28px;align-items:start}.catalog-sidebar{display:block;position:sticky;top:84px}.sidebar-head{font-size:13px;font-weight:700;color:#8a8578;letter-spacing:.04em;text-transform:uppercase;padding:0 10px 8px}.cat-nav{display:flex;flex-direction:column;gap:2px}.cat-item{text-align:left;background:none;border:none;padding:9px 12px;border-radius:8px;cursor:pointer;color:#444;font:inherit;font-size:14px;overflow-wrap:anywhere}.cat-item:hover{background:#ecebe7}.cat-item.on{background:#111;color:#fff;font-weight:600}.grid{gap:20px}.card{border-color:#e8e6e1;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.card-img{transition:transform .35s ease}@media (hover: hover){.card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1a181217}.card:hover .card-img{transform:scale(1.04)}}.card-title{font-size:14px;padding:10px 12px 0}.card-price{padding:6px 12px 12px}.featured-head{font-size:18px}.featured-section{margin-bottom:24px}.hero{border-radius:14px;box-shadow:0 14px 32px #1a181214}.product-layout{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:44px;align-items:start}.product-media{position:sticky;top:88px}.product-media .hero{width:100%;max-width:100%}.product-title{margin:0 0 18px;font-size:26px;line-height:1.3}.product-info .price-block{margin:18px 0}.product-info .primary{max-width:340px}.product-screen .desc{max-width:780px;margin-top:36px;border-top:1px solid #e8e6e1;padding-top:24px}.screen:not(.catalog-screen){max-width:680px}.screen.product-screen{max-width:1040px}.admin-shell{display:grid;grid-template-columns:184px minmax(0,1fr);gap:32px;max-width:1040px;margin:0 auto;padding:24px;align-items:start}.admin-nav{display:flex;flex-direction:column;gap:2px;position:sticky;top:84px}.admin-tab{padding:10px 14px;border-radius:8px;text-decoration:none;color:#444;font-size:15px;font-weight:600}.admin-tab:hover{background:#ecebe7}.admin-tab.on{background:#111;color:#fff}.admin-console>.screen,.admin-shell .screen:not(.catalog-screen){max-width:none;margin:0;padding:0 0 48px}.admin-home .admin-links{display:none}.admin-home-hint{display:block}}.nav-user{color:#8a8578;font-size:13px;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (min-width: 900px){.nav-user{font-size:14px;max-width:180px}}.employee-row{display:block;width:100%;text-align:left;font-family:inherit;font-size:inherit;cursor:pointer}.shop-tabs{display:flex;gap:8px;padding:10px 12px 0;overflow-x:auto;justify-content:flex-start}.shop-tab{display:flex;align-items:center;gap:8px;padding:7px 14px;border:1.5px solid #ddd;border-radius:12px;background:#fff;font-size:14px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit}.shop-tab.active{border-color:#111;background:#111;color:#fff}.shop-tab.active .shop-tab-logo{filter:brightness(0) invert(1)}.shop-tab.scheduled{opacity:.45;cursor:default}.shop-tab-logo{height:16px;filter:brightness(0);flex-shrink:0}.shop-tab-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.25}.shop-tab-name{font-size:14px}.shop-tab-date{font-size:11px;font-weight:500;opacity:.7}.store-badge{display:inline-block;padding:1px 8px;border-radius:999px;background:#eef1f6;color:#33415c;font-size:12px;margin-right:6px;vertical-align:1px}.cart-store-group+.cart-store-group{margin-top:14px}.cart-store-tag{padding-bottom:4px;border-bottom:2px solid #eee;margin-bottom:2px}.cart-store-tag .store-badge{font-size:13px;font-weight:700;margin:0}.wizard{max-width:460px;padding-top:24px}.wizard-title{margin:0 0 16px;font-size:22px}.wizard-progress{display:flex;gap:6px;margin-bottom:8px}.wizard-bar{flex:1;height:4px;border-radius:2px;background:#e5e3df;transition:background .2s ease}.wizard-bar.on{background:#111}.wizard-step-label{margin:0 0 20px;font-size:12px;font-weight:700;letter-spacing:.06em;color:#8a8578}.wizard-intro{margin:0 0 14px;font-size:15px;line-height:1.5}.wizard-note{margin:-6px 0 16px}.choice-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}.choice{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:16px;border:1.5px solid #ddd;border-radius:10px;background:#fff;font-family:inherit;font-size:16px;font-weight:600;color:#111;text-align:left;cursor:pointer;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}.choice:hover{border-color:#999}.choice.on{border-color:#111;background:#fafafa;box-shadow:inset 0 0 0 1px #111}.choice-check{flex-shrink:0;font-weight:700}.field{display:block;margin:0 0 18px}.field-label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}.field input,.field select{display:block;width:100%;padding:12px;margin:0;border:1px solid #ddd;border-radius:8px;background:#fff;font-size:16px;font-family:inherit;color:inherit}.field input:focus,.field select:focus{outline:none;border-color:#111;box-shadow:0 0 0 3px #11111114}.field-hint{display:block;font-size:12px;color:#8a8578;margin-top:6px;line-height:1.4}.code-input{letter-spacing:.4em;font-weight:700;text-align:center}.code-input::placeholder{letter-spacing:normal;font-weight:400}.wizard-actions{display:flex;gap:10px;margin-top:24px}.wizard-actions .btn{flex:0 0 auto;padding:14px 20px}.wizard-actions .primary{flex:1;width:auto}.wizard-code{margin-top:24px;padding-top:20px;border-top:1px solid #eee}.wizard-code .primary{margin-top:4px}.wizard-back{margin-top:16px}.wizard-error{margin-top:16px;border-radius:8px}
