:root{--bg:#f3f5f8;--paper:#fff;--ink:#1c293d;--muted:#617086;--line:#e0e5ec;--blue:#244d87;--pale:#edf2fa;--amber:#815a1f;--amber-bg:#faf4e8;--red:#ac3544;--green:#336650;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif;font-size:14px;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;color:#748096;background:#f4f6f9;opacity:.65}button,select,input{min-height:42px}button{border-radius:7px}button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}button{display:inline-flex;align-items:center;justify-content:center;gap:8px}input,select{width:100%;background:#fff;border:1px solid #cdd5e0;border-radius:6px;padding:9px 11px;min-width:0}input{caret-color:var(--blue)}input:hover,select:hover{border-color:#99acc5}input[aria-invalid=true]{border-color:var(--red);background:#fffafb}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #7298ca;outline-offset:3px}::selection{background:#d6e3f5;color:#16345d}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#b5c0d0;border-radius:8px}h1,h2,h3,p{margin:0}h1{font-size:27px;line-height:1.4;font-weight:650;letter-spacing:-.025em;text-wrap:balance}h2{font-size:17px;font-weight:650}h3{font-size:14px;font-weight:650}p{line-height:1.65}label{font-size:12px;font-weight:550;display:block}label input{margin-top:8px}button{transition:background .18s,color .18s}button:active{transform:translateY(1px)}[hidden]{display:none!important}.topbar{height:77px;background:#fff;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:11px}.brand>svg{width:32px;height:35px;fill:none;stroke:var(--blue);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.brand strong{font-size:21px;letter-spacing:-.03em;font-weight:650}.brand strong span{display:block;font-size:10px;color:var(--muted);font-weight:500;letter-spacing:.12em;margin-top:3px}.top-right{display:flex;align-items:center;gap:12px}.sample-badge{font-size:11px;color:var(--muted);background:var(--bg);padding:6px 10px;border-radius:5px;margin-right:12px}.person{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--pale);color:var(--blue);font-size:12px;font-weight:650}.sales-name{font-size:12px;color:var(--muted)}main{max-width:1440px;margin:auto;padding:35px 42px 40px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}.page-head p{font-size:12px;color:var(--muted);margin-top:9px}.quiet{border:0;background:transparent;font-size:12px;color:var(--muted);padding:8px 4px}.quiet:hover,.text-button:hover{color:var(--blue);text-decoration:underline;text-underline-offset:4px}.workspace{display:grid;grid-template-columns:370px minmax(0,1fr);gap:32px;align-items:start}.editor{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px 23px 21px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-head>span{color:var(--muted);font-size:10px}.client-fields{margin-top:24px;display:grid;gap:15px}.client-fields input{font-size:13px}.field-error{color:var(--red);font-size:11px;line-height:1.6}.field-error:empty{display:none}.items-head{border-top:1px solid var(--line);padding-top:17px;margin-top:24px;margin-bottom:3px}.items-head h3 span{color:var(--muted);font-size:11px;margin-left:5px;font-weight:400}.text-button{color:var(--blue);font-size:11px;background:transparent;border:0;padding:3px 0;min-height:32px}.line-edit{padding:16px 0;border-bottom:1px solid var(--line)}.line-edit-head{display:flex;justify-content:space-between;align-items:center;gap:9px;margin-bottom:10px}.line-title{font-size:13px;font-weight:600}.line-number{font-size:10px;color:#7b8798;margin-right:8px;font-variant-numeric:tabular-nums}.remove{min-height:32px;min-width:32px;margin:-7px -6px -7px 0;background:transparent;border:0;color:#79869a}.remove svg{width:15px;height:15px}.remove:hover{color:var(--red);background:#fdf1f2}.line-controls{display:grid;grid-template-columns:minmax(0,1fr) 86px;gap:10px}.line-controls select{font-size:11px;padding:8px}.line-controls label{font-size:10px;font-weight:400;color:var(--muted)}.line-controls input{font-size:13px;margin-top:5px;font-variant-numeric:tabular-nums}.line-controls label select{margin-top:5px}.price-details{margin-top:10px;font-size:11px;color:var(--muted)}.price-details summary{cursor:pointer;width:fit-content;min-height:25px;padding-top:4px}.price-edit{display:flex;align-items:center;gap:10px;margin-top:8px;padding-bottom:3px}.price-edit input{width:105px;min-height:36px;margin:0;font-size:12px}.price-edit button{font-size:10px}.custom-name{margin-bottom:10px}.custom-name input{font-size:12px}.line-error{margin-top:6px}.add-row{display:flex;gap:8px;margin-top:17px}.add-row select{font-size:11px}.secondary{background:#fff;border:1px solid #cdd5e0;padding:9px 12px;font-size:12px;white-space:nowrap}.secondary:not(:disabled):hover{background:var(--pale);border-color:#8fa7c9}.add-row button{font-size:11px;padding:9px 14px}.discount{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:25px}.discount label{font-size:12px}.discount label span{display:block;color:var(--muted);font-weight:400;font-size:10px;margin-top:5px}.suffix{position:relative;width:78px;flex-shrink:0}.suffix input{padding-right:24px;text-align:right;font-variant-numeric:tabular-nums}.suffix>span{position:absolute;right:10px;top:12px;color:var(--muted);font-size:12px}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);width:100%;min-height:50px;justify-content:space-between;padding:12px 17px;font-size:14px;font-weight:550;margin-top:23px}.primary:not(:disabled):hover{background:#183e73}.primary:disabled{background:#567294;color:#fff}.editor-note{text-align:center;color:var(--muted);font-size:10px;line-height:1.8;margin-top:13px}.form-error{background:#fff0f1;color:var(--red);font-size:11px;line-height:1.7;border-radius:6px;padding:10px;margin-top:15px}.catalog{background:#f7f9fc;padding:13px;margin:12px -5px;border:1px solid var(--line);border-radius:7px}.catalog input{font-size:12px}.catalog-filters{display:flex;align-items:center;gap:10px;margin-top:10px}.catalog-filters label{white-space:nowrap;font-size:10px}.catalog-filters select{min-height:32px;padding:5px 9px;font-size:11px}.catalog-result{padding:12px 0;border-bottom:1px solid var(--line)}.catalog-result strong{font-size:11px}.catalog-result p{font-size:10px;color:var(--muted);margin-top:4px}.catalog-result>div{display:flex;justify-content:space-between;align-items:center;gap:8px}.catalog-result button{min-height:30px;font-size:10px;padding:5px 10px}.micro{font-size:10px;color:var(--muted);margin-top:10px}.empty{font-size:12px;color:var(--muted);padding:22px 5px;text-align:center;line-height:1.8}.preview{min-width:0}.preview-toolbar{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:14px}.preview-toolbar>div:first-child{display:flex;gap:13px;align-items:center}.status{font-size:10px;background:#e7ebf1;color:#59697e;padding:5px 8px;border-radius:5px;white-space:nowrap}.status.ready{background:#eaf2ee;color:var(--green)}.status.dirty{background:var(--amber-bg);color:var(--amber)}.export-actions{display:flex;gap:8px}.export-actions button{font-size:11px;padding:8px 11px;min-height:36px}.export-actions svg{width:15px;height:15px}.live-status{font-size:11px;color:var(--muted);min-height:24px;margin:9px 0 12px}.paper{background:#fff;box-shadow:0 8px 28px #283d5810;border-radius:3px;padding:36px 36px 25px;min-height:680px}.paper-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding-bottom:26px;border-bottom:2px solid var(--ink)}.company{font-size:17px;letter-spacing:.035em;font-weight:650}.company-cn{font-size:11px;margin-top:7px;color:var(--muted)}.company-tag{display:inline-block;font-size:9px;color:#6c798c;border:1px solid var(--line);padding:3px 6px;border-radius:3px;margin-top:12px}.document-title{text-align:right}.document-title h3{font-size:23px;font-weight:500;letter-spacing:.02em}.document-title p{font-size:10px;margin-top:9px;color:var(--muted);font-variant-numeric:tabular-nums}.document-info{display:grid;grid-template-columns:1fr auto;gap:22px;padding:24px 0 25px}.info-label{font-size:9px;color:var(--muted);margin-bottom:6px}.client-name{font-size:14px;font-weight:600;overflow-wrap:anywhere;max-width:35ch}.project-name{font-size:11px;color:var(--muted);margin-top:7px;overflow-wrap:anywhere;max-width:40ch}.quote-dates{font-size:10px;line-height:2.1;text-align:right;font-variant-numeric:tabular-nums}.quote-dates span{color:var(--muted);margin-right:12px}.quote-table{width:100%;border-collapse:collapse;font-size:11px}.quote-table th{background:#f3f5f8;font-size:9px;color:#5f6e82;padding:10px 8px;text-align:left;font-weight:500;white-space:nowrap}.quote-table th:first-child{width:45%}.quote-table th:not(:first-child),.quote-table td:not(:first-child){text-align:right}.quote-table td{padding:17px 8px;border-bottom:1px solid var(--line);vertical-align:top;font-variant-numeric:tabular-nums}.quote-table td:first-child{padding-left:8px}.quote-item{font-size:12px;font-weight:550;display:block;overflow-wrap:anywhere}.quote-spec{font-size:10px;color:var(--muted);margin-top:5px;line-height:1.7}.price-source{font-size:9px;color:var(--blue);margin-top:3px}.qty-unit{font-size:9px;color:var(--muted);margin-top:4px}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.table-empty{text-align:center!important;color:var(--muted);padding:35px 8px!important}.totals{width:260px;margin:20px 0 22px auto;font-size:11px}.totals>div{display:flex;justify-content:space-between;gap:25px;padding:7px 0}.totals>div>span:first-child{color:var(--muted)}.totals .total{border-top:1px solid var(--ink);margin-top:9px;padding-top:15px;font-size:14px;align-items:center}.totals .total>span:first-child{color:var(--ink);font-weight:600}.total strong{font-size:24px;font-weight:650;letter-spacing:-.025em}.total strong small{font-size:12px;margin-right:5px;font-weight:500}.stock-notice{background:var(--amber-bg);color:var(--amber);padding:12px 14px;border-radius:5px;font-size:10px;line-height:1.8;margin-top:23px}.stock-notice strong{font-size:11px;display:flex;align-items:center;gap:7px;margin-bottom:3px}.stock-notice svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}.terms{font-size:9px;color:var(--muted);line-height:1.9;margin-top:21px;border-top:1px solid var(--line);padding-top:15px}.terms strong{color:#526175;font-weight:500}.paper-footer{display:flex;justify-content:space-between;gap:14px;color:#738196;font-size:8px;margin-top:24px;padding-top:14px;border-top:1px solid var(--line)}.preview-note{font-size:10px;color:var(--muted);text-align:center;margin-top:16px;line-height:1.8}footer{max-width:1440px;margin:auto;padding:0 42px 26px;display:flex;gap:20px;font-size:10px;color:#758297}footer span:last-child{margin-left:auto}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{display:block;padding:15px;background:#fff;color:var(--blue)}.preview[aria-busy=true] .paper{opacity:.45;transition:opacity .18s}
.page-actions{display:flex;align-items:center;gap:22px}.page-actions .primary{margin:0;width:auto;min-width:230px;gap:25px}.editor-note{margin-top:20px}
@media(min-width:1500px){.workspace{grid-template-columns:395px minmax(0,1fr);gap:40px}.paper{padding:40px 45px}.editor{padding:26px}}
@media(max-width:1150px){main{padding:28px 24px}.topbar{padding:0 24px}.workspace{grid-template-columns:330px minmax(0,1fr);gap:22px}.editor{padding:20px}.paper{padding:27px 22px}.preview-toolbar>div:first-child{gap:7px;align-items:start;flex-direction:column}.preview-toolbar h2{font-size:15px}.export-actions button{padding:7px 9px}.company{font-size:14px}.document-title h3{font-size:19px}}
@media(max-width:900px){.workspace{grid-template-columns:1fr}.editor{padding:24px}.line-controls{grid-template-columns:minmax(0,1fr) 120px}.preview-toolbar>div:first-child{flex-direction:row;align-items:center}.paper{padding:35px}.page-head h1{font-size:23px}.topbar{height:70px}.sales-name{display:none}footer{padding:0 24px 24px}.paper{min-height:0}.primary{justify-content:center;gap:25px}}
@media(max-width:480px){.topbar{padding:0 18px;height:68px;gap:8px}.brand strong{font-size:19px}.brand strong span{font-size:9px}.brand>svg{width:28px}.top-right{gap:0}.sample-badge{font-size:9px;margin:0;padding:5px 7px}.person{display:none}main{padding:26px 16px 28px}.page-head{align-items:start;margin-bottom:22px;gap:9px}.page-head h1{font-size:21px;max-width:13ch}.page-head p{font-size:11px;max-width:24ch;line-height:1.8}.quiet{font-size:10px;white-space:nowrap;min-height:36px}.editor{padding:21px 18px}.line-controls{grid-template-columns:minmax(0,1fr) 88px}.workspace{gap:27px}.preview-toolbar{flex-wrap:wrap;gap:12px}.preview-toolbar>div:first-child{flex:1}.status{font-size:9px}.preview-toolbar h2{font-size:15px}.export-actions{width:100%;justify-content:flex-end}.export-actions button{min-height:40px}.live-status{font-size:10px;margin-top:10px;min-height:18px}.paper{padding:25px 18px 20px}.paper-head{gap:8px;padding-bottom:20px}.company{font-size:13px}.company-cn{font-size:10px}.company-tag{font-size:8px}.document-title h3{font-size:18px}.document-title p{font-size:8px}.document-info{grid-template-columns:1fr;gap:14px;padding:20px 0}.client-name{font-size:13px}.quote-dates{text-align:left;display:flex;gap:18px;font-size:9px}.quote-dates span{margin-right:6px}.quote-table thead{display:none}.quote-table,.quote-table tbody{display:block}.quote-table tr{display:grid;grid-template-columns:1fr 1fr 1fr;padding:14px 0;border-bottom:1px solid var(--line);row-gap:11px}.quote-table td{border:0;padding:0!important;text-align:left!important;font-size:10px}.quote-table td:first-child{grid-column:1/-1}.quote-table td:not(:first-child)::before{content:attr(data-label);display:block;color:var(--muted);font-size:8px;margin-bottom:4px}.quote-table td:last-child{text-align:right!important}.quote-item{font-size:12px}.quote-spec{margin-top:3px}.qty-unit{display:inline;margin-left:4px}.totals{width:100%;margin-top:18px}.total strong{font-size:23px}.terms{font-size:8px}.paper-footer{font-size:7px}.stock-notice{padding:11px;font-size:9px}.preview-note{font-size:9px;padding:0 10px}footer{padding:0 16px 22px;font-size:8px;gap:10px;flex-wrap:wrap}footer span:last-child{display:none}}
@media(max-width:900px){.page-actions{gap:12px}.page-actions .primary{min-width:205px;font-size:12px}.page-head h1{max-width:18ch}}
@media(max-width:600px){.page-actions .primary{position:fixed;bottom:16px;left:16px;right:16px;z-index:10;width:calc(100% - 32px);min-height:52px;font-size:14px;box-shadow:0 5px 22px #17385d35;justify-content:center}.page-actions{display:block}footer{padding-bottom:92px}.page-head h1{max-width:13ch}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:A4;margin:15mm}body{background:#fff;color:#152033}.topbar,.page-head,.editor,.preview-toolbar,.live-status,.preview-note,footer,.skip{display:none!important}main{max-width:none;padding:0}.workspace{display:block}.paper{box-shadow:none;padding:0;border-radius:0;min-height:0}.quote-table{display:table}.quote-table thead{display:table-header-group}.quote-table tbody{display:table-row-group}.quote-table tr{display:table-row}.quote-table td{display:table-cell;border-bottom:1px solid #ddd;padding:16px 8px!important}.quote-table td::before{display:none!important}.paper-head,.document-info,.stock-notice,.totals,.terms{break-inside:avoid}.quote-table tr{break-inside:avoid}.stock-notice{-webkit-print-color-adjust:exact;print-color-adjust:exact}.document-info{grid-template-columns:1fr auto}.quote-dates{display:block;text-align:right}.quote-table th{background:#f4f5f7;-webkit-print-color-adjust:exact;print-color-adjust:exact}.company{font-size:17px}.document-title h3{font-size:23px}.paper-footer{margin-top:35px}}
