:root{color:#19202a;background:#f6f7f9;font-family:Inter,Segoe UI,Microsoft YaHei,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:#f6f7f9}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.access-shell{display:grid;min-height:100vh;place-items:center;padding:20px}.access-card{width:min(100%,390px);border:1px solid #dfe5ef;border-radius:8px;background:#fff;box-shadow:0 22px 60px #19202a1a;padding:28px}.access-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#1463ff;color:#fff;font-size:20px;font-weight:900}.access-card h1{margin:18px 0 6px;font-size:26px;line-height:1.15}.access-card p{margin:0;color:#687386;font-size:14px}.access-form{display:grid;gap:12px;margin-top:22px}.access-form label{display:grid;gap:7px;color:#4c586b;font-size:13px;font-weight:700}.access-form input{width:100%;height:44px;border:1px solid #d7deea;border-radius:8px;color:#19202a;outline:none;padding:0 12px}.access-form input:focus{border-color:#1463ff;box-shadow:0 0 0 3px #1463ff1f}.access-form strong{color:#c4362e;font-size:13px}.app-shell{min-height:100vh;padding:26px}.topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:0 auto 22px;max-width:1500px}.topbar h1{margin:0;font-size:clamp(26px,3vw,38px);line-height:1.1}.topbar p,.table-toolbar p{margin:7px 0 0;color:#687386;font-size:14px}.status-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.status-strip span{border:1px solid #d8e0eb;border-radius:8px;background:#fff;color:#354153;padding:8px 10px;font-size:13px;font-weight:700}.workspace-grid{display:grid;grid-template-columns:minmax(290px,360px) minmax(0,1fr);gap:18px;margin:0 auto;max-width:1500px}.control-panel,.results-panel,.quote-output,.quote-card-panel{border:1px solid #dfe5ef;border-radius:8px;background:#fff;box-shadow:0 14px 34px #19202a0f}.control-panel{align-self:start;overflow:hidden}.panel-section{padding:18px;border-bottom:1px solid #e8edf4}.panel-section:last-child{border-bottom:0}.section-title,.quote-card-header,.table-toolbar,.toolbar-actions,.query-actions{display:flex;align-items:center}.section-title{gap:8px;margin-bottom:13px;color:#19202a}.section-title.compact{margin-bottom:10px}.section-title h2,.table-toolbar h2,.quote-card h3{margin:0;font-size:16px;line-height:1.25}.upload-zone{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;min-height:88px;border:1.5px dashed #a9b8cc;border-radius:8px;background:#f9fbfe;color:#1463ff;font-weight:800}.upload-zone:hover{border-color:#1463ff;background:#f2f6ff}.upload-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-name,.error-text,.warning-box,.import-stats{margin:10px 0 0;font-size:13px}.file-name{color:#354153;word-break:break-all}.saved-catalog-note{margin:10px 0 0;color:#687386;font-size:12px;font-weight:800}.saved-clear-button{width:100%;margin-top:10px;border:1px solid #d7deea;min-height:34px}.error-text{color:#c4362e;font-weight:700}.import-stats{display:flex;gap:8px}.import-stats span{border-radius:8px;background:#eef3fa;padding:6px 8px;color:#354153;font-weight:700}.warning-box{border-radius:8px;background:#fff8ea;color:#805316;padding:10px}.warning-box summary{cursor:pointer;font-weight:700}.warning-box ul{margin:8px 0 0;padding-left:18px}.field{display:grid;gap:7px;margin-bottom:12px}.mode-options,.currency-options,.rate-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.compact-field{margin-bottom:0}.mode-card{position:relative;display:flex;align-items:center;gap:8px;min-height:42px;border:1px solid #d7deea;border-radius:8px;background:#fff;color:#354153;padding:8px 10px;font-size:13px;font-weight:800}.mode-card.active{border-color:#1463ff;background:#edf4ff;color:#1556ce}.mode-card input{position:absolute;opacity:0;pointer-events:none}.mode-check{display:grid;place-items:center;width:18px;height:18px;border:1px solid #aab7c8;border-radius:5px;color:transparent;padding:2px}.mode-card.active .mode-check{border-color:#1463ff;background:#1463ff;color:#fff}.field span,.toggle-row,.query-section textarea,.quote-output textarea{font-size:13px}.field span{color:#4c586b;font-weight:700}.field input,.query-section textarea,.quote-output textarea{width:100%;border:1px solid #d7deea;border-radius:8px;background:#fff;color:#19202a;outline:none}.field input{height:40px;padding:0 11px}.field input:focus,.query-section textarea:focus,.quote-output textarea:focus{border-color:#1463ff;box-shadow:0 0 0 3px #1463ff1f}.toggle-row{display:flex;gap:8px;align-items:flex-start;color:#354153;line-height:1.45}.toggle-row input{margin-top:2px}.query-section textarea{min-height:132px;resize:vertical;padding:11px;line-height:1.45}.query-actions{gap:8px;margin-top:10px}.manual-form{display:grid;gap:10px}.manual-form .field{margin-bottom:0}.manual-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.manual-list{display:grid;gap:8px;margin-top:12px}.manual-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e2e8f1;border-radius:8px;background:#fbfcfe;padding:9px 10px;color:#263244;font-size:13px;font-weight:800}.manual-item span{min-width:0}.manual-item small{display:block;margin-top:3px;color:#687386;font-size:12px;font-weight:700}.confirmed-list{display:grid;gap:8px;margin:0 0 14px;border:1px solid #e2e8f1;border-radius:8px;background:#fff;padding:12px}.confirmed-list-header{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#19202a;font-size:14px;font-weight:900}.confirmed-list-header span{border-radius:999px;background:#edf4ff;color:#1556ce;padding:4px 9px;font-size:12px}.confirmed-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #e8edf4;border-radius:8px;background:#fbfcfe;padding:9px 10px;color:#263244}.confirmed-item span{min-width:0}.confirmed-item strong,.confirmed-item small{display:block}.confirmed-item strong{overflow:hidden;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.confirmed-item small{margin-top:3px;color:#687386;font-size:12px;font-weight:800}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #d7deea;border-radius:8px;background:#fff;color:#687386;padding:0}.icon-button:hover{border-color:#c4362e;color:#c4362e}.results-panel{min-width:0;padding:18px}.table-toolbar{justify-content:space-between;gap:16px;margin-bottom:14px}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.primary-button,.secondary-button,.ghost-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:8px;border:1px solid transparent;padding:0 13px;font-size:13px;font-weight:800}.primary-button{background:#1463ff;color:#fff}.primary-button:hover{background:#0f52d5}.secondary-button{border-color:#cdd7e6;background:#fff;color:#263244}.secondary-button:hover{border-color:#1463ff;color:#1463ff}.ghost-button{background:transparent;color:#687386}.ghost-button:hover{background:#eef3fa;color:#263244}.table-wrap{overflow-x:auto;border:1px solid #e2e8f1;border-radius:8px}table{width:100%;min-width:940px;border-collapse:collapse;font-size:13px}th,td{border-bottom:1px solid #e8edf4;padding:10px 11px;text-align:left;vertical-align:middle}th{background:#f8fafc;color:#4c586b;font-size:12px;font-weight:800}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fbfdff}.abbr-cell{color:#1463ff;font-weight:900}.product-code-type{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.container-type-tag,.quote-container-type{display:inline-flex;width:fit-content;align-items:center;justify-content:center;border:1px solid #b9c7da;border-radius:4px;background:#f2f5f9;color:#435168;font-size:9px;font-weight:900;line-height:1;padding:4px 5px}.container-type-tag.cartridge,.quote-container-type.cartridge{border-color:#d8bd86;background:#fff8e9;color:#805316}.match-reason{display:inline-flex;border-radius:999px;background:#edf4ff;color:#1556ce;padding:4px 8px;font-size:12px;font-weight:800;white-space:nowrap}.price-cell{color:#07835f;font-weight:900;white-space:nowrap}.quantity-input-cell{min-width:78px}.price-input-cell{min-width:116px}.quantity-override-input,.price-override-input{width:98px;height:34px;border:1px solid #cdd7e6;border-radius:8px;background:#fff;color:#07835f;font-size:13px;font-weight:900;outline:none;padding:0 10px;text-align:right}.quantity-override-input{width:58px;color:#263244}.quantity-override-input:focus,.price-override-input:focus{border-color:#07835f;box-shadow:0 0 0 3px #07835f1f}.price-editor{display:flex;align-items:center;gap:7px}.price-reset-button,.price-auto-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:30px;border-radius:8px;font-size:12px;font-weight:900}.price-reset-button{border:1px solid #cdd7e6;background:#fff;color:#1463ff;padding:0 8px}.price-reset-button:hover{border-color:#1463ff;background:#edf4ff}.price-auto-pill{border:1px solid #dbe4ef;background:#f5f8fc;color:#687386}.price-input-cell small{display:block;margin-top:4px;font-size:11px;font-weight:800}.auto-price-note{color:#687386}.manual-price-note{color:#805316}.empty-cell{color:#687386;text-align:center;padding:36px 12px}.output-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;margin-top:14px}.quote-output,.quote-card-panel{min-width:0;padding:16px;box-shadow:none}.quote-output textarea{min-height:180px;resize:vertical;background:#fbfcfe;padding:16px;line-height:1.7}.quote-output-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.quote-output-header .section-title{margin-bottom:0}.compact-button{min-height:32px;padding:0 10px}.quote-card-header{justify-content:space-between;gap:10px;margin-bottom:10px}.quote-card-scroll{max-width:100%;overflow-x:auto;padding-bottom:2px}.quote-card{border:1px solid #dfe5ef;border-radius:8px;background:#fff;box-shadow:0 18px 40px #19202a14;color:#19202a;min-width:760px;overflow:hidden;padding:0}.quote-card-top{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #19202a;padding:24px 26px 20px}.quote-brand{display:flex;min-width:0;align-items:center;gap:14px}.quote-logo-mark{width:58px;height:58px;flex:0 0 auto;border-radius:50%;box-shadow:0 8px 18px #19202a14}.quote-logo-mark circle:first-child{fill:#fff;stroke:#d8c19a;stroke-width:3}.quote-logo-mark path:nth-of-type(1){fill:#102346}.quote-logo-mark path:nth-of-type(2){fill:#c29a51}.quote-logo-mark path:nth-of-type(3){fill:none;stroke:#102346;stroke-linecap:round;stroke-width:3.2}.quote-logo-mark circle:not(:first-child){fill:#102346}.quote-logo-mark circle:nth-of-type(4){fill:#c29a51}.quote-logo-mark text{fill:#102346;font-family:Arial,sans-serif;font-size:8px;font-weight:900;letter-spacing:1px;text-anchor:middle}.quote-title-block{display:grid;gap:4px}.quote-title-block strong{color:#102346;font-size:15px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.quote-card h3{font-size:23px;font-weight:900}.quote-meta{display:flex;gap:18px;margin:0;text-align:right}.quote-meta div{display:grid;gap:4px}.quote-meta dt{color:#687386;font-size:10px;font-weight:900;text-transform:uppercase}.quote-meta dd{margin:0;color:#19202a;font-size:13px;font-weight:800;white-space:nowrap}.quote-box-note{display:flex;align-items:baseline;gap:8px;margin:0 26px;border-left:3px solid #c29a51;background:#f7f9fc;padding:8px 12px}.quote-box-note strong{color:#102346;font-size:12px;font-weight:900;text-transform:uppercase;white-space:nowrap}.quote-box-note span{color:#687386;font-size:11px;font-weight:800}.quote-card-table{display:grid;gap:0;margin:12px 26px 24px;overflow:hidden;border:1px solid #dfe5ef;border-radius:8px;background:#fff}.quote-row{display:grid;grid-template-columns:minmax(180px,1.45fr) minmax(78px,.58fr) minmax(108px,.82fr) minmax(98px,.74fr) minmax(72px,.52fr) minmax(98px,.75fr);gap:12px;align-items:center;border-bottom:1px solid #e8edf4;padding:14px 16px;font-size:13px}.quote-row:not(.quote-row-head):nth-child(odd){background:#fbfcfe}.quote-row:last-child{border-bottom:0}.quote-row.freight-line{border-top:1px solid #c9d4e2;background:#f7fafc;color:#354153;font-weight:800}.quote-row.total-line{border-top:1px solid #102346;background:#f3f6fb;color:#102346;font-weight:900}.quote-row.total-line>span:first-child{text-transform:uppercase}.quote-row-head{background:#102346;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;padding-top:11px;padding-bottom:11px}.quote-row-head span{text-align:center}.quote-row-head span:first-child{text-align:left}.quote-row span,.quote-row strong{min-width:0}.quote-product-name{color:#19202a;font-weight:800;line-height:1.25}.quote-code{display:grid;gap:5px;justify-self:center;justify-items:center;width:100%;color:#102346;font-size:12px;font-weight:900;text-align:center;white-space:nowrap}.quote-code strong{font-size:12px}.quote-code .quote-container-type{margin-top:0;color:#435168;font-size:9px}.quote-code .quote-container-type.cartridge{color:#805316}.quote-center{color:#19202a;font-weight:800;text-align:center;white-space:nowrap}.quote-spec-pack{display:grid;gap:3px;color:#19202a;text-align:center}.quote-spec-pack strong{font-size:13px;font-weight:900}.quote-spec-pack small{margin-top:0;color:#805316;font-size:12px;font-weight:900;text-transform:uppercase;white-space:nowrap}.quote-row small{display:block;margin-top:3px;color:#687386;font-size:11px;font-weight:700}.quote-box-quantity{color:#102346;font-size:12px;font-weight:900;text-align:center;text-transform:uppercase;white-space:nowrap}.quote-money{display:grid;grid-template-columns:minmax(32px,auto) minmax(28px,auto);column-gap:6px;align-items:baseline;justify-content:center;color:#19202a;font-variant-numeric:tabular-nums;white-space:nowrap}.quote-money span{color:#687386;font-size:11px;font-weight:900;text-align:left}.quote-money strong{color:#055f49;font-size:14px;font-weight:900;text-align:right;white-space:nowrap}.quote-money-total strong{color:#047154}.quote-row em{grid-column:1 / -1;color:#805316;font-size:11px;font-style:normal;font-weight:800}.quote-empty{color:#687386;margin:28px 0;text-align:center}@media(max-width:1120px){.output-grid{grid-template-columns:1fr}}@media(max-width:860px){.app-shell{padding:16px}.topbar,.table-toolbar{align-items:flex-start;flex-direction:column}.workspace-grid{grid-template-columns:1fr}.status-strip,.toolbar-actions{justify-content:flex-start}.results-panel,.panel-section,.quote-output,.quote-card-panel{padding:14px}.quote-card{padding:0}.quote-card-header{align-items:flex-start;flex-direction:column}.quote-card-top{padding-left:18px;padding-right:18px}.quote-card-table,.quote-box-note{margin-left:18px;margin-right:18px}.quote-meta{text-align:right}.quote-row{grid-template-columns:minmax(180px,1.45fr) minmax(78px,.58fr) minmax(108px,.82fr) minmax(98px,.74fr) minmax(72px,.52fr) minmax(98px,.75fr)}}@media(max-width:520px){.query-actions,.toolbar-actions{align-items:stretch;flex-direction:column;width:100%}.primary-button,.secondary-button,.ghost-button{width:100%}.quote-output-header{align-items:stretch;flex-direction:column}.compact-button{width:100%}.table-wrap{overflow-x:visible;border:0}.table-wrap table{width:100%;min-width:0;border-collapse:separate;border-spacing:0 10px}.table-wrap thead{display:none}.table-wrap tbody{display:block;width:100%}.table-wrap tbody tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;position:relative;border:1px solid #e2e8f1;border-radius:8px;background:#fff;box-shadow:0 10px 24px #19202a0d;padding:12px}.table-wrap tbody tr:hover{background:#fff}.table-wrap td{display:flex;min-width:0;width:auto;align-items:center;border-bottom:0;padding:0}.table-wrap td:before{content:none}.table-wrap .match-query-cell,.table-wrap .match-reason-cell,.table-wrap .box-cell,.table-wrap .factory-cell{display:none}.table-wrap .select-cell{position:absolute;top:12px;right:12px;z-index:1}.table-wrap .select-cell input{width:22px;height:22px;accent-color:#1463ff}.table-wrap .product-name-cell{grid-column:1 / -1;order:1;padding-right:38px;color:#19202a;font-size:15px;font-weight:900;line-height:1.35}.table-wrap .abbr-cell{grid-column:1 / -1;order:2;justify-self:start;width:auto;max-width:100%;border:1px solid #d8e4f7;border-radius:999px;background:#edf4ff;color:#1556ce;padding:4px 10px;font-size:12px}.table-wrap .spec-cell,.table-wrap .quantity-input-cell,.table-wrap .price-input-cell,.table-wrap .total-price-cell{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;align-items:start;border:1px solid #e8edf4;border-radius:8px;background:#f8fafc;padding:8px}.table-wrap .spec-cell{order:3}.table-wrap .quantity-input-cell{order:4}.table-wrap .price-input-cell{order:5}.table-wrap .total-price-cell{order:6}.table-wrap .spec-cell:before,.table-wrap .quantity-input-cell:before,.table-wrap .price-input-cell:before,.table-wrap .total-price-cell:before{content:attr(data-label);color:#687386;font-size:12px;font-weight:900}.table-wrap .empty-row{display:block;box-shadow:none}.table-wrap .empty-cell{display:block;padding:28px 12px;text-align:center}.table-wrap .empty-cell:before{content:none}.quantity-input-cell,.price-input-cell{min-width:0}.quantity-override-input,.price-override-input{width:100%;max-width:none}.price-editor{width:100%;gap:5px}.price-auto-pill,.price-input-cell small{display:none}.price-reset-button{min-width:44px;height:34px}.total-price-cell{justify-content:center;color:#07835f;font-size:16px;font-weight:900}.quote-row{grid-template-columns:1fr 1fr}.quote-card .quote-row{grid-template-columns:minmax(180px,1.45fr) minmax(78px,.58fr) minmax(108px,.82fr) minmax(98px,.74fr) minmax(72px,.52fr) minmax(98px,.75fr)}.quote-card-scroll{overflow-x:hidden}.quote-card{zoom:.36}.quote-card.quote-card-exporting{zoom:1}.manual-grid,.currency-options,.rate-grid{grid-template-columns:1fr}.quote-row-head{display:none}.quote-card .quote-row-head{display:grid}}@media(min-width:381px)and (max-width:430px){.quote-card{zoom:.36}.quote-card.quote-card-exporting{zoom:1}}@media(min-width:431px)and (max-width:480px){.quote-card{zoom:.44}.quote-card.quote-card-exporting{zoom:1}}@media(min-width:481px)and (max-width:520px){.quote-card{zoom:.52}.quote-card.quote-card-exporting{zoom:1}}
