/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#1d2330;--muted:#77808f;--line:#e5e8ef;--bg:#f5f6f8;--indigo:#4f46e5;--green:#2ca44f;--red:#e53e4f;--amber:#e8891c}.auth-screen{background:radial-gradient(circle at 50% 15%,#34366d 0,#171d2b 45%,#0f1420 100%);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{text-align:center;background:#fff;border:1px solid #ffffff24;border-radius:20px;width:min(460px,100%);padding:40px;box-shadow:0 30px 80px #0006}.auth-logo{color:#fff;background:linear-gradient(135deg,#6d66f0,#3732a7);border-radius:16px;place-items:center;width:58px;height:58px;margin:0 auto 18px;font-size:27px;font-weight:800;display:grid}.auth-card h1{margin:7px 0 10px;font-size:28px}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.7}.auth-card small{color:#9299a5;margin-top:22px;display:block}.auth-actions{justify-content:center;gap:10px;margin-top:24px;display:flex}.auth-actions a{border-radius:9px;justify-content:center;align-items:center;padding:11px 16px;text-decoration:none;display:inline-flex}.auth-loading{border:3px solid #e4e3ff;border-top-color:var(--indigo);border-radius:50%;width:32px;height:32px;margin:24px auto 0;animation:.8s linear infinite spin}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;display:flex}.sidebar{color:#aab3c2;z-index:10;background:linear-gradient(#101725,#141b28);flex-direction:column;align-items:center;width:104px;padding:18px 10px;display:flex;position:fixed;inset:0 auto 0 0}.mark{color:#fff;letter-spacing:-1px;background:linear-gradient(145deg,#7167ff,#3c37d8);border-radius:14px;place-items:center;width:54px;height:54px;margin-bottom:24px;font-weight:800;display:grid;box-shadow:0 8px 24px #201c8b66}.sidebar nav{gap:8px;width:100%;display:grid}.nav-item{color:inherit;background:0 0;border:0;border-radius:10px;justify-items:center;gap:4px;padding:10px 4px;font-size:12px;display:grid}.nav-item span{font-size:23px;line-height:1}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff12}.nav-item.active:after{content:"";background:#756dff;border-radius:0 4px 4px 0;width:3px;height:34px;position:absolute;left:0}.company{align-items:center;gap:7px;margin-top:auto;font-size:9px;line-height:1.4;display:flex}.company>b{color:#171f2e;background:#fff;border-radius:7px;place-items:center;width:26px;height:26px;display:grid}.company small{color:#758091}.workspace{width:calc(100% - 104px);max-width:1800px;margin-left:104px;padding:26px 30px 34px}.topbar{grid-template-columns:auto minmax(280px,520px) 1fr;align-items:center;gap:32px;margin-bottom:24px;display:grid}.eyebrow{letter-spacing:.16em;color:#8c95a3;margin:0 0 3px;font-size:10px;font-weight:700}h1{letter-spacing:-.04em;margin:0;font-size:29px}.search{border:1px solid var(--line);color:#788190;background:#fff;border-radius:10px;align-items:center;height:46px;padding:0 13px;display:flex;box-shadow:0 1px 2px #151b2810}.search span{margin-right:8px;font-size:23px}.search input{background:0 0;border:0;outline:0;flex:1;min-width:0}kbd{background:#f8f9fb;border:1px solid #dfe2e8;border-radius:5px;padding:3px 7px;font-size:11px}.top-actions{justify-self:end;gap:10px;display:flex}.date,.ghost{border:1px solid var(--line);color:#4d5664;background:#fff;border-radius:9px;padding:11px 14px}.primary{color:#fff;background:linear-gradient(135deg,#6159eb,#4338ca);border:0;border-radius:9px;padding:12px 17px;font-weight:700;box-shadow:0 5px 14px #4f46e530}.metrics{grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:15px;display:grid}.metrics article{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;min-width:0;padding:17px 18px 15px;transition:transform .14s,border-color .14s,box-shadow .14s;box-shadow:0 1px 2px #11182708}.metrics article:hover{border-color:#c9c6fb;transform:translateY(-2px);box-shadow:0 7px 18px #302b7412}.metric-head{justify-content:space-between;align-items:center;font-weight:650;display:flex}.metric-head i{border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;font-style:normal;display:grid}.metric-head .green{color:#62ad20;background:#eff8e6}.metric-head .red{color:var(--red);background:#fff0f1}.metric-head .amber{color:var(--amber);background:#fff4e5}.metric-head .indigo{color:var(--indigo);background:#efefff}.metrics strong{font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:29px;display:block}.metrics .amount{color:var(--indigo);font-size:24px}.metrics .danger{color:var(--red)}.metrics small,.inventory-card small{color:var(--muted);margin-top:3px;display:block}.alert{color:#be3141;background:#fff7f7;border:1px solid #ffc9ce;border-radius:10px;align-items:center;gap:12px;min-height:58px;margin-bottom:15px;padding:9px 16px;display:flex}.alert-icon{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:25px;height:25px;font-weight:800;display:grid}.alert p{margin:2px 0 0;font-size:12px}.alert button{color:#4338ca;background:0 0;border:0;margin-left:auto;font-weight:700}.inventory-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 5px #11182708}.toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:65px;padding:11px 14px;display:flex}.tabs,.filters{align-items:center;gap:8px;display:flex}.tabs button{border:1px solid var(--line);color:#525b69;background:#fff;border-radius:8px;padding:9px 12px}.tabs button.selected{color:var(--indigo);border-color:#928cf6;box-shadow:inset 0 0 0 2px #eeedff}.tabs b{background:#eef0ff;border-radius:12px;margin-left:5px;padding:2px 7px}.tabs .red-count{color:var(--red);background:#fff0f1}.filters label{color:#737b88;align-items:center;gap:7px;font-size:12px;display:flex}.filters select{border:1px solid var(--line);color:#323945;background:#fff;border-radius:8px;min-width:108px;padding:9px 29px 9px 10px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:1120px}th{text-align:left;color:#68717e;letter-spacing:.04em;border-bottom:1px solid var(--line);background:#fafbfc;height:43px;padding:0 14px;font-size:11px}td{white-space:nowrap;border-bottom:1px solid #eceef2;height:61px;padding:8px 14px}tbody tr{cursor:pointer;transition:background .12s}tbody tr:hover{background:#f8f8ff}td b{font-size:13px}.num{text-align:center;font-variant-numeric:tabular-nums}.muted{color:#9098a5}.available{color:var(--green);font-weight:700}.available.low{color:var(--red)}.location{background:#f3f5f7;border-radius:5px;padding:4px 6px;font-family:ui-monospace,monospace}.project{color:#4640d8;background:#efefff;border:1px solid #dedcff;border-radius:5px;padding:4px 7px;font-size:11px}.status{border-radius:14px;padding:5px 9px;font-size:11px;font-weight:700}.status.low{color:#cf3344;background:#fff0f1}.status.ok{color:#25873d;background:#ecf8e8}.status.held{color:#c7690b;background:#fff1df}.more{letter-spacing:2px;background:0 0;border:0;border-radius:6px;padding:6px}.more:hover{background:#eceefa}.empty{text-align:center;color:var(--muted);padding:70px}.table-footer{color:#7b8491;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.table-footer button{border:1px solid var(--line);background:#fff;min-width:34px;height:32px;margin-left:-1px}.table-footer .page{background:var(--indigo);color:#fff;border-color:var(--indigo)}.overlay,.drawer-backdrop{z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10162588;place-items:center;animation:.16s fade;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:15px;width:min(500px,100vw - 30px);padding:22px;animation:.18s rise;box-shadow:0 24px 60px #10162545}.modal-head{justify-content:space-between;align-items:start;display:flex}.modal h2,.drawer h2{margin:2px 0 12px;font-size:24px}.modal-head>button,.close{background:#f2f3f6;border:0;border-radius:50%;width:32px;height:32px;font-size:20px}.move-tabs{background:#f0f1f5;border-radius:9px;grid-template-columns:1fr 1fr;margin:8px 0 19px;padding:3px;display:grid}.move-tabs button{background:0 0;border:0;border-radius:7px;padding:9px}.move-tabs .selected{color:var(--indigo);background:#fff;font-weight:700;box-shadow:0 1px 4px #20263a15}.field{color:#626b78;gap:7px;margin:13px 0;font-size:12px;font-weight:600;display:grid}.field input,.field select{background:#fff;border:1px solid #dfe2e8;border-radius:8px;outline:none;width:100%;padding:11px}.field input:focus,.field select:focus{border-color:#7770ee;box-shadow:0 0 0 3px #efeeff}.field input[readonly]{color:var(--ink);cursor:default;background:#f7f8fa}.field small{color:var(--muted);font-weight:400;line-height:1.45}.field-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.balance{background:#f7f8fa;border-radius:9px;grid-template-columns:1fr auto;gap:7px;padding:13px;display:grid}.balance span{color:var(--muted)}.balance b{font-variant-numeric:tabular-nums}.modal-actions{justify-content:flex-end;gap:8px;margin-top:19px;display:flex}.drawer-backdrop{place-items:stretch end}.drawer{background:#fff;width:min(420px,100vw);height:100%;padding:34px 30px;animation:.2s slide;position:relative;box-shadow:-20px 0 50px #10162530}.close{position:absolute;top:22px;right:22px}.drawer code{color:var(--indigo);background:#f0efff;border-radius:5px;padding:5px 8px}.stock-hero{color:#fff;background:linear-gradient(135deg,#191d2d,#34366d);border-radius:13px;margin:28px 0;padding:22px}.stock-hero span{opacity:.7;display:block}.stock-hero strong{margin-right:6px;font-size:48px}.stock-hero small{color:#fff;opacity:.7;display:inline}dl{margin:0}dl div{border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 2px;display:flex}dt{color:var(--muted)}dd{text-align:right;margin:0;font-weight:650}.drawer-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid;position:absolute;bottom:30px;left:30px;right:30px}.drawer-actions button{border:1px solid var(--line);background:#fff;border-radius:9px;padding:12px}.toast{z-index:80;color:#fff;background:#202635;border-radius:9px;padding:12px 18px;animation:.2s rise;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #11182740}.module-screen{z-index:8;background:var(--bg);padding:32px;animation:.16s fade;position:fixed;inset:0 0 0 104px;overflow:auto}.module-top{justify-content:space-between;align-items:flex-start;gap:30px;max-width:1280px;min-height:118px;margin:auto;display:flex}.module-top h1{font-size:34px}.module-top>div>p:last-child{color:var(--muted);margin:10px 0 0}.module-stats{grid-template-columns:repeat(4,1fr);gap:14px;max-width:1280px;margin:10px auto 20px;display:grid}.module-stats button{text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:20px;transition:all .15s}.module-stats button:hover{border-color:#aaa6f7;transform:translateY(-2px);box-shadow:0 8px 20px #29256812}.module-stats span,.module-stats small{color:var(--muted);display:block}.module-stats strong{margin:9px 0;font-size:26px;display:block}.module-stats small{font-size:11px}.module-list{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:1280px;margin:auto;overflow:hidden}.module-list-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.module-list-head h2{margin:0;font-size:17px}.module-list-head button{color:var(--indigo);background:0 0;border:0;font-weight:650}.module-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #eceef2;grid-template-columns:130px 1fr 240px 20px;align-items:center;gap:18px;width:100%;min-height:72px;padding:12px 20px;display:grid}.module-row:hover{background:#f8f8ff}.module-row code{color:var(--indigo)}.module-row span{color:var(--muted)}.module-row i{color:#9aa1ad;font-size:22px;font-style:normal}.demo-note{color:#4b45bb;background:#ecebff;border-radius:10px;gap:12px;max-width:1280px;margin:18px auto;padding:14px 17px;display:flex}.demo-note span{color:#6b66aa}.overview-detail{background:#fff;border-radius:15px;width:min(760px,100vw - 30px);max-height:82vh;padding:24px;overflow:auto;box-shadow:0 24px 60px #10162545}.overview-detail h2{margin:3px 0 14px}.overview-detail-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.overview-detail-list button{border:0;border-bottom:1px solid var(--line);text-align:left;background:#fff;grid-template-columns:130px 1fr 140px 18px;align-items:center;gap:14px;width:100%;min-height:66px;padding:12px 15px;display:grid}.overview-detail-list button:last-child{border-bottom:0}.overview-detail-list button:hover{background:#f7f7ff}.overview-detail-list code{color:var(--indigo)}.overview-detail-list span{color:var(--muted);text-align:right}.overview-detail-list i{color:#9aa1ad;font-size:20px;font-style:normal}.customer-screen{z-index:8;background:var(--bg);padding:32px;position:fixed;inset:0 0 0 104px;overflow:auto}.customer-head{justify-content:space-between;align-items:flex-start;gap:24px;max-width:1280px;margin:0 auto 22px;display:flex}.customer-head h1{font-size:34px}.customer-head>div>p:last-child{color:var(--muted);margin:9px 0 0}.customer-tools{justify-content:space-between;align-items:center;gap:18px;max-width:1280px;margin:0 auto 14px;display:flex}.customer-tools label{border:1px solid var(--line);max-width:540px;color:var(--muted);background:#fff;border-radius:9px;flex:1;align-items:center;gap:9px;padding:10px 13px;display:flex}.customer-tools input{background:0 0;border:0;outline:0;width:100%}.customer-tools>span{color:var(--muted)}.customer-table{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:1280px;margin:auto;overflow:auto}.customer-table table{min-width:1080px}.customer-table tbody tr{cursor:pointer}.customer-table td:last-child{text-align:right}.customer-code,.customer-code-unset{border-radius:6px;padding:4px 8px;font-family:inherit;font-size:12px;font-weight:750;display:inline-block}.customer-code{color:var(--indigo);background:#efefff}.customer-code-unset{color:var(--muted);background:#f1f2f5}.quote-screen{z-index:8;background:#eef0f4;padding:25px 30px 60px;position:fixed;inset:0 0 0 104px;overflow:auto}.quote-toolbar{justify-content:space-between;align-items:center;gap:20px;max-width:1450px;margin:0 auto 20px;display:flex}.quote-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.quote-toolbar h1{font-size:30px}.quote-toolbar>div>p:last-child{color:var(--muted);margin:5px 0 0}.quote-layout{grid-template-columns:230px minmax(0,210mm);justify-content:center;align-items:start;gap:22px;max-width:1045.7px;margin:auto;display:grid}.quote-help{border:1px solid var(--line);color:#68717e;background:#fff;border-radius:12px;gap:13px;padding:18px;display:grid;position:sticky;top:20px}.quote-help b{color:var(--ink);font-size:16px}.quote-help span{color:#a1a7b1}.quote-help span.done{color:#299347}.quote-help hr{border:0;border-top:1px solid var(--line);width:100%}.quote-help small{line-height:1.7}.quote-document-stage{width:100%;min-width:0}.a4-preview-frame{margin:0 auto;position:relative;overflow:visible}.quote-paper,.a4-document{box-sizing:border-box;aspect-ratio:auto;color:#161616;transform-origin:0 0;background:#fff;flex-direction:column;width:210mm;height:297mm;min-height:297mm;padding:10mm 9mm 7mm;font-family:Noto Serif TC,PMingLiU,Times New Roman,serif;display:flex;overflow:hidden;box-shadow:0 12px 40px #1b223020}.paper-head{box-sizing:border-box;border-bottom:0;flex:0 0 25mm;grid-template-columns:1fr 1fr;align-items:start;height:25mm;min-height:25mm;padding-bottom:3mm;display:grid;position:relative}.paper-head:after{content:"";pointer-events:none;background:#222;height:1px;position:absolute;bottom:0;left:0;right:0}.paper-head>div{grid-template-rows:5.2mm repeat(3,4.2mm);align-content:start;row-gap:.4mm;height:19mm;min-height:19mm;font-size:14px;display:grid}.paper-head>div span{line-height:4.2mm}.paper-head>div strong{font-size:18px;line-height:5.2mm}.paper-head h2{text-align:right;letter-spacing:.3em;margin:7px 0 0;font-size:30px;font-weight:500}.quote-meta{border-bottom:1px solid #222;grid-template-columns:1.2fr 1fr;grid-auto-rows:8mm;padding:1mm 0;display:grid}.quote-meta label,.quote-meta-row{grid-template-columns:22mm minmax(0,1fr);align-items:center;min-width:0;min-height:8mm;display:grid}.quote-meta input,.quote-meta select,.quote-meta .display-value,.quote-row input,.quote-row select,.quote-row textarea,.quote-row .display-cell,.quote-remark textarea{box-sizing:border-box;width:100%;min-width:0;height:28px;font:inherit;background:#f6f7fa;border:1px solid #0000;border-radius:3px;padding:3px 5px;line-height:20px}.quote-meta .display-value,.quote-row .display-cell{cursor:default;-webkit-user-select:text;user-select:text;background:0 0;border-color:#0000;display:block}.quote-row .display-cell.numeric{text-align:right}.quote-row .display-cell.centered{text-align:center}.quote-meta input:focus,.quote-meta select:focus,.quote-row input:focus,.quote-row select:focus,.quote-row textarea:focus,.quote-remark textarea:focus{background:#fff;outline:2px solid #7770ee}.quote-meta input[readonly]{color:#252a34;cursor:default}.customer-select-wrap{grid-template-columns:1fr 28px;gap:4px;min-width:0;display:grid}.customer-select-wrap button{color:#fff;background:var(--indigo);border:0;border-radius:5px;font-weight:700}.quote-items{flex:auto;min-height:0;position:relative}.quote-row{break-inside:avoid;page-break-inside:avoid;grid-template-columns:7mm minmax(0,1fr) 10mm 10.5mm 23mm 23mm 32mm;align-items:stretch;gap:0;min-height:9.5mm;display:grid;position:relative}.quote-row>*{overflow-wrap:anywhere;align-content:center;min-width:0;padding-inline:1.2mm}.quote-row>:first-child{text-align:center;padding-left:.5mm;padding-right:.5mm}.quote-row-head{text-align:center;border-bottom:1px solid #222;min-height:8mm}.quote-row-head span:nth-child(2){text-align:center}.quote-row input[type=number]{text-align:right;appearance:textfield}.quote-row input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}.quote-row input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.quote-row input,.quote-row select,.quote-row textarea,.quote-row .display-cell{height:auto;min-height:8mm}.quote-row input,.quote-row select{align-self:center;height:8mm}.quote-row textarea.quote-cell-editor{field-sizing:content;resize:none;white-space:pre-wrap;overflow:hidden}.quote-name-cell,.quote-note-cell{white-space:pre-wrap;overflow-wrap:anywhere}.quote-note-editor{width:100%;min-width:0;max-width:32mm}.quote-row>:nth-child(5),.quote-row>:nth-child(6){white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}.quote-row .oversized-money{letter-spacing:-.035em;font-size:10.5px}.quote-row b{text-align:right;font-weight:400}.quote-row>input:nth-child(7),.quote-row-head>span:nth-child(7){text-align:center}.remove-line{color:#c83848;background:#ffecee;border:0;border-radius:5px;width:25px;height:25px;position:absolute;top:50%;right:-7mm;transform:translateY(-50%)}.add-line{color:#4f46e5;background:#f6f5ff;border:1px dashed #9e99ec;border-radius:7px;margin:10px 0;padding:8px 13px}.blank-line{margin:0 0 0 4%}.quote-totals{border-top:1px solid #222;border-bottom:1px solid #222;grid-template-columns:repeat(3,1fr);min-height:12mm;padding:2mm 1.5mm;font-size:15px;display:grid}.quote-totals span:nth-child(2){text-align:center}.quote-totals span:last-child{text-align:right}.quote-totals b{margin-left:16px}.quote-sign{border-top:1px solid #222;grid-template-columns:repeat(5,1fr);min-height:12mm;margin-top:auto;padding-top:3mm;font-size:15px;display:grid}@media (width<=1220px){.quote-layout{grid-template-columns:minmax(0,210mm)}.quote-help{display:none}}@media (width<=760px){.quote-screen{padding-inline:12px;left:0}.quote-toolbar{flex-direction:column;align-items:flex-start}.quote-layout{grid-template-columns:minmax(0,1fr)}}.customer-dialog{background:#fff;border-radius:14px;width:min(470px,100vw - 30px);padding:22px;box-shadow:0 24px 60px #10162545}.customer-dialog h2,.history-dialog h2{margin:3px 0 14px}.history-dialog{background:#fff;border-radius:14px;width:min(820px,100vw - 30px);max-height:80vh;padding:22px;overflow:auto;box-shadow:0 24px 60px #10162545}.history-search{border:1px solid var(--line);color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:9px 12px;display:flex}.history-search input{border:0;outline:0;width:100%}.history-list{border:1px solid var(--line);border-radius:10px;margin-top:14px;overflow:hidden}.history-list article{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:15px;display:flex}.history-list article:last-child{border-bottom:0}.history-list article>div{gap:4px;display:grid}.history-list code{color:var(--indigo)}.history-list span,.history-list small{color:var(--muted)}.history-list article>div:last-child{justify-items:end}.history-list button{color:var(--indigo);background:#f5f4ff;border:1px solid #8c87eb;border-radius:7px;padding:7px 10px}.flow-screen{z-index:8;background:#f3f4f7;padding:32px;position:fixed;inset:0 0 0 104px;overflow:auto}.flow-head{justify-content:space-between;align-items:flex-start;max-width:1280px;margin:0 auto 22px;display:flex}.flow-head h1{font-size:32px}.flow-head>div>p:last-child{color:var(--muted)}.flow-layout{grid-template-columns:minmax(500px,1fr) 390px;align-items:start;gap:18px;max-width:1280px;margin:auto;display:grid}.flow-list,.flow-detail{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden}.flow-list-head{border-bottom:1px solid var(--line);justify-content:space-between;padding:17px 19px;display:flex}.flow-list-head span{color:var(--muted)}.flow-row{text-align:left;background:#fff;border:0;border-bottom:1px solid #eceef2;justify-content:space-between;gap:20px;width:100%;padding:15px 18px;display:flex}.flow-row:hover,.flow-row.selected{background:#f5f5ff}.flow-row>div{gap:5px;display:grid}.flow-row>div:last-child{justify-items:end}.flow-row code{color:var(--indigo)}.flow-row span{color:var(--muted);font-size:12px}.flow-status{border-radius:14px;width:max-content;padding:3px 8px}.s-待接單{background:#fff0dc;color:#ba5e09!important}.s-已接單{background:#eef;color:#4338ca!important}.s-已出貨{background:#eaf8eb;color:#278640!important}.flow-detail{padding:24px}.flow-detail h2{margin:4px 0 8px}.flow-detail>code{color:var(--indigo)}.flow-detail dl{margin-top:22px}.flow-detail dd{max-width:220px}.upload-action{margin-top:20px;display:block}.upload-action input{display:none}.upload-action span{text-align:center;color:var(--indigo);cursor:pointer;background:#f5f4ff;border:1px dashed #7770ee;border-radius:8px;padding:12px;display:block}.ship-actions{gap:8px;margin-top:20px;display:grid}.ship-actions button:disabled{opacity:.5;cursor:default}.purchase-head{align-items:center}.purchase-import-button{white-space:nowrap;border-radius:9px;justify-content:center;padding:11px 16px;display:inline-flex}.purchase-review-page{min-width:0}.purchase-review-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.purchase-review-head h1{margin:3px 0 5px}.purchase-review-head p:last-child{max-width:720px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.back-link{color:var(--indigo);background:0 0;border:0;margin:0 0 12px;padding:0;font-weight:700}.purchase-review-tabs{display:none}.purchase-review-layout{grid-template-columns:minmax(420px,11fr) minmax(520px,9fr);gap:16px;height:calc(100vh - 250px);min-height:680px;display:grid;overflow:hidden}.purchase-document-pane,.purchase-data-pane{border:1px solid var(--line);background:#fff;border-radius:14px;min-width:0;min-height:0;box-shadow:0 8px 28px #1016250c}.purchase-document-pane{background:#e9eaee;flex-direction:column;display:flex;overflow:hidden}.purchase-pane-toolbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:12px 16px;display:flex}.purchase-pane-toolbar>div:first-child{gap:3px;min-width:0;display:grid}.purchase-pane-toolbar span{color:var(--muted);font-size:11px}.pdf-zoom-controls{flex:none;align-items:center;gap:5px;display:flex}.pdf-zoom-controls button{border:1px solid var(--line);background:#fff;border-radius:7px;width:30px;height:30px}.pdf-zoom-controls .fit-width{width:auto;color:var(--indigo);white-space:nowrap;padding:0 9px}.pdf-zoom-controls span{text-align:center;min-width:46px;font-weight:700}.purchase-pdf-scroll{background:#dfe1e6;flex:1;min-height:0;padding:18px;overflow:auto}.purchase-pdf-pages{min-width:50%;margin:0 auto;transition:width .15s}.purchase-pdf-pages img{background:#fff;width:100%;margin-bottom:16px;display:block;box-shadow:0 3px 14px #10162524}.purchase-pdf-placeholder{min-height:420px;color:var(--muted);text-align:center;background:#f4f4f5;place-content:center;justify-items:center;gap:6px;display:grid}.purchase-data-pane{scrollbar-gutter:stable;padding:0 20px 24px;overflow-y:auto}.review-section-first{margin-top:20px}.purchase-inline-warning,.parser-review-notice{color:#875100;background:#fff9ee;border:1px solid #efc987;border-radius:10px;margin:12px 0 0}.purchase-inline-warning{padding:10px 12px;font-size:13px}.parser-review-notice{padding:13px 16px}.parser-review-notice ul{color:#775b32;margin:7px 0 0;padding-left:18px;font-size:12px;line-height:1.65}.purchase-review-items{gap:12px;display:grid}.purchase-review-items article{border:1px solid var(--line);background:#fbfbfd;border-radius:10px;grid-template-columns:58px repeat(4,minmax(0,1fr));gap:0 9px;padding:13px;display:grid}.purchase-review-items article.needs-review{background:#fffdfa;border-color:#e8c17e}.purchase-item-number{grid-row:1/4;align-content:space-between;padding:6px 0 14px;display:grid}.purchase-item-number span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:800}.purchase-item-number button{width:max-content;padding:0;font-size:11px}.purchase-review-items .field{margin-top:0}.purchase-review-items .item-description,.purchase-review-items .item-note{grid-column:2/-1}.purchase-review-items article>small{color:#93600d;grid-column:2/-1;margin-top:-5px;font-size:11px}.purchase-items-empty{border:1px dashed var(--line);min-height:150px;color:var(--muted);text-align:center;border-radius:10px;place-content:center;justify-items:center;gap:6px;display:grid}.purchase-items-empty b{color:var(--ink)}.purchase-review-actions{z-index:3;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;justify-content:flex-end;gap:9px;margin:22px -20px -24px;padding:15px 20px 18px;display:flex;position:sticky;bottom:-24px}.purchase-review-actions button:disabled,.purchase-review-head button:disabled{opacity:.6;cursor:wait}.purchase-snapshot-view{margin-top:20px}.purchase-snapshot-table{border:1px solid var(--line);border-radius:10px;overflow-x:auto}.purchase-snapshot-table table{min-width:650px}.purchase-snapshot-table th,.purchase-snapshot-table td{white-space:normal;height:auto;padding:9px 10px}.purchase-snapshot-table .num{text-align:right;white-space:nowrap}.purchase-layout{grid-template-columns:minmax(420px,.85fr) minmax(560px,1.15fr)}.purchase-list{min-width:0;overflow:visible}.purchase-list-row{background:#fff;border-bottom:1px solid #eceef2;display:flex;position:relative}.purchase-list-row:hover,.purchase-list-row.selected{background:#f5f5ff}.purchase-list-row:hover .purchase-row-main,.purchase-list-row.selected .purchase-row-main,.purchase-list-row:hover .purchase-row-actions,.purchase-list-row.selected .purchase-row-actions{background:0 0}.purchase-list-row .purchase-row-main{border-bottom:0;flex:1;min-width:0}.purchase-row-actions{align-items:center;padding-right:12px;display:flex;position:relative}.purchase-row-actions .quote-more-menu{top:calc(50% + 18px);right:8px}.purchase-detail{min-width:0;padding:24px}.purchase-detail>dl a{color:var(--indigo);text-decoration:none}.purchase-link-status{background:#fff4df;border-radius:999px;width:max-content;padding:4px 8px;color:#8b5b15!important}.purchase-link-status.linked{background:#efefff;color:#4037bd!important}.purchase-empty{gap:7px;display:grid}.purchase-empty b{color:var(--ink)}.purchase-detail-empty{min-height:260px;color:var(--muted);place-content:center;justify-items:center;gap:8px;display:grid}.purchase-import-dialog{scrollbar-gutter:stable;background:#fff;border-radius:15px;width:min(95vw,1100px);max-height:92vh;padding:28px 32px;overflow:auto;box-shadow:0 24px 60px #10162545}.purchase-import-dialog .modal-head>div{min-width:0}.purchase-import-dialog .import-file{text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;overflow:hidden}.purchase-import-section,.purchase-relation-card,.purchase-comparison,.original-file-note{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:18px;padding:18px}.purchase-section-title{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:13px;display:flex}.purchase-section-title>div{gap:4px;display:grid}.purchase-section-title b{font-size:15px}.purchase-section-title span,.purchase-import-section small,.purchase-comparison>small,.original-file-note small{color:var(--muted);font-size:12px;line-height:1.55}.purchase-basic-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.field-span-2{grid-column:1/-1}.system-number-preview{color:#5049c8;background:#f7f6ff;border:1px solid #e4e6eb;border-radius:8px;align-items:center;min-height:42px;padding:10px 11px;font-weight:700;display:flex}.purchase-money-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.compact-import-section{grid-template-columns:1fr minmax(180px,260px);align-items:center;gap:22px;display:grid}.compact-import-section .purchase-section-title,.compact-field{margin:0}.linked-quotation-summary,.suggested-quotation,.unlinked-quotation{background:#f8f8fb;border-radius:10px;justify-content:space-between;align-items:center;gap:22px;padding:15px;display:flex}.linked-quotation-summary>div:first-child,.suggested-quotation>div:first-child,.unlinked-quotation>div:first-child{gap:5px;min-width:0;display:grid}.linked-quotation-summary code,.suggested-quotation code{width:max-content;color:var(--indigo);font-size:15px;font-weight:800}.linked-quotation-summary span,.suggested-quotation small,.suggested-quotation p,.unlinked-quotation span{color:var(--muted);margin:0;line-height:1.5}.linked-quotation-summary em{color:#2d7e43;width:max-content;font-size:12px;font-style:normal;font-weight:700}.suggested-quotation>div:first-child>span{color:#9b5c00;font-size:11px;font-weight:800}.relation-actions,.row-actions{flex:none;align-items:center;gap:7px;display:flex}.relation-actions button,.row-actions button{white-space:nowrap}.text-danger{color:var(--red);background:0 0;border:0;padding:8px 4px}.saved-relation-card{border:0;margin-top:20px;padding:0}.saved-relation-card .linked-quotation-summary,.saved-relation-card .unlinked-quotation{flex-direction:column;align-items:flex-start}.saved-relation-card .relation-actions{flex-wrap:wrap;width:100%}.purchase-comparison{padding:0;overflow:hidden}.purchase-comparison .purchase-section-title{border-bottom:1px solid var(--line);align-items:center;margin:0;padding:15px 16px}.comparison-warning,.comparison-ok{text-transform:uppercase;border-radius:999px;padding:5px 8px;font-size:10px;font-style:normal;font-weight:800}.comparison-warning{color:#a45b00;background:#fff1da}.comparison-ok{color:#39764a;background:#edf7ef}.comparison-table-wrap{overflow-x:auto}.purchase-comparison table{min-width:520px}.purchase-comparison th,.purchase-comparison td{white-space:normal;height:auto;padding:10px 14px}.purchase-comparison td:first-child{color:var(--muted);font-size:12px}.purchase-comparison td.different{color:#a25c00;background:#fff9ee;font-weight:800}.purchase-comparison td.unknown{color:#9aa1ac}.purchase-comparison>small{padding:10px 14px 14px;display:block}.original-file-note{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;display:grid}.original-file-note span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.original-file-note small{grid-column:2}.purchase-import-footer{z-index:2;border-top:1px solid var(--line);background:#fff;margin:22px -32px -28px;padding:16px 32px 20px;position:sticky;bottom:-28px}.purchase-import-footer button:disabled{opacity:.6;cursor:wait}.quotation-picker-layer{z-index:70}.quotation-picker{background:#fff;border-radius:15px;flex-direction:column;width:min(95vw,1100px);max-height:90vh;padding:24px 26px 0;display:flex;overflow:hidden;box-shadow:0 24px 60px #10162545}.quotation-picker .modal-head p:last-child{color:var(--muted);margin:2px 0 0}.quotation-picker-tools{grid-template-columns:1fr auto;gap:10px;margin:14px 0;display:grid}.quotation-picker-tools .history-search{min-height:44px}.quotation-picker-table{border:1px solid var(--line);border-radius:11px;overflow:auto}.quotation-picker-table table{min-width:900px}.quotation-picker-table th,.quotation-picker-table td{height:auto;padding:12px 13px}.quotation-picker-table code{color:var(--indigo);font-weight:800}.quotation-picker-footer{border-top:1px solid var(--line);background:#fff;flex:none;margin:0 -26px;padding:14px 26px 18px}.quotation-preview-layer{z-index:80}.quotation-preview{background:#fff;border-radius:14px;width:min(92vw,760px);max-height:86vh;padding:24px;overflow:auto;box-shadow:0 24px 70px #0d122066}.quotation-preview-meta{grid-template-columns:repeat(3,1fr);gap:10px;margin:10px 0 16px;display:grid}.quotation-preview-meta div{border:1px solid var(--line);border-radius:9px;gap:5px;padding:11px;display:grid}.quotation-preview-meta dd{text-align:left}.quotation-preview-items{border:1px solid var(--line);border-radius:10px;overflow:hidden}.quotation-preview-items article{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) 90px 120px;align-items:center;gap:10px;padding:12px;display:grid}.quotation-preview-items article:last-child{border-bottom:0}.quotation-preview-items article>span,.quotation-preview-items small{color:var(--muted)}.quotation-preview-items strong{text-align:right}.quotation-preview-totals{justify-content:flex-end;gap:22px;padding:16px 4px 4px;display:flex}.quotation-preview-totals span{color:var(--muted);gap:4px;font-size:11px;display:grid}.quotation-preview-totals b{color:var(--ink);font-size:14px}.relation-confirm-layer{z-index:90}.quote-related-card{border:1px solid var(--line);background:#fafafe;border-radius:9px;gap:8px;margin-top:4px;padding:12px;display:grid}.quote-related-card>span{color:var(--muted);font-size:12px}.quote-related-card button{width:100%;color:var(--indigo);background:#fff;border:1px solid #dcdbf7;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 9px;display:flex}.quote-related-card code{font-weight:800}.statement-layout{grid-template-columns:230px minmax(800px,1fr);align-items:start;gap:20px;max-width:1280px;margin:auto;display:grid}.statement-filter{border:1px solid var(--line);background:#fff;border-radius:12px;gap:12px;padding:18px;display:grid}.statement-filter label{color:var(--muted);gap:6px;display:grid}.statement-filter select{border:1px solid var(--line);background:#fff;border-radius:7px;padding:9px}.statement-filter>div{border-top:1px solid var(--line);justify-content:space-between;padding-top:11px;display:flex}.statement-paper{page:statement;background:#fff;min-height:1030px;padding:30px;font-family:Noto Serif TC,PMingLiU,serif;box-shadow:0 12px 35px #1820301c}.statement-paper header{text-align:center}.statement-paper header h2{margin:0 0 12px;line-height:1.25}.statement-paper header b{font-size:22px}.statement-meta{gap:3px;margin-bottom:12px;display:grid}.statement-paper table{min-width:0;font-size:11px}.statement-paper th,.statement-paper td{height:auto;padding:7px 5px}.statement-paper tbody tr{cursor:default}.statement-paper td:nth-last-child(-n+5){text-align:right}.statement-totals{border-top:1px solid #222;grid-template-columns:repeat(3,1fr);padding-top:7px;display:grid}.statement-totals div{grid-template-columns:1fr auto;gap:4px 8px;padding-right:16px;display:grid}.statement-totals b{text-align:right;font-weight:400}.delivery-paper{page:delivery;color:#111;background:#fff;flex-direction:column;width:min(900px,100vw - 150px);height:580px;margin:22px auto 50px;padding:24px 28px 18px;font-family:Noto Serif TC,PMingLiU,serif;display:flex;box-shadow:0 12px 35px #1820301c}.delivery-paper>header{justify-content:space-between;display:flex}.delivery-paper>header div{display:grid}.delivery-paper>header b{font-size:19px}.delivery-paper>header h2{letter-spacing:.3em;margin:0;font-size:29px}.delivery-paper>header div:last-child{text-align:center}.delivery-meta{border-bottom:1px solid #222;grid-template-columns:1fr 1fr .8fr;gap:4px 14px;padding:7px 0;display:grid}.delivery-paper table{min-width:0;font-size:13px}.delivery-paper th,.delivery-paper td{height:30px;padding:5px}.delivery-paper tbody{vertical-align:top;height:210px}.delivery-paper tbody tr{cursor:default}.delivery-paper td:nth-child(n+3){text-align:right}.delivery-totals{border-top:1px solid #222;border-bottom:1px solid #222;grid-template-columns:repeat(3,1fr);gap:5px;padding:7px;display:grid}.delivery-paper>p{margin:7px 4px}.delivery-paper>footer{border-top:1px solid #222;grid-template-columns:repeat(5,1fr);margin-top:auto;padding-top:8px;display:grid}.quote-row .money-input{text-align:right}.quote-remark{flex:0 0 62mm;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;align-content:stretch;gap:2mm;width:100%;height:62mm;min-height:62mm;padding:2mm 1.5mm;display:grid;overflow:hidden}.quote-remark>span{font-weight:600}.quote-remark textarea{resize:none;background:#fff;border-color:#e1e4e8;width:100%;height:100%;min-height:0}.remark-list{gap:4px;margin:0;padding-left:26px;display:grid}.remark-list li{padding-left:2px}.statement-paper,.delivery-paper{font-family:var(--document-font,"PMingLiU", "新細明體", serif)}.settings-screen .module-top{min-height:130px}.settings-panel{border:1px solid var(--line);background:#fff;border-radius:14px;max-width:900px;margin:22px auto;padding:24px;box-shadow:0 8px 24px #1720330a}.settings-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.settings-heading h2{margin:0 0 7px}.settings-heading p{color:var(--muted);margin:0;line-height:1.6}.settings-heading>span{white-space:nowrap;color:var(--indigo);background:#f0efff;border-radius:16px;padding:7px 11px}.document-font-field{color:#626b78;gap:8px;max-width:360px;margin:22px 0;font-weight:650;display:grid}.document-font-field select{background:#fff;border:1px solid #dfe2e8;border-radius:8px;padding:11px}.font-preview{background:#fbfbfc;border:1px solid #d8dbe2;gap:6px;padding:20px;display:grid}.backup-settings-panel{gap:18px;display:grid}.backup-status-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.backup-status-grid>div{border:1px solid var(--line);background:#fbfbfc;border-radius:10px;min-width:0;padding:13px}.backup-status-grid dt{color:var(--muted);margin-bottom:5px;font-size:12px}.backup-status-grid dd{overflow-wrap:anywhere;color:var(--ink);margin:0}.backup-actions,.sync-actions{align-items:center;gap:12px;display:flex}.backup-actions small{color:var(--muted)}.onedrive-test-panel{gap:18px;display:grid}.onedrive-check-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;display:grid}.onedrive-check-grid>div{border:1px solid var(--line);background:#fbfbfc;border-radius:10px;min-width:0;padding:12px}.onedrive-check-grid dt{color:var(--muted);margin-bottom:8px;font-size:12px}.onedrive-check-grid dd{gap:7px;margin:0;display:grid}.onedrive-check-grid small{overflow-wrap:anywhere;color:var(--muted);line-height:1.45}.connection-result{color:#68717e;background:#f1f2f5;border-radius:999px;width:max-content;padding:3px 7px;font-size:11px;font-weight:850}.connection-result.pass{color:#23804a;background:#e9f8ef}.connection-result.fail{color:#bd3838;background:#fff0f0}.sync-pill{color:#68717e;background:#f1f2f5;border-radius:999px;width:max-content;padding:5px 9px;font-size:11px;font-weight:800}.sync-pill.synced{color:#23804a;background:#e9f8ef}.sync-pill.pending{color:#8b5b15;background:#fff4df}.sync-pill.failed{color:#bd3838;background:#fff0f0}.sync-error-text{color:#bd3838!important}.onedrive-status-card{border:1px solid var(--line);background:#fbfbfd;border-radius:10px;gap:9px;padding:12px;display:grid}.onedrive-status-card>div:first-child{justify-content:space-between;align-items:center;gap:10px;display:flex}.onedrive-status-card small{overflow-wrap:anywhere;line-height:1.5}.sync-actions a{color:var(--indigo);font-size:12px;font-weight:750;text-decoration:none}.sync-actions .ghost{padding:6px 9px;font-size:11px}@media (width<=720px){.backup-status-grid,.onedrive-check-grid{grid-template-columns:1fr}.backup-actions{flex-direction:column;align-items:flex-start}}.font-preview span{color:#737b88;font-size:12px}.font-preview strong{font-size:20px}.font-preview p{margin:0}.version-manager{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:auto minmax(280px,1fr) auto;align-items:end;gap:18px;max-width:1450px;margin:0 auto 18px;padding:14px 16px;display:grid}.version-manager>div{gap:4px;display:grid}.version-manager>div>span,.version-manager label{color:var(--muted);font-size:12px}.version-manager strong{font-size:16px}.version-manager strong b{color:var(--indigo)}.version-manager .version-select{border:1px solid var(--line);width:max-content;min-width:150px;color:var(--indigo);background:#fff;border-radius:8px;padding:7px 30px 7px 10px;font-weight:700}.version-manager em{color:#9a5d08;background:#fff2dc;border-radius:12px;width:max-content;padding:3px 8px;font-size:11px;font-style:normal}.version-manager label{gap:6px;display:grid}.version-manager input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 11px}.version-note-display{min-height:40px;color:var(--ink);background:0 0;padding:10px 11px;display:block}.discard-dialog{background:#fff;border-radius:14px;width:min(430px,100vw - 32px);padding:24px;box-shadow:0 20px 60px #12162940}.discard-dialog h2{margin:0 0 8px}.discard-dialog p{color:var(--muted);margin:0 0 22px;line-height:1.6}.save-success-dialog{text-align:center;justify-items:center;display:grid}.save-success-dialog .save-success-mark{color:#23804a;background:#e9f8ef;border-radius:50%;place-items:center;width:44px;height:44px;margin-bottom:14px;font-size:24px;font-weight:900;display:grid}.save-success-dialog p{color:var(--ink);margin-bottom:8px;font-weight:750}.save-success-dialog small{color:var(--muted);margin-bottom:22px;line-height:1.6}.save-success-dialog .modal-actions{justify-content:center;width:100%}.discard-dialog .customer-delete-warning{color:#8a5a16;background:#fff8e8;border-radius:8px;margin-top:-8px;padding:10px 12px;font-size:12px}.import-button{cursor:pointer;align-items:center;display:inline-flex}.import-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.history-readonly input,.history-readonly select,.history-readonly button{pointer-events:none}.history-readonly .remark-output{align-content:start;height:100%;min-height:0;padding:0;display:grid;overflow:auto}.quote-totals b,.quote-remark>span{font-weight:400}.quote-remark textarea,.remark-output{font:inherit;font-weight:400;line-height:1.55}.remark-output{white-space:pre-wrap;gap:3px;display:none}.version-links{gap:5px;margin-top:4px;display:flex}.version-links button{font-size:11px;padding:4px 7px!important}.history-list a{color:var(--indigo);font-size:12px}.import-dialog{box-sizing:border-box;scrollbar-gutter:stable;background:#fff;border-radius:15px;width:min(95vw,960px);max-height:90vh;padding:28px 32px;overflow:auto;box-shadow:0 24px 60px #10162545}.import-dialog h2{margin:3px 0 14px}.import-file{color:#525b69;background:#f5f5ff;border-radius:8px;padding:11px 13px}.import-dialog textarea{resize:vertical;min-height:120px;font:inherit;border:1px solid #dfe2e8;border-radius:8px;padding:10px}.import-dialog .modal-actions{z-index:2;border-top:1px solid var(--line);background:#fff;margin:20px -32px -28px;padding:16px 32px 20px;position:sticky;bottom:-28px}.import-items{gap:8px;margin:12px 0;display:grid}.import-item{grid-template-columns:minmax(270px,2.4fr) 70px 70px 105px 105px minmax(130px,1fr);gap:8px;display:grid}.import-item input{min-width:0}.import-number-field{min-width:0;position:relative}.import-number-field input{width:100%}.import-number-field small{color:#a45f00;margin-top:3px;font-size:10px;line-height:1.2;display:block}.import-issue-summary{background:#fffaf0;border:1px solid #f0c36b;border-radius:9px;gap:6px;margin:12px 0;padding:12px;display:grid}.import-issue-summary button{color:#6d4b11;text-align:left;background:0 0;border:0;gap:8px;display:flex}.import-issue-summary button span{color:#b46b00;flex:none;font-size:11px;font-weight:700}.import-field-error,.field.import-field-error input{background:#fff9ee!important;border-color:#e8891c!important}.field.import-field-error small{color:#b76300}.quote-manager-filters{grid-template-columns:minmax(260px,1fr) 190px auto auto;align-items:center;gap:10px;margin-bottom:14px;display:grid}.quote-manager-filters>select,.quote-manager-filters>label{box-sizing:border-box;border:1px solid var(--line);height:46px;font:inherit;background:#fff;border-radius:9px;font-size:14px;transition:border-color .15s,box-shadow .15s}.quote-manager-filters>select{color:var(--ink);padding:0 11px}.quote-manager-filters>.history-search{padding:0 12px}.quote-manager-filters>.history-search input{height:42px;font:inherit;background:0 0;padding:0}.quote-manager-filters>label:not(.history-search){color:var(--muted);align-items:center;gap:6px;padding:0 10px;display:flex}.quote-manager-filters input[type=date]{min-width:125px;height:42px;font:inherit;background:0 0;border:0;outline:0}.quote-manager-filters>select:focus,.quote-manager-filters>label:focus-within{border-color:#7770ee;outline:0;box-shadow:0 0 0 2px #7770ee22}.quote-manager-table{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:visible}.quote-manager-table table{border-collapse:collapse;width:100%}.quote-manager-table th,.quote-manager-table td{border-bottom:1px solid var(--line);text-align:left;padding:14px 16px}.quote-manager-table th{color:var(--muted);font-size:12px}.quote-manager-table tbody tr{cursor:pointer}.quote-manager-table tbody tr:hover{background:#f8f8ff}.quote-manager-table .num{text-align:right}.quote-manager-table code{color:var(--indigo);font-weight:700}.version-badge{color:#4840c9;background:#eeedff;border-radius:999px;padding:4px 8px;font-weight:700}.quote-more-cell{width:58px;position:relative}.quote-more-menu{z-index:30;border:1px solid var(--line);background:#fff;border-radius:9px;grid-template-columns:1fr;gap:2px;width:128px;padding:5px;display:grid;position:absolute;top:calc(50% + 18px);right:16px;overflow:hidden;box-shadow:0 12px 30px #18203324}.quote-more-menu button{text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:6px;width:100%;min-width:0;margin:0;padding:9px 11px;display:block}.quote-more-menu button:hover{background:#f3f4f8}.quote-more-menu .danger{color:var(--red)}.quote-toolbar button:disabled{opacity:.62;cursor:wait}.pdf-static-stage{z-index:-1000;pointer-events:none;width:210mm;position:fixed;top:0;left:-10000px}.static-quotation-document{box-shadow:none;break-after:page;page-break-after:always;margin:0;transform:none!important}.static-quotation-document:last-child{break-after:auto;page-break-after:auto}.static-quote-items{overflow:hidden}.static-quote-row{height:auto}.static-remark-output{align-content:start;height:100%;min-height:0;padding:0;display:grid;overflow:hidden}.quote-continuation-spacer{flex:auto;min-height:0}.quote-page-number{text-align:right;border-top:1px solid #222;margin-top:auto;padding-top:2mm;font-size:11px}.keep-together{break-inside:avoid;page-break-inside:avoid}.review-issue-link{color:#775b32;text-align:left;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.quotation-import-review textarea{resize:vertical;min-height:96px;font:inherit;border:1px solid #dfe2e8;border-radius:8px;padding:10px}.quote-manager-actions{align-items:center;gap:9px;display:flex}.danger-button{color:var(--red);background:#fff4f5;border:1px solid #e4a7ad;border-radius:9px;padding:10px 14px;font-weight:700}.danger-button:hover{background:#ffe8eb}.history-readonly input[readonly],.history-readonly textarea[readonly],.history-readonly select[aria-disabled=true]{color:#252a34;opacity:1;cursor:default}@media (width<=760px){.import-dialog{width:calc(100vw - 20px);max-height:92vh;padding:20px 18px}.import-dialog .field-grid{grid-template-columns:1fr}.import-dialog .modal-actions{margin:18px -18px -20px;padding:14px 18px 18px;bottom:-20px}.import-item{grid-template-columns:1fr 1fr}.import-item input:first-child{grid-column:1/-1}.quote-manager-filters{grid-template-columns:1fr}.quote-manager-table{overflow-x:auto}}@page{size:A4 portrait;margin:0}@page statement{size:A4 portrait;margin:0}@page delivery{size:219mm 142mm;margin:0}@media print{@page{size:A4 portrait;margin:0}body{background:#fff}.no-print,.sidebar,.workspace,.module-screen,.toast,.flow-head,.flow-layout{display:none!important}.quote-screen,.flow-screen{background:#fff;padding:0;position:static;overflow:visible}.quote-layout,.statement-layout{margin:0;display:block}.quote-paper,.statement-paper{width:210mm;height:297mm;min-height:297mm;box-shadow:none;padding:10mm 9mm 7mm;transform:none!important}.delivery-paper{width:219mm;height:142mm;box-shadow:none;margin:0}.quote-meta input,.quote-row input,.quote-remark textarea{background:#fff;border:0;padding:0}.quote-row{grid-template-columns:7mm minmax(0,1fr) 10mm 10.5mm 23mm 23mm 32mm}.remark-output{display:grid}.pdf-static-stage{display:none!important}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}@keyframes slide{0%{opacity:0;transform:translate(20px)}}@media (width<=1100px){.metrics{grid-template-columns:repeat(2,1fr)}.topbar{grid-template-columns:auto 1fr}.top-actions{display:none}.toolbar{flex-direction:column;align-items:flex-start}.filters{flex-wrap:wrap}.purchase-layout{grid-template-columns:1fr}.purchase-detail{min-height:0}}@media (width<=720px){.sidebar{width:68px}.sidebar .nav-item{font-size:0}.sidebar .nav-item span{font-size:22px}.company span{display:none}.workspace{width:calc(100% - 68px);margin-left:68px;padding:18px 12px}.topbar{grid-template-columns:1fr;gap:12px}.metrics{grid-template-columns:1fr 1fr}.metrics article{padding:13px}.metrics strong{font-size:23px}.metrics .amount{font-size:18px}.alert button{display:none}.tabs{width:100%;overflow:auto}.filters label:nth-child(2){display:none}.module-screen,.customer-screen,.flow-screen{padding:20px 12px;left:68px}.module-top{min-height:145px}.module-top .primary{white-space:nowrap}.module-stats{grid-template-columns:1fr 1fr}.module-row{grid-template-columns:90px 1fr 20px}.module-row span{display:none}.demo-note,.customer-head{flex-direction:column}.customer-tools{flex-direction:column;align-items:stretch}.purchase-head{flex-direction:column;align-items:stretch;gap:14px}.purchase-import-button{width:100%}.purchase-layout{grid-template-columns:1fr}.flow-row{gap:10px;padding:13px}.flow-row>div:last-child{max-width:120px}.purchase-import-dialog{width:calc(100vw - 14px);max-height:94vh;padding:20px 16px}.purchase-basic-grid,.purchase-money-grid,.compact-import-section,.quotation-picker-tools,.quotation-preview-meta{grid-template-columns:1fr}.field-span-2{grid-column:auto}.linked-quotation-summary,.suggested-quotation,.unlinked-quotation{flex-direction:column;align-items:stretch}.relation-actions{flex-wrap:wrap}.purchase-import-footer{margin:20px -16px -20px;padding:14px 16px 16px;bottom:-20px}.quotation-picker{width:calc(100vw - 14px);max-height:94vh;padding:18px 14px 0}.quotation-picker-footer{margin:0 -14px;padding:12px 14px 16px}.quotation-preview{width:calc(100vw - 20px);padding:18px}.quotation-preview-items article{grid-template-columns:24px minmax(0,1fr) 75px}.quotation-preview-items article strong{grid-column:2/-1}.quotation-preview-totals{flex-direction:column;align-items:flex-end;gap:8px}.quotation-preview-totals span{gap:10px;display:flex}}@media (width<=1050px){.purchase-review-head{flex-direction:column;align-items:stretch}.purchase-review-head>.primary{width:100%}.purchase-review-tabs{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 1fr;margin-bottom:12px;padding:4px;display:grid}.purchase-review-tabs button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:9px 12px;font-weight:700}.purchase-review-tabs button.selected{color:var(--indigo);background:#efefff}.purchase-review-layout{height:auto;min-height:0;display:block;overflow:visible}.purchase-document-pane,.purchase-data-pane{display:none}.purchase-document-pane.mobile-active{height:70vh;display:flex}.purchase-data-pane.mobile-active{display:block;overflow:visible}}@media (width<=720px){.purchase-data-pane{padding:0 12px 18px}.purchase-review-items article{grid-template-columns:42px minmax(0,1fr) minmax(78px,.6fr)}.purchase-review-items .item-description{grid-column:2/-1}.purchase-review-items .item-note,.purchase-review-items article>small{grid-column:1/-1}.purchase-item-number{grid-row:1/4}.purchase-review-actions{margin:20px -12px -18px;padding:12px;bottom:0}.purchase-review-actions button{flex:1}}.manager-pagination{color:var(--muted);justify-content:flex-end;align-items:center;gap:10px;padding:14px 16px;display:flex}.manager-pagination .ghost{min-height:34px;padding:6px 12px}.manager-inline-loading{color:var(--muted);padding:8px 16px;font-size:13px}.loading-state{color:var(--muted)}.purchase-manager-search{margin:10px 12px 12px}.purchase-pagination{border-top:1px solid var(--line);justify-content:center}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
