:root{color:#252525;background:#f5f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}.site-header{display:flex;justify-content:space-between;gap:24px;max-width:1440px;margin:0 auto;padding:36px 28px 20px}.eyebrow{margin:0 0 8px;color:#6b6f68;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.site-header h1{margin:0;color:#20211f;font-size:clamp(2rem,5vw,3.5rem);line-height:1.1}.intro{max-width:760px;margin:14px 0 0;color:#555951;line-height:1.7}.desktop-hint{max-width:760px;margin:8px 0 0;color:#6a6f66;font-size:.86rem;line-height:1.6}.privacy-note{align-self:flex-end;max-width:300px;margin:0;padding:12px 14px;border:1px solid #d7dacd;border-radius:8px;background:#fff;color:#555951;line-height:1.5}.app-shell{max-width:1440px;margin:0 auto;padding:0 28px 48px}.support-section{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:24px;padding:22px;border:1px solid #deded6;border-radius:8px;background:#fff}.support-section h2{margin:0;color:#20211f;font-size:1.25rem}.support-section p{max-width:720px;margin:8px 0 0;color:#555951;line-height:1.7}.support-kicker{margin:0 0 6px!important;color:#6b6f68!important;font-size:.82rem;font-weight:800}.support-actions{position:relative;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.support-message{position:absolute;right:0;bottom:-26px;color:#2f6b4f;font-size:.9rem;white-space:nowrap}.boba-button{display:flex;align-items:center;justify-content:center;width:164px;height:40px;padding:8px 16px;border:0;border-radius:12px;background:#ad5138;color:#f8e0be;font-weight:800;text-decoration:none}.boba-button:hover{text-decoration:none}.boba-button img{height:100%;width:auto}.boba-button span{flex:1;text-align:center}.author-promo-section{margin-top:18px}.author-promo-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,auto);gap:24px;align-items:center;padding:24px;border:1px solid #deded6;border-radius:8px;background:#fff}.author-promo-label{margin:0 0 8px;color:#6b6f68;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.author-promo-content h2{margin:0;color:#20211f;font-size:1.35rem;line-height:1.35}.author-promo-content p:not(.author-promo-label){max-width:820px;margin:10px 0 0;color:#555951;line-height:1.75}.author-promo-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end;text-align:right}.author-promo-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 15px;border:1px solid #1f2b24;border-radius:6px;background:#1f2b24;color:#fff;font-weight:800;text-decoration:none}.author-promo-button:hover{text-decoration:none}.author-promo-note{max-width:260px;margin:0;color:#62665d;font-size:.9rem;line-height:1.5}.workspace{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(520px,1.1fr);align-items:start;gap:24px}.form-pane,.preview-pane{min-width:0}.form-pane,.document-form,.items-editor,.stacked-fields{display:flex;flex-direction:column;gap:16px}.action-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid #deded6;border-radius:8px;background:#fffffff0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-group{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.copy-message{position:absolute;right:14px;bottom:-28px;color:#2f6b4f;font-size:.9rem}.button,.chip-button,.text-button{border:0;border-radius:6px;font-weight:700}.button{padding:10px 14px;border:1px solid #cfcfc5;background:#fff;color:#252525}.button.primary{border-color:#1f2b24;background:#1f2b24;color:#fff}.button.secondary{background:#f7f7f3}.button:disabled{cursor:not-allowed;opacity:.58}.button.small{padding:8px 10px;font-size:.92rem}.form-section{padding:20px;border:1px solid #deded6;border-radius:8px;background:#fff}.form-section h2{margin:0 0 16px;color:#20211f;font-size:1.1rem}.section-title-row,.item-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.field-grid{display:grid;gap:14px}.nested-field-grid{margin-top:16px}.collapsible-field-group{margin-top:2px}.collapsible-field-toggle{display:flex;align-items:center;width:100%;gap:12px;padding:14px 16px;border:1px solid #d6d8ce;border-radius:8px;background:#f8f8f4;color:#20211f;font-size:.98rem;font-weight:800;text-align:left}.collapsible-field-toggle:hover{background:#f1f2ec}.collapsible-field-toggle:focus-visible{outline:3px solid rgba(56,77,58,.22);outline-offset:2px}.collapsible-field-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;color:#3c4139;font-size:1.05rem;line-height:1}.collapsible-field-content{padding:2px 0 0}.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.item-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.item-grid>label{min-width:0}label,.template-label{display:flex;flex-direction:column;gap:7px;color:#464a43;font-size:.92rem;font-weight:700}input,select,textarea{width:100%;border:1px solid #d1d3c8;border-radius:6px;background:#fff;color:#252525;line-height:1.45}input,select{min-height:42px;padding:9px 10px}textarea{resize:vertical;padding:10px}input:focus,select:focus,textarea:focus{border-color:#697260;outline:3px solid rgba(105,114,96,.18)}.span-two,.wide-field{grid-column:1 / -1}.item-card{padding:14px;border:1px solid #e1e1d9;border-radius:8px;background:#fbfbf8}.text-button{padding:6px 0;background:transparent;color:#4f564c}.text-button.danger{color:#9b2d2d}.item-subtotal{margin:12px 0 0;text-align:right;color:#343832;font-weight:800}.totals-summary,.preview-totals{display:flex;flex-direction:column;gap:8px;margin-top:16px;padding-top:14px;border-top:1px solid #deded6}.totals-summary div,.preview-totals div{display:flex;justify-content:space-between;gap:16px}.grand-row,.preview-total-main{margin-top:1.5mm;padding:2.4mm;border-top:1px solid #b8bdae;border-radius:0;color:#20211f;font-size:10pt}.template-buttons{display:flex;flex-wrap:wrap;gap:8px}.image-upload-card{display:flex;flex-direction:column;gap:10px;padding:14px;border:1px solid #e1e1d9;border-radius:8px;background:#fbfbf8}.logo-upload-preview{display:flex;align-items:center;justify-content:center;height:118px;overflow:hidden;border:1px dashed #c9cbc2;border-radius:6px;background:#fff;color:#767a71}.logo-upload-preview img{display:block;max-width:100%;max-height:104px;object-fit:contain}.upload-note{margin:-2px 0 0;color:#62665d;font-size:.86rem;line-height:1.5}.template-label{margin:0 0 8px}.chip-button{max-width:100%;padding:8px 10px;border:1px solid #d6d8ce;background:#f7f7f3;color:#3c4139;font-size:.88rem;line-height:1.4;text-align:left}.preview-pane{position:sticky;top:16px}.payment-preview{overflow:hidden;width:100%;max-width:210mm;min-height:297mm;margin:0 auto;padding:12mm;border:1px solid #e0e0d8;border-radius:2px;background:#fff;box-shadow:0 10px 30px #24262012;color:#222;font-size:9.5pt}.preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12mm;padding-bottom:4mm;border-bottom:1.5pt solid #252525}.preview-label{margin:0 0 2mm;color:#70746c;font-size:7.5pt;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.preview-header h2{margin:0;color:#20211f;font-size:20pt;line-height:1.15}.preview-header-side{display:flex;flex-direction:column;align-items:flex-end;gap:2mm}.preview-meta{min-width:44mm;color:#464a43;font-size:8.8pt;text-align:right}.preview-meta p,.preview-party p,.payment-info-grid p{margin:2mm 0 0}.preview-party .empty-detail{visibility:hidden}.preview-meta span,.preview-party span,.payment-info-grid span{display:inline-block;margin-right:8px;color:#767a71;font-size:.86em;font-weight:700}.preview-party-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12mm;margin-top:6mm}.preview-party h3,.preview-block h3{margin:0 0 2.5mm;color:#20211f;font-size:10pt}.preview-party strong{display:block;margin-bottom:2mm;font-size:10pt}.preview-logo-box{display:flex;align-items:center;justify-content:flex-end;width:32mm;height:12mm;overflow:hidden}.preview-logo-box img{display:block;max-width:100%;max-height:100%;object-fit:contain}.preview-block{margin-top:6mm}.preview-table-wrap{overflow-x:auto}.preview-table{width:100%;border-collapse:collapse;font-size:8.7pt}.preview-table th,.preview-table td{padding:2.4mm 2mm;border-bottom:1px solid #e3e3dc;text-align:left;vertical-align:top}.preview-table th{border-top:1px solid #c9cbc2;border-bottom-color:#c9cbc2;color:#555951;font-size:.82rem}.number-cell{text-align:right;white-space:nowrap}.preview-totals{max-width:76mm;gap:1.8mm;margin-top:4mm;padding-top:3mm;font-size:9pt;margin-left:auto;color:#373a35}.preview-totals strong{text-align:right}.payment-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1mm 8mm}.multiline{margin:0;color:#464a43;line-height:1.5;white-space:pre-wrap}@media(max-width:1100px){.workspace{grid-template-columns:1fr}.preview-pane{position:static}}@media(max-width:760px){.site-header{flex-direction:column;padding:28px 18px 16px}.privacy-note{align-self:stretch;max-width:none}.app-shell{padding:0 18px 32px}.support-section,.author-promo-card{grid-template-columns:1fr;padding:18px}.author-promo-actions{align-items:stretch;text-align:left}.author-promo-button{width:100%}.author-promo-note{max-width:none}.support-actions{justify-content:stretch}.support-actions .button,.support-actions .boba-button{width:100%}.support-message{position:static;min-height:20px}.action-bar{position:static;align-items:stretch;flex-direction:column}.action-group{justify-content:stretch}.action-group .button,.action-bar>.button{width:100%}.copy-message{position:static;min-height:20px}.two-columns,.item-grid,.preview-party-grid,.payment-info-grid{grid-template-columns:1fr}.form-section,.payment-preview{padding:18px}.preview-header{align-items:flex-start;flex-direction:row}.preview-meta{text-align:right}.preview-totals{max-width:none}}.header-tool-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.header-tool-shortcuts a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 13px;border:1px solid #d7dacd;border-radius:999px;background:#fff;color:#3f453d;font-size:.9rem;font-weight:800;line-height:1;text-decoration:none}.header-tool-shortcuts a:hover{border-color:#aeb4a5;background:#f6f7f1;text-decoration:none}.header-tool-shortcuts a[aria-current=page]{border-color:#1f2b24;background:#1f2b24;color:#fff}.tool-links-section{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:24px;align-items:stretch;margin-top:24px;padding:22px;border:1px solid #deded6;border-radius:8px;background:#fff}.tool-links-intro h2{margin:0;color:#20211f;font-size:1.25rem}.tool-links-intro p{max-width:720px;margin:8px 0 0;color:#555951;line-height:1.7}.tool-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tool-card{display:flex;min-height:148px;flex-direction:column;gap:8px;padding:14px;border:1px solid #deded6;border-radius:8px;background:#fbfbf8;color:inherit;text-decoration:none}.tool-card:hover{border-color:#aeb4a5;background:#f6f7f1;text-decoration:none}.tool-card[aria-current=page]{border-color:#1f2b24;background:#f7f8f2}.tool-card span{color:#6b6f68;font-size:.76rem;font-weight:800}.tool-card strong{color:#20211f;font-size:1rem}.tool-card p{margin:0;color:#555951;font-size:.9rem;line-height:1.6}@media(max-width:1100px){.tool-links-section{grid-template-columns:1fr}}@media(max-width:760px){.header-tool-shortcuts{gap:8px;margin-top:14px}.header-tool-shortcuts a{min-height:34px;padding:0 12px;font-size:.86rem}.tool-links-section{padding:18px}.tool-card-grid{grid-template-columns:1fr}.tool-card{min-height:auto}}@page{size:A4;margin:12mm}@media print{:root,body{background:#fff;font-size:9.5pt}body *{visibility:hidden!important}.preview-pane,.preview-pane *,.payment-preview,.payment-preview *{visibility:visible!important}.site-header,.form-pane,.action-bar,.support-section,.author-promo-section,.tool-links-section,.header-tool-shortcuts{display:none!important}.app-shell{max-width:none;margin:0;padding:0}.workspace{display:block}.preview-pane{position:static;display:block!important}.payment-preview{width:100%;padding:0;border:0;border-radius:0;box-shadow:none;color:#222;overflow:visible}.preview-header,.preview-party-grid,.preview-block,.preview-totals{break-inside:avoid;page-break-inside:avoid}.preview-header{gap:12mm;align-items:flex-start;padding-bottom:4mm;border-bottom-width:1.5pt}.preview-header-side{gap:2mm}.preview-party-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12mm;margin-top:6mm}.preview-party p,.preview-meta p{margin-top:2mm}.preview-logo-box{width:32mm;height:12mm}.preview-block{margin-top:6mm}.preview-table{break-inside:auto;font-size:8.7pt}.preview-table tr{break-inside:avoid;page-break-inside:avoid}.preview-table th,.preview-table td{padding:2.4mm 2mm;border-color:#b8b8b8}.preview-header h2{font-size:20pt}.preview-party h3,.preview-block h3{margin-bottom:2.5mm;font-size:10pt}.preview-party strong{margin-bottom:2mm;font-size:10pt}.preview-meta{min-width:44mm;font-size:8.8pt}.preview-label{margin-bottom:2mm;font-size:7.5pt}.preview-totals{max-width:76mm;gap:1.8mm;margin-top:4mm;padding-top:3mm;font-size:9pt}.preview-total-main{margin-top:1.5mm;padding:2.4mm;border-radius:0;font-size:10pt}.payment-info-grid{grid-template-columns:1fr 1fr;gap:1mm 8mm}.multiline{line-height:1.5}}
