:root{--ink:#17201d;--muted:#67736e;--line:#dce3df;--paper:#fff;--bg:#f3f6f4;--green:#176b4d;--green2:#0e4f38;--lime:#ddeb89;--red:#b42318;--amber:#a15c00;--blue:#245aa6;--shadow:0 8px 30px rgba(21,44,35,.08)}*{box-sizing:border-box}html{font-family:Inter,"Segoe UI","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--bg)}body{margin:0;line-height:1.5}a{color:var(--green);text-decoration:none}button,.button{font:inherit}.topbar{height:68px;background:#12251e;color:#fff;display:flex;align-items:center;padding:0 max(24px,calc((100vw - 1440px)/2));gap:34px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;color:#fff;font-weight:700;white-space:nowrap}.brand span,.quote-logo{display:grid;place-items:center;width:34px;height:34px;margin-right:10px;background:var(--lime);color:#183022;font-weight:900}.topbar nav{display:flex;gap:24px;flex:1}.topbar nav a,.account a{color:#dce8e2;font-size:14px}.account{display:flex;align-items:center;gap:14px;font-size:13px;color:#b8c9c1}.account form{margin:0}.link{border:0;background:transparent;color:#dce8e2;cursor:pointer;padding:0}.container{width:min(1440px,calc(100% - 48px));margin:0 auto;padding:38px 0 20px}.container>footer{text-align:center;color:var(--muted);font-size:12px;padding:46px 0 10px}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head h1,.public-intro h1{font-size:clamp(30px,4vw,48px);line-height:1.08;margin:4px 0 8px;letter-spacing:0}.page-head p,.public-intro p{color:var(--muted);margin:0}.eyebrow{font-size:11px!important;color:var(--green)!important;font-weight:800;letter-spacing:1.7px;text-transform:uppercase}.actions,.form-actions{display:flex;align-items:center;gap:10px}.button,button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfcac4;background:#fff;color:var(--ink);padding:9px 14px;min-height:40px;cursor:pointer;border-radius:4px;font-weight:650}.primary{background:var(--green);border-color:var(--green);color:#fff}.primary:hover{background:var(--green2)}.small{padding:5px 10px;min-height:32px;font-size:13px}.icon{min-width:36px;padding:5px;font-size:20px}.danger{color:var(--red)}.large{padding:14px 24px;font-size:16px}.panel{background:var(--paper);border:1px solid var(--line);padding:24px;box-shadow:0 1px 0 rgba(0,0,0,.02)}.panel h2,.section-head h2{font-size:18px;margin:0 0 18px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head span{font-size:12px;color:var(--muted)}.stack{display:grid;gap:18px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:28px}.metrics article{background:#fff;border-top:3px solid var(--green);padding:19px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-left:1px solid var(--line)}.metrics span{display:block;color:var(--muted);font-size:13px}.metrics strong{display:block;font-size:31px;margin-top:7px}.split{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:22px}.split>section,.split>aside{background:#fff;border:1px solid var(--line);padding:22px}.table-wrap{overflow:auto;background:#fff;border:1px solid var(--line)}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:#4f5d57;font-size:11px;text-transform:uppercase;background:#edf2ef;padding:12px;white-space:nowrap}td{padding:13px 12px;border-top:1px solid #e8ecea;vertical-align:top}td small{display:block;color:var(--muted);margin-top:2px}.mono{font-family:"SFMono-Regular",Consolas,monospace;font-weight:700}.badge{display:inline-flex;padding:4px 8px;border-radius:3px;background:#e9eeeb;font-size:12px;white-space:nowrap}.s-new{background:#e7f0fd;color:#194f92}.s-assigned,.s-following{background:#e4f2ec;color:#145a42}.s-pending_quote,.s-needs_info{background:#fff0d7;color:#8a4d00}.s-quoted{background:#e7e6f7;color:#49418d}.s-won{background:#dff3d8;color:#276a1d}.s-lost,.s-closed{background:#eee;color:#666}.tasks{display:grid;gap:1px}.tasks a{display:grid;padding:13px 0;border-bottom:1px solid var(--line)}.tasks span,.tasks time{font-size:12px;color:var(--muted)}.empty{color:var(--muted);text-align:center;padding:20px}.filters{display:grid;grid-template-columns:2fr repeat(6,minmax(110px,1fr)) auto auto;gap:8px;margin-bottom:14px;align-items:center}.filters a{text-align:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.form-grid .wide{grid-column:1/-1}label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#34413c}input,select,textarea{width:100%;font:inherit;border:1px solid #bdc8c2;background:#fff;color:var(--ink);padding:10px 11px;border-radius:3px;min-height:42px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid rgba(23,107,77,.2);border-color:var(--green)}.item-row{display:grid;grid-template-columns:1fr 1.4fr 1.5fr .8fr .7fr .9fr .7fr 38px;gap:8px;margin-top:8px}.quote-item-row{display:grid;grid-template-columns:3fr .7fr .7fr 1fr .8fr 38px;gap:8px;align-items:center;margin-top:8px}.quote-item-row output{text-align:right;font-variant-numeric:tabular-nums}.form-actions{justify-content:flex-end}.flash{padding:13px 16px;margin-bottom:20px;border-left:4px solid var(--blue);background:#e8f1fb}.flash.error{border-color:var(--red);background:#feeceb}.flash.success{border-color:var(--green);background:#e5f4ed}.detail-grid{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(310px,.9fr);gap:22px}.facts{display:grid;grid-template-columns:130px 1fr 130px 1fr;margin:0}.facts dt,.facts dd{padding:10px 0;border-bottom:1px solid var(--line);margin:0}.facts dt{color:var(--muted);font-size:12px}.prose{margin-top:18px;padding:16px;background:#f5f7f6;white-space:normal}.attachments,.quote-list{display:grid;gap:8px}.attachments a,.quote-list a{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border:1px solid var(--line);padding:11px;color:var(--ink)}.attachments small,.quote-list span{color:var(--muted);font-size:12px}.timeline{display:grid}.timeline article{position:relative;padding:0 0 18px 16px;border-left:2px solid #cad6d0}.timeline article:before{content:"";position:absolute;width:8px;height:8px;background:var(--green);left:-5px;top:5px;border-radius:50%}.timeline time{float:right;color:var(--muted);font-size:11px}.timeline p{font-size:13px;margin:6px 0}.timeline small{color:var(--amber)}.compact article{padding-bottom:10px}.admin-grid{display:grid;grid-template-columns:2.4fr 1fr;gap:22px}.form-narrow{max-width:520px}.auth-panel{min-height:calc(100vh - 170px);display:grid;grid-template-columns:1.5fr minmax(340px,.7fr);gap:70px;align-items:center;background:linear-gradient(100deg,#edf3ef 0 60%,transparent 60%);padding:60px}.auth-panel>div h1{font-size:52px;max-width:600px;line-height:1.05;margin:10px 0}.auth-panel>div p{color:var(--muted)}.public-intro{max-width:820px;margin:18px auto 34px;text-align:center}.public-intro h1{font-size:48px}.wizard{max-width:980px;margin:auto}.step-label{font:700 11px Consolas,monospace;color:var(--green);margin-bottom:5px}.verify-box{display:flex;align-items:end;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.captcha{display:flex;align-items:center;gap:8px}.captcha input{width:90px}.consent{display:flex;grid-template-columns:auto 1fr;align-items:start}.consent input{width:18px;min-height:18px;margin-top:3px}.success-state{text-align:center;max-width:700px;margin:90px auto}.success-state>span{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 24px;border-radius:50%;background:var(--green);color:#fff;font-size:38px}.success-state h1{font-size:40px}.success-state p{color:var(--muted)}.work-queue{display:grid;background:#fff;border:1px solid var(--line)}.work-queue>a{display:grid;grid-template-columns:1.2fr 2fr 1fr 1fr 1fr .7fr;gap:12px;align-items:center;padding:16px;border-bottom:1px solid var(--line);color:var(--ink)}.notifications{display:grid;gap:10px;max-width:900px}.notifications a{background:#fff;border-left:3px solid var(--green);padding:16px;color:var(--ink)}.notifications p{margin:4px 0;color:var(--muted)}.notifications time{font-size:11px;color:var(--muted)}.quote-sheet{background:#fff;max-width:1000px;min-height:1300px;margin:auto;padding:60px;box-shadow:var(--shadow)}.quote-sheet>header{display:flex;justify-content:space-between;border-bottom:3px solid var(--green);padding-bottom:26px}.quote-sheet>header>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center}.quote-sheet>header h2,.quote-sheet>header p{margin:0}.quote-sheet>header>div:last-child{text-align:right}.quote-sheet>header>div:last-child h1{font-size:38px;margin:0}.quote-meta{display:grid;grid-template-columns:2fr 1fr;gap:50px;margin:35px 0}.quote-meta>div{display:grid;gap:5px}.quote-meta small{color:var(--muted);font-size:10px}.quote-table{border:1px solid var(--line)}.totals{width:380px;margin:24px 0 24px auto}.totals p{display:flex;justify-content:space-between;margin:0;padding:7px;border-bottom:1px solid var(--line)}.totals .grand{background:var(--green);color:#fff;padding:12px}.terms{border-top:1px solid var(--line);padding-top:16px;font-size:13px}.quote-sheet>footer{display:flex;justify-content:space-between;margin-top:60px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.empty-state{text-align:center;padding:100px}
@media(max-width:900px){.topbar{height:auto;min-height:62px;padding:12px 18px;flex-wrap:wrap}.topbar nav{order:3;width:100%;overflow:auto;padding-bottom:4px}.account span{display:none}.container{width:min(100% - 24px,1440px);padding-top:24px}.metrics{grid-template-columns:repeat(2,1fr)}.split,.detail-grid,.admin-grid,.auth-panel{grid-template-columns:1fr}.auth-panel{padding:24px;background:#edf3ef;gap:24px}.auth-panel>div h1{font-size:38px}.filters{grid-template-columns:repeat(2,1fr)}.item-row{grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--line);padding-bottom:14px}.quote-item-row{grid-template-columns:2fr 1fr}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.facts{grid-template-columns:110px 1fr}.work-queue>a{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start;flex-direction:column}.quote-sheet{padding:24px;min-height:auto}.quote-sheet>header,.quote-meta{grid-template-columns:1fr;display:grid;gap:20px}.quote-sheet>header>div:last-child{text-align:left}.totals{width:100%}}
@media print{body{background:#fff}.topbar,.container>footer,.no-print{display:none!important}.container{width:100%;padding:0}.quote-sheet{box-shadow:none;max-width:none;min-height:auto;padding:12mm}.quote-sheet>header{break-inside:avoid}.quote-table tr{break-inside:avoid}@page{size:A4;margin:8mm}}

/* Shared Chanscen watermark, matching the calculation tools. */
body::after{content:"";position:fixed;inset:68px 0 0;z-index:6;background-image:url("chanscen-watermark-tile.png");background-position:18px 12px;background-repeat:repeat;background-size:520px 210px;opacity:.042;pointer-events:none;user-select:none}
@media(max-width:900px){body::after{inset:0;background-position:8px 8px;background-size:320px 130px;opacity:.046}}
@media(max-width:900px){.topbar nav{flex:0 0 100%;white-space:nowrap}.topbar nav a{white-space:nowrap}}
.dual-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.dual-chart-grid .table-wrap{margin-top:14px}
@media(max-width:900px){.dual-chart-grid{grid-template-columns:1fr}}
