:root{color:#22241f;font-synthesis:none;--ink:#22241f;--muted:#78776f;--paper:#fffefb;--line:#dedbd2;--accent:#c6252c;--accent-soft:#f8e8e7;--olive:#586148;--green-soft:#e9efe3;background:#f7f4ed;font-family:Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 82% 0,#eee9dc 0,#0000 30%),#f7f4ed;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}input,select{color:var(--ink)}h1,h2,h3,p{margin:0}.app-shell{min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:20;background:#fffefbeb;align-items:center;gap:12px;height:76px;padding:0 24px;display:flex;position:sticky;top:0}.brand-logo-wrap{flex:none;align-items:center;width:210px;height:58px;display:flex;overflow:hidden}.brand-logo{object-fit:contain;object-position:left center;width:100%;height:auto;display:block}.topbar h1{letter-spacing:.04em;font-family:Noto Serif TC,Microsoft JhengHei,serif;font-size:19px}.topbar p{color:var(--muted);margin-top:2px;font-size:11px}.header-status{color:var(--muted);margin-left:auto;font-size:12px}.header-status span{color:var(--accent);font-size:17px;font-weight:900}.print-button{background:var(--ink);color:#fff;border:0;border-radius:10px;align-items:center;gap:8px;padding:10px 15px;display:flex}.print-button:disabled{opacity:.45;cursor:not-allowed}.workspace{grid-template-columns:330px minmax(0,1fr);min-height:calc(100vh - 76px);display:grid}.control-panel{border-right:1px solid var(--line);background:#fffefbb3;padding:22px}.control-section+.control-section{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.section-heading{align-items:flex-start;gap:10px;margin-bottom:13px;display:flex}.section-heading>span{color:var(--accent);margin-top:4px;font-size:11px;font-weight:900}.section-heading h2{font-size:15px}.section-heading p{color:var(--muted);margin-top:2px;font-size:11px}.upload-card{background:var(--paper);text-align:left;width:100%;color:var(--olive);border:1px dashed #aaa69b;border-radius:13px;align-items:center;gap:11px;padding:13px;display:flex}.upload-card>span:nth-child(2){gap:2px;min-width:0;display:grid}.upload-card strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.upload-card small{color:var(--muted);font-size:10px}.upload-icon{background:var(--green-soft);border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.upload-file-icon{opacity:.45;margin-left:auto}.select-label{color:var(--muted);grid-template-columns:62px 1fr;align-items:center;gap:8px;margin-top:9px;font-size:11px;display:grid}.select-label select{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:7px;font-size:11px}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:9px;justify-content:center;align-items:center;gap:7px;margin-top:9px;padding:9px 12px;display:flex}.secondary-button.full{width:100%}.notice{border-radius:9px;grid-template-columns:auto 1fr auto;align-items:start;gap:7px;margin-top:10px;padding:9px;font-size:10px;line-height:1.45;display:grid}.notice.success{background:var(--green-soft);color:#445034}.notice.error{background:var(--accent-soft);color:#8e2024}.notice button{color:inherit;background:0 0;border:0;padding:0}.size-grid{gap:7px;display:grid}.size-card{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:10px;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;min-height:53px;padding:9px 11px;display:grid}.size-card>span:nth-child(2){gap:1px;display:grid}.size-card b{font-size:12px}.size-card small{color:var(--muted);font-size:10px}.size-card.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);color:var(--accent)}.size-icon{opacity:.65;border:1.5px solid;justify-self:center}.size-icon.small{width:27px;height:16px}.size-icon.medium{width:31px;height:11px}.size-icon.large{width:31px;height:21px}.field-grid{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.field-grid label{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px;font-size:11px;display:flex}.field-grid input{display:none}.field-grid label>span{color:#0000;border:1px solid #b8b6af;border-radius:4px;place-items:center;width:16px;height:16px;display:grid}.field-grid label.checked{background:var(--accent-soft);color:#921e23;border-color:#e4b7b6}.field-grid label.checked>span{background:var(--accent);border-color:var(--accent);color:#fff}.main-panel{min-width:0;padding:25px 30px 60px}.data-toolbar{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.14em;font-size:10px;font-weight:900}.data-toolbar h2,.preview-heading h2{margin-top:2px;font-size:19px}.data-toolbar p{color:var(--muted);margin-top:2px;font-size:11px}.toolbar-actions{align-items:center;gap:8px;display:flex}.bulk-delete{color:#a52026;background:#fff7f6;border:1px solid #e1b5b4;border-radius:9px;align-items:center;gap:6px;height:36px;padding:0 11px;font-size:11px;font-weight:800;display:flex}.bulk-delete:disabled{opacity:.4;cursor:not-allowed}.search-box{border:1px solid var(--line);width:230px;color:var(--muted);background:#fff;border-radius:9px;align-items:center;gap:7px;padding:0 9px;display:flex}.search-box input{border:0;outline:0;flex:1;min-width:0;padding:9px 0;font-size:11px}.search-box button{color:var(--muted);background:0 0;border:0;padding:0}.batch-date-bar{background:#f1efe8;border:1px solid #d9d6cb;border-radius:11px;grid-template-columns:minmax(160px,1fr) minmax(180px,260px) auto;align-items:center;gap:9px;margin-bottom:10px;padding:9px 11px;display:grid}.batch-date-bar>div{color:var(--olive);align-items:center;gap:8px;display:flex}.batch-date-bar>div span{display:grid}.batch-date-bar strong{font-size:11px}.batch-date-bar small{color:var(--muted);font-size:9px}.batch-date-bar input{border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:8px 10px;font-size:11px}.batch-date-bar input:focus{box-shadow:0 0 0 2px var(--green-soft);border-color:#9a9d89}.batch-date-bar button{background:var(--olive);color:#fff;border:0;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800}.batch-date-bar button:disabled{opacity:.4;cursor:not-allowed}.table-card{border:1px solid var(--line);background:#fffefbe6;border-radius:13px;overflow:hidden}.product-grid{grid-template-columns:58px minmax(190px,1fr) 76px 76px 76px 112px 32px;align-items:center;gap:8px;display:grid}.table-head{color:var(--muted);background:#efede7;padding:9px 12px;font-size:10px;font-weight:800}.table-head label{align-items:center;gap:5px;display:flex}.table-body{max-height:326px;overflow:auto}.product-row{opacity:.57;border-top:1px solid #ece9e1;padding:8px 12px}.product-row.selected{opacity:1;background:#fff}.product-row input{background:0 0;border:1px solid #0000;border-radius:6px;outline:none;width:100%;min-width:0;padding:6px;font-size:11px}.product-row input:hover,.product-row input:focus{border-color:var(--line);background:#faf8f3}.product-fields{min-width:0}.product-fields input:first-child{font-weight:700}.product-fields .sub-input{color:var(--muted);padding-top:0;font-size:9px}.row-check input{display:none}.row-check span{color:#0000;background:#fff;border:1px solid #b8b6af;border-radius:5px;place-items:center;width:18px;height:18px;display:grid}.row-check input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}.copy-stepper{border:1px solid var(--line);background:#fff;border-radius:7px;grid-template-columns:25px 1fr 25px;display:grid;overflow:hidden}.copy-stepper button{background:#f2f0ea;border:0;place-items:center;display:grid}.copy-stepper input{text-align:center;-moz-appearance:textfield;border:0;border-radius:0;padding:5px 0}.copy-stepper input::-webkit-inner-spin-button{-webkit-appearance:none}.icon-button{color:var(--muted);background:0 0;border:0;place-items:center;padding:5px;display:grid}.icon-button.delete:hover{color:var(--accent)}.no-results{text-align:center;color:var(--muted);padding:35px;font-size:12px}.preview-area{margin-top:28px}.preview-heading{justify-content:space-between;align-items:flex-end;margin-bottom:12px;display:flex}.pagination{color:var(--muted);align-items:center;gap:7px;font-size:10px;display:flex}.pagination button{border:1px solid var(--line);background:#fff;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.pagination button:disabled{opacity:.35;cursor:not-allowed}.sheet-stage{background:#ebe7de;border:1px solid #dfdbd1;border-radius:16px;place-items:center;min-height:430px;padding:24px;display:grid;overflow:hidden}.a4-sheet{zoom:.48;background:#fff;flex:none;width:210mm;height:297mm;display:grid;overflow:hidden;box-shadow:0 14px 42px #312a202b}.layout-small{grid-template-rows:repeat(4,74.25mm);grid-template-columns:repeat(2,105mm);place-content:center}.layout-medium{grid-template-rows:repeat(4,72.5mm);grid-template-columns:210mm;place-content:center}.layout-large{grid-template-rows:repeat(2,148mm);grid-template-columns:210mm;place-content:center}.pop-card{color:#090909;background:#fff;border:.28mm solid #111;padding:5mm 6mm;position:relative;overflow:hidden}.pop-copy{width:100%;height:58%;overflow:hidden}.pop-card h3{letter-spacing:-.035em;text-wrap:balance;overflow-wrap:anywhere;white-space:normal;max-width:100%;font-weight:900;line-height:1.02}.pop-card p{white-space:normal;margin-top:1.5mm;font-size:17pt;line-height:1.08}.format-small{padding:3.2mm 3.7mm}.format-small .pop-copy{height:60%}.format-small h3{font-size:36pt}.format-small.name-medium h3{font-size:31pt}.format-small.name-long h3{font-size:26pt}.format-small.name-xlong h3{font-size:22pt}.format-small p{font-size:12pt}.format-medium .pop-copy{height:55%}.format-medium h3{font-size:42pt}.format-medium.name-medium h3{font-size:36pt}.format-medium.name-long h3{font-size:30pt}.format-medium.name-xlong h3{font-size:25pt}.format-large .pop-copy{height:64%}.format-large h3{font-size:64pt}.format-large.name-medium h3{font-size:54pt}.format-large.name-long h3{font-size:44pt}.format-large.name-xlong h3{font-size:36pt}.format-large p{font-size:22pt}.price-block{text-align:right;position:absolute;bottom:4mm;right:5mm}.compact .price-block{bottom:2.6mm;right:3.5mm}.secondary-prices{justify-content:flex-end;align-items:center;gap:3mm;font-size:16pt;line-height:1;display:flex}.compact .secondary-prices{gap:1.5mm;font-size:11pt}.secondary-prices .strike{text-decoration:line-through}.secondary-prices .special{color:#d31119;font-size:1.25em;font-weight:900}.member-with-special .secondary-prices .special{color:#135eb6}.primary-price{justify-content:flex-end;align-items:baseline;gap:1mm;margin-top:1.5mm;line-height:.88;display:flex}.primary-price.accent{color:#d31119}.primary-price.original-only{color:#135eb6}.primary-price span{font-size:26pt;font-weight:900}.primary-price strong{letter-spacing:-.06em;font-family:Arial,sans-serif;font-size:94pt}.primary-price b{font-size:27pt;font-weight:500}.primary-price.special-with-original:not(.text-price) strong{font-size:110pt}.primary-price.special-with-original:not(.text-price) span{font-size:30pt}.format-large .primary-price strong{font-size:120pt}.format-large .primary-price span{font-size:30pt}.format-large .primary-price b{font-size:32pt}.format-large .primary-price.special-with-original:not(.text-price) strong{font-size:140pt}.format-large .primary-price.special-with-original:not(.text-price) span{font-size:34pt}.primary-price.text-price strong{white-space:pre-line;max-width:140mm;font-size:42pt;line-height:1.05}.compact .primary-price span{font-size:15pt}.compact .primary-price strong{font-size:64pt}.compact .primary-price b{font-size:17pt}.compact .primary-price.special-with-original:not(.text-price) strong{font-size:76pt}.compact .primary-price.special-with-original:not(.text-price) span{font-size:18pt}.compact .primary-price.text-price strong{max-width:84mm;font-size:24pt}.barcode-wrap{justify-items:start;width:58mm;display:grid;position:absolute;bottom:4mm;left:6mm;overflow:hidden}.compact .barcode-wrap{width:38mm;bottom:2.5mm;left:3.5mm}.barcode{max-width:100%;height:14mm;display:block}.compact .barcode{height:10mm}.activity-date{color:#4b6178;white-space:nowrap;margin-top:.8mm;font-size:12pt;font-weight:900;line-height:1}.compact .activity-date{margin-top:.5mm;font-size:8.5pt}.format-large .activity-date{font-size:16pt}.print-tip{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin-top:10px;font-size:10px;display:flex}.empty-sheet{place-items:center}.empty-slot{color:#aaa69b;justify-items:center;gap:7px;font-size:11px;display:grid}.pdf-source{display:none}.average-price{color:#075fc9;letter-spacing:.02em;margin-top:2mm;font-size:18pt;font-weight:900;line-height:1}.member-with-special .average-price{color:#075fc9}.compact .average-price{margin-top:1mm;font-size:12pt}.format-large .average-price{font-size:24pt}.price-block,.price-block.member-with-special{--combo-label-color:#075fc9;--combo-number-color:#075fc9}.primary-price.combo-price{place-items:end;gap:1mm;display:grid}.primary-price.combo-price .combo-label{letter-spacing:.02em;font-weight:900;line-height:1;color:var(--combo-label-color)!important;font-size:40pt!important}.primary-price.combo-price .combo-number{justify-content:flex-end;align-items:baseline;gap:1mm;line-height:.74;display:flex;color:var(--combo-number-color)!important}.primary-price.combo-price .combo-number strong{color:var(--combo-number-color)!important;font-size:118pt!important}.primary-price.combo-price .combo-number b{color:var(--combo-number-color)!important;font-size:28pt!important}.secondary-prices .combo-secondary{justify-items:end;gap:.7mm;line-height:.88;text-decoration:none;display:grid;color:var(--combo-number-color)!important}.secondary-prices .combo-secondary small{letter-spacing:.02em;font-weight:900;color:var(--combo-label-color)!important;font-size:28pt!important}.secondary-prices .combo-secondary>span{align-items:baseline;gap:.7mm;display:flex;color:var(--combo-number-color)!important}.secondary-prices .combo-secondary strong{letter-spacing:-.05em;font-family:Arial,sans-serif;color:var(--combo-number-color)!important;font-size:42pt!important}.secondary-prices .combo-secondary b{color:var(--combo-number-color)!important;font-size:15pt!important}.primary-price.discount-price{white-space:nowrap;margin-top:2mm;line-height:.86;display:block;color:var(--combo-number-color)!important}.primary-price.discount-price strong{letter-spacing:-.07em;font-family:Microsoft JhengHei,Arial,sans-serif;font-weight:900;color:var(--combo-number-color)!important;font-size:70pt!important}.secondary-prices .discount-secondary{white-space:nowrap;text-decoration:none;color:var(--combo-number-color)!important}.secondary-prices .discount-secondary strong{letter-spacing:-.07em;font-family:Microsoft JhengHei,Arial,sans-serif;font-weight:900;color:var(--combo-number-color)!important;font-size:34pt!important}.compact .primary-price.combo-price .combo-label{font-size:28pt!important}.compact .primary-price.combo-price .combo-number strong{font-size:80pt!important}.compact .primary-price.combo-price .combo-number b{font-size:18pt!important}.compact .secondary-prices .combo-secondary small{font-size:20pt!important}.compact .secondary-prices .combo-secondary strong{font-size:30pt!important}.compact .secondary-prices .combo-secondary b{font-size:11pt!important}.compact .primary-price.discount-price strong{font-size:46pt!important}.compact .secondary-prices .discount-secondary strong{font-size:24pt!important}.format-large .primary-price.combo-price .combo-label{font-size:52pt!important}.format-large .primary-price.combo-price .combo-number strong{font-size:150pt!important}.format-large .primary-price.combo-price .combo-number b{font-size:34pt!important}.format-large .secondary-prices .combo-secondary small{font-size:36pt!important}.format-large .secondary-prices .combo-secondary strong{font-size:54pt!important}.format-large .secondary-prices .combo-secondary b{font-size:19pt!important}.format-large .primary-price.discount-price strong{font-size:90pt!important}.format-large .secondary-prices .discount-secondary strong{font-size:46pt!important}@media (width<=1050px){.workspace{grid-template-columns:290px minmax(0,1fr)}.main-panel{padding:22px 20px 50px}.product-grid{grid-template-columns:48px minmax(165px,1fr) 64px 64px 64px 105px 28px}.a4-sheet{zoom:.4}.sheet-stage{min-height:380px}}@media (width<=820px){.workspace{grid-template-columns:1fr}.control-panel{border-right:0;border-bottom:1px solid var(--line)}.main-panel{padding:22px 12px 45px}.header-status,.brand-copy{display:none}.brand-logo-wrap{width:165px;height:44px}.print-button{margin-left:auto;padding:10px;font-size:0}.data-toolbar{flex-direction:column;align-items:stretch}.toolbar-actions{flex-direction:column-reverse;align-items:stretch}.bulk-delete{justify-content:center}.search-box{width:100%}.batch-date-bar{grid-template-columns:1fr}.batch-date-bar button{width:100%}.table-card{overflow-x:auto}.table-head,.product-row{min-width:710px}.sheet-stage{min-height:330px;padding:12px}.a4-sheet{zoom:.34}.preview-heading{align-items:flex-start;gap:10px}.preview-heading h2{font-size:15px}}.pdf-source.active{z-index:40;background:#fff;display:block;position:fixed;inset:0;overflow:visible}.pdf-source .a4-sheet{width:210mm;height:297mm;margin:0;display:grid;zoom:1!important;box-shadow:none!important}.pdf-status-overlay{z-index:50;color:#fff;background:#17231ff0;place-content:center;justify-items:center;gap:10px;display:grid;position:fixed;inset:0}.pdf-status-overlay strong{font-size:19px}.pdf-status-overlay span{color:#d9dfdb;font-size:12px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
