:root{--ink:#193131;--muted:#6e7e7b;--green:#4e9f89;--deep:#1d5657;--line:#cedbd7;--bg:#edf2f0}*{box-sizing:border-box}body,html{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input,select,textarea{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:390px 1fr}.editor{height:100vh;overflow:auto;background:#fff;border-right:1px solid #dfe8e5;padding:24px 24px 120px}.editor-head{display:flex;gap:13px;align-items:center;margin-bottom:22px}.editor-head h1{font-size:20px;margin:0 0 4px}.editor-head p{font-size:12px;color:#81908d;margin:0}.brand-dot{width:40px;height:40px;border-radius:12px;background:linear-gradient(145deg,#78c7aa,#28786c);color:#fff;display:grid;place-items:center;font-weight:700;box-shadow:0 7px 20px #4c9d8840}.editor section{padding:19px 0;border-top:1px solid #edf1f0}.editor h2{font-size:14px;margin:0 0 14px}.grid{display:grid;gap:11px}.grid.two{grid-template-columns:1fr 1fr}.grid.three{grid-template-columns:.7fr 1fr 1fr}label{font-size:11px;color:#71807d;display:grid;gap:5px}input,select,textarea{width:100%;border:1px solid #d8e2df;background:#fbfdfc;border-radius:7px;padding:9px 10px;color:#213332;outline:none}input:focus,select:focus,textarea:focus{border-color:#55a58f;box-shadow:0 0 0 3px #55a58f18}textarea{resize:vertical}.type-options{display:grid;gap:7px}.type-options button{border:1px solid #d6e2de;border-radius:8px;background:#f8fbfa;color:#4d625e;text-align:left;padding:9px 11px;cursor:pointer}.type-options button.active{background:#e1f0eb;border-color:#4e9f89;color:#1d5657;font-weight:700}.item-top,.section-title{display:flex;justify-content:space-between;align-items:center}.item-top button,.text-btn{border:0;background:none;color:#388572;font-size:12px;cursor:pointer}.item-card{padding:12px;background:#f6f9f8;border:1px solid #e4ece9;border-radius:10px;display:grid;gap:10px;margin-bottom:10px}.item-top b{font-size:12px}.item-top button{color:#b25d5d}.actions{position:fixed;bottom:0;left:0;width:390px;background:#ffffffed;backdrop-filter:blur(8px);padding:14px 24px 18px;display:grid;grid-template-columns:1.25fr 1fr;gap:8px;border-top:1px solid #dce6e3}.actions button{border:0;border-radius:9px;padding:12px 10px;font-weight:600;cursor:pointer}.primary{background:var(--deep);color:#fff}.secondary{background:#e9f1ef;color:#285a53}.preview-wrap{padding:28px 40px 70px;overflow:auto}.preview-label{width:1123px;margin:0 auto 10px;color:#778581;font-size:12px;display:flex;justify-content:space-between}.paper{position:relative;width:1123px;min-height:0;margin:auto;background:#fff;box-shadow:0 13px 45px #2b454526;padding:34px 48px 24px;overflow:hidden}.accent-line{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--deep)}.quote-header{display:grid;grid-template-columns:205px 1fr 205px;align-items:start;gap:22px}.quote-header img{width:195px;height:57px;object-fit:contain;object-position:left center}.quote-title{text-align:center;padding-top:2px}.quote-title h2{font-size:24px;letter-spacing:3px;margin:0;color:var(--deep);font-family:Songti SC,serif}.quote-title p{font-size:10px;color:#73817e;margin:8px 0 0}.quote-header dl{margin:0;font:9px ui-monospace,SFMono-Regular,Menlo,monospace}.quote-header dl div{display:flex;gap:9px;margin:3px 0}.quote-header dt{color:#899591;min-width:28px}.quote-header dd{margin:0}.company-bar{padding:10px 13px;grid-template-columns:85px 1fr;gap:13px}.provider-label{font-size:10px;color:#71817d;padding-top:2px}.company-bar div{display:grid;grid-template-columns:210px 220px 1fr;gap:14px}.company-bar b{font-size:13px}.company-bar p{font-size:9px;color:#60716e;margin:0}.company-bar em{font-style:normal;color:#81908d}.quote-table{width:100%;margin-top:14px;border-collapse:collapse;table-layout:fixed;font-size:10px;border:1px solid #78908a}.quote-table td,.quote-table th{border:1px solid #aabbb7;padding:7px 5px;text-align:center;vertical-align:middle}.quote-table thead{background:var(--deep);color:#fff}.quote-table th{font-weight:600}.quote-table th:first-child{width:18%}.quote-table th:nth-child(3){width:9%}.quote-table th:nth-child(4){width:10%}.quote-table th:nth-child(5){width:5%}.quote-table th:nth-child(6),.quote-table th:nth-child(7){width:7%}.quote-table th:nth-child(8){width:31%}.quote-table th:nth-child(9){width:9%}.quote-table tbody tr:nth-child(2n){background:#f7faf9}.quote-table td{height:47px;line-height:1.45}.quote-table .client-cell{font-weight:600;background:#f2f7f5;white-space:nowrap;letter-spacing:-.2px}.quote-table .amount,.quote-table .item-name{font-weight:700}.quote-table .platform{text-align:left;white-space:pre-line;font-size:9px;padding-left:8px}.quote-table .period{font-size:10px;font-weight:700;white-space:normal}.quote-table .total-row{background:#e8f2ef!important}.quote-table .total-row td{height:auto;padding:8px;font-weight:700}.terms{margin-top:15px}.terms h4{font-size:10px;letter-spacing:2px;color:#536663;margin:0 0 7px}.terms p{font-size:9px;color:#70807c;line-height:1.4;margin:3px 0}footer{display:flex;justify-content:space-between;border-top:1px solid #dfe6e4;margin-top:16px;padding-top:8px;font-size:8px;color:#899492}@media(max-width:1200px){.app-shell{display:block}.editor{height:auto;border:0}.actions,.editor{width:100%}.preview-wrap{padding:25px 15px 100px}}@media print{body{background:#fff}.editor,.preview-label{display:none}.app-shell{display:block}.preview-wrap{padding:0}.paper{box-shadow:none;margin:0;width:297mm;min-height:210mm;padding:9mm 13mm 7mm}@page{size:A4 landscape;margin:0}}.brand-dot{overflow:hidden;width:112px;background:#fff;border:0;border-radius:0;box-shadow:none}.brand-dot img{display:block;width:108px;height:40px;object-fit:contain;object-position:left center}.orientation-control{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px;padding:0;border:0;background:transparent}.orientation-control button{width:100%;border:1px solid #d5e3df;border-radius:8px;padding:9px 12px;background:#f8fbfa;color:#657a75;font-size:12px;font-weight:650;cursor:pointer}.orientation-control button.active{border-color:#73b39f;background:#e3f2ed;color:#246c5d;font-weight:750;box-shadow:0 2px 8px rgba(53,121,103,.1)}.company-bar{margin-top:18px;border-top:2px solid var(--deep);border-bottom:1px solid var(--line);padding:11px 14px;display:grid;grid-template-columns:250px 240px minmax(0,1fr);gap:12px;background:#f4f8f7}.company-bar div{display:flex;width:100%;min-width:0;align-items:center;gap:7px}.company-bar b,.company-bar span{font-size:11px;line-height:1.45}.company-bar span{color:#71817d;font-weight:500;white-space:nowrap}.company-bar b{color:#304744;font-weight:600;min-width:0;white-space:nowrap;word-break:normal;overflow-wrap:break-word;writing-mode:horizontal-tb}.company-bar div:last-child b{font-size:10px}.terms{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:14px;padding:14px 0;border-top:1px solid #dfe6e4}.terms h4,.terms p{margin:0;line-height:1.45}.terms h4{font-size:12px;letter-spacing:1px}.terms p{font-size:10px;white-space:nowrap}.terms-content{display:flex;align-items:center;gap:14px;min-width:0}.quote-table{font-size:15px}.quote-table th{padding-top:11px;padding-bottom:11px;font-size:15px;font-weight:700}.quote-table td{height:68px;padding:10px 7px;line-height:1.55}.quote-table .platform{padding:10px;font-size:14px;line-height:1.6}.quote-table .period{font-size:15px}.quote-table .total-row td{padding:10px;font-size:13px}.quote-table .total-row td:nth-child(2){padding-left:2px;padding-right:2px;font-size:14px;font-weight:750;white-space:nowrap;overflow:hidden;letter-spacing:-.2px}.total-amount{display:inline-block;white-space:nowrap}:root{--logo-mint:#79c5a3;--logo-mid:#56a38d;--logo-teal:#397f78}.accent-line{background:linear-gradient(180deg,var(--logo-mint) 0,var(--logo-mid) 48%,var(--logo-teal) 100%)}.quote-title h2{background:linear-gradient(90deg,var(--logo-teal) 0,var(--logo-mid) 52%,#2f706d 100%)}.company-bar{background:linear-gradient(90deg,#f1faf6,#edf7f4 52%,#e7f2f0);border-top-color:var(--logo-mid)}.quote-table thead{background:linear-gradient(90deg,var(--logo-mint) 0,var(--logo-mid) 42%,var(--logo-teal) 100%)}.quote-table .total-row{background:linear-gradient(90deg,#eef9f5,#e4f2ee)!important}.primary{background:linear-gradient(135deg,var(--logo-mint) 0,var(--logo-mid) 46%,var(--logo-teal) 100%)}.quote-table .item-name{font-weight:400}.money-cell,.total-amount{white-space:nowrap;overflow:hidden;text-overflow:clip;letter-spacing:-.25px;font-variant-numeric:tabular-nums}.quote-title h2{font-size:27px}.accent-line{width:9px}.grid.project-fields{grid-template-columns:.9fr 1fr 1.15fr}.quote-table th:first-child{width:16%}.quote-table th:nth-child(2){width:4%}.quote-table th:nth-child(3){width:10%}.quote-table th:nth-child(4){width:9%}.quote-table th:nth-child(5){width:12%}.quote-table th:nth-child(6){width:4%}.quote-table th:nth-child(7),.quote-table th:nth-child(8){width:7%}.quote-table th:nth-child(9){width:23%}.quote-table th:nth-child(10){width:8%}.quote-table .reference-no{font-size:13px;line-height:1.45;overflow-wrap:anywhere}.toggle-row{display:flex;align-items:center;gap:8px;padding:9px 10px;border:1px solid #d8e2df;border-radius:7px;background:#f8fbfa;color:#365c55;cursor:pointer}.toggle-row input{width:16px;height:16px;margin:0;padding:0;accent-color:var(--deep)}.quote-table .client-cell{overflow:hidden;white-space:normal;word-break:break-word;overflow-wrap:anywhere;line-height:1.4;padding:8px}.quote-table .category-cell{white-space:nowrap;word-break:keep-all;font-weight:600;padding-right:9px;padding-left:9px;font-size:14px;text-align:center!important;vertical-align:middle!important}.quote-table .period{white-space:nowrap!important;word-break:keep-all;font-size:14px}.quote-table.hide-project-name th:first-child{width:18%}.quote-table.hide-project-name th:nth-child(2){width:4%}.quote-table.hide-project-name th:nth-child(3){width:10%}.quote-table.hide-project-name th:nth-child(4){width:13%}.quote-table.hide-project-name th:nth-child(5){width:5%}.quote-table.hide-project-name th:nth-child(6),.quote-table.hide-project-name th:nth-child(7){width:8%}.quote-table.hide-project-name th:nth-child(8){width:26%}.detail-actions{display:flex;align-items:center;gap:8px}.qcc-import-btn{padding:5px 8px;border-radius:6px;background:#e8f5f0;color:#256c60;font-weight:650}.modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(22,43,40,.42);backdrop-filter:blur(3px)}.qcc-modal{width:min(760px,96vw);max-height:84vh;overflow:auto;padding:22px;border-radius:15px;background:#fff;box-shadow:0 24px 80px rgba(25,49,49,.28)}.qcc-footer,.qcc-modal-head,.qcc-record-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.qcc-modal-head h3{margin:0;font-size:18px;color:#245f5d}.qcc-footer span,.qcc-modal-head p{margin:5px 0 0;font-size:12px;color:#71807d}.qcc-modal button{border:0;border-radius:7px;padding:8px 12px;cursor:pointer}.qcc-modal-head>button,.qcc-record-actions button{background:#edf4f2;color:#49625d}.qcc-url-row{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:18px}.qcc-helper-tip{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;border-radius:9px;background:#eef8f4;color:#47645e;font-size:12px}.qcc-helper-tip a{color:#1f7465;font-weight:700}.qcc-helper-tip small{color:#7a8986}.qcc-footer button,.qcc-url-row button{background:linear-gradient(135deg,var(--logo-mint),var(--logo-teal));color:#fff;font-weight:700}.qcc-url-row button:disabled{opacity:.6;cursor:wait}.qcc-error{margin-top:12px;padding:10px 12px;border-radius:8px;background:#fff2ec;color:#9a4b30;font-size:12px}.qcc-record-actions{justify-content:flex-start;margin-top:16px;font-size:12px}.qcc-record-actions b{margin-right:auto}.qcc-records{display:grid;gap:8px;margin-top:10px}.qcc-record{grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:11px;border:1px solid #dce7e3;border-radius:9px;background:#f8fbfa;color:#304744;cursor:pointer}.qcc-record>input{width:17px;height:17px;padding:0;accent-color:var(--logo-teal)}.qcc-record strong{font-size:13px}.qcc-record p{margin:3px 0;font-size:12px}.qcc-record small{color:#758581}.qcc-record>span{padding:4px 7px;border-radius:999px;background:#e2f1ec;color:#2d7165;font-size:11px;white-space:nowrap}.qcc-footer{margin-top:16px;padding-top:14px;border-top:1px solid #e4ece9}.quote-title h2{background:linear-gradient(90deg,#245f5d,#2f706b 48%,#397f78);-webkit-background-clip:text;background-clip:text;color:transparent}.company-bar{grid-template-columns:28% 25% minmax(0,47%);gap:0;padding-left:14px;padding-right:14px}.company-bar>div:first-child{justify-content:flex-start}.company-bar>div:nth-child(2){justify-content:center}.company-bar>div:nth-child(3){justify-content:flex-end;text-align:right}.company-bar>div:nth-child(3) b{font-size:10px}.quote-header dl{justify-self:end;width:184px;transform:translateX(10px)}.quote-header dl div{justify-content:flex-start}label small{color:#8a9895;font-size:10px;line-height:1.4}.terms{margin-bottom:0}.paper{padding-bottom:8px}.quote-header .quote-meta{justify-self:end;align-self:center;width:184px;margin:-2px 0 0;transform:translateX(10px);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:10px}.quote-header .quote-meta div{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;margin:5px 0}.quote-header .quote-meta dt{min-width:0;color:#7c8d89;text-align:right}.quote-header .quote-meta dd{color:#284844;font-size:10.5px;font-weight:600;white-space:nowrap}.terms{margin-top:10px;padding:10px 0 2px}.paper{padding-bottom:26px}.terms{border-top:0;margin-top:8px;padding-top:10px;padding-bottom:0}.actions{grid-template-columns:1fr}.actions.quote-actions{grid-template-columns:.82fr 1.18fr}.item-controls{display:flex;align-items:center;gap:8px}.item-controls button:disabled{color:#b7c1be;cursor:default}.item-controls .delete-item{color:#b25d5d}.terms h4{font-size:13px}.terms p{font-size:11px}.catalog-buttons,.catalog-head,.detail-actions,.item-heading{display:flex;align-items:center}.detail-actions{gap:10px}.item-heading{gap:7px}.catalog-buttons,.catalog-head{justify-content:space-between}.drag-handle{color:#4f8f80;font-size:18px;line-height:1;letter-spacing:-5px;padding:4px 7px 4px 2px;cursor:grab;user-select:none}.drag-handle:active{cursor:grabbing}.item-card.dragging{opacity:.48;border-color:var(--logo-mid)}.catalog-panel{display:grid;gap:10px;margin:0 0 12px;padding:12px;border:1px solid #cddfda;border-radius:10px;background:#f1f8f6}.catalog-head b{font-size:12px}.catalog-buttons button,.catalog-delete,.catalog-head button{border:0;background:none;color:#388572;cursor:pointer}.catalog-row{display:grid;grid-template-columns:.8fr 1.4fr auto;gap:8px;align-items:end;padding-top:9px;border-top:1px solid #dce9e5}.catalog-row textarea{min-height:58px}.catalog-delete{color:#b25d5d;padding:9px 0}.catalog-save{padding:8px 14px!important;border-radius:7px!important;background:var(--logo-teal)!important;color:#fff!important}.catalog-panel>small{color:#84938f;font-size:10px}.quote-table.hide-project-name th:nth-child(9){width:8%}.app-shell{grid-template-columns:minmax(560px,32vw) minmax(0,1fr)}.editor{padding:22px 26px 120px}.actions{width:max(560px,32vw);padding-left:26px;padding-right:26px}.preview-wrap{min-width:0;padding-left:28px;padding-right:28px}.editor-head{margin-bottom:14px}.editor-tools{display:flex;gap:10px;margin-bottom:18px}.editor-tools button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cfe1dc;border-radius:10px;min-height:42px;padding:9px 14px;background:#f5faf8;color:#2d7467;font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 2px 7px rgba(42,83,76,.06);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.editor-tools button:hover{transform:translateY(-1px);box-shadow:0 5px 12px rgba(42,83,76,.11)}.editor-tools button i{font-size:14px;line-height:1;font-style:normal}.editor-tools .qcc-import-btn{border-color:#1688f8;background:linear-gradient(135deg,#319cff,#0878e9);color:#fff;box-shadow:0 5px 13px rgba(22,136,248,.22)}.editor-tools .qcc-import-btn img{width:24px;height:24px;border-radius:6px}.editor-tools .history-tool{border-color:#c9ddd8;background:#f4faf8}.editor-tools .history-tool b{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#dcefeb;color:#236e62;font-size:10px}.editor-tools .folder-tool{border-color:#d6e2df;background:#fbfcfc;color:#52776f}.editor-tools .catalog-launch{margin-left:auto;border-color:#bcd8d1;background:#edf7f4;color:#226d61}.customer-fields{grid-template-columns:1.4fr 1fr 1fr .7fr;align-items:start}.customer-fields>label:first-child,.display-toggles{grid-column:span 4}.display-toggles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.item-card{padding:14px;gap:12px}.choice-field{display:grid;gap:7px;color:#71807d;font-size:11px}.single-choice{display:flex;flex-wrap:wrap;gap:7px}.single-choice button{border:1px solid #d5e3df;border-radius:7px;padding:7px 10px;background:#fff;color:#49615d;font-size:11px;cursor:pointer}.single-choice button:hover{border-color:#75b7a5}.single-choice button.active{border-color:#4d9c87;background:#e1f2ec;color:#21685c;box-shadow:inset 0 0 0 1px #4d9c8726;font-weight:700}.catalog-modal{width:min(900px,96vw);max-height:86vh;overflow:auto;padding:22px;border-radius:15px;background:#fff;box-shadow:0 24px 80px rgba(25,49,49,.28)}.catalog-head h3{margin:0;color:#245f5d;font-size:18px}.catalog-head p{margin:5px 0 0;color:#71807d;font-size:12px}.catalog-head>button{border:0;border-radius:7px;padding:8px 12px;background:#edf4f2;color:#49625d;cursor:pointer}.catalog-modal .catalog-panel{margin:16px 0 0}.quote-table.hide-reference-no:not(.hide-project-name) th:first-child{width:17%}.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(2){width:4%}.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(3),.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(4){width:10%}.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(5){width:5%}.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(6),.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(7){width:8%}.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(8){width:30%}.quote-table.hide-reference-no:not(.hide-project-name) th:nth-child(9){width:8%}.quote-table.hide-reference-no.hide-project-name th:first-child{width:20%}.quote-table.hide-reference-no.hide-project-name th:nth-child(2){width:5%}.quote-table.hide-reference-no.hide-project-name th:nth-child(3){width:11%}.quote-table.hide-reference-no.hide-project-name th:nth-child(4){width:5%}.quote-table.hide-reference-no.hide-project-name th:nth-child(5),.quote-table.hide-reference-no.hide-project-name th:nth-child(6){width:9%}.quote-table.hide-reference-no.hide-project-name th:nth-child(7){width:32%}.quote-table.hide-reference-no.hide-project-name th:nth-child(8){width:9%}@media (max-width:1500px){.app-shell{grid-template-columns:520px minmax(0,1fr)}.actions{width:520px}.editor{padding-left:22px;padding-right:22px}.preview-wrap{padding-left:18px;padding-right:18px}}@media (max-width:1200px){.app-shell{display:block}.actions,.editor{width:100%}}.clear-details{color:#ad6464}.empty-details{display:grid;place-items:center;gap:5px;min-height:110px;padding:20px;border:1px dashed #cbdcd7;border-radius:10px;background:#f8fbfa;color:#78908a;text-align:center}.empty-details b{color:#456e66;font-size:13px}.empty-details span{font-size:11px}.folder-status{margin:-10px 0 16px;color:#82918d;font-size:10px;text-align:right}.discount-editor{background:linear-gradient(135deg,#fffaf0,#fff)}.switch-label{display:flex;align-items:center;gap:7px;cursor:pointer}.switch-label input{width:17px;height:17px;margin:0;accent-color:var(--logo-teal)}.switch-label span{color:#4b756c;font-size:11px;font-weight:650}.discount-presets{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:10px}.discount-presets>span{margin-right:2px;color:#92764a;font-size:10px}.discount-presets button{border:1px solid #e3d5b9;border-radius:999px;padding:5px 9px;background:#fffdf8;color:#806943;font-size:10px;cursor:pointer}.discount-presets button.active{border-color:#c89b50;background:#fff1cf;color:#8a5a13;font-weight:700;box-shadow:0 2px 8px rgba(166,111,27,.12)}.price-fields{grid-template-columns:.7fr 1fr 1fr}.price-fields.discount{grid-template-columns:.6fr 1fr 1fr 1fr}.history-modal{width:min(880px,96vw);max-height:86vh;overflow:auto;padding:22px;border-radius:16px;background:#f8fbfa;box-shadow:0 24px 80px rgba(25,49,49,.28)}.history-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.history-head h3{margin:0;color:#245f5d;font-size:19px}.history-head p{margin:6px 0 0;color:#71807d;font-size:12px}.history-head>button{border:0;border-radius:8px;padding:8px 13px;background:#e8f1ee;color:#49625d;cursor:pointer}.history-empty{margin-top:18px;padding:35px;border:1px dashed #cbdcd7;border-radius:12px;color:#78908a;text-align:center;font-size:12px}.history-batch{display:flex;align-items:center;gap:12px;margin-top:18px;padding:10px 12px;border:1px solid #dce8e4;border-radius:10px;background:#fff}.history-batch label{display:flex;align-items:center;gap:7px;color:#315e55;font-weight:700;cursor:pointer}.history-batch input,.history-check input{width:16px;height:16px;margin:0;accent-color:var(--logo-teal)}.history-batch small{color:#82908d;font-size:10px}.history-batch button{margin-left:auto;border:0;border-radius:7px;padding:7px 11px;background:#f8eaea;color:#a65353;font-size:10px;cursor:pointer}.history-batch button:disabled{opacity:.42;cursor:default}.history-list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.history-card{display:grid;grid-template-columns:24px minmax(170px,1.35fr) minmax(150px,1fr) 120px auto;align-items:center;gap:12px;padding:11px 13px;border:1px solid #d8e5e1;border-radius:10px;background:#fff;transition:.15s ease}.history-card.selected{border-color:#71ad9d;background:#f2faf7;box-shadow:inset 3px 0 #65a892}.history-check{display:grid;place-items:center}.history-client{min-width:0;display:flex;align-items:center;gap:8px}.history-client b{overflow:hidden;color:#294b45;font-size:12px;white-space:nowrap;text-overflow:ellipsis}.history-client strong{padding:3px 7px;border-radius:999px;background:#e4f3ed;color:#347b6b;font-size:9px;white-space:nowrap}.history-meta{min-width:0;display:grid;gap:4px}.history-meta b{overflow:hidden;color:#536b66;font-size:10px;white-space:nowrap;text-overflow:ellipsis}.history-meta span{color:#85928f;font-size:9px;white-space:nowrap}.history-money{display:flex;align-items:baseline;justify-content:flex-end;gap:7px;white-space:nowrap}.history-money del{color:#98a39f;font-size:9px}.history-money b{color:#205f55;font-size:15px}.history-actions{display:flex;justify-content:flex-end;gap:6px;white-space:nowrap}.history-actions button{border:0;border-radius:7px;padding:7px 8px;background:#edf4f2;color:#41665f;font-size:9px;cursor:pointer}.history-actions .make-discount{background:#dff1ea;color:#26705f;font-weight:700}.history-actions .history-delete{background:none;color:#b06c6c}.discount-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:8px 12px 8px 14px;border:0;border-left:4px solid #c99a49;border-radius:2px;background:linear-gradient(90deg,#fff6df,#fffaf0)}.discount-banner>div{display:flex;align-items:baseline;gap:8px}.discount-banner b{color:#96733a;font-size:9px;font-weight:650}.discount-banner b:after{content:"·";margin-left:8px;color:#c8a96f}.discount-banner span{color:#75521c;font-size:11px;font-weight:750}.discount-banner small{color:#9b8259;margin-left:auto;color:#9b8a70;font-size:9px}.discount-banner+.quote-table{margin-top:8px}.price-stack{display:grid;gap:2px;line-height:1.2}.price-stack del{color:#8d9a97;font-size:.78em;font-weight:400}.price-stack b{color:#2f786c;font-size:1em}.quote-table .discount-row{background:linear-gradient(90deg,#eaf7f2,#dcefe9)!important}.quote-table .discount-row td{height:auto;padding:0;border-top:2px solid var(--logo-mid);text-align:initial}.discount-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;column-gap:56px;min-height:54px;padding:8px 90px}.discount-summary>div{display:flex;align-items:center;justify-content:center;gap:11px;white-space:nowrap}.discount-summary span{color:#456f66;font-size:10px;font-weight:700}.discount-summary del{color:#8e918d;font-size:13px;font-weight:600;white-space:nowrap}.discount-summary .saving{background:transparent}.discount-summary .saving span{color:#8f672f}.discount-summary .saving b{color:#a7652e;font-size:16px;white-space:nowrap}.discount-summary .final{background:transparent}.discount-summary .final span{color:#2f6f62}.discount-summary .final strong{color:#205f54;font-size:17px;white-space:nowrap}.paper.portrait,.preview-wrap.portrait .preview-label{width:794px}.paper.portrait{padding:34px 42px 30px}.paper.portrait .accent-line{width:7px}.paper.portrait .quote-header{grid-template-columns:150px minmax(0,1fr) 150px;gap:20px;align-items:start}.paper.portrait .quote-header>img{width:150px;height:51px}.paper.portrait .quote-title h2{font-size:21px;letter-spacing:2px;white-space:nowrap}.paper.portrait .quote-title p{max-width:360px;margin:7px auto 0;font-size:9px;line-height:1.5}.paper.portrait .quote-meta{min-width:0;width:150px;font-size:8px}.paper.portrait .quote-meta div{grid-template-columns:32px minmax(0,1fr);gap:6px}.paper.portrait .quote-meta dd{overflow-wrap:anywhere}.paper.portrait .quote-meta{justify-self:end;transform:translateX(16px)}.paper.portrait .company-bar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 18px;padding:5px 14px;background:linear-gradient(90deg,#f2f8f6,#e9f3f0)}.paper.portrait .company-bar>div{position:static;width:auto;display:grid;grid-template-columns:78px minmax(0,1fr);align-items:center;justify-content:stretch;gap:7px;min-height:21px;border:0;white-space:normal;text-align:left}.paper.portrait .company-bar>div:nth-child(2){grid-template-columns:auto auto;justify-self:end;white-space:nowrap}.paper.portrait .company-bar>div:nth-child(3){grid-column:1/-1}.paper.portrait .company-bar>div span{color:#71837e;font-size:9px;font-weight:650}.paper.portrait .company-bar>div b,.paper.portrait .company-bar>div:nth-child(3) b{overflow:visible;color:#36514d;font-size:10.5px;line-height:1.3;text-align:left;text-overflow:clip}.paper.portrait .discount-banner{margin-top:11px}.portrait-details{margin-top:13px;border:1px solid #a9bbb6;background:#fff}.discount-banner+.portrait-details{margin-top:8px}.portrait-table-head{position:relative;display:flex;align-items:center;justify-content:center;padding:10px 14px;background:linear-gradient(90deg,#76c3a2,#38847c);color:#fff}.portrait-table-head span{font-size:15px;font-weight:750;letter-spacing:1px}.portrait-table-head b{position:absolute;right:14px;font-size:11px;font-weight:600;opacity:.9}.portrait-company-group{border-top:1px solid #aebfba}.portrait-company-group:first-of-type{border-top:0}.portrait-company-group.multi-company+.portrait-company-group.multi-company{margin-top:10px;border-top:2px solid #79aa9f}.portrait-company-head{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2.4fr) minmax(130px,1fr);align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid #d2dedb;background:#eef6f3}.portrait-company-group.multi-company .portrait-company-head{background:#eef6f3}.portrait-company-head .portrait-company-name{min-width:0;color:#193e38;font-size:15px;line-height:1.35;text-align:center;overflow-wrap:anywhere}.portrait-company-label{justify-self:start;color:#58776f;font-size:11.5px;font-style:normal;font-weight:750;letter-spacing:.5px;white-space:nowrap}.portrait-company-label i{display:inline-block;margin-left:6px;padding-left:6px;border-left:1px solid #9eb8b1;color:#3f796e;font-size:10.5px;font-style:normal;font-weight:750;line-height:1}.portrait-company-head span{flex:none;color:#4d7d73;font-size:10px;font-weight:700}.portrait-company-head .portrait-company-total{justify-self:end;display:inline-flex;align-items:baseline;gap:7px;color:#607b74}.portrait-company-head .portrait-company-total strong{color:#22695e;font-size:13px;white-space:nowrap}.portrait-item{position:relative;border-top:1px solid #bac9c5;background:#fff}.portrait-company-head+.portrait-item{border-top:0}.portrait-item:nth-of-type(odd){background:#fbfdfc}.portrait-item-row{display:grid;grid-template-columns:42px minmax(180px,1fr) 56px 112px 100px 112px;align-items:stretch;min-height:74px;border-bottom:1px solid #cbd8d4}.portrait-item-row.without-period{grid-template-columns:42px minmax(220px,1fr) 64px 122px 122px}.portrait-item-row.with-condition{grid-template-columns:42px minmax(166px,1fr) 118px 50px 100px 94px 104px}.portrait-item-row.with-condition.without-period{grid-template-columns:42px minmax(210px,1fr) 120px 58px 112px 112px}.portrait-sequence{align-self:stretch;display:grid;place-items:center;width:100%;border-right:1px solid #d4dfdc;background:#f2f8f6;color:#397d70;font:700 11px ui-monospace,monospace;letter-spacing:.4px}.portrait-item-info{flex-direction:column;align-items:center;gap:3px;padding:9px 10px;text-align:center}.portrait-item-info,.portrait-project-line{min-width:0;display:flex;justify-content:center}.portrait-project-line{align-items:baseline;gap:7px;max-width:100%;color:#193b38;white-space:nowrap}.portrait-project-line>b,.portrait-project-line>span{font-size:14px;font-weight:750;line-height:1.3}.portrait-project-line>span{flex:none}.portrait-project-line>b{min-width:0;overflow:hidden;text-overflow:ellipsis}.portrait-project-line>i{flex:none;color:#6d817c;font-size:14px;font-style:normal;font-weight:700}.portrait-reference-inline{display:flex;align-items:flex-start;justify-content:center;gap:7px;width:100%;max-width:100%;margin-top:4px;color:#264c46!important}.portrait-reference-inline em{flex:none;padding-right:7px;border-right:1px solid #b8cbc6;color:#607b74;font-size:12.5px;line-height:1.35;font-style:normal;font-weight:700}.portrait-reference-inline span{min-width:0;max-width:100%;font-size:12.5px;font-weight:750;line-height:1.35;letter-spacing:0;white-space:normal;overflow-wrap:anywhere;word-break:normal}.portrait-metric{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 5px;border-left:1px solid #d4dfdc;background:#fbfdfc;text-align:center}.portrait-metric span{color:#667f78;font-size:11.5px;line-height:1.15;font-weight:700;white-space:nowrap}.portrait-metric b{color:#193d38;font-size:14px;line-height:1.1;white-space:nowrap}.portrait-metric del{color:#98a39f;font-size:8.5px;line-height:1;white-space:nowrap}.portrait-condition-metric{background:#f6faf8}.portrait-condition-metric span{color:#55756e}.portrait-condition-metric b{max-width:100%;color:#234b44;font-size:11.5px;line-height:1.35;white-space:nowrap;word-break:keep-all}.portrait-subtotal{background:#f1f7f5}.portrait-subtotal b{color:#1f655a;font-size:15px}.portrait-platform{display:grid;grid-template-columns:86px 1fr;align-items:center;gap:10px;padding:10px 14px}.portrait-platform span{color:#55736c;font-size:13px;font-weight:750}.portrait-platform p{margin:0;color:#294640;font-size:14px;line-height:1.55}.portrait-total{min-height:58px;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:11px 18px;border-top:2px solid #52a18d;background:linear-gradient(90deg,#eef8f5,#dfefe9)}.portrait-total>span{color:#52716b;font-size:11px;font-weight:700}.portrait-total>strong{color:#18594f;font-size:21px;white-space:nowrap}.portrait-total.discount{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portrait-total.discount>div{display:flex;align-items:baseline;justify-content:center;gap:7px;white-space:nowrap}.portrait-total.discount span{color:#56736d;font-size:11px;font-weight:700}.portrait-total.discount del{color:#8e9793;font-size:13px}.portrait-total.discount b{color:#a26731;font-size:16px}.portrait-total.discount strong{color:#18594f;font-size:20px}.paper.portrait .terms{justify-content:flex-start;gap:18px;margin-top:14px;padding:11px 18px 5px}.paper.portrait .terms h4{flex:none;font-size:11px;white-space:nowrap}.paper.portrait .terms-content{flex:1;justify-content:space-between;gap:10px}.paper.portrait .terms p{flex:none;font-size:8.5px;letter-spacing:-.1px}.preview-drag-handle{color:#3f8879;cursor:grab;user-select:none}.preview-drag-handle:active{cursor:grabbing}.preview-sequence-cell{position:relative}.landscape-handle{left:2px;z-index:2;padding:5px 2px;transform:translateY(-50%);font-size:11px}.landscape-handle,.portrait-handle{position:absolute;top:50%;letter-spacing:-4px}.portrait-handle{left:-24px;z-index:3;display:grid;place-items:center;width:21px;height:32px;transform:translateY(-50%);border:1px solid #bcd8d0;border-radius:7px;background:#f3faf7;box-shadow:0 2px 6px rgba(43,101,87,.12);font-size:13px}.preview-dragging{opacity:.48}.paper.exporting .preview-drag-handle{display:none!important}.quote-table th.client-header{width:15%}.quote-table th.sequence-header{width:4%;white-space:nowrap;word-break:keep-all}.quote-table th.category-header{width:9%}.quote-table th.item-header{width:7%}.quote-table th.reference-header{width:9.5%;white-space:nowrap;word-break:keep-all}.quote-table th.condition-header{width:8%}.quote-table th.quantity-header{width:4%}.quote-table th.price-header{width:6.5%}.quote-table th.subtotal-header{width:7%}.quote-table th.platform-header{width:22%}.quote-table th.period-header{width:8%}.quote-table .condition-cell{padding-inline:7px;font-size:13px;line-height:1.45;text-align:center}.condition-list{display:inline-grid;justify-items:start;max-width:100%;gap:3px;text-align:left;vertical-align:middle}.condition-list i{display:block;max-width:100%;color:inherit;font-style:normal;font-weight:inherit;line-height:1.3;white-space:normal;overflow-wrap:anywhere;word-break:normal}.copy-toast{position:fixed;z-index:300;left:calc(max(560px, 32vw) + (100vw - max(560px, 32vw)) / 2);bottom:32px;transform:translateX(-50%);display:flex;align-items:center;gap:11px;min-width:330px;padding:13px 17px;border:1px solid #bce0d2;border-radius:12px;background:rgba(244,252,249,.97);color:#285d53;box-shadow:0 14px 45px rgba(31,79,69,.22);backdrop-filter:blur(10px);animation:copy-toast-in .24s ease-out}.copy-toast>span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#4b9c86;color:#fff;font-size:16px;font-weight:800}.copy-toast b{font-size:12px}.copy-toast p{margin:3px 0 0;color:#68817b;font-size:11px}.copy-toast.warning{border-color:#ead7b4;background:rgba(255,250,240,.97);color:#8a622e}.copy-toast.warning>span{background:#c39145}@keyframes copy-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:1200px){.history-card{grid-template-columns:22px minmax(150px,1fr) minmax(135px,.8fr) 100px auto;gap:8px}.copy-toast{left:50%}}