@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{.relative{position:relative}.start{inset-inline-start:var(--spacing)}}:root{--ink:#111820;--muted:#68727d;--navy:#0b121a;--blue:#426f8f;--teal:#4f9588;--gold:#f2aa38;--mint:#a7d5bb;--line:#dfe3df;--paper:#fff;--canvas:#f4f5f2;--shadow:0 22px 65px #08101829}*{box-sizing:border-box}html,body{background:var(--canvas);min-height:100%;color:var(--ink);margin:0}body{font-family:PingFang TC,Noto Sans TC,Microsoft JhengHei,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{background:radial-gradient(circle at 18% 12%,#4f958847,#0000 30%),radial-gradient(circle at 82% 85%,#f2aa382e,#0000 28%),linear-gradient(145deg,#071019,#101a23 58%,#17130d);place-items:center;min-height:100vh;padding:28px;display:grid}.login-card{background:#fffffff7;border:1px solid #ffffff1a;border-radius:22px;width:min(480px,100%);padding:38px;box-shadow:0 32px 90px #00000061}.login-brand{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding-bottom:25px;display:flex}.login-logo{background:linear-gradient(140deg, var(--gold), #f5ca70 48%, var(--mint));color:#111820;border-radius:15px;flex:none;place-items:center;width:54px;height:54px;font-size:25px;font-weight:900;display:grid;box-shadow:0 12px 30px #f2aa3838}.login-brand h1,.login-copy h2{color:var(--navy);margin:0}.login-brand h1{font-size:26px}.login-brand p{margin:0 0 3px}.login-brand>div>span,.login-copy p{color:var(--muted)}.login-copy{padding:28px 0 20px}.login-copy h2{font-size:22px}.login-copy p{margin:8px 0 0;line-height:1.65}.login-card form{gap:16px;display:grid}.login-card form label{color:#44515f;font-size:14px;font-weight:800}.login-card form input{margin-top:8px}.login-submit{width:100%;margin-top:4px;padding:13px 18px}.login-submit:disabled{cursor:wait;opacity:.65}.login-error{color:#a34637;background:#fff0ed;border-radius:8px;padding:11px 13px;font-size:14px;font-weight:700}.login-security{color:#33766d;background:#eef7f5;border-radius:9px;align-items:center;gap:8px;margin-top:20px;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.login-security span{color:var(--teal);font-size:10px}.login-card footer{color:#8a9299;text-align:center;margin-top:24px;font-size:12px}.login-loading{text-align:center}.login-loading .login-logo{margin:0 auto 15px}.login-loading h1{margin:0}.login-loading p{color:var(--muted)}.logout-button{margin-top:3px}.app-shell{grid-template-columns:250px 1fr;min-height:100vh;display:grid}.sidebar{color:#fff;background:radial-gradient(circle at 15% 8%,#396f7947,#0000 28%),linear-gradient(165deg,#0d1721 0%,#080d13 58%,#12100d 100%);flex-direction:column;height:100vh;padding:26px 18px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;padding:0 4px 32px;display:flex}.brand-mark{background:linear-gradient(140deg, var(--gold), #f5ca70 48%, var(--mint));color:#111820;border-radius:12px;place-items:center;width:40px;height:40px;font-size:21px;font-weight:900;display:grid;box-shadow:0 0 28px #f2aa3833}.brand b,.brand small{display:block}.brand b{white-space:nowrap;letter-spacing:0;font-size:17px}.brand small{color:#97a8b4;margin-top:3px;font-size:11px}nav{gap:7px;display:grid}.nav-item{isolation:isolate;color:#aeb8c1;text-align:left;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;width:100%;padding:12px 14px;transition:color .2s,border-color .2s,background .2s,box-shadow .2s,transform .2s;display:flex;position:relative;overflow:hidden}.nav-item:before{z-index:-1;opacity:0;content:"";background:linear-gradient(105deg,#f2aa3838,#4f958821 62%,#ffffff0a);transition:opacity .22s,transform .28s;position:absolute;inset:0;transform:translate(-18%)}.nav-item:after{background:linear-gradient(var(--gold), #f5cd78);opacity:0;content:"";border-radius:0 4px 4px 0;width:3px;transition:opacity .2s,transform .2s;position:absolute;top:9px;bottom:9px;left:0;transform:scaleY(.35);box-shadow:0 0 14px #f2aa38a6}.nav-item span{color:#91a5b3;text-align:center;width:22px;transition:color .2s,filter .2s,transform .2s}.nav-item:hover{color:#fff;background:#ffffff09;border-color:#ffffff1f;transform:translate(4px)translateY(-1px);box-shadow:0 9px 22px #0003,inset 0 1px #ffffff14}.nav-item:hover:before,.nav-item.active:before{opacity:1;transform:translate(0)}.nav-item:hover:after,.nav-item.active:after{opacity:1;transform:scaleY(1)}.nav-item:hover span{color:#ffd583;filter:drop-shadow(0 0 7px #f2aa388c);transform:scale(1.12)}.nav-item.active{color:#fff;background:linear-gradient(90deg,#f2aa382b,#a7d5bb14);border-color:#f2aa382b;box-shadow:0 8px 20px #00000029,inset 0 1px #ffffff12}.nav-item.active span{color:var(--gold);filter:drop-shadow(0 0 7px #f2aa3866)}.nav-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.sidebar-bottom{margin-top:auto}.storage{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:12px;gap:10px;margin-bottom:9px;padding:15px 12px;transition:border-color .15s,background .15s;display:flex}.storage:hover{background:#ffffff1a;border-color:#ffffff47}.storage b,.storage small{display:block}.storage b{font-size:12px}.storage small{color:#94adbf;margin-top:3px;font-size:10px}.pulse{background:var(--mint);border-radius:50%;flex:none;width:8px;height:8px;margin-top:4px;box-shadow:0 0 0 5px #a7d5bb1f}.storage-checking .pulse{background:#f2aa38;animation:1.1s ease-in-out infinite storage-blink;box-shadow:0 0 0 5px #f2aa3824}.storage-offline{background:#e26e6e1a;border-color:#e26e6e8c}.storage-offline .pulse{background:#e26e6e;box-shadow:0 0 0 5px #e26e6e29}.storage-offline small{color:#f0b4b4}@keyframes storage-blink{0%,to{opacity:1}50%{opacity:.35}}.system-copyright{color:#91a1ad;border-top:1px solid #ffffff1a;margin-top:14px;padding:14px 10px 0;line-height:1.55}.system-copyright b,.system-copyright span{display:block}.system-copyright b{color:#c3ccd3;font-size:12px;font-weight:700}.system-copyright span{margin-top:4px;font-size:11px}.workspace{background:radial-gradient(circle at 92% 0,#a7d5bb1f,#0000 25%),radial-gradient(circle at 60% -8%,#f2aa3814,#0000 22%);min-width:0;padding:34px 42px 50px}.topbar{justify-content:space-between;align-items:end;margin-bottom:28px;display:flex}.eyebrow{color:#a66915;letter-spacing:.12em;text-transform:uppercase;margin:0 0 5px;font-size:11px;font-weight:900}h1,h2,h3,p{margin-top:0}.topbar h1{margin:0;font-size:30px}.top-actions,.editor-footer>div{gap:10px;display:flex}.primary,.ghost,.small-button,.icon-button{border:1px solid var(--line);border-radius:9px;padding:10px 15px;font-weight:700}.primary{background:linear-gradient(135deg, #f6bb51, var(--gold));color:#17130d;border-color:#e29a2e;box-shadow:0 8px 20px #da912438}.primary:hover{filter:brightness(1.035);transform:translateY(-1px)}.ghost,.small-button,.icon-button{color:var(--ink);background:#fff}.metrics{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px;display:grid}.metric{background:#fff;border:1px solid #e4e9ed;border-radius:14px;align-items:center;gap:14px;min-width:0;padding:20px;display:flex;box-shadow:0 5px 20px #1b334b0a}.metric-icon{border-radius:12px;flex:0 0 40px;place-items:center;width:40px;height:40px;font-weight:900;display:grid}.metric.blue .metric-icon{color:#386985;background:#eaf1f3}.metric.teal .metric-icon{color:#3e8174;background:#e9f3ee}.metric.gold .metric-icon{color:#9e6510;background:#fff1d8}.metric.coral .metric-icon{color:#b96052;background:#fbece9}.metric p,.metric small,.metric strong{display:block}.metric p{color:var(--muted);margin:0 0 5px;font-size:12px}.metric strong{white-space:nowrap;text-overflow:ellipsis;font-size:18px;overflow:hidden}.metric small{color:#91a0af;margin-top:4px;font-size:10px}.content-card{background:#fff;border:1px solid #e0e6eb;border-radius:15px;overflow:hidden;box-shadow:0 10px 35px #1a30460f}.card-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.card-head h2{margin-bottom:3px;font-size:18px}.card-head p{color:var(--muted);margin:0;font-size:12px}.filters{gap:8px;display:flex}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd8df;border-radius:8px;outline:none;padding:10px 11px}input:focus,select:focus,textarea:focus{border-color:#4a8cb0;box-shadow:0 0 0 3px #4a8cb01f}.filters input{width:245px}.filters select{width:120px}.quote-row{border-bottom:1px solid #edf0f3;grid-template-columns:1.05fr 1.7fr .55fr .9fr .7fr 1.15fr;align-items:center;gap:18px;padding:15px 24px;font-size:13px;display:grid}.quote-row:last-child{border-bottom:0}.quote-row:hover:not(.quote-header){background:#f9fbfc}.quote-header{color:#778597;letter-spacing:.05em;background:#f6f8fa;padding-block:11px;font-size:10px;font-weight:800}.quote-row b,.quote-row small{display:block}.quote-row small{color:#8491a0;margin-top:4px;font-size:10px}.quote-number{color:#9f6816;font-weight:900}.quote-link{text-align:left;text-underline-offset:3px;background:0 0;border:0;padding:0;-webkit-text-decoration:underline #9f68164d;text-decoration:underline #9f68164d}.quote-link:hover{color:#70470d;text-decoration-color:currentColor}.amount{font-weight:800}.version-pill{color:#9b6414;background:#fff0d4;border:0;border-radius:999px;padding:5px 9px;font-weight:800}.status{color:#657487;background:#edf1f4;border-radius:999px;padding:5px 9px;font-size:10px;font-style:normal;font-weight:800;display:inline-block}.status.已報價{color:#21756f;background:#e8f4f1}.status.已簽署{color:#315f94;background:#e9f1fb}.status.內部審核{color:#9a681b;background:#fbf0dc}.icon-button{padding:7px 10px;font-size:11px}.quote-actions{flex-wrap:wrap;gap:6px;display:flex}.danger-button{color:#a44f43;background:#fff7f5;border-color:#efd2cc}.danger-button:hover{background:#fbe8e4;border-color:#d89c92}.loading-line{color:var(--muted);padding:10px 24px;font-size:11px}.customer-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.customer-row{border-bottom:1px solid #edf0ed;grid-template-columns:1.3fr 1fr 1.25fr .62fr .82fr .62fr .4fr;align-items:center;gap:16px;padding:16px 24px;font-size:12px;display:grid}.customer-row:last-child{border-bottom:0}.customer-row:not(.customer-header):hover{background:#fafbf8}.customer-header{color:#77817d;background:#f6f7f4;padding-block:11px;font-size:10px;font-weight:800}.customer-row b,.customer-row small{display:block}.customer-row small{color:#87918d;margin-top:5px;font-size:10px}.customer-sort{min-width:220px;color:var(--muted);gap:6px;font-size:13px;font-weight:800;display:grid}.customer-health-cell{min-width:0}.customer-health{border-radius:999px;justify-content:center;min-width:58px;padding:6px 9px;font-style:normal;font-weight:900;display:inline-flex}.customer-health.good{color:#287566;background:#e4f3ed}.customer-health.follow{color:#9a6415;background:#fff2da}.customer-health.risk{color:#a64d40;background:#fdeae6}.customer-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.empty-state{color:var(--muted);text-align:center;padding:42px;font-size:12px}.template-layout{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:20px;display:grid}.template-library,.template-builder{background:#fff;border:1px solid #e0e4df;border-radius:15px;box-shadow:0 10px 35px #1a30280f}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:20px;display:grid}.template-card{background:linear-gradient(150deg,#fff,#f7f8f4);border:1px solid #dfe3df;border-radius:14px;flex-direction:column;min-height:240px;padding:20px;display:flex}.template-card h3{margin:12px 0 8px;font-size:18px}.template-card p{color:var(--muted);flex:1;font-size:13px;line-height:1.65}.template-card>div{flex-wrap:wrap;gap:7px;margin-bottom:15px;display:flex}.template-card>div span,.template-category{color:#46766c;background:#edf4ef;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-block}.template-card .template-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.template-card .template-actions button{width:100%}.template-card .primary,.template-card .ghost{width:100%;margin-top:auto}.template-category{color:#8f5b0e;background:#fff0d4;align-self:flex-start}.template-builder{padding:24px}.template-builder>p:not(.eyebrow){color:var(--muted);font-size:13px;line-height:1.65}.template-builder label{color:#536276;margin-top:15px;font-size:13px;font-weight:800;display:block}.template-builder input,.template-builder select,.template-builder textarea{margin-top:7px}.template-builder>.primary{width:100%;margin-top:20px}.template-picker{width:min(980px,96vw);max-height:92vh;box-shadow:var(--shadow);background:#f4f5f2;border-radius:18px;overflow-y:auto}.picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.blank-template{border-style:dashed}.estimate-warning{color:#765018;background:#fff5e1;border:1px solid #e6c47e;border-radius:11px;margin-bottom:18px;padding:12px 16px;font-size:13px;font-weight:700}.estimate-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:20px;display:grid}.estimate-form{gap:18px;display:grid}.estimate-section{background:#fff;border:1px solid #e0e4df;border-radius:15px;padding:25px;box-shadow:0 8px 28px #1a30280d}.estimate-heading{align-items:start;gap:13px;display:flex}.estimate-heading>i{background:var(--gold);color:#17130d;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;font-style:normal;font-weight:900;display:grid}.estimate-heading h2{margin-bottom:5px;font-size:19px}.estimate-heading p{color:var(--muted);font-size:13px}.question-field small,.estimate-form label>small{color:#7c8782;margin-top:7px;font-size:11px;font-weight:500;line-height:1.45;display:block}.capability-grid{grid-template-columns:1fr 1fr;gap:11px;margin-top:20px;display:grid}.capability-card{cursor:pointer;background:#fafbf8;border:1px solid #dfe3df;border-radius:11px;gap:11px;padding:15px;display:flex}.capability-card.checked{background:linear-gradient(145deg,#fff7e8,#eef6f1);border-color:#d5a34c}.capability-card input{accent-color:#d99224;width:17px;margin-top:2px}.capability-card b,.capability-card small{display:block}.capability-card b{font-size:13px}.capability-card small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.45}.module-table{border:1px solid #dfe3df;border-radius:12px;margin-top:20px;overflow:hidden}.module-row{background:#fff;border-bottom:1px solid #e7eae6;grid-template-columns:46px minmax(260px,1.8fr) minmax(170px,1fr) 90px;align-items:center;gap:12px;padding:13px 14px;display:grid}.module-row:last-child{border-bottom:0}.module-row.selected{background:linear-gradient(90deg,#fff8eb,#f1f7f3)}.module-header{color:#748079;background:#f4f6f3;font-size:11px;font-weight:900}.module-row>label{place-items:center;display:grid}.module-row input[type=checkbox]{accent-color:#d99224;width:18px}.module-row>span b,.module-row>span small{display:block}.module-row>span b{font-size:13px}.module-row>span small{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.45}.module-row>span:last-child{color:var(--muted);text-align:center;font-size:12px}.module-row>span:last-child input{text-align:center;padding:7px}.pm-row{background:#fafbf8}.estimate-result{color:#fff;box-shadow:var(--shadow);background:radial-gradient(circle at 95% 5%,#a7d5bb2b,#0000 30%),linear-gradient(160deg,#111d27,#090e14 72%);border-radius:16px;padding:24px;position:sticky;top:22px}.estimate-status{justify-content:space-between;gap:8px;margin-bottom:18px;display:flex}.estimate-status span,.estimate-status b{border-radius:999px;padding:5px 8px;font-size:10px}.estimate-status span{color:#f5bd5e;background:#f2aa382e}.estimate-status b{color:#add9c1;background:#a7d5bb21}.estimate-result>h2{margin-bottom:7px;font-size:23px}.estimate-result>p{color:#9eabb6;margin-bottom:5px;font-size:12px}.estimate-result>strong{color:#f5bd5e;font-size:21px;display:block}.estimate-breakdown{border-block:1px solid #ffffff21;margin:20px 0;padding:13px 0}.estimate-breakdown span{color:#aab7c1;justify-content:space-between;gap:15px;margin:10px 0;font-size:11px;display:flex}.estimate-breakdown b{color:#fff;text-align:right}.full-estimate{background:linear-gradient(135deg,#f2aa3829,#a7d5bb1a);border-radius:11px;padding:14px}.full-estimate small,.full-estimate b,.full-estimate span{display:block}.full-estimate b{color:#fff;margin:5px 0}.full-estimate span{color:#b8c4cc;font-size:11px}.full-estimate em{color:#f0c477;margin-top:6px;font-size:10px;font-style:normal;display:block}.missing-box,.talk-track{background:#ffffff0f;border-radius:10px;margin-top:14px;padding:13px}.missing-box b,.missing-box span{font-size:11px;display:block}.missing-box span{color:#f1c77d;margin-top:6px}.talk-track b{font-size:11px}.talk-track p{color:#b9c5cd;margin:7px 0 0;font-size:11px;line-height:1.65}.estimate-result>.primary{width:100%;margin-top:18px}.primary:disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.55;transform:none}.editor-overlay,.drawer-backdrop{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#08162494;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.editor{width:min(1180px,96vw);height:min(820px,94vh);box-shadow:var(--shadow);background:#f6f8fa;border-radius:18px;grid-template-rows:auto auto 1fr auto;display:grid;overflow:hidden}.editor-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.editor-head h2{margin:0 0 3px;font-size:21px}.editor-head span{color:var(--muted);font-size:11px}.close{color:#738193;background:0 0;border:0;font-size:28px}.stepper{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(10,minmax(86px,1fr));padding:14px 24px;display:grid;overflow-x:auto}.stepper button{color:#9aa5b0;background:0 0;border:0;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex;position:relative}.stepper button:not(:last-child):after{content:"";background:#d9e0e5;width:20%;height:1px;position:absolute;right:8px}.stepper i{border:1px solid #ccd5dc;border-radius:50%;place-items:center;width:25px;height:25px;font-style:normal;display:grid}.stepper .current{color:var(--navy)}.stepper .current i,.stepper .done i{border-color:var(--gold);background:var(--gold);color:#17130d}.editor-body{grid-template-columns:1fr 280px;gap:18px;min-height:0;padding:18px;display:grid;overflow:hidden}.form-pane{padding:4px 5px 20px 2px;overflow-y:auto}.form-section{background:#fff;border:1px solid #e0e6eb;border-radius:14px;min-height:100%;padding:26px}.form-section>h3,.section-title h3{margin-bottom:6px;font-size:19px}.form-section>p,.section-title p{color:var(--muted);font-size:12px}.form-grid{grid-template-columns:1fr 1fr;gap:17px;margin-top:24px;display:grid}.form-grid label,.workflow-card label{color:#536276;font-size:11px;font-weight:800}.form-grid input,.form-grid select,.form-grid textarea,.workflow-card input,.workflow-card textarea{margin-top:7px;font-weight:500}.wide{grid-column:1/-1}.live-summary{color:#fff;background:radial-gradient(circle at 95% 5%,#a7d5bb2e,#0000 30%),linear-gradient(160deg,#111d27,#090e14 72%);border:1px solid #f2aa382e;border-radius:14px;align-self:start;padding:22px}.live-summary h3{margin-bottom:6px;font-size:16px}.live-summary>p:not(.eyebrow){color:#9fb7ca;font-size:11px}.live-summary hr{border:0;border-top:1px solid #ffffff24;margin:18px 0}.live-summary>span{color:#b8c9d7;justify-content:space-between;gap:10px;margin:10px 0;font-size:11px;display:flex}.live-summary>span b{color:#fff}.summary-total{background:linear-gradient(135deg,#f2aa382e,#a7d5bb1f);border-radius:11px;margin:20px -7px 15px;padding:16px}.summary-total small,.summary-total strong{display:block}.summary-total strong{color:#f5bd5e;margin:4px 0;font-size:22px}.check-list{color:#abc5d5;gap:8px;font-size:10px;display:grid}.check-list i{font-style:normal}.editor-footer{border-top:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;min-height:67px;padding:12px 20px;display:flex}.editor-footer>span{color:var(--teal);font-size:11px}.section-title{justify-content:space-between;align-items:start;display:flex}.small-button{color:var(--blue);padding:8px 11px;font-size:11px}.workflow-list{gap:11px;margin-top:20px;display:grid}.workflow-card{background:#fbfcfd;border:1px solid #dce3e8;border-radius:11px;grid-template-columns:70px 1fr 145px 28px;align-items:start;gap:12px;padding:14px;display:grid}.workflow-code{color:var(--blue);text-align:center;background:#e7f1f6;border-radius:7px;padding:9px 5px;font-size:11px;font-weight:800}.workflow-card textarea{resize:vertical;margin-top:7px}.remove{color:#a66a61;background:0 0;border:0;font-size:20px}.structured-list{gap:11px;margin-top:22px;display:grid}.structured-row{background:#fbfcfa;border:1px solid #dfe3df;border-radius:11px;align-items:start;gap:10px;padding:13px;display:grid}.schedule-row,.schedule-field-header{grid-template-columns:1fr 110px 2fr 28px}.schedule-field-header,.fee-field-header{color:#536276;gap:10px;margin:22px 13px 8px;font-size:13px;font-weight:800;display:grid}.schedule-list{margin-top:0}.payment-row,.payment-field-header{grid-template-columns:minmax(150px,1.2fr) minmax(155px,1fr) 115px minmax(180px,1.35fr) 150px 28px}.payment-field-header{color:#536276;gap:10px;margin:22px 13px 8px;font-size:13px;font-weight:800;display:grid}.payment-list{margin-top:0}.calculated-amount{color:var(--teal);background:#f0f3f2;font-weight:800}.payment-calculation-notice{color:#176b61;background:#eaf6f2;border-radius:8px;margin-top:12px;padding:11px 14px;font-weight:700}.payment-calculation-notice.warning{color:#8b5a12;background:#fff3df}.fee-row,.fee-field-header{grid-template-columns:1fr 1fr 1.8fr 28px}.fee-row{margin-top:10px}.fee-list{margin-top:0}.payment-days{background:#f5f6f3;border-radius:11px;justify-content:space-between;align-items:end;gap:16px;margin-top:22px;padding:14px;display:flex}.payment-days label{color:#536276;max-width:260px;font-size:11px;font-weight:800}.payment-days input{margin-top:7px}.fee-block{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}.framework-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.framework-grid article{background:linear-gradient(145deg,#fff,#f7f8f4);border:1px solid #dfe3df;border-radius:12px;min-height:115px;padding:16px}.framework-grid i{background:var(--gold);color:#17130d;border-radius:50%;place-items:center;width:25px;height:25px;margin-bottom:12px;font-size:10px;font-style:normal;font-weight:900;display:grid}.framework-grid b,.framework-grid span{display:block}.framework-grid b{font-size:12px}.framework-grid span{color:var(--muted);margin-top:7px;font-size:10px;line-height:1.5}.formula-box{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:26px;display:grid}.formula-box span{border:1px solid var(--line);color:var(--muted);border-radius:10px;padding:15px;font-size:10px}.formula-box b{color:var(--ink);margin-top:8px;font-size:14px;display:block}.formula-box .grand{background:linear-gradient(135deg,#fff3dd,#edf6f0);border-color:#e4c27f}.formula-box .grand b{color:#9a6415}.document-preview{background:#fff;border:1px solid #d9e0e6;max-width:720px;margin:0 auto;padding:42px;box-shadow:0 10px 30px #1e304414}.doc-kicker{color:#9a6415;letter-spacing:.12em;font-size:10px;font-weight:900}.document-preview h2{color:var(--navy);font-size:26px}.document-preview>p{color:var(--muted);font-size:11px}.doc-meta{border:1px solid var(--line);color:var(--muted);border-radius:8px;grid-template-columns:1fr 1fr;gap:6px 18px;margin:15px 0;padding:13px;font-size:10px;display:grid}.doc-callout{border-left:4px solid var(--gold);background:linear-gradient(90deg,#fff3dc,#edf6f1);gap:5px;margin:22px 0;padding:16px;display:grid}.doc-callout span{font-size:11px}.document-preview>h3{break-after:avoid;margin:42px 0 14px;line-height:1.5}.document-preview>.doc-callout+h3{margin-top:32px}.document-preview table{border-collapse:collapse;width:100%;font-size:10px}.document-preview th{background:var(--navy);color:#fff;text-align:left;padding:9px}.document-preview td{border-bottom:1px solid var(--line);padding:8px}.doc-total{background:#f4f7f8;grid-template-columns:1fr auto;gap:8px 20px;margin-top:18px;padding:15px;display:grid}.doc-total strong{color:var(--teal);font-size:18px}.doc-not-applicable{color:var(--muted);background:#f7f8f8;border:1px dashed #c9d0d5;border-radius:8px;margin:0;padding:16px 18px;font-weight:700}.doc-payment-note{border-left:4px solid var(--teal);color:var(--ink);background:#eef7f5;gap:6px;margin-top:14px;padding:16px 18px;line-height:1.65;display:grid}.doc-payment-note b,.doc-payment-note span{display:block}.doc-bank-info{border:1px solid #d8c18f;border-left:4px solid var(--gold);color:var(--ink);background:#fffaf0;border-radius:8px;gap:8px;padding:18px;line-height:1.65;display:grid}.doc-bank-info b,.doc-bank-info span{display:block}.signature-grid{border:1px solid var(--line);grid-template-columns:1fr 1fr;gap:24px;margin-top:18px;padding:18px;font-size:11px;line-height:1.8;display:grid}.version-drawer{background:#fff;width:min(450px,92vw);height:100%;padding:26px;position:absolute;top:0;right:0;box-shadow:-20px 0 50px #0818282e}.customer-editor{width:min(840px,94vw);max-height:92vh;box-shadow:var(--shadow);background:#f6f7f4;border-radius:18px;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.customer-editor .form-section{min-height:0;margin:18px;overflow-y:auto}.readonly-view{width:min(920px,96vw);height:min(900px,94vh);box-shadow:var(--shadow);background:#f3f4f1;border-radius:18px;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.readonly-scroll{padding:22px;overflow-y:auto}.version-drawer header{justify-content:space-between;display:flex}.timeline{border-left:1px solid #cfd9e0;margin-top:24px;padding-left:20px}.timeline article{grid-template-columns:42px 1fr;gap:10px;margin:0 0 28px;display:grid;position:relative}.timeline article:before{content:"";background:var(--teal);border-radius:50%;width:9px;height:9px;position:absolute;top:4px;left:-25px;box-shadow:0 0 0 5px #e3f1ef}.timeline i{color:var(--teal);font-size:9px;font-style:normal;font-weight:800}.timeline h3{margin-bottom:5px}.timeline p,.timeline small,.timeline span{color:var(--muted);margin-bottom:5px;font-size:11px;display:block}.brand small,.storage b,.metric small,.quote-row small,.customer-row small,.editor-head span,.loading-line{font-size:12px}.eyebrow,.metric p,.card-head p,.form-section>p,.section-title p,.live-summary>p:not(.eyebrow),.live-summary>span,.form-grid label,.workflow-card label,.payment-days label,.document-preview>p,.doc-callout span,.timeline p,.timeline small,.timeline span{font-size:13px}.quote-header,.customer-header,.status,.version-pill,.workflow-code,.framework-grid span,.check-list{font-size:12px}.metric strong,.card-head h2{font-size:20px}.document-preview table{font-size:12px;line-height:1.55}.doc-kicker,.doc-meta{font-size:12px}@media (max-width:1000px){.app-shell{grid-template-columns:76px 1fr}.sidebar{padding-inline:11px}.brand>div,.nav-item:not(.active),.nav-item{font-size:0}.brand{padding-inline:7px}.brand-mark{flex:0 0 40px}.nav-item span{font-size:17px}.storage{display:none}.workspace{padding:28px 22px}.metrics{grid-template-columns:1fr 1fr}.editor-body{grid-template-columns:1fr}.live-summary{display:none}}@media (max-width:720px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;width:100%;height:auto;padding:12px 16px;position:static}.brand{padding:0}.sidebar nav,.sidebar-bottom{display:none}.workspace{padding:20px 14px}.topbar,.card-head{flex-direction:column;align-items:stretch;gap:14px}.metrics{grid-template-columns:1fr}.filters,.filters input,.filters select{width:100%}.quote-header{display:none}.quote-row{grid-template-columns:1fr auto;gap:10px}.quote-row>span:nth-child(3),.quote-row>span:nth-child(5){justify-self:end}.quote-row>span:nth-child(4){grid-column:1}.quote-row>span:nth-child(6){grid-area:3/2}.customer-metrics{grid-template-columns:1fr}.customer-header{display:none}.customer-row{grid-template-columns:1fr auto}.template-layout,.template-grid,.picker-grid,.estimate-layout,.capability-grid{grid-template-columns:1fr}.estimate-result{position:static}.module-table{overflow-x:auto}.module-row{min-width:720px}.stepper{grid-template-columns:repeat(10,minmax(110px,1fr));overflow-x:auto}.editor-overlay{padding:0}.editor{border-radius:0;width:100%;height:100%}.form-grid,.formula-box{grid-template-columns:1fr}.workflow-card{grid-template-columns:55px 1fr 28px}.workflow-card label{grid-column:2}.editor-footer{flex-direction:column;align-items:flex-start;gap:8px}.editor-footer>div{width:100%;overflow-x:auto}.schedule-row,.payment-row,.fee-row,.framework-grid,.signature-grid{grid-template-columns:1fr}.schedule-field-header,.payment-field-header,.fee-field-header{display:none}}@media print{.sidebar,.workspace,.editor-head,.stepper,.live-summary,.editor-footer{display:none!important}.editor-overlay{background:#fff;padding:0;display:block;position:static}.editor{width:auto;height:auto;box-shadow:none;display:block}.editor-body,.form-pane{padding:0;display:block;overflow:visible}.form-section{border:0;padding:0}.document-preview{max-width:none;box-shadow:none;border:0;padding:20mm}.document-preview>h3{break-after:avoid;margin:42px 0 14px}.document-preview>.doc-callout+h3{margin-top:32px}.document-preview table,.doc-callout,.doc-total,.doc-not-applicable,.doc-payment-note,.doc-bank-info,.signature-grid{break-inside:avoid}}.dashboard-date{color:var(--muted);font-size:12px}.dashboard-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.form-grid input[readonly]{color:#68736e;cursor:not-allowed;background:#f1f3f0;border-color:#e3e6e2}.dashboard-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.settings-notice{color:#336f64;background:#edf7f3;border:1px solid #c9ddd6;border-radius:10px;margin-bottom:18px;padding:12px 16px;font-size:14px;font-weight:800}.toast-notice{z-index:120;color:#f6fbf8;background:#10241f;border:1px solid #a7d5bb61;border-radius:12px;align-items:center;gap:10px;max-width:min(420px,100vw - 32px);padding:14px 18px;font-size:14px;font-weight:800;animation:.24s ease-out toast-in;display:flex;position:fixed;bottom:26px;right:26px;box-shadow:0 18px 45px #04110d4d}.toast-notice span{background:var(--mint);color:#12332a;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;height:24px;display:grid}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.settings-card{background:#fff;border:1px solid #e0e4df;border-radius:15px;padding:22px;box-shadow:0 10px 30px #15262d0f}.settings-card>header{justify-content:space-between;gap:18px;margin-bottom:20px;display:flex}.settings-card>header h2{margin-bottom:5px;font-size:21px}.settings-card>header p{color:var(--muted);margin:0;font-size:14px}.settings-card>header>span{color:#9a6518;background:#fff0d5;border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;font-size:13px;font-weight:900;display:grid}.settings-preview{background:#f2f5f2;border-radius:10px;grid-template-columns:auto 1fr;gap:8px 14px;margin-top:18px;padding:14px;font-size:13px;display:grid}.settings-preview span{color:var(--muted)}.settings-security-note{color:#79571f;background:#fff8e9;border:1px solid #ead5a8;border-radius:9px;margin-top:16px;padding:11px 13px;font-size:13px;line-height:1.55}.settings-terms{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.settings-terms label{color:#536276;font-size:14px;font-weight:800}.settings-terms textarea{resize:vertical;width:100%;margin-top:8px}.dashboard-card{background:#fff;border:1px solid #e0e4df;border-radius:15px;padding:22px;box-shadow:0 10px 30px #15262d0f}.dashboard-card>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.dashboard-card h2{margin:0 0 5px;font-size:18px}.dashboard-card header p{color:var(--muted);margin:0;font-size:12px}.wide-card{grid-column:1/-1}.funnel-chart{justify-items:center;gap:9px;display:grid}.funnel-step{color:#fff;background:linear-gradient(90deg,#0f1b25,#203b45);border-radius:9px;grid-template-columns:1fr auto;align-items:center;padding:13px 16px;display:grid}.funnel-step:nth-child(2){background:linear-gradient(90deg,#39776f,#65a99b)}.funnel-step:nth-child(3){color:#241a0c;background:linear-gradient(90deg,#e5a93e,#f2cf7d)}.funnel-step small{opacity:.74;grid-column:1/-1;margin-top:4px;font-size:10px}.funnel-rates{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.funnel-rates span{color:#287064;background:#e2f3ec;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:900}.funnel-rates .loss{color:#a45044;background:#fbe9e5}.funnel-branch{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;padding-top:18px;display:grid;position:relative}.funnel-branch:before{content:"";background:#ccd5d1;height:1px;position:absolute;top:4px;left:16.66%;right:16.66%}.funnel-outcome{color:#2e655c;text-align:center;background:#eef5f3;border-radius:9px;gap:4px;padding:11px 9px;display:grid}.funnel-outcome.signed{color:#355f7d;background:#e6eef5}.funnel-outcome.expired{color:#9d5146;background:#f8e9e6}.funnel-outcome span,.funnel-outcome small{font-size:13px}.funnel-outcome b{font-size:16px}.donut-wrap{grid-template-columns:180px 1fr;align-items:center;gap:26px;display:grid}.donut-chart{border-radius:50%;place-items:center;width:170px;height:170px;display:grid;position:relative}.donut-chart:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:30px}.donut-chart span{z-index:1;color:var(--muted);text-align:center;font-size:11px}.donut-chart span b{color:var(--ink);font-size:20px;display:block}.chart-legend{gap:9px;display:grid}.chart-legend>span{grid-template-columns:10px 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.chart-legend i{border-radius:3px;width:10px;height:10px}.chart-legend small{color:var(--muted);grid-column:2/-1;font-size:10px}.bar-chart{grid-template-columns:repeat(6,1fr);align-items:end;gap:18px;height:230px;padding-top:20px;display:grid}.bar-column{text-align:center;grid-template-rows:26px 1fr auto;gap:7px;height:100%;display:grid}.bar-value{color:var(--muted);font-size:10px}.bar-track{background:#f0f2ef;border-radius:8px;height:100%;position:relative;overflow:hidden}.bar-track i{background:linear-gradient(#f3b64f,#4f9588);border-radius:8px 8px 0 0;position:absolute;bottom:0;left:0;right:0}.health-summary{flex-wrap:wrap;gap:7px;display:flex}.health-summary span,.health-pill{border-radius:999px;padding:5px 8px;font-size:10px;font-weight:900;display:inline-block}.health-summary .risk,.health-pill.高風險{color:#a45044;background:#fbe9e5}.health-summary .follow,.health-pill.待跟進{color:#9b6a17;background:#fff3d9}.health-summary .good,.health-pill.健康,.health-pill.成交{color:#287064;background:#e2f3ec}.health-pill.失效{color:#69736f;background:#edf0ef}.health-row{border-bottom:1px solid #ecefec;grid-template-columns:1.4fr 1fr .9fr .6fr .55fr;align-items:center;gap:14px;padding:13px 0;font-size:12px;display:grid}.health-row:last-child{border-bottom:0}.health-header{color:var(--muted);font-size:10px;font-weight:800}.health-row b,.health-row small{display:block}.health-row small{color:var(--muted);margin-top:4px;font-size:10px}@media (max-width:1000px){.settings-grid,.settings-terms{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.wide-card{grid-column:auto}.donut-wrap{grid-template-columns:1fr;justify-items:center}}body{font-size:17px}.brand small,.storage b,.storage small,.system-copyright b,.system-copyright span,.metric small,.quote-row small,.customer-row small,.editor-head span,.loading-line,.question-field small,.estimate-form label>small,.capability-card small,.module-row>span small,.full-estimate em,.health-row small,.chart-legend small,.funnel-step small{font-size:13px}.nav-item{font-size:16px}.eyebrow,.metric p,.card-head p,.form-section>p,.section-title p,.live-summary>p:not(.eyebrow),.live-summary>span,.form-grid label,.workflow-card label,.payment-days label,.document-preview>p,.doc-callout span,.timeline p,.timeline small,.timeline span,.dashboard-date,.dashboard-card header p,.chart-legend>span,.health-row,.module-row>span:last-child{font-size:14px}.primary,.ghost,.small-button,.icon-button,input,select,textarea,.quote-row,.customer-row{font-size:15px}.quote-header,.customer-header,.status,.version-pill,.workflow-code,.framework-grid span,.check-list,.health-header,.health-summary span,.health-pill,.bar-value{font-size:13px}.metric strong{letter-spacing:-.02em;font-size:clamp(17px,1.25vw,21px)}.metric>div:last-child{flex:auto;min-width:0}.card-head h2,.dashboard-card h2{font-size:21px}.document-preview table,.doc-kicker,.doc-meta{font-size:13px}.template-card p,.template-builder>p:not(.eyebrow),.template-builder label,.estimate-warning,.estimate-heading p,.capability-card b,.module-row>span b,.estimate-result>p,.estimate-breakdown span,.full-estimate span,.missing-box b,.missing-box span,.talk-track b,.talk-track p,.stepper button,.framework-grid b,.framework-grid span,.formula-box span,.signature-grid{font-size:14px}.bar-column b{font-size:13px}@media (max-width:1500px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1300px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:1100px){.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:17px}}@media (max-width:720px){.metrics,.dashboard-metrics,.funnel-branch{grid-template-columns:1fr}.funnel-branch:before{display:none}}@media (max-width:1000px) and (min-width:721px){.brand>div,.nav-item:not(.active),.nav-item{font-size:0}.nav-item span{font-size:18px}}@media (max-width:720px){.dashboard-card{padding:17px}.bar-chart{gap:7px}.health-header{display:none}.health-row{grid-template-columns:1fr auto}.health-row>span:nth-child(3),.health-row>span:nth-child(4){display:none}}
