:root{--purple:#7155dd;--dark:#5538b7;--ink:#292439;--muted:#776d86;--line:#e6e1ed;--bg:#f7f5fa;font-family:Inter,-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg)}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a995f4;outline-offset:3px}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:white;padding:12px;z-index:100}.skip-link:focus{top:12px}.topbar{height:84px;padding:0 max(24px,calc((100vw - 1392px)/2));display:flex;align-items:center;justify-content:space-between;background:white;border-bottom:1px solid var(--line);gap:18px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:20px;font-weight:750}.brand-icon{display:grid;place-items:center;background:var(--purple);color:white;border-radius:12px;width:43px;height:43px;font-size:29px}.brand small{display:block;font-size:9px;letter-spacing:1.7px;color:var(--muted);margin-top:5px}.topbar nav,footer nav{display:flex;gap:24px;font-size:12px;color:var(--muted)}.topbar nav a{text-decoration:none}main{max-width:1440px;padding:0 24px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:38px 0 27px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#8062a0;margin:0 0 13px}h1{font-size:30px;letter-spacing:-.7px;margin:0}.lead{font-size:14px;color:var(--muted);line-height:1.8;margin:11px 0 0}.perks{display:flex;gap:19px;font-size:11px;color:var(--muted);white-space:nowrap}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 17px;background:white;border:1px solid var(--line);border-radius:13px}.toolbar-left{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.status-dot,.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7d63c5;flex-shrink:0}.toolbar-actions{display:flex;align-items:center;gap:9px}.toolbar-actions>button:not(.button){border:0;background:none;color:#736582;font-size:11px;padding:11px 10px;min-height:40px}.button{border:1px solid #ded6e9;padding:10px 15px;min-height:42px;border-radius:8px;background:white;color:#645575;display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:12px;font-weight:600;transition:background .15s}.button:hover:not(:disabled){background:#f5efff}.button.primary{background:var(--purple);border-color:var(--purple);color:white;box-shadow:0 4px 12px #7155dd20}.button.primary:hover:not(:disabled){background:var(--dark)}.button.secondary{background:#f8f5fe;color:#725393}.wide{width:100%}.export-help{font-size:10px;color:var(--muted);line-height:1.8;margin:9px 2px 19px}.workspace{display:grid;grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);gap:25px;align-items:start}#editor{min-width:0}.panel{padding:25px;background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:18px}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.panel-title h2{font-size:15px;margin:0;display:flex;align-items:center;gap:11px}.panel-title h2>span{font-size:10px;color:#9a82b1;font-weight:500}.badge{font-size:10px;color:#79618e;border-radius:6px;background:#f4effa;padding:5px 8px}.optional{font-size:10px;color:#7c7285;font-weight:400}.required{font-size:9px;color:#846795;font-weight:400;margin-left:5px}label{display:block;font-size:11px;font-weight:600;color:#6b5e79;margin:0 0 8px}input:not([type=file]),select,textarea{width:100%;min-width:0;border:1px solid #ded7e7;border-radius:7px;padding:10px 11px;color:var(--ink);font-size:13px;line-height:1.5;background:#fefeff;min-height:41px}input:not([type=file]),select{margin-bottom:16px}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9a8fa6;font-size:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.section-label{font-size:11px;color:#79548e;border-top:1px solid #eee8f3;padding-top:20px;margin:8px 0 18px;font-weight:650;letter-spacing:.5px}.logo-control{min-width:0}input[type=file]{width:100%;font-size:10px;color:var(--muted);margin:2px 0 7px}input[type=file]::file-selector-button{background:#f6f1fc;border:1px solid #e2d9ed;border-radius:5px;font-size:10px;color:#78598e;padding:9px;margin-right:6px;cursor:pointer}.logo-caption{font-size:9px;line-height:1.7;color:var(--muted);margin-bottom:15px}.logo-caption button{border:0;background:none;color:var(--purple);font-size:10px}.helper{font-size:10px;line-height:1.85;color:var(--muted);margin:7px 0 15px}.item-card{padding:16px;border:1px solid #e9e3ef;background:#fcfafe;border-radius:10px;margin-bottom:11px}.item-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:10px;color:#826496}.item-title button{border:0;background:none;padding:5px;color:#877891;min-width:32px;min-height:30px;font-size:11px}.item-fields{display:grid;grid-template-columns:1fr .7fr 1.2fr;gap:12px}.item-card input{margin-bottom:12px}.item-sum{display:flex;justify-content:space-between;color:#7e6b8d;font-size:10px}.item-sum strong{font-size:12px;color:#584569;font-variant-numeric:tabular-nums}.draft-tools{padding:6px 4px 0}.draft-tools h2{font-size:14px;margin:0 0 10px}.draft-tools>p{font-size:11px;line-height:1.9;color:var(--muted)}.draft-tools>div{display:flex;gap:7px;flex-wrap:wrap}.draft-tools .button{font-size:10px;padding:9px 12px;min-height:38px}.preview-panel{position:sticky;top:20px;min-width:0}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;padding:5px 4px 17px;font-size:11px;color:var(--muted)}.preview-toolbar>div{display:flex;align-items:center;gap:9px}.preview-toolbar strong{font-weight:600;color:#61506f}.preview-label{font-size:9px;letter-spacing:.6px;margin-left:8px}.paper-wrap{padding:26px;background:#eae5f0;border:1px solid #e2dae9;border-radius:12px;max-height:calc(100dvh - 150px);overflow:auto;scrollbar-width:thin}.paper{background:white;min-height:730px;padding:39px 34px;box-shadow:0 8px 24px #4c385410;font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:10px;line-height:1.8;color:#3d3746;overflow-wrap:anywhere}.doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-top:4px solid #7355bd;padding-top:22px}.doc-logo{max-width:110px;max-height:65px;object-fit:contain;object-position:left center;display:block;margin-bottom:12px}.doc-brand{font-size:15px;font-weight:700;line-height:1.6;margin:0 0 8px}.doc-contact{font-size:9px;color:#726879;white-space:pre-wrap;line-height:1.9;margin:0}.doc-wordmark{font-family:Georgia,serif;text-align:right;font-size:27px;line-height:1.2;letter-spacing:-1px;color:#7355a1;font-weight:400}.doc-wordmark small{display:block;font-family:inherit;font-size:9px;letter-spacing:2px;margin-top:7px;color:#8b759f;white-space:nowrap}.doc-title{font-size:19px;line-height:1.6;margin:30px 0 16px;letter-spacing:.2px}.doc-details{display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #e9e4ec;padding:16px 0 22px}.doc-label{font-size:8px;letter-spacing:1px;color:#8d769d;margin:0 0 7px}.doc-client{font-size:12px;font-weight:650;margin:0 0 5px;line-height:1.7}.doc-meta{margin:0;font-size:9px;color:#76697e}.doc-meta div{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.doc-meta dt{white-space:nowrap}.doc-meta dd{margin:0;text-align:right}.doc-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:9px}.doc-table th{text-align:left;background:#f4f0f8;padding:10px 6px;font-weight:550;color:#705384;font-size:8px;border-bottom:1px solid #ded4e7}.doc-table td{padding:12px 6px;border-bottom:1px solid #ece7f0;vertical-align:top;word-break:normal;overflow-wrap:anywhere;white-space:pre-wrap}.doc-table .num{text-align:right;font-variant-numeric:tabular-nums}.doc-totals{width:61%;margin:18px 0 25px auto;font-size:10px}.doc-totals div{display:flex;justify-content:space-between;gap:16px;margin:6px 0;font-variant-numeric:tabular-nums}.doc-totals .grand-total{padding-top:12px;border-top:1px solid #dad0e4;margin-top:12px;font-size:16px;font-weight:700;color:#654592;align-items:center}.grand-total span{font-size:10px;font-weight:500}.doc-notes{border-top:1px solid #e9e1ef;padding-top:16px;margin-top:25px;white-space:pre-wrap;font-size:10px;color:#75657e;line-height:1.9}.doc-notes strong{display:block;color:#665171;font-size:9px;letter-spacing:.6px;margin-bottom:6px}.doc-ending{padding-top:30px;margin-top:25px;border-top:1px solid #e9e1ef;display:flex;justify-content:space-between;gap:24px;font-size:9px;color:#8a7b94}.doc-ending span{display:block;border-top:1px solid #c9bed1;min-width:100px;padding-top:8px}.preview-footer{display:flex;justify-content:space-between;gap:14px;padding:14px 3px 0;font-size:10px;color:#7c6a8a}.preview-footer #total-chip{font-weight:650;color:#725197;font-variant-numeric:tabular-nums}.preview-note{font-size:9px;margin:8px 3px}.validation{color:#a13256;background:#fff1f3;border:1px solid #efc7d2;font-size:12px;padding:12px;border-radius:8px;margin:0 0 12px;line-height:1.8}.paper.invalid{opacity:.5}.mobile-edit{display:none}.guide{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:70px 0 50px;border-bottom:1px solid var(--line)}.guide h2,.faq h2{font-size:23px;line-height:1.6;font-weight:650;margin:0;letter-spacing:-.4px}.guide-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.guide-steps article>span{font-size:9px;letter-spacing:1px;color:#8c6ea4}.guide-steps h3{font-size:14px;margin:14px 0 9px;font-weight:650}.guide-steps p,.faq details p{font-size:12px;line-height:1.95;color:var(--muted);margin:0}.faq{display:grid;grid-template-columns:1fr 2fr;gap:45px;padding:50px 0}.faq details{padding:17px 0;border-bottom:1px solid var(--line)}.faq details:first-child{padding-top:0}.faq summary{font-size:13px;color:#675371;cursor:pointer;line-height:1.8}.faq details p{margin-top:13px}.service-cta{padding:32px 35px;background:#eee7f8;border:1px solid #e2d6ef;border-radius:14px;display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:45px}.service-cta h2{font-size:21px;font-weight:650;margin:0 0 12px}.service-cta p:not(.eyebrow){font-size:12px;color:#79638c;line-height:1.9;margin:0}.service-cta a{white-space:nowrap;background:#fbf9ff}footer{padding:25px max(24px,calc((100vw - 1392px)/2));border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;background:white;color:#7b6c89;font-size:11px}footer nav{font-size:11px;gap:20px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#332542;color:white;border-radius:10px;padding:14px 20px;max-width:90vw;font-size:13px;line-height:1.8;z-index:100;box-shadow:0 5px 18px #30204020}dialog{border:1px solid var(--line);border-radius:16px;padding:28px;max-width:440px;width:calc(100% - 40px);color:var(--ink)}dialog::backdrop{background:#30213e60}dialog h2{font-size:18px;margin:0 0 14px}dialog p{font-size:13px;color:var(--muted);line-height:1.9}dialog form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
@media(max-width:1150px){.workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.paper-wrap{padding:16px}.paper{padding:27px 22px}.perks{gap:12px;font-size:10px}.panel{padding:21px}.doc-wordmark{font-size:23px}.doc-title{font-size:17px}.doc-totals{width:75%}.toolbar-left{max-width:220px;line-height:1.7}.guide,.faq{gap:30px}.guide-steps{gap:20px}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.preview-panel{position:static;grid-row:1}.paper-wrap{max-height:560px;padding:25px}.paper{max-width:650px;margin:auto;padding:35px;min-height:650px}.preview-footer,.preview-note{padding-left:3px}.mobile-edit{display:block;font-size:11px}.perks{display:none}.toolbar{align-items:flex-start}.toolbar-left{max-width:170px}.toolbar-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}.guide,.faq{grid-template-columns:1fr 2fr}.doc-totals{width:60%}}
@media(max-width:600px){.topbar{height:74px;padding:0 18px}.brand{font-size:18px;gap:10px}.brand-icon{width:38px;height:38px}.topbar nav{font-size:10px;gap:14px}main{padding:0 15px}.intro{padding:28px 1px 23px}h1{font-size:25px}.eyebrow{font-size:8px;letter-spacing:1.4px}.lead{font-size:12px;margin-top:9px}.toolbar{display:block;padding:13px}.toolbar-left{max-width:none;margin-bottom:11px;font-size:10px}.toolbar-actions{justify-content:space-between;gap:5px}.toolbar-actions>button:not(.button){font-size:10px;padding:8px 4px}.toolbar-actions .button{font-size:11px;padding:9px 10px;min-height:39px}.export-help{font-size:10px;margin-bottom:16px}.preview-toolbar{padding-bottom:12px}.preview-panel{grid-row:auto}.paper-wrap{padding:10px;max-height:570px}.paper{padding:24px 19px;min-height:590px}.doc-brand{font-size:12px}.doc-wordmark{font-size:21px}.doc-contact{font-size:8px}.doc-title{font-size:16px;margin-top:22px}.doc-meta{font-size:8px}.doc-details{gap:12px}.doc-client{font-size:10px}.doc-table{font-size:8px}.doc-table th{font-size:7px;padding:9px 4px}.doc-table td{padding:10px 4px}.doc-totals{width:75%;font-size:9px}.doc-totals .grand-total{font-size:14px}.doc-notes{font-size:9px}.doc-ending{font-size:8px}.doc-ending span{min-width:85px}.panel{padding:21px 18px}.panel-title{margin-bottom:23px}.panel-title h2{font-size:14px}.badge{font-size:9px}.form-grid{gap:0 12px}input:not([type=file]),textarea,select{font-size:16px}label{font-size:12px}.required,.optional{font-size:9px}.helper{font-size:11px}.logo-control{grid-column:1/-1;grid-row:3}.item-card{padding:13px}.item-fields{grid-template-columns:1fr .8fr 1.2fr;gap:8px}.preview-note{font-size:10px}.draft-tools .button{min-height:42px;font-size:11px}.guide{display:block;padding:45px 3px 35px}.guide h2,.faq h2{font-size:22px}.guide-steps{grid-template-columns:1fr;gap:24px;margin-top:30px}.guide-steps article{border-left:2px solid #e2d7ed;padding-left:16px}.guide-steps h3{margin:8px 0}.faq{display:block;padding:35px 3px}.faq h2{margin-bottom:25px}.faq h2 br{display:none}.faq summary{font-size:13px}.service-cta{display:block;padding:25px 22px;margin-bottom:32px}.service-cta h2{font-size:19px}.service-cta a{margin-top:20px}footer{display:block;padding:24px 19px}footer nav{margin-top:14px;flex-wrap:wrap;gap:17px}.preview-footer{font-size:9px}.item-sum{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@page{size:A4;margin:15mm 14mm}
@media print{body{background:#fff}body>*:not(main),main>*:not(.workspace),.workspace>*:not(.preview-panel),.preview-panel>*:not(.paper-wrap){display:none!important}main,.workspace,.preview-panel,.paper-wrap{display:block!important;position:static!important;margin:0!important;padding:0!important;max-width:none!important;width:auto!important;max-height:none!important;overflow:visible!important;background:white!important;border:0!important;border-radius:0!important;box-shadow:none!important}.paper{padding:0!important;margin:0!important;min-height:0!important;max-width:none!important;box-shadow:none!important;opacity:1!important;font-size:10pt;line-height:1.65}.doc-head{padding-top:6mm;break-inside:avoid}.doc-logo{max-height:18mm;max-width:35mm}.doc-brand{font-size:15pt}.doc-contact,.doc-meta{font-size:9pt}.doc-wordmark{font-size:28pt}.doc-wordmark small{font-size:8pt}.doc-title{font-size:19pt;margin:9mm 0 5mm;break-after:avoid}.doc-details{font-size:10pt;break-inside:avoid}.doc-label{font-size:8pt}.doc-client{font-size:12pt}.doc-table{font-size:9pt;line-height:1.65}.doc-table th{font-size:8pt;background:#f4f0f8!important;print-color-adjust:exact}.doc-table td{padding:4mm 2mm}.doc-table thead{display:table-header-group}.doc-table tr{break-inside:avoid}.doc-totals{width:62%;font-size:10pt;break-inside:avoid}.doc-totals .grand-total{font-size:16pt}.grand-total span{font-size:10pt}.doc-notes{font-size:10pt;white-space:pre-wrap;orphans:3;widows:3}.doc-notes strong{font-size:9pt;break-after:avoid}.doc-ending{font-size:9pt;break-inside:avoid;padding-top:12mm}.doc-ending span{min-width:40mm}.doc-wordmark,.grand-total{color:#563879!important;print-color-adjust:exact}}

.doc-table col:nth-child(1){width:43%}.doc-table col:nth-child(2){width:13%}.doc-table col:nth-child(3){width:21%}.doc-table col:nth-child(4){width:23%}

.item-card textarea{margin-bottom:12px;min-height:65px}
