:root{--bg:#faf8f5;--paper:#fff;--ink:#393632;--muted:#88827b;--accent:#a66e7c;--pink:#f4e9eb;--line:#eee8e3;--green:#557e6b;--danger:#b45a55;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;font-size:14px;line-height:1.6}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #b47f90;outline-offset:4px}button{border:0}h1,h2,h3,p{margin:0}button:disabled{cursor:default}.app-shell{display:flex;min-height:100vh}.sidebar{width:230px;flex-shrink:0;background:#fffdfb;border-right:1px solid var(--line);padding:37px 22px 22px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0}.brand{display:flex;align-items:center;gap:12px;font-size:26px;font-weight:600;letter-spacing:3px;margin:0 8px 48px}.brand-sub{display:block;font-size:10px;color:var(--muted);letter-spacing:2px;font-weight:400}.cat-logo{height:47px;width:47px;background:var(--pink);border-radius:15px;display:grid;place-items:center}.cat-logo svg{width:36px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.nav-caption{font-size:10px;letter-spacing:2px;color:#a49c95;padding:0 15px;margin-bottom:14px}.nav-link{display:flex;align-items:center;gap:13px;padding:13px 15px;margin-bottom:7px;border-radius:10px;color:#77716a;font-size:13px;min-height:48px;transition:background .15s}.nav-link>span:first-child{font-size:21px;line-height:1;width:21px;text-align:center}.nav-link.active{color:#966170;background:#f4e9eb;font-weight:600}.nav-link:hover{background:#f7f1ee}.nav-arrow{margin-left:auto}.sidebar-note{margin-top:auto;padding:30px 13px 25px}.little-flower{display:block;font-size:29px;color:#bd98a1;margin-bottom:10px}.sidebar-note strong{font-size:11px;font-weight:500}.sidebar-note p{font-size:11px;color:#a49b93;line-height:1.9;margin-top:9px}.sidebar-footer{border-top:1px solid var(--line);padding:20px 12px 0;font-size:11px;color:#8d857f}.sidebar-footer small{font-size:10px;display:block;margin-top:5px;color:#aaa19a}.status-dot{display:inline-block;width:6px;height:6px;background:#8ca18f;border-radius:50%;margin-right:5px}main{margin-left:230px;flex:1;min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);padding:0 44px;display:flex;align-items:center;justify-content:space-between;color:#8f877f;font-size:11px}.breadcrumb{margin-left:13px;color:#b8aea6}.breadcrumb span{margin-left:13px;color:#736c65}.preview-badge{background:#f0ece6;color:#8e8072;border:1px solid #e7dfd6;border-radius:30px;padding:4px 12px;font-size:10px}.page{max-width:1300px;margin:auto;padding:42px 44px 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.eyebrow{font-size:9px;letter-spacing:2.3px;color:#a68c87;margin-bottom:11px}h1{font-size:28px;font-weight:600;letter-spacing:1px;line-height:1.5}.heading-dot{color:var(--accent)}.page-heading p{font-size:12px;color:var(--muted);margin-top:9px}.heading-stamp{color:#ac9091;border:1px solid #dfccca;border-radius:50%;width:66px;height:66px;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:12px;letter-spacing:1px;transform:rotate(8deg);margin-right:7px}.heading-stamp small{font-size:9px;letter-spacing:2px}.calculator-layout{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(300px,1fr);gap:26px;align-items:start}.input-column{min-width:0}.mode-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:10px}.mode-switch{display:flex;background:#efece7;padding:4px;border-radius:10px;flex-shrink:0}.mode-switch button{background:transparent;border-radius:7px;padding:8px 19px;font-size:12px;color:#91877f;min-height:38px}.mode-switch button.selected{background:#fff;color:#996875;box-shadow:0 2px 4px #5642310b;font-weight:500}#mode-hint{font-size:10px;color:#9a9188}.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 4px 20px #46352903}.primary-card{padding:25px 25px 21px}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:10px}h2{font-size:15px;font-weight:600}.section-index{font-size:10px;color:#b18d96;letter-spacing:1px;margin-right:10px;font-weight:500}.unit-tag{color:#a09186;font-size:9px;background:#f7f4ef;padding:3px 8px;border-radius:4px}.section-description{font-size:11px;color:#999087;margin:10px 0 23px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px 19px}.field{min-width:0}.field label{display:block;font-size:12px;color:#655d57;margin-bottom:8px}.input-wrap{display:flex;align-items:center;background:#fcfbf9;border:1px solid #e8e2db;border-radius:8px;overflow:hidden;min-height:49px}.input-wrap:focus-within{border-color:#b78b96;box-shadow:0 0 0 3px #f7eaef}.input-wrap:has([aria-invalid=true]){border-color:var(--danger)}input{min-width:0;width:100%;background:transparent;border:0;outline:none;padding:10px 12px;color:#4c433e;font-variant-numeric:tabular-nums;font-size:19px;letter-spacing:.5px}input::placeholder{color:#c5bdb5;font-size:16px}.input-wrap>span{font-size:11px;color:#a89d93;padding-right:12px;flex-shrink:0}.field small{display:block;font-size:9px;color:#a69b92;margin-top:6px}.field-error{display:block;font-size:10px;color:var(--danger);margin-top:3px}.field-error:empty{display:none}.inline-tip{background:#f8f5f1;border-radius:7px;padding:10px 12px;font-size:10px;color:#9b8d80;margin-top:23px;line-height:1.8}.inline-tip>span{margin-right:5px}.form-footer{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a49a91;padding:15px 3px}.text-button{background:none;color:#9b7580;font-size:11px;padding:10px 0 10px 10px;min-height:44px}.quiet-note{display:flex;gap:13px;padding:20px 5px;align-items:center}.quiet-note>span{color:#b69e88;font-size:27px}.quiet-note p{font-size:10px;color:#a3978c;line-height:2}.quiet-note strong{color:#8f8276;font-size:11px;font-weight:500}.result-column{position:sticky;top:24px;min-width:0}.result-card{background:#fffcfb;border:1px solid #eadcdd;border-radius:16px;padding:25px 25px 22px;box-shadow:0 6px 25px #9a656507}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:8px}.result-heading h2{font-size:14px}.profit-badge{color:#918579;background:#f0ebe4;border-radius:20px;padding:3px 10px;font-size:10px;white-space:nowrap}.result-basis{font-size:9px;color:#a39890;margin-top:7px}.profit-label{font-size:11px;color:#9a817c;margin-top:28px}.profit-label span{font-size:9px;border:1px solid #e8ddda;border-radius:3px;padding:1px 5px;margin-left:5px}.profit-amount{font-size:42px;letter-spacing:-1.5px;line-height:1.4;color:var(--accent);font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:5px 0 21px}.result-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px}.result-metrics>div+div{border-left:1px solid #ebdfda;padding-left:20px}.result-metrics span{display:block;font-size:10px;color:#998c82}.result-metrics strong{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums;display:block;margin-top:5px;overflow-wrap:anywhere}.result-message{font-size:10px;color:#907c6f;background:#f6f0ea;padding:11px 12px;border-radius:7px;margin-top:20px;line-height:1.9}.result-divider{border-top:1px dashed #e5d8d2;margin:23px 0 18px}.result-card h3{font-size:11px;font-weight:500;color:#796e65}.cost-bar{display:flex;background:#f0eae4;height:7px;overflow:hidden;border-radius:10px;margin:14px 0 19px}.legend-0{background:#b98c98}.legend-1{background:#d6b7a1}.legend-2{background:#b4bfad}.legend-3{background:#b5b9ca}.legend-4{background:#d7c48d}.legend-5{background:#c3afc9}.breakdown{margin:0}.breakdown>div{display:flex;justify-content:space-between;gap:10px;margin:10px 0;font-size:10px}.breakdown dt{color:#92857a;display:flex;align-items:center;gap:7px}.breakdown dd{margin:0;color:#645950;font-variant-numeric:tabular-nums}.legend{height:6px;width:6px;border-radius:2px;display:inline-block;flex-shrink:0}.breakdown .sales-line{border-top:1px solid #eee5df;padding-top:13px;margin-top:14px}.result-footnote{font-size:9px;color:#a99c91;line-height:1.9;margin-top:15px}.assumption-card{padding:20px 6px}.assumption-card h3{font-size:11px;font-weight:500;color:#9c8779;margin-bottom:8px}.assumption-card p{font-size:10px;color:#a3968a;line-height:1.9;margin-top:7px}.assumption-card .stage-warning{color:#9a7b72}.result-card[data-state=profit] .profit-badge{background:#eaf1eb;color:var(--green)}.result-card[data-state=profit] .result-message{background:#f0f4ee;color:#68816c}.result-card[data-state=loss] .profit-amount{color:var(--danger)}.result-card[data-state=loss] .profit-badge,.result-card[data-state=loss] .result-message{background:#faece8;color:#a55e56}.fee-group{margin-top:16px;overflow:hidden}.fee-group summary{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;font-size:13px;cursor:pointer;list-style:none;min-height:64px}.fee-group summary::-webkit-details-marker{display:none}.summary-right{font-size:10px;color:#a99b91}.chevron{margin-left:10px;display:inline-block}.fee-group[open] .chevron{transform:rotate(180deg)}.group-content{padding:0 25px 24px}.group-content .section-description{margin-top:0}.empty-card{border:1px solid var(--line);background:#fffdfb;border-radius:16px;padding:65px 25px;text-align:center;max-width:850px;margin:15px auto 50px}.empty-icon{display:block;font-size:43px;color:#b6919a;margin-bottom:12px}.stage-label{display:inline-block;font-size:10px;background:#f4ebed;color:#a4808b;border-radius:30px;padding:4px 13px;margin-bottom:20px}.empty-card h2{font-size:21px;margin-bottom:15px}.empty-card p{font-size:13px;color:#8b8179;line-height:2}.empty-card .muted{font-size:11px;margin:18px auto 25px;max-width:500px;color:#a69a8f}.primary-button{display:inline-block;background:#a57481;color:white;font-size:12px;border-radius:8px;padding:12px 22px}.settings-card{padding:28px}.settings-list{margin:20px 0}.settings-list>div{display:grid;grid-template-columns:120px 1fr;border-bottom:1px solid var(--line);padding:18px 0;font-size:12px;gap:15px}.settings-list dt{color:#a09084}.settings-list dd{margin:0;color:#72665c}.main-footer{max-width:1300px;margin:25px auto 0;padding:22px 44px;display:flex;justify-content:space-between;color:#b0a69d;font-size:9px;letter-spacing:1px}
@media(min-width:1600px){.page{padding-top:55px}.calculator-layout{gap:35px}.primary-card,.result-card{padding:30px}.field-grid{gap:28px}.profit-amount{font-size:50px}}
@media(max-width:1150px){.sidebar{width:195px;padding:28px 15px 20px}main{margin-left:195px}.brand{margin-left:3px;gap:8px}.page{padding:30px 25px 0}.topbar{padding:0 25px}.calculator-layout{gap:18px;grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}.primary-card,.result-card{padding:20px}.heading-stamp{display:none}h1{font-size:25px}.field-grid{gap:20px 12px}#mode-hint{display:none}.main-footer{padding:20px 25px}.result-metrics strong{font-size:17px}.group-content{padding:0 20px 20px}}
@media(max-width:900px){.sidebar{position:static;width:auto;padding:18px 22px;border-right:0;border-bottom:1px solid var(--line)}.app-shell{display:block}.brand{margin:0 0 17px;font-size:22px}.brand-sub{font-size:9px}.cat-logo{height:40px;width:40px}.sidebar nav{display:flex;gap:6px;justify-content:space-between}.nav-caption,.sidebar-note,.sidebar-footer,.nav-arrow{display:none}.nav-link{margin:0;font-size:11px;padding:9px;gap:6px;min-height:44px}.nav-link>span:first-child{font-size:17px;width:18px}main{margin:0}.topbar{height:50px}.page{padding-top:28px}.calculator-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.result-column{top:15px}}
@media(max-width:680px){.sidebar{padding:17px 16px 12px}.sidebar nav{gap:3px}.nav-link{flex:1;flex-direction:column;justify-content:center;padding:8px 2px;font-size:10px;gap:5px;border-radius:8px;min-height:58px}.nav-link>span:first-child{font-size:20px}.brand{margin-bottom:15px}.topbar{padding:0 20px;font-size:10px}.page{padding:26px 18px 0}.page-heading{margin-bottom:22px}h1{font-size:23px;letter-spacing:0}.eyebrow{font-size:8px;letter-spacing:1.6px}.page-heading p{font-size:11px;line-height:1.9;max-width:280px}.calculator-layout{display:flex;flex-direction:column;gap:18px}.input-column,.result-column{width:100%}.result-column{position:static}.mode-row{margin-bottom:15px}.mode-switch button{padding:8px 22px}.primary-card{padding:20px 17px}.field-grid{gap:22px 14px}.field label{font-size:11px}.field small{font-size:9px}.field input{font-size:18px;min-height:48px;padding-left:10px}.unit-tag{font-size:8px}.section-description{font-size:10px;line-height:1.9;margin-bottom:20px}.section-index{margin-right:7px}.inline-tip{font-size:9px}.form-footer{font-size:9px}.quiet-note{display:none}.profit-amount{font-size:45px}.result-card{padding:23px}.result-metrics strong{font-size:21px}.result-basis,.result-footnote{font-size:10px}.result-message{font-size:11px}.breakdown>div{font-size:11px}.assumption-card{padding:19px 6px}.assumption-card p{font-size:11px}.result-card{scroll-margin-top:15px}.empty-card{padding:40px 19px}.empty-card p{font-size:12px}.empty-card h2{font-size:19px}.empty-card br{display:none}.settings-card{padding:20px}.settings-list>div{grid-template-columns:1fr;gap:5px}.main-footer{margin-top:10px;padding:15px 18px;font-size:8px;letter-spacing:0}.fee-group summary{padding:18px 17px}.group-content{padding:0 17px 20px}}
.mobile-summary{display:none}
@media(max-width:680px){body{padding-bottom:78px}.mobile-summary{position:fixed;display:flex;align-items:center;justify-content:space-between;bottom:0;left:0;right:0;border-top:1px solid #e9dcdb;background:#fffdfb;padding:13px 20px calc(13px + env(safe-area-inset-bottom));z-index:5;font-size:11px;box-shadow:0 -3px 15px #70504005}.mobile-summary strong{font-size:20px;color:var(--accent);font-weight:500;margin-left:12px;font-variant-numeric:tabular-nums}.mobile-summary a{padding:10px;color:var(--accent);flex-shrink:0}.mobile-summary>span{min-width:0;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* 第二阶段：沿用既有配色和组件，仅补充币种、假设与目标输入。 */
select{font:inherit;max-width:100%;width:100%;min-height:48px;padding:10px;border:1px solid #e8e2db;border-radius:8px;background:#fcfbf9;color:#655d57;font-size:13px}select:focus{outline:2px solid #b78b96;outline-offset:2px}.currency-grid{margin-bottom:16px}.rate-details{margin:12px 0 22px;font-size:11px;color:#948176}.rate-details summary{cursor:pointer;min-height:44px;padding:9px 0}.rate-details .section-description{margin:12px 0}.refund-rules{margin-top:20px;border-top:1px solid var(--line);padding-top:12px}.refund-rules label{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:#7c6a60;padding:10px 0;min-height:44px}.refund-rules input{width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:var(--accent);margin:2px 0}.refund-rules p{font-size:10px;color:#a08b7e}.target-result{font-size:12px;color:#8b6170;background:#f8f0f1;padding:13px;border-radius:8px;margin-top:16px;overflow-wrap:anywhere}#apply-target{margin:5px 0}#apply-target:disabled{opacity:.45}.branch-results{margin-top:20px;border-top:1px solid var(--line);padding-top:10px}.legend-6{background:#c6a7a2}.legend-7{background:#b7b6ac}.settings-actions{display:flex;flex-wrap:wrap;gap:12px}.secondary-button{padding:12px 18px;border:1px solid #ddc9cf;background:#fffafc;border-radius:8px;color:#956575;font-size:12px}.source-note{font-size:11px;color:#97867b;line-height:2}.source-note a{color:#9d6d7b;text-decoration:underline}.saved-rates p{font-size:11px;color:#8e7d71;border-bottom:1px solid var(--line);padding:14px 0;overflow-wrap:anywhere}.settings-heading{margin-top:28px}.result-column{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow-y:auto;scrollbar-width:thin}input:disabled{background:#f0ebe6}input[readonly]{color:#a49991}

@media(max-width:680px){.result-column{position:static;max-height:none;overflow:visible}.settings-actions>*{width:100%;min-height:46px}.rate-details .field-grid{grid-template-columns:1fr}.refund-rules label{font-size:12px}.target-result{font-size:12px}.mobile-summary strong{font-size:18px}}

/* v0.2.1：保留视觉语言，简化专业输入并提高结果可读性。 */
.more-settings{margin-top:16px;overflow:hidden}.more-settings>summary{display:flex;flex-direction:column;gap:4px;cursor:pointer;padding:18px 23px;color:#795862;font-size:15px;min-height:70px;list-style:none}.more-settings>summary::-webkit-details-marker{display:none}.more-settings>summary>span:first-child::after{content:' ＋';color:#a67b88}.more-settings[open]>summary>span:first-child::after{content:' −'}.more-settings>summary>span:last-child{font-size:13px;color:#81756b}.more-settings-note{padding:0 23px 12px;font-size:13px;color:#7e7168;line-height:1.8}#advanced-fields{padding:0 14px 16px}#advanced-fields>.fee-group{box-shadow:none;border-radius:10px;margin-top:10px}#advanced-fields summary{padding:16px 14px}#advanced-fields .group-content{padding:0 15px 18px}.clear-input{background:transparent;color:#9a7b85;flex:0 0 40px;width:40px;min-height:46px;padding:0;font-size:21px;line-height:1;display:grid;place-items:center;border-left:1px solid #eee5df}.clear-input:hover{color:#764653;background:#f4e9eb}.clear-input:focus-visible{outline-offset:-4px;border-radius:6px}.input-wrap>span{padding-right:9px;color:#827167;font-size:13px}.field small,#target-hint{font-size:13px;line-height:1.7;color:#82756b}.field label{font-size:13px}.field-error{font-size:13px}.profit-amount{font-size:clamp(28px,2.8vw,42px);letter-spacing:-1px;margin-bottom:8px;line-height:1.5}.profit-cny{font-size:20px;color:#816e68;font-variant-numeric:tabular-nums;margin:0 0 22px;overflow-wrap:anywhere}.result-card .result-heading h2{font-size:16px}.result-card .profit-label{font-size:14px;color:#7e6162}.result-card .profit-label span{font-size:13px;color:#84696b}.result-card .profit-badge{font-size:13px}.result-card .result-basis,.result-card .result-footnote{font-size:13px;line-height:1.8;color:#7f7269}.result-card .result-message{font-size:14px;line-height:1.8}.result-card .result-metrics span{font-size:13px;color:#7f6e64}.result-card .result-metrics strong{font-size:20px}.result-card .breakdown>div{font-size:14px;line-height:1.8;gap:12px;align-items:baseline}.result-card .breakdown dt{color:#76665d;min-width:0;overflow-wrap:anywhere}.result-card .breakdown dd{color:#51463f;text-align:right;flex-shrink:0;max-width:52%;overflow-wrap:anywhere}.result-card h3{font-size:14px;color:#756056}.result-column .assumption-card h3{font-size:14px;color:#816356}.result-column .assumption-card p{font-size:13px;color:#817166;line-height:1.9}.result-column .assumption-card .stage-warning{color:#886659}.result-card .profit-cny[hidden]{display:none}#target-value-label{color:#825964;font-weight:500}#target-unit{font-size:16px;font-weight:500;color:#946675}.target-result{font-size:14px;line-height:1.9}.section-description{font-size:13px;color:#82756c}.refund-rules label{font-size:13px}.refund-rules p{font-size:13px;color:#87766a}
@media(max-width:1050px) and (min-width:681px){.result-card .result-metrics{grid-template-columns:1fr}.result-card .result-metrics>div+div{border-left:0;border-top:1px solid #ebdfda;padding:12px 0 0}.result-card .breakdown>div{flex-wrap:wrap;gap:2px}.result-card .breakdown dd{margin-left:auto;max-width:100%}}
@media(max-width:680px){.more-settings>summary{padding:17px}.more-settings-note{padding:0 17px 10px}#advanced-fields{padding:0 10px 12px}.profit-amount{font-size:clamp(28px,8vw,42px)}.profit-cny{font-size:20px}.mobile-summary strong{font-size:17px;margin-left:6px}.result-card .breakdown>div{flex-wrap:wrap;gap:3px}.result-card .breakdown dd{margin-left:auto;max-width:100%}.clear-input{width:42px;flex-basis:42px;min-height:48px}.field small{font-size:13px}.summary-right{font-size:12px}.result-card .profit-label{margin-top:20px}.field-grid{column-gap:12px}}
@media(max-width:370px){.field-grid{grid-template-columns:1fr}.result-card .result-metrics{grid-template-columns:1fr}.result-card .result-metrics>div+div{border-left:0;border-top:1px solid #ebdfda;padding:10px 0 0}}

.reset-calculation{background:#f6edef;border:1px solid #e5d1d8;color:#956575;border-radius:8px;padding:9px 12px;min-height:44px;font-size:13px;white-space:nowrap}.reset-calculation:hover{background:#eee0e5}
/* 第三阶段商品档案与货源，复用原奶油粉白组件。 */
.catalog-status{font-size:14px;color:#865e6a;background:#f4ebed;border-radius:9px;padding:12px 16px;margin:14px 0;line-height:1.8;overflow-wrap:anywhere}.catalog-toolbar{display:grid;grid-template-columns:minmax(0,2fr) 1fr 1fr;gap:14px;align-items:end;margin:20px 0}.catalog-toolbar label{font-size:13px;color:#786b62}.catalog-toolbar input,.catalog-field input,.catalog-field textarea,.copy-dialog textarea,.procurement-inline input{width:100%;border:1px solid #e7dcd4;border-radius:8px;background:#fffdfa;color:#4d423b;min-height:46px;padding:10px 12px;font-size:14px;outline:none}.catalog-field textarea,.copy-dialog textarea{font:inherit;resize:vertical;line-height:1.8}.catalog-toolbar input:focus,.catalog-field input:focus,.catalog-field textarea:focus,.copy-dialog textarea:focus{border-color:#ae8190;box-shadow:0 0 0 2px #f1dfe5}.catalog-actions{display:flex;gap:10px;flex-wrap:wrap}.catalog-actions button,.file-button{font-size:13px;min-height:44px}.catalog-note{font-size:13px;line-height:1.9;color:#89776b;margin:15px 0}.file-button{display:inline-flex;align-items:center;cursor:pointer;position:relative;overflow:hidden}.file-button input[type=file]{width:100%;height:100%;position:absolute;inset:0;opacity:0;cursor:pointer;font-size:16px}.file-button:focus-within{outline:2px solid #a87888;outline-offset:2px}.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.catalog-list>.empty-card{grid-column:1/-1;width:100%}.product-card{padding:23px;min-width:0}.product-card-top{display:flex;align-items:center;gap:15px;min-width:0}.product-card-top>div{min-width:0}.product-card h2{font-size:17px;overflow-wrap:anywhere}.product-card .stage-label{margin:0 0 7px}.product-thumb{width:74px;height:74px;border-radius:12px;object-fit:cover;flex-shrink:0;border:1px solid #eee4de}.no-image{display:grid;place-items:center;background:#faf2f1;color:#b18a96;font-size:28px}.sku{font-size:12px;color:#9a8679;overflow-wrap:anywhere;margin-top:5px}.product-facts{margin:19px 0}.product-facts>div{display:flex;gap:12px;justify-content:space-between;font-size:13px;margin:9px 0}.product-facts dt{color:#927b6c;flex-shrink:0}.product-facts dd{margin:0;text-align:right;overflow-wrap:anywhere}.product-buttons{display:flex;gap:7px;flex-wrap:wrap}.product-buttons button{background:#f7f1ee;border:1px solid #ebe0d8;color:#906773;padding:8px 11px;border-radius:7px;min-height:44px;font-size:12px}.danger-text{color:#a55e57!important}.procurement-inline{border-top:1px solid var(--line);padding-top:14px;margin-top:15px;display:grid;grid-template-columns:1fr 74px;gap:10px;font-size:12px;color:#9b8273}.procurement-inline button{grid-column:1/-1;background:#a57481;color:#fff;border-radius:8px;min-height:44px;padding:10px;font-size:13px}.procurement-inline button:disabled{opacity:.4}.procurement-inline input{font-size:14px;padding:8px}.compare-choice{display:flex;align-items:center;gap:8px;font-size:13px;color:#8c717b;margin-top:14px;min-height:36px}.compare-choice input{width:18px;height:18px;accent-color:var(--accent)}.comparison-wrap{overflow:auto;padding:22px;max-width:100%}.comparison-table{border-collapse:collapse;font-size:13px;min-width:620px;width:100%;text-align:left}.comparison-table th,.comparison-table td{border-bottom:1px solid #eee4dc;padding:14px 12px;vertical-align:top;min-width:110px;max-width:220px;overflow-wrap:anywhere}.comparison-table thead{color:#96717c;background:#fcf7f6}.comparison-table th{font-weight:500}.comparison-table small{display:block;color:#9a867a;margin-top:6px}.mini-cost{min-width:150px;margin:5px 0;font-size:12px}.mini-cost meter{display:block;width:100%;height:7px;accent-color:#b58a97}.catalog-dialog{width:min(900px,94vw);max-height:90vh;border:1px solid #e6d4d9;background:#fffcfa;border-radius:17px;padding:26px;color:var(--ink);box-shadow:0 12px 60px #59413d30;overflow:auto}.catalog-dialog::backdrop{background:#43343355}.catalog-dialog>header{display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #ede1da;padding-bottom:13px;margin-bottom:22px}.catalog-dialog h2{font-size:20px}.catalog-dialog h3{font-size:15px;color:#8f6c75}.catalog-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.catalog-field{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#867267;min-width:0}.catalog-field.wide,.image-editor.wide{grid-column:1/-1}.dialog-footer{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.dialog-footer span{font-size:12px;color:#a08a7c}.source-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 15px}.source-editor{padding:0 20px 22px;border:1px solid #eddfd9;border-radius:12px;margin:15px 0;background:#fff}.source-editor>.source-heading{margin-top:12px}.image-editor{font-size:13px;color:#8d7669}.image-editor small{display:block;font-size:12px;line-height:1.8;margin-top:8px}.image-strip{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}.image-strip figure{position:relative;margin:0}.image-strip img{width:90px;height:90px;object-fit:cover;border-radius:10px}.image-strip button{position:absolute;top:0;right:0;min-width:36px;min-height:36px;border-radius:50%;background:#fff1f1;color:#9f5a65;font-size:20px}.catalog-history{font-size:13px;color:#8a7568;margin:24px 0}.catalog-history summary{cursor:pointer;padding:12px 0}.copy-dialog{width:min(580px,94vw)}.copy-dialog p{font-size:13px;color:#907b6c;margin:14px 0}.copy-dialog textarea{min-height:300px}.copy-dialog>button{margin-top:16px}#source-price-comparison{margin:24px 0}#save-estimate-product{margin-top:16px}.catalog-dialog:not([open]){display:none}
@media(max-width:1100px){.catalog-list{grid-template-columns:1fr}.catalog-toolbar{grid-template-columns:1fr 1fr}.catalog-search{grid-column:1/-1}}
@media(max-width:680px){.catalog-dialog{padding:18px;width:96vw;max-height:94vh}.catalog-form-grid{grid-template-columns:1fr}.catalog-field.wide,.image-editor.wide{grid-column:auto}.catalog-toolbar{gap:12px}.catalog-actions>*{flex:1;justify-content:center}.catalog-actions{gap:8px}.source-editor{padding:0 12px 18px}.catalog-dialog h2{font-size:17px}.page-heading:has(#new-product){align-items:flex-start;gap:12px;flex-direction:column}.product-card{padding:18px}.comparison-wrap{padding:12px}.source-heading{flex-wrap:wrap}}

.source-link{display:block;font-size:13px;color:#9d6b7e;text-decoration:underline;margin-top:7px}

@media(max-width:680px){.catalog-field input,.catalog-field textarea,.catalog-toolbar input,.procurement-inline input{font-size:16px}}
/* 第三阶段体验优化：卡片动作、渐进式详情、顶部照片与独立货源。 */
.card-workflow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 10px}.card-workflow .primary-button{font-size:14px;min-height:44px;padding:10px 18px}.card-workflow .text-button{font-size:13px;min-height:44px}.detail-topbar{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:24px}.detail-topbar h1{font-size:25px;overflow-wrap:anywhere}.detail-topbar>span{color:#887166;font-size:13px}.product-hero{padding:24px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.product-photo-column{min-width:0}.product-photo-column .image-editor>p{margin-top:0;color:#725b53;font-size:14px}.image-strip figure{width:94px}.product-photo-column .image-strip figure:first-child{width:100%}.image-strip .photo-open{position:static;display:block;width:100%;height:auto;min-height:0;background:#f8eeed;border:1px solid #eadbdc;border-radius:10px;overflow:hidden;padding:0;font-size:inherit}.image-strip .photo-open img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}.image-strip .photo-tools{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.image-strip .photo-tools button,.image-strip .photo-tool{position:relative;inset:auto;border:1px solid #ebdfe0;border-radius:6px;min-width:0;min-height:36px;background:#fff8f7;color:#815b69;font-size:12px;padding:6px 7px}.image-strip .photo-tools button:disabled{opacity:.6}.image-editor small{font-size:13px;color:#806d62}.detail-stage{margin:20px 0 5px}.source-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.source-summary{padding:20px;min-width:0;overflow-wrap:anywhere}.source-summary h3{font-size:18px;margin:9px 0}.source-summary p{font-size:14px;color:#79665b;line-height:1.8;margin:8px 0}.source-summary>strong{display:block;color:var(--accent);font-size:23px;font-weight:500;font-variant-numeric:tabular-nums}.source-summary .source-link{font-size:14px;display:inline-block;padding:8px 0}.source-summary .product-buttons{margin-top:10px}.source-compare-fold,.secondary-data,.detail-compliance,.catalog-history.card{padding:20px;margin:20px 0}.source-compare-fold>summary,.secondary-data>summary,.catalog-history.card>summary{padding:4px 0;font-size:15px;color:#765c65;cursor:pointer}.secondary-data .catalog-form-grid{margin-top:22px}.detail-compliance .source-heading{margin-top:0}.detail-compliance p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.detail-compliance .source-link{margin-right:18px}.catalog-history li{line-height:1.9;margin:12px 0;overflow-wrap:anywhere}.catalog-history ul{padding-left:20px}.product-detail-page .dialog-footer{position:sticky;bottom:0;z-index:2;background:#fffcfaeF;backdrop-filter:blur(8px);padding:16px;border-radius:12px;box-shadow:0 -3px 14px #6f465608}.product-detail-page .dialog-footer span{font-size:13px;color:#826b60}#product-dialog{width:min(820px,94vw)}#product-dialog .product-hero{padding:0;border:0;box-shadow:none;background:transparent;grid-template-columns:190px minmax(0,1fr);gap:24px}.stage-dialog{width:min(600px,94vw)}.stage-dialog .catalog-field{margin:16px 0}.stage-dialog .compare-choice{font-size:14px;line-height:1.8}#source-dialog{width:min(760px,94vw)}#source-dialog .image-editor{grid-column:1/-1}.photo-dialog{width:min(760px,94vw)}#photo-preview{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:auto}.boc-panel{margin:26px 0;padding:20px;background:#fcf6f5;border:1px solid #eddfda;border-radius:12px}.boc-panel h3{font-size:17px;margin-bottom:12px}.boc-panel .catalog-form-grid{margin:18px 0}.boc-panel p,.boc-panel a{font-size:14px;line-height:1.9}.boc-panel .settings-actions{margin-top:18px}.boc-panel .catalog-field{color:#765f55}.catalog-field select{min-height:46px;font-size:14px}.photo-tools input[type=file]{padding:0;min-height:0}.product-hero input{min-width:0}
@media(max-width:1100px){.product-hero{grid-template-columns:180px minmax(0,1fr);gap:20px}.source-card-grid{grid-template-columns:1fr}.product-hero .catalog-form-grid{grid-template-columns:1fr}}
@media(max-width:680px){.product-hero,#product-dialog .product-hero{grid-template-columns:1fr;gap:22px;padding:18px}#product-dialog .product-hero{padding:0}.product-photo-column{max-width:100%}.product-photo-column .image-strip figure:first-child{width:150px}.product-photo-column .image-strip{align-items:start}.product-hero .catalog-form-grid{grid-template-columns:1fr}.detail-topbar{gap:12px}.detail-topbar h1{font-size:22px}.detail-topbar>span{width:100%}.product-detail-page .dialog-footer{bottom:0;position:static}.product-detail-page .dialog-footer button{width:100%;min-height:48px}.source-summary{padding:18px}.catalog-field select{font-size:16px}.card-workflow .primary-button{flex:1}.stage-dialog .compare-choice{align-items:flex-start}.stage-dialog .compare-choice input{flex-shrink:0}.boc-panel{padding:16px}}

.catalog-status:empty{display:none}.detail-save-basic{margin-top:12px;font-size:14px;min-height:44px}.product-hero .text-button{margin-right:10px;min-height:44px}
/* 轻量任务与测算闭环。 */
.estimate-context{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:16px 20px;margin-bottom:20px;background:#f7eeef;border:1px solid #ead7df;border-radius:12px;font-size:14px;color:#77515e}.estimate-context span{width:100%;font-size:13px}.estimate-context a{margin-left:auto;color:#89596a}.estimate-save-area{margin:20px 0}.estimate-save-area button{width:100%;min-height:48px;font-size:15px}.estimate-save-area p{font-size:13px;line-height:1.8;color:#77565d;margin-top:10px}.stage-task{font-size:16px;line-height:1.9;color:#70534f;background:#faf1f0;padding:18px;border-radius:12px}.stage-dialog details{margin:18px 0;font-size:14px;color:#765d62}.stage-dialog summary{min-height:44px;cursor:pointer;padding:10px 0}.detail-prices{padding:22px;margin:20px 0}.detail-prices .catalog-form-grid{margin:20px 0}.detail-prices>button{margin-bottom:18px}.detail-prices details{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.estimate-history-item{padding:14px 0;border-top:1px solid #ecdfda}.estimate-history-item dl>div{display:flex;gap:15px;justify-content:space-between}.estimate-history-item dd{margin:0}.reference-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:12px 0}.reference-actions span{font-size:13px;color:#7d645b}.official-url{display:block;width:100%;font-size:14px;padding:12px;background:#fff;border:1px solid #e8d8d8;border-radius:8px}.catalog-list>.empty-card{padding:28px}.catalog-list>.empty-card h2{font-size:20px}.catalog-list>.empty-card .empty-icon{display:none}.demo-banner{padding:12px 20px;background:#f2e1e8;color:#74465b;font-size:14px;line-height:1.9;position:relative;z-index:8}.demo-banner a{text-decoration:underline;margin-left:12px}body:has(.demo-banner:not([hidden])) .sidebar{top:65px}.comparison-table td:before{display:none}
@media(max-width:680px){body{padding-bottom:calc(146px + env(safe-area-inset-bottom))}.sidebar{padding:14px 16px 10px}.sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:20;display:flex;background:#fffdfb;border-top:1px solid #ebdedc;box-shadow:0 -3px 16px #6348540a;padding:5px 6px calc(5px + env(safe-area-inset-bottom));gap:4px}.sidebar .nav-link{font-size:11px;min-height:58px}.mobile-summary{bottom:calc(70px + env(safe-area-inset-bottom));padding:10px 12px;gap:6px;z-index:10}.mobile-summary a{font-size:12px;padding:6px}.mobile-summary strong{font-size:16px}.mobile-summary>button{min-height:44px;border-radius:8px;background:var(--accent);color:#fff;font-size:13px;padding:8px 12px;flex-shrink:0}.mobile-summary:has(button:not([hidden])) a{display:none}.estimate-context{padding:14px;font-size:14px}.estimate-context a{margin-left:0}.page-heading p{font-size:14px;max-width:none}.field label{font-size:14px}.primary-card .section-description,.section-description{font-size:13px;line-height:1.9}.product-card .sku{font-size:13px}.product-buttons button{font-size:14px;min-height:44px}.catalog-dialog{max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);margin:auto}.catalog-dialog>header{position:sticky;top:-18px;background:#fffcfa;z-index:2;padding-top:10px}.source-editor .catalog-form-grid{grid-template-columns:1fr}.product-facts>div{font-size:14px}.stage-task{font-size:15px}.card-workflow{gap:8px}.comparison-wrap{overflow:visible;padding:12px}.comparison-table{min-width:0;display:block}.comparison-table thead{display:none}.comparison-table tbody,.comparison-table tr{display:block}.comparison-table tr{padding:14px 0;border-bottom:1px solid #e5d9d5}.comparison-table th,.comparison-table td{display:block;min-width:0;max-width:none;width:100%;padding:8px;border:0}.comparison-table td:before{display:block;content:attr(data-label);color:#80655d;font-size:13px;margin-bottom:5px}.mini-cost{min-width:0}.demo-banner{padding:10px 16px;font-size:13px}.detail-prices{padding:18px}.detail-topbar>span{font-size:13px}.source-heading h2{font-size:19px}.brand{margin-bottom:0}.topbar{font-size:12px}.primary-button,.secondary-button{min-height:44px}.catalog-toolbar{grid-template-columns:1fr}.catalog-search{grid-column:auto}}
.risk-summary,.risk-save-bar,.risk-history{padding:22px;margin:20px 0}.risk-summary h2{font-size:21px}.risk-summary p,.risk-check-card p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.risk-summary button{margin-right:12px}.risk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.risk-check-card{padding:22px;min-width:0}.risk-card-heading{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:15px}.risk-card-heading h2{font-size:18px}.risk-state{font-size:13px;padding:6px 10px;border-radius:8px;background:#f1eae7;color:#715c55}.risk-check-card a{font-size:14px;line-height:1.9;display:inline-block;min-height:44px;padding:10px 0;overflow-wrap:anywhere}.risk-check-card details,.risk-history details{font-size:14px;line-height:1.9;margin:12px 0}.risk-check-card summary,.risk-history summary{cursor:pointer;min-height:44px;padding:10px 0;color:#815767}.risk-check-card .catalog-field{margin:16px 0}.risk-save-bar .compare-choice{font-size:14px;line-height:1.8;align-items:flex-start;margin:18px 0}.risk-save-bar input[type=checkbox]{flex-shrink:0}#risk-question-slot{padding:18px;background:#fcf6f4;border-radius:12px;margin:18px 0}#risk-question-slot button{margin-top:16px}.risk-history p{font-size:14px;line-height:1.9}.risk-history a{overflow-wrap:anywhere}
@media(max-width:900px){.risk-grid{grid-template-columns:1fr}}
@media(max-width:680px){.risk-summary,.risk-save-bar,.risk-history,.risk-check-card{padding:18px}.risk-save-bar>button{width:100%}.risk-summary h2{font-size:19px}}
