﻿
:root{
  --brand:#0f6f78; --brand-dark:#0a4e55; --brand-soft:#e7f5f3;
  --orange:#ef7d16; --orange-soft:#fff3e6;
  --ink:#17292b; --muted:#60777a; --line:#d8e5e6; --bg:#eef4f4; --card:#fff;
  --danger:#b42318; --green:#22c55e; --shadow:0 14px 34px rgba(10,78,85,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.5}
button,input,select,textarea{font:inherit}
.header{position:sticky;top:0;z-index:6500;background:rgba(255,255,255,.97);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{max-width:1800px;margin:0 auto;padding:14px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:13px}.mark{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,var(--brand),#4ca6a9);display:grid;place-items:center;color:#fff;font-size:26px;font-weight:1000}
.brand h1{margin:0;font-size:23px;color:var(--brand-dark)}.brand p{margin:3px 0 0;color:var(--muted);font-size:13px}
.header-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.save-chip{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.save-dot{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px #dcfce7}
.btn{border:0;border-radius:12px;padding:11px 16px;background:var(--brand);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(15,111,120,.14);white-space:nowrap}
.btn:hover{filter:brightness(.98)}.btn.secondary{background:#fff;color:var(--brand-dark);border:1px solid var(--line);box-shadow:none}.btn.orange{background:var(--orange)}.btn.ghost{background:transparent;color:var(--brand-dark);border:1px dashed var(--brand);box-shadow:none}.btn.danger{background:#fff;color:var(--danger);border:1px solid #ffd1cc;box-shadow:none}.btn.small{padding:8px 11px;border-radius:10px;font-size:13px}
.app{max-width:1800px;margin:0 auto;padding:18px 26px 96px}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:18px}
.card-head{padding:16px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#fff,#fbfdfd)}
.card-head h2,.card-head h3{margin:0;color:var(--brand-dark);font-size:21px}.card-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.pill{display:inline-flex;align-items:center;border-radius:999px;background:var(--brand-soft);color:var(--brand-dark);font-weight:900;padding:7px 12px;font-size:12px}
.basic-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1.2fr;gap:12px;padding:18px 20px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted);font-weight:800}
.field input,.field select,.field textarea{height:45px;border:1px solid var(--line);border-radius:12px;padding:9px 12px;background:#fff;color:var(--ink);outline:none}.field textarea{height:72px;resize:vertical;line-height:1.5}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(15,111,120,.08)}
.wide2{grid-column:span 2}.wide3{grid-column:span 3}.wide6{grid-column:span 6}

/* Top sticky quote tray */
.quote-dock{position:sticky;top:77px;z-index:90;margin-bottom:18px;background:rgba(238,244,244,.95);backdrop-filter:blur(10px);padding-bottom:12px}
.quote-dock-inner{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);overflow:hidden}
.dock-main{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.dock-title{display:flex;align-items:center;gap:10px;min-width:0}.dock-title h2{margin:0;color:var(--brand-dark);font-size:20px}.dock-title span{color:var(--muted);font-size:13px}
.metrics{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.metric{background:#f4faf9;border:1px solid var(--line);border-radius:14px;padding:8px 12px;min-width:116px}.metric span{display:block;color:var(--muted);font-size:12px}.metric b{font-size:18px;color:var(--brand-dark)}
.metric.total{background:var(--brand-dark);border-color:var(--brand-dark)}.metric.total span{color:#bfe4e4}.metric.total b{color:#fff4e8;font-size:22px}
.selected-strip{padding:12px 14px;display:flex;align-items:center;gap:10px;overflow-x:auto;background:#fbfdfd}.selected-title{font-weight:1000;color:var(--brand-dark);white-space:nowrap}.selected-chips{display:flex;gap:8px;align-items:center;overflow-x:auto;flex:1}.selected-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 10px;white-space:nowrap;font-size:13px}.selected-chip b{color:var(--brand-dark)}.selected-chip .money{color:var(--orange);font-weight:1000}.selected-empty{color:var(--muted);font-size:13px}
.dock-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}

/* Main workspace: left category + right products */
.workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}
.category-side{position:sticky;top:234px;max-height:calc(100vh - 252px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:14px}
.side-title{padding:4px 4px 12px}.side-title h3{margin:0;color:var(--brand-dark);font-size:21px}.side-title p{margin:5px 0 0;color:var(--muted);font-size:13px}
.cat-list{display:flex;flex-direction:column;gap:10px}.cat-btn{border:1px solid var(--line);background:#fff;border-radius:16px;padding:14px;text-align:left;cursor:pointer;color:#284143;font-weight:1000;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}
.cat-btn b{font-size:17px;display:block}.cat-btn small{display:block;font-weight:700;color:var(--muted);font-size:12px;line-height:1.25;margin-top:3px}.cat-btn span{color:var(--muted);font-size:12px;font-weight:900;background:#f1f6f6;border-radius:999px;padding:4px 8px}
.cat-btn.active{border-color:var(--brand);background:linear-gradient(90deg,#e9f6f3,#fff);color:var(--brand-dark);box-shadow:0 8px 18px rgba(15,111,120,.10)}
.product-area{min-width:0}.product-toolbar{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:14px 16px;margin-bottom:16px;display:flex;gap:12px;align-items:center}
.search{flex:1;min-width:240px;height:48px;border:1px solid var(--line);border-radius:14px;padding:0 14px;font-size:16px;background:#fff}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-title h3{margin:0;color:var(--brand-dark);font-size:22px}.section-title p{margin:3px 0 0;color:var(--muted);font-size:13px}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.preset{border:1px solid #f2d5b8;background:#fffaf5;border-radius:18px;padding:14px;cursor:pointer;min-height:88px}.preset strong{display:block;color:#a04f04;font-size:15px}.preset p{margin:6px 0 0;color:#7a6451;font-size:13px;line-height:1.45}
.items-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.item-card{min-height:210px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 4px 16px rgba(0,0,0,.035);padding:16px;display:flex;flex-direction:column;gap:12px;cursor:default}
.item-card:hover{border-color:#8bc6c7;box-shadow:0 12px 26px rgba(15,111,120,.12);transform:translateY(-1px)}
.item-head{display:flex;justify-content:space-between;gap:12px}.item-name{font-weight:1000;font-size:18px;color:#203738;line-height:1.3}.item-cat{display:inline-flex;background:#f3f7f7;color:var(--brand-dark);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900;margin-top:8px}.item-note{color:var(--muted);font-size:13px;line-height:1.55;flex:1}
.price-box{text-align:right;white-space:nowrap}.price{display:block;font-weight:1000;color:var(--orange);font-size:22px}.unit{font-size:12px;color:var(--muted)}.qty-tip{display:inline-flex;margin-top:6px;background:var(--orange-soft);color:#a04f04;border:1px solid #f2d5b8;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:900}.item-actions{display:flex;gap:8px;align-items:center}.quick-qty{width:86px;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 9px;text-align:center}.item-actions .btn{flex:1}.empty{padding:44px 18px;text-align:center;color:var(--muted);grid-column:1/-1}
.quote-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:#fff}.quote-table{width:100%;border-collapse:collapse;min-width:1060px}.quote-table th{position:sticky;top:0;background:#e9f4f2;color:#155f66;font-size:13px;text-align:left;padding:12px;border-bottom:1px solid var(--line);z-index:2}.quote-table td{padding:10px;border-bottom:1px solid #eef3f3;vertical-align:top;font-size:14px}.quote-table input,.quote-table textarea{width:100%;border:1px solid #dfe8e8;border-radius:10px;padding:8px 9px;background:#fff;outline:none;font-size:14px}.quote-table textarea{height:50px;resize:vertical;line-height:1.45}.quote-table .num{text-align:right}.quote-table .amount{font-weight:1000;color:var(--orange);text-align:right;white-space:nowrap;font-size:16px}.row-tools{display:flex;gap:6px;flex-wrap:wrap}.soft-warn{background:#fffaf5}
.summary{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:18px;margin-top:18px}.checks{display:flex;flex-direction:column;gap:10px}.check-item{background:#f8fbfb;border:1px solid var(--line);border-radius:14px;padding:12px;color:#45585a;line-height:1.6}.check-item.warn{border-color:#fed7aa;background:#fff7ed;color:#9a3412}
.totals{background:var(--brand-dark);color:#fff;border-radius:22px;padding:18px;box-shadow:var(--shadow)}.total-row{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.18)}.total-row input{width:90px;border:0;border-radius:9px;padding:7px;text-align:right}.grand{font-size:34px;font-weight:1000;color:#fff4e8;text-align:right;margin-top:12px}
.history{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.history-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:#fff}.history-card strong{display:block;color:var(--brand-dark);margin-bottom:5px;font-size:15px}.history-card p{margin:4px 0;color:var(--muted);font-size:13px}.history-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.footer-actions{position:sticky;bottom:0;background:rgba(238,244,244,.95);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:12px 18px;z-index:70}.footer-inner{max-width:1800px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px}.note{color:var(--muted);font-size:13px;line-height:1.7}.print-area{display:none}.quote-stamp{font-size:13px;color:var(--muted)}
@media(max-width:1500px){.items-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.problem-grid{grid-template-columns:repeat(2,1fr)}.basic-grid{grid-template-columns:repeat(4,1fr)}.wide2,.wide3{grid-column:span 2}.wide6{grid-column:span 4}}
@media(max-width:1100px){.workspace{grid-template-columns:1fr}.category-side{position:sticky;top:180px;max-height:none;overflow:visible}.cat-list{display:flex;flex-direction:row;overflow-x:auto}.cat-btn{min-width:150px}.summary{grid-template-columns:1fr}.basic-grid{grid-template-columns:repeat(2,1fr)}.wide2,.wide3,.wide6{grid-column:span 2}.history{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header-inner{padding:12px}.brand h1{font-size:18px}.brand p{display:none}.mark{width:42px;height:42px;font-size:23px}.app{padding:12px 12px 92px}.quote-dock{top:67px}.dock-main{grid-template-columns:1fr}.dock-title span{display:none}.metrics{display:grid;grid-template-columns:1fr 1fr}.metric.total{grid-column:1/-1}.selected-title{display:none}.selected-chip{font-size:12px;padding:6px 8px}.basic-grid{grid-template-columns:1fr;padding:14px}.wide2,.wide3,.wide6{grid-column:auto}.product-toolbar{flex-direction:column;align-items:stretch}.search{min-width:100%}.problem-grid,.items-wrap{grid-template-columns:1fr}.footer-inner{align-items:flex-start;flex-direction:column}.history{grid-template-columns:1fr}.header-actions .btn.secondary{display:none}}
@media print{
  @page{size:A4;margin:12mm} body{background:#fff;font-size:12px} body *{visibility:hidden!important}.print-area,.print-area *{visibility:visible!important}.print-area{display:block!important;position:absolute;left:0;top:0;width:100%;color:#000}.print-sheet{padding:0}.print-title{text-align:center;font-size:22px;font-weight:900;margin-bottom:8px;color:#0f5f66}.print-sub{display:flex;justify-content:space-between;border-bottom:2px solid #0f5f66;padding-bottom:8px;margin-bottom:10px}.print-info{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 12px;margin:10px 0}.print-table{width:100%;border-collapse:collapse}.print-table th,.print-table td{border:1px solid #777;padding:6px;vertical-align:top}.print-table th{background:#e9f4f2;color:#0f5f66}.print-total{margin-top:10px;margin-left:auto;width:280px}.print-total td{border:1px solid #777;padding:6px}.print-note{margin-top:10px;line-height:1.7;color:#333}.no-print{display:none!important}
}

/*：项目改成一行一行，减少卡片混乱感 */
.product-list-head{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) minmax(300px,2fr) 140px 210px;
  gap:14px;
  align-items:center;
  background:#e9f4f2;
  color:#155f66;
  border:1px solid var(--line);
  border-radius:14px 14px 0 0;
  padding:12px 16px;
  font-size:13px;
  font-weight:1000;
  margin-bottom:0;
}
.items-wrap{
  display:flex!important;
  flex-direction:column;
  gap:0!important;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 18px 18px;
  overflow:hidden;
  background:#fff;
}
.item-card{
  min-height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1.35fr) minmax(300px,2fr) 140px 210px;
  gap:14px!important;
  align-items:center!important;
  border:0!important;
  border-bottom:1px solid #eef3f3!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:14px 16px!important;
  background:#fff!important;
}
.item-card:nth-child(2n){background:#fbfdfd!important}
.item-card:hover{
  transform:none!important;
  background:#f6fbfb!important;
  border-color:#eef3f3!important;
  box-shadow:none!important;
}
.item-card:last-child{border-bottom:0!important}
.item-head{display:contents!important}
.item-head > div:first-child{grid-column:1}
.item-name{font-size:16px!important;line-height:1.35}
.item-cat{margin-top:6px}
.item-note{grid-column:2;font-size:13px;line-height:1.55;color:var(--muted)}
.price-box{grid-column:3;text-align:right}
.price{font-size:20px!important}
.item-actions{grid-column:4;display:grid!important;grid-template-columns:76px 1fr;gap:8px!important}
.quick-qty{width:100%!important}
.item-actions .btn{width:100%}
.qty-tip{display:inline-flex;margin-left:0;margin-top:6px}
@media(max-width:900px){
  .product-list-head{display:none}
  .items-wrap{border-top:1px solid var(--line);border-radius:18px}
  .item-card{
    grid-template-columns:1fr!important;
    gap:10px!important;
    border-radius:0!important;
  }
  .item-head{display:flex!important}
  .item-head > div:first-child{grid-column:auto}
  .item-note,.price-box,.item-actions{grid-column:auto}
  .price-box{text-align:left}
  .item-actions{grid-template-columns:90px 1fr!important}
}


/*：清晰表格式优化 */
.preset-details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  margin-bottom:14px;
  overflow:hidden;
}
.preset-details summary{
  cursor:pointer;
  padding:13px 16px;
  font-weight:1000;
  color:var(--brand-dark);
  background:#fbfdfd;
}
.preset-details .problem-grid{
  padding:14px;
  margin:0;
}

.selected-strip{
  display:block!important;
  padding:0!important;
  background:#fff!important;
}
.selected-title{
  display:flex!important;
  padding:10px 14px 0;
  font-size:14px;
}
.selected-chips{
  display:block!important;
  overflow:auto!important;
  max-height:172px;
  padding:10px 14px 14px;
}
.selected-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:720px;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}
.selected-table th{
  background:#e9f4f2;
  color:#155f66;
  font-size:13px;
  text-align:left;
  padding:9px 10px;
  border-bottom:1px solid var(--line);
}
.selected-table td{
  padding:9px 10px;
  border-bottom:1px solid #eef3f3;
  font-size:14px;
}
.selected-table tr:last-child td{border-bottom:0}
.selected-table .s-name{font-weight:900;color:#203738}
.selected-table .s-money{font-weight:1000;color:var(--orange);text-align:right;white-space:nowrap}
.selected-table .s-num{text-align:center;white-space:nowrap;color:#385153}
.selected-empty{
  display:block;
  padding:20px 14px;
  text-align:center;
  background:#f8fbfb;
  border:1px dashed var(--line);
  border-radius:14px;
}

.category-side{
  top:252px!important;
}
.cat-btn{
  min-height:62px;
  padding:13px 14px!important;
}
.cat-btn b{font-size:16px!important}
.cat-btn small{font-size:12px!important}
.product-toolbar{
  position:sticky;
  top:252px;
  z-index:50;
}
.product-list-head{
  grid-template-columns:minmax(240px,1.15fr) minmax(360px,2fr) 128px 190px!important;
  border-radius:16px 16px 0 0!important;
  padding:13px 18px!important;
  font-size:14px!important;
}
.items-wrap{
  border-radius:0 0 18px 18px!important;
}
.item-card{
  grid-template-columns:minmax(240px,1.15fr) minmax(360px,2fr) 128px 190px!important;
  padding:15px 18px!important;
  min-height:76px!important;
}
.item-name{
  font-size:17px!important;
}
.item-cat{
  background:transparent!important;
  padding:0!important;
  margin-top:4px!important;
  color:#6a7d80!important;
}
.item-note{
  color:#445a5d!important;
}
.price{
  font-size:21px!important;
}
.unit{
  font-size:13px!important;
}
.item-actions{
  grid-template-columns:72px 1fr!important;
}
.quick-qty{
  height:42px!important;
}
.item-actions .btn{
  height:42px!important;
}
.card-head h3,.card-head h2{
  letter-spacing:.2px;
}
.quote-table th{
  font-size:14px!important;
  padding:12px 14px!important;
}
.quote-table td{
  font-size:14px!important;
  padding:10px 12px!important;
}
@media(max-width:1100px){
  .product-toolbar{position:relative;top:auto}
  .category-side{top:180px!important}
}
@media(max-width:900px){
  .selected-table{min-width:620px}
  .product-list-head{display:none!important}
  .item-card{
    grid-template-columns:1fr!important;
    gap:10px!important;
    min-height:auto!important;
  }
}


/*：清晰报价台，产品区改为真正表格，顶部已选更紧凑 */
.quote-dock{top:74px!important}
.quote-dock-inner{border-radius:18px!important}
.dock-main{padding:12px 16px!important}
.dock-title h2{font-size:19px!important}
.selected-strip{padding:0!important;background:#fff!important}
.selected-title{display:none!important}
.selected-chips{display:block!important;overflow:auto!important;max-height:126px!important;padding:10px 14px 12px!important}
.selected-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.selected-table th{background:#e9f4f2;color:#155f66;font-size:13px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.selected-table td{padding:8px 10px;border-bottom:1px solid #eef3f3;font-size:14px}
.selected-table tr:last-child td{border-bottom:0}
.selected-table .s-name{font-weight:900;color:#203738}
.selected-table .s-money{font-weight:1000;color:var(--orange);text-align:right;white-space:nowrap}
.selected-table .s-num{text-align:center;white-space:nowrap;color:#385153}
.selected-empty{display:block;padding:14px;text-align:center;background:#f8fbfb;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}

.category-side{top:228px!important;padding:12px!important}
.cat-btn{min-height:54px!important;padding:12px 13px!important;border-radius:13px!important}
.cat-btn b{font-size:16px!important}
.cat-btn small{font-size:12px!important;line-height:1.2!important}
.product-toolbar{top:228px!important;border-radius:18px!important;padding:12px 14px!important;margin-bottom:12px!important}
.search{height:44px!important}
.current-cat-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px 16px 0 0;padding:13px 16px;border-bottom:0}
.current-cat-bar b{display:block;color:var(--brand-dark);font-size:20px}
.current-cat-bar span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.current-cat-bar em{font-style:normal;background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;padding:6px 10px;font-weight:1000;font-size:13px;white-space:nowrap}
.product-table-wrap{display:block!important;border:1px solid var(--line)!important;border-radius:0 0 18px 18px!important;overflow:auto!important;background:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,.03)}
.product-table{width:100%;border-collapse:collapse;min-width:980px}
.product-table th{position:sticky;top:0;background:#e9f4f2;color:#155f66;text-align:left;font-size:14px;font-weight:1000;padding:12px 14px;border-bottom:1px solid var(--line);z-index:2}
.product-table td{padding:12px 14px;border-bottom:1px solid #eef3f3;vertical-align:middle;font-size:14px}
.product-table tr:nth-child(even) td{background:#fbfdfd}
.product-table tr:hover td{background:#f3faf9}
.product-name{font-weight:1000;color:#203738;font-size:16px;line-height:1.3}
.product-sub{margin-top:4px;color:#6b8083;font-size:12px}
.product-note{color:#43595c;line-height:1.55}
.product-price{text-align:right;white-space:nowrap}
.product-price b{display:block;color:var(--orange);font-size:20px}
.product-price span{color:var(--muted);font-size:12px}
.product-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.product-actions input{width:78px;height:40px;border:1px solid var(--line);border-radius:10px;text-align:center;padding:0 8px}
.qty-tip{display:inline-flex;margin-top:6px;background:var(--orange-soft);color:#a04f04;border:1px solid #f2d5b8;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}
.items-wrap .empty{padding:38px 18px;text-align:center;color:var(--muted)}
.problem-grid{grid-template-columns:repeat(3,1fr)!important}
.preset{min-height:auto!important;padding:12px!important}
.quote-table th{font-size:14px!important}
.quote-table td{font-size:14px!important}
@media(max-width:1100px){
  .category-side{top:180px!important}
  .product-toolbar{position:relative!important;top:auto!important}
  .product-table{min-width:850px}
}
@media(max-width:760px){
  .selected-chips{max-height:112px!important}
  .product-table{min-width:780px}
  .product-table th,.product-table td{padding:10px 11px}
  .current-cat-bar b{font-size:18px}
  .problem-grid{grid-template-columns:1fr!important}
}


/*检查修正：避免置顶报价表高度变化后遮挡左侧分类和搜索栏 */
.category-side{top:292px!important}
.product-toolbar{top:292px!important}
.selected-chips{max-height:118px!important}
@media(max-width:1100px){
  .category-side{top:196px!important}
  .product-toolbar{position:relative!important;top:auto!important}
}
@media(max-width:760px){
  .quote-dock{top:67px!important}
  .selected-chips{max-height:104px!important}
  .category-side{top:188px!important}
}
/*检查修正：产品表格在窄屏允许横向滚动但不挤乱 */
.product-table-wrap{overflow-x:auto!important}
.quote-table-wrap{overflow-x:auto!important}
/*检查修正：顶部导出按钮不要在小屏挤压金额 */
@media(max-width:760px){
  .dock-actions{display:block}
  .dock-actions .btn{margin-top:8px;width:100%}
}


/* Mac报价台：更宽、更精致、更有互动感 */
body{
  background:
    radial-gradient(circle at 18% 0%, rgba(239,125,22,.10), transparent 28%),
    radial-gradient(circle at 86% 8%, rgba(15,111,120,.13), transparent 30%),
    #eef4f4!important;
}
.app{max-width:1960px!important;padding-left:18px!important;padding-right:18px!important}
.card,.quote-dock-inner,.category-side,.product-toolbar,.product-table-wrap,.totals{
  box-shadow:0 18px 44px rgba(10,78,85,.09), 0 1px 0 rgba(255,255,255,.75) inset!important;
}
.card,.quote-dock-inner,.category-side,.product-toolbar,.current-cat-bar,.product-table-wrap{
  border-color:rgba(216,229,230,.85)!important;
}
.quote-dock{top:74px!important;padding-bottom:14px!important}
.quote-dock-inner{border-radius:24px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px)}
.dock-main{padding:14px 18px!important;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,252,.92))}
.dock-title h2::before,.card-head h3::before,.card-head h2::before,.side-title h3::before{
  content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#ff5f57;margin-right:8px;box-shadow:16px 0 #ffbd2e,32px 0 #28c840;vertical-align:1px;
}
.metrics{gap:8px!important}
.metric{min-width:104px!important;padding:7px 10px!important;border-radius:13px!important}
.metric b{font-size:17px!important}.metric.total b{font-size:20px!important}
.selected-strip{display:block!important;background:linear-gradient(180deg,#ffffff,#fbfdfd)!important;padding:0!important}
.selected-title{display:none!important}
.selected-chips{
  display:block!important;
  overflow:visible!important;
  max-height:none!important;
  padding:12px 14px 16px!important;
}
.selected-table{
  width:100%;min-width:760px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);
  border-radius:16px;overflow:hidden;background:#fff;
}
.selected-table th{background:#edf7f6!important;color:#155f66!important;padding:9px 11px!important;font-size:13px!important}
.selected-table td{padding:9px 11px!important;font-size:14px!important;border-bottom:1px solid #eef3f3!important}
.selected-table tr:hover td{background:#f7fbfb}
.selected-empty{padding:18px!important;border-radius:16px!important}

.workspace{
  grid-template-columns:218px minmax(0,1fr)!important;
  gap:16px!important;
}
.category-side{
  top:310px!important;
  border-radius:24px!important;
  padding:12px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(12px);
}
.side-title{padding:6px 6px 12px!important}
.cat-list{gap:8px!important}
.cat-btn{
  min-height:54px!important;
  padding:12px!important;
  border-radius:14px!important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cat-btn:hover{transform:translateX(3px);box-shadow:0 8px 22px rgba(15,111,120,.08)}
.cat-btn.active{background:linear-gradient(135deg,#e9f6f3,#ffffff)!important;border-color:var(--brand)!important}
.cat-btn b{font-size:15px!important}
.cat-btn small{font-size:11.5px!important}

.product-toolbar{
  position:relative!important;
  top:auto!important;
  border-radius:22px!important;
  padding:12px 14px!important;
  margin-bottom:14px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(12px);
}
.search{height:46px!important;border-radius:14px!important;font-size:15px!important}
.current-cat-bar{
  border-radius:22px 22px 0 0!important;
  padding:15px 18px!important;
  background:linear-gradient(180deg,#fff,#fbfdfd)!important;
}
.current-cat-bar b{font-size:21px!important}
.product-table-wrap{
  border-radius:0 0 22px 22px!important;
  overflow-x:auto!important;
  background:#fff!important;
}
.product-table{
  min-width:1060px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.product-table th{
  position:sticky;top:0;z-index:2;
  background:#edf7f6!important;
  padding:13px 16px!important;
  font-size:14px!important;
  border-bottom:1px solid var(--line)!important;
}
.product-table td{
  padding:14px 16px!important;
  border-bottom:1px solid #edf2f2!important;
}
.product-table tr{transition:background .16s ease, box-shadow .16s ease}
.product-table tr:hover td{background:#f5fbfa!important}
.product-name{font-size:16.5px!important;display:flex;align-items:center;gap:9px}
.row-index{
  display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:9px;background:#eef6f6;color:#0f6f78;font-size:12px;font-weight:1000;
}
.product-sub{font-size:12px!important;color:#74878a!important;margin-left:35px!important}
.product-note{font-size:13.5px!important;color:#3f5659!important}
.product-price b{font-size:21px!important}
.product-actions{justify-content:flex-end!important}
.product-actions input{height:42px!important;border-radius:12px!important;background:#fbfdfd}
.add-btn{
  background:linear-gradient(135deg,#0f6f78,#0a4e55)!important;
  border-radius:12px!important;
  transition:transform .16s ease, box-shadow .16s ease;
}
.add-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,111,120,.18)}

.quote-section.card{
  border-radius:26px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.94)!important;
}
.quote-section .card-head{
  background:linear-gradient(180deg,#ffffff,#f7fbfb)!important;
  padding:17px 20px!important;
}
.quote-table-wrap{
  border:0!important;
  border-top:1px solid var(--line)!important;
  border-radius:0!important;
  background:#fff!important;
  overflow-x:auto!important;
}
.quote-table{min-width:1280px!important;border-collapse:separate!important;border-spacing:0!important}
.quote-table th{
  background:#edf7f6!important;
  color:#155f66!important;
  padding:14px 15px!important;
  font-size:14px!important;
}
.quote-table td{
  padding:12px 14px!important;
  border-bottom:1px solid #eef3f3!important;
  background:#fff;
}
.quote-table tr:nth-child(even) td{background:#fbfdfd}
.quote-table tr:hover td{background:#f5fbfa!important}
.quote-table input,.quote-table textarea{
  border:1px solid #e1ebec!important;
  border-radius:13px!important;
  background:#fff!important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.quote-table input:focus,.quote-table textarea:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 4px rgba(15,111,120,.08)!important;
  background:#fcffff!important;
}
.amount-pill{
  display:inline-flex;justify-content:flex-end;min-width:92px;
  background:var(--orange-soft);color:var(--orange);border:1px solid #f2d5b8;
  border-radius:999px;padding:7px 10px;font-weight:1000;
}
.mac-mini{border-radius:999px!important;padding:7px 10px!important}
.row-tools{justify-content:flex-start!important}
.preset-details{
  border-radius:20px!important;
  background:rgba(255,255,255,.92)!important;
}
.preset-details summary{
  background:linear-gradient(180deg,#fff,#fbfdfd)!important;
  font-size:14px!important;
}
@media(max-width:1100px){
  .workspace{grid-template-columns:1fr!important}
  .category-side{top:196px!important}
  .cat-list{display:flex!important;flex-direction:row!important;overflow-x:auto!important}
  .cat-btn{min-width:144px!important}
}
@media(max-width:760px){
  .app{padding-left:10px!important;padding-right:10px!important}
  .quote-dock{top:67px!important}
  .selected-table{min-width:640px!important}
  .product-table{min-width:900px!important}
  .quote-table{min-width:1040px!important}
  .dock-actions{display:block!important}
  .dock-actions .btn{width:100%;margin-top:8px}
}


/* Apple交互感：不是照搬Mac窗口，而是用克制留白、轻动效、柔和层级 */
:root{
  --apple-bg:#f5f7f8;
  --apple-card:rgba(255,255,255,.86);
  --apple-card-solid:#ffffff;
  --apple-line:rgba(15,111,120,.13);
  --apple-shadow:0 18px 48px rgba(24,39,42,.08);
  --apple-shadow-hover:0 24px 64px rgba(24,39,42,.13);
  --apple-blue:#0a84ff;
  --apple-green:#30d158;
  --apple-orange:#ff9f0a;
}
body{
  background:
    radial-gradient(circle at 12% -8%, rgba(10,132,255,.10), transparent 30%),
    radial-gradient(circle at 88% 4%, rgba(48,209,88,.08), transparent 28%),
    linear-gradient(180deg,#f8fafb 0%,#eef4f4 100%)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.header{
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:saturate(180%) blur(24px)!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.header-inner{max-width:1880px!important;padding:14px 30px!important}
.mark{
  background:linear-gradient(145deg,#0f6f78,#47b5ad)!important;
  border-radius:18px!important;
  box-shadow:0 14px 30px rgba(15,111,120,.18)!important;
}
.brand h1{font-size:22px!important;letter-spacing:-.3px!important}
.brand p{font-size:13px!important;color:#708589!important}
.app{max-width:1880px!important;padding:20px 30px 104px!important}

/* 彻底取消上一版类似Mac窗口红黄绿点 */
.dock-title h2::before,.card-head h3::before,.card-head h2::before,.side-title h3::before{
  content:none!important;
}

/* 通用面板：像 Apple 系统面板，干净、半透明、有空气感 */
.card,.quote-dock-inner,.category-side,.product-toolbar,.current-cat-bar,.product-table-wrap,.totals{
  background:var(--apple-card)!important;
  backdrop-filter:saturate(180%) blur(22px)!important;
  border:1px solid var(--apple-line)!important;
  border-radius:28px!important;
  box-shadow:var(--apple-shadow)!important;
}
.card-head{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,252,252,.78))!important;
  padding:18px 22px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.card-head h2,.card-head h3,.dock-title h2,.side-title h3,.current-cat-bar b{
  letter-spacing:-.45px!important;
  color:#102c30!important;
}
.card-head p,.dock-title span,.side-title p,.current-cat-bar span{
  color:#74878a!important;
}

/* 顶部已选报价：完整展示，不折叠，但做成轻盈清单 */
.quote-dock{
  top:76px!important;
  padding-bottom:18px!important;
  background:rgba(245,247,248,.74)!important;
  backdrop-filter:saturate(180%) blur(20px)!important;
}
.quote-dock-inner{
  overflow:hidden!important;
  border-radius:30px!important;
}
.dock-main{
  padding:16px 18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.72))!important;
}
.dock-title h2{font-size:21px!important}
.metrics{gap:10px!important}
.metric{
  border-radius:18px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(15,111,120,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  min-width:112px!important;
}
.metric.total{
  background:linear-gradient(145deg,#0f6f78,#0a4e55)!important;
  border:0!important;
}
.selected-strip{
  background:rgba(255,255,255,.70)!important;
  padding:0!important;
}
.selected-chips{
  overflow:visible!important;
  max-height:none!important;
  padding:14px 16px 18px!important;
}
.selected-table{
  border:0!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.10)!important;
  overflow:hidden!important;
}
.selected-table th{
  background:rgba(15,111,120,.07)!important;
  color:#2a5d64!important;
  padding:10px 12px!important;
  font-size:12.5px!important;
  letter-spacing:.1px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.selected-table td{
  padding:10px 12px!important;
  border-bottom:1px solid rgba(15,111,120,.07)!important;
  transition:background .18s ease!important;
}
.selected-table tr:hover td{background:rgba(10,132,255,.035)!important}
.selected-table .s-name{font-weight:850!important;color:#183436!important}
.selected-table .s-money{color:#ff7a00!important}
.selected-empty{
  border:1px dashed rgba(15,111,120,.18)!important;
  background:rgba(255,255,255,.62)!important;
  border-radius:22px!important;
  padding:22px!important;
}

/* 主体布局：左窄右宽，右侧才是主操作区 */
.workspace{
  grid-template-columns:214px minmax(0,1fr)!important;
  gap:20px!important;
}
.category-side{
  top:324px!important;
  padding:14px!important;
  border-radius:30px!important;
}
.side-title{padding:8px 8px 14px!important}
.side-title h3{font-size:20px!important}
.cat-list{gap:8px!important}
.cat-btn{
  min-height:58px!important;
  border-radius:18px!important;
  border:1px solid transparent!important;
  background:rgba(255,255,255,.56)!important;
  padding:13px 14px!important;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cat-btn:hover{
  transform:translateX(4px)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 10px 28px rgba(24,39,42,.07)!important;
}
.cat-btn.active{
  background:linear-gradient(145deg,rgba(15,111,120,.13),rgba(255,255,255,.90))!important;
  border-color:rgba(15,111,120,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),0 12px 30px rgba(15,111,120,.10)!important;
}
.cat-btn b{font-size:15.5px!important;letter-spacing:-.2px}
.cat-btn small{font-size:11.5px!important;color:#7a8c8f!important}
.cat-btn span{
  background:rgba(15,111,120,.08)!important;
  color:#24656c!important;
  border-radius:999px!important;
}

/* 搜索栏：像系统搜索，轻、圆、聚焦有反馈 */
.product-toolbar{
  position:relative!important;
  top:auto!important;
  padding:14px!important;
  border-radius:28px!important;
  margin-bottom:16px!important;
}
.search{
  height:48px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,111,120,.12)!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.search:focus{
  border-color:rgba(10,132,255,.55)!important;
  box-shadow:0 0 0 5px rgba(10,132,255,.12), inset 0 1px 0 rgba(255,255,255,.88)!important;
  background:#fff!important;
}
.btn{
  border-radius:16px!important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease!important;
}
.btn:hover{transform:translateY(-1px)!important}
.btn:active{transform:translateY(0) scale(.985)!important}
.btn.ghost{
  border:1px solid rgba(15,111,120,.18)!important;
  background:rgba(255,255,255,.66)!important;
}

/* 当前类目和产品表：不是厚重表格，是“设置列表”式一行一项 */
.current-cat-bar{
  border-radius:30px 30px 0 0!important;
  padding:18px 22px!important;
  background:rgba(255,255,255,.78)!important;
  border-bottom:0!important;
}
.current-cat-bar b{font-size:24px!important}
.current-cat-bar em{
  background:rgba(10,132,255,.10)!important;
  color:#0071e3!important;
  border-radius:999px!important;
  padding:7px 12px!important;
}
.product-table-wrap{
  border-radius:0 0 30px 30px!important;
  overflow-x:auto!important;
  background:rgba(255,255,255,.76)!important;
}
.product-table{
  min-width:1120px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.product-table th{
  position:sticky;top:0;z-index:2;
  background:rgba(244,248,248,.96)!important;
  color:#5f7376!important;
  font-weight:800!important;
  padding:13px 18px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.product-table td{
  padding:15px 18px!important;
  border-bottom:1px solid rgba(15,111,120,.08)!important;
  background:rgba(255,255,255,.50)!important;
  transition:background .18s ease, transform .18s ease;
}
.product-table tr:hover td{
  background:rgba(10,132,255,.035)!important;
}
.product-name{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  font-size:17px!important;
  font-weight:850!important;
  color:#132f32!important;
}
.row-index{
  display:inline-grid!important;
  place-items:center!important;
  min-width:28px!important;
  height:28px!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,rgba(15,111,120,.12),rgba(15,111,120,.05))!important;
  color:#0f6f78!important;
  font-size:12px!important;
  font-weight:900!important;
}
.product-sub{
  margin-left:38px!important;
  margin-top:5px!important;
  color:#778b8e!important;
}
.product-note{
  color:#41585b!important;
  font-size:14px!important;
  line-height:1.58!important;
}
.product-price{text-align:right!important}
.product-price b{
  color:#ff7a00!important;
  font-size:22px!important;
  letter-spacing:-.3px!important;
}
.product-actions input{
  height:42px!important;
  border-radius:15px!important;
  border:1px solid rgba(15,111,120,.13)!important;
  background:rgba(255,255,255,.78)!important;
}
.add-btn{
  background:linear-gradient(145deg,#0f6f78,#0b5960)!important;
  border-radius:15px!important;
  box-shadow:0 10px 24px rgba(15,111,120,.16)!important;
}
.add-btn:hover{box-shadow:0 14px 34px rgba(15,111,120,.22)!important}

/* ③ 已选报价明细：苹果式编辑表，干净、轻、聚焦明确 */
.quote-section.card{
  border-radius:32px!important;
  background:rgba(255,255,255,.86)!important;
  overflow:hidden!important;
}
.quote-section .card-head{
  padding:20px 24px!important;
  background:rgba(255,255,255,.82)!important;
}
.quote-table-wrap{
  border:0!important;
  border-top:1px solid rgba(15,111,120,.10)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.60)!important;
  overflow-x:auto!important;
}
.quote-table{
  min-width:1280px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.quote-table th{
  background:rgba(244,248,248,.95)!important;
  color:#5f7376!important;
  font-weight:800!important;
  padding:14px 16px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.quote-table td{
  padding:13px 16px!important;
  border-bottom:1px solid rgba(15,111,120,.075)!important;
  background:rgba(255,255,255,.50)!important;
}
.quote-table tr:hover td{background:rgba(10,132,255,.035)!important}
.quote-table input,.quote-table textarea{
  border:1px solid transparent!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.08)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.quote-table input:hover,.quote-table textarea:hover{
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.14)!important;
}
.quote-table input:focus,.quote-table textarea:focus{
  background:#fff!important;
  border-color:rgba(10,132,255,.45)!important;
  box-shadow:0 0 0 5px rgba(10,132,255,.10), inset 0 0 0 1px rgba(10,132,255,.28)!important;
}
.amount-pill{
  display:inline-flex!important;
  min-width:94px!important;
  justify-content:flex-end!important;
  background:rgba(255,159,10,.12)!important;
  border:1px solid rgba(255,159,10,.22)!important;
  color:#ff7a00!important;
  border-radius:999px!important;
  padding:8px 11px!important;
  font-weight:900!important;
}
.mac-mini{
  border-radius:999px!important;
  padding:7px 11px!important;
  background:rgba(255,255,255,.74)!important;
}

/* 其他区域也统一轻盈 */
.preset-details{
  border-radius:26px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(15,111,120,.12)!important;
}
.preset-details summary{
  background:rgba(255,255,255,.70)!important;
  padding:14px 16px!important;
}
.preset{
  border-radius:18px!important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.preset:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 26px rgba(239,125,22,.10)!important;
}
.totals{
  background:linear-gradient(145deg,#0f6f78,#0a4e55)!important;
  border:0!important;
}
.footer-actions{
  background:rgba(245,247,248,.74)!important;
  backdrop-filter:saturate(180%) blur(22px)!important;
  border-top:1px solid rgba(15,111,120,.10)!important;
}

@media(max-width:1180px){
  .workspace{grid-template-columns:1fr!important}
  .category-side{position:sticky!important;top:198px!important;max-height:none!important}
  .cat-list{display:flex!important;flex-direction:row!important;overflow-x:auto!important}
  .cat-btn{min-width:150px!important}
}
@media(max-width:760px){
  .app{padding-left:10px!important;padding-right:10px!important}
  .quote-dock{top:67px!important}
  .selected-table{min-width:660px!important}
  .product-table{min-width:940px!important}
  .quote-table{min-width:1080px!important}
  .dock-main{grid-template-columns:1fr!important}
  .dock-actions{display:block!important}
  .dock-actions .btn{width:100%;margin-top:8px}
}


/*：选择报价项目互动增强 */
.hover-preview{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:18px;
  align-items:center;
  margin:0 0 16px;
  padding:18px 20px;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.62));
  border:1px solid rgba(15,111,120,.12);
  box-shadow:0 18px 48px rgba(24,39,42,.075);
  backdrop-filter:saturate(180%) blur(22px);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.hover-preview.preview-live{
  transform:translateY(-1px);
  box-shadow:0 24px 64px rgba(24,39,42,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,252,252,.72));
}
.preview-kicker{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(10,132,255,.10);
  color:#0071e3;
  font-weight:900;
  font-size:12px;
  margin-bottom:9px;
}
.preview-left strong{
  display:block;
  font-size:24px;
  line-height:1.18;
  letter-spacing:-.5px;
  color:#102c30;
}
.preview-left p{
  margin:8px 0 0;
  color:#647a7d;
  line-height:1.65;
  font-size:14px;
}
.preview-right{
  text-align:right;
  padding-left:18px;
  border-left:1px solid rgba(15,111,120,.10);
}
.preview-right span{
  display:block;
  font-size:34px;
  font-weight:1000;
  color:#ff7a00;
  letter-spacing:-.8px;
}
.preview-right em{
  display:block;
  font-style:normal;
  color:#708589;
  font-size:13px;
  margin-top:-2px;
}
.preview-action{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  margin-top:12px;
}
.preview-action input{
  width:86px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.82);
  text-align:center;
  padding:0 8px;
}
.preview-action input:focus{
  outline:none;
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
}
.product-table tr.active-product td{
  background:rgba(10,132,255,.075)!important;
  box-shadow:inset 3px 0 0 #0a84ff;
}
.product-table tr.added-pulse td{
  animation:addedPulse .72s ease;
}
@keyframes addedPulse{
  0%{background:rgba(48,209,88,.20)}
  100%{background:rgba(255,255,255,.50)}
}
.add-toast{
  position:fixed;
  right:28px;
  bottom:88px;
  z-index:999;
  padding:13px 16px;
  border-radius:18px;
  background:rgba(16,44,48,.92);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  backdrop-filter:blur(16px);
  font-weight:900;
  transform:translateY(16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.add-toast.show{
  opacity:1;
  transform:translateY(0);
}
.preview-glow{
  animation:previewGlow .45s ease;
}
@keyframes previewGlow{
  0%{box-shadow:0 0 0 0 rgba(10,132,255,.22),0 18px 48px rgba(24,39,42,.075)}
  100%{box-shadow:0 0 0 10px rgba(10,132,255,0),0 24px 64px rgba(24,39,42,.12)}
}
.product-table tbody tr{
  cursor:pointer;
}
.product-table tbody tr td:first-child{
  position:relative;
}
.product-table tbody tr td:first-child::after{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:3px;
  border-radius:999px;
  background:transparent;
  transition:background .18s ease;
}
.product-table tbody tr:hover td:first-child::after{
  background:rgba(10,132,255,.35);
}
.product-table tbody tr.active-product td:first-child::after{
  background:#0a84ff;
}
@media(max-width:900px){
  .hover-preview{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
  }
  .preview-right{
    text-align:left;
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(15,111,120,.10);
    padding-top:12px;
  }
  .preview-action{
    justify-content:flex-start;
  }
}


/*：添加按钮移到中间，支持双击整行快速加入 */
.quick-tip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(10,132,255,.09);
  color:#0071e3;
  font-size:12px;
  font-weight:900;
}
.product-table{
  min-width:1280px!important;
}
.product-table th.quick-add-head,
.product-table td.quick-add-cell{
  text-align:center!important;
}
.quick-add-cell{
  min-width:210px;
}
.quick-add-box{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:8px;
  align-items:center;
}
.quick-add-box input{
  height:42px;
  border-radius:15px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.82);
  text-align:center;
  padding:0 8px;
}
.quick-add-box input:focus{
  outline:none;
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
}
.quick-add-button{
  height:42px;
  border-radius:15px!important;
  background:linear-gradient(145deg,#0a84ff,#006edb)!important;
  box-shadow:0 10px 24px rgba(10,132,255,.18)!important;
  font-weight:1000!important;
}
.quick-add-button:hover{
  box-shadow:0 14px 34px rgba(10,132,255,.25)!important;
}
.picked-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:8px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(48,209,88,.12);
  color:#168a39;
  border:1px solid rgba(48,209,88,.22);
  font-size:12px;
  font-weight:900;
}
.row-hint{
  display:block;
  margin-top:7px;
  color:#94a3a6;
  font-size:12px;
}
.product-table tr:hover .row-hint{
  color:#0071e3;
}
.product-table tr.active-product .row-hint{
  color:#0071e3;
  font-weight:900;
}
.preview-action{
  display:grid!important;
  grid-template-columns:86px 1fr!important;
}
.preview-action .btn{
  height:42px;
}
.keyboard-hint{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:8px;
  color:#708589;
  font-size:12px;
}
.keyboard-hint kbd{
  padding:2px 7px;
  border-radius:7px;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(15,111,120,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
  font-family:inherit;
  font-weight:900;
  color:#102c30;
}
@media(max-width:900px){
  .product-table{min-width:980px!important}
  .quick-add-cell{min-width:190px}
  .quick-add-box{grid-template-columns:68px 1fr}
}


/*：稳定添加。取消双击加入，避免误触；加入后按钮显示已加入次数 */
.quick-tip{
  background:rgba(48,209,88,.10)!important;
  color:#168a39!important;
}
.product-table tbody tr{
  cursor:default!important;
}
.product-table tbody tr.preview-row{
  cursor:pointer!important;
}
.quick-add-button.joined{
  background:linear-gradient(145deg,#30d158,#1f9d48)!important;
  box-shadow:0 10px 24px rgba(48,209,88,.18)!important;
}
.quick-add-button.joined:hover{
  box-shadow:0 14px 34px rgba(48,209,88,.24)!important;
}
.join-count-mini{
  display:block;
  margin-top:6px;
  color:#168a39;
  font-size:12px;
  font-weight:900;
  text-align:center;
}
.picked-badge{
  background:rgba(48,209,88,.12)!important;
  color:#168a39!important;
}
.product-table tr.active-product td{
  background:rgba(10,132,255,.065)!important;
}
.product-table tr.added-pulse td{
  animation:addedPulse .72s ease;
}
@keyframes addedPulse{
  0%{background:rgba(48,209,88,.23)}
  100%{background:rgba(255,255,255,.50)}
}


/*：顶部已选报价清单按用户要求完整展示，不折叠、不内部滚动 */
.selected-chips{
  overflow:visible!important;
  max-height:none!important;
}
.selected-table{
  width:100%!important;
}


/*：房间视图 + 常用组合 */
.room-combo-panel{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:14px;
  margin-bottom:16px;
}
.room-block,.combo-block{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,111,120,.12);
  border-radius:28px;
  box-shadow:0 16px 42px rgba(24,39,42,.07);
  backdrop-filter:saturate(180%) blur(20px);
  padding:14px;
}
.mini-label{
  font-size:13px;
  color:#486064;
  font-weight:1000;
  margin-bottom:10px;
}
.room-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.room-tab{
  border:1px solid rgba(15,111,120,.14);
  background:rgba(255,255,255,.72);
  border-radius:999px;
  padding:9px 13px;
  cursor:pointer;
  color:#183436;
  font-weight:900;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.room-tab:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(15,111,120,.08);
}
.room-tab.active{
  background:linear-gradient(145deg,#0f6f78,#0a4e55);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 28px rgba(15,111,120,.18);
}
.room-help{
  margin-top:10px;
  color:#708589;
  font-size:12.5px;
  line-height:1.55;
}
.combo-strip{
  display:flex;
  gap:9px;
  overflow-x:auto;
  padding-bottom:2px;
}
.combo-pill{
  min-width:190px;
  border:1px solid rgba(239,125,22,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,243,230,.76));
  border-radius:18px;
  padding:11px 12px;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease;
}
.combo-pill:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(239,125,22,.11);
}
.combo-pill b{
  display:block;
  font-size:14px;
  color:#8f4a06;
  line-height:1.35;
}
.combo-pill span{
  display:block;
  margin-top:5px;
  color:#8b6c4f;
  font-size:12px;
  line-height:1.35;
}
.room-summary{
  padding:18px 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.room-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,111,120,.12);
  border-radius:24px;
  padding:15px;
  box-shadow:0 12px 32px rgba(24,39,42,.065);
}
.room-card.empty{
  grid-column:1/-1;
  color:#708589;
  text-align:center;
  padding:28px;
  border-style:dashed;
}
.room-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.room-card-head b{
  font-size:18px;
  color:#102c30;
}
.room-card-head span{
  color:#ff7a00;
  font-weight:1000;
  font-size:18px;
}
.room-card-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.room-card-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  color:#40575a;
  font-size:13px;
  padding:7px 0;
  border-top:1px solid rgba(15,111,120,.07);
}
.room-card-row em{
  font-style:normal;
  color:#ff7a00;
  font-weight:900;
}
.room-tag{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(10,132,255,.10);
  color:#0071e3;
  font-size:12px;
  font-weight:900;
}
.selected-table .s-room{
  color:#0071e3;
  font-weight:900;
  white-space:nowrap;
}
.quote-table .room-input{
  min-width:92px;
}
@media(max-width:1280px){
  .room-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .room-combo-panel{grid-template-columns:1fr}
  .room-summary{grid-template-columns:1fr}
  .combo-pill{min-width:170px}
}


/*：已选报价明细升级为 Notion / Apple Numbers 式编辑面板 */
.quote-section.card{
  border-radius:34px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.88)!important;
}
.quote-editor-title{
  padding:22px 24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,252,.78))!important;
}
.quote-editor-wrap{
  padding:18px 20px 22px;
  background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(250,252,252,.72));
}
.quote-editor-head{
  display:grid;
  grid-template-columns:46px 160px minmax(240px,1.25fr) 150px 120px 130px minmax(240px,1fr) 116px;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  margin-bottom:10px;
  color:#667b7e;
  font-size:12.5px;
  font-weight:900;
  letter-spacing:.12px;
  text-transform:none;
}
.quote-editor-body{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.quote-line{
  display:grid;
  grid-template-columns:46px 160px minmax(240px,1.25fr) 150px 120px 130px minmax(240px,1fr) 116px;
  gap:10px;
  align-items:stretch;
  padding:12px 14px;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,111,120,.10);
  box-shadow:0 12px 32px rgba(24,39,42,.055), inset 0 1px 0 rgba(255,255,255,.75);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.quote-line:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.96);
  border-color:rgba(10,132,255,.20);
  box-shadow:0 18px 44px rgba(24,39,42,.09), inset 0 1px 0 rgba(255,255,255,.88);
}
.quote-line.soft-warn{
  border-color:rgba(255,159,10,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,249,241,.82));
}
.quote-index{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6f8588;
  font-weight:1000;
}
.quote-index span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:12px;
  background:rgba(15,111,120,.08);
  color:#0f6f78;
  font-size:13px;
}
.quote-cell{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}
.quote-cell label{
  display:none;
  color:#708589;
  font-size:11.5px;
  font-weight:900;
}
.quote-duo{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
}
.quote-cell input,.quote-cell textarea,.quote-mini-input{
  width:100%;
  border:1px solid transparent!important;
  border-radius:16px!important;
  background:rgba(247,250,250,.78)!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.08)!important;
  padding:10px 12px!important;
  outline:none!important;
  transition:background .16s ease, box-shadow .16s ease, border-color .16s ease;
  color:#183436!important;
}
.quote-cell textarea{
  min-height:44px;
  resize:vertical;
  line-height:1.45;
}
.quote-cell input:hover,.quote-cell textarea:hover,.quote-mini-input:hover{
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.15)!important;
}
.quote-cell input:focus,.quote-cell textarea:focus,.quote-mini-input:focus{
  background:#fff!important;
  border-color:rgba(10,132,255,.45)!important;
  box-shadow:0 0 0 5px rgba(10,132,255,.10), inset 0 0 0 1px rgba(10,132,255,.28)!important;
}
.quote-project textarea{
  min-height:58px;
  font-weight:800;
}
.quote-note textarea{
  min-height:58px;
  color:#43595c!important;
}
.quote-qty-pair{
  display:grid;
  grid-template-columns:1fr 64px;
  gap:7px;
}
.quote-amount{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.quote-amount .amount-pill{
  min-width:100px!important;
  justify-content:flex-end!important;
  background:rgba(255,159,10,.13)!important;
  border:1px solid rgba(255,159,10,.24)!important;
  color:#ff7a00!important;
  border-radius:999px!important;
  padding:10px 12px!important;
  font-weight:1000!important;
}
.quote-actions{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:flex-end;
}
.quote-actions .btn{
  border-radius:999px!important;
  padding:8px 11px!important;
}
.quote-min-tip{
  margin-top:5px;
  color:#a04f04;
  font-size:12px;
  font-weight:900;
}
.quote-empty-card{
  padding:36px 18px;
  text-align:center;
  color:#708589;
  background:rgba(255,255,255,.68);
  border:1px dashed rgba(15,111,120,.20);
  border-radius:24px;
}
@media(max-width:1400px){
  .quote-editor-head,.quote-line{
    grid-template-columns:42px 145px minmax(220px,1.2fr) 135px 110px 120px minmax(220px,1fr) 104px;
  }
}
@media(max-width:1080px){
  .quote-editor-head{display:none}
  .quote-line{
    grid-template-columns:42px 1fr;
    gap:10px;
  }
  .quote-line .quote-cell label{display:block}
  .quote-index{align-items:flex-start;padding-top:8px}
  .quote-room-cat,.quote-project,.quote-qty,.quote-price,.quote-amount,.quote-note,.quote-actions{
    grid-column:2;
  }
  .quote-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .quote-editor-wrap{padding:12px}
  .quote-line{padding:12px;border-radius:22px}
  .quote-qty-pair{grid-template-columns:1fr 72px}
}


/* ：清理提示文案，并让置顶报价到房间视图后自动退场 */
.row-hint:empty,.quick-tip:empty,.keyboard-hint:empty{display:none!important}
.quote-dock.dock-hidden{
  opacity:0!important;
  transform:translateY(-18px)!important;
  pointer-events:none!important;
}
.quote-dock{
  transition:opacity .20s ease, transform .20s ease!important;
}


/* ：③房间视图进入可视区后，顶部已选报价立即退场 */
.quote-dock.dock-hidden{
  opacity:0!important;
  transform:translateY(-22px)!important;
  pointer-events:none!important;
}


/* V35：选择报价项目时，参考价格提前，并允许改价格/单位 */
.product-table{min-width:1220px!important}
.price-edit-head,.price-edit-cell{text-align:left!important}
.price-edit-box{
  display:grid;
  grid-template-columns:1fr 62px;
  gap:8px;
  align-items:center;
}
.price-edit-box input,.preview-price-box input{
  height:42px;
  border-radius:15px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.84);
  padding:0 10px;
  outline:none;
}
.price-edit-box input:focus,.preview-price-box input:focus{
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
  background:#fff;
}
.price-input{font-weight:1000;color:#ff7a00}
.unit-input{text-align:center;font-weight:900;color:#0f6f78}
.price-edit-hint{
  display:block;
  margin-top:6px;
  color:#7b8e91;
  font-size:12px;
  font-weight:800;
}
.preview-price-box{
  display:grid;
  grid-template-columns:1fr 72px;
  gap:8px;
  margin-bottom:8px;
}
.preview-price-box input{
  width:100%;
  text-align:center;
  font-weight:1000;
}
.preview-price-box #previewPriceInput{color:#ff7a00;font-size:22px}
.preview-price-box #previewUnitInput{color:#0f6f78}
.quick-add-cell{min-width:190px}
@media(max-width:900px){
  .product-table{min-width:1040px!important}
  .price-edit-box{grid-template-columns:1fr 58px}
}


/* V36：漏项提醒变成一键补充 */
.check-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.check-msg{
  min-width:0;
}
.check-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.fix-btn{
  border:0;
  border-radius:999px;
  padding:8px 12px;
  background:linear-gradient(145deg,#0a84ff,#006edb);
  color:#fff;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(10,132,255,.16);
  transition:transform .16s ease, box-shadow .16s ease;
  white-space:nowrap;
}
.fix-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(10,132,255,.24);
}
.fix-btn:active{
  transform:translateY(0) scale(.985);
}
.check-item.warn .fix-btn{
  background:linear-gradient(145deg,#ff9f0a,#e87512);
  box-shadow:0 10px 22px rgba(232,117,18,.18);
}
.check-item.warn .fix-btn:hover{
  box-shadow:0 14px 30px rgba(232,117,18,.25);
}
@media(max-width:760px){
  .check-item{
    grid-template-columns:1fr!important;
  }
  .check-actions{
    justify-content:flex-start;
  }
}


/* V37：单位改成点击选择，不再显示“米/平方/项”提示文字 */
.price-edit-hint{display:none!important}
.price-edit-box{
  grid-template-columns:1fr 74px!important;
}
.price-edit-box input,.price-edit-box select,.preview-price-box input,.preview-price-box select{
  height:42px;
  border-radius:15px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.84);
  padding:0 10px;
  outline:none;
}
.price-edit-box select,.preview-price-box select{
  cursor:pointer;
  text-align:center;
  font-weight:1000;
  color:#0f6f78;
  appearance:auto;
}
.price-edit-box input:focus,.price-edit-box select:focus,.preview-price-box input:focus,.preview-price-box select:focus{
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
  background:#fff;
}
.preview-price-box{
  display:grid;
  grid-template-columns:1fr 82px!important;
  gap:8px;
  margin-bottom:8px;
}
.preview-price-box #previewPriceInput{
  color:#ff7a00;
  font-size:22px;
  font-weight:1000;
  text-align:center;
}


/* V37：PDF/打印报价单重新设计 */
@media print{
  @page{size:A4;margin:10mm}
  body{background:#fff!important;font-size:12px}
  body *{visibility:hidden!important}
  .print-area,.print-area *{visibility:visible!important}
  .print-area{display:block!important;position:absolute;left:0;top:0;width:100%;color:#17373b!important}
  .print-sheet{padding:0;font-family:"Microsoft YaHei",Arial,sans-serif}
  .print-hero{
    display:flex;justify-content:space-between;align-items:stretch;gap:18px;
    padding:16px 18px;border-radius:16px;
    background:linear-gradient(135deg,#0f4e55,#0b6972);color:#fff;
    margin-bottom:14px;
  }
  .print-kicker{font-size:12px;opacity:.86;letter-spacing:.08em}
  .print-title{font-size:28px;font-weight:1000;letter-spacing:1px;margin-top:4px}
  .print-sub{font-size:12px;opacity:.9;margin-top:6px}
  .print-total-card{
    min-width:170px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);
    border-radius:14px;padding:14px 16px;text-align:right;
  }
  .print-total-card span{display:block;font-size:12px;opacity:.82}
  .print-total-card b{display:block;font-size:24px;color:#ffdfad;margin-top:8px}
  .print-info{
    display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px;
  }
  .print-info div{
    border:1px solid #d7e6e7;border-radius:10px;background:#f8fbfb;
    padding:8px 10px;min-height:42px;
  }
  .print-info .wide{grid-column:1/-1}
  .print-info span{display:block;color:#6e8588;font-size:11px;margin-bottom:4px}
  .print-info b{font-size:12px;color:#17373b;font-weight:800}
  .print-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:2px}
  .print-table thead th{
    background:#0f4e55;color:#fff;border:1px solid #0f4e55;
    padding:8px 6px;text-align:center;font-size:12px;
  }
  .print-table thead th:first-child{border-radius:10px 0 0 0}
  .print-table thead th:last-child{border-radius:0 10px 0 0}
  .print-table td{
    border-right:1px solid #d7e6e7;border-bottom:1px solid #d7e6e7;
    padding:7px 6px;vertical-align:top;line-height:1.45;background:#fff;
  }
  .print-table td:first-child{border-left:1px solid #d7e6e7;text-align:center;color:#607477}
  .print-table td:nth-child(4),.print-table td:nth-child(5){text-align:center}
  .print-table td:nth-child(6),.print-table td:nth-child(7){text-align:right;color:#d66e12;font-weight:800}
  .print-section td{
    background:#fff2e2!important;border:1px solid #f0c99f!important;color:#8a4b08!important;
    padding:8px 10px!important;
  }
  .print-section span{display:inline-block;background:#0f4e55;color:#fff;border-radius:999px;padding:3px 8px;margin-right:8px;font-weight:900}
  .print-section b{font-weight:1000}
  .print-section em{float:right;font-style:normal;font-weight:1000;color:#d66e12}
  .print-bottom{display:grid;grid-template-columns:1fr 280px;gap:14px;margin-top:14px;align-items:start}
  .print-note{
    border:1px solid #d7e6e7;border-radius:12px;background:#f8fbfb;padding:12px 14px;
    color:#40585b;line-height:1.7;
  }
  .print-note b{display:block;color:#0f4e55;margin-bottom:4px}
  .print-note p{margin:0}
  .print-total{width:100%;border-collapse:separate;border-spacing:0}
  .print-total td{border:1px solid #d7e6e7;border-bottom:0;padding:8px 10px;background:#fff}
  .print-total tr:first-child td:first-child{border-radius:10px 0 0 0}
  .print-total tr:first-child td:last-child{border-radius:0 10px 0 0}
  .print-total tr:last-child td{border-bottom:1px solid #d7e6e7}
  .print-total td:first-child{color:#607477}
  .print-total td:last-child{text-align:right;font-weight:900;color:#d66e12}
  .print-total .grand td{background:#0f4e55!important;color:#fff!important;border-color:#0f4e55!important;font-size:15px;font-weight:1000}
  .print-total .grand td:last-child{color:#ffdfad!important;font-size:18px}
  .print-sign{display:flex;justify-content:space-between;margin-top:22px;padding-top:12px;border-top:1px dashed #9fb6b8;color:#40585b}
  .no-print{display:none!important}
}


/* V38：点击项目只选择展示，不自动加入 */
.preview-row{cursor:pointer}
.preview-row.active-product td{
  background:rgba(10,132,255,.075)!important;
}
.hover-preview{
  border-color:rgba(10,132,255,.18)!important;
}
.preview-kicker{
  color:#0071e3!important;
  font-weight:1000!important;
}
.section-title .pill:empty{display:none!important}


/* V39：选中项目的玻璃质感、分类式高亮与动效 */
:root{
  --glass-bg: linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,251,252,.66));
  --glass-line: rgba(255,255,255,.58);
  --glass-brand: rgba(15,111,120,.18);
  --select-blue: #0a84ff;
  --select-cyan: #0f6f78;
}
.preview-row{
  position:relative;
  transition:transform .18s ease, filter .18s ease;
}
.preview-row td{
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.preview-row:hover{
  filter:saturate(1.03);
}
.preview-row.active-product{
  transform:translateY(-1px);
}
.preview-row.active-product td{
  background:var(--glass-bg)!important;
  border-top-color:rgba(15,111,120,.14)!important;
  border-bottom-color:rgba(15,111,120,.14)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.80),
    inset 0 -1px 0 rgba(255,255,255,.55),
    0 12px 24px rgba(15,111,120,.08);
  backdrop-filter:blur(10px) saturate(130%);
}
.preview-row.active-product td:first-child{
  border-left:3px solid rgba(15,111,120,.72)!important;
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
}
.preview-row.active-product td:last-child{
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
}
.preview-row.active-product .product-name{
  color:#0f4e55;
  font-weight:1000;
}
.preview-row.active-product .row-index{
  background:linear-gradient(135deg,#0f6f78,#0a84ff)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(10,132,255,.22);
}
.preview-row.active-product .product-sub::after{
  content:'已选择';
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:3px 10px;
  border-radius:999px;
  color:#0f4e55;
  font-size:12px;
  font-weight:1000;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(225,243,245,.70));
  border:1px solid rgba(15,111,120,.12);
  box-shadow:0 8px 16px rgba(15,111,120,.08);
}
.preview-row.active-product .quick-add-cell{
  position:relative;
}
.preview-row.active-product .quick-add-cell::before{
  content:'';
  position:absolute;
  inset:6px;
  border-radius:16px;
  border:1px solid rgba(10,132,255,.10);
  background:linear-gradient(135deg, rgba(10,132,255,.08), rgba(255,255,255,0));
  pointer-events:none;
}
.hover-preview,
#hoverPreview{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.56)!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(245,250,252,.60)),
    radial-gradient(circle at top right, rgba(10,132,255,.14), transparent 42%),
    radial-gradient(circle at bottom left, rgba(15,111,120,.12), transparent 40%)!important;
  box-shadow:
    0 16px 40px rgba(15,111,120,.12),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(255,255,255,.36);
  backdrop-filter:blur(18px) saturate(140%);
}
.hover-preview::before,
#hoverPreview::before{
  content:'';
  position:absolute;
  top:-34%;
  left:-22%;
  width:42%;
  height:190%;
  transform:rotate(18deg) translateX(-150%);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity:.72;
  pointer-events:none;
}
.hover-preview.preview-glow::before,
#hoverPreview.preview-glow::before{
  animation:glassSweep .78s cubic-bezier(.25,.1,.2,1);
}
.hover-preview.preview-live,
#hoverPreview.preview-live{
  transform:translateY(-1px);
}
.preview-kicker{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(229,241,243,.72));
  border:1px solid rgba(15,111,120,.12);
  box-shadow:0 10px 18px rgba(15,111,120,.08);
  color:#0f4e55!important;
  font-weight:1000!important;
  letter-spacing:.02em;
}
.preview-kicker::before{
  content:'●';
  color:#0a84ff;
  font-size:10px;
  text-shadow:0 0 10px rgba(10,132,255,.32);
}
#previewName{
  color:#17373b!important;
  font-size:26px!important;
  letter-spacing:.01em;
}
#previewNote{
  color:#5c7276!important;
  line-height:1.72!important;
}
.preview-price-box{
  padding:8px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(239,246,248,.74));
  border:1px solid rgba(15,111,120,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.preview-actions .btn,
.quick-add-button{
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.preview-actions .btn:hover,
.quick-add-button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(10,132,255,.16);
}
.preview-actions .btn:active,
.quick-add-button:active{
  transform:translateY(0) scale(.985);
}
@keyframes glassSweep{
  0%{transform:rotate(18deg) translateX(-150%)}
  100%{transform:rotate(18deg) translateX(360%)}
}
@keyframes selectPop{
  0%{transform:translateY(4px) scale(.985); opacity:.88}
  100%{transform:translateY(0) scale(1); opacity:1}
}
.hover-preview.preview-glow,
#hoverPreview.preview-glow{
  animation:selectPop .30s ease-out;
}


/* V40：高端 SaaS / 报价系统选中行。取消上方界面，直接强化行内选中状态 */
#hoverPreview,.hover-preview{
  display:none!important;
}
.product-table{
  border-collapse:separate!important;
  border-spacing:0 8px!important;
  background:transparent!important;
}
.product-table thead th{
  border-bottom:0!important;
  background:linear-gradient(180deg,rgba(233,244,242,.96),rgba(244,249,249,.92))!important;
}
.product-table tbody tr{
  transition:transform .18s cubic-bezier(.2,.8,.2,1), filter .18s ease;
}
.product-table tbody tr td{
  border-bottom:0!important;
  border-top:1px solid rgba(15,111,120,.075)!important;
  border-bottom:1px solid rgba(15,111,120,.075)!important;
  background:rgba(255,255,255,.88)!important;
  transition:padding .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.product-table tbody tr td:first-child{
  border-left:1px solid rgba(15,111,120,.075)!important;
  border-radius:18px 0 0 18px!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid rgba(15,111,120,.075)!important;
  border-radius:0 18px 18px 0!important;
}
.product-table tbody tr:hover{
  transform:translateY(-1px);
}
.product-table tbody tr:hover td{
  background:rgba(250,253,253,.98)!important;
  border-color:rgba(15,111,120,.14)!important;
}
.product-table tbody tr.active-product{
  position:relative;
  transform:translateY(-2px) scale(1.012);
  z-index:5;
  filter:saturate(1.08);
}
.product-table tbody tr.active-product td{
  padding-top:18px!important;
  padding-bottom:18px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,251,252,.92))!important;
  border-top:1px solid rgba(10,132,255,.28)!important;
  border-bottom:1px solid rgba(10,132,255,.28)!important;
  box-shadow:
    0 18px 42px rgba(15,111,120,.14),
    0 8px 18px rgba(10,132,255,.08),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid #0a84ff!important;
  box-shadow:
    0 18px 42px rgba(15,111,120,.14),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(10,132,255,.28)!important;
}
.product-table tbody tr.active-product .product-name{
  font-size:19px!important;
  color:#0f4e55!important;
  letter-spacing:-.15px;
}
.product-table tbody tr.active-product .product-sub{
  color:#49666a!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:'';
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:4px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,#0a84ff,#0f6f78);
  color:#fff;
  font-size:12px;
  font-weight:1000;
  box-shadow:0 8px 18px rgba(10,132,255,.22);
}
.product-table tbody tr.active-product .row-index{
  width:32px!important;
  height:32px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#0a84ff,#0f6f78)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(10,132,255,.25);
}
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  padding:7px!important;
  border-radius:18px!important;
  background:rgba(240,248,250,.86)!important;
  border:1px solid rgba(10,132,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}
.product-table tbody tr.active-product .quick-add-button{
  background:linear-gradient(135deg,#0a84ff,#006edb)!important;
  box-shadow:0 10px 24px rgba(10,132,255,.22)!important;
}
.product-table tbody tr.active-product .product-note{
  color:#28464a!important;
  font-size:14.5px!important;
}
.product-table tbody tr.select-pop{
  animation:saasSelectPop .22s ease-out;
}
@keyframes saasSelectPop{
  0%{transform:translateY(2px) scale(.998)}
  100%{transform:translateY(-2px) scale(1.012)}
}
@media(max-width:900px){
  .product-table tbody tr.active-product{
    transform:translateY(-1px) scale(1.004);
  }
}


/* V41：整体 UI 更圆滑，倒角更大，Apple 风格更顺畅 */
:root{
  --ui-radius-xs: 14px;
  --ui-radius-sm: 18px;
  --ui-radius-md: 22px;
  --ui-radius-lg: 28px;
  --ui-radius-xl: 34px;
  --ui-shadow-soft: 0 10px 30px rgba(15,111,120,.08);
  --ui-shadow-soft-lg: 0 20px 50px rgba(15,111,120,.12);
  --ui-glass: linear-gradient(180deg, rgba(255,255,255,.90), rgba(246,250,251,.82));
  --ui-glass-2: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,252,252,.92));
  --ui-border: rgba(15,111,120,.08);
  --ui-border-active: rgba(10,132,255,.18);
}

/* 整体圆润 */
.card, .section, .panel, .side-card, .summary-card, .meta-card, .dock-card,
.product-table-wrap, .quote-card, .quote-dock, .history-card, .empty,
input, select, textarea, button,
.cat-list .cat-btn, .room-tab, .combo-chip, .btn, .quick-add-button,
.price-edit-box, .quick-add-box, .info-box, .check-item, .pill{
  border-radius: var(--ui-radius-md)!important;
}

/* 顶部/卡片更柔和 */
.card, .panel, .section, .summary-card, .meta-card, .history-card, .quote-dock,
.product-area, .quote-area, .left-side, .right-side{
  box-shadow: var(--ui-shadow-soft)!important;
}

/* 输入控件更像 Apple */
input, select, textarea{
  border: 1px solid var(--ui-border)!important;
  background: var(--ui-glass)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 2px 10px rgba(15,111,120,.03)!important;
  transition:
    border-color .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s cubic-bezier(.2,.8,.2,1),
    transform .22s cubic-bezier(.2,.8,.2,1),
    background .22s cubic-bezier(.2,.8,.2,1)!important;
}
input:focus, select:focus, textarea:focus{
  border-color: rgba(10,132,255,.30)!important;
  box-shadow:
    0 0 0 6px rgba(10,132,255,.10),
    inset 0 1px 0 rgba(255,255,255,.96),
    0 10px 24px rgba(10,132,255,.10)!important;
  background: rgba(255,255,255,.98)!important;
  transform: translateY(-1px);
}

/* 左侧分类：更圆滑、更像按钮群 */
.cat-list{
  gap: 12px!important;
}
.cat-list .cat-btn{
  border-radius: 22px!important;
  border: 1px solid rgba(15,111,120,.07)!important;
  background: var(--ui-glass)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 6px 18px rgba(15,111,120,.05)!important;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s cubic-bezier(.2,.8,.2,1),
    background .24s cubic-bezier(.2,.8,.2,1),
    border-color .24s cubic-bezier(.2,.8,.2,1)!important;
}
.cat-list .cat-btn:hover{
  transform: translateY(-1px) scale(1.01);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 10px 24px rgba(15,111,120,.08)!important;
}
.cat-list .cat-btn.active,
.cat-list .cat-btn.current,
.cat-list .cat-btn.selected{
  border-color: rgba(10,132,255,.16)!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,248,250,.96))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 14px 28px rgba(10,132,255,.10)!important;
}

/* 产品表更圆润、间距更舒服 */
.product-table{
  border-collapse: separate!important;
  border-spacing: 0 10px!important;
}
.product-table thead th{
  border-radius: 18px!important;
  padding-top: 16px!important;
  padding-bottom: 16px!important;
  background:
    linear-gradient(180deg, rgba(240,247,247,.95), rgba(248,251,251,.92))!important;
  border: 1px solid rgba(15,111,120,.06)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 6px 16px rgba(15,111,120,.04)!important;
}
.product-table tbody tr{
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    filter .26s cubic-bezier(.22,1,.36,1),
    opacity .22s ease!important;
}
.product-table tbody tr td{
  background: var(--ui-glass-2)!important;
  border-top: 1px solid rgba(15,111,120,.06)!important;
  border-bottom: 1px solid rgba(15,111,120,.06)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 8px 18px rgba(15,111,120,.04)!important;
  transition:
    background .30s cubic-bezier(.22,1,.36,1),
    box-shadow .30s cubic-bezier(.22,1,.36,1),
    border-color .30s cubic-bezier(.22,1,.36,1),
    padding .30s cubic-bezier(.22,1,.36,1),
    transform .30s cubic-bezier(.22,1,.36,1)!important;
}
.product-table tbody tr td:first-child{
  border-left: 1px solid rgba(15,111,120,.06)!important;
  border-radius: 24px 0 0 24px!important;
}
.product-table tbody tr td:last-child{
  border-right: 1px solid rgba(15,111,120,.06)!important;
  border-radius: 0 24px 24px 0!important;
}
.product-table tbody tr:hover{
  transform: translateY(-2px) scale(1.004);
  filter: saturate(1.02);
}
.product-table tbody tr:hover td{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,252,.96))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 12px 26px rgba(15,111,120,.06)!important;
}

/* 当前选中项：更软、更高级，不那么硬朗 */
.product-table tbody tr.active-product{
  transform: translateY(-3px) scale(1.018);
  z-index: 7;
  filter: saturate(1.06);
}
.product-table tbody tr.active-product td{
  padding-top: 20px!important;
  padding-bottom: 20px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,249,251,.97))!important;
  border-top: 1px solid rgba(10,132,255,.18)!important;
  border-bottom: 1px solid rgba(10,132,255,.18)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 18px 38px rgba(10,132,255,.08),
    0 12px 26px rgba(15,111,120,.08)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left: 4px solid rgba(10,132,255,.88)!important;
  border-radius: 28px 0 0 28px!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right: 1px solid rgba(10,132,255,.18)!important;
  border-radius: 0 28px 28px 0!important;
}
.product-table tbody tr.active-product .product-name{
  font-size: 19px!important;
  line-height: 1.35!important;
  letter-spacing: -.02em;
  color: #103b41!important;
}
.product-table tbody tr.active-product .product-sub{
  color: #577276!important;
}
.product-table tbody tr.active-product .product-sub::after{
  border-radius: 999px!important;
  padding: 5px 12px!important;
  background:
    linear-gradient(135deg, rgba(10,132,255,.95), rgba(15,111,120,.95))!important;
  box-shadow: 0 10px 22px rgba(10,132,255,.16)!important;
}
.product-table tbody tr.active-product .row-index{
  width: 34px!important;
  height: 34px!important;
  border-radius: 14px!important;
  box-shadow: 0 12px 22px rgba(10,132,255,.18)!important;
}
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  padding: 8px!important;
  border-radius: 20px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(239,247,249,.90))!important;
  border: 1px solid rgba(10,132,255,.12)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 8px 18px rgba(10,132,255,.05)!important;
}

/* 加入按钮、通用按钮更圆、更丝滑 */
.btn, .quick-add-button, button{
  border-radius: 18px!important;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1),
    filter .24s cubic-bezier(.22,1,.36,1),
    background .24s cubic-bezier(.22,1,.36,1)!important;
}
.btn:hover, .quick-add-button:hover, button:hover{
  transform: translateY(-1px) scale(1.01);
  filter: saturate(1.02);
}
.btn:active, .quick-add-button:active, button:active{
  transform: translateY(0) scale(.988);
}
.quick-add-button{
  background: linear-gradient(135deg, #0a84ff, #0071e3)!important;
  box-shadow: 0 10px 20px rgba(10,132,255,.12)!important;
}

/* Numbers 式报价明细也更圆润 */
.quote-table, .detail-table, .numbers-table{
  border-collapse: separate!important;
  border-spacing: 0 8px!important;
}
.quote-table tr td, .detail-table tr td, .numbers-table tr td,
.quote-table tr th, .detail-table tr th, .numbers-table tr th{
  border-radius: 16px!important;
}

/* 更顺滑的选中动效 */
.product-table tbody tr.select-pop{
  animation: appleSelectPop .34s cubic-bezier(.22,1,.36,1);
}
@keyframes appleSelectPop{
  0%{
    transform: translateY(6px) scale(.992);
    opacity: .84;
  }
  60%{
    transform: translateY(-4px) scale(1.02);
    opacity: 1;
  }
  100%{
    transform: translateY(-3px) scale(1.018);
    opacity: 1;
  }
}

/* 小胶囊 / 标签更圆润 */
.pill, .chip, .tag, .picked-badge{
  border-radius: 999px!important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(239,246,247,.90))!important;
  border: 1px solid rgba(15,111,120,.08)!important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.98), 0 6px 14px rgba(15,111,120,.04)!important;
}

/* 手机端也保持柔和，但不过度放大 */
@media(max-width:900px){
  .product-table tbody tr.active-product{
    transform: translateY(-2px) scale(1.008)!important;
  }
  .product-table tbody tr.active-product td{
    padding-top: 17px!important;
    padding-bottom: 17px!important;
  }
}


/* V43：更接近 Apple 系统界面的 Material / 玻璃层级，不做网页极简风 */
:root{
  --sys-blue:#0A84FF;
  --sys-blue-2:#5AC8FA;
  --sys-teal:#30D5C8;
  --sys-orange:#FF9F0A;
  --sys-ink:#152D34;
  --sys-sub:#6C7F86;
  --sys-panel:rgba(255,255,255,.66);
  --sys-panel-strong:rgba(255,255,255,.82);
  --sys-border:rgba(255,255,255,.55);
  --sys-hairline:rgba(20,66,74,.10);
}

/* 背景更像系统桌面/设置页底层，而不是网页白底 */
body{
  background:
    radial-gradient(circle at 8% 6%, rgba(90,200,250,.22), transparent 24%),
    radial-gradient(circle at 88% 12%, rgba(48,213,200,.16), transparent 26%),
    radial-gradient(circle at 72% 92%, rgba(255,159,10,.10), transparent 28%),
    linear-gradient(180deg,#F4F8FB 0%,#EEF5F8 48%,#F8FAFC 100%)!important;
  color:var(--sys-ink)!important;
}

/* 系统级半透明材质层 */
.card,.quote-dock,.product-toolbar,.category-side,.room-combo-panel,
.quote-section.card,.summary .card,.history-card,.room-view-card,
.product-table-wrap,.current-cat-bar,.quote-editor-wrap{
  background:
    linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.52))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:
    0 22px 54px rgba(26,62,70,.10),
    0 8px 20px rgba(26,62,70,.06),
    inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter: blur(28px) saturate(180%)!important;
  -webkit-backdrop-filter: blur(28px) saturate(180%)!important;
}

/* 统一更大的系统倒角 */
.card,.quote-dock,.product-toolbar,.category-side,.room-combo-panel,
.product-table-wrap,.current-cat-bar,.room-view-card,.quote-section.card{
  border-radius:32px!important;
}

/* 左侧报价分类：像系统侧边栏列表，带玻璃反光 */
.cat-list .cat-btn{
  position:relative;
  overflow:hidden;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(247,251,252,.56))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:
    0 10px 24px rgba(26,62,70,.06),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s cubic-bezier(.22,1,.36,1),
    background .28s cubic-bezier(.22,1,.36,1),
    border-color .28s cubic-bezier(.22,1,.36,1)!important;
}
.cat-list .cat-btn::before{
  content:'';
  position:absolute;
  left:-30%;
  top:-80%;
  width:55%;
  height:240%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  opacity:0;
  transition:opacity .24s ease,left .42s cubic-bezier(.22,1,.36,1);
}
.cat-list .cat-btn:hover{
  transform:translateY(-1px) scale(1.012);
  box-shadow:
    0 16px 34px rgba(26,62,70,.09),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.cat-list .cat-btn:hover::before{
  left:82%;
  opacity:.9;
}
.cat-list .cat-btn.active{
  color:#063D64!important;
  background:
    radial-gradient(circle at 16% 20%,rgba(90,200,250,.34),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.86),rgba(232,246,255,.66))!important;
  border-color:rgba(10,132,255,.22)!important;
  box-shadow:
    0 18px 42px rgba(10,132,255,.14),
    0 8px 18px rgba(26,62,70,.07),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.cat-list .cat-btn.active span{
  background:rgba(255,255,255,.62)!important;
  color:#0966B7!important;
  border:1px solid rgba(10,132,255,.12)!important;
}

/* 搜索栏和输入控件：系统输入框质感 */
input,select,textarea{
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,250,252,.76))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 4px 14px rgba(26,62,70,.04)!important;
  color:var(--sys-ink)!important;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1),
    border-color .24s cubic-bezier(.22,1,.36,1)!important;
}
input:focus,select:focus,textarea:focus{
  transform:translateY(-1px);
  border-color:rgba(10,132,255,.26)!important;
  box-shadow:
    0 0 0 6px rgba(10,132,255,.10),
    0 12px 28px rgba(10,132,255,.10),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}

/* 产品表格变成系统里的“可操作列表卡片” */
.product-table{
  border-collapse:separate!important;
  border-spacing:0 12px!important;
  background:transparent!important;
}
.product-table thead th{
  border-radius:20px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.70),rgba(240,248,250,.55))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  color:#4E6871!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 8px 18px rgba(26,62,70,.04)!important;
}

/* 默认行：玻璃白、轻阴影 */
.product-table tbody tr{
  transition:
    transform .34s cubic-bezier(.22,1,.36,1),
    filter .30s ease,
    opacity .24s ease!important;
}
.product-table tbody tr td{
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.58))!important;
  border-top:1px solid rgba(255,255,255,.62)!important;
  border-bottom:1px solid rgba(18,64,72,.06)!important;
  box-shadow:
    0 10px 24px rgba(26,62,70,.045),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
  transition:
    padding .34s cubic-bezier(.22,1,.36,1),
    background .34s cubic-bezier(.22,1,.36,1),
    box-shadow .34s cubic-bezier(.22,1,.36,1),
    border-color .34s cubic-bezier(.22,1,.36,1)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid rgba(255,255,255,.62)!important;
  border-radius:28px 0 0 28px!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid rgba(255,255,255,.62)!important;
  border-radius:0 28px 28px 0!important;
}
.product-table tbody tr:hover{
  transform:translateY(-2px) scale(1.006);
}
.product-table tbody tr:hover td{
  background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,252,253,.70))!important;
  box-shadow:
    0 16px 34px rgba(26,62,70,.075),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}

/* 选中行：回到“有感觉”的玻璃高亮，但颜色有秩序 */
.product-table tbody tr.active-product{
  position:relative;
  z-index:8;
  transform:translateY(-4px) scale(1.018);
  filter:saturate(1.08);
}
.product-table tbody tr.active-product td{
  padding-top:22px!important;
  padding-bottom:22px!important;
  background:
    radial-gradient(circle at 8% 10%,rgba(90,200,250,.26),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(235,248,255,.72))!important;
  border-top:1px solid rgba(10,132,255,.18)!important;
  border-bottom:1px solid rgba(10,132,255,.16)!important;
  box-shadow:
    0 26px 58px rgba(10,132,255,.13),
    0 12px 28px rgba(26,62,70,.08),
    inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:5px solid rgba(10,132,255,.90)!important;
  border-radius:34px 0 0 34px!important;
}
.product-table tbody tr.active-product td:last-child{
  border-radius:0 34px 34px 0!important;
}
.product-table tbody tr.active-product .product-name{
  font-size:20px!important;
  color:#113846!important;
  letter-spacing:-.02em;
}
.product-table tbody tr.active-product .product-sub{
  color:#58717A!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:'';
  display:inline-flex;
  align-items:center;
  margin-left:9px;
  padding:5px 12px;
  border-radius:999px;
  color:#075EB0!important;
  font-size:12px;
  font-weight:1000;
  background:
    linear-gradient(180deg,rgba(255,255,255,.72),rgba(220,241,255,.64))!important;
  border:1px solid rgba(10,132,255,.16)!important;
  box-shadow:
    0 10px 22px rgba(10,132,255,.10),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.product-table tbody tr.active-product .row-index{
  width:36px!important;
  height:36px!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.44),transparent 34%),
    linear-gradient(135deg,#0A84FF,#32B8F5)!important;
  color:#fff!important;
  box-shadow:
    0 14px 30px rgba(10,132,255,.22),
    inset 0 1px 0 rgba(255,255,255,.28)!important;
}

/* 选中行里的价格/数量变成 iOS 控制卡片感 */
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  padding:9px!important;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(244,251,253,.62))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:
    0 12px 28px rgba(10,132,255,.08),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}

/* 价格允许有一点暖色，像系统里的强调色，不再单调 */
.price-input,
.product-table tbody tr.active-product .price-input{
  color:#D77200!important;
}
.product-table tbody tr.active-product .quick-add-button{
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.34),transparent 35%),
    linear-gradient(135deg,#0A84FF,#007AFF)!important;
  color:#fff!important;
  box-shadow:
    0 14px 30px rgba(10,132,255,.24),
    inset 0 1px 0 rgba(255,255,255,.28)!important;
}

/* 按钮：系统按钮，不像网页按钮 */
.btn,.quick-add-button,button{
  border-radius:20px!important;
  transition:
    transform .26s cubic-bezier(.22,1,.36,1),
    box-shadow .26s cubic-bezier(.22,1,.36,1),
    filter .26s ease!important;
}
.btn:hover,.quick-add-button:hover,button:hover{
  transform:translateY(-1px) scale(1.012);
  filter:saturate(1.04);
}
.btn:active,.quick-add-button:active,button:active{
  transform:translateY(0) scale(.985);
}

/* 胶囊、标签、房间按钮加入更真实的系统材质 */
.pill,.chip,.tag,.picked-badge,.room-tab,.combo-pill{
  background:
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(245,250,252,.56))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:
    0 8px 18px rgba(26,62,70,.05),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
}
.room-tab.active{
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.36),transparent 34%),
    linear-gradient(135deg,#0A84FF,#007AFF)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(10,132,255,.20)!important;
}

/* 选中弹性动画更系统感 */
.product-table tbody tr.select-pop{
  animation:systemSelectPop .42s cubic-bezier(.18,1.15,.28,1);
}
@keyframes systemSelectPop{
  0%{transform:translateY(8px) scale(.992);opacity:.84}
  58%{transform:translateY(-5px) scale(1.022);opacity:1}
  100%{transform:translateY(-4px) scale(1.018);opacity:1}
}

/* 明细区域不要变得网页化 */
.quote-line,.room-card,.selected-table,.quote-editor-wrap{
  border-radius:30px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,251,252,.56))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:
    0 16px 36px rgba(26,62,70,.07),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
}


/* V44：互动颜色专业化。保留 Apple 系统材质，但统一交互色盘，避免点击后颜色乱跳 */
:root{
  --pro-bg-0:#F5F8FB;
  --pro-bg-1:#FFFFFF;
  --pro-bg-2:#F7FAFC;
  --pro-ink:#142D3A;
  --pro-ink-2:#2E4B59;
  --pro-muted:#667D89;
  --pro-line:rgba(20,45,58,.095);
  --pro-glass:rgba(255,255,255,.74);
  --pro-glass-strong:rgba(255,255,255,.88);
  --pro-blue:#0A84FF;
  --pro-blue-deep:#006FD6;
  --pro-blue-soft:rgba(10,132,255,.105);
  --pro-blue-line:rgba(10,132,255,.18);
  --pro-cyan:#64D2FF;
  --pro-cyan-soft:rgba(100,210,255,.13);
  --pro-amber:#B86B12;
  --pro-amber-soft:rgba(184,107,18,.10);
  --pro-shadow:0 14px 34px rgba(20,45,58,.075);
  --pro-shadow-active:0 24px 56px rgba(10,132,255,.13), 0 12px 26px rgba(20,45,58,.08);
}

/* 基础材质：背景允许有层次，但弱化彩色光斑，避免“花” */
body{
  background:
    radial-gradient(circle at 10% 8%, rgba(100,210,255,.14), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(10,132,255,.07), transparent 30%),
    linear-gradient(180deg,#F6F9FC 0%,#EEF5F8 48%,#F8FAFC 100%)!important;
  color:var(--pro-ink)!important;
}

/* 容器和卡片统一玻璃白，不再每块一个色 */
.card,.quote-dock,.product-toolbar,.category-side,.room-combo-panel,
.quote-section.card,.summary .card,.history-card,.room-view-card,
.product-table-wrap,.current-cat-bar,.quote-editor-wrap,.room-card,
.selected-table,.quote-line{
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(247,251,253,.66))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:var(--pro-shadow), inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(26px) saturate(160%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(160%)!important;
}

/* 所有普通文字、说明文字统一，不使用蓝绿橙乱跳 */
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b{
  color:var(--pro-ink)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label{
  color:var(--pro-muted)!important;
}

/* 左侧分类：未选中是白灰，选中只用一套蓝色系统 */
.cat-list .cat-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,251,253,.66))!important;
  color:var(--pro-ink-2)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 8px 20px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.cat-list .cat-btn b{color:var(--pro-ink)!important}
.cat-list .cat-btn small{color:var(--pro-muted)!important}
.cat-list .cat-btn span{
  color:var(--pro-muted)!important;
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(20,45,58,.055)!important;
}
.cat-list .cat-btn:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(244,250,253,.76))!important;
  border-color:var(--pro-blue-line)!important;
  box-shadow:0 12px 26px rgba(20,45,58,.065), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.cat-list .cat-btn.active{
  color:var(--pro-blue-deep)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(239,247,255,.82))!important;
  border-color:var(--pro-blue-line)!important;
  box-shadow:0 16px 34px rgba(10,132,255,.105), inset 0 1px 0 rgba(255,255,255,.94)!important;
}
.cat-list .cat-btn.active b{color:var(--pro-blue-deep)!important}
.cat-list .cat-btn.active small{color:#526F83!important}
.cat-list .cat-btn.active span{
  color:var(--pro-blue-deep)!important;
  background:var(--pro-blue-soft)!important;
  border-color:var(--pro-blue-line)!important;
}

/* 房间、组合、标签：全部走蓝灰玻璃，不再出现随机暖色大块 */
.room-tab,.combo-pill,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  color:var(--pro-ink-2)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(247,251,253,.66))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.room-tab:hover,.combo-pill:hover{
  border-color:var(--pro-blue-line)!important;
  box-shadow:0 12px 24px rgba(10,132,255,.075), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.room-tab.active{
  color:#fff!important;
  background:linear-gradient(180deg,var(--pro-blue),var(--pro-blue-deep))!important;
  border-color:rgba(255,255,255,.35)!important;
  box-shadow:0 16px 30px rgba(10,132,255,.20), inset 0 1px 0 rgba(255,255,255,.30)!important;
}

/* 产品列表表头和默认行：中性白灰 */
.product-table thead th{
  color:#516A77!important;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(241,247,250,.68))!important;
  border:1px solid rgba(255,255,255,.62)!important;
}
.product-table tbody tr td{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(250,252,253,.68))!important;
  border-top:1px solid rgba(255,255,255,.64)!important;
  border-bottom:1px solid rgba(20,45,58,.055)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.04), inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.product-table tbody tr:hover td{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,251,253,.74))!important;
  border-color:rgba(10,132,255,.105)!important;
  box-shadow:0 14px 28px rgba(20,45,58,.06), inset 0 1px 0 rgba(255,255,255,.92)!important;
}

/* 关键：选中行只用“蓝 + 白玻璃 + 一点浅青光”，不再出现橙、绿、大面积混色 */
.product-table tbody tr.active-product td{
  background:
    radial-gradient(circle at 7% 12%, rgba(100,210,255,.18), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(239,247,255,.78))!important;
  border-top:1px solid var(--pro-blue-line)!important;
  border-bottom:1px solid var(--pro-blue-line)!important;
  box-shadow:var(--pro-shadow-active), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:5px solid var(--pro-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid var(--pro-blue-line)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--pro-ink)!important;
}
.product-table tbody tr.active-product .product-sub{
  color:#526F83!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:'';
  color:var(--pro-blue-deep)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(229,242,255,.70))!important;
  border:1px solid var(--pro-blue-line)!important;
  box-shadow:0 8px 18px rgba(10,132,255,.09), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.product-table tbody tr.active-product .row-index{
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.38),transparent 34%),
    linear-gradient(180deg,var(--pro-blue),var(--pro-blue-deep))!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(10,132,255,.18), inset 0 1px 0 rgba(255,255,255,.28)!important;
}

/* 价格/单位/数量卡：保持玻璃白，不使用杂色背景 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(246,251,253,.70))!important;
  border:1px solid rgba(255,255,255,.66)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.price-input,.unit-input,.unit-select,.price-edit-box select,
.product-table tbody tr.active-product .price-input{
  color:var(--pro-ink)!important;
}
.price-input{
  color:#7A4A12!important; /* 价格保留一点专业暖棕，但不参与选中色彩 */
}

/* CTA按钮统一蓝色，不允许其他颜色抢戏 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  color:#fff!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.32),transparent 34%),
    linear-gradient(180deg,var(--pro-blue),var(--pro-blue-deep))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 12px 24px rgba(10,132,255,.18), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 16px 30px rgba(10,132,255,.22), inset 0 1px 0 rgba(255,255,255,.30)!important;
}

/* 次级按钮中性，避免红橙绿 */
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  color:var(--pro-ink-2)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(247,251,253,.68))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.88)!important;
}

/* 漏项提醒按钮保留提醒感，但降低橙色占比 */
.check-item.warn{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,249,242,.62))!important;
  border-color:rgba(184,107,18,.12)!important;
}
.check-item.warn .fix-btn{
  color:#7A4A12!important;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,245,232,.72))!important;
  border:1px solid rgba(184,107,18,.16)!important;
  box-shadow:0 8px 18px rgba(184,107,18,.08), inset 0 1px 0 rgba(255,255,255,.90)!important;
}

/* 顶部已选小表、房间视图、明细编辑：统一蓝灰，不乱入别的强调色 */
.selected-table .s-room,.room-card-head span,.room-card-row em,
.quote-editor-row .amount,.total-num,.money,.price-strong{
  color:#155C9D!important;
}
.selected-chip,.quote-editor-row,.room-card-row{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(247,251,253,.62))!important;
  border-color:rgba(255,255,255,.58)!important;
}

/* 过渡速度统一，避免某些区域突兀 */
.cat-btn,.room-tab,.combo-pill,.product-table tbody tr,
.product-table tbody tr td,.quick-add-button,.btn,input,select{
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s cubic-bezier(.22,1,.36,1),
    background .28s cubic-bezier(.22,1,.36,1),
    border-color .28s cubic-bezier(.22,1,.36,1),
    color .20s ease!important;
}


/* V45：同一项目连续点击不重复播放动效，只有首次点击或切换项目时才动 */
.product-table tbody tr.active-product:not(.select-pop){
  animation:none!important;
}


/* V46：取消点击选中后的“”标签 */
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}


/* V46 final：强制隐藏所有选中行说明标签 */
.product-table tbody tr.active-product .product-sub::after,
.preview-row.active-product .product-sub::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}


/* V47：高级配色 + 几何层级重做。该圆的圆，该方的方，不再全站大圆角 */
:root{
  --v47-bg:#F5F3EF;
  --v47-bg-2:#EEF2F4;
  --v47-panel:#FBFAF7;
  --v47-panel-2:#FFFFFF;
  --v47-ink:#1D252B;
  --v47-ink-2:#33434D;
  --v47-muted:#6E7A82;
  --v47-line:rgba(29,37,43,.12);
  --v47-line-soft:rgba(29,37,43,.075);
  --v47-blue:#1F6FAE;
  --v47-blue-2:#0A84FF;
  --v47-blue-soft:rgba(31,111,174,.10);
  --v47-teal:#2A8C90;
  --v47-warm:#A86920;
  --v47-shadow:0 12px 30px rgba(29,37,43,.08);
  --v47-shadow-strong:0 18px 42px rgba(29,37,43,.12);

  /* 几何层级 */
  --r-shell:22px;      /* 大容器 */
  --r-card:16px;       /* 普通卡片 */
  --r-list:10px;       /* 表格/列表行 */
  --r-control:10px;    /* 输入框按钮 */
  --r-chip:999px;      /* 标签胶囊 */
}

/* 背景：高级暖灰 + 冷灰光，不再彩色乱飘 */
body{
  background:
    radial-gradient(circle at 8% 6%, rgba(31,111,174,.075), transparent 26%),
    radial-gradient(circle at 86% 10%, rgba(42,140,144,.055), transparent 28%),
    linear-gradient(180deg,var(--v47-bg) 0%,#F8F7F4 42%,var(--v47-bg-2) 100%)!important;
  color:var(--v47-ink)!important;
}

/* 大外壳可以圆，但别圆得像玩具 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card{
  border-radius:var(--r-shell)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(249,248,245,.76))!important;
  border:1px solid rgba(255,255,255,.70)!important;
  box-shadow:var(--v47-shadow), inset 0 1px 0 rgba(255,255,255,.88)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
}

/* 信息卡、功能块用中等圆角 */
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill{
  border-radius:var(--r-card)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(249,250,249,.78))!important;
  border:1px solid var(--v47-line-soft)!important;
  box-shadow:0 8px 22px rgba(29,37,43,.055)!important;
}

/* 左侧分类：像专业软件的导航项，不要全胶囊 */
.cat-list{
  gap:8px!important;
}
.cat-list .cat-btn{
  border-radius:12px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(29,37,43,.08)!important;
  color:var(--v47-ink-2)!important;
  box-shadow:none!important;
  padding:13px 14px!important;
}
.cat-list .cat-btn:hover{
  background:#FFFFFF!important;
  border-color:rgba(31,111,174,.18)!important;
  transform:translateX(2px)!important;
  box-shadow:0 8px 18px rgba(29,37,43,.055)!important;
}
.cat-list .cat-btn.active{
  background:
    linear-gradient(90deg,rgba(31,111,174,.12),rgba(255,255,255,.92))!important;
  color:var(--v47-blue)!important;
  border-color:rgba(31,111,174,.22)!important;
  box-shadow:inset 3px 0 0 var(--v47-blue),0 8px 18px rgba(31,111,174,.08)!important;
}
.cat-list .cat-btn b{color:inherit!important}
.cat-list .cat-btn small{color:var(--v47-muted)!important}
.cat-list .cat-btn span{
  border-radius:8px!important;
  background:rgba(29,37,43,.045)!important;
  color:var(--v47-muted)!important;
  border:0!important;
}
.cat-list .cat-btn.active span{
  background:rgba(31,111,174,.10)!important;
  color:var(--v47-blue)!important;
}

/* 表格：表头要方整，列表行要微圆，不要全部大圆角 */
.product-table{
  border-collapse:separate!important;
  border-spacing:0 7px!important;
}
.product-table thead th{
  border-radius:6px!important;
  background:#E9EEF1!important;
  color:#40515B!important;
  border:1px solid rgba(29,37,43,.08)!important;
  box-shadow:none!important;
  padding:12px 14px!important;
}
.product-table tbody tr{
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1),
    filter .20s ease!important;
}
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid rgba(29,37,43,.07)!important;
  border-bottom:1px solid rgba(29,37,43,.07)!important;
  box-shadow:0 4px 12px rgba(29,37,43,.035)!important;
  padding:13px 14px!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid rgba(29,37,43,.07)!important;
  border-radius:var(--r-list) 0 0 var(--r-list)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid rgba(29,37,43,.07)!important;
  border-radius:0 var(--r-list) var(--r-list) 0!important;
}
.product-table tbody tr:hover{
  transform:translateY(-1px)!important;
}
.product-table tbody tr:hover td{
  background:#FBFCFD!important;
  border-color:rgba(31,111,174,.13)!important;
  box-shadow:0 9px 22px rgba(29,37,43,.06)!important;
}

/* 选中状态：专业软件感，强调清晰但不花 */
.product-table tbody tr.active-product{
  transform:translateY(-2px) scale(1.006)!important;
  z-index:5!important;
  filter:none!important;
}
.product-table tbody tr.active-product td{
  padding-top:17px!important;
  padding-bottom:17px!important;
  background:
    linear-gradient(180deg,#FFFFFF 0%,#F3F8FC 100%)!important;
  border-top:1px solid rgba(31,111,174,.23)!important;
  border-bottom:1px solid rgba(31,111,174,.23)!important;
  box-shadow:0 16px 34px rgba(31,111,174,.10),0 8px 18px rgba(29,37,43,.06)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v47-blue)!important;
  border-radius:14px 0 0 14px!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(31,111,174,.23)!important;
  border-radius:0 14px 14px 0!important;
}
.product-table tbody tr.active-product .product-name{
  color:#1A303B!important;
  font-size:18px!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}
.product-table tbody tr.active-product .row-index{
  width:30px!important;
  height:30px!important;
  border-radius:9px!important;
  background:var(--v47-blue)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(31,111,174,.16)!important;
}

/* 价格/数量操作区：小控件可以圆，但保持方整 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  border-radius:12px!important;
  background:#F6F8FA!important;
  border:1px solid rgba(29,37,43,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
  padding:6px!important;
}

/* 输入和下拉：标准系统控件，不要大圆 */
input,select,textarea{
  border-radius:var(--r-control)!important;
  background:#FFFFFF!important;
  color:var(--v47-ink)!important;
  border:1px solid rgba(29,37,43,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(31,111,174,.35)!important;
  box-shadow:0 0 0 4px rgba(31,111,174,.10)!important;
  transform:none!important;
}

/* 按钮：主按钮微圆，标签才用胶囊 */
.btn,.quick-add-button,button{
  border-radius:11px!important;
  transition:
    transform .20s cubic-bezier(.22,1,.36,1),
    box-shadow .20s cubic-bezier(.22,1,.36,1),
    background .20s ease!important;
}
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#2B7DBA,#1F6FAE)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 18px rgba(31,111,174,.16)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(31,111,174,.20)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v47-ink-2)!important;
  border:1px solid rgba(29,37,43,.11)!important;
  box-shadow:none!important;
}

/* 房间 tab / 小标签：这里可以圆，因为它们就是选择胶囊 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  border-radius:var(--r-chip)!important;
}
.room-tab{
  background:#FFFFFF!important;
  border:1px solid rgba(29,37,43,.10)!important;
  color:var(--v47-ink-2)!important;
  box-shadow:none!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#2B7DBA,#1F6FAE)!important;
  color:#fff!important;
  border-color:rgba(31,111,174,.25)!important;
  box-shadow:0 10px 22px rgba(31,111,174,.18)!important;
}

/* 组合卡、房间卡：中等圆角即可 */
.combo-pill,.room-card{
  border-radius:16px!important;
}
.combo-pill b{
  color:var(--v47-ink)!important;
}
.combo-pill span{
  color:var(--v47-muted)!important;
}

/* 金额和价格：用温和暖棕点缀，不要到处橙 */
.price-input{
  color:#80511A!important;
}
.money,.price-strong,.total-num,.room-card-head span,.room-card-row em{
  color:#80511A!important;
}

/* 顶部已选、明细编辑：更方整一些，像真正报价系统 */
.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  border-radius:10px!important;
}
.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid rgba(29,37,43,.08)!important;
  box-shadow:0 4px 12px rgba(29,37,43,.035)!important;
}

/* 漏项提醒：提醒要有区别，但控制饱和度 */
.check-item.warn{
  background:#FFF8EF!important;
  border:1px solid rgba(128,81,26,.16)!important;
}
.check-item.warn .fix-btn{
  background:#80511A!important;
  color:#fff!important;
  border-radius:10px!important;
  box-shadow:0 8px 18px rgba(128,81,26,.16)!important;
}

/* 动效更稳：减少漂浮感 */
.product-table tbody tr.select-pop{
  animation:v47Select .26s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v47Select{
  0%{transform:translateY(2px) scale(.998);opacity:.92}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}

/* 几个不该过圆的地方强制收回 */
.current-cat-bar,
.product-table-wrap,
.quote-editor-wrap{
  border-radius:12px!important;
}


/* V48：提高明度，清掉“脏灰感”。保留 V47 的几何层级，不再改形状 */
:root{
  --v48-bg:#F8FAFC;
  --v48-bg-cool:#F2F7FA;
  --v48-panel:#FFFFFF;
  --v48-panel-soft:#FBFDFE;
  --v48-ink:#17232B;
  --v48-ink-2:#2F4350;
  --v48-muted:#74828B;
  --v48-line:rgba(23,35,43,.085);
  --v48-line-light:rgba(23,35,43,.055);
  --v48-blue:#2479BD;
  --v48-blue-deep:#1769A8;
  --v48-blue-soft:rgba(36,121,189,.095);
  --v48-blue-line:rgba(36,121,189,.18);
  --v48-gold:#9A661C;
  --v48-gold-soft:rgba(154,102,28,.08);
  --v48-shadow:0 10px 24px rgba(23,35,43,.055);
  --v48-shadow-active:0 16px 34px rgba(36,121,189,.115),0 8px 18px rgba(23,35,43,.05);
}

/* 背景抬亮：去掉过厚暖灰，保留一点冷白空气感 */
body{
  background:
    radial-gradient(circle at 8% 6%, rgba(36,121,189,.055), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(100,210,255,.045), transparent 30%),
    linear-gradient(180deg,#FAFBFC 0%,var(--v48-bg) 46%,var(--v48-bg-cool) 100%)!important;
  color:var(--v48-ink)!important;
}

/* 面板抬亮：白度提高、透明灰降低，减少玻璃叠灰 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill{
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFDFE 100%)!important;
  border:1px solid rgba(23,35,43,.065)!important;
  box-shadow:var(--v48-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题和说明提升清晰度 */
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v48-ink)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label{
  color:var(--v48-muted)!important;
}

/* 左侧分类：更亮、更干净 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v48-line-light)!important;
  color:var(--v48-ink-2)!important;
  box-shadow:0 4px 12px rgba(23,35,43,.032)!important;
}
.cat-list .cat-btn:hover{
  background:#FBFDFF!important;
  border-color:var(--v48-blue-line)!important;
  box-shadow:0 8px 18px rgba(23,35,43,.045)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,rgba(36,121,189,.095),#FFFFFF 78%)!important;
  color:var(--v48-blue-deep)!important;
  border-color:var(--v48-blue-line)!important;
  box-shadow:inset 3px 0 0 var(--v48-blue),0 8px 18px rgba(36,121,189,.07)!important;
}
.cat-list .cat-btn span{
  background:#F3F7FA!important;
  color:#6F7E88!important;
}
.cat-list .cat-btn.active span{
  background:#EAF4FC!important;
  color:var(--v48-blue-deep)!important;
}

/* 表格表头：从灰块改成干净浅蓝灰 */
.product-table thead th{
  background:#F2F7FA!important;
  color:#43535E!important;
  border:1px solid rgba(23,35,43,.065)!important;
  box-shadow:none!important;
}

/* 表格默认行：白度提高，边线更轻 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v48-line-light)!important;
  border-bottom:1px solid var(--v48-line-light)!important;
  box-shadow:0 3px 10px rgba(23,35,43,.025)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--v48-line-light)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--v48-line-light)!important;
}
.product-table tbody tr:hover td{
  background:#FCFEFF!important;
  border-color:rgba(36,121,189,.12)!important;
  box-shadow:0 8px 18px rgba(23,35,43,.04)!important;
}

/* 选中行：抬亮，不要浑浊蓝灰 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F5FAFE 100%)!important;
  border-top:1px solid rgba(36,121,189,.20)!important;
  border-bottom:1px solid rgba(36,121,189,.20)!important;
  box-shadow:var(--v48-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v48-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(36,121,189,.20)!important;
}
.product-table tbody tr.active-product .product-name{
  color:#172A34!important;
}
.product-table tbody tr.active-product .product-sub{
  color:#647682!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2B86CC,#2479BD)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(36,121,189,.14)!important;
}

/* 操作区、输入区：去灰，变干净白 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FBFD!important;
  border:1px solid rgba(23,35,43,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92)!important;
}
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v48-ink)!important;
  border:1px solid rgba(23,35,43,.12)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(36,121,189,.36)!important;
  box-shadow:0 0 0 4px rgba(36,121,189,.085)!important;
}

/* 按钮蓝色稍微提亮，更干净 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#2F88CE,#2479BD)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 18px rgba(36,121,189,.15)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 12px 24px rgba(36,121,189,.18)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v48-ink-2)!important;
  border:1px solid rgba(23,35,43,.10)!important;
}

/* 房间 tab / 标签：白底更亮 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid rgba(23,35,43,.075)!important;
  color:var(--v48-ink-2)!important;
  box-shadow:0 3px 10px rgba(23,35,43,.025)!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#2F88CE,#2479BD)!important;
  color:#fff!important;
  border-color:rgba(36,121,189,.24)!important;
  box-shadow:0 9px 18px rgba(36,121,189,.16)!important;
}

/* 金额暖色降低脏感：更亮、更清透的金棕 */
.price-input{
  color:var(--v48-gold)!important;
}
.money,.price-strong,.total-num,.room-card-head span,.room-card-row em{
  color:var(--v48-gold)!important;
}

/* 已选小表、明细编辑抬亮 */
.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid rgba(23,35,43,.07)!important;
  box-shadow:0 3px 10px rgba(23,35,43,.025)!important;
}

/* 漏项提醒：从脏黄变成干净浅米白 */
.check-item.warn{
  background:#FFFCF7!important;
  border:1px solid rgba(154,102,28,.13)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#A36D22,#8F5F1C)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(154,102,28,.13)!important;
}

/* 底部和区域留白处也提亮 */
.summary,.footer,.print-area{
  background:transparent!important;
}

/* 防止旧版深灰/脏灰覆盖回来 */
.product-table tr:nth-child(even) td{
  background:#FFFFFF!important;
}


/* V49：文字/底色冲突修正。提高文字对比，降低脏色叠加，整体更清爽 */
:root{
  --v49-bg:#F6F8FB;
  --v49-bg-soft:#EEF3F7;
  --v49-panel:#FFFFFF;
  --v49-panel-soft:#FAFCFE;
  --v49-header:#EEF4F8;
  --v49-ink:#18242D;
  --v49-title:#111C24;
  --v49-text:#24323C;
  --v49-sub:#5F6E7A;
  --v49-muted:#7A8792;
  --v49-line:rgba(24,36,45,.105);
  --v49-line-soft:rgba(24,36,45,.065);
  --v49-blue:#1E73B8;
  --v49-blue-deep:#155F99;
  --v49-blue-soft:#EFF7FF;
  --v49-blue-line:rgba(30,115,184,.20);
  --v49-warning:#9A6418;
  --v49-warning-bg:#FFF8ED;
  --v49-shadow:0 8px 20px rgba(24,36,45,.055);
  --v49-shadow-active:0 16px 34px rgba(30,115,184,.12),0 8px 18px rgba(24,36,45,.045);
}

/* 底色改成冷白灰，不用脏暖灰 */
body{
  background:
    linear-gradient(180deg,#FAFBFD 0%,var(--v49-bg) 52%,var(--v49-bg-soft) 100%)!important;
  color:var(--v49-text)!important;
}

/* 面板统一白，不再用透明灰叠加 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:var(--v49-panel)!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:var(--v49-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题、正文、说明统一文字层级 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3,
.brand h1{
  color:var(--v49-title)!important;
  text-shadow:none!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v49-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v49-sub)!important;
}
::placeholder{
  color:#94A0AA!important;
}

/* 基础信息区 label 更清楚，不再灰到糊 */
.field label,.mini-label{
  font-weight:800!important;
  color:#43515D!important;
  letter-spacing:.01em;
}

/* 左侧分类：文字深一点，底色纯净一点 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v49-line-soft)!important;
  color:var(--v49-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{
  color:var(--v49-title)!important;
}
.cat-list .cat-btn small{
  color:var(--v49-sub)!important;
}
.cat-list .cat-btn span{
  background:#F2F6F9!important;
  color:#5D6B76!important;
}
.cat-list .cat-btn:hover{
  background:#FCFEFF!important;
  border-color:var(--v49-blue-line)!important;
  box-shadow:0 8px 16px rgba(24,36,45,.045)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--v49-blue-soft),#FFFFFF 78%)!important;
  color:var(--v49-blue-deep)!important;
  border-color:var(--v49-blue-line)!important;
  box-shadow:inset 3px 0 0 var(--v49-blue),0 8px 16px rgba(30,115,184,.07)!important;
}
.cat-list .cat-btn.active b{
  color:var(--v49-blue-deep)!important;
}
.cat-list .cat-btn.active small{
  color:#506A7C!important;
}
.cat-list .cat-btn.active span{
  background:#E6F2FC!important;
  color:var(--v49-blue-deep)!important;
}

/* 表头使用干净浅蓝灰，文字更清楚 */
.product-table thead th,
.quote-editor-head{
  background:var(--v49-header)!important;
  color:#334450!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:none!important;
}

/* 表格行：纯白底，降低灰噪声 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v49-line-soft)!important;
  border-bottom:1px solid var(--v49-line-soft)!important;
  box-shadow:0 2px 8px rgba(24,36,45,.025)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--v49-line-soft)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--v49-line-soft)!important;
}
.product-table tbody tr:hover td{
  background:#FCFEFF!important;
  border-color:rgba(30,115,184,.13)!important;
  box-shadow:0 8px 18px rgba(24,36,45,.04)!important;
}

/* 选中行：浅蓝白，不要灰蓝脏底 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F3F9FE 100%)!important;
  border-top:1px solid rgba(30,115,184,.24)!important;
  border-bottom:1px solid rgba(30,115,184,.24)!important;
  box-shadow:var(--v49-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v49-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(30,115,184,.24)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v49-title)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#536878!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2E82C5,#1E73B8)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(30,115,184,.16)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 价格不再用偏脏暖棕，改成深蓝体系；警告才用暖色 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v49-blue-deep)!important;
}

/* 输入/选择/操作区纯白清爽 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FBFD!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v49-text)!important;
  border:1px solid rgba(24,36,45,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(30,115,184,.40)!important;
  box-shadow:0 0 0 4px rgba(30,115,184,.09)!important;
}

/* 按钮：蓝色清爽，文字反差足 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#2E82C5,#1E73B8)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 18px rgba(30,115,184,.14)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 12px 22px rgba(30,115,184,.18)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v49-text)!important;
  border:1px solid rgba(24,36,45,.11)!important;
  box-shadow:none!important;
}

/* 房间 tab / 标签：白底黑字，选中蓝底白字 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v49-line-soft)!important;
  color:var(--v49-text)!important;
  box-shadow:none!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#2E82C5,#1E73B8)!important;
  color:#FFFFFF!important;
  border-color:rgba(30,115,184,.28)!important;
  box-shadow:0 8px 16px rgba(30,115,184,.15)!important;
}

/* 常用组合文案不要黄棕一片 */
.combo-pill b{
  color:var(--v49-title)!important;
}
.combo-pill span{
  color:var(--v49-sub)!important;
}

/* 已选小表、明细编辑：正文更清楚 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:0 2px 8px rgba(24,36,45,.025)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--v49-blue-deep)!important;
}

/* 漏项提醒保留暖色，但文字要干净 */
.check-item.warn{
  background:var(--v49-warning-bg)!important;
  border:1px solid rgba(154,100,24,.16)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#5C3A12!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#A66B1B,#8C5813)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 16px rgba(154,100,24,.12)!important;
}

/* 取消旧版可能残留的脏色块 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F3F9FE 100%)!important;
}

/* 避免段落在浅灰底上发糊 */
p,small,span,em{
  text-shadow:none!important;
}


/* V50：整体高级配色重构。深石墨 / 瓷白 / 雾蓝 / 香槟金 */
:root{
  --v50-graphite:#111820;
  --v50-graphite-2:#17212B;
  --v50-ink:#16202A;
  --v50-text:#26333E;
  --v50-sub:#66727D;
  --v50-muted:#8A95A0;

  --v50-bg:#F6F4EF;
  --v50-bg-2:#EEF3F6;
  --v50-panel:#FFFFFF;
  --v50-panel-soft:#FAFBFC;
  --v50-line:rgba(22,32,42,.10);
  --v50-line-soft:rgba(22,32,42,.065);

  --v50-blue:#2B6EA6;
  --v50-blue-deep:#1F5B8E;
  --v50-blue-soft:#EAF3FB;
  --v50-blue-line:rgba(43,110,166,.22);

  --v50-gold:#B98535;
  --v50-gold-deep:#8F6424;
  --v50-gold-soft:#FFF5E6;

  --v50-sage:#587B72;
  --v50-sage-soft:#EEF6F3;

  --v50-shadow:0 10px 26px rgba(17,24,32,.065);
  --v50-shadow-card:0 16px 36px rgba(17,24,32,.085);
  --v50-shadow-blue:0 16px 34px rgba(43,110,166,.16),0 8px 18px rgba(17,24,32,.06);
}

/* 背景：不再是普通网站白灰，改成瓷白 + 微冷雾蓝，干净但有层次 */
body{
  background:
    radial-gradient(circle at 8% 4%, rgba(43,110,166,.10), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(185,133,53,.075), transparent 28%),
    linear-gradient(180deg,#FBFAF7 0%,var(--v50-bg) 42%,var(--v50-bg-2) 100%)!important;
  color:var(--v50-text)!important;
}

/* 顶部变高级：深石墨导航，不再一片白 */
.header{
  background:
    linear-gradient(135deg,#0F161D 0%,#17212B 58%,#20303C 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 14px 34px rgba(17,24,32,.18)!important;
}
.header h1,.brand h1{
  color:#FFFFFF!important;
  letter-spacing:.01em!important;
}
.header p,.brand p{
  color:rgba(255,255,255,.66)!important;
}
.mark{
  background:
    linear-gradient(135deg,#F4D7A1 0%,#B98535 100%)!important;
  color:#17212B!important;
  box-shadow:0 10px 24px rgba(185,133,53,.22)!important;
}
.save-chip{
  background:rgba(255,255,255,.09)!important;
  color:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}

/* 大卡片：瓷白面板 + 细线，不脏不廉价 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%)!important;
  border:1px solid var(--v50-line-soft)!important;
  box-shadow:var(--v50-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题系统：深石墨主文字，说明是蓝灰，不再灰扑扑 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v50-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v50-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v50-sub)!important;
}
::placeholder{
  color:#9AA3AC!important;
}

/* 基础信息区：标签更专业 */
.field label,.mini-label{
  font-weight:850!important;
  color:#4C5964!important;
}

/* 左侧分类：深石墨文字 + 雾蓝选中，更像软件导航 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v50-line-soft)!important;
  color:var(--v50-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{
  color:var(--v50-ink)!important;
}
.cat-list .cat-btn small{
  color:var(--v50-sub)!important;
}
.cat-list .cat-btn span{
  background:#F1F4F6!important;
  color:#65727D!important;
}
.cat-list .cat-btn:hover{
  background:#FCFDFE!important;
  border-color:var(--v50-blue-line)!important;
  box-shadow:0 8px 18px rgba(17,24,32,.05)!important;
}
.cat-list .cat-btn.active{
  background:
    linear-gradient(90deg,var(--v50-blue-soft) 0%,#FFFFFF 78%)!important;
  color:var(--v50-blue-deep)!important;
  border-color:var(--v50-blue-line)!important;
  box-shadow:inset 3px 0 0 var(--v50-blue),0 10px 22px rgba(43,110,166,.09)!important;
}
.cat-list .cat-btn.active b{
  color:var(--v50-blue-deep)!important;
}
.cat-list .cat-btn.active small{
  color:#536C7E!important;
}
.cat-list .cat-btn.active span{
  background:#DDECF7!important;
  color:var(--v50-blue-deep)!important;
}

/* 搜索区和基础输入：纯净，不用灰底压字 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v50-text)!important;
  border:1px solid rgba(22,32,42,.14)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(43,110,166,.44)!important;
  box-shadow:0 0 0 4px rgba(43,110,166,.10)!important;
}

/* 表头：雾蓝灰，商务感更强 */
.product-table thead th,
.quote-editor-head{
  background:#EAF0F4!important;
  color:#344451!important;
  border:1px solid rgba(22,32,42,.075)!important;
  box-shadow:none!important;
}

/* 表格行：瓷白底，不要普通灰块 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v50-line-soft)!important;
  border-bottom:1px solid var(--v50-line-soft)!important;
  box-shadow:0 3px 10px rgba(17,24,32,.028)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--v50-line-soft)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--v50-line-soft)!important;
}
.product-table tbody tr:hover td{
  background:#FCFEFF!important;
  border-color:rgba(43,110,166,.16)!important;
  box-shadow:0 10px 22px rgba(17,24,32,.05)!important;
}

/* 选中行：雾蓝高光 + 深蓝线，不花，但有高级感 */
.product-table tbody tr.active-product td{
  background:
    linear-gradient(180deg,#FFFFFF 0%,#F1F7FC 100%)!important;
  border-top:1px solid rgba(43,110,166,.26)!important;
  border-bottom:1px solid rgba(43,110,166,.26)!important;
  box-shadow:var(--v50-shadow-blue)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v50-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(43,110,166,.26)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v50-ink)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#566B7A!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#347EB7,#2B6EA6)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(43,110,166,.18)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区：浅雾蓝底，像系统控件，不low */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F5F8FA!important;
  border:1px solid rgba(22,32,42,.075)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：低饱和深蓝，别用廉价亮蓝 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#347EB7,#246797)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 22px rgba(43,110,166,.16)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 14px 26px rgba(43,110,166,.21)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v50-text)!important;
  border:1px solid rgba(22,32,42,.12)!important;
  box-shadow:none!important;
}

/* 房间选择与标签：白底 + 雾蓝，不乱用色 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v50-line-soft)!important;
  color:var(--v50-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--v50-blue-line)!important;
  background:#FCFEFF!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#347EB7,#246797)!important;
  color:#FFFFFF!important;
  border-color:rgba(43,110,166,.30)!important;
  box-shadow:0 10px 20px rgba(43,110,166,.17)!important;
}

/* 金额：香槟金，只用于金额，形成高级点缀 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v50-gold-deep)!important;
}

/* 常用组合：别黄一片，保持商务白 */
.combo-pill b{
  color:var(--v50-ink)!important;
}
.combo-pill span{
  color:var(--v50-sub)!important;
}

/* 已选小表与明细：保持专业报价感 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v50-line-soft)!important;
  box-shadow:0 3px 10px rgba(17,24,32,.028)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--v50-blue-deep)!important;
}

/* 漏项提醒：香槟提示，不脏黄 */
.check-item.warn{
  background:#FFF8EC!important;
  border:1px solid rgba(185,133,53,.18)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#5C421D!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#B98535,#9B6D28)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 16px rgba(185,133,53,.14)!important;
}

/* 顶部已选报价小表，避免像普通网页表格 */
.selected-strip,.selected-chips{
  background:transparent!important;
}
.selected-title{
  color:#F2D6A0!important;
}

/* 标题中的强调胶囊更高级 */
.pill{
  color:#334451!important;
  background:#F5F7F8!important;
  border:1px solid rgba(22,32,42,.075)!important;
}

/* 偶数行不要再被旧样式染灰 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F1F7FC 100%)!important;
}

/* 保留 V47 的几何判断：大容器圆、表格微圆、按钮微圆、标签胶囊 */
.current-cat-bar,
.product-table-wrap,
.quote-editor-wrap{
  border-radius:12px!important;
}
.product-table thead th{
  border-radius:6px!important;
}
.product-table tbody tr td:first-child{
  border-radius:10px 0 0 10px!important;
}
.product-table tbody tr td:last-child{
  border-radius:0 10px 10px 0!important;
}
.btn,.quick-add-button,button,input,select,textarea{
  border-radius:10px!important;
}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  border-radius:999px!important;
}

/* 悬浮与点击动作克制 */
.product-table tbody tr.select-pop{
  animation:v50Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v50Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V51：巢小小品牌配色版。去金属感，改成暖橙 / 奶白 / 木色 / 青灰 */
:root{
  --cxx-orange:#F47B20;
  --cxx-orange-deep:#D95F12;
  --cxx-orange-soft:#FFF2E8;
  --cxx-orange-line:rgba(244,123,32,.24);

  --cxx-cream:#FFF8EF;
  --cxx-cream-2:#FFF4E6;
  --cxx-paper:#FFFDF9;
  --cxx-white:#FFFFFF;

  --cxx-wood:#7A4E2D;
  --cxx-wood-2:#9A6437;
  --cxx-ink:#1F2A2D;
  --cxx-text:#314145;
  --cxx-sub:#6F7D7F;

  --cxx-teal:#2E7D7A;
  --cxx-teal-deep:#1F6764;
  --cxx-teal-soft:#EAF7F5;
  --cxx-teal-line:rgba(46,125,122,.20);

  --cxx-line:rgba(31,42,45,.10);
  --cxx-line-soft:rgba(31,42,45,.065);
  --cxx-shadow:0 10px 24px rgba(88,54,27,.065);
  --cxx-shadow-card:0 14px 32px rgba(88,54,27,.085);
  --cxx-shadow-orange:0 14px 30px rgba(244,123,32,.16),0 8px 18px rgba(88,54,27,.06);
}

/* 背景：奶油白 + 暖橙微光，不再金属深灰 */
body{
  background:
    radial-gradient(circle at 8% 5%, rgba(244,123,32,.11), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(46,125,122,.065), transparent 30%),
    linear-gradient(180deg,#FFFDF8 0%,#FFF8EF 42%,#F4F8F6 100%)!important;
  color:var(--cxx-text)!important;
}

/* 顶部：巢小小暖橙品牌感，去掉金属黑 */
.header{
  background:
    linear-gradient(135deg,#FFF8EF 0%,#FFE6D2 48%,#FFF4E6 100%)!important;
  border-bottom:1px solid rgba(244,123,32,.14)!important;
  box-shadow:0 12px 30px rgba(244,123,32,.12)!important;
}
.header h1,.brand h1{
  color:var(--cxx-ink)!important;
  letter-spacing:.01em!important;
}
.header p,.brand p{
  color:#7A5C45!important;
}
.mark{
  background:linear-gradient(135deg,#F47B20 0%,#FF9A3D 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 22px rgba(244,123,32,.24)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:#79583E!important;
  border:1px solid rgba(244,123,32,.18)!important;
}

/* 面板：纸张感、奶白感，适合装修报价，不要冷冰冰 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF9 100%)!important;
  border:1px solid var(--cxx-line-soft)!important;
  box-shadow:var(--cxx-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题文字：温暖深墨色 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--cxx-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--cxx-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--cxx-sub)!important;
}
::placeholder{
  color:#A39A91!important;
}
.field label,.mini-label{
  font-weight:850!important;
  color:#6E5B4D!important;
}

/* 左侧分类：巢小小橙色为主，青绿色做专业辅助 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--cxx-line-soft)!important;
  color:var(--cxx-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{
  color:var(--cxx-ink)!important;
}
.cat-list .cat-btn small{
  color:var(--cxx-sub)!important;
}
.cat-list .cat-btn span{
  background:#FFF4E8!important;
  color:#8B5C38!important;
}
.cat-list .cat-btn:hover{
  background:#FFFDF9!important;
  border-color:var(--cxx-orange-line)!important;
  box-shadow:0 8px 18px rgba(244,123,32,.08)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--cxx-orange-soft) 0%,#FFFFFF 78%)!important;
  color:var(--cxx-orange-deep)!important;
  border-color:var(--cxx-orange-line)!important;
  box-shadow:inset 3px 0 0 var(--cxx-orange),0 10px 22px rgba(244,123,32,.11)!important;
}
.cat-list .cat-btn.active b{
  color:var(--cxx-orange-deep)!important;
}
.cat-list .cat-btn.active small{
  color:#75614F!important;
}
.cat-list .cat-btn.active span{
  background:#FFE8D7!important;
  color:var(--cxx-orange-deep)!important;
}

/* 输入框：纸白底，边线温和 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--cxx-text)!important;
  border:1px solid rgba(31,42,45,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(244,123,32,.42)!important;
  box-shadow:0 0 0 4px rgba(244,123,32,.10)!important;
}

/* 表头：奶油浅橙，不脏不灰 */
.product-table thead th,
.quote-editor-head{
  background:#FFF1E4!important;
  color:#5A4535!important;
  border:1px solid rgba(244,123,32,.12)!important;
  box-shadow:none!important;
}

/* 表格行：白底，保持报价系统干净 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--cxx-line-soft)!important;
  border-bottom:1px solid var(--cxx-line-soft)!important;
  box-shadow:0 3px 10px rgba(88,54,27,.028)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--cxx-line-soft)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--cxx-line-soft)!important;
}
.product-table tbody tr:hover td{
  background:#FFFEFB!important;
  border-color:rgba(244,123,32,.16)!important;
  box-shadow:0 10px 22px rgba(88,54,27,.05)!important;
}

/* 选中行：巢小小暖橙高亮，干净、亲和、有品牌感 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EC 100%)!important;
  border-top:1px solid rgba(244,123,32,.28)!important;
  border-bottom:1px solid rgba(244,123,32,.28)!important;
  box-shadow:var(--cxx-shadow-orange)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--cxx-orange)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(244,123,32,.28)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--cxx-ink)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#6C625A!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#FF9442,#F47B20)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(244,123,32,.20)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区：浅奶油，不脏 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#FFF9F2!important;
  border:1px solid rgba(244,123,32,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：巢小小橙色，温暖有识别度 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#FF9442,#F47B20)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 22px rgba(244,123,32,.20)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 14px 26px rgba(244,123,32,.24)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--cxx-text)!important;
  border:1px solid rgba(31,42,45,.12)!important;
  box-shadow:none!important;
}

/* 房间选择：橙色品牌主导，青绿色作为房间/空间辅助 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--cxx-line-soft)!important;
  color:var(--cxx-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--cxx-orange-line)!important;
  background:#FFFDF9!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#FF9442,#F47B20)!important;
  color:#FFFFFF!important;
  border-color:rgba(244,123,32,.30)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.20)!important;
}

/* 金额：不再金属，改木色/深橙，更适合装修 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--cxx-wood)!important;
}

/* 常用组合：轻橙纸张感 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FFF9F2)!important;
  border-color:rgba(244,123,32,.12)!important;
}
.combo-pill b{
  color:var(--cxx-ink)!important;
}
.combo-pill span{
  color:var(--cxx-sub)!important;
}

/* 已选小表与明细：保持干净 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--cxx-line-soft)!important;
  box-shadow:0 3px 10px rgba(88,54,27,.028)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--cxx-teal-deep)!important;
}

/* 漏项提醒：用青绿辅助，代表“补充/检查”，不再金属 */
.check-item.warn{
  background:#F2FAF7!important;
  border:1px solid rgba(46,125,122,.18)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#285955!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#34918D,#2E7D7A)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 16px rgba(46,125,122,.16)!important;
}

/* 顶部已选报价小表 */
.selected-title{
  color:var(--cxx-wood)!important;
}
.pill{
  color:#5D4C3F!important;
  background:#FFF7EF!important;
  border:1px solid rgba(244,123,32,.12)!important;
}

/* 偶数行不要被旧样式染灰 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EC 100%)!important;
}

/* 保留几何层级 */
.current-cat-bar,
.product-table-wrap,
.quote-editor-wrap{
  border-radius:12px!important;
}
.product-table thead th{
  border-radius:6px!important;
}
.product-table tbody tr td:first-child{
  border-radius:10px 0 0 10px!important;
}
.product-table tbody tr td:last-child{
  border-radius:0 10px 10px 0!important;
}
.btn,.quick-add-button,button,input,select,textarea{
  border-radius:10px!important;
}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  border-radius:999px!important;
}

/* 选中动画继续克制 */
.product-table tbody tr.select-pop{
  animation:v51Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v51Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V52：巢小小公司基础色版
   基础色逻辑：
   1. 主色：巢小小橙，负责品牌识别、按钮、选中、重点金额
   2. 辅助色：深青蓝，负责检查、房间、理性功能区
   3. 中性色：瓷白、暖白、炭黑，负责底色和文字
   4. 删除木色/金属色/香槟金这类非基础色，避免偏离公司品牌
*/
:root{
  --brand-primary:#F47B20;
  --brand-primary-deep:#E86616;
  --brand-primary-dark:#B94D0E;
  --brand-primary-soft:#FFF1E6;
  --brand-primary-light:#FFF8F2;
  --brand-primary-line:rgba(244,123,32,.24);

  --brand-secondary:#1F6F78;
  --brand-secondary-deep:#155760;
  --brand-secondary-soft:#EAF6F6;
  --brand-secondary-line:rgba(31,111,120,.20);

  --brand-bg:#FFF9F3;
  --brand-bg-2:#F7FAF8;
  --brand-panel:#FFFFFF;
  --brand-panel-soft:#FFFEFB;

  --brand-ink:#202426;
  --brand-text:#324044;
  --brand-sub:#6F7C7F;
  --brand-muted:#9BA3A5;

  --brand-line:rgba(32,36,38,.10);
  --brand-line-soft:rgba(32,36,38,.065);
  --brand-shadow:0 10px 24px rgba(62,42,28,.055);
  --brand-shadow-hover:0 12px 28px rgba(62,42,28,.075);
  --brand-shadow-active:0 16px 34px rgba(244,123,32,.14),0 8px 18px rgba(62,42,28,.06);
}

/* 整体底色：公司暖橙体系，但保持干净 */
body{
  background:
    radial-gradient(circle at 8% 4%, rgba(244,123,32,.09), transparent 26%),
    radial-gradient(circle at 92% 8%, rgba(31,111,120,.055), transparent 28%),
    linear-gradient(180deg,#FFFDF9 0%,var(--brand-bg) 48%,var(--brand-bg-2) 100%)!important;
  color:var(--brand-text)!important;
}

/* 顶部：公司基础色，而不是金属深色 */
.header{
  background:
    linear-gradient(135deg,#FFFFFF 0%,#FFF0E5 52%,#FFF8F2 100%)!important;
  border-bottom:1px solid var(--brand-primary-line)!important;
  box-shadow:0 12px 28px rgba(244,123,32,.10)!important;
}
.header h1,.brand h1{
  color:var(--brand-ink)!important;
}
.header p,.brand p{
  color:#765D4A!important;
}
.mark{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 22px rgba(244,123,32,.22)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:#765D4A!important;
  border:1px solid var(--brand-primary-line)!important;
}

/* 面板：白色为主，暖白轻过渡 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--brand-panel) 0%,var(--brand-panel-soft) 100%)!important;
  border:1px solid var(--brand-line-soft)!important;
  box-shadow:var(--brand-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字层级 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--brand-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--brand-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--brand-sub)!important;
}
::placeholder{
  color:var(--brand-muted)!important;
}
.field label,.mini-label{
  font-weight:850!important;
  color:#64564D!important;
}

/* 左侧分类：公司橙做选中，默认干净白 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--brand-line-soft)!important;
  color:var(--brand-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{color:var(--brand-ink)!important}
.cat-list .cat-btn small{color:var(--brand-sub)!important}
.cat-list .cat-btn span{
  background:var(--brand-primary-light)!important;
  color:#7A5B44!important;
}
.cat-list .cat-btn:hover{
  background:#FFFDF9!important;
  border-color:var(--brand-primary-line)!important;
  box-shadow:var(--brand-shadow-hover)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--brand-primary-soft) 0%,#FFFFFF 78%)!important;
  color:var(--brand-primary-deep)!important;
  border-color:var(--brand-primary-line)!important;
  box-shadow:inset 3px 0 0 var(--brand-primary),0 10px 22px rgba(244,123,32,.10)!important;
}
.cat-list .cat-btn.active b{color:var(--brand-primary-deep)!important}
.cat-list .cat-btn.active small{color:#765D4A!important}
.cat-list .cat-btn.active span{
  background:#FFE2CD!important;
  color:var(--brand-primary-dark)!important;
}

/* 输入控件 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--brand-text)!important;
  border:1px solid rgba(32,36,38,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(244,123,32,.42)!important;
  box-shadow:0 0 0 4px rgba(244,123,32,.10)!important;
}

/* 表头：浅橙纸张感 */
.product-table thead th,
.quote-editor-head{
  background:var(--brand-primary-light)!important;
  color:#5E4A3C!important;
  border:1px solid rgba(244,123,32,.13)!important;
  box-shadow:none!important;
}

/* 表格行 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--brand-line-soft)!important;
  border-bottom:1px solid var(--brand-line-soft)!important;
  box-shadow:0 3px 10px rgba(62,42,28,.025)!important;
}
.product-table tbody tr td:first-child{border-left:1px solid var(--brand-line-soft)!important}
.product-table tbody tr td:last-child{border-right:1px solid var(--brand-line-soft)!important}
.product-table tbody tr:hover td{
  background:#FFFDF9!important;
  border-color:rgba(244,123,32,.16)!important;
  box-shadow:var(--brand-shadow-hover)!important;
}

/* 选中行：只用公司橙 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF4EA 100%)!important;
  border-top:1px solid rgba(244,123,32,.28)!important;
  border-bottom:1px solid rgba(244,123,32,.28)!important;
  box-shadow:var(--brand-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--brand-primary)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(244,123,32,.28)!important;
}
.product-table tbody tr.active-product .product-name{color:var(--brand-ink)!important}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{color:#6D615B!important}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(244,123,32,.18)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#FFF9F2!important;
  border:1px solid rgba(244,123,32,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：公司橙 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 22px rgba(244,123,32,.20)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 14px 26px rgba(244,123,32,.24)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--brand-text)!important;
  border:1px solid rgba(32,36,38,.12)!important;
  box-shadow:none!important;
}

/* 房间/标签：默认白，选中公司橙；检查类另用青蓝 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--brand-line-soft)!important;
  color:var(--brand-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--brand-primary-line)!important;
  background:#FFFDF9!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#FFFFFF!important;
  border-color:rgba(244,123,32,.30)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.18)!important;
}

/* 金额：回到公司主橙深色，不用木色、金色 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--brand-primary-dark)!important;
}

/* 常用组合 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FFF9F2)!important;
  border-color:rgba(244,123,32,.12)!important;
}
.combo-pill b{color:var(--brand-ink)!important}
.combo-pill span{color:var(--brand-sub)!important}

/* 已选小表与明细 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--brand-line-soft)!important;
  box-shadow:0 3px 10px rgba(62,42,28,.025)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--brand-secondary-deep)!important;
}

/* 漏项提醒：辅助色青蓝，表示检查/补充，不干扰主橙 */
.check-item.warn{
  background:var(--brand-secondary-soft)!important;
  border:1px solid var(--brand-secondary-line)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:var(--brand-secondary-deep)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#2E7D7A,var(--brand-secondary-deep))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 16px rgba(31,111,120,.16)!important;
}

/* 顶部已选报价小表 */
.selected-title{
  color:var(--brand-primary-dark)!important;
}
.pill{
  color:#665247!important;
  background:#FFF7EF!important;
  border:1px solid rgba(244,123,32,.12)!important;
}

/* 偶数行不要被旧样式染灰 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF4EA 100%)!important;
}

/* 保留几何层级 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}
.product-table thead th{border-radius:6px!important}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}

/* 选中动画克制 */
.product-table tbody tr.select-pop{
  animation:v52Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v52Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V53：回到截图那种淡雾蓝配色
   核心方向：
   - 页面大底：浅雾蓝
   - 卡片/表格：白色 + 极浅蓝边
   - 主强调：青绿色（接近logo感觉）
   - 次强调：系统蓝（导出按钮）
   - 保留几何结构，不改功能
*/
:root{
  --v53-bg:#DDECF6;
  --v53-bg-2:#EAF4FA;
  --v53-surface:#FFFFFF;
  --v53-surface-soft:#F8FCFF;
  --v53-surface-2:#F2F8FC;

  --v53-ink:#163540;
  --v53-text:#294B58;
  --v53-sub:#6F8792;
  --v53-muted:#9AAAB2;

  --v53-line:rgba(67,117,141,.13);
  --v53-line-soft:rgba(67,117,141,.09);

  --v53-teal:#116E76;
  --v53-teal-2:#0E6067;
  --v53-teal-soft:#E7F5F4;
  --v53-teal-line:rgba(17,110,118,.20);

  --v53-blue:#1E88F5;
  --v53-blue-2:#1977DB;
  --v53-blue-soft:#EAF4FF;
  --v53-blue-line:rgba(30,136,245,.18);

  --v53-shadow:0 10px 26px rgba(39,92,122,.08);
  --v53-shadow-soft:0 6px 18px rgba(39,92,122,.05);
  --v53-shadow-active:0 14px 30px rgba(17,110,118,.14),0 8px 18px rgba(39,92,122,.06);
}

/* 页面背景回到截图的浅蓝大底 */
body{
  background:
    linear-gradient(180deg,#E7F2F8 0%, var(--v53-bg) 28%, var(--v53-bg-2) 100%)!important;
  color:var(--v53-text)!important;
}

/* 顶部 header：淡白灰蓝，跟截图一致 */
.header{
  background:linear-gradient(180deg,#F7FBFD 0%, #F0F6FA 100%)!important;
  border-bottom:1px solid rgba(67,117,141,.12)!important;
  box-shadow:0 6px 18px rgba(39,92,122,.06)!important;
}
.header h1,.brand h1{
  color:var(--v53-ink)!important;
}
.header p,.brand p{
  color:var(--v53-sub)!important;
}
.mark{
  background:linear-gradient(180deg,#1E8B8B,#116E76)!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 18px rgba(17,110,118,.18)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:var(--v53-sub)!important;
  border:1px solid var(--v53-line-soft)!important;
}

/* 大块面板：纯白 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--v53-surface) 0%, var(--v53-surface-soft) 100%)!important;
  border:1px solid var(--v53-line-soft)!important;
  box-shadow:var(--v53-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v53-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v53-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v53-sub)!important;
}
::placeholder{
  color:var(--v53-muted)!important;
}
.field label,.mini-label{
  font-weight:800!important;
  color:#56707C!important;
}

/* 左侧分类：白底，选中是浅蓝+青绿 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v53-line-soft)!important;
  color:var(--v53-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{color:var(--v53-ink)!important}
.cat-list .cat-btn small{color:var(--v53-sub)!important}
.cat-list .cat-btn span{
  background:#EEF6FB!important;
  color:#5E7A87!important;
}
.cat-list .cat-btn:hover{
  background:#FBFEFF!important;
  border-color:var(--v53-blue-line)!important;
  box-shadow:var(--v53-shadow-soft)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,#EDF6FC 0%, #FFFFFF 82%)!important;
  color:var(--v53-teal)!important;
  border-color:rgba(17,110,118,.14)!important;
  box-shadow:inset 3px 0 0 var(--v53-blue), 0 8px 18px rgba(30,136,245,.06)!important;
}
.cat-list .cat-btn.active b{color:var(--v53-teal)!important}
.cat-list .cat-btn.active small{color:#6B848F!important}
.cat-list .cat-btn.active span{
  background:#DDEEFF!important;
  color:var(--v53-blue-2)!important;
}

/* 输入控件 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v53-text)!important;
  border:1px solid rgba(67,117,141,.14)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(30,136,245,.34)!important;
  box-shadow:0 0 0 4px rgba(30,136,245,.08)!important;
}

/* 表头：浅蓝灰 */
.product-table thead th,
.quote-editor-head{
  background:#F1F8FC!important;
  color:#55707D!important;
  border:1px solid rgba(67,117,141,.10)!important;
  box-shadow:none!important;
}

/* 表格行 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v53-line-soft)!important;
  border-bottom:1px solid var(--v53-line-soft)!important;
  box-shadow:0 3px 10px rgba(39,92,122,.024)!important;
}
.product-table tbody tr td:first-child{border-left:1px solid var(--v53-line-soft)!important}
.product-table tbody tr td:last-child{border-right:1px solid var(--v53-line-soft)!important}
.product-table tbody tr:hover td{
  background:#FBFEFF!important;
  border-color:rgba(30,136,245,.15)!important;
  box-shadow:var(--v53-shadow-soft)!important;
}

/* 项目选中：跟截图一样偏青绿深一点 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F2FBFB 100%)!important;
  border-top:1px solid rgba(17,110,118,.22)!important;
  border-bottom:1px solid rgba(17,110,118,.22)!important;
  box-shadow:var(--v53-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v53-teal)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(17,110,118,.22)!important;
}
.product-table tbody tr.active-product .product-name{color:var(--v53-ink)!important}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{color:#66808B!important}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#15939C,#116E76)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(17,110,118,.16)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FCFE!important;
  border:1px solid rgba(67,117,141,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：系统蓝；某些确认/合计块用青绿 */
.quick-add-button,.btn.primary,button.primary{
  background:linear-gradient(180deg,var(--v53-blue),var(--v53-blue-2))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 8px 18px rgba(30,136,245,.18)!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 12px 22px rgba(30,136,245,.22)!important;
}

/* 保留橙色按钮的类，但也改回蓝系，避免杂色 */
.btn.orange{
  background:linear-gradient(180deg,var(--v53-blue),var(--v53-blue-2))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 8px 18px rgba(30,136,245,.18)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v53-text)!important;
  border:1px solid rgba(67,117,141,.12)!important;
  box-shadow:none!important;
}

/* 房间tab：默认白，选中蓝色；跟截图更接近 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v53-line-soft)!important;
  color:var(--v53-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--v53-blue-line)!important;
  background:#FBFEFF!important;
}
.room-tab.active{
  background:linear-gradient(180deg,var(--v53-blue),var(--v53-blue-2))!important;
  color:#FFFFFF!important;
  border-color:rgba(30,136,245,.28)!important;
  box-shadow:0 8px 16px rgba(30,136,245,.16)!important;
}

/* 金额：深青绿色，和截图上合计块接近 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v53-teal-2)!important;
}

/* 合计数据块 */
.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#167B84,#116E76)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.total-card *, .stat-card *, .summary-card *, .amount-card *{
  color:#FFFFFF!important;
}

/* 常用组合 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FBFEFF)!important;
  border-color:rgba(67,117,141,.10)!important;
}
.combo-pill b{color:var(--v53-ink)!important}
.combo-pill span{color:var(--v53-sub)!important}

/* 已选清单明细 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v53-line-soft)!important;
  box-shadow:0 3px 10px rgba(39,92,122,.024)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--v53-teal)!important;
}

/* 漏项提醒：青绿色系 */
.check-item.warn{
  background:var(--v53-teal-soft)!important;
  border:1px solid var(--v53-teal-line)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:var(--v53-teal-2)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#15939C,#116E76)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 16px rgba(17,110,118,.16)!important;
}

/* 标题小胶囊 */
.selected-title{
  color:var(--v53-ink)!important;
}
.pill{
  color:#5B7886!important;
  background:#F3F8FC!important;
  border:1px solid rgba(67,117,141,.10)!important;
}

/* 偶数行保护 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F2FBFB 100%)!important;
}

/* 几何层级保留 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}
.product-table thead th{border-radius:6px!important}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}

/* 选中动画保持 */
.product-table tbody tr.select-pop{
  animation:v53Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v53Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V55：按用户截图视觉校准的精确配色版 */
:root{
  --v55-page:#DDEFFC;       /* 页面大底浅蓝 */
  --v55-page-2:#E7F3FA;     /* 页面渐变上层 */
  --v55-top:#F1F4F5;        /* 顶部条淡灰白 */
  --v55-card:#FFFFFF;       /* 卡片白 */
  --v55-card-soft:#FCFEFF;  /* 卡片轻过渡 */
  --v55-head:#EFF6FA;       /* 表头浅蓝灰 */
  --v55-panel:#F7FBFE;      /* 浅面板 */

  --v55-ink:#173844;        /* 主标题 / 深文字 */
  --v55-text:#2E4E5B;       /* 正文 */
  --v55-sub:#7B8F99;        /* 辅助说明 */
  --v55-muted:#A1AFB7;      /* placeholder */

  --v55-line:rgba(104,145,165,.14);
  --v55-line-soft:rgba(104,145,165,.08);

  --v55-teal:#116E76;       /* 品牌青绿 / 合计块 */
  --v55-teal-2:#0E6269;
  --v55-teal-soft:#EFF9F8;
  --v55-teal-line:rgba(17,110,118,.18);

  --v55-blue:#1D8BF7;       /* 导出 / tab 蓝 */
  --v55-blue-2:#0F78E3;
  --v55-blue-soft:#EAF4FF;
  --v55-blue-line:rgba(29,139,247,.18);

  --v55-pill:#DCEFFD;       /* 114项小胶囊 */
  --v55-pill-text:#2683E8;

  --v55-shadow:0 10px 24px rgba(65,108,130,.07);
  --v55-shadow-soft:0 6px 16px rgba(65,108,130,.045);
  --v55-shadow-active:0 14px 28px rgba(17,110,118,.12),0 8px 16px rgba(65,108,130,.05);
}

body{
  background:linear-gradient(180deg,var(--v55-page-2) 0%, var(--v55-page) 24%, #EAF4FA 100%)!important;
  color:var(--v55-text)!important;
}

/* 顶部 */
.header{
  background:linear-gradient(180deg,#F5F7F8 0%, var(--v55-top) 100%)!important;
  border-bottom:1px solid var(--v55-line-soft)!important;
  box-shadow:0 4px 14px rgba(65,108,130,.04)!important;
}
.header h1,.brand h1{color:var(--v55-ink)!important;}
.header p,.brand p{color:var(--v55-sub)!important;}
.mark{
  background:linear-gradient(180deg,#2A8A8D 0%, var(--v55-teal) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 16px rgba(17,110,118,.16)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:var(--v55-sub)!important;
  border:1px solid var(--v55-line-soft)!important;
}

/* 卡片 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--v55-card) 0%, var(--v55-card-soft) 100%)!important;
  border:1px solid var(--v55-line-soft)!important;
  box-shadow:var(--v55-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v55-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{color:var(--v55-text)!important;}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v55-sub)!important;
}
::placeholder{color:var(--v55-muted)!important;}
.field label,.mini-label{font-weight:800!important;color:#6D828C!important;}

/* 左侧分类 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v55-line-soft)!important;
  color:var(--v55-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{color:var(--v55-ink)!important;}
.cat-list .cat-btn small{color:var(--v55-sub)!important;}
.cat-list .cat-btn span{
  background:#EEF6FB!important;
  color:#69818E!important;
}
.cat-list .cat-btn:hover{
  background:#FBFEFF!important;
  border-color:var(--v55-blue-line)!important;
  box-shadow:var(--v55-shadow-soft)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,#EEF7FD 0%, #FFFFFF 84%)!important;
  color:var(--v55-blue)!important;
  border-color:rgba(29,139,247,.13)!important;
  box-shadow:0 8px 18px rgba(29,139,247,.05)!important;
}
.cat-list .cat-btn.active b{color:var(--v55-blue)!important;}
.cat-list .cat-btn.active small{color:#728893!important;}
.cat-list .cat-btn.active span{
  background:var(--v55-pill)!important;
  color:var(--v55-pill-text)!important;
}

/* 输入控件 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v55-text)!important;
  border:1px solid rgba(104,145,165,.12)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(29,139,247,.30)!important;
  box-shadow:0 0 0 4px rgba(29,139,247,.07)!important;
}

/* 表头 */
.product-table thead th,
.quote-editor-head{
  background:var(--v55-head)!important;
  color:#68808C!important;
  border:1px solid rgba(104,145,165,.08)!important;
  box-shadow:none!important;
}

/* 表格行 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v55-line-soft)!important;
  border-bottom:1px solid var(--v55-line-soft)!important;
  box-shadow:0 2px 8px rgba(65,108,130,.02)!important;
}
.product-table tbody tr td:first-child{border-left:1px solid var(--v55-line-soft)!important;}
.product-table tbody tr td:last-child{border-right:1px solid var(--v55-line-soft)!important;}
.product-table tbody tr:hover td{
  background:#FBFEFF!important;
  border-color:rgba(29,139,247,.12)!important;
  box-shadow:var(--v55-shadow-soft)!important;
}

/* 选中行 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F1FAFA 100%)!important;
  border-top:1px solid rgba(17,110,118,.19)!important;
  border-bottom:1px solid rgba(17,110,118,.19)!important;
  box-shadow:var(--v55-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v55-teal)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(17,110,118,.19)!important;
}
.product-table tbody tr.active-product .product-name{color:var(--v55-ink)!important;}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{color:#6C848F!important;}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v55-teal) 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(17,110,118,.14)!important;
}
.product-table tbody tr.active-product .product-sub::after{content:none!important;display:none!important;}

/* 操作区 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FCFE!important;
  border:1px solid rgba(104,145,165,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 蓝色按钮 */
.quick-add-button,.btn.primary,button.primary,.btn.orange{
  background:linear-gradient(180deg,var(--v55-blue) 0%, var(--v55-blue-2) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 8px 18px rgba(29,139,247,.18)!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover,.btn.orange:hover{
  box-shadow:0 12px 22px rgba(29,139,247,.20)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v55-text)!important;
  border:1px solid rgba(104,145,165,.10)!important;
  box-shadow:none!important;
}

/* 房间 tab */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v55-line-soft)!important;
  color:var(--v55-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--v55-blue-line)!important;
  background:#FBFEFF!important;
}
.room-tab.active{
  background:linear-gradient(180deg,var(--v55-blue) 0%, var(--v55-blue-2) 100%)!important;
  color:#FFFFFF!important;
  border-color:rgba(29,139,247,.24)!important;
  box-shadow:0 8px 16px rgba(29,139,247,.14)!important;
}

/* 金额与合计 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v55-teal)!important;
}
.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#2A8A8D 0%, var(--v55-teal) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.total-card *, .stat-card *, .summary-card *, .amount-card *{color:#FFFFFF!important;}

/* 常用组合 / 已选 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FCFEFF)!important;
  border-color:rgba(104,145,165,.08)!important;
}
.combo-pill b{color:var(--v55-ink)!important;}
.combo-pill span{color:var(--v55-sub)!important;}

.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v55-line-soft)!important;
  box-shadow:0 2px 8px rgba(65,108,130,.02)!important;
}
.selected-table .s-room,.room-tag{color:var(--v55-teal)!important;}

/* 漏项提醒 */
.check-item.warn{
  background:var(--v55-teal-soft)!important;
  border:1px solid var(--v55-teal-line)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{color:var(--v55-teal-2)!important;}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v55-teal) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 16px rgba(17,110,118,.14)!important;
}

.selected-title{color:var(--v55-ink)!important;}
.pill{
  color:#64808E!important;
  background:#F2F8FC!important;
  border:1px solid rgba(104,145,165,.08)!important;
}

.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{background:#FFFFFF!important;}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F1FAFA 100%)!important;
}

/* 几何层级 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important;}
.product-table thead th{border-radius:6px!important;}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important;}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important;}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important;}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important;}

.product-table tbody tr.select-pop{
  animation:v55Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v55Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V56：文字强调 + 玻璃质感增强 */
:root{
  --v56-page:#DDEFFC;
  --v56-page-2:#EAF4FB;
  --v56-card-glass:rgba(255,255,255,.74);
  --v56-card-glass-2:rgba(255,255,255,.58);
  --v56-card-border:rgba(255,255,255,.54);
  --v56-card-line:rgba(120,160,182,.18);
  --v56-ink:#143744;
  --v56-text:#31505D;
  --v56-sub:#708792;
  --v56-muted:#9EAFB8;
  --v56-teal:#116E76;
  --v56-teal-2:#0D5E64;
  --v56-blue:#1D8BF7;
  --v56-blue-2:#0F78E3;
  --v56-shadow:0 12px 30px rgba(69,111,132,.09), 0 2px 0 rgba(255,255,255,.55) inset;
  --v56-shadow-soft:0 8px 20px rgba(69,111,132,.055), 0 1px 0 rgba(255,255,255,.45) inset;
  --v56-shadow-active:0 16px 34px rgba(17,110,118,.12),0 10px 20px rgba(69,111,132,.06), 0 1px 0 rgba(255,255,255,.55) inset;
}

body{
  background:
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.48), transparent 20%),
    radial-gradient(circle at 78% 10%, rgba(255,255,255,.34), transparent 22%),
    linear-gradient(180deg,var(--v56-page-2) 0%, var(--v56-page) 26%, #EAF4FA 100%)!important;
  color:var(--v56-text)!important;
}

/* 顶部更像半透明玻璃 */
.header{
  background:linear-gradient(180deg, rgba(247,250,252,.82) 0%, rgba(239,245,247,.74) 100%)!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
  border-bottom:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 8px 24px rgba(69,111,132,.05), 0 1px 0 rgba(255,255,255,.72) inset!important;
}
.header h1,.brand h1{
  color:var(--v56-ink)!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
.header p,.brand p{
  color:var(--v56-sub)!important;
  font-weight:600!important;
}
.mark{
  background:linear-gradient(180deg, #2A8A8D 0%, var(--v56-teal) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 20px rgba(17,110,118,.18)!important;
}
.save-chip{
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  color:var(--v56-sub)!important;
}

/* 卡片全部恢复玻璃感 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:
    linear-gradient(180deg,var(--v56-card-glass) 0%, var(--v56-card-glass-2) 100%)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  border:1px solid var(--v56-card-border)!important;
  box-shadow:var(--v56-shadow)!important;
}

/* 内层表格面板也带一点玻璃 */
.product-table-wrap,.quote-editor-wrap,.current-cat-bar,.product-toolbar{
  background:
    linear-gradient(180deg,rgba(255,255,255,.82) 0%, rgba(248,252,254,.7) 100%)!important;
}

/* 文字层级与强调 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3,.selected-title{
  color:var(--v56-ink)!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}

body,p,td,th,label,input,select,textarea,button{
  color:var(--v56-text)!important;
}

.product-name{
  font-size:18px!important;
  font-weight:850!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v56-sub)!important;
}
.field label,.mini-label{
  color:#617681!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
::placeholder{
  color:var(--v56-muted)!important;
}

/* 重点数字、金额、统计强调 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total,
#rowCount,#rowCountTop,#directTotal,#grandTotal,#grandTotalSmall,#directTotalTop,#grandTotalTop{
  color:var(--v56-teal)!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.6)!important;
}

.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#2A8A8D 0%, var(--v56-teal) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 12px 24px rgba(17,110,118,.18)!important;
}
.total-card *, .stat-card *, .summary-card *, .amount-card *{
  color:#FFFFFF!important;
}

/* 左侧分类增强强调性 */
.cat-list .cat-btn{
  background:rgba(255,255,255,.76)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border:1px solid rgba(255,255,255,.52)!important;
  box-shadow:0 6px 16px rgba(69,111,132,.04)!important;
}
.cat-list .cat-btn b{
  color:var(--v56-ink)!important;
  font-weight:850!important;
}
.cat-list .cat-btn small{
  color:var(--v56-sub)!important;
  font-weight:600!important;
}
.cat-list .cat-btn span{
  background:rgba(238,246,251,.94)!important;
  color:#66818E!important;
  font-weight:800!important;
}
.cat-list .cat-btn:hover{
  box-shadow:var(--v56-shadow-soft)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg, rgba(238,247,253,.9) 0%, rgba(255,255,255,.84) 84%)!important;
  border-color:rgba(53,154,235,.14)!important;
  box-shadow:0 10px 20px rgba(29,139,247,.06), 0 1px 0 rgba(255,255,255,.64) inset!important;
}
.cat-list .cat-btn.active b{
  color:var(--v56-blue)!important;
}
.cat-list .cat-btn.active span{
  color:#2683E8!important;
  background:#DCEFFD!important;
}

/* 输入区更干净 */
input,select,textarea{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(113,153,174,.14)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.64) inset!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(29,139,247,.30)!important;
  box-shadow:0 0 0 4px rgba(29,139,247,.08), 0 1px 0 rgba(255,255,255,.64) inset!important;
}

/* 表头和表格 */
.product-table thead th,
.quote-editor-head{
  background:linear-gradient(180deg,rgba(244,249,252,.88) 0%, rgba(239,246,250,.78) 100%)!important;
  color:#68808C!important;
  font-weight:800!important;
  border:1px solid rgba(124,163,183,.10)!important;
}
.product-table tbody tr td{
  background:rgba(255,255,255,.78)!important;
  border-top:1px solid rgba(124,163,183,.08)!important;
  border-bottom:1px solid rgba(124,163,183,.08)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.56) inset!important;
}
.product-table tbody tr:hover td{
  background:rgba(251,254,255,.92)!important;
  box-shadow:var(--v56-shadow-soft)!important;
}
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%, rgba(241,250,250,.86) 100%)!important;
  border-top:1px solid rgba(17,110,118,.20)!important;
  border-bottom:1px solid rgba(17,110,118,.20)!important;
  box-shadow:var(--v56-shadow-active)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v56-ink)!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v56-teal) 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(17,110,118,.14)!important;
}

/* tab 和 pill 更有质感 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.54)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  box-shadow:0 4px 12px rgba(69,111,132,.04)!important;
}
.room-tab{
  font-weight:800!important;
}
.room-tab.active{
  background:linear-gradient(180deg,var(--v56-blue) 0%, var(--v56-blue-2) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 18px rgba(29,139,247,.18)!important;
}
.pill{
  color:#64808E!important;
  font-weight:800!important;
  background:rgba(242,248,252,.88)!important;
}

/* 按钮更有质感 */
.quick-add-button,.btn.primary,button.primary,.btn.orange{
  background:linear-gradient(180deg,var(--v56-blue) 0%, var(--v56-blue-2) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 10px 20px rgba(29,139,247,.18), 0 1px 0 rgba(255,255,255,.28) inset!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover,.btn.orange:hover{
  box-shadow:0 14px 24px rgba(29,139,247,.22), 0 1px 0 rgba(255,255,255,.28) inset!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

/* 已选清单、常用组合、漏项提醒 */
.combo-pill,.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,rgba(255,255,255,.82) 0%, rgba(252,254,255,.7) 100%)!important;
}
.combo-pill b,.selected-title{
  color:var(--v56-ink)!important;
  font-weight:850!important;
}
.combo-pill span{
  color:var(--v56-sub)!important;
}
.check-item.warn{
  background:linear-gradient(180deg,rgba(239,249,248,.86) 0%, rgba(231,245,244,.76) 100%)!important;
  border:1px solid rgba(17,110,118,.14)!important;
  box-shadow:0 10px 20px rgba(17,110,118,.08)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:var(--v56-teal-2)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v56-teal) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 18px rgba(17,110,118,.16)!important;
}

/* 偶数行保护 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:rgba(255,255,255,.78)!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%, rgba(241,250,250,.86) 100%)!important;
}


/* V57A：截图配色 + 克制玻璃 + 强文字层级 推荐版 */
:root{
  --a-bg:#DDEFFC; --a-bg2:#EAF4FA; --a-card:#FFFFFF; --a-cardGlass:rgba(255,255,255,.78);
  --a-ink:#123541; --a-text:#294B58; --a-sub:#6F8792; --a-muted:#9EAFB8;
  --a-line:rgba(104,145,165,.12); --a-line2:rgba(104,145,165,.08);
  --a-teal:#116E76; --a-teal2:#0D5E64; --a-blue:#1D8BF7; --a-blue2:#0F78E3;
  --a-shadow:0 10px 24px rgba(65,108,130,.065);
  --a-glass:0 12px 30px rgba(65,108,130,.08), inset 0 1px 0 rgba(255,255,255,.6);
}
body{
  background:linear-gradient(180deg,#EAF4FA 0%,var(--a-bg) 28%,var(--a-bg2) 100%)!important;
  color:var(--a-text)!important;
}
.header,.quote-dock,.card,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(247,252,255,.70))!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  border:1px solid rgba(255,255,255,.56)!important;
  box-shadow:var(--a-glass)!important;
}
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,.combo-pill,.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,#FFFFFF,#FCFEFF)!important;
  border:1px solid var(--a-line2)!important;
  box-shadow:var(--a-shadow)!important;
  backdrop-filter:none!important;
}
h1,h2,h3,.product-name,.section-title h3,.card-head h3,.side-title h3,.current-cat-bar b,.room-card-head b,.quote-editor-title h3,.selected-title{
  color:var(--a-ink)!important; font-weight:900!important; text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}
body,p,td,th,label,input,select,textarea,button{color:var(--a-text)!important}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,.current-cat-bar span,.room-help,.muted,.hint,.mini-label,.field label,.product-price span,.unit,.selected-empty{
  color:var(--a-sub)!important; font-weight:600!important;
}
::placeholder{color:var(--a-muted)!important}
.mark,.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#2A8A8D,var(--a-teal))!important; color:#fff!important;
}
.total-card *,.stat-card *,.summary-card *,.amount-card *{color:#fff!important}
.cat-list .cat-btn{background:rgba(255,255,255,.84)!important;border:1px solid rgba(255,255,255,.56)!important;box-shadow:0 4px 12px rgba(65,108,130,.035)!important}
.cat-list .cat-btn b{color:var(--a-ink)!important;font-weight:850!important}
.cat-list .cat-btn small{color:var(--a-sub)!important}
.cat-list .cat-btn span{background:#EEF6FB!important;color:#66818E!important;font-weight:800!important}
.cat-list .cat-btn.active{background:linear-gradient(90deg,#EEF7FD,#FFFFFF 84%)!important;border-color:rgba(29,139,247,.14)!important}
.cat-list .cat-btn.active b{color:var(--a-blue)!important}
.cat-list .cat-btn.active span{background:#DCEFFD!important;color:#2683E8!important}
.product-table thead th,.quote-editor-head{background:#EFF6FA!important;color:#617987!important;font-weight:850!important;border:1px solid var(--a-line2)!important}
.product-table tbody tr td{background:#FFFFFF!important;border-top:1px solid var(--a-line2)!important;border-bottom:1px solid var(--a-line2)!important;box-shadow:0 2px 8px rgba(65,108,130,.018)!important}
.product-table tbody tr:hover td{background:#FBFEFF!important;box-shadow:0 6px 14px rgba(65,108,130,.04)!important}
.product-table tbody tr.active-product td{background:linear-gradient(180deg,#FFFFFF,#F1FAFA)!important;border-color:rgba(17,110,118,.19)!important;box-shadow:0 14px 28px rgba(17,110,118,.12),0 8px 16px rgba(65,108,130,.05)!important}
.product-table tbody tr.active-product td:first-child{border-left:4px solid var(--a-teal)!important}
.product-table tbody tr.active-product .row-index{background:linear-gradient(180deg,#2B8F92,var(--a-teal))!important;color:#fff!important}
.product-table tbody tr.active-product .product-sub::after{content:none!important;display:none!important}
input,select,textarea{background:#FFFFFF!important;border:1px solid rgba(104,145,165,.13)!important;color:var(--a-text)!important;box-shadow:none!important}
input:focus,select:focus,textarea:focus{border-color:rgba(29,139,247,.30)!important;box-shadow:0 0 0 4px rgba(29,139,247,.07)!important}
.quick-add-button,.btn.primary,button.primary,.btn.orange,.room-tab.active{background:linear-gradient(180deg,var(--a-blue),var(--a-blue2))!important;color:#fff!important;box-shadow:0 10px 20px rgba(29,139,247,.18)!important}
.btn.secondary,.btn.ghost,button.secondary,button.ghost,.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:rgba(255,255,255,.82)!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:0 4px 12px rgba(65,108,130,.035)!important;color:var(--a-text)!important;
}
.price-input,.money,.price-strong,.total-num,.room-card-head span,.room-card-row em,.product-price b,.amount-pill,.quote-total,#rowCount,#rowCountTop,#directTotal,#grandTotal,#grandTotalSmall,#directTotalTop,#grandTotalTop{
  color:var(--a-teal)!important;font-weight:900!important;
}
.check-item.warn{background:linear-gradient(180deg,rgba(239,249,248,.86),rgba(231,245,244,.76))!important;border:1px solid rgba(17,110,118,.14)!important}
.check-item.warn,.check-item.warn p,.check-item.warn span{color:var(--a-teal2)!important}
.check-item.warn .fix-btn{background:linear-gradient(180deg,#2B8F92,var(--a-teal))!important;color:#fff!important}
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}.product-table thead th{border-radius:6px!important}.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}


/* V58：巢小小暖色品牌统一版
   目标：
   1）整体统一成巢小小更适合的暖色体系
   2）保留玻璃感，但控制在外层，不让表格发脏
   3）按钮、选中、金额、统计统一到同一套暖橙体系
*/
:root{
  --v58-bg:#FFF4EA;
  --v58-bg2:#FFF9F4;
  --v58-bg3:#FDF3EC;

  --v58-cardGlass:rgba(255,255,255,.82);
  --v58-cardGlass2:rgba(255,251,247,.72);
  --v58-white:#FFFFFF;
  --v58-surface:#FFFCFA;

  --v58-ink:#3B2B22;
  --v58-text:#5B473A;
  --v58-sub:#8A7667;
  --v58-muted:#B4A395;

  --v58-primary:#F47B20;      /* 巢小小主橙 */
  --v58-primary2:#E56612;     /* 深橙 */
  --v58-primary3:#C9550B;     /* 更深强调 */
  --v58-soft:#FFF0E4;         /* 轻橙背景 */
  --v58-soft2:#FFE5D1;        /* 强一点的轻橙 */
  --v58-soft3:#FFF7F0;

  --v58-line:rgba(168,117,83,.16);
  --v58-line2:rgba(168,117,83,.09);
  --v58-borderGlass:rgba(255,255,255,.62);

  --v58-shadow:0 10px 24px rgba(117,72,39,.065);
  --v58-glass:0 12px 30px rgba(117,72,39,.08), inset 0 1px 0 rgba(255,255,255,.6);
  --v58-active:0 16px 34px rgba(244,123,32,.16),0 8px 16px rgba(117,72,39,.06);
}

body{
  background:
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.52), transparent 22%),
    radial-gradient(circle at 82% 10%, rgba(255,233,214,.48), transparent 26%),
    linear-gradient(180deg,var(--v58-bg2) 0%,var(--v58-bg) 34%,var(--v58-bg3) 100%)!important;
  color:var(--v58-text)!important;
}

/* 顶部与外层：暖玻璃 */
.header,.quote-dock,.card,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card{
  background:linear-gradient(180deg,var(--v58-cardGlass) 0%,var(--v58-cardGlass2) 100%)!important;
  backdrop-filter:blur(18px) saturate(1.06)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.06)!important;
  border:1px solid var(--v58-borderGlass)!important;
  box-shadow:var(--v58-glass)!important;
}

/* 内层业务区：偏实，避免脏 */
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,.combo-pill,.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--v58-white) 0%,var(--v58-surface) 100%)!important;
  border:1px solid var(--v58-line2)!important;
  box-shadow:var(--v58-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字层级 */
.header h1,.brand h1,
h1,h2,h3,.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3,.selected-title{
  color:var(--v58-ink)!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v58-text)!important;
}
.header p,.brand p,
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,.field label,.product-price span,.unit,.selected-empty{
  color:var(--v58-sub)!important;
  font-weight:600!important;
}
::placeholder{color:var(--v58-muted)!important}
.field label,.mini-label{
  color:#826B5B!important;
  font-weight:800!important;
}

/* 品牌标记与重点块 */
.mark,.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 12px 24px rgba(244,123,32,.20)!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.total-card *,.stat-card *,.summary-card *,.amount-card *{
  color:#FFFFFF!important;
}
.save-chip{
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,255,255,.60)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  color:var(--v58-sub)!important;
}

/* 左侧分类 */
.cat-list .cat-btn{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:0 4px 12px rgba(117,72,39,.035)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.cat-list .cat-btn b{
  color:var(--v58-ink)!important;
  font-weight:850!important;
}
.cat-list .cat-btn small{
  color:var(--v58-sub)!important;
}
.cat-list .cat-btn span{
  background:var(--v58-soft3)!important;
  color:#956C4D!important;
  font-weight:800!important;
}
.cat-list .cat-btn:hover{
  box-shadow:0 8px 18px rgba(117,72,39,.05)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--v58-soft) 0%,rgba(255,255,255,.92) 84%)!important;
  border-color:rgba(244,123,32,.16)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.08), inset 3px 0 0 var(--v58-primary)!important;
}
.cat-list .cat-btn.active b{
  color:var(--v58-primary2)!important;
}
.cat-list .cat-btn.active small{
  color:#8B7566!important;
}
.cat-list .cat-btn.active span{
  background:var(--v58-soft2)!important;
  color:var(--v58-primary2)!important;
}

/* 表头与表格 */
.product-table thead th,.quote-editor-head{
  background:linear-gradient(180deg,#FFF8F2 0%,#FFF2E8 100%)!important;
  color:#876F5F!important;
  font-weight:850!important;
  border:1px solid var(--v58-line2)!important;
}
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v58-line2)!important;
  border-bottom:1px solid var(--v58-line2)!important;
  box-shadow:0 2px 8px rgba(117,72,39,.018)!important;
}
.product-table tbody tr:hover td{
  background:#FFFCF9!important;
  box-shadow:0 6px 14px rgba(117,72,39,.04)!important;
}
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EE 100%)!important;
  border-color:rgba(244,123,32,.18)!important;
  box-shadow:var(--v58-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v58-primary)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v58-ink)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#8A7769!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 16px rgba(244,123,32,.16)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important; display:none!important;
}

/* 输入框 */
input,select,textarea{
  background:#FFFFFF!important;
  border:1px solid rgba(168,117,83,.14)!important;
  color:var(--v58-text)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(244,123,32,.32)!important;
  box-shadow:0 0 0 4px rgba(244,123,32,.08)!important;
}

/* 按钮与选中 tab 统一暖橙 */
.quick-add-button,.btn.primary,button.primary,.btn.orange,.room-tab.active{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.18)!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover,.btn.orange:hover{
  box-shadow:0 14px 24px rgba(244,123,32,.22)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost,.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(255,255,255,.56)!important;
  box-shadow:0 4px 12px rgba(117,72,39,.035)!important;
  color:var(--v58-text)!important;
}
.room-tab{
  font-weight:800!important;
}
.room-tab:not(.active):hover{
  background:#FFFCF9!important;
  border-color:rgba(244,123,32,.12)!important;
}
.pill{
  color:#8A715F!important;
  font-weight:800!important;
  background:#FFF8F3!important;
}

/* 金额、数字统一强调 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total,
#rowCount,#rowCountTop,#directTotal,#grandTotal,#grandTotalSmall,#directTotalTop,#grandTotalTop{
  color:var(--v58-primary3)!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}

/* 漏项提醒：仍然用暖色，不再跳青绿 */
.check-item.warn{
  background:linear-gradient(180deg,#FFF8F1 0%,#FFF1E6 100%)!important;
  border:1px solid rgba(244,123,32,.14)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.08)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#9A623B!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 18px rgba(244,123,32,.16)!important;
}

/* 偶数行保护 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EE 100%)!important;
}

/* 保留层级 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}
.product-table thead th{border-radius:6px!important}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}


/* V59：功能工具条与暖色视觉精修 */
.room-quickbar{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,247,240,.64));
  border:1px solid rgba(255,255,255,.60);
  box-shadow:0 8px 20px rgba(117,72,39,.05),inset 0 1px 0 rgba(255,255,255,.72);
}
.room-quick-stats{
  min-width:210px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 10px;
  align-items:center;
}
.room-quick-stats span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  background:linear-gradient(180deg,#FF9344,#F47B20);
  color:#fff!important;
  font-size:11px;
  font-weight:900;
  text-align:center;
  box-shadow:0 8px 16px rgba(244,123,32,.18);
}
.room-quick-stats b{
  color:#3B2B22!important;
  font-size:16px;
  font-weight:900;
}
.room-quick-stats em{
  color:#C9550B!important;
  font-size:13px;
  font-style:normal;
  font-weight:850;
}
.room-tool-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.room-tool-actions .btn{
  white-space:nowrap;
}
.room-tool-actions .btn:disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none!important;
  box-shadow:none!important;
}
.room-select{
  min-width:104px!important;
}
.quote-line{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.quote-line:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(117,72,39,.07)!important;
  border-color:rgba(244,123,32,.13)!important;
}
.quote-line:focus-within{
  box-shadow:0 0 0 3px rgba(244,123,32,.07),0 12px 26px rgba(117,72,39,.07)!important;
  border-color:rgba(244,123,32,.18)!important;
}
.dock-title span{
  color:#8A7667!important;
  font-weight:700!important;
}
.selected-title{
  display:flex;
  align-items:center;
  gap:8px;
}
.selected-title::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:999px;
  background:#F47B20;
  box-shadow:0 0 0 5px rgba(244,123,32,.10);
}
@media(max-width:900px){
  .room-quickbar{
    align-items:stretch;
    flex-direction:column;
  }
  .room-tool-actions{
    justify-content:flex-start;
  }
  .room-tool-actions .btn{
    flex:1 1 140px;
  }
}


/* V64：已取消前台价格依据展示，内部来源数据保留 */
.quote-line:focus-within{
  transform:none!important;
  border-color:rgba(244,123,32,.22)!important;
  box-shadow:0 0 0 3px rgba(244,123,32,.07),0 12px 26px rgba(117,72,39,.07)!important;
}


/* V62：④已选报价明细备注全文自适应 */
.quote-editor-head,
.quote-line{
  grid-template-columns:
    46px
    150px
    minmax(250px,1.10fr)
    145px
    112px
    125px
    minmax(340px,1.55fr)
    106px!important;
}

.quote-project textarea,
.quote-note textarea{
  field-sizing:content;
  height:auto;
  max-height:none!important;
  overflow:hidden!important;
  resize:none!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  box-sizing:border-box!important;
}

.quote-project textarea{
  min-height:58px!important;
}

.quote-note textarea{
  min-height:72px!important;
  line-height:1.62!important;
  color:#5B473A!important;
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF9F4 100%)!important;
}

.quote-note{
  align-self:stretch;
}

.quote-note textarea:focus{
  background:#FFFFFF!important;
}

@media(max-width:1400px){
  .quote-editor-head,
  .quote-line{
    grid-template-columns:
      42px
      140px
      minmax(220px,1.05fr)
      132px
      106px
      116px
      minmax(280px,1.35fr)
      100px!important;
  }
}

@media(max-width:1080px){
  .quote-editor-head{display:none!important}
  .quote-line{
    grid-template-columns:42px 1fr!important;
  }
}


/* V63：报价分类内快捷删除 */
.quick-remove-button{
  width:100%;
  height:36px;
  margin-top:8px;
  border-radius:12px!important;
  background:linear-gradient(180deg,#FFF8F5 0%,#FFF1EB 100%)!important;
  color:#C64F2D!important;
  border:1px solid rgba(198,79,45,.18)!important;
  box-shadow:0 6px 14px rgba(126,61,38,.06)!important;
  font-weight:850!important;
}
.quick-remove-button:hover{
  background:linear-gradient(180deg,#FFF4EE 0%,#FFE8DE 100%)!important;
  color:#A93E20!important;
  border-color:rgba(198,79,45,.28)!important;
  box-shadow:0 9px 18px rgba(126,61,38,.10)!important;
}
.quick-remove-button:active{
  transform:translateY(1px);
}
.quick-add-cell .join-count-mini{
  margin-top:7px;
  color:#8A7667!important;
  font-weight:750!important;
}


/* V65：项目类型自适应、区域分组与跨分类同步提示 */
.room-tab-add{
  border-style:dashed!important;
  color:#C9550B!important;
  background:rgba(255,248,242,.72)!important;
}
.room-tab-add:hover{
  background:#FFF0E4!important;
  border-color:rgba(244,123,32,.24)!important;
}

.related-picked td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF9F3 100%)!important;
}
.related-picked-badge{
  margin-top:8px;
  display:flex;
  align-items:flex-start;
  gap:7px;
  padding:8px 10px;
  border-radius:11px;
  background:#FFF5EA;
  border:1px solid rgba(244,123,32,.14);
  color:#806A5A!important;
  font-size:11px;
  line-height:1.45;
}
.related-picked-badge b{
  flex:0 0 auto;
  color:#C9550B!important;
  font-weight:900;
}
.related-picked-badge span{
  color:#806A5A!important;
  overflow-wrap:anywhere;
}
.related-join-mini{
  display:block;
  margin-top:7px;
  color:#A5693F!important;
  font-size:11px;
  line-height:1.4;
  font-weight:800;
}

.cat-count-wrap{
  display:flex!important;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
  background:transparent!important;
}
.cat-count-wrap em{
  padding:3px 7px;
  border-radius:999px;
  background:#FFF7F0;
  color:#956C4D!important;
  font-style:normal;
  font-weight:800;
  font-size:11px;
}
.cat-count-wrap i{
  padding:3px 7px;
  border-radius:999px;
  background:#FFE3CF;
  color:#C9550B!important;
  font-style:normal;
  font-weight:900;
  font-size:10px;
}
.cat-list .cat-btn.active .cat-count-wrap{
  background:transparent!important;
}


/* V68：独立固定报价记忆条
   完整报价清单保持正常文档位置，固定条只负责提醒，不再改变页面高度。
*/
.quote-dock,
.quote-dock.dock-floating,
.quote-dock.dock-compact,
.quote-dock.dock-hidden{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  opacity:1!important;
  transform:none!important;
  pointer-events:auto!important;
  contain:none!important;
  z-index:2!important;
}

.quote-dock .quote-dock-inner,
.quote-dock.dock-floating .quote-dock-inner,
.quote-dock.dock-compact .quote-dock-inner{
  position:relative!important;
  top:auto!important;
  left:auto!important;
  width:auto!important;
  transform:none!important;
}

.quote-dock .selected-strip{
  display:block!important;
  max-height:none!important;
  overflow:visible!important;
}

.quote-memory-bar{
  --memory-top:76px;
  position:fixed;
  top:var(--memory-top);
  left:50%;
  width:min(calc(100vw - 48px),1820px);
  z-index:96;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,-14px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}

.quote-memory-bar.show{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}

.quote-memory-shell{
  border:1px solid rgba(255,255,255,.70);
  border-radius:19px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,248,242,.91));
  box-shadow:0 16px 38px rgba(91,57,34,.13),inset 0 1px 0 rgba(255,255,255,.82);
  backdrop-filter:blur(22px) saturate(1.12);
  -webkit-backdrop-filter:blur(22px) saturate(1.12);
  overflow:hidden;
}

.quote-memory-main{
  min-height:64px;
  display:grid;
  grid-template-columns:auto minmax(240px,1fr) minmax(220px,.72fr) auto;
  align-items:center;
  gap:10px;
  padding:8px 10px;
}

.quote-memory-summary{
  min-width:178px;
  display:grid;
  grid-template-columns:auto auto;
  grid-template-areas:
    "label count"
    "total total";
  align-items:center;
  gap:1px 8px;
  padding:7px 11px;
  border-radius:14px;
  background:linear-gradient(145deg,#F47B20,#E56612);
  box-shadow:0 9px 18px rgba(244,123,32,.18);
}

.quote-memory-summary span{
  grid-area:label;
  color:rgba(255,255,255,.82)!important;
  font-size:10px;
  font-weight:800;
}

.quote-memory-summary b{
  grid-area:count;
  justify-self:end;
  color:#fff!important;
  font-size:11px;
  font-weight:900;
}

.quote-memory-summary strong{
  grid-area:total;
  color:#fff!important;
  font-size:18px;
  line-height:1.1;
  font-weight:950;
}

.quote-memory-recent{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
  overflow:hidden;
}

.memory-recent-chip{
  min-width:0;
  max-width:235px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:2px 7px;
  padding:7px 9px;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(168,117,83,.10);
  box-shadow:0 4px 11px rgba(117,72,39,.035);
}

.memory-recent-chip i{
  grid-row:1/3;
  align-self:center;
  padding:3px 6px;
  border-radius:999px;
  background:#FFF0E4;
  color:#C9550B!important;
  font-size:9px;
  font-style:normal;
  font-weight:900;
}

.memory-recent-chip b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#49372C!important;
  font-size:11px;
  font-weight:850;
}

.memory-recent-chip em{
  color:#8A7667!important;
  font-size:10px;
  font-style:normal;
  font-weight:700;
}

.memory-more,.memory-empty{
  flex:0 0 auto;
  color:#8A7667!important;
  font-size:11px;
  font-weight:800;
  white-space:nowrap;
}

.quote-memory-missing{
  min-width:0;
  height:48px;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr);
  align-items:center;
  gap:7px;
  padding:6px 10px;
  border-radius:13px;
  background:#FFF7EA!important;
  border:1px solid rgba(225,155,49,.17)!important;
  box-shadow:none!important;
  text-align:left;
  cursor:pointer;
}

.quote-memory-missing span{
  color:#8B6427!important;
  font-size:10px;
  font-weight:850;
}

.quote-memory-missing b{
  display:grid;
  place-items:center;
  min-width:24px;
  height:24px;
  border-radius:999px;
  background:#F0A52B;
  color:#fff!important;
  font-size:11px;
  font-weight:950;
}

.quote-memory-missing em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#7D684A!important;
  font-size:10px;
  font-style:normal;
  font-weight:700;
}

.quote-memory-missing.no-pending{
  background:#F4F8F6!important;
  border-color:rgba(47,128,86,.12)!important;
}

.quote-memory-missing.no-pending b{
  background:#4A9A70;
}

.quote-memory-actions{
  display:flex;
  align-items:center;
  gap:7px;
  white-space:nowrap;
}

.quote-memory-drawer{
  display:none;
  max-height:min(58vh,520px);
  border-top:1px solid rgba(168,117,83,.10);
  background:rgba(255,252,249,.96);
}

.quote-memory-bar.drawer-open .quote-memory-drawer{
  display:block;
}

.quote-memory-drawer-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:13px 16px;
  border-bottom:1px solid rgba(168,117,83,.09);
}

.quote-memory-drawer-head b{
  display:block;
  color:#3B2B22!important;
  font-size:16px;
  font-weight:950;
}

.quote-memory-drawer-head span{
  color:#8A7667!important;
  font-size:11px;
  font-weight:650;
}

.memory-close{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:0!important;
  border-radius:999px!important;
  background:#FFF0E4!important;
  color:#C9550B!important;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.quote-memory-drawer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);
  gap:14px;
  padding:14px;
  overflow:auto;
  max-height:calc(min(58vh,520px) - 62px);
}

.quote-memory-drawer-grid section{
  min-width:0;
  border:1px solid rgba(168,117,83,.10);
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

.memory-section-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:11px 13px;
  background:#FFF8F2;
  border-bottom:1px solid rgba(168,117,83,.09);
}

.memory-section-title h3{
  margin:0;
  color:#49372C!important;
  font-size:13px;
  font-weight:900;
}

.memory-section-title span{
  color:#C9550B!important;
  font-size:11px;
  font-weight:900;
}

.memory-selected-list,.memory-check-list{
  max-height:320px;
  overflow:auto;
}

.memory-selected-row{
  display:grid;
  grid-template-columns:86px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  padding:9px 12px;
  border-bottom:1px solid rgba(168,117,83,.07);
}

.memory-selected-row:last-child{
  border-bottom:0;
}

.memory-selected-row i{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#A15C2E!important;
  font-size:10px;
  font-style:normal;
  font-weight:850;
}

.memory-selected-row b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#49372C!important;
  font-size:11px;
  font-weight:800;
}

.memory-selected-row em{
  color:#C9550B!important;
  font-size:11px;
  font-style:normal;
  font-weight:900;
}

.memory-check-row{
  padding:10px 12px;
  border-bottom:1px solid rgba(168,117,83,.07);
}

.memory-check-row:last-child{
  border-bottom:0;
}

.memory-check-row.warn{
  background:#FFF9EF;
}

.memory-check-row p{
  margin:0;
  color:#685548!important;
  font-size:11px;
  line-height:1.55;
  font-weight:650;
}

.memory-check-row .check-actions{
  margin-top:7px;
}

.memory-check-row .fix-btn{
  padding:6px 9px!important;
  border-radius:9px!important;
  font-size:10px!important;
}

.memory-panel-empty{
  padding:22px 14px;
  color:#9A887B!important;
  font-size:11px;
  text-align:center;
}

.category-side,
body.quote-dock-compact-active .category-side{
  top:154px!important;
  max-height:calc(100vh - 174px)!important;
  transition:none!important;
}

.product-area{
  scroll-margin-top:150px;
}

@media(max-width:1180px){
  .quote-memory-main{
    grid-template-columns:auto minmax(190px,1fr) minmax(190px,.75fr) auto;
  }
  .memory-recent-chip:nth-child(n+3){
    display:none;
  }
}

@media(max-width:900px){
  .quote-memory-bar{
    --memory-top:68px;
    width:calc(100vw - 20px);
  }
  .quote-memory-main{
    grid-template-columns:auto minmax(0,1fr) auto;
    min-height:60px;
    gap:7px;
    padding:7px;
  }
  .quote-memory-summary{
    min-width:150px;
  }
  .quote-memory-recent{
    display:none;
  }
  .quote-memory-missing{
    min-width:0;
  }
  .quote-memory-missing em{
    display:none;
  }
  .quote-memory-actions .btn:last-child{
    display:none;
  }
  .quote-memory-drawer-grid{
    grid-template-columns:1fr;
  }
  .category-side,
  body.quote-dock-compact-active .category-side{
    top:137px!important;
    max-height:none!important;
  }
}

@media(max-width:560px){
  .quote-memory-summary{
    min-width:124px;
    padding:7px 9px;
  }
  .quote-memory-summary strong{
    font-size:15px;
  }
  .quote-memory-missing{
    grid-template-columns:auto auto;
    padding:6px 8px;
  }
  .quote-memory-missing em{
    display:none;
  }
  .quote-memory-actions .btn{
    padding-left:9px!important;
    padding-right:9px!important;
    min-width:68px;
  }
}


/* V69：分类稳定定位与实时费用明细 */
#productCatalogAnchor{
  scroll-margin-top:160px;
}

#productCatalogAnchor.catalog-focus-pulse{
  border-color:rgba(244,123,32,.30)!important;
  box-shadow:
    0 0 0 4px rgba(244,123,32,.08),
    0 12px 26px rgba(117,72,39,.08)!important;
}

.fee-live-row{
  align-items:center!important;
}

.fee-live-group{
  min-width:210px;
  display:grid;
  grid-template-columns:96px minmax(88px,1fr);
  align-items:center;
  gap:9px;
}

.fee-live-group input{
  width:96px!important;
  text-align:center;
}

.fee-live-group em{
  min-width:88px;
  padding:7px 9px;
  border-radius:10px;
  background:#FFF5EC;
  border:1px solid rgba(244,123,32,.11);
  color:#C9550B!important;
  font-size:12px;
  font-style:normal;
  font-weight:900;
  text-align:right;
  white-space:nowrap;
}

@media(max-width:720px){
  .fee-live-group{
    min-width:180px;
    grid-template-columns:82px minmax(78px,1fr);
  }
  .fee-live-group input{
    width:82px!important;
  }
}


/* V70 FINAL · universal compatibility and responsive layer */
:root{
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --header-height:76px;
}
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:calc(var(--header-height) + 92px);
}
body{
  width:100%;
  max-width:100%;
  min-height:100vh;
  min-height:100dvh;
  overflow-x:hidden!important;
  overscroll-behavior-y:auto;
  padding-left:var(--safe-left);
  padding-right:var(--safe-right);
}
.header{
  padding-top:var(--safe-top);
}
.header-inner,.app,.footer-inner{
  width:100%;
  min-width:0;
}
.app{
  padding-bottom:calc(112px + var(--safe-bottom))!important;
}
.workspace,.product-area,.category-side,.room-combo-panel,.room-block,.combo-block,.quote-section,.quote-editor-wrap,.summary,.card{
  min-width:0!important;
  max-width:100%!important;
}
button,input,select,textarea{
  max-width:100%;
}
button,select{
  touch-action:manipulation;
}
input,select,textarea{
  appearance:none;
  -webkit-appearance:none;
}
select{
  background-image:linear-gradient(45deg,transparent 50%,#8A6A54 50%),linear-gradient(135deg,#8A6A54 50%,transparent 50%);
  background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
  padding-right:28px!important;
}
.selected-chips,.selected-strip,.combo-strip,.room-tabs,.cat-list,.product-table-wrap,.memory-selected-list,.memory-check-list{
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
}
.calculation-rule-banner{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0 20px;
  padding:11px 13px;
  border:1px solid rgba(244,123,32,.15);
  border-radius:14px;
  background:#FFF7EF;
  color:#6D5544;
  font-size:12px;
  line-height:1.55;
}
.calculation-rule-banner b{
  flex:0 0 auto;
  color:#C9550B!important;
  font-weight:950;
}
.unit-change-hint{
  display:none;
  margin-top:7px;
  color:#B15B22!important;
  font-size:10px;
  line-height:1.4;
  font-weight:800;
}
.unit-change-hint.show{display:block}
.quote-unit-select{
  width:100%;
  min-height:42px;
  border:1px solid transparent!important;
  border-radius:16px!important;
  background-color:rgba(247,250,250,.78)!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.08)!important;
  padding:9px 28px 9px 10px!important;
  color:#183436!important;
  outline:none;
}
.quote-calc-tip{
  margin-top:5px;
  color:#8A7667!important;
  font-size:10px;
  font-weight:750;
}
.unit-review-warning{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin-top:6px;
  padding:8px;
  border-radius:11px;
  background:#FFF3E6;
  border:1px solid rgba(244,123,32,.18);
  color:#94501F!important;
  font-size:10px;
  line-height:1.4;
  font-weight:800;
}
.unit-review-warning button{
  min-height:32px!important;
  padding:5px 8px!important;
  border:0!important;
  border-radius:9px!important;
  background:#F47B20!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:900!important;
  cursor:pointer;
}
.footer-actions{
  padding-bottom:calc(12px + var(--safe-bottom))!important;
}
.quote-memory-bar{
  top:calc(var(--header-height) + 8px)!important;
  left:calc(50% + (var(--safe-left) - var(--safe-right))/2)!important;
  width:min(calc(100vw - 48px - var(--safe-left) - var(--safe-right)),1820px)!important;
}
.keyboard-open .quote-memory-bar,.keyboard-open .footer-actions{
  display:none!important;
}
@supports not ((backdrop-filter:blur(10px)) or (-webkit-backdrop-filter:blur(10px))){
  .header,.quote-memory-shell,.footer-actions,.category-side,.product-toolbar{background:#fff!important}
}
@media(hover:hover) and (pointer:fine){
  .btn:hover,.cat-btn:hover,.combo-pill:hover,.preview-row:hover{filter:brightness(.99)}
}
@media(pointer:coarse){
  .btn,button,.room-tab,.cat-btn,input,select{min-height:44px}
  .quote-actions .btn{min-height:44px}
  .cat-btn:hover,.combo-pill:hover,.quote-line:hover{transform:none!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Mid-size desktop quote editor: keep action buttons inside the card */
@media(max-width:1550px) and (min-width:1101px){
  .quote-editor-head,
  .quote-line{
    grid-template-columns:
      40px
      132px
      minmax(190px,1.12fr)
      154px
      96px
      108px
      minmax(200px,1fr)
      104px!important;
    gap:8px!important;
  }
  .quote-qty-pair{
    grid-template-columns:minmax(64px,1fr) 72px!important;
  }
  .quote-actions{
    min-width:0!important;
    gap:6px!important;
  }
  .quote-actions .btn{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}

/* Desktop and medium PC */
@media(max-width:1360px){
  .workspace{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  .category-side,
  body.memory-bar-visible .category-side{
    position:sticky!important;
    top:calc(var(--header-height) + 8px)!important;
    z-index:56!important;
    width:100%!important;
    max-height:none!important;
    padding:8px!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }
  body.memory-bar-visible .category-side{
    top:calc(var(--header-height) + 82px)!important;
  }
  .category-side .side-title{display:none!important}
  .cat-list{
    display:flex!important;
    flex-direction:row!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:1px 2px 4px!important;
    scrollbar-width:thin;
  }
  .cat-btn{
    flex:0 0 154px!important;
    min-width:154px!important;
    min-height:50px!important;
  }
  .product-area{width:100%!important}
  .room-combo-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
}

/* Tablet and mobile layouts */
@media(max-width:1100px){
  .header-inner{padding-left:16px!important;padding-right:16px!important}
  .app{padding-left:14px!important;padding-right:14px!important}
  .room-combo-panel{grid-template-columns:minmax(0,1fr)!important}
  .room-block,.combo-block{width:100%!important;overflow:hidden!important}
  .room-tabs,.combo-strip{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;flex-wrap:nowrap!important}
  .room-tab,.combo-pill{flex:0 0 auto!important}
  .room-quickbar{flex-wrap:wrap!important;align-items:stretch!important}
  .room-quick-stats{flex:1 1 280px!important;min-width:0!important}
  .room-tool-actions{flex:1 1 240px!important;min-width:0!important}
  .room-tool-actions .btn{flex:1 1 120px!important}

  .product-table-wrap{overflow:visible!important;border-radius:0 0 18px 18px!important}
  .product-table{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    border:0!important;
  }
  .product-table thead{display:none!important}
  .product-table tbody{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    padding:12px;
  }
  .product-table tr.preview-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
    border:1px solid rgba(176,121,84,.12)!important;
    border-radius:17px!important;
    padding:12px!important;
    background:#fff!important;
    box-shadow:0 9px 22px rgba(99,65,43,.055)!important;
  }
  .product-table tr.preview-row>td{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
  }
  .product-table tr.preview-row>td:first-child,
  .product-table tr.preview-row>td:last-child{grid-column:1/-1!important}
  .product-table tr.preview-row>td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:5px;
    color:#9A816F!important;
    font-size:10px;
    font-weight:900;
  }
  .product-table tr.preview-row>td:first-child::before{display:none}
  .price-edit-box,.quick-add-box{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(86px,.72fr)!important;gap:7px!important}
  .quick-add-box .quick-add-button{width:100%!important}
  .product-note{white-space:normal!important;overflow-wrap:anywhere!important}

  .quote-editor-head{display:none!important}
  .quote-line{
    grid-template-columns:42px minmax(0,1fr)!important;
    width:100%!important;
    min-width:0!important;
  }
  .quote-line .quote-cell label{display:block!important}
  .quote-room-cat,.quote-project,.quote-qty,.quote-price,.quote-amount,.quote-note,.quote-actions{grid-column:2!important}
  .quote-duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .quote-qty-pair{grid-template-columns:minmax(0,1fr) 104px!important}
  .quote-actions{justify-content:flex-start!important;flex-wrap:wrap!important}
  .summary{grid-template-columns:minmax(0,1fr)!important}
  .room-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .basic-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .wide2,.wide3,.wide6{grid-column:span 2!important}
}

@media(max-width:720px){
  html{scroll-padding-top:calc(var(--header-height) + 78px)}
  body{font-size:15px}
  input,select,textarea{font-size:16px!important}
  .header-inner{padding:9px 10px!important;gap:8px!important}
  .brand{min-width:0!important;gap:8px!important}
  .brand h1{font-size:16px!important;line-height:1.25!important}
  .brand p{display:none!important}
  .mark{width:38px!important;height:38px!important;border-radius:12px!important;font-size:20px!important}
  .header-actions{gap:5px!important;flex-wrap:nowrap!important}
  .save-chip{font-size:10px!important;max-width:78px!important;line-height:1.2!important}
  .header-actions .btn{padding:8px 9px!important;font-size:11px!important}
  .app{padding:10px 10px calc(92px + var(--safe-bottom))!important}
  .card{border-radius:19px!important;margin-bottom:12px!important}
  .card-head{padding:14px!important;align-items:flex-start!important}
  .card-head h2,.card-head h3{font-size:18px!important}
  .basic-grid{grid-template-columns:minmax(0,1fr)!important;padding:12px!important}
  .wide2,.wide3,.wide6{grid-column:auto!important}
  .field input,.field select,.field textarea{min-height:48px!important}

  .quote-dock .dock-main{grid-template-columns:minmax(0,1fr)!important;padding:11px!important}
  .dock-title{display:block!important}
  .dock-title h2{font-size:17px!important}
  .dock-title span{display:block!important;font-size:11px!important;margin-top:3px!important}
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:100%!important}
  .metric{min-width:0!important}
  .selected-chips{max-height:165px!important;overflow:auto!important;padding:8px!important}
  .selected-table{min-width:620px!important}

  .category-side,
  body.memory-bar-visible .category-side{
    top:calc(var(--header-height) + 6px)!important;
    margin:0 -1px 10px!important;
  }
  body.memory-bar-visible .category-side{top:calc(var(--header-height) + 70px)!important}
  .cat-btn{flex-basis:132px!important;min-width:132px!important;padding:9px!important}
  .cat-btn b{font-size:13px!important}
  .cat-btn small{font-size:10px!important}

  .product-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;padding:9px!important}
  .product-toolbar .search{min-width:0!important;width:100%!important}
  .product-toolbar .btn{padding:9px!important;font-size:11px!important}
  .room-combo-panel{gap:10px!important}
  .room-block,.combo-block{padding:12px!important}
  .room-quickbar{flex-direction:column!important}
  .room-quick-stats,.room-tool-actions{width:100%!important;flex-basis:auto!important}
  .room-tool-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .room-tool-actions .btn{width:100%!important}
  .combo-pill{min-width:160px!important}

  .product-table tbody{grid-template-columns:minmax(0,1fr)!important;padding:9px!important;gap:10px!important}
  .product-table tr.preview-row{grid-template-columns:minmax(0,1fr)!important;padding:11px!important}
  .product-table tr.preview-row>td{grid-column:1!important}
  .price-edit-box,.quick-add-box{grid-template-columns:minmax(0,1fr) 105px!important}
  .quick-remove-button{min-height:40px!important}

  .room-summary{grid-template-columns:minmax(0,1fr)!important;padding:12px!important}
  .quote-editor-wrap{padding:10px!important}
  .calculation-rule-banner{margin:0 10px!important;padding:9px 10px!important;display:block!important}
  .calculation-rule-banner b{display:block;margin-bottom:3px}
  .quote-line{grid-template-columns:34px minmax(0,1fr)!important;padding:10px!important;border-radius:17px!important}
  .quote-duo{grid-template-columns:minmax(0,1fr)!important}
  .quote-qty-pair{grid-template-columns:minmax(0,1fr) 104px!important}
  .quote-amount{justify-content:flex-start!important}
  .quote-amount .amount-pill{width:100%!important;justify-content:center!important}
  .fee-live-group{min-width:0!important;grid-template-columns:86px minmax(82px,1fr)!important}
  .totals{padding:13px!important}

  .quote-memory-bar{
    width:calc(100vw - 14px - var(--safe-left) - var(--safe-right))!important;
    top:calc(var(--header-height) + 5px)!important;
  }
  .quote-memory-main{grid-template-columns:minmax(118px,.65fr) minmax(0,1fr) auto!important;padding:6px!important;gap:6px!important}
  .quote-memory-summary{min-width:0!important;padding:6px 8px!important}
  .quote-memory-summary strong{font-size:15px!important}
  .quote-memory-recent{display:none!important}
  .quote-memory-missing{min-width:0!important;height:44px!important;padding:5px 7px!important}
  .quote-memory-missing em{display:none!important}
  .quote-memory-actions .btn:last-child{display:none!important}
  .quote-memory-actions .btn{padding:8px!important;font-size:10px!important;min-width:70px!important}
  .quote-memory-drawer{max-height:calc(var(--app-vh,100vh) - var(--header-height) - 82px)!important}
  .quote-memory-drawer-grid{grid-template-columns:minmax(0,1fr)!important;padding:9px!important;max-height:calc(var(--app-vh,100vh) - var(--header-height) - 145px)!important}

  .footer-actions{padding:7px 9px calc(7px + var(--safe-bottom))!important}
  .footer-inner{display:block!important}
  .footer-inner .note{display:none!important}
  .footer-inner .actions{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;width:100%!important}
  .footer-inner .btn{width:100%!important;padding:9px 6px!important;font-size:12px!important}
  .history{grid-template-columns:minmax(0,1fr)!important}
}

@media(max-width:430px){
  .header-actions .btn{display:none!important}
  .product-toolbar{grid-template-columns:minmax(0,1fr)!important}
  .product-toolbar .btn{width:100%!important}
  .room-tool-actions{grid-template-columns:minmax(0,1fr)!important}
  .quote-memory-main{grid-template-columns:minmax(112px,.7fr) minmax(70px,.45fr) auto!important}
  .quote-memory-missing span{display:none!important}
  .quote-memory-actions .btn{min-width:64px!important}
}

@media(max-height:520px) and (orientation:landscape){
  .quote-memory-drawer{max-height:calc(var(--app-vh,100vh) - var(--header-height) - 20px)!important}
  .footer-actions{position:relative!important}
}


/* V71 FINAL · 鼠标滚轮、触控板、键盘滚动兼容层 */
html{
  scroll-behavior:auto!important;
  overscroll-behavior-y:auto!important;
}
body{
  overscroll-behavior-y:auto!important;
}

/* 横向滑动区域不得截住纵向鼠标滚轮 */
.room-tabs,
.combo-strip,
.cat-list,
.selected-chips{
  overflow-y:hidden!important;
  overscroll-behavior-y:auto!important;
}

/* 有内部纵向滚动的区域到达边缘后，应继续滚动整页 */
.category-side,
.memory-selected-list,
.memory-check-list,
.quote-memory-drawer-grid{
  overscroll-behavior-y:auto!important;
  scrollbar-gutter:stable;
}

/* 表格仅负责横向溢出，纵向滚轮由兼容脚本转交页面 */
.product-table-wrap,
.quote-table-wrap{
  overscroll-behavior-y:auto!important;
}

/* 桌面端滚动条更容易识别 */
@media(hover:hover) and (pointer:fine){
  .category-side,
  .memory-selected-list,
  .memory-check-list,
  .quote-memory-drawer-grid,
  .product-table-wrap,
  .quote-table-wrap,
  .room-tabs,
  .combo-strip,
  .cat-list{
    scrollbar-width:thin;
    scrollbar-color:rgba(190,128,86,.34) transparent;
  }
  .category-side::-webkit-scrollbar,
  .memory-selected-list::-webkit-scrollbar,
  .memory-check-list::-webkit-scrollbar,
  .quote-memory-drawer-grid::-webkit-scrollbar,
  .product-table-wrap::-webkit-scrollbar,
  .quote-table-wrap::-webkit-scrollbar,
  .room-tabs::-webkit-scrollbar,
  .combo-strip::-webkit-scrollbar,
  .cat-list::-webkit-scrollbar{
    width:8px;
    height:8px;
  }
  .category-side::-webkit-scrollbar-thumb,
  .memory-selected-list::-webkit-scrollbar-thumb,
  .memory-check-list::-webkit-scrollbar-thumb,
  .quote-memory-drawer-grid::-webkit-scrollbar-thumb,
  .product-table-wrap::-webkit-scrollbar-thumb,
  .quote-table-wrap::-webkit-scrollbar-thumb,
  .room-tabs::-webkit-scrollbar-thumb,
  .combo-strip::-webkit-scrollbar-thumb,
  .cat-list::-webkit-scrollbar-thumb{
    border-radius:999px;
    background:rgba(190,128,86,.28);
  }
}




/* V74：空间自动归类反馈 */
.room-tab.auto-area-pulse{
  animation:autoAreaPulse .68s ease;
}
@keyframes autoAreaPulse{
  0%{box-shadow:0 0 0 0 rgba(244,123,32,.34);transform:translateY(0)}
  42%{box-shadow:0 0 0 6px rgba(244,123,32,.10);transform:translateY(-1px)}
  100%{box-shadow:0 0 0 0 rgba(244,123,32,0);transform:translateY(0)}
}
@media(prefers-reduced-motion:reduce){
  .room-tab.auto-area-pulse{animation:none!important}
}


/* V75A：启动兼容保护 */
.startup-compatibility-guard{
  position:fixed;
  inset:0;
  z-index:99999;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(255,250,246,.96);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
}
.startup-guard-card{
  width:min(520px,100%);
  padding:24px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(244,123,32,.16);
  box-shadow:0 20px 60px rgba(89,56,34,.14);
}
.startup-guard-card b{
  display:block;
  margin-bottom:10px;
  color:#3e2e25;
  font-size:20px;
}
.startup-guard-card span,
.startup-guard-card em{
  display:block;
  color:#765f50;
  font-size:14px;
  line-height:1.7;
  font-style:normal;
}
.startup-guard-card em{
  margin-top:10px;
  color:#c9550b;
  font-weight:800;
}
html.app-started .startup-compatibility-guard{
  display:none!important;
}


/* V76：表格产品库来源提示 */
.catalog-source-note{
  margin:0 0 12px;
  padding:11px 13px;
  display:flex;
  align-items:flex-start;
  gap:9px;
  border-radius:14px;
  background:#FFF8F2;
  border:1px solid rgba(244,123,32,.12);
}
.catalog-source-note b{
  flex:0 0 auto;
  color:#C9550B!important;
  font-size:12px;
  font-weight:950;
}
.catalog-source-note span{
  color:#6E584A!important;
  font-size:11px;
  line-height:1.55;
  font-weight:650;
}
@media(max-width:720px){
  .catalog-source-note{
    display:block;
  }
  .catalog-source-note span{
    display:block;
    margin-top:4px;
  }
}


/* V77：布局重排、分类回位、材料人工分别÷0.6并四舍五入后相加 */
.pricing-setup-panel{
  margin:0 0 18px!important;
  overflow:hidden!important;
  border-radius:24px!important;
}
.setup-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px 14px;
  border-bottom:1px solid rgba(117,72,39,.08);
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF9F4 100%);
}
.setup-panel-head h3{
  margin:0;
  color:#2F241D!important;
  font-size:20px;
}
.setup-panel-head p{
  margin:5px 0 0;
  color:#806B5C!important;
  font-size:12px;
  line-height:1.55;
}
.pricing-setup-panel .room-combo-panel{
  margin:0!important;
  padding:16px!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background:#FFFFFF!important;
}
.workspace{
  align-items:start!important;
}
.category-side,
.product-toolbar-v77{
  min-height:112px!important;
}
.product-toolbar-v77{
  position:relative!important;
  top:auto!important;
  display:grid!important;
  grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr)!important;
  gap:18px!important;
  align-items:center!important;
  padding:16px 18px!important;
  margin:0 0 10px!important;
  border-radius:22px!important;
}
.product-toolbar-copy{
  min-width:0;
}
.product-toolbar-title-row{
  display:flex;
  align-items:center;
  gap:10px;
}
.product-toolbar-title-row h3{
  margin:0;
  color:#2F241D!important;
  font-size:20px;
}
.product-toolbar-title-row em{
  padding:4px 8px;
  border-radius:999px;
  background:#FFF0E5;
  color:#C9550B!important;
  font-size:11px;
  font-style:normal;
  font-weight:900;
  white-space:nowrap;
}
.product-toolbar-copy>span{
  display:block;
  margin-top:4px;
  color:#756052!important;
  font-size:12px;
  font-weight:750;
}
.product-toolbar-copy>small{
  display:block;
  margin-top:5px;
  color:#9A7F6C!important;
  font-size:10.5px;
  line-height:1.5;
}
.v80-search-wrap{position:relative;flex:1;display:flex;align-items:center;}.v80-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:26px;height:26px;border:none;background:#e7eef0;color:#3c5d62;border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:1;}.v80-search-clear:hover{background:#cfd9dc;}.product-toolbar-controls{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.product-toolbar-controls .search{
  width:100%;
  min-width:0!important;
}
.product-toolbar-controls .btn{
  flex:0 0 auto;
}
.category-side{
  padding:14px!important;
}
.side-title{
  min-height:84px;
  box-sizing:border-box;
}
.product-table{
  min-width:1240px!important;
  table-layout:fixed!important;
}
.product-table .cost-head,
.product-table .cost-edit-cell{
  text-align:left!important;
}
.cost-input{
  width:100%;
  height:42px;
  padding:0 10px;
  border-radius:14px!important;
  font-weight:900!important;
  color:#5B473A!important;
  background:#FFFDFC!important;
}
.material-cost-input{
  border-color:rgba(51,117,169,.15)!important;
}
.labor-cost-input{
  border-color:rgba(244,123,32,.16)!important;
}
.cat-btn.category-return-pulse{
  animation:v77CategoryReturn .58s ease;
}
@keyframes v77CategoryReturn{
  0%{box-shadow:0 0 0 0 rgba(244,123,32,.32)}
  45%{box-shadow:0 0 0 6px rgba(244,123,32,.10)}
  100%{box-shadow:0 0 0 0 rgba(244,123,32,0)}
}
.product-toolbar-v77.catalog-focus-pulse{
  animation:v77ToolbarFocus .58s ease;
}
@keyframes v77ToolbarFocus{
  0%{border-color:rgba(244,123,32,.08)}
  45%{border-color:rgba(244,123,32,.30);box-shadow:0 0 0 5px rgba(244,123,32,.07)}
  100%{border-color:rgba(244,123,32,.08)}
}
.selected-table{
  min-width:940px!important;
}
.quote-editor-head,
.quote-line{
  grid-template-columns:
    42px
    132px
    minmax(190px,1.08fr)
    142px
    180px
    104px
    112px
    minmax(230px,1.25fr)
    96px!important;
  gap:8px!important;
}
.quote-cost-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:7px;
}
.quote-cost-pair span{
  min-width:0;
}
.quote-cost-pair i{
  display:block;
  margin-bottom:4px;
  color:#907A6A!important;
  font-size:9px;
  font-style:normal;
  font-weight:900;
}
.quote-cost-pair input{
  width:100%;
}
.quote-price-mode{
  margin-top:5px;
  color:#8A7667!important;
  font-size:9.5px;
  line-height:1.35;
  font-weight:750;
}
.quote-price-mode{
  color:#A45A20!important;
}
.calculation-rule-banner span{
  line-height:1.6;
}
@media(min-width:1181px){
  .workspace{
    grid-template-columns:250px minmax(0,1fr)!important;
    gap:16px!important;
  }
  .category-side{
    position:sticky!important;
    top:calc(var(--header-height) + 86px)!important;
    max-height:calc(100vh - var(--header-height) - 104px)!important;
    overflow:auto!important;
  }
  body:not(.memory-bar-visible) .category-side{
    top:calc(var(--header-height) + 10px)!important;
    max-height:calc(100vh - var(--header-height) - 28px)!important;
  }
}
@media(max-width:1550px) and (min-width:1101px){
  .quote-editor-head,
  .quote-line{
    grid-template-columns:
      38px
      120px
      minmax(170px,1fr)
      132px
      158px
      94px
      102px
      minmax(180px,1fr)
      88px!important;
    gap:7px!important;
  }
}
@media(max-width:1180px){
  .product-toolbar-v77{
    grid-template-columns:minmax(0,1fr)!important;
    min-height:0!important;
  }
  .category-side{
    min-height:0!important;
  }
  .product-toolbar-controls{
    width:100%;
  }
  .quote-room-cat,
  .quote-project,
  .quote-qty,
  .quote-costs,
  .quote-price,
  .quote-amount,
  .quote-note,
  .quote-actions{
    grid-column:2!important;
  }
}
@media(max-width:720px){
  .setup-panel-head{
    display:block;
    padding:14px;
  }
  .setup-panel-head .pill{
    display:inline-flex;
    margin-top:9px;
  }
  .pricing-setup-panel .room-combo-panel{
    padding:10px!important;
  }
  .product-toolbar-v77{
    padding:12px!important;
  }
  .product-toolbar-controls{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:7px;
  }
  .product-toolbar-copy>small{
    font-size:10px;
  }
  .product-table tr.preview-row{
    grid-template-columns:minmax(0,1fr)!important;
  }
  .product-table tr.preview-row>td{
    grid-column:1!important;
  }
  .quote-cost-pair{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
}
@media(prefers-reduced-motion:reduce){
  .cat-btn.category-return-pulse,
  .product-toolbar-v77.catalog-focus-pulse{
    animation:none!important;
  }
}


/* V79.1 空间自动算量 + 施工步骤 */
.measurement-assistant{padding:0!important;overflow:hidden!important;border-radius:24px!important}
.measurement-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 15px;background:linear-gradient(135deg,#fff8f1,#fff);border-bottom:1px solid rgba(244,123,32,.1)}
.measurement-head h3{margin:0;color:#2f241d!important;font-size:20px}.measurement-head p{margin:5px 0 0;color:#7d685a!important;font-size:12px;line-height:1.6}.measure-pill{background:#fff0e3!important;color:#c75c11!important}
.measurement-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);gap:14px;padding:15px 16px 10px;background:#fff}
.measurement-input-panel,.measurement-result-panel{border:1px solid rgba(117,72,39,.1);border-radius:18px;padding:14px;background:#fffdfb}
.measurement-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.measurement-section-title b{color:#3c2d24!important;font-size:13px}.measurement-section-title span{color:#9a8372!important;font-size:10.5px}
.measurement-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.measurement-fields label{min-width:0}.measurement-fields label>span{display:block;margin:0 0 5px;color:#7b6759!important;font-size:10.5px;font-weight:850}.measurement-fields input,.measurement-fields select{height:40px;border-radius:12px!important;background:#fff!important;font-weight:850!important;color:#49372c!important}
.measurement-suffix-input{position:relative}.measurement-suffix-input input{padding-right:30px}.measurement-suffix-input i{position:absolute;right:11px;top:50%;transform:translateY(-50%);font-style:normal;color:#9a8372;font-size:11px;font-weight:900}
.measurement-input-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:11px}
.measurement-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.measurement-metric{min-height:68px;padding:10px;border-radius:14px;background:#fff;border:1px solid rgba(244,123,32,.12)}.measurement-metric span{display:block;color:#8b7565!important;font-size:10px;font-weight:750}.measurement-metric b{display:block;margin-top:5px;color:#bd5410!important;font-size:18px;line-height:1}.measurement-metric em{margin-left:3px;color:#9a8372!important;font-size:10px;font-style:normal}.measurement-note{margin-top:10px;padding:9px 11px;border-radius:12px;background:#f8f4f1;color:#806d60!important;font-size:10.5px;line-height:1.55}
.measurement-suggestion-panel{padding:5px 16px 16px;background:#fff}.measurement-suggestion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.measurement-suggestion-head>div:first-child b{display:block;color:#3c2d24!important;font-size:13px}.measurement-suggestion-head>div:first-child span{display:block;margin-top:3px;color:#8c7768!important;font-size:10.5px}.measurement-select-actions{display:flex;gap:7px}
.measurement-suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.measurement-suggestion{display:grid;grid-template-columns:22px minmax(0,1fr) 92px;gap:8px;align-items:center;min-height:66px;padding:9px 10px;border:1px solid rgba(117,72,39,.1);border-radius:14px;background:#fff;transition:.16s ease}.measurement-suggestion.checked{border-color:rgba(244,123,32,.28);background:#fff8f1;box-shadow:0 5px 14px rgba(185,91,27,.06)}.measurement-suggestion input[type=checkbox]{width:18px;height:18px;accent-color:#f47b20}.measurement-suggestion-main{min-width:0}.measurement-suggestion-main b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#3e2f26!important;font-size:11.5px}.measurement-suggestion-main span{display:flex;align-items:center;gap:6px;margin-top:5px;color:#8a7566!important;font-size:9.5px}.measurement-step-chip{display:inline-flex!important;padding:3px 6px;border-radius:7px;background:#f3ebe5;color:#8d5b36!important;font-weight:900}.measurement-suggestion-qty{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px}.measurement-suggestion-qty input{height:36px;padding:0 7px;border-radius:10px!important;text-align:right;font-weight:900!important}.measurement-suggestion-qty em{color:#866f60!important;font-size:10px;font-style:normal;font-weight:850}
.measurement-apply-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding:10px 12px;border-radius:15px;background:#33261f;color:#fff}.measurement-apply-bar b{font-size:15px}.measurement-apply-bar span{margin-left:8px;color:rgba(255,255,255,.72)!important;font-size:10.5px}.measurement-apply-btn{min-width:175px;background:linear-gradient(135deg,#f47b20,#ff9b45)!important;box-shadow:0 7px 18px rgba(244,123,32,.22)}
.process-step-panel{margin:0 0 10px;padding:11px 12px;border:1px solid rgba(117,72,39,.1);border-radius:18px;background:#fff}.process-step-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.process-step-head b{color:#382a22!important;font-size:12px}.process-step-head span{margin-left:7px;color:#8e7869!important;font-size:10.5px}.process-step-head em{padding:4px 8px;border-radius:999px;background:#fff0e5;color:#bd5410!important;font-size:10px;font-style:normal;font-weight:900}.process-step-bar{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 4px;scrollbar-width:thin}.process-step-btn{flex:0 0 auto;display:grid;grid-template-columns:22px auto;grid-template-rows:auto auto;column-gap:7px;min-width:116px;padding:8px 10px;border:1px solid rgba(117,72,39,.1)!important;border-radius:13px!important;background:#fff!important;color:#59463a!important;text-align:left!important;box-shadow:none!important}.process-step-btn>span{grid-row:1/3;align-self:center;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:#f4eee9;color:#9b7357!important;font-size:9px;font-weight:950}.process-step-btn b{font-size:10.5px;color:#4b392f!important}.process-step-btn em{font-size:9px;color:#9a8372!important;font-style:normal}.process-step-btn.active{border-color:rgba(244,123,32,.35)!important;background:#fff6ee!important}.process-step-btn.active>span{background:#f47b20;color:#fff!important}.process-step-btn.has-picked em{color:#bd5410!important;font-weight:900}.process-step-divider td{padding:8px 11px!important;background:#f8f3ef!important;border-top:1px solid rgba(117,72,39,.1)!important;border-bottom:1px solid rgba(117,72,39,.08)!important;color:#6f5849!important;font-weight:900!important}.process-step-divider span{display:inline-flex;margin-right:7px;padding:3px 7px;border-radius:7px;background:#f47b20;color:#fff!important;font-size:9px}.process-mini-tag{display:inline-flex;padding:3px 6px;border-radius:7px;background:#f4eee9;color:#8b6247!important;font-size:9px;font-weight:900}
@media(max-width:1180px){.measurement-layout{grid-template-columns:1fr}.measurement-suggestions{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.measurement-head,.measurement-suggestion-head{display:block}.measure-pill{display:inline-flex;margin-top:8px}.measurement-layout{padding:10px}.measurement-input-panel,.measurement-result-panel{padding:11px}.measurement-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.measurement-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.measurement-suggestions{grid-template-columns:1fr}.measurement-select-actions{margin-top:8px}.measurement-apply-bar{align-items:stretch;flex-direction:column}.measurement-apply-btn{width:100%}.process-step-head{display:block}.process-step-head em{display:inline-flex;margin-top:6px}.process-step-btn{min-width:108px}}



/* === V79E 多空间测量工作台 UI 优化 === */
.measurement-module{
  padding:0!important;
  overflow:hidden!important;
  border:1px solid rgba(224,191,166,.72)!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(78,50,31,.055)!important;
}
.measurement-module-bar{
  min-height:80px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:15px 18px!important;
  background:linear-gradient(135deg,#fffdfb 0%,#fff8f1 100%)!important;
}
.measurement-module-main{min-width:0!important;flex:1!important;display:flex!important;align-items:center!important;gap:12px!important;padding:0!important;border:0!important;background:transparent!important;color:#3d2d24!important;text-align:left!important;cursor:pointer!important}
.measurement-module-icon{width:46px!important;height:46px!important;flex:0 0 46px!important;display:grid!important;place-items:center!important;border-radius:14px!important;background:#fff!important;border:1px solid rgba(244,123,32,.18)!important;box-shadow:0 8px 22px rgba(173,89,31,.09)!important;font-size:21px!important}
.measurement-module-copy b{display:block!important;color:#35271f!important;font-size:18px!important;line-height:1.2!important}
.measurement-module-copy em{display:block!important;margin-top:5px!important;color:#866f60!important;font-size:12px!important;font-style:normal!important}
.measurement-module-status{display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
.measurement-module-progress,.measurement-module-current{display:inline-flex!important;align-items:center!important;min-height:34px!important;padding:0 11px!important;border-radius:999px!important;border:1px solid #eaded5!important;background:#fff!important;color:#725f52!important;font-size:11px!important;font-weight:850!important;white-space:nowrap!important}
.measurement-module-progress{color:#bf5a12!important;background:#fff0e3!important;border-color:#f5d2b8!important}
.measurement-module-toggle{min-width:116px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;border-radius:12px!important}
.measurement-module-toggle i{font-style:normal!important;transition:transform .2s ease!important}
.measurement-module:not(.collapsed) .measurement-module-toggle i{transform:rotate(180deg)!important}
.measurement-assistant-body{border-top:1px solid #f0e5dc!important;background:#fbfaf9!important}
.measurement-assistant-body[hidden]{display:none!important}
.measurement-inner-head{display:none!important}

.multi-measure-panel{margin:0!important;border:0!important;border-radius:0!important;background:#fbfaf9!important;box-shadow:none!important;overflow:visible!important}
.multi-measure-top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;padding:20px 20px 14px!important;border-bottom:0!important;background:#fbfaf9!important}
.multi-measure-kicker{display:inline-flex!important;align-items:center!important;min-height:24px!important;padding:0 8px!important;margin-bottom:7px!important;border-radius:999px!important;background:#fff0e3!important;color:#bd5710!important;font-size:10px!important;font-weight:900!important;letter-spacing:.04em!important}
.multi-measure-title b{display:block!important;color:#34271f!important;font-size:18px!important;line-height:1.2!important}
.multi-measure-title>span:last-child{display:block!important;margin-top:6px!important;color:#866f60!important;font-size:11px!important;line-height:1.55!important}
.multi-measure-header-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:9px!important;flex-wrap:wrap!important}
.measurement-current-badge{display:inline-flex!important;align-items:center!important;min-height:38px!important;margin:0!important;padding:0 12px!important;border-radius:11px!important;background:#fff!important;border:1px solid #eaded5!important;color:#725e51!important;font-size:11px!important;font-weight:900!important}
.measurement-whole-house-btn{min-height:42px!important;padding:0 18px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#f47b20,#ff9741)!important;color:#fff!important;box-shadow:0 9px 20px rgba(244,123,32,.20)!important}

.multi-measure-workspace{display:grid!important;grid-template-columns:minmax(280px,320px) minmax(0,1fr)!important;gap:14px!important;padding:0 20px 20px!important}
.measurement-plan-sidebar,.measurement-command-card{min-width:0!important;border:1px solid #eadfd7!important;border-radius:18px!important;background:#fff!important;box-shadow:0 8px 22px rgba(73,48,32,.045)!important}
.measurement-plan-sidebar{padding:13px!important}
.measurement-plan-sidebar-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;padding:2px 2px 11px!important}
.measurement-plan-sidebar-head b{display:block!important;color:#3b2c24!important;font-size:13px!important}
.measurement-plan-sidebar-head span{display:block!important;margin-top:3px!important;color:#978276!important;font-size:10px!important}
.measurement-plan-sidebar-head em{display:inline-flex!important;align-items:center!important;min-height:28px!important;padding:0 9px!important;border-radius:999px!important;background:#f7f2ee!important;color:#7d6658!important;font-size:10px!important;font-style:normal!important;font-weight:900!important}
.measurement-plan-list{display:flex!important;flex-direction:column!important;gap:7px!important;max-height:390px!important;overflow:auto!important;padding:1px 3px 3px 1px!important;scrollbar-width:thin!important}
.measurement-plan-card{position:relative!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;width:100%!important;min-width:0!important;max-width:none!important;min-height:68px!important;padding:9px 10px!important;border:1px solid #eee4dd!important;border-radius:14px!important;background:#fff!important;color:#44342b!important;text-align:left!important;cursor:pointer!important;box-shadow:none!important;transition:.16s ease!important}
.measurement-plan-card:hover{transform:translateY(-1px)!important;border-color:#e6c8b1!important;background:#fffcfa!important;box-shadow:0 7px 16px rgba(96,59,33,.065)!important}
.measurement-plan-card.active{border-color:#f2a266!important;background:linear-gradient(135deg,#fff8f1,#fffdfb)!important;box-shadow:0 8px 20px rgba(244,123,32,.10)!important}
.measurement-plan-card.active::before{content:""!important;position:absolute!important;left:-1px!important;top:13px!important;bottom:13px!important;width:4px!important;border-radius:0 6px 6px 0!important;background:#f47b20!important}
.plan-space-icon{position:relative!important;width:42px!important;height:42px!important;display:grid!important;place-items:center!important;border-radius:12px!important;background:#f7f2ee!important;color:#7c5e49!important;font-size:14px!important;font-weight:950!important}
.measurement-plan-card.active .plan-space-icon{background:#fff0e3!important;color:#bd5710!important}
.plan-state-circle{position:absolute!important;right:-4px!important;bottom:-4px!important;width:18px!important;height:18px!important;display:grid!important;place-items:center!important;border:2px solid #fff!important;border-radius:999px!important;background:#c9bbb0!important;color:#fff!important;font-size:9px!important;font-style:normal!important;font-weight:950!important;box-shadow:0 3px 8px rgba(70,44,28,.12)!important}
.measurement-plan-card.done .plan-state-circle{background:#229b6c!important}
.measurement-plan-card.draft .plan-state-circle{background:#f47b20!important}
.plan-card-copy{display:block!important;min-width:0!important}
.plan-card-copy b{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#3c2d24!important;font-size:12.5px!important;line-height:1.25!important}
.plan-card-copy small{display:block!important;margin-top:3px!important;color:#9a8577!important;font-size:9.5px!important}
.plan-card-copy em{display:block!important;margin-top:5px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#7c6657!important;font-size:9.5px!important;font-style:normal!important}
.plan-card-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:26px!important;padding:0 8px!important;border-radius:999px!important;background:#f5f1ee!important;color:#8b7668!important;font-size:9px!important;font-weight:900!important;white-space:nowrap!important}
.measurement-plan-card.done .plan-card-status{background:#e8f7f1!important;color:#167751!important}
.measurement-plan-card.draft .plan-card-status{background:#fff0e3!important;color:#bf5b13!important}

.measurement-add-details{margin-top:10px!important;border:1px dashed #e4d5ca!important;border-radius:13px!important;background:#fdfbf9!important;overflow:hidden!important}
.measurement-add-details summary{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;padding:10px 11px!important;cursor:pointer!important;list-style:none!important;color:#6f5849!important}
.measurement-add-details summary::-webkit-details-marker{display:none!important}
.measurement-add-details summary b{font-size:11px!important}
.measurement-add-details summary span{font-size:9.5px!important;color:#a08a7c!important}
.measurement-add-details[open] summary{border-bottom:1px solid #eee4dd!important;background:#fff!important}
.multi-measure-add{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:10px!important}
.multi-measure-add select,.multi-measure-add input{width:100%!important;height:38px!important;min-height:38px!important;padding:0 9px!important;border:1px solid #e7ddd5!important;border-radius:10px!important;background:#fff!important;color:#49382e!important;font-size:11px!important}
.multi-measure-add .btn{grid-column:1/-1!important;min-height:38px!important;border-radius:10px!important}

.measurement-command-card{padding:16px!important;background:linear-gradient(145deg,#fff,#fffcfa)!important}
.measurement-current-card{display:grid!important;grid-template-columns:58px minmax(0,1fr) auto!important;align-items:center!important;gap:13px!important;padding:14px!important;border:1px solid #f0ddd0!important;border-radius:16px!important;background:linear-gradient(135deg,#fff8f1,#fff)!important}
.measurement-command-icon{width:58px!important;height:58px!important;display:grid!important;place-items:center!important;border-radius:16px!important;background:linear-gradient(145deg,#f47b20,#ff9a44)!important;color:#fff!important;font-size:20px!important;font-weight:950!important;box-shadow:0 10px 22px rgba(244,123,32,.18)!important}
.measurement-command-copy{min-width:0!important}
.measurement-command-copy small{display:block!important;color:#a07e67!important;font-size:9.5px!important;font-weight:850!important}
.measurement-command-copy h4{margin:4px 0 0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#34271f!important;font-size:20px!important;line-height:1.15!important}
.measurement-command-copy p{margin:6px 0 0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#816b5c!important;font-size:10.5px!important}
.measurement-command-status{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:32px!important;padding:0 10px!important;border-radius:999px!important;background:#f2eeeb!important;color:#8b7669!important;font-size:10px!important;font-weight:900!important;white-space:nowrap!important}
.measurement-command-status.done{background:#e8f7f1!important;color:#167751!important}
.measurement-command-status.draft{background:#fff0e3!important;color:#bd5710!important}

.measurement-plan-summary{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:13px 0 0!important}
.measurement-plan-summary>div{padding:11px 12px!important;border:1px solid #ede4dd!important;border-radius:13px!important;background:#fff!important}
.measurement-plan-summary .summary-progress{grid-column:1/-1!important;display:grid!important;grid-template-columns:auto minmax(120px,1fr)!important;align-items:center!important;gap:14px!important;background:#342820!important;border-color:#342820!important;color:#fff!important}
.summary-progress>div{display:flex!important;align-items:baseline!important;gap:9px!important}
.summary-progress span{color:rgba(255,255,255,.68)!important;font-size:9.5px!important}
.summary-progress b{color:#fff!important;font-size:13px!important}
.summary-progress>i{height:7px!important;overflow:hidden!important;border-radius:999px!important;background:rgba(255,255,255,.13)!important}
.summary-progress>i>u{display:block!important;height:100%!important;border-radius:inherit!important;background:linear-gradient(90deg,#ffb068,#f47b20)!important;text-decoration:none!important;transition:width .25s ease!important}
.summary-stat{display:grid!important;grid-template-columns:1fr auto!important;align-items:end!important;gap:2px 6px!important}
.summary-stat span{grid-column:1/-1!important;color:#927d6f!important;font-size:9.5px!important}
.summary-stat b{color:#3d2e25!important;font-size:19px!important;line-height:1!important}
.summary-stat em{color:#a18b7d!important;font-size:9px!important;font-style:normal!important}
.summary-stat.done b{color:#16805a!important}.summary-stat.draft b{color:#d46b1d!important}.summary-stat.pending b{color:#7b685b!important}

.measurement-main-actions{display:grid!important;grid-template-columns:minmax(112px,.7fr) minmax(112px,.7fr) minmax(190px,1.35fr)!important;gap:8px!important;margin-top:13px!important}
.measurement-main-actions .btn{min-height:46px!important;border-radius:12px!important;font-size:11.5px!important}
.measurement-next-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;border:0!important;background:linear-gradient(135deg,#087a82,#0d959d)!important;color:#fff!important;box-shadow:0 9px 20px rgba(8,122,130,.18)!important}
.measurement-next-btn i{font-style:normal!important;font-size:16px!important}
.measurement-flow-tip{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin-top:11px!important;padding:10px 11px!important;border-radius:12px!important;background:#f7f3f0!important;color:#806b5d!important;font-size:9.5px!important}
.measurement-flow-tip>span{padding:3px 6px!important;border-radius:6px!important;background:#fff!important;color:#a36a40!important;font-weight:900!important}
.measurement-flow-tip b{font-size:9.5px!important;color:#6e594b!important}.measurement-flow-tip i{font-style:normal!important;color:#b9a699!important}
.measurement-tool-details{margin-top:10px!important;border-top:1px solid #eee5de!important;padding-top:8px!important}
.measurement-tool-details summary{display:inline-flex!important;align-items:center!important;min-height:32px!important;padding:0 9px!important;border-radius:9px!important;background:#f7f3f0!important;color:#7c6759!important;cursor:pointer!important;list-style:none!important;font-size:10px!important;font-weight:850!important}
.measurement-tool-details summary::-webkit-details-marker{display:none!important}
.measurement-secondary-actions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;margin-top:8px!important}
.measurement-secondary-actions .btn{min-height:36px!important;border-radius:10px!important}

/* 测量输入与结果区连接到工作台 */
.measurement-layout{margin:0 20px 12px!important;padding:0!important;background:transparent!important;gap:12px!important}
.measurement-input-panel,.measurement-result-panel{border-color:#e9dfd7!important;border-radius:17px!important;background:#fff!important;box-shadow:0 7px 20px rgba(73,48,32,.035)!important}
.measurement-suggestion-panel{margin:0 20px 20px!important;padding:14px!important;border:1px solid #e9dfd7!important;border-radius:17px!important;background:#fff!important;box-shadow:0 7px 20px rgba(73,48,32,.035)!important}

/* 对号增强放入实际页面样式 */
.cat-list .cat-btn,.room-tab,.process-step-btn,.measurement-suggestion{position:relative!important;overflow:hidden!important}
.cat-list .cat-btn.active::after,.room-tab.active::after,.process-step-btn.active::after,.measurement-suggestion.checked::after{content:"✔"!important;position:absolute!important;left:11px!important;top:50%!important;transform:translateY(-50%)!important;width:21px!important;height:21px!important;border-radius:999px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;background:#f47b20!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 5px 13px rgba(244,123,32,.22)!important;font-size:11px!important;font-weight:950!important;z-index:2!important}
.cat-list .cat-btn.active,.room-tab.active,.process-step-btn.active{padding-left:40px!important}
.measurement-suggestion{grid-template-columns:28px minmax(0,1fr) 92px!important;padding-left:11px!important}
.measurement-suggestion input[type=checkbox]{opacity:0!important;pointer-events:none!important}

@media(max-width:1000px){
  .multi-measure-workspace{grid-template-columns:290px minmax(0,1fr)!important}
  .measurement-main-actions{grid-template-columns:1fr 1fr!important}
  .measurement-next-btn{grid-column:1/-1!important}
}
@media(max-width:800px){
  .measurement-module-bar{align-items:flex-start!important;flex-direction:column!important;padding:14px!important}
  .measurement-module-status{width:100%!important}
  .measurement-module-toggle{margin-left:auto!important}
  .multi-measure-top{align-items:flex-start!important;flex-direction:column!important;padding:16px 14px 12px!important}
  .multi-measure-header-actions{width:100%!important;justify-content:space-between!important}
  .multi-measure-workspace{grid-template-columns:1fr!important;padding:0 14px 16px!important}
  .measurement-plan-list{flex-direction:row!important;max-height:none!important;overflow-x:auto!important;padding:1px 2px 7px!important;scroll-snap-type:x proximity!important}
  .measurement-plan-card{min-width:238px!important;flex:0 0 238px!important;scroll-snap-align:start!important}
  .measurement-layout{margin:0 14px 10px!important}
  .measurement-suggestion-panel{margin:0 14px 16px!important}
}
@media(max-width:560px){
  .measurement-module-copy b{font-size:16px!important}.measurement-module-copy em{font-size:10.5px!important}
  .measurement-module-status{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .measurement-module-toggle{grid-column:1/-1!important;width:100%!important;margin:0!important}
  .multi-measure-header-actions{display:grid!important;grid-template-columns:1fr!important}
  .measurement-current-badge,.measurement-whole-house-btn{width:100%!important;justify-content:center!important}
  .measurement-command-card{padding:12px!important}
  .measurement-current-card{grid-template-columns:48px minmax(0,1fr)!important;padding:12px!important}
  .measurement-command-icon{width:48px!important;height:48px!important;border-radius:14px!important;font-size:17px!important}
  .measurement-command-status{grid-column:1/-1!important;justify-self:start!important}
  .measurement-plan-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .measurement-plan-summary .summary-progress{grid-template-columns:1fr!important;gap:8px!important}
  .measurement-main-actions{grid-template-columns:1fr 1fr!important}
  .measurement-next-btn{grid-column:1/-1!important}
  .measurement-flow-tip{display:none!important}
  .measurement-suggestions{grid-template-columns:1fr!important}
}


/* === V79L 顶部导航、空间测量与记录导出中心修复 === */
.header-inner{
  display:grid!important;
  grid-template-columns:minmax(320px,1fr) auto minmax(250px,1fr)!important;
  align-items:center!important;
  gap:18px!important;
}
.system-top-nav{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px!important;
  border:1px solid rgba(114,83,61,.12)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 26px rgba(74,48,31,.055),inset 0 1px 0 rgba(255,255,255,.95)!important;
  position:relative!important;
  z-index:20!important;
}
.system-nav-item{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#765f50!important;
  min-height:44px!important;
  padding:0 15px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  cursor:pointer!important;
  font:inherit!important;
  white-space:nowrap!important;
  transition:.16s ease!important;
  pointer-events:auto!important;
}
.system-nav-item b{font-size:13px!important;font-weight:900!important;letter-spacing:.1px!important}
.system-nav-icon{
  width:24px!important;height:24px!important;border-radius:8px!important;
  display:grid!important;place-items:center!important;
  background:#f4eee9!important;color:#956b4e!important;
  font-size:14px!important;font-weight:1000!important;
}
.system-nav-item:hover{background:#fff6ee!important;color:#a74e10!important}
.system-nav-item.active{
  color:#fff!important;
  background:linear-gradient(145deg,#ff9850,#f47b20)!important;
  box-shadow:0 7px 18px rgba(244,123,32,.22)!important;
}
.system-nav-item.active .system-nav-icon{background:rgba(255,255,255,.20)!important;color:#fff!important}

body:not(.measurement-workspace-open) #measurementWorkspaceLayer{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.measurement-workspace-open,body.measurement-workspace-open{
  height:100%!important;
  overflow:hidden!important;
}
.measurement-workspace-layer{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none!important;
  visibility:hidden!important;
  overflow:auto!important;
  background:linear-gradient(180deg,#f7f3ef 0,#fbfaf8 100%)!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
body.measurement-workspace-open #measurementWorkspaceLayer.open{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.measurement-workspace-shell{
  width:min(1560px,100%)!important;
  min-height:100%!important;
  margin:0 auto!important;
  padding:18px 20px 40px!important;
}
.measurement-workspace-layer #measurementAssistant{
  display:block!important;
  visibility:visible!important;
  position:relative!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border-radius:22px!important;
  background:#fff!important;
  border:1px solid #eadfd7!important;
  box-shadow:0 18px 60px rgba(74,48,31,.10)!important;
}
.measurement-workspace-layer .measurement-page-topbar{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  padding:15px 18px!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border-bottom:1px solid #eee3da!important;
  border-radius:22px 22px 0 0!important;
}
.measurement-workspace-layer #measurementAssistantBody{
  display:block!important;
  visibility:visible!important;
}
body.measurement-workspace-open>.header,
body.measurement-workspace-open>main.app,
body.measurement-workspace-open>footer{
  visibility:hidden!important;
}
body.measurement-workspace-open #measurementWorkspaceLayer{visibility:visible!important}

body:not(.records-export-open) #recordsExportLayer{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html.records-export-open,body.records-export-open{
  height:100%!important;
  overflow:hidden!important;
}
.records-export-layer{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none!important;
  visibility:hidden!important;
  overflow:auto!important;
  background:linear-gradient(180deg,#f6f1ec 0,#fbfaf8 100%)!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
body.records-export-open #recordsExportLayer.open{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.records-export-open>.header,
body.records-export-open>main.app,
body.records-export-open>footer{
  visibility:hidden!important;
}
body.records-export-open #recordsExportLayer{visibility:visible!important}
.records-export-shell{width:min(1500px,100%)!important;min-height:100%!important;margin:auto!important;padding:18px 20px 42px!important}
.records-export-topbar{
  position:sticky!important;top:0!important;z-index:20!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;
  padding:15px 18px!important;margin-bottom:16px!important;
  border:1px solid #eadfd7!important;border-radius:20px!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
  box-shadow:0 12px 38px rgba(74,48,31,.08)!important;
}
.records-export-topbar b{display:block!important;color:#34271f!important;font-size:18px!important}
.records-export-topbar span{display:block!important;margin-top:4px!important;color:#8a7465!important;font-size:12px!important}
.records-export-grid{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(0,1.95fr)!important;gap:16px!important;align-items:start!important}
.records-action-card,.records-history-card{
  background:#fff!important;border:1px solid #eadfd7!important;border-radius:22px!important;
  box-shadow:0 16px 48px rgba(74,48,31,.075)!important;overflow:hidden!important;
}
.records-card-head{padding:18px 20px!important;border-bottom:1px solid #f0e7e0!important}
.records-card-head h2{margin:0!important;color:#34271f!important;font-size:18px!important}
.records-card-head p{margin:6px 0 0!important;color:#8a7465!important;font-size:12px!important;line-height:1.55!important}
.records-current-summary{padding:18px 20px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.records-current-summary>div{padding:13px 14px!important;border:1px solid #efe4db!important;border-radius:14px!important;background:#fffaf6!important}
.records-current-summary span{display:block!important;color:#927767!important;font-size:10.5px!important;font-weight:800!important}
.records-current-summary b{display:block!important;margin-top:5px!important;color:#3c2e25!important;font-size:15px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.records-current-summary .records-total{grid-column:1/-1!important;background:linear-gradient(145deg,#fff0e3,#fff8f1)!important}
.records-current-summary .records-total b{font-size:25px!important;color:#d75f0c!important}
.records-export-actions{padding:0 20px 20px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}
.records-export-actions .btn{min-height:46px!important}
.records-export-actions .records-main-export{grid-column:1/-1!important;min-height:54px!important;font-size:15px!important}
.records-history-tools{padding:12px 18px!important;display:flex!important;justify-content:flex-end!important;gap:8px!important;border-bottom:1px solid #f0e7e0!important;background:#fffcfa!important}
.records-history-body{padding:16px 18px 22px!important;min-height:160px!important}
.records-history-body .history{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.records-empty-tip{padding:0 20px 18px!important;color:#8a7465!important;font-size:11px!important;line-height:1.55!important}

@media(max-width:1050px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto!important}
  .system-top-nav{grid-column:1/-1!important;grid-row:2!important;width:100%!important;justify-content:center!important}
  .header-actions{grid-column:2!important;grid-row:1!important}
  .records-export-grid{grid-template-columns:1fr!important}
}
@media(max-width:760px){
  .header-inner{display:flex!important;flex-wrap:wrap!important}
  .system-top-nav{order:3!important;flex:1 0 100%!important;overflow-x:auto!important;justify-content:flex-start!important;border-radius:13px!important}
  .system-nav-item{min-width:max-content!important;padding:0 12px!important;min-height:40px!important}
  .system-nav-item b{font-size:12px!important}
  .measurement-workspace-shell,.records-export-shell{padding:0 0 28px!important}
  .measurement-workspace-layer #measurementAssistant{border-radius:0!important;border-left:0!important;border-right:0!important}
  .measurement-workspace-layer .measurement-page-topbar,.records-export-topbar{border-radius:0!important;margin:0 0 10px!important;padding:12px!important}
  .records-export-grid{padding:0 10px!important;gap:10px!important}
  .records-action-card,.records-history-card{border-radius:17px!important}
  .records-history-body .history{grid-template-columns:1fr!important}
  .records-export-actions{grid-template-columns:1fr!important}
  .records-export-actions .records-main-export{grid-column:auto!important}
}



/* === V79M 当前空间筛选与常用叫法搜索 === */
.quote-view-title{align-items:flex-start!important}
.quote-view-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.quote-view-switch{display:inline-flex;padding:4px;border:1px solid rgba(117,72,39,.13);border-radius:13px;background:#f7f2ed;box-shadow:inset 0 1px 0 rgba(255,255,255,.75)}
.quote-view-switch button{height:34px;padding:0 13px;border:0;border-radius:9px;background:transparent;color:#776458;font-weight:850;cursor:pointer;transition:.16s ease}
.quote-view-switch button:hover{color:#4b372c;background:rgba(255,255,255,.72)}
.quote-view-switch button.active{background:#fff;color:#d86512;box-shadow:0 5px 14px rgba(96,57,31,.10)}
.quote-view-meta{min-width:145px;padding:6px 10px;border-left:1px solid rgba(117,72,39,.12)}
.quote-view-meta b{display:block;color:#443229;font-size:12px;line-height:1.2}
.quote-view-meta span{display:block;margin-top:4px;color:#9b6d4d;font-size:10.5px;font-weight:750}
.quote-view-filter-note{margin:10px 0 0;padding:9px 11px;border-radius:11px;background:#fff7ee;border:1px solid #f4ddc8;color:#85512c;font-size:12px;font-weight:750}
.search-alias-shortcuts{flex-basis:100%;display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:-2px}
.search-alias-shortcuts span{color:#8b776a;font-size:11px;font-weight:850}
.search-alias-shortcuts button{border:1px solid rgba(117,72,39,.12);border-radius:999px;padding:5px 9px;background:#fffaf6;color:#8b5b38;font-size:11px;font-weight:850;cursor:pointer}
.search-alias-shortcuts button:hover{border-color:rgba(244,123,32,.34);background:#fff2e6;color:#d86614}
.search-alias-match{display:inline-flex;margin-left:7px;padding:2px 6px;border-radius:999px;background:#fff0df;color:#d06a1c;font-size:9px;font-weight:900;vertical-align:middle}
@media(max-width:900px){
  .quote-view-title{display:block!important}
  .quote-view-tools{justify-content:flex-start;margin-top:12px}
  .quote-view-meta{border-left:0;padding-left:0}
}
@media(max-width:620px){
  .quote-view-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
  .quote-view-switch button{width:100%;padding:0 8px}
  .quote-view-meta{min-width:0;flex:1}
  .search-alias-shortcuts{gap:5px}
  .search-alias-shortcuts button{padding:5px 8px}
}

/* V80H2 视觉强化：分类色块徽章 + 长项目名自适应 */
.quote-line{position:relative;overflow:hidden}
.quote-line::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:5px;
  border-radius:0 5px 5px 0;background:linear-gradient(180deg,#e5d9c8,#cdb89a);
  opacity:.85;
}
.quote-line.cat-ceiling::before{background:linear-gradient(180deg,#ffb066,#f47b20)}
.quote-line.cat-wall::before{background:linear-gradient(180deg,#7ec3ff,#2c8adb)}
.quote-line.cat-water::before{background:linear-gradient(180deg,#a99cff,#6f55d4)}
.quote-line.cat-waterproof::before{background:linear-gradient(180deg,#5cd0c2,#138f86)}
.quote-line.cat-wood::before{background:linear-gradient(180deg,#e2a26b,#9c5a23)}
.quote-line.cat-paint::before{background:linear-gradient(180deg,#ff90a5,#e25577)}
.quote-line.cat-floor::before{background:linear-gradient(180deg,#f3d36b,#c98c1c)}
.quote-line.cat-other::before{background:linear-gradient(180deg,#cfd1d6,#7d818a)}

.quote-cat-badge{
  display:inline-flex;align-items:center;gap:5px;
  margin-left:8px;padding:2px 8px;border-radius:999px;
  font-size:10.5px;font-weight:900;letter-spacing:.2px;
  color:#fff;background:linear-gradient(135deg,#b6916b,#866046);
  box-shadow:0 2px 6px rgba(74,48,31,.18);
  text-shadow:0 1px 1px rgba(0,0,0,.12);
}
.quote-cat-badge::before{
  content:"";width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.65);box-shadow:0 0 0 2px rgba(255,255,255,.25);
}
.cat-ceiling .quote-cat-badge{background:linear-gradient(135deg,#ffa257,#e7690d)}
.cat-wall .quote-cat-badge{background:linear-gradient(135deg,#7ec3ff,#2c8adb)}
.cat-water .quote-cat-badge{background:linear-gradient(135deg,#a99cff,#6f55d4)}
.cat-waterproof .quote-cat-badge{background:linear-gradient(135deg,#5cd0c2,#138f86)}
.cat-wood .quote-cat-badge{background:linear-gradient(135deg,#e2a26b,#9c5a23)}
.cat-paint .quote-cat-badge{background:linear-gradient(135deg,#ff90a5,#e25577)}
.cat-floor .quote-cat-badge{background:linear-gradient(135deg,#f3d36b,#c98c1c)}

.project-textarea{
  display:block;width:100%;min-height:42px;max-height:120px;overflow:auto;
  resize:none;line-height:1.55;padding:9px 11px;border-radius:14px;
  border:1px solid rgba(74,48,31,.12);background:#fffaf3;color:#3c2e25;
  font-size:13.5px;font-weight:750;transition:border-color .15s ease,box-shadow .15s ease;
}
.project-textarea:focus{
  border-color:rgba(244,123,32,.45);outline:none;
  box-shadow:0 0 0 3px rgba(244,123,32,.16);
}
.quote-line.expanded .project-textarea{max-height:420px}
.quote-name-toggle{
  display:none;align-items:center;gap:4px;margin-top:5px;
  padding:3px 9px;border:1px solid rgba(74,48,31,.14);border-radius:999px;
  background:#fff;color:#8a5a36;font-size:11px;font-weight:850;cursor:pointer;
}
.quote-line.is-long:not(.expanded) .quote-name-toggle{display:inline-flex}
.quote-line.expanded .quote-name-toggle{display:inline-flex;color:#d35f10;border-color:rgba(244,123,32,.34)}
.quote-name-toggle:hover{background:#fff2e6;color:#d86614;border-color:rgba(244,123,32,.34)}

.note-textarea{
  display:block;width:100%;min-height:38px;max-height:96px;overflow:auto;
  resize:none;line-height:1.5;padding:7px 10px;border-radius:12px;
  border:1px solid rgba(74,48,31,.10);background:#fff7ec;color:#3c2e25;
  font-size:12.5px;font-weight:700;
}
.quote-line.expanded .note-textarea{max-height:260px}

@media (max-width:1080px){
  .quote-line::before{top:10px;bottom:10px}
  .quote-cat-badge{font-size:10px}
}

/* V80H2 优化 6/7/8/9/13：快捷键面板 + 防抖视觉 */
.v80-shortcuts-overlay{
  position:fixed;inset:0;background:rgba(34,22,12,.45);z-index:100000;
  display:none;align-items:center;justify-content:center;backdrop-filter:blur(6px);
}
.v80-shortcuts-overlay.open{display:flex}
.v80-shortcuts-card{
  background:#fff;border-radius:22px;padding:24px 28px;max-width:520px;width:92%;
  box-shadow:0 24px 80px rgba(20,12,4,.28);border:1px solid rgba(216,101,18,.18);
}
.v80-shortcuts-card h3{margin:0 0 12px;color:#4b2410;font-size:18px}
.v80-shortcuts-card table{width:100%;border-collapse:collapse;font-size:13px;color:#3c2e25}
.v80-shortcuts-card td{padding:7px 0;border-bottom:1px dashed rgba(74,48,31,.10)}
.v80-shortcuts-card td:last-child{border-bottom:0}
.v80-shortcuts-card kbd{
  background:#fff5e6;border:1px solid rgba(216,101,18,.28);border-radius:6px;
  padding:2px 8px;font-family:Menlo,Consolas,monospace;font-size:11.5px;color:#4b2410;
  font-weight:800;letter-spacing:.4px;
}
.v80-shortcuts-close{
  margin-top:14px;padding:7px 16px;border:0;border-radius:10px;
  background:linear-gradient(145deg,#ff9850,#f47b20);color:#fff;font-weight:900;cursor:pointer;
}
.v80-debounce-busy{opacity:.6!important;pointer-events:none!important}


:root{--v80-orange:#f47b20;--v80-orange2:#ff9d54;--v80-ink:#2f251f;--v80-sub:#75675d;--v80-line:#eadfd5;--v80-bg:#f7f3ef;--v80-green:#0f8b6d;--v80-blue:#276b91}
.v80-hidden{display:none!important}
.v80-landing{position:fixed;inset:0;z-index:5000;background:radial-gradient(circle at 20% 0%,#fff3e7 0,transparent 36%),linear-gradient(145deg,#fffdfa,#f7f1eb 60%,#f3ece5);overflow:auto;padding:32px 20px}
.v80-landing-shell{max-width:1180px;margin:0 auto;min-height:calc(100vh - 64px);display:flex;flex-direction:column;justify-content:center}
.v80-landing-brand{display:flex;align-items:center;gap:14px;margin-bottom:30px}.v80-landing-logo{width:58px;height:58px;border-radius:19px;display:grid;place-items:center;background:linear-gradient(145deg,var(--v80-orange2),var(--v80-orange));color:#fff;font-size:30px;font-weight:1000;box-shadow:0 14px 34px rgba(244,123,32,.24)}
.v80-landing-brand h1{margin:0;color:var(--v80-ink);font-size:30px}.v80-landing-brand p{margin:4px 0 0;color:var(--v80-sub)}
.v80-landing-kicker{font-weight:900;color:#a45117;letter-spacing:.1em;font-size:12px}.v80-landing-title{font-size:44px;line-height:1.15;margin:10px 0 12px;color:var(--v80-ink);max-width:760px}.v80-landing-desc{color:var(--v80-sub);font-size:17px;margin:0 0 30px}
.v80-entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px}.v80-entry-card{position:relative;border:1px solid rgba(125,83,51,.15);border-radius:28px;background:rgba(255,255,255,.88);padding:30px;text-align:left;cursor:pointer;box-shadow:0 20px 48px rgba(79,54,37,.09);transition:.2s ease;overflow:hidden}.v80-entry-card:hover{transform:translateY(-4px);box-shadow:0 26px 58px rgba(79,54,37,.14);border-color:rgba(244,123,32,.4)}.v80-entry-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-70px;top:-80px;background:rgba(244,123,32,.08)}
.v80-entry-icon{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;font-size:28px;background:#fff2e7;color:#be5c17;margin-bottom:22px}.v80-entry-card.material .v80-entry-icon{background:#eaf5f9;color:#276b91}.v80-entry-card h2{margin:0 0 8px;font-size:27px;color:var(--v80-ink)}.v80-entry-card p{margin:0;color:var(--v80-sub);min-height:52px}.v80-entry-features{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.v80-entry-features span{font-size:12px;padding:6px 9px;border-radius:999px;background:#f8f3ee;color:#69584c;font-weight:800}.v80-entry-go{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid #eee2d8;color:#a94e10;font-weight:1000}.v80-landing-foot{margin-top:22px;color:#8b7a6e;font-size:13px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.v80-switch-btn{border:1px solid #ead8c8;background:#fff8f1;color:#a85216;border-radius:12px;padding:10px 13px;font-weight:900;cursor:pointer}
.v80-material-layer{position:fixed;inset:0;z-index:4200;background:var(--v80-bg);overflow:auto;display:none}.v80-material-layer.open{display:block}.v80-material-shell{max-width:1700px;margin:0 auto;padding:0 20px 50px}.v80-material-header{position:sticky;top:0;z-index:10;margin:0 -20px 18px;padding:13px 24px;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);border-bottom:1px solid var(--v80-line);display:flex;align-items:center;justify-content:space-between;gap:16px}.v80-material-brand{display:flex;align-items:center;gap:11px}.v80-material-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#3d8fb6,#276b91);color:#fff;font-size:22px}.v80-material-brand b{display:block;font-size:18px;color:var(--v80-ink)}.v80-material-brand span{font-size:12px;color:var(--v80-sub)}.v80-material-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v80-btn{border:0;border-radius:12px;background:var(--v80-orange);color:#fff;padding:10px 14px;font-weight:900;cursor:pointer}.v80-btn.secondary{background:#fff;color:#5d4d42;border:1px solid var(--v80-line)}.v80-btn.blue{background:var(--v80-blue)}.v80-btn.green{background:var(--v80-green)}.v80-btn.danger{background:#b42318}.v80-btn.small{padding:7px 10px;font-size:12px;border-radius:9px}
.v80-material-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.v80-stat{background:#fff;border:1px solid var(--v80-line);border-radius:18px;padding:16px;box-shadow:0 8px 24px rgba(69,45,29,.05)}.v80-stat span{display:block;color:var(--v80-sub);font-size:12px}.v80-stat b{font-size:24px;color:var(--v80-ink)}.v80-stat.total{background:linear-gradient(145deg,#2d758f,#1f607e)}.v80-stat.total span,.v80-stat.total b{color:#fff}
.v80-material-grid{display:grid;grid-template-columns:240px minmax(0,1fr) minmax(410px,.88fr);gap:14px;align-items:start}.v80-panel{background:#fff;border:1px solid var(--v80-line);border-radius:20px;box-shadow:0 10px 30px rgba(69,45,29,.06);overflow:hidden}.v80-panel-head{padding:16px 17px;border-bottom:1px solid var(--v80-line);display:flex;justify-content:space-between;align-items:center;gap:10px}.v80-panel-head h3{margin:0;color:var(--v80-ink);font-size:17px}.v80-panel-head p{margin:3px 0 0;color:var(--v80-sub);font-size:12px}.v80-panel-body{padding:14px}.v80-cat-list{display:grid;gap:7px}.v80-cat-btn{border:1px solid #eee2d8;background:#fff;border-radius:12px;padding:10px 11px;text-align:left;color:#5b4d43;font-weight:850;cursor:pointer;display:flex;justify-content:space-between}.v80-cat-btn.active{background:#edf6fa;border-color:#95bfd2;color:#1f607e;box-shadow:inset 3px 0 0 #276b91}.v80-search-row{display:flex;gap:8px;padding:14px;border-bottom:1px solid var(--v80-line);flex-wrap:wrap}.v80-search-row input{flex:1;min-width:200px;border:1px solid var(--v80-line);border-radius:12px;padding:10px 12px;background:#fff}.v80-table-wrap{overflow:auto;max-height:calc(100vh - 280px)}.v80-table{width:100%;border-collapse:collapse;min-width:760px}.v80-table th{position:sticky;top:0;background:#f9f5f1;z-index:1;text-align:left;font-size:11px;color:#806f62;padding:10px;border-bottom:1px solid var(--v80-line)}.v80-table td{padding:10px;border-bottom:1px solid #f0e8e1;vertical-align:top;font-size:13px;color:#4e4138}.v80-product-name{font-weight:900;color:#30251f}.v80-muted{font-size:11px;color:#8a796d;margin-top:3px}.v80-price{font-weight:1000;color:#a65014}.v80-quote-list{max-height:calc(100vh - 360px);overflow:auto}.v80-quote-row{display:grid;grid-template-columns:minmax(120px,1fr) 82px 92px 84px 34px;gap:7px;align-items:center;padding:10px;border-bottom:1px solid #f0e8e1}.v80-quote-row input,.v80-quote-row select,.v80-quote-row textarea{width:100%;border:1px solid var(--v80-line);border-radius:9px;padding:7px;background:#fff;font-size:12px}.v80-quote-row textarea{grid-column:1/5;min-height:44px;resize:vertical}.v80-quote-total{padding:15px;background:#fff8f1;border-top:1px solid #f0dfd0;display:flex;justify-content:space-between;align-items:center}.v80-quote-total b{font-size:23px;color:#a65014}.v80-empty{padding:30px;text-align:center;color:#8a796d}
  /* V80H2: 主材报价 行头标签 + 单价 ¥ 前缀，让用户清楚知道怎么填 */
  .v80-material-quote-head{display:grid;grid-template-columns:minmax(120px,1fr) 82px 92px 110px 34px;gap:7px;padding:8px 10px;font-size:11.5px;color:#806f62;font-weight:900;background:#f9f5f1;border-radius:10px;margin-bottom:6px}
  .v80-material-quote-head .col{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .v80-material-quote-head .col-price{padding-left:18px}
  .v80-quote-price-wrap{position:relative;display:flex;align-items:center}
  .v80-quote-price-wrap::before{content:"¥";position:absolute;left:9px;top:50%;transform:translateY(-50%);color:#a65014;font-weight:900;font-size:13px;pointer-events:none;z-index:1}
  .v80-quote-price-wrap input{padding-left:22px!important;color:#a65014;font-weight:900}
  .v80-quote-price-wrap input::placeholder{color:#a8a8a8;font-weight:400}
  .v80-quote-row .v80-close{margin:0}
.v80-modal{position:fixed;inset:0;z-index:7000;background:rgba(35,27,22,.55);display:none;align-items:center;justify-content:center;padding:18px}.v80-modal.open{display:flex}.v80-modal-card{width:min(920px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.24)}.v80-modal-card.wide{width:min(1380px,100%)}.v80-modal-head{position:sticky;top:0;z-index:3;background:#fff;padding:18px 20px;border-bottom:1px solid var(--v80-line);display:flex;align-items:center;justify-content:space-between}.v80-modal-head h2{margin:0;color:var(--v80-ink);font-size:20px}.v80-modal-body{padding:18px 20px}.v80-modal-foot{position:sticky;bottom:0;background:#fff;padding:14px 20px;border-top:1px solid var(--v80-line);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.v80-close{border:0;background:#f5eee8;width:34px;height:34px;border-radius:11px;cursor:pointer;font-size:20px}.v80-form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.v80-field{display:grid;gap:6px}.v80-field.wide{grid-column:span 2}.v80-field.full{grid-column:1/-1}.v80-field label{font-size:12px;font-weight:900;color:#6e5e52}.v80-field input,.v80-field select,.v80-field textarea{width:100%;border:1px solid var(--v80-line);border-radius:11px;padding:10px 11px;background:#fff}.v80-field textarea{min-height:76px;resize:vertical}.v80-check{display:flex;gap:8px;align-items:center;font-size:13px;color:#5b4d43}.v80-check input{width:auto}.v80-import-zone{border:2px dashed #dcc7b6;border-radius:18px;padding:18px;background:#fffaf5;display:grid;gap:12px}.v80-import-zone textarea{width:100%;min-height:140px;border:1px solid var(--v80-line);border-radius:12px;padding:12px;resize:vertical}.v80-import-help{font-size:12px;color:#7d6d61}.v80-import-status{padding:10px 12px;border-radius:11px;background:#edf7f4;color:#176c56;font-size:12px;display:none}.v80-import-status.show{display:block}.v80-review-wrap{overflow:auto;margin-top:14px;border:1px solid var(--v80-line);border-radius:15px}.v80-review-table{width:100%;border-collapse:collapse;min-width:1200px}.v80-review-table th{background:#f8f3ef;padding:8px;font-size:11px;text-align:left;position:sticky;top:0}.v80-review-table td{border-top:1px solid #eee5dd;padding:6px}.v80-review-table input,.v80-review-table select{width:100%;min-width:80px;border:1px solid #e4d7cc;border-radius:8px;padding:7px;font-size:12px}.v80-review-table input[type=checkbox]{min-width:0;width:auto}.v80-badge{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff0e4;color:#a65114;font-size:11px;font-weight:900}.v80-toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);z-index:9000;background:#2d251f;color:#fff;padding:11px 16px;border-radius:12px;opacity:0;pointer-events:none;transition:.2s}.v80-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(max-width:1100px){.v80-material-grid{grid-template-columns:210px 1fr}.v80-material-grid>.v80-panel:last-child{grid-column:1/-1}.v80-quote-list{max-height:none}.v80-material-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.v80-landing{padding:18px 12px}.v80-landing-title{font-size:31px}.v80-entry-grid{grid-template-columns:1fr}.v80-entry-card{padding:22px}.v80-material-shell{padding:0 10px 30px}.v80-material-header{margin:0 -10px 12px;padding:10px;align-items:flex-start}.v80-material-actions{gap:5px}.v80-material-actions .v80-btn{padding:8px 9px;font-size:11px}.v80-material-summary{grid-template-columns:1fr 1fr}.v80-stat b{font-size:18px}.v80-material-grid{grid-template-columns:1fr}.v80-material-grid>.v80-panel:last-child{grid-column:auto}.v80-cat-list{display:flex;overflow:auto}.v80-cat-btn{min-width:120px}.v80-table-wrap{max-height:none}.v80-form-grid{grid-template-columns:1fr}.v80-field.wide{grid-column:auto}.v80-field.full{grid-column:auto}.v80-quote-row{grid-template-columns:1fr 70px 80px 32px}.v80-quote-row .v80-line-unit{display:none}.v80-quote-row textarea{grid-column:1/4}.v80-material-brand span{display:none}}
@media print{.v80-landing,.v80-material-layer,.v80-modal,.v80-toast{display:none!important}}


:root{--v80b-indigo:#5b5bd6;--v80b-indigo-soft:#eeeeff;--v80b-cyan:#0f8795;--v80b-green:#23876f;--v80b-ink:#1f2937;--v80b-line:#e7e9f2}
.v80b-header-btn{border-color:#d8daf4!important;background:#f7f7ff!important;color:#4b4bb3!important}
.v80b-header-btn.primary{background:linear-gradient(135deg,#6161db,#4b4bb8)!important;color:#fff!important;border-color:transparent!important;box-shadow:0 8px 22px rgba(75,75,184,.18)}
.v80b-import-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.v80b-step{border:1px solid var(--v80b-line);border-radius:14px;padding:10px 12px;background:#fafaff;color:#62677b;font-size:12px;line-height:1.5}
.v80b-step b{display:block;color:#363b55;font-size:13px}.v80b-step.active{background:var(--v80b-indigo-soft);border-color:#cfd0fb;color:#4d4fa7}
.v80b-excel-summary{display:none;grid-template-columns:repeat(4,minmax(110px,1fr));gap:9px;margin:12px 0}
.v80b-excel-summary.show{display:grid}.v80b-summary-card{border:1px solid #e5e7f0;background:#fff;border-radius:14px;padding:11px 12px}.v80b-summary-card span{display:block;font-size:11px;color:#7b8192}.v80b-summary-card b{display:block;margin-top:4px;font-size:16px;color:#272b3b}.v80b-summary-card.warn b{color:#bd6b17}
.v80b-import-template-bar{display:none;margin-top:14px;border:1px solid #dfe1fb;background:linear-gradient(135deg,#f8f8ff,#f0fbfb);border-radius:18px;padding:14px}.v80b-import-template-bar.show{display:block}.v80b-import-template-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.v80b-import-template-head b{font-size:15px;color:#292d47}.v80b-import-template-head span{font-size:12px;color:#74798d}.v80b-template-create-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:8px}.v80b-template-create-row input{min-width:0;border:1px solid #d9dbea;border-radius:12px;padding:10px 12px;background:#fff;font:inherit}.v80b-import-template-note{margin-top:8px;font-size:11px;color:#797e90;line-height:1.6}
.v80b-custom-combos{margin-top:12px;border-top:1px dashed #d8dce7;padding-top:12px}.v80b-custom-combos-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.v80b-custom-combos-head b{font-size:13px;color:#43485a}.v80b-custom-combos-head button{border:0;background:transparent;color:#5555bb;font-weight:800;cursor:pointer}.v80b-template-strip{display:flex;gap:8px;overflow:auto;padding-bottom:3px;scrollbar-width:thin}.v80b-template-pill{flex:0 0 auto;border:1px solid #d8daf5;background:#f8f8ff;border-radius:14px;padding:9px 12px;cursor:pointer;text-align:left;min-width:145px;max-width:220px}.v80b-template-pill:hover{background:#ededff;border-color:#bfc1ee}.v80b-template-pill b{display:block;font-size:12px;color:#4545a2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v80b-template-pill span{display:block;margin-top:3px;color:#777c8c;font-size:10px}
.v80b-template-toolbar{display:grid;grid-template-columns:minmax(200px,1fr) auto;gap:10px;margin-bottom:14px}.v80b-template-toolbar input{border:1px solid #dadde8;border-radius:13px;padding:11px 13px;font:inherit}.v80b-template-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.v80b-template-card{border:1px solid #e1e3ec;border-radius:18px;background:#fff;padding:14px;box-shadow:0 8px 24px rgba(43,48,74,.06)}.v80b-template-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.v80b-template-card h3{margin:0;font-size:15px;color:#292d3b}.v80b-template-card p{margin:5px 0 0;color:#7d8291;font-size:11px;line-height:1.55}.v80b-template-badges{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.v80b-template-badges span{font-size:10px;background:#f1f3f8;color:#666c7e;border-radius:999px;padding:4px 7px}.v80b-template-actions{display:flex;gap:7px;flex-wrap:wrap}.v80b-template-empty{grid-column:1/-1;border:1px dashed #d7dae6;border-radius:18px;padding:28px;text-align:center;color:#7d8292;background:#fafbfe}.v80b-icon-danger{border:0;background:#fff2f2;color:#b64747;border-radius:10px;padding:7px 9px;cursor:pointer;font-weight:800}
.v80b-sheet-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:7px}.v80b-sheet-tags span{font-size:10px;padding:4px 7px;border-radius:999px;background:#eef7f7;color:#3f747a}.v80b-confidence{display:inline-flex;align-items:center;gap:4px;font-size:10px;margin-left:5px}.v80b-confidence::before{content:'';width:6px;height:6px;border-radius:50%;background:#4ba886}.v80b-confidence.medium::before{background:#d18a2c}.v80b-confidence.low::before{background:#d65b5b}
@media(max-width:800px){.v80b-import-steps{grid-template-columns:1fr}.v80b-excel-summary{grid-template-columns:repeat(2,1fr)}.v80b-template-create-row{grid-template-columns:1fr}.v80b-template-list{grid-template-columns:1fr}.v80b-template-toolbar{grid-template-columns:1fr}.v80b-import-template-head{display:block}.v80b-import-template-head span{display:block;margin-top:4px}}


/* V80F：产品库单位与计价规则基础 */
.catalog-unit-action{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center}
.catalog-unit-action>.unit-select{height:42px;width:100%;min-width:0;border-radius:12px;border:1px solid rgba(15,111,120,.16);background:#fff;text-align:center;font-weight:900}
.catalog-unit-action .quick-add-box{grid-template-columns:72px minmax(90px,1fr)}
.price-edit-box.price-only{grid-template-columns:minmax(0,1fr)!important}
@media(max-width:760px){.catalog-unit-action{grid-template-columns:72px minmax(0,1fr)}.catalog-unit-action .quick-add-box{grid-template-columns:68px minmax(86px,1fr)}}


/* V80G 产品选择工作台：桌面采用清晰报价表，移动端采用独立卡片布局 */
.product-table-wrap{border-radius:0 0 20px 20px!important;overflow:auto!important;background:#f8fafb!important;border:1px solid rgba(118,82,57,.12)!important;padding:0!important}
.product-table-v80g{width:100%!important;min-width:1080px!important;table-layout:fixed!important;border-collapse:separate!important;border-spacing:0 10px!important;padding:0 10px 10px!important;background:#f8fafb!important}
.product-table-v80g thead th{position:sticky!important;top:0!important;z-index:5!important;height:54px!important;padding:0 12px!important;background:#fff8f1!important;color:#705c4e!important;border-top:0!important;border-bottom:1px solid rgba(244,123,32,.14)!important;font-size:12px!important;font-weight:950!important;letter-spacing:.02em!important;text-align:left!important;white-space:nowrap!important}
.product-table-v80g thead th:nth-child(1){width:auto!important;border-radius:14px 0 0 14px!important}
.product-table-v80g thead th:nth-child(2){width:218px!important}
.product-table-v80g thead th:nth-child(3){width:132px!important}
.product-table-v80g thead th:nth-child(4){width:84px!important;text-align:center!important}
.product-table-v80g thead th:nth-child(5){width:94px!important;text-align:center!important}
.product-table-v80g thead th:nth-child(6){width:146px!important;text-align:center!important;border-radius:0 14px 14px 0!important}
.product-table-v80g tbody tr.v80g-product-row{position:relative!important;height:auto!important;min-height:112px!important;background:#fff!important;box-shadow:0 5px 16px rgba(74,47,29,.045)!important;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease!important}
.product-table-v80g tbody tr.v80g-product-row:hover{transform:translateY(-1px)!important;box-shadow:0 10px 24px rgba(74,47,29,.075)!important}
.product-table-v80g tbody tr.v80g-product-row td{height:auto!important;padding:14px 12px!important;background:#fff!important;border-top:1px solid rgba(118,82,57,.09)!important;border-bottom:1px solid rgba(118,82,57,.09)!important;vertical-align:middle!important}
.product-table-v80g tbody tr.v80g-product-row td:first-child{border-left:1px solid rgba(118,82,57,.09)!important;border-radius:16px 0 0 16px!important}
.product-table-v80g tbody tr.v80g-product-row td:last-child{border-right:1px solid rgba(118,82,57,.09)!important;border-radius:0 16px 16px 0!important}
.product-table-v80g tbody tr.v80g-product-row.active-product td{background:#fffdfb!important;border-color:rgba(244,123,32,.25)!important}
.product-table-v80g tbody tr.v80g-product-row.active-product{box-shadow:0 10px 26px rgba(216,104,25,.10)!important}
.product-table-v80g tbody tr.v80g-product-row.is-picked td{background:#fffaf5!important}
.product-table-v80g tbody tr.v80g-product-row.is-picked td:first-child{box-shadow:inset 4px 0 0 #f47b20!important}
.v80g-project-main{display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;gap:11px!important;align-items:flex-start!important;min-width:0!important}
.v80g-project-main .row-index{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:11px!important;background:#eef7f7!important;color:#0c6c74!important;font-size:12px!important;font-weight:1000!important;flex:none!important}
.v80g-product-row.active-product .v80g-project-main .row-index,.v80g-product-row.is-picked .v80g-project-main .row-index{background:#fff0e4!important;color:#cf5d0a!important}
.v80g-project-copy{min-width:0!important}
.product-table-v80g .product-name{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important;color:#352920!important;font-size:15px!important;font-weight:950!important;line-height:1.35!important}
.product-table-v80g .product-sub{display:flex!important;align-items:center!important;gap:7px!important;margin-top:6px!important;color:#8a7465!important;font-size:10.5px!important;line-height:1.4!important}
.product-table-v80g .process-mini-tag{padding:3px 7px!important;border-radius:999px!important;background:#f4eee9!important;color:#825d43!important;font-size:9px!important}
.v80g-inline-note{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;max-width:720px!important;margin-top:7px!important;color:#8a7769!important;font-size:10.5px!important;line-height:1.55!important;background:transparent!important;border:0!important;padding:0!important}
.product-table-v80g .picked-badge,.product-table-v80g .related-picked-badge{margin-top:7px!important;max-width:100%!important}
.v80g-cost-pair{display:grid!important;grid-template-columns:minmax(78px,1fr) 14px minmax(78px,1fr)!important;gap:6px!important;align-items:end!important}
.v80g-cost-pair label{display:block!important;min-width:0!important}
.v80g-cost-pair label>span{display:block!important;margin:0 0 5px!important;color:#8b7768!important;font-size:9.5px!important;font-weight:900!important}
.v80g-cost-pair i{align-self:center!important;margin-top:18px!important;color:#b8a698!important;font-size:13px!important;font-style:normal!important;font-weight:900!important;text-align:center!important}
.product-table-v80g .cost-input,.product-table-v80g .price-input,.product-table-v80g .v80g-qty-input,.product-table-v80g .unit-select{width:100%!important;height:42px!important;box-sizing:border-box!important;border:1px solid rgba(100,76,59,.12)!important;border-radius:12px!important;background:#fff!important;color:#4b392e!important;box-shadow:none!important;font-size:13px!important;font-weight:950!important;text-align:center!important}
.product-table-v80g .cost-input:focus,.product-table-v80g .price-input:focus,.product-table-v80g .v80g-qty-input:focus,.product-table-v80g .unit-select:focus{border-color:rgba(244,123,32,.45)!important;box-shadow:0 0 0 4px rgba(244,123,32,.08)!important;outline:0!important}
.product-table-v80g .material-cost-input{background:#f8fbfd!important}
.product-table-v80g .labor-cost-input{background:#fffaf6!important}
.v80g-price-stack small{display:block!important;margin-bottom:5px!important;color:#9b887b!important;font-size:9px!important;font-weight:850!important;text-align:left!important}
.product-table-v80g .price-edit-box{display:block!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.product-table-v80g .price-input{color:#cf5a08!important;background:#fff8f1!important;border-color:rgba(244,123,32,.19)!important;font-size:16px!important;text-align:left!important;padding:0 12px!important}
.v80g-unit-cell,.v80g-qty-cell,.v80g-action-cell{text-align:center!important}
.v80g-unit-cell .unit-change-hint{display:none!important;position:static!important;left:auto!important;top:auto!important}
.product-table-v80g .quick-add-button.v80g-add-button{width:100%!important;min-height:42px!important;margin:0!important;border-radius:12px!important;background:linear-gradient(135deg,#f47b20,#f88934)!important;color:#fff!important;border:0!important;font-size:12px!important;font-weight:950!important;box-shadow:0 7px 16px rgba(244,123,32,.18)!important;white-space:nowrap!important}
.product-table-v80g .quick-add-button.v80g-add-button.joined{background:#f0f5f4!important;color:#18766d!important;box-shadow:none!important;border:1px solid rgba(35,135,111,.18)!important}
.v80g-remove-button{display:block!important;width:100%!important;margin-top:6px!important;border:0!important;background:transparent!important;color:#aa6a43!important;font-size:9.5px!important;box-shadow:none!important;padding:3px!important}
.v80g-action-cell .join-count-mini,.v80g-action-cell .related-join-mini{display:block!important;margin-top:4px!important;color:#9b887b!important;font-size:9px!important;line-height:1.35!important;white-space:normal!important}
.v80g-step-divider td{height:auto!important;padding:12px 10px 3px!important;background:transparent!important;border:0!important;color:#5f4a3d!important}
.v80g-step-divider td span{display:inline-grid!important;place-items:center!important;min-width:28px!important;height:25px!important;margin-right:8px!important;border-radius:8px!important;background:#f47b20!important;color:#fff!important;font-size:9px!important;font-weight:950!important}
.v80g-step-divider td b{font-size:13px!important;color:#5c4638!important}
.v80g-step-divider td em{margin-left:8px!important;color:#a08c7e!important;font-size:9.5px!important;font-style:normal!important;font-weight:750!important}

@media(max-width:1080px){
  .product-table-v80g{min-width:980px!important}
  .product-table-v80g thead th:nth-child(2){width:198px!important}
  .product-table-v80g thead th:nth-child(6){width:132px!important}
}
@media(max-width:760px){
  .product-table-wrap{overflow:visible!important;padding:0!important;border:0!important;background:transparent!important}
  .product-table-v80g{display:block!important;min-width:0!important;width:100%!important;padding:0!important;border-spacing:0!important;background:transparent!important}
  .product-table-v80g thead{display:none!important}
  .product-table-v80g tbody{display:grid!important;gap:10px!important}
  .product-table-v80g tbody tr.v80g-step-divider{display:block!important;margin-top:5px!important}
  .product-table-v80g tbody tr.v80g-step-divider td{display:block!important;padding:8px 2px 3px!important}
  .product-table-v80g tbody tr.v80g-product-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:0!important;min-height:0!important;border:1px solid rgba(118,82,57,.11)!important;border-radius:18px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 8px 22px rgba(74,47,29,.055)!important}
  .product-table-v80g tbody tr.v80g-product-row:hover{transform:none!important}
  .product-table-v80g tbody tr.v80g-product-row td{display:block!important;height:auto!important;padding:11px!important;border:0!important;border-radius:0!important;background:#fff!important}
  .product-table-v80g tbody tr.v80g-product-row.active-product td,.product-table-v80g tbody tr.v80g-product-row.is-picked td{background:#fffdfb!important}
  .product-table-v80g .v80g-project-cell{grid-column:1/-1!important;padding:13px 12px 10px!important;border-bottom:1px solid rgba(118,82,57,.08)!important}
  .v80g-project-main{grid-template-columns:32px minmax(0,1fr)!important;gap:9px!important}
  .v80g-project-main .row-index{width:30px!important;height:30px!important;border-radius:10px!important}
  .product-table-v80g .product-name{font-size:14px!important}
  .v80g-inline-note{-webkit-line-clamp:2!important;font-size:10px!important}
  .product-table-v80g td:not(.v80g-project-cell)::before{content:attr(data-label)!important;display:block!important;margin-bottom:6px!important;color:#9b887b!important;font-size:9px!important;font-weight:900!important;text-align:left!important}
  .product-table-v80g .v80g-cost-cell{grid-column:1/-1!important;padding-top:10px!important;border-bottom:1px solid rgba(118,82,57,.07)!important}
  .v80g-cost-pair{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)!important}
  .product-table-v80g .v80g-price-cell,.product-table-v80g .v80g-unit-cell,.product-table-v80g .v80g-qty-cell{border-bottom:1px solid rgba(118,82,57,.07)!important}
  .product-table-v80g .v80g-price-cell{grid-column:1/-1!important}
  .v80g-price-stack small{display:none!important}
  .product-table-v80g .price-input{text-align:center!important}
  .product-table-v80g .v80g-action-cell{grid-column:1/-1!important;padding:10px 11px 12px!important}
  .product-table-v80g .quick-add-button.v80g-add-button{min-height:44px!important;font-size:13px!important}
  .v80g-remove-button{margin-top:7px!important}
}


/* V80G2 · Safari / WebKit 滚动与重绘稳定层 */
html.browser-safari{
  scroll-behavior:auto!important;
  background:#eef4f4!important;
}
html.browser-safari body{
  min-height:100vh!important;
  overflow-x:hidden!important;
  -webkit-font-smoothing:antialiased;
}

/* Safari 在 sticky + blur + 大表格组合下容易出现空白重绘，保留层级但关闭高风险合成效果 */
html.browser-safari .header,
html.browser-safari .quote-memory-shell,
html.browser-safari .quote-dock-inner,
html.browser-safari .footer-actions,
html.browser-safari .category-side,
html.browser-safari .product-toolbar,
html.browser-safari .product-toolbar-v77,
html.browser-safari .measurement-command-bar{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transform:none!important;
  will-change:auto!important;
}
html.browser-safari .header{background:#fff!important}
html.browser-safari .quote-memory-shell{background:#fffaf6!important}
html.browser-safari .footer-actions{background:#eef4f4!important}

/* 固定提醒条不再依赖 transform 进入/退出，避免 Mac Safari 合成层闪白 */
html.browser-safari .quote-memory-bar{
  left:24px!important;
  right:24px!important;
  width:auto!important;
  transform:none!important;
  transition:opacity .14s ease,visibility .14s ease!important;
}
html.browser-safari .quote-memory-bar.show{transform:none!important}
@media(max-width:720px){
  html.browser-safari .quote-memory-bar{
    left:7px!important;
    right:7px!important;
    width:auto!important;
  }
}

/* 产品表格只允许横向溢出，纵向交给整页。移除 WebKit 不稳定的 sticky 表头和 tr 合成效果 */
html.browser-safari .product-table-wrap{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:auto!important;
  overscroll-behavior:auto!important;
  contain:none!important;
  transform:none!important;
  will-change:auto!important;
}
html.browser-safari .product-table-v80g{
  transform:none!important;
  contain:none!important;
}
html.browser-safari .product-table-v80g thead th{
  position:static!important;
  top:auto!important;
  transform:none!important;
}
html.browser-safari .product-table-v80g tbody tr.v80g-product-row{
  position:static!important;
  transform:none!important;
  transition:none!important;
  box-shadow:none!important;
  contain:none!important;
  will-change:auto!important;
}
html.browser-safari .product-table-v80g tbody tr.v80g-product-row:hover,
html.browser-safari .product-table-v80g tbody tr.v80g-product-row.active-product{
  transform:none!important;
  box-shadow:none!important;
}
html.browser-safari .product-table-v80g tbody tr.v80g-product-row td{
  position:static!important;
  transform:none!important;
  box-shadow:none!important;
}
html.browser-safari .product-table-v80g tbody tr.v80g-product-row.is-picked td:first-child{
  box-shadow:inset 4px 0 0 #f47b20!important;
}
html.browser-safari .v80g-inline-note{
  display:block!important;
  max-height:3.1em!important;
  overflow:hidden!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}
html.browser-safari .v80g-unit-cell .unit-change-hint{
  display:none!important;
  position:static!important;
  left:auto!important;
  top:auto!important;
}

/* 降低滚动期间的绘制压力 */
html.browser-safari .preview-row,
html.browser-safari .cat-btn,
html.browser-safari .combo-pill,
html.browser-safari .room-tab,
html.browser-safari .btn{
  transition-duration:.01ms!important;
}
html.browser-safari .preview-row:hover,
html.browser-safari .cat-btn:hover,
html.browser-safari .combo-pill:hover,
html.browser-safari .room-tab:hover{
  transform:none!important;
}


/* V80G4：Mac Safari 使用纯原生文档流，彻底避开 sticky/fixed/blur/overflow 表格叠加造成的跳动与空白。 */
html.browser-safari,
html.browser-safari body{
  width:100%!important;
  height:auto!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  scroll-behavior:auto!important;
  overscroll-behavior-y:auto!important;
  overflow-anchor:none!important;
  -webkit-overflow-scrolling:auto!important;
}
html.browser-safari body{
  position:static!important;
  background:#eef4f4!important;
}
html.browser-safari .app,
html.browser-safari .workspace,
html.browser-safari .product-area,
html.browser-safari .items-wrap,
html.browser-safari .quote-section,
html.browser-safari .room-view-card{
  position:relative!important;
  overflow:visible!important;
  contain:none!important;
  content-visibility:visible!important;
  transform:none!important;
  will-change:auto!important;
}

/* Safari 桌面端取消所有会改变页面占位的吸顶与底部固定组件。 */
html.browser-safari .header,
html.browser-safari .quote-dock,
html.browser-safari .category-side,
html.browser-safari .product-toolbar,
html.browser-safari .product-toolbar-v77,
html.browser-safari .measurement-command-bar,
html.browser-safari .footer-actions{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  width:auto!important;
  max-height:none!important;
  transform:none!important;
  will-change:auto!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html.browser-safari .header{
  z-index:20!important;
  background:#fff!important;
}
html.browser-safari .quote-dock{
  margin-top:0!important;
  padding-bottom:12px!important;
  background:transparent!important;
}
html.browser-safari .category-side{
  align-self:start!important;
  overflow:visible!important;
}
html.browser-safari .cat-list{
  max-height:none!important;
  overflow-y:visible!important;
}
html.browser-safari .footer-actions{
  margin-top:18px!important;
  background:#eef4f4!important;
}

/* 浮动“已选报价”条在 Safari 中停用，顶部完整报价区仍保留，避免滚动阈值反复切换。 */
html.browser-safari .quote-memory-bar,
html.browser-safari .quote-memory-bar.show{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:none!important;
}
html.browser-safari body.memory-bar-visible{
  padding-top:0!important;
}

/* 产品表格在 Mac Safari 桌面宽度下不放入横向合成滚动层。 */
html.browser-safari .product-table-wrap{
  overflow:visible!important;
  contain:none!important;
  transform:none!important;
  will-change:auto!important;
  -webkit-overflow-scrolling:auto!important;
}
html.browser-safari .product-table-v80g,
html.browser-safari .product-table{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  transform:none!important;
  contain:none!important;
}
html.browser-safari .product-table-v80g thead,
html.browser-safari .product-table-v80g tbody,
html.browser-safari .product-table-v80g tr,
html.browser-safari .product-table-v80g th,
html.browser-safari .product-table-v80g td,
html.browser-safari .product-table thead,
html.browser-safari .product-table tbody,
html.browser-safari .product-table tr,
html.browser-safari .product-table th,
html.browser-safari .product-table td{
  transform:none!important;
  contain:none!important;
  will-change:auto!important;
}
html.browser-safari .product-table-v80g th,
html.browser-safari .product-table th,
html.browser-safari .quote-table th,
html.browser-safari .selected-table th{
  position:static!important;
  top:auto!important;
}
html.browser-safari .product-table-v80g tbody tr,
html.browser-safari .product-table tbody tr{
  position:static!important;
  transition:none!important;
  animation:none!important;
  box-shadow:none!important;
}
html.browser-safari .product-table-v80g tbody td,
html.browser-safari .product-table tbody td{
  position:static!important;
  transition:none!important;
  animation:none!important;
}

/* 大幅降低滚动期间重绘压力，但不影响点击、输入、导入和计算。 */
html.browser-safari .app *,
html.browser-safari .header *,
html.browser-safari .footer-actions *{
  animation-duration:.001ms!important;
  animation-iteration-count:1!important;
  transition-duration:.001ms!important;
  scroll-behavior:auto!important;
}
html.browser-safari .card,
html.browser-safari .quote-dock-inner,
html.browser-safari .category-side,
html.browser-safari .product-toolbar,
html.browser-safari .product-table-wrap,
html.browser-safari .totals{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 较窄窗口仍允许表格横向原生滚动，纵向始终由页面负责。 */
@media(max-width:1180px){
  html.browser-safari .product-table-wrap{
    overflow-x:auto!important;
    overflow-y:visible!important;
  }
  html.browser-safari .product-table-v80g,
  html.browser-safari .product-table{
    min-width:980px!important;
    table-layout:auto!important;
  }
}
@media(max-width:760px){
  html.browser-safari .product-table-v80g,
  html.browser-safari .product-table{
    min-width:860px!important;
  }
}


/* V80G4 · macOS Chrome 原生触控板滚动与产品选择稳定层 */
html.platform-macos.browser-chrome{
  scroll-behavior:auto!important;
  overscroll-behavior-y:none!important;
  overflow-anchor:auto!important;
}
html.platform-macos.browser-chrome body{
  scroll-behavior:auto!important;
  overscroll-behavior-y:none!important;
  overflow-anchor:auto!important;
  -webkit-font-smoothing:antialiased;
}

/* Mac Chrome 不接管触控板滚轮，也不启用滚动阈值浮条，避免惯性滚动被拆成跳跃。 */
html.platform-macos.browser-chrome .quote-memory-bar,
html.platform-macos.browser-chrome .quote-memory-bar.show{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:none!important;
}
html.platform-macos.browser-chrome body.memory-bar-visible{
  padding-top:0!important;
}

/* 左侧分类使用单一固定吸顶高度，不再随着浮条显示状态上下切换。 */
html.platform-macos.browser-chrome .category-side,
html.platform-macos.browser-chrome body.memory-bar-visible .category-side,
html.platform-macos.browser-chrome body:not(.memory-bar-visible) .category-side{
  top:calc(var(--header-height) + 10px)!important;
  transition:none!important;
  will-change:auto!important;
}

/* 产品区交给页面原生纵向滚动，仅保留必要的横向滚动。 */
html.platform-macos.browser-chrome .product-area,
html.platform-macos.browser-chrome .items-wrap,
html.platform-macos.browser-chrome .product-table-wrap{
  contain:none!important;
  content-visibility:visible!important;
  transform:none!important;
  will-change:auto!important;
  overflow-anchor:auto!important;
}
html.platform-macos.browser-chrome .product-table-wrap{
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:auto!important;
  overscroll-behavior-inline:contain!important;
}

/* Chrome + 大表格 + sticky 表头在触控板惯性滚动时会出现重绘抖动，改为普通表头。 */
html.platform-macos.browser-chrome .product-table-v80g thead th,
html.platform-macos.browser-chrome .product-table thead th{
  position:static!important;
  top:auto!important;
  transform:none!important;
  will-change:auto!important;
}

/* 产品选择只改变颜色，不移动或缩放行，避免视觉“蹦一下”。 */
html.platform-macos.browser-chrome .product-table-v80g tbody tr,
html.platform-macos.browser-chrome .product-table-v80g tbody td,
html.platform-macos.browser-chrome .product-table tbody tr,
html.platform-macos.browser-chrome .product-table tbody td,
html.platform-macos.browser-chrome .preview-row,
html.platform-macos.browser-chrome .select-pop,
html.platform-macos.browser-chrome .active-product{
  transform:none!important;
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
html.platform-macos.browser-chrome .product-table-v80g tbody tr.v80g-product-row:hover,
html.platform-macos.browser-chrome .product-table-v80g tbody tr.v80g-product-row.active-product,
html.platform-macos.browser-chrome .product-table-v80g tbody tr.v80g-product-row.is-picked{
  transform:none!important;
}

/* 减少滚动期间的合成图层切换，但不关闭按钮、输入和计算。 */
html.platform-macos.browser-chrome .header,
html.platform-macos.browser-chrome .quote-dock-inner,
html.platform-macos.browser-chrome .category-side,
html.platform-macos.browser-chrome .product-toolbar,
html.platform-macos.browser-chrome .product-table-wrap,
html.platform-macos.browser-chrome .footer-actions{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html.platform-macos.browser-chrome .quick-add-button,
html.platform-macos.browser-chrome .btn,
html.platform-macos.browser-chrome .cat-btn,
html.platform-macos.browser-chrome .room-tab,
html.platform-macos.browser-chrome .combo-pill{
  animation:none!important;
}
html.platform-macos.browser-chrome .quick-add-button:hover,
html.platform-macos.browser-chrome .btn:hover,
html.platform-macos.browser-chrome .cat-btn:hover,
html.platform-macos.browser-chrome .room-tab:hover,
html.platform-macos.browser-chrome .combo-pill:hover{
  transform:none!important;
}

table{border-collapse:collapse}td,th{border:1px solid #666;padding:6px;mso-number-format:'\\@'}th{background:#d9ead3;font-weight:bold}
/* 手机端实测修复：分类栏不再压住项目按钮，项目卡滚动时预留顶部安全距离 */
@media(max-width:720px){
  .side{position:relative!important;top:auto!important;z-index:1!important;}
  .item-row,.quote,.section-block{scroll-margin-top:125px;}
  .header{z-index:90;}
}

/*：项目改成一行一行，减少卡片混乱感 */
.product-list-head{
  display:grid;
  grid-template-columns:minmax(260px,1.35fr) minmax(300px,2fr) 140px 210px;
  gap:14px;
  align-items:center;
  background:#e9f4f2;
  color:#155f66;
  border:1px solid var(--line);
  border-radius:14px 14px 0 0;
  padding:12px 16px;
  font-size:13px;
  font-weight:1000;
  margin-bottom:0;
}
.items-wrap{
  display:flex!important;
  flex-direction:column;
  gap:0!important;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 18px 18px;
  overflow:hidden;
  background:#fff;
}
.item-card{
  min-height:auto!important;
  display:grid!important;
  grid-template-columns:minmax(260px,1.35fr) minmax(300px,2fr) 140px 210px;
  gap:14px!important;
  align-items:center!important;
  border:0!important;
  border-bottom:1px solid #eef3f3!important;
  border-radius:0!important;
  box-shadow:none!important;
  padding:14px 16px!important;
  background:#fff!important;
}
.item-card:nth-child(2n){background:#fbfdfd!important}
.item-card:hover{
  transform:none!important;
  background:#f6fbfb!important;
  border-color:#eef3f3!important;
  box-shadow:none!important;
}
.item-card:last-child{border-bottom:0!important}
.item-head{display:contents!important}
.item-head > div:first-child{grid-column:1}
.item-name{font-size:16px!important;line-height:1.35}
.item-cat{margin-top:6px}
.item-note{grid-column:2;font-size:13px;line-height:1.55;color:var(--muted)}
.price-box{grid-column:3;text-align:right}
.price{font-size:20px!important}
.item-actions{grid-column:4;display:grid!important;grid-template-columns:76px 1fr;gap:8px!important}
.quick-qty{width:100%!important}
.item-actions .btn{width:100%}
.qty-tip{display:inline-flex;margin-left:0;margin-top:6px}
@media(max-width:900px){
  .product-list-head{display:none}
  .items-wrap{border-top:1px solid var(--line);border-radius:18px}
  .item-card{
    grid-template-columns:1fr!important;
    gap:10px!important;
    border-radius:0!important;
  }
  .item-head{display:flex!important}
  .item-head > div:first-child{grid-column:auto}
  .item-note,.price-box,.item-actions{grid-column:auto}
  .price-box{text-align:left}
  .item-actions{grid-template-columns:90px 1fr!important}
}


/*：清晰表格式优化 */
.preset-details{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  margin-bottom:14px;
  overflow:hidden;
}
.preset-details summary{
  cursor:pointer;
  padding:13px 16px;
  font-weight:1000;
  color:var(--brand-dark);
  background:#fbfdfd;
}
.preset-details .problem-grid{
  padding:14px;
  margin:0;
}

.selected-strip{
  display:block!important;
  padding:0!important;
  background:#fff!important;
}
.selected-title{
  display:flex!important;
  padding:10px 14px 0;
  font-size:14px;
}
.selected-chips{
  display:block!important;
  overflow:auto!important;
  max-height:172px;
  padding:10px 14px 14px;
}
.selected-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  min-width:720px;
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
}
.selected-table th{
  background:#e9f4f2;
  color:#155f66;
  font-size:13px;
  text-align:left;
  padding:9px 10px;
  border-bottom:1px solid var(--line);
}
.selected-table td{
  padding:9px 10px;
  border-bottom:1px solid #eef3f3;
  font-size:14px;
}
.selected-table tr:last-child td{border-bottom:0}
.selected-table .s-name{font-weight:900;color:#203738}
.selected-table .s-money{font-weight:1000;color:var(--orange);text-align:right;white-space:nowrap}
.selected-table .s-num{text-align:center;white-space:nowrap;color:#385153}
.selected-empty{
  display:block;
  padding:20px 14px;
  text-align:center;
  background:#f8fbfb;
  border:1px dashed var(--line);
  border-radius:14px;
}

.category-side{
  top:252px!important;
}
.cat-btn{
  min-height:62px;
  padding:13px 14px!important;
}
.cat-btn b{font-size:16px!important}
.cat-btn small{font-size:12px!important}
.product-toolbar{
  position:sticky;
  top:252px;
  z-index:50;
}
.product-list-head{
  grid-template-columns:minmax(240px,1.15fr) minmax(360px,2fr) 128px 190px!important;
  border-radius:16px 16px 0 0!important;
  padding:13px 18px!important;
  font-size:14px!important;
}
.items-wrap{
  border-radius:0 0 18px 18px!important;
}
.item-card{
  grid-template-columns:minmax(240px,1.15fr) minmax(360px,2fr) 128px 190px!important;
  padding:15px 18px!important;
  min-height:76px!important;
}
.item-name{
  font-size:17px!important;
}
.item-cat{
  background:transparent!important;
  padding:0!important;
  margin-top:4px!important;
  color:#6a7d80!important;
}
.item-note{
  color:#445a5d!important;
}
.price{
  font-size:21px!important;
}
.unit{
  font-size:13px!important;
}
.item-actions{
  grid-template-columns:72px 1fr!important;
}
.quick-qty{
  height:42px!important;
}
.item-actions .btn{
  height:42px!important;
}
.card-head h3,.card-head h2{
  letter-spacing:.2px;
}
.quote-table th{
  font-size:14px!important;
  padding:12px 14px!important;
}
.quote-table td{
  font-size:14px!important;
  padding:10px 12px!important;
}
@media(max-width:1100px){
  .product-toolbar{position:relative;top:auto}
  .category-side{top:180px!important}
}
@media(max-width:900px){
  .selected-table{min-width:620px}
  .product-list-head{display:none!important}
  .item-card{
    grid-template-columns:1fr!important;
    gap:10px!important;
    min-height:auto!important;
  }
}


/*：清晰报价台，产品区改为真正表格，顶部已选更紧凑 */
.quote-dock{top:74px!important}
.quote-dock-inner{border-radius:18px!important}
.dock-main{padding:12px 16px!important}
.dock-title h2{font-size:19px!important}
.selected-strip{padding:0!important;background:#fff!important}
.selected-title{display:none!important}
.selected-chips{display:block!important;overflow:auto!important;max-height:126px!important;padding:10px 14px 12px!important}
.selected-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.selected-table th{background:#e9f4f2;color:#155f66;font-size:13px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.selected-table td{padding:8px 10px;border-bottom:1px solid #eef3f3;font-size:14px}
.selected-table tr:last-child td{border-bottom:0}
.selected-table .s-name{font-weight:900;color:#203738}
.selected-table .s-money{font-weight:1000;color:var(--orange);text-align:right;white-space:nowrap}
.selected-table .s-num{text-align:center;white-space:nowrap;color:#385153}
.selected-empty{display:block;padding:14px;text-align:center;background:#f8fbfb;border:1px dashed var(--line);border-radius:12px;color:var(--muted)}

.category-side{top:228px!important;padding:12px!important}
.cat-btn{min-height:54px!important;padding:12px 13px!important;border-radius:13px!important}
.cat-btn b{font-size:16px!important}
.cat-btn small{font-size:12px!important;line-height:1.2!important}
.product-toolbar{top:228px!important;border-radius:18px!important;padding:12px 14px!important;margin-bottom:12px!important}
.search{height:44px!important}
.current-cat-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px 16px 0 0;padding:13px 16px;border-bottom:0}
.current-cat-bar b{display:block;color:var(--brand-dark);font-size:20px}
.current-cat-bar span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.current-cat-bar em{font-style:normal;background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;padding:6px 10px;font-weight:1000;font-size:13px;white-space:nowrap}
.product-table-wrap{display:block!important;border:1px solid var(--line)!important;border-radius:0 0 18px 18px!important;overflow:auto!important;background:#fff!important;box-shadow:0 4px 16px rgba(0,0,0,.03)}
.product-table{width:100%;border-collapse:collapse;min-width:980px}
.product-table th{position:sticky;top:0;background:#e9f4f2;color:#155f66;text-align:left;font-size:14px;font-weight:1000;padding:12px 14px;border-bottom:1px solid var(--line);z-index:2}
.product-table td{padding:12px 14px;border-bottom:1px solid #eef3f3;vertical-align:middle;font-size:14px}
.product-table tr:nth-child(even) td{background:#fbfdfd}
.product-table tr:hover td{background:#f3faf9}
.product-name{font-weight:1000;color:#203738;font-size:16px;line-height:1.3}
.product-sub{margin-top:4px;color:#6b8083;font-size:12px}
.product-note{color:#43595c;line-height:1.55}
.product-price{text-align:right;white-space:nowrap}
.product-price b{display:block;color:var(--orange);font-size:20px}
.product-price span{color:var(--muted);font-size:12px}
.product-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end}
.product-actions input{width:78px;height:40px;border:1px solid var(--line);border-radius:10px;text-align:center;padding:0 8px}
.qty-tip{display:inline-flex;margin-top:6px;background:var(--orange-soft);color:#a04f04;border:1px solid #f2d5b8;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}
.items-wrap .empty{padding:38px 18px;text-align:center;color:var(--muted)}
.problem-grid{grid-template-columns:repeat(3,1fr)!important}
.preset{min-height:auto!important;padding:12px!important}
.quote-table th{font-size:14px!important}
.quote-table td{font-size:14px!important}
@media(max-width:1100px){
  .category-side{top:180px!important}
  .product-toolbar{position:relative!important;top:auto!important}
  .product-table{min-width:850px}
}
@media(max-width:760px){
  .selected-chips{max-height:112px!important}
  .product-table{min-width:780px}
  .product-table th,.product-table td{padding:10px 11px}
  .current-cat-bar b{font-size:18px}
  .problem-grid{grid-template-columns:1fr!important}
}


/*检查修正：避免置顶报价表高度变化后遮挡左侧分类和搜索栏 */
.category-side{top:292px!important}
.product-toolbar{top:292px!important}
.selected-chips{max-height:118px!important}
@media(max-width:1100px){
  .category-side{top:196px!important}
  .product-toolbar{position:relative!important;top:auto!important}
}
@media(max-width:760px){
  .quote-dock{top:67px!important}
  .selected-chips{max-height:104px!important}
  .category-side{top:188px!important}
}
/*检查修正：产品表格在窄屏允许横向滚动但不挤乱 */
.product-table-wrap{overflow-x:auto!important}
.quote-table-wrap{overflow-x:auto!important}
/*检查修正：顶部导出按钮不要在小屏挤压金额 */
@media(max-width:760px){
  .dock-actions{display:block}
  .dock-actions .btn{margin-top:8px;width:100%}
}


/* Mac报价台：更宽、更精致、更有互动感 */
body{
  background:
    radial-gradient(circle at 18% 0%, rgba(239,125,22,.10), transparent 28%),
    radial-gradient(circle at 86% 8%, rgba(15,111,120,.13), transparent 30%),
    #eef4f4!important;
}
.app{max-width:1960px!important;padding-left:18px!important;padding-right:18px!important}
.card,.quote-dock-inner,.category-side,.product-toolbar,.product-table-wrap,.totals{
  box-shadow:0 18px 44px rgba(10,78,85,.09), 0 1px 0 rgba(255,255,255,.75) inset!important;
}
.card,.quote-dock-inner,.category-side,.product-toolbar,.current-cat-bar,.product-table-wrap{
  border-color:rgba(216,229,230,.85)!important;
}
.quote-dock{top:74px!important;padding-bottom:14px!important}
.quote-dock-inner{border-radius:24px!important;background:rgba(255,255,255,.92)!important;backdrop-filter:blur(18px)}
.dock-main{padding:14px 18px!important;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,252,.92))}
.dock-title h2::before,.card-head h3::before,.card-head h2::before,.side-title h3::before{
  content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#ff5f57;margin-right:8px;box-shadow:16px 0 #ffbd2e,32px 0 #28c840;vertical-align:1px;
}
.metrics{gap:8px!important}
.metric{min-width:104px!important;padding:7px 10px!important;border-radius:13px!important}
.metric b{font-size:17px!important}.metric.total b{font-size:20px!important}
.selected-strip{display:block!important;background:linear-gradient(180deg,#ffffff,#fbfdfd)!important;padding:0!important}
.selected-title{display:none!important}
.selected-chips{
  display:block!important;
  overflow:visible!important;
  max-height:none!important;
  padding:12px 14px 16px!important;
}
.selected-table{
  width:100%;min-width:760px;border-collapse:separate;border-spacing:0;border:1px solid var(--line);
  border-radius:16px;overflow:hidden;background:#fff;
}
.selected-table th{background:#edf7f6!important;color:#155f66!important;padding:9px 11px!important;font-size:13px!important}
.selected-table td{padding:9px 11px!important;font-size:14px!important;border-bottom:1px solid #eef3f3!important}
.selected-table tr:hover td{background:#f7fbfb}
.selected-empty{padding:18px!important;border-radius:16px!important}

.workspace{
  grid-template-columns:218px minmax(0,1fr)!important;
  gap:16px!important;
}
.category-side{
  top:310px!important;
  border-radius:24px!important;
  padding:12px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(12px);
}
.side-title{padding:6px 6px 12px!important}
.cat-list{gap:8px!important}
.cat-btn{
  min-height:54px!important;
  padding:12px!important;
  border-radius:14px!important;
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cat-btn:hover{transform:translateX(3px);box-shadow:0 8px 22px rgba(15,111,120,.08)}
.cat-btn.active{background:linear-gradient(135deg,#e9f6f3,#ffffff)!important;border-color:var(--brand)!important}
.cat-btn b{font-size:15px!important}
.cat-btn small{font-size:11.5px!important}

.product-toolbar{
  position:relative!important;
  top:auto!important;
  border-radius:22px!important;
  padding:12px 14px!important;
  margin-bottom:14px!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(12px);
}
.search{height:46px!important;border-radius:14px!important;font-size:15px!important}
.current-cat-bar{
  border-radius:22px 22px 0 0!important;
  padding:15px 18px!important;
  background:linear-gradient(180deg,#fff,#fbfdfd)!important;
}
.current-cat-bar b{font-size:21px!important}
.product-table-wrap{
  border-radius:0 0 22px 22px!important;
  overflow-x:auto!important;
  background:#fff!important;
}
.product-table{
  min-width:1060px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.product-table th{
  position:sticky;top:0;z-index:2;
  background:#edf7f6!important;
  padding:13px 16px!important;
  font-size:14px!important;
  border-bottom:1px solid var(--line)!important;
}
.product-table td{
  padding:14px 16px!important;
  border-bottom:1px solid #edf2f2!important;
}
.product-table tr{transition:background .16s ease, box-shadow .16s ease}
.product-table tr:hover td{background:#f5fbfa!important}
.product-name{font-size:16.5px!important;display:flex;align-items:center;gap:9px}
.row-index{
  display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:9px;background:#eef6f6;color:#0f6f78;font-size:12px;font-weight:1000;
}
.product-sub{font-size:12px!important;color:#74878a!important;margin-left:35px!important}
.product-note{font-size:13.5px!important;color:#3f5659!important}
.product-price b{font-size:21px!important}
.product-actions{justify-content:flex-end!important}
.product-actions input{height:42px!important;border-radius:12px!important;background:#fbfdfd}
.add-btn{
  background:linear-gradient(135deg,#0f6f78,#0a4e55)!important;
  border-radius:12px!important;
  transition:transform .16s ease, box-shadow .16s ease;
}
.add-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,111,120,.18)}

.quote-section.card{
  border-radius:26px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.94)!important;
}
.quote-section .card-head{
  background:linear-gradient(180deg,#ffffff,#f7fbfb)!important;
  padding:17px 20px!important;
}
.quote-table-wrap{
  border:0!important;
  border-top:1px solid var(--line)!important;
  border-radius:0!important;
  background:#fff!important;
  overflow-x:auto!important;
}
.quote-table{min-width:1280px!important;border-collapse:separate!important;border-spacing:0!important}
.quote-table th{
  background:#edf7f6!important;
  color:#155f66!important;
  padding:14px 15px!important;
  font-size:14px!important;
}
.quote-table td{
  padding:12px 14px!important;
  border-bottom:1px solid #eef3f3!important;
  background:#fff;
}
.quote-table tr:nth-child(even) td{background:#fbfdfd}
.quote-table tr:hover td{background:#f5fbfa!important}
.quote-table input,.quote-table textarea{
  border:1px solid #e1ebec!important;
  border-radius:13px!important;
  background:#fff!important;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.quote-table input:focus,.quote-table textarea:focus{
  border-color:var(--brand)!important;
  box-shadow:0 0 0 4px rgba(15,111,120,.08)!important;
  background:#fcffff!important;
}
.amount-pill{
  display:inline-flex;justify-content:flex-end;min-width:92px;
  background:var(--orange-soft);color:var(--orange);border:1px solid #f2d5b8;
  border-radius:999px;padding:7px 10px;font-weight:1000;
}
.mac-mini{border-radius:999px!important;padding:7px 10px!important}
.row-tools{justify-content:flex-start!important}
.preset-details{
  border-radius:20px!important;
  background:rgba(255,255,255,.92)!important;
}
.preset-details summary{
  background:linear-gradient(180deg,#fff,#fbfdfd)!important;
  font-size:14px!important;
}
@media(max-width:1100px){
  .workspace{grid-template-columns:1fr!important}
  .category-side{top:196px!important}
  .cat-list{display:flex!important;flex-direction:row!important;overflow-x:auto!important}
  .cat-btn{min-width:144px!important}
}
@media(max-width:760px){
  .app{padding-left:10px!important;padding-right:10px!important}
  .quote-dock{top:67px!important}
  .selected-table{min-width:640px!important}
  .product-table{min-width:900px!important}
  .quote-table{min-width:1040px!important}
  .dock-actions{display:block!important}
  .dock-actions .btn{width:100%;margin-top:8px}
}


/* Apple交互感：不是照搬Mac窗口，而是用克制留白、轻动效、柔和层级 */
:root{
  --apple-bg:#f5f7f8;
  --apple-card:rgba(255,255,255,.86);
  --apple-card-solid:#ffffff;
  --apple-line:rgba(15,111,120,.13);
  --apple-shadow:0 18px 48px rgba(24,39,42,.08);
  --apple-shadow-hover:0 24px 64px rgba(24,39,42,.13);
  --apple-blue:#0a84ff;
  --apple-green:#30d158;
  --apple-orange:#ff9f0a;
}
body{
  background:
    radial-gradient(circle at 12% -8%, rgba(10,132,255,.10), transparent 30%),
    radial-gradient(circle at 88% 4%, rgba(48,209,88,.08), transparent 28%),
    linear-gradient(180deg,#f8fafb 0%,#eef4f4 100%)!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.header{
  background:rgba(255,255,255,.72)!important;
  backdrop-filter:saturate(180%) blur(24px)!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.header-inner{max-width:1880px!important;padding:14px 30px!important}
.mark{
  background:linear-gradient(145deg,#0f6f78,#47b5ad)!important;
  border-radius:18px!important;
  box-shadow:0 14px 30px rgba(15,111,120,.18)!important;
}
.brand h1{font-size:22px!important;letter-spacing:-.3px!important}
.brand p{font-size:13px!important;color:#708589!important}
.app{max-width:1880px!important;padding:20px 30px 104px!important}

/* 彻底取消上一版类似Mac窗口红黄绿点 */
.dock-title h2::before,.card-head h3::before,.card-head h2::before,.side-title h3::before{
  content:none!important;
}

/* 通用面板：像 Apple 系统面板，干净、半透明、有空气感 */
.card,.quote-dock-inner,.category-side,.product-toolbar,.current-cat-bar,.product-table-wrap,.totals{
  background:var(--apple-card)!important;
  backdrop-filter:saturate(180%) blur(22px)!important;
  border:1px solid var(--apple-line)!important;
  border-radius:28px!important;
  box-shadow:var(--apple-shadow)!important;
}
.card-head{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,252,252,.78))!important;
  padding:18px 22px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.card-head h2,.card-head h3,.dock-title h2,.side-title h3,.current-cat-bar b{
  letter-spacing:-.45px!important;
  color:#102c30!important;
}
.card-head p,.dock-title span,.side-title p,.current-cat-bar span{
  color:#74878a!important;
}

/* 顶部已选报价：完整展示，不折叠，但做成轻盈清单 */
.quote-dock{
  top:76px!important;
  padding-bottom:18px!important;
  background:rgba(245,247,248,.74)!important;
  backdrop-filter:saturate(180%) blur(20px)!important;
}
.quote-dock-inner{
  overflow:hidden!important;
  border-radius:30px!important;
}
.dock-main{
  padding:16px 18px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.72))!important;
}
.dock-title h2{font-size:21px!important}
.metrics{gap:10px!important}
.metric{
  border-radius:18px!important;
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(15,111,120,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;
  min-width:112px!important;
}
.metric.total{
  background:linear-gradient(145deg,#0f6f78,#0a4e55)!important;
  border:0!important;
}
.selected-strip{
  background:rgba(255,255,255,.70)!important;
  padding:0!important;
}
.selected-chips{
  overflow:visible!important;
  max-height:none!important;
  padding:14px 16px 18px!important;
}
.selected-table{
  border:0!important;
  border-radius:22px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.10)!important;
  overflow:hidden!important;
}
.selected-table th{
  background:rgba(15,111,120,.07)!important;
  color:#2a5d64!important;
  padding:10px 12px!important;
  font-size:12.5px!important;
  letter-spacing:.1px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.selected-table td{
  padding:10px 12px!important;
  border-bottom:1px solid rgba(15,111,120,.07)!important;
  transition:background .18s ease!important;
}
.selected-table tr:hover td{background:rgba(10,132,255,.035)!important}
.selected-table .s-name{font-weight:850!important;color:#183436!important}
.selected-table .s-money{color:#ff7a00!important}
.selected-empty{
  border:1px dashed rgba(15,111,120,.18)!important;
  background:rgba(255,255,255,.62)!important;
  border-radius:22px!important;
  padding:22px!important;
}

/* 主体布局：左窄右宽，右侧才是主操作区 */
.workspace{
  grid-template-columns:214px minmax(0,1fr)!important;
  gap:20px!important;
}
.category-side{
  top:324px!important;
  padding:14px!important;
  border-radius:30px!important;
}
.side-title{padding:8px 8px 14px!important}
.side-title h3{font-size:20px!important}
.cat-list{gap:8px!important}
.cat-btn{
  min-height:58px!important;
  border-radius:18px!important;
  border:1px solid transparent!important;
  background:rgba(255,255,255,.56)!important;
  padding:13px 14px!important;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cat-btn:hover{
  transform:translateX(4px)!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 10px 28px rgba(24,39,42,.07)!important;
}
.cat-btn.active{
  background:linear-gradient(145deg,rgba(15,111,120,.13),rgba(255,255,255,.90))!important;
  border-color:rgba(15,111,120,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.80),0 12px 30px rgba(15,111,120,.10)!important;
}
.cat-btn b{font-size:15.5px!important;letter-spacing:-.2px}
.cat-btn small{font-size:11.5px!important;color:#7a8c8f!important}
.cat-btn span{
  background:rgba(15,111,120,.08)!important;
  color:#24656c!important;
  border-radius:999px!important;
}

/* 搜索栏：像系统搜索，轻、圆、聚焦有反馈 */
.product-toolbar{
  position:relative!important;
  top:auto!important;
  padding:14px!important;
  border-radius:28px!important;
  margin-bottom:16px!important;
}
.search{
  height:48px!important;
  border-radius:18px!important;
  border:1px solid rgba(15,111,120,.12)!important;
  background:rgba(255,255,255,.76)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.88)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.search:focus{
  border-color:rgba(10,132,255,.55)!important;
  box-shadow:0 0 0 5px rgba(10,132,255,.12), inset 0 1px 0 rgba(255,255,255,.88)!important;
  background:#fff!important;
}
.btn{
  border-radius:16px!important;
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease!important;
}
.btn:hover{transform:translateY(-1px)!important}
.btn:active{transform:translateY(0) scale(.985)!important}
.btn.ghost{
  border:1px solid rgba(15,111,120,.18)!important;
  background:rgba(255,255,255,.66)!important;
}

/* 当前类目和产品表：不是厚重表格，是“设置列表”式一行一项 */
.current-cat-bar{
  border-radius:30px 30px 0 0!important;
  padding:18px 22px!important;
  background:rgba(255,255,255,.78)!important;
  border-bottom:0!important;
}
.current-cat-bar b{font-size:24px!important}
.current-cat-bar em{
  background:rgba(10,132,255,.10)!important;
  color:#0071e3!important;
  border-radius:999px!important;
  padding:7px 12px!important;
}
.product-table-wrap{
  border-radius:0 0 30px 30px!important;
  overflow-x:auto!important;
  background:rgba(255,255,255,.76)!important;
}
.product-table{
  min-width:1120px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.product-table th{
  position:sticky;top:0;z-index:2;
  background:rgba(244,248,248,.96)!important;
  color:#5f7376!important;
  font-weight:800!important;
  padding:13px 18px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.product-table td{
  padding:15px 18px!important;
  border-bottom:1px solid rgba(15,111,120,.08)!important;
  background:rgba(255,255,255,.50)!important;
  transition:background .18s ease, transform .18s ease;
}
.product-table tr:hover td{
  background:rgba(10,132,255,.035)!important;
}
.product-name{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  font-size:17px!important;
  font-weight:850!important;
  color:#132f32!important;
}
.row-index{
  display:inline-grid!important;
  place-items:center!important;
  min-width:28px!important;
  height:28px!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,rgba(15,111,120,.12),rgba(15,111,120,.05))!important;
  color:#0f6f78!important;
  font-size:12px!important;
  font-weight:900!important;
}
.product-sub{
  margin-left:38px!important;
  margin-top:5px!important;
  color:#778b8e!important;
}
.product-note{
  color:#41585b!important;
  font-size:14px!important;
  line-height:1.58!important;
}
.product-price{text-align:right!important}
.product-price b{
  color:#ff7a00!important;
  font-size:22px!important;
  letter-spacing:-.3px!important;
}
.product-actions input{
  height:42px!important;
  border-radius:15px!important;
  border:1px solid rgba(15,111,120,.13)!important;
  background:rgba(255,255,255,.78)!important;
}
.add-btn{
  background:linear-gradient(145deg,#0f6f78,#0b5960)!important;
  border-radius:15px!important;
  box-shadow:0 10px 24px rgba(15,111,120,.16)!important;
}
.add-btn:hover{box-shadow:0 14px 34px rgba(15,111,120,.22)!important}

/* ③ 已选报价明细：苹果式编辑表，干净、轻、聚焦明确 */
.quote-section.card{
  border-radius:32px!important;
  background:rgba(255,255,255,.86)!important;
  overflow:hidden!important;
}
.quote-section .card-head{
  padding:20px 24px!important;
  background:rgba(255,255,255,.82)!important;
}
.quote-table-wrap{
  border:0!important;
  border-top:1px solid rgba(15,111,120,.10)!important;
  border-radius:0!important;
  background:rgba(255,255,255,.60)!important;
  overflow-x:auto!important;
}
.quote-table{
  min-width:1280px!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
.quote-table th{
  background:rgba(244,248,248,.95)!important;
  color:#5f7376!important;
  font-weight:800!important;
  padding:14px 16px!important;
  border-bottom:1px solid rgba(15,111,120,.10)!important;
}
.quote-table td{
  padding:13px 16px!important;
  border-bottom:1px solid rgba(15,111,120,.075)!important;
  background:rgba(255,255,255,.50)!important;
}
.quote-table tr:hover td{background:rgba(10,132,255,.035)!important}
.quote-table input,.quote-table textarea{
  border:1px solid transparent!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.08)!important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.quote-table input:hover,.quote-table textarea:hover{
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.14)!important;
}
.quote-table input:focus,.quote-table textarea:focus{
  background:#fff!important;
  border-color:rgba(10,132,255,.45)!important;
  box-shadow:0 0 0 5px rgba(10,132,255,.10), inset 0 0 0 1px rgba(10,132,255,.28)!important;
}
.amount-pill{
  display:inline-flex!important;
  min-width:94px!important;
  justify-content:flex-end!important;
  background:rgba(255,159,10,.12)!important;
  border:1px solid rgba(255,159,10,.22)!important;
  color:#ff7a00!important;
  border-radius:999px!important;
  padding:8px 11px!important;
  font-weight:900!important;
}
.mac-mini{
  border-radius:999px!important;
  padding:7px 11px!important;
  background:rgba(255,255,255,.74)!important;
}

/* 其他区域也统一轻盈 */
.preset-details{
  border-radius:26px!important;
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(15,111,120,.12)!important;
}
.preset-details summary{
  background:rgba(255,255,255,.70)!important;
  padding:14px 16px!important;
}
.preset{
  border-radius:18px!important;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.preset:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 26px rgba(239,125,22,.10)!important;
}
.totals{
  background:linear-gradient(145deg,#0f6f78,#0a4e55)!important;
  border:0!important;
}
.footer-actions{
  background:rgba(245,247,248,.74)!important;
  backdrop-filter:saturate(180%) blur(22px)!important;
  border-top:1px solid rgba(15,111,120,.10)!important;
}

@media(max-width:1180px){
  .workspace{grid-template-columns:1fr!important}
  .category-side{position:sticky!important;top:198px!important;max-height:none!important}
  .cat-list{display:flex!important;flex-direction:row!important;overflow-x:auto!important}
  .cat-btn{min-width:150px!important}
}
@media(max-width:760px){
  .app{padding-left:10px!important;padding-right:10px!important}
  .quote-dock{top:67px!important}
  .selected-table{min-width:660px!important}
  .product-table{min-width:940px!important}
  .quote-table{min-width:1080px!important}
  .dock-main{grid-template-columns:1fr!important}
  .dock-actions{display:block!important}
  .dock-actions .btn{width:100%;margin-top:8px}
}


/*：选择报价项目互动增强 */
.hover-preview{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:18px;
  align-items:center;
  margin:0 0 16px;
  padding:18px 20px;
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(255,255,255,.62));
  border:1px solid rgba(15,111,120,.12);
  box-shadow:0 18px 48px rgba(24,39,42,.075);
  backdrop-filter:saturate(180%) blur(22px);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.hover-preview.preview-live{
  transform:translateY(-1px);
  box-shadow:0 24px 64px rgba(24,39,42,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(248,252,252,.72));
}
.preview-kicker{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(10,132,255,.10);
  color:#0071e3;
  font-weight:900;
  font-size:12px;
  margin-bottom:9px;
}
.preview-left strong{
  display:block;
  font-size:24px;
  line-height:1.18;
  letter-spacing:-.5px;
  color:#102c30;
}
.preview-left p{
  margin:8px 0 0;
  color:#647a7d;
  line-height:1.65;
  font-size:14px;
}
.preview-right{
  text-align:right;
  padding-left:18px;
  border-left:1px solid rgba(15,111,120,.10);
}
.preview-right span{
  display:block;
  font-size:34px;
  font-weight:1000;
  color:#ff7a00;
  letter-spacing:-.8px;
}
.preview-right em{
  display:block;
  font-style:normal;
  color:#708589;
  font-size:13px;
  margin-top:-2px;
}
.preview-action{
  display:flex;
  gap:8px;
  justify-content:flex-end;
  margin-top:12px;
}
.preview-action input{
  width:86px;
  height:42px;
  border-radius:14px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.82);
  text-align:center;
  padding:0 8px;
}
.preview-action input:focus{
  outline:none;
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
}
.product-table tr.active-product td{
  background:rgba(10,132,255,.075)!important;
  box-shadow:inset 3px 0 0 #0a84ff;
}
.product-table tr.added-pulse td{
  animation:addedPulse .72s ease;
}
@keyframes addedPulse{
  0%{background:rgba(48,209,88,.20)}
  100%{background:rgba(255,255,255,.50)}
}
.add-toast{
  position:fixed;
  right:28px;
  bottom:88px;
  z-index:999;
  padding:13px 16px;
  border-radius:18px;
  background:rgba(16,44,48,.92);
  color:#fff;
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  backdrop-filter:blur(16px);
  font-weight:900;
  transform:translateY(16px);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.add-toast.show{
  opacity:1;
  transform:translateY(0);
}
.preview-glow{
  animation:previewGlow .45s ease;
}
@keyframes previewGlow{
  0%{box-shadow:0 0 0 0 rgba(10,132,255,.22),0 18px 48px rgba(24,39,42,.075)}
  100%{box-shadow:0 0 0 10px rgba(10,132,255,0),0 24px 64px rgba(24,39,42,.12)}
}
.product-table tbody tr{
  cursor:pointer;
}
.product-table tbody tr td:first-child{
  position:relative;
}
.product-table tbody tr td:first-child::after{
  content:"";
  position:absolute;
  left:0;
  top:14px;
  bottom:14px;
  width:3px;
  border-radius:999px;
  background:transparent;
  transition:background .18s ease;
}
.product-table tbody tr:hover td:first-child::after{
  background:rgba(10,132,255,.35);
}
.product-table tbody tr.active-product td:first-child::after{
  background:#0a84ff;
}
@media(max-width:900px){
  .hover-preview{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
  }
  .preview-right{
    text-align:left;
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(15,111,120,.10);
    padding-top:12px;
  }
  .preview-action{
    justify-content:flex-start;
  }
}


/*：添加按钮移到中间，支持双击整行快速加入 */
.quick-tip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:8px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(10,132,255,.09);
  color:#0071e3;
  font-size:12px;
  font-weight:900;
}
.product-table{
  min-width:1280px!important;
}
.product-table th.quick-add-head,
.product-table td.quick-add-cell{
  text-align:center!important;
}
.quick-add-cell{
  min-width:210px;
}
.quick-add-box{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:8px;
  align-items:center;
}
.quick-add-box input{
  height:42px;
  border-radius:15px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.82);
  text-align:center;
  padding:0 8px;
}
.quick-add-box input:focus{
  outline:none;
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
}
.quick-add-button{
  height:42px;
  border-radius:15px!important;
  background:linear-gradient(145deg,#0a84ff,#006edb)!important;
  box-shadow:0 10px 24px rgba(10,132,255,.18)!important;
  font-weight:1000!important;
}
.quick-add-button:hover{
  box-shadow:0 14px 34px rgba(10,132,255,.25)!important;
}
.picked-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:8px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(48,209,88,.12);
  color:#168a39;
  border:1px solid rgba(48,209,88,.22);
  font-size:12px;
  font-weight:900;
}
.row-hint{
  display:block;
  margin-top:7px;
  color:#94a3a6;
  font-size:12px;
}
.product-table tr:hover .row-hint{
  color:#0071e3;
}
.product-table tr.active-product .row-hint{
  color:#0071e3;
  font-weight:900;
}
.preview-action{
  display:grid!important;
  grid-template-columns:86px 1fr!important;
}
.preview-action .btn{
  height:42px;
}
.keyboard-hint{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:8px;
  color:#708589;
  font-size:12px;
}
.keyboard-hint kbd{
  padding:2px 7px;
  border-radius:7px;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(15,111,120,.14);
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
  font-family:inherit;
  font-weight:900;
  color:#102c30;
}
@media(max-width:900px){
  .product-table{min-width:980px!important}
  .quick-add-cell{min-width:190px}
  .quick-add-box{grid-template-columns:68px 1fr}
}


/*：稳定添加。取消双击加入，避免误触；加入后按钮显示已加入次数 */
.quick-tip{
  background:rgba(48,209,88,.10)!important;
  color:#168a39!important;
}
.product-table tbody tr{
  cursor:default!important;
}
.product-table tbody tr.preview-row{
  cursor:pointer!important;
}
.quick-add-button.joined{
  background:linear-gradient(145deg,#30d158,#1f9d48)!important;
  box-shadow:0 10px 24px rgba(48,209,88,.18)!important;
}
.quick-add-button.joined:hover{
  box-shadow:0 14px 34px rgba(48,209,88,.24)!important;
}
.join-count-mini{
  display:block;
  margin-top:6px;
  color:#168a39;
  font-size:12px;
  font-weight:900;
  text-align:center;
}
.picked-badge{
  background:rgba(48,209,88,.12)!important;
  color:#168a39!important;
}
.product-table tr.active-product td{
  background:rgba(10,132,255,.065)!important;
}
.product-table tr.added-pulse td{
  animation:addedPulse .72s ease;
}
@keyframes addedPulse{
  0%{background:rgba(48,209,88,.23)}
  100%{background:rgba(255,255,255,.50)}
}


/*：顶部已选报价清单按用户要求完整展示，不折叠、不内部滚动 */
.selected-chips{
  overflow:visible!important;
  max-height:none!important;
}
.selected-table{
  width:100%!important;
}


/*：房间视图 + 常用组合 */
.room-combo-panel{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:14px;
  margin-bottom:16px;
}
.room-block,.combo-block{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,111,120,.12);
  border-radius:28px;
  box-shadow:0 16px 42px rgba(24,39,42,.07);
  backdrop-filter:saturate(180%) blur(20px);
  padding:14px;
}
.mini-label{
  font-size:13px;
  color:#486064;
  font-weight:1000;
  margin-bottom:10px;
}
.room-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.room-tab{
  border:1px solid rgba(15,111,120,.14);
  background:rgba(255,255,255,.72);
  border-radius:999px;
  padding:9px 13px;
  cursor:pointer;
  color:#183436;
  font-weight:900;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.room-tab:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(15,111,120,.08);
}
.room-tab.active{
  background:linear-gradient(145deg,#0f6f78,#0a4e55);
  color:#fff;
  border-color:transparent;
  box-shadow:0 12px 28px rgba(15,111,120,.18);
}
.room-help{
  margin-top:10px;
  color:#708589;
  font-size:12.5px;
  line-height:1.55;
}
.combo-strip{
  display:flex;
  gap:9px;
  overflow-x:auto;
  padding-bottom:2px;
}
.combo-pill{
  min-width:190px;
  border:1px solid rgba(239,125,22,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.86),rgba(255,243,230,.76));
  border-radius:18px;
  padding:11px 12px;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease;
}
.combo-pill:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(239,125,22,.11);
}
.combo-pill b{
  display:block;
  font-size:14px;
  color:#8f4a06;
  line-height:1.35;
}
.combo-pill span{
  display:block;
  margin-top:5px;
  color:#8b6c4f;
  font-size:12px;
  line-height:1.35;
}
.room-summary{
  padding:18px 20px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.room-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(15,111,120,.12);
  border-radius:24px;
  padding:15px;
  box-shadow:0 12px 32px rgba(24,39,42,.065);
}
.room-card.empty{
  grid-column:1/-1;
  color:#708589;
  text-align:center;
  padding:28px;
  border-style:dashed;
}
.room-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}
.room-card-head b{
  font-size:18px;
  color:#102c30;
}
.room-card-head span{
  color:#ff7a00;
  font-weight:1000;
  font-size:18px;
}
.room-card-list{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.room-card-row{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  color:#40575a;
  font-size:13px;
  padding:7px 0;
  border-top:1px solid rgba(15,111,120,.07);
}
.room-card-row em{
  font-style:normal;
  color:#ff7a00;
  font-weight:900;
}
.room-tag{
  display:inline-flex;
  align-items:center;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(10,132,255,.10);
  color:#0071e3;
  font-size:12px;
  font-weight:900;
}
.selected-table .s-room{
  color:#0071e3;
  font-weight:900;
  white-space:nowrap;
}
.quote-table .room-input{
  min-width:92px;
}
@media(max-width:1280px){
  .room-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .room-combo-panel{grid-template-columns:1fr}
  .room-summary{grid-template-columns:1fr}
  .combo-pill{min-width:170px}
}


/*：已选报价明细升级为 Notion / Apple Numbers 式编辑面板 */
.quote-section.card{
  border-radius:34px!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.88)!important;
}
.quote-editor-title{
  padding:22px 24px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,252,252,.78))!important;
}
.quote-editor-wrap{
  padding:18px 20px 22px;
  background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(250,252,252,.72));
}
.quote-editor-head{
  display:grid;
  grid-template-columns:46px 160px minmax(240px,1.25fr) 150px 120px 130px minmax(240px,1fr) 116px;
  gap:10px;
  align-items:center;
  padding:10px 14px;
  margin-bottom:10px;
  color:#667b7e;
  font-size:12.5px;
  font-weight:900;
  letter-spacing:.12px;
  text-transform:none;
}
.quote-editor-body{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.quote-line{
  display:grid;
  grid-template-columns:46px 160px minmax(240px,1.25fr) 150px 120px 130px minmax(240px,1fr) 116px;
  gap:10px;
  align-items:stretch;
  padding:12px 14px;
  border-radius:24px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,111,120,.10);
  box-shadow:0 12px 32px rgba(24,39,42,.055), inset 0 1px 0 rgba(255,255,255,.75);
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease;
}
.quote-line:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.96);
  border-color:rgba(10,132,255,.20);
  box-shadow:0 18px 44px rgba(24,39,42,.09), inset 0 1px 0 rgba(255,255,255,.88);
}
.quote-line.soft-warn{
  border-color:rgba(255,159,10,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,249,241,.82));
}
.quote-index{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6f8588;
  font-weight:1000;
}
.quote-index span{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:12px;
  background:rgba(15,111,120,.08);
  color:#0f6f78;
  font-size:13px;
}
.quote-cell{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}
.quote-cell label{
  display:none;
  color:#708589;
  font-size:11.5px;
  font-weight:900;
}
.quote-duo{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
}
.quote-cell input,.quote-cell textarea,.quote-mini-input{
  width:100%;
  border:1px solid transparent!important;
  border-radius:16px!important;
  background:rgba(247,250,250,.78)!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.08)!important;
  padding:10px 12px!important;
  outline:none!important;
  transition:background .16s ease, box-shadow .16s ease, border-color .16s ease;
  color:#183436!important;
}
.quote-cell textarea{
  min-height:44px;
  resize:vertical;
  line-height:1.45;
}
.quote-cell input:hover,.quote-cell textarea:hover,.quote-mini-input:hover{
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(15,111,120,.15)!important;
}
.quote-cell input:focus,.quote-cell textarea:focus,.quote-mini-input:focus{
  background:#fff!important;
  border-color:rgba(10,132,255,.45)!important;
  box-shadow:0 0 0 5px rgba(10,132,255,.10), inset 0 0 0 1px rgba(10,132,255,.28)!important;
}
.quote-project textarea{
  min-height:58px;
  font-weight:800;
}
.quote-note textarea{
  min-height:58px;
  color:#43595c!important;
}
.quote-qty-pair{
  display:grid;
  grid-template-columns:1fr 64px;
  gap:7px;
}
.quote-amount{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.quote-amount .amount-pill{
  min-width:100px!important;
  justify-content:flex-end!important;
  background:rgba(255,159,10,.13)!important;
  border:1px solid rgba(255,159,10,.24)!important;
  color:#ff7a00!important;
  border-radius:999px!important;
  padding:10px 12px!important;
  font-weight:1000!important;
}
.quote-actions{
  display:flex;
  align-items:center;
  gap:8px;
  justify-content:flex-end;
}
.quote-actions .btn{
  border-radius:999px!important;
  padding:8px 11px!important;
}
.quote-min-tip{
  margin-top:5px;
  color:#a04f04;
  font-size:12px;
  font-weight:900;
}
.quote-empty-card{
  padding:36px 18px;
  text-align:center;
  color:#708589;
  background:rgba(255,255,255,.68);
  border:1px dashed rgba(15,111,120,.20);
  border-radius:24px;
}
@media(max-width:1400px){
  .quote-editor-head,.quote-line{
    grid-template-columns:42px 145px minmax(220px,1.2fr) 135px 110px 120px minmax(220px,1fr) 104px;
  }
}
@media(max-width:1080px){
  .quote-editor-head{display:none}
  .quote-line{
    grid-template-columns:42px 1fr;
    gap:10px;
  }
  .quote-line .quote-cell label{display:block}
  .quote-index{align-items:flex-start;padding-top:8px}
  .quote-room-cat,.quote-project,.quote-qty,.quote-price,.quote-amount,.quote-note,.quote-actions{
    grid-column:2;
  }
  .quote-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .quote-editor-wrap{padding:12px}
  .quote-line{padding:12px;border-radius:22px}
  .quote-qty-pair{grid-template-columns:1fr 72px}
}


/* ：清理提示文案，并让置顶报价到房间视图后自动退场 */
.row-hint:empty,.quick-tip:empty,.keyboard-hint:empty{display:none!important}
.quote-dock.dock-hidden{
  opacity:0!important;
  transform:translateY(-18px)!important;
  pointer-events:none!important;
}
.quote-dock{
  transition:opacity .20s ease, transform .20s ease!important;
}


/* ：③房间视图进入可视区后，顶部已选报价立即退场 */
.quote-dock.dock-hidden{
  opacity:0!important;
  transform:translateY(-22px)!important;
  pointer-events:none!important;
}


/* V35：选择报价项目时，参考价格提前，并允许改价格/单位 */
.product-table{min-width:1220px!important}
.price-edit-head,.price-edit-cell{text-align:left!important}
.price-edit-box{
  display:grid;
  grid-template-columns:1fr 62px;
  gap:8px;
  align-items:center;
}
.price-edit-box input,.preview-price-box input{
  height:42px;
  border-radius:15px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.84);
  padding:0 10px;
  outline:none;
}
.price-edit-box input:focus,.preview-price-box input:focus{
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
  background:#fff;
}
.price-input{font-weight:1000;color:#ff7a00}
.unit-input{text-align:center;font-weight:900;color:#0f6f78}
.price-edit-hint{
  display:block;
  margin-top:6px;
  color:#7b8e91;
  font-size:12px;
  font-weight:800;
}
.preview-price-box{
  display:grid;
  grid-template-columns:1fr 72px;
  gap:8px;
  margin-bottom:8px;
}
.preview-price-box input{
  width:100%;
  text-align:center;
  font-weight:1000;
}
.preview-price-box #previewPriceInput{color:#ff7a00;font-size:22px}
.preview-price-box #previewUnitInput{color:#0f6f78}
.quick-add-cell{min-width:190px}
@media(max-width:900px){
  .product-table{min-width:1040px!important}
  .price-edit-box{grid-template-columns:1fr 58px}
}


/* V36：漏项提醒变成一键补充 */
.check-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
}
.check-msg{
  min-width:0;
}
.check-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.fix-btn{
  border:0;
  border-radius:999px;
  padding:8px 12px;
  background:linear-gradient(145deg,#0a84ff,#006edb);
  color:#fff;
  font-weight:1000;
  cursor:pointer;
  box-shadow:0 10px 22px rgba(10,132,255,.16);
  transition:transform .16s ease, box-shadow .16s ease;
  white-space:nowrap;
}
.fix-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(10,132,255,.24);
}
.fix-btn:active{
  transform:translateY(0) scale(.985);
}
.check-item.warn .fix-btn{
  background:linear-gradient(145deg,#ff9f0a,#e87512);
  box-shadow:0 10px 22px rgba(232,117,18,.18);
}
.check-item.warn .fix-btn:hover{
  box-shadow:0 14px 30px rgba(232,117,18,.25);
}
@media(max-width:760px){
  .check-item{
    grid-template-columns:1fr!important;
  }
  .check-actions{
    justify-content:flex-start;
  }
}


/* V37：单位改成点击选择，不再显示“米/平方/项”提示文字 */
.price-edit-hint{display:none!important}
.price-edit-box{
  grid-template-columns:1fr 74px!important;
}
.price-edit-box input,.price-edit-box select,.preview-price-box input,.preview-price-box select{
  height:42px;
  border-radius:15px;
  border:1px solid rgba(15,111,120,.13);
  background:rgba(255,255,255,.84);
  padding:0 10px;
  outline:none;
}
.price-edit-box select,.preview-price-box select{
  cursor:pointer;
  text-align:center;
  font-weight:1000;
  color:#0f6f78;
  appearance:auto;
}
.price-edit-box input:focus,.price-edit-box select:focus,.preview-price-box input:focus,.preview-price-box select:focus{
  border-color:rgba(10,132,255,.48);
  box-shadow:0 0 0 5px rgba(10,132,255,.11);
  background:#fff;
}
.preview-price-box{
  display:grid;
  grid-template-columns:1fr 82px!important;
  gap:8px;
  margin-bottom:8px;
}
.preview-price-box #previewPriceInput{
  color:#ff7a00;
  font-size:22px;
  font-weight:1000;
  text-align:center;
}


/* V37：PDF/打印报价单重新设计 */
@media print{
  @page{size:A4;margin:10mm}
  body{background:#fff!important;font-size:12px}
  body *{visibility:hidden!important}
  .print-area,.print-area *{visibility:visible!important}
  .print-area{display:block!important;position:absolute;left:0;top:0;width:100%;color:#17373b!important}
  .print-sheet{padding:0;font-family:"Microsoft YaHei",Arial,sans-serif}
  .print-hero{
    display:flex;justify-content:space-between;align-items:stretch;gap:18px;
    padding:16px 18px;border-radius:16px;
    background:linear-gradient(135deg,#0f4e55,#0b6972);color:#fff;
    margin-bottom:14px;
  }
  .print-kicker{font-size:12px;opacity:.86;letter-spacing:.08em}
  .print-title{font-size:28px;font-weight:1000;letter-spacing:1px;margin-top:4px}
  .print-sub{font-size:12px;opacity:.9;margin-top:6px}
  .print-total-card{
    min-width:170px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);
    border-radius:14px;padding:14px 16px;text-align:right;
  }
  .print-total-card span{display:block;font-size:12px;opacity:.82}
  .print-total-card b{display:block;font-size:24px;color:#ffdfad;margin-top:8px}
  .print-info{
    display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:14px;
  }
  .print-info div{
    border:1px solid #d7e6e7;border-radius:10px;background:#f8fbfb;
    padding:8px 10px;min-height:42px;
  }
  .print-info .wide{grid-column:1/-1}
  .print-info span{display:block;color:#6e8588;font-size:11px;margin-bottom:4px}
  .print-info b{font-size:12px;color:#17373b;font-weight:800}
  .print-table{width:100%;border-collapse:separate;border-spacing:0;margin-top:2px}
  .print-table thead th{
    background:#0f4e55;color:#fff;border:1px solid #0f4e55;
    padding:8px 6px;text-align:center;font-size:12px;
  }
  .print-table thead th:first-child{border-radius:10px 0 0 0}
  .print-table thead th:last-child{border-radius:0 10px 0 0}
  .print-table td{
    border-right:1px solid #d7e6e7;border-bottom:1px solid #d7e6e7;
    padding:7px 6px;vertical-align:top;line-height:1.45;background:#fff;
  }
  .print-table td:first-child{border-left:1px solid #d7e6e7;text-align:center;color:#607477}
  .print-table td:nth-child(4),.print-table td:nth-child(5){text-align:center}
  .print-table td:nth-child(6),.print-table td:nth-child(7){text-align:right;color:#d66e12;font-weight:800}
  .print-section td{
    background:#fff2e2!important;border:1px solid #f0c99f!important;color:#8a4b08!important;
    padding:8px 10px!important;
  }
  .print-section span{display:inline-block;background:#0f4e55;color:#fff;border-radius:999px;padding:3px 8px;margin-right:8px;font-weight:900}
  .print-section b{font-weight:1000}
  .print-section em{float:right;font-style:normal;font-weight:1000;color:#d66e12}
  .print-bottom{display:grid;grid-template-columns:1fr 280px;gap:14px;margin-top:14px;align-items:start}
  .print-note{
    border:1px solid #d7e6e7;border-radius:12px;background:#f8fbfb;padding:12px 14px;
    color:#40585b;line-height:1.7;
  }
  .print-note b{display:block;color:#0f4e55;margin-bottom:4px}
  .print-note p{margin:0}
  .print-total{width:100%;border-collapse:separate;border-spacing:0}
  .print-total td{border:1px solid #d7e6e7;border-bottom:0;padding:8px 10px;background:#fff}
  .print-total tr:first-child td:first-child{border-radius:10px 0 0 0}
  .print-total tr:first-child td:last-child{border-radius:0 10px 0 0}
  .print-total tr:last-child td{border-bottom:1px solid #d7e6e7}
  .print-total td:first-child{color:#607477}
  .print-total td:last-child{text-align:right;font-weight:900;color:#d66e12}
  .print-total .grand td{background:#0f4e55!important;color:#fff!important;border-color:#0f4e55!important;font-size:15px;font-weight:1000}
  .print-total .grand td:last-child{color:#ffdfad!important;font-size:18px}
  .print-sign{display:flex;justify-content:space-between;margin-top:22px;padding-top:12px;border-top:1px dashed #9fb6b8;color:#40585b}
  .no-print{display:none!important}
}


/* V38：点击项目只选择展示，不自动加入 */
.preview-row{cursor:pointer}
.preview-row.active-product td{
  background:rgba(10,132,255,.075)!important;
}
.hover-preview{
  border-color:rgba(10,132,255,.18)!important;
}
.preview-kicker{
  color:#0071e3!important;
  font-weight:1000!important;
}
.section-title .pill:empty{display:none!important}


/* V39：选中项目的玻璃质感、分类式高亮与动效 */
:root{
  --glass-bg: linear-gradient(180deg, rgba(255,255,255,.78), rgba(246,251,252,.66));
  --glass-line: rgba(255,255,255,.58);
  --glass-brand: rgba(15,111,120,.18);
  --select-blue: #0a84ff;
  --select-cyan: #0f6f78;
}
.preview-row{
  position:relative;
  transition:transform .18s ease, filter .18s ease;
}
.preview-row td{
  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.preview-row:hover{
  filter:saturate(1.03);
}
.preview-row.active-product{
  transform:translateY(-1px);
}
.preview-row.active-product td{
  background:var(--glass-bg)!important;
  border-top-color:rgba(15,111,120,.14)!important;
  border-bottom-color:rgba(15,111,120,.14)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.80),
    inset 0 -1px 0 rgba(255,255,255,.55),
    0 12px 24px rgba(15,111,120,.08);
  backdrop-filter:blur(10px) saturate(130%);
}
.preview-row.active-product td:first-child{
  border-left:3px solid rgba(15,111,120,.72)!important;
  border-top-left-radius:16px;
  border-bottom-left-radius:16px;
}
.preview-row.active-product td:last-child{
  border-top-right-radius:16px;
  border-bottom-right-radius:16px;
}
.preview-row.active-product .product-name{
  color:#0f4e55;
  font-weight:1000;
}
.preview-row.active-product .row-index{
  background:linear-gradient(135deg,#0f6f78,#0a84ff)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(10,132,255,.22);
}
.preview-row.active-product .product-sub::after{
  content:'已选择';
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:3px 10px;
  border-radius:999px;
  color:#0f4e55;
  font-size:12px;
  font-weight:1000;
  background:linear-gradient(180deg, rgba(255,255,255,.72), rgba(225,243,245,.70));
  border:1px solid rgba(15,111,120,.12);
  box-shadow:0 8px 16px rgba(15,111,120,.08);
}
.preview-row.active-product .quick-add-cell{
  position:relative;
}
.preview-row.active-product .quick-add-cell::before{
  content:'';
  position:absolute;
  inset:6px;
  border-radius:16px;
  border:1px solid rgba(10,132,255,.10);
  background:linear-gradient(135deg, rgba(10,132,255,.08), rgba(255,255,255,0));
  pointer-events:none;
}
.hover-preview,
#hoverPreview{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.56)!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(245,250,252,.60)),
    radial-gradient(circle at top right, rgba(10,132,255,.14), transparent 42%),
    radial-gradient(circle at bottom left, rgba(15,111,120,.12), transparent 40%)!important;
  box-shadow:
    0 16px 40px rgba(15,111,120,.12),
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -1px 0 rgba(255,255,255,.36);
  backdrop-filter:blur(18px) saturate(140%);
}
.hover-preview::before,
#hoverPreview::before{
  content:'';
  position:absolute;
  top:-34%;
  left:-22%;
  width:42%;
  height:190%;
  transform:rotate(18deg) translateX(-150%);
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity:.72;
  pointer-events:none;
}
.hover-preview.preview-glow::before,
#hoverPreview.preview-glow::before{
  animation:glassSweep .78s cubic-bezier(.25,.1,.2,1);
}
.hover-preview.preview-live,
#hoverPreview.preview-live{
  transform:translateY(-1px);
}
.preview-kicker{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(255,255,255,.76), rgba(229,241,243,.72));
  border:1px solid rgba(15,111,120,.12);
  box-shadow:0 10px 18px rgba(15,111,120,.08);
  color:#0f4e55!important;
  font-weight:1000!important;
  letter-spacing:.02em;
}
.preview-kicker::before{
  content:'●';
  color:#0a84ff;
  font-size:10px;
  text-shadow:0 0 10px rgba(10,132,255,.32);
}
#previewName{
  color:#17373b!important;
  font-size:26px!important;
  letter-spacing:.01em;
}
#previewNote{
  color:#5c7276!important;
  line-height:1.72!important;
}
.preview-price-box{
  padding:8px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(239,246,248,.74));
  border:1px solid rgba(15,111,120,.10);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.preview-actions .btn,
.quick-add-button{
  transition:transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.preview-actions .btn:hover,
.quick-add-button:hover{
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(10,132,255,.16);
}
.preview-actions .btn:active,
.quick-add-button:active{
  transform:translateY(0) scale(.985);
}
@keyframes glassSweep{
  0%{transform:rotate(18deg) translateX(-150%)}
  100%{transform:rotate(18deg) translateX(360%)}
}
@keyframes selectPop{
  0%{transform:translateY(4px) scale(.985); opacity:.88}
  100%{transform:translateY(0) scale(1); opacity:1}
}
.hover-preview.preview-glow,
#hoverPreview.preview-glow{
  animation:selectPop .30s ease-out;
}


/* V40：高端 SaaS / 报价系统选中行。取消上方界面，直接强化行内选中状态 */
#hoverPreview,.hover-preview{
  display:none!important;
}
.product-table{
  border-collapse:separate!important;
  border-spacing:0 8px!important;
  background:transparent!important;
}
.product-table thead th{
  border-bottom:0!important;
  background:linear-gradient(180deg,rgba(233,244,242,.96),rgba(244,249,249,.92))!important;
}
.product-table tbody tr{
  transition:transform .18s cubic-bezier(.2,.8,.2,1), filter .18s ease;
}
.product-table tbody tr td{
  border-bottom:0!important;
  border-top:1px solid rgba(15,111,120,.075)!important;
  border-bottom:1px solid rgba(15,111,120,.075)!important;
  background:rgba(255,255,255,.88)!important;
  transition:padding .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease, color .18s ease;
}
.product-table tbody tr td:first-child{
  border-left:1px solid rgba(15,111,120,.075)!important;
  border-radius:18px 0 0 18px!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid rgba(15,111,120,.075)!important;
  border-radius:0 18px 18px 0!important;
}
.product-table tbody tr:hover{
  transform:translateY(-1px);
}
.product-table tbody tr:hover td{
  background:rgba(250,253,253,.98)!important;
  border-color:rgba(15,111,120,.14)!important;
}
.product-table tbody tr.active-product{
  position:relative;
  transform:translateY(-2px) scale(1.012);
  z-index:5;
  filter:saturate(1.08);
}
.product-table tbody tr.active-product td{
  padding-top:18px!important;
  padding-bottom:18px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,251,252,.92))!important;
  border-top:1px solid rgba(10,132,255,.28)!important;
  border-bottom:1px solid rgba(10,132,255,.28)!important;
  box-shadow:
    0 18px 42px rgba(15,111,120,.14),
    0 8px 18px rgba(10,132,255,.08),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid #0a84ff!important;
  box-shadow:
    0 18px 42px rgba(15,111,120,.14),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(10,132,255,.28)!important;
}
.product-table tbody tr.active-product .product-name{
  font-size:19px!important;
  color:#0f4e55!important;
  letter-spacing:-.15px;
}
.product-table tbody tr.active-product .product-sub{
  color:#49666a!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:'';
  display:inline-flex;
  align-items:center;
  margin-left:8px;
  padding:4px 10px;
  border-radius:999px;
  background:linear-gradient(135deg,#0a84ff,#0f6f78);
  color:#fff;
  font-size:12px;
  font-weight:1000;
  box-shadow:0 8px 18px rgba(10,132,255,.22);
}
.product-table tbody tr.active-product .row-index{
  width:32px!important;
  height:32px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#0a84ff,#0f6f78)!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(10,132,255,.25);
}
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  padding:7px!important;
  border-radius:18px!important;
  background:rgba(240,248,250,.86)!important;
  border:1px solid rgba(10,132,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.86);
}
.product-table tbody tr.active-product .quick-add-button{
  background:linear-gradient(135deg,#0a84ff,#006edb)!important;
  box-shadow:0 10px 24px rgba(10,132,255,.22)!important;
}
.product-table tbody tr.active-product .product-note{
  color:#28464a!important;
  font-size:14.5px!important;
}
.product-table tbody tr.select-pop{
  animation:saasSelectPop .22s ease-out;
}
@keyframes saasSelectPop{
  0%{transform:translateY(2px) scale(.998)}
  100%{transform:translateY(-2px) scale(1.012)}
}
@media(max-width:900px){
  .product-table tbody tr.active-product{
    transform:translateY(-1px) scale(1.004);
  }
}


/* V41：整体 UI 更圆滑，倒角更大，Apple 风格更顺畅 */
:root{
  --ui-radius-xs: 14px;
  --ui-radius-sm: 18px;
  --ui-radius-md: 22px;
  --ui-radius-lg: 28px;
  --ui-radius-xl: 34px;
  --ui-shadow-soft: 0 10px 30px rgba(15,111,120,.08);
  --ui-shadow-soft-lg: 0 20px 50px rgba(15,111,120,.12);
  --ui-glass: linear-gradient(180deg, rgba(255,255,255,.90), rgba(246,250,251,.82));
  --ui-glass-2: linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,252,252,.92));
  --ui-border: rgba(15,111,120,.08);
  --ui-border-active: rgba(10,132,255,.18);
}

/* 整体圆润 */
.card, .section, .panel, .side-card, .summary-card, .meta-card, .dock-card,
.product-table-wrap, .quote-card, .quote-dock, .history-card, .empty,
input, select, textarea, button,
.cat-list .cat-btn, .room-tab, .combo-chip, .btn, .quick-add-button,
.price-edit-box, .quick-add-box, .info-box, .check-item, .pill{
  border-radius: var(--ui-radius-md)!important;
}

/* 顶部/卡片更柔和 */
.card, .panel, .section, .summary-card, .meta-card, .history-card, .quote-dock,
.product-area, .quote-area, .left-side, .right-side{
  box-shadow: var(--ui-shadow-soft)!important;
}

/* 输入控件更像 Apple */
input, select, textarea{
  border: 1px solid var(--ui-border)!important;
  background: var(--ui-glass)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 2px 10px rgba(15,111,120,.03)!important;
  transition:
    border-color .22s cubic-bezier(.2,.8,.2,1),
    box-shadow .22s cubic-bezier(.2,.8,.2,1),
    transform .22s cubic-bezier(.2,.8,.2,1),
    background .22s cubic-bezier(.2,.8,.2,1)!important;
}
input:focus, select:focus, textarea:focus{
  border-color: rgba(10,132,255,.30)!important;
  box-shadow:
    0 0 0 6px rgba(10,132,255,.10),
    inset 0 1px 0 rgba(255,255,255,.96),
    0 10px 24px rgba(10,132,255,.10)!important;
  background: rgba(255,255,255,.98)!important;
  transform: translateY(-1px);
}

/* 左侧分类：更圆滑、更像按钮群 */
.cat-list{
  gap: 12px!important;
}
.cat-list .cat-btn{
  border-radius: 22px!important;
  border: 1px solid rgba(15,111,120,.07)!important;
  background: var(--ui-glass)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.94),
    0 6px 18px rgba(15,111,120,.05)!important;
  transition:
    transform .24s cubic-bezier(.2,.8,.2,1),
    box-shadow .24s cubic-bezier(.2,.8,.2,1),
    background .24s cubic-bezier(.2,.8,.2,1),
    border-color .24s cubic-bezier(.2,.8,.2,1)!important;
}
.cat-list .cat-btn:hover{
  transform: translateY(-1px) scale(1.01);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 10px 24px rgba(15,111,120,.08)!important;
}
.cat-list .cat-btn.active,
.cat-list .cat-btn.current,
.cat-list .cat-btn.selected{
  border-color: rgba(10,132,255,.16)!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(241,248,250,.96))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 14px 28px rgba(10,132,255,.10)!important;
}

/* 产品表更圆润、间距更舒服 */
.product-table{
  border-collapse: separate!important;
  border-spacing: 0 10px!important;
}
.product-table thead th{
  border-radius: 18px!important;
  padding-top: 16px!important;
  padding-bottom: 16px!important;
  background:
    linear-gradient(180deg, rgba(240,247,247,.95), rgba(248,251,251,.92))!important;
  border: 1px solid rgba(15,111,120,.06)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 6px 16px rgba(15,111,120,.04)!important;
}
.product-table tbody tr{
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    filter .26s cubic-bezier(.22,1,.36,1),
    opacity .22s ease!important;
}
.product-table tbody tr td{
  background: var(--ui-glass-2)!important;
  border-top: 1px solid rgba(15,111,120,.06)!important;
  border-bottom: 1px solid rgba(15,111,120,.06)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.92),
    0 8px 18px rgba(15,111,120,.04)!important;
  transition:
    background .30s cubic-bezier(.22,1,.36,1),
    box-shadow .30s cubic-bezier(.22,1,.36,1),
    border-color .30s cubic-bezier(.22,1,.36,1),
    padding .30s cubic-bezier(.22,1,.36,1),
    transform .30s cubic-bezier(.22,1,.36,1)!important;
}
.product-table tbody tr td:first-child{
  border-left: 1px solid rgba(15,111,120,.06)!important;
  border-radius: 24px 0 0 24px!important;
}
.product-table tbody tr td:last-child{
  border-right: 1px solid rgba(15,111,120,.06)!important;
  border-radius: 0 24px 24px 0!important;
}
.product-table tbody tr:hover{
  transform: translateY(-2px) scale(1.004);
  filter: saturate(1.02);
}
.product-table tbody tr:hover td{
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,252,.96))!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 12px 26px rgba(15,111,120,.06)!important;
}

/* 当前选中项：更软、更高级，不那么硬朗 */
.product-table tbody tr.active-product{
  transform: translateY(-3px) scale(1.018);
  z-index: 7;
  filter: saturate(1.06);
}
.product-table tbody tr.active-product td{
  padding-top: 20px!important;
  padding-bottom: 20px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,249,251,.97))!important;
  border-top: 1px solid rgba(10,132,255,.18)!important;
  border-bottom: 1px solid rgba(10,132,255,.18)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 18px 38px rgba(10,132,255,.08),
    0 12px 26px rgba(15,111,120,.08)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left: 4px solid rgba(10,132,255,.88)!important;
  border-radius: 28px 0 0 28px!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right: 1px solid rgba(10,132,255,.18)!important;
  border-radius: 0 28px 28px 0!important;
}
.product-table tbody tr.active-product .product-name{
  font-size: 19px!important;
  line-height: 1.35!important;
  letter-spacing: -.02em;
  color: #103b41!important;
}
.product-table tbody tr.active-product .product-sub{
  color: #577276!important;
}
.product-table tbody tr.active-product .product-sub::after{
  border-radius: 999px!important;
  padding: 5px 12px!important;
  background:
    linear-gradient(135deg, rgba(10,132,255,.95), rgba(15,111,120,.95))!important;
  box-shadow: 0 10px 22px rgba(10,132,255,.16)!important;
}
.product-table tbody tr.active-product .row-index{
  width: 34px!important;
  height: 34px!important;
  border-radius: 14px!important;
  box-shadow: 0 12px 22px rgba(10,132,255,.18)!important;
}
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  padding: 8px!important;
  border-radius: 20px!important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(239,247,249,.90))!important;
  border: 1px solid rgba(10,132,255,.12)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.96),
    0 8px 18px rgba(10,132,255,.05)!important;
}

/* 加入按钮、通用按钮更圆、更丝滑 */
.btn, .quick-add-button, button{
  border-radius: 18px!important;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1),
    filter .24s cubic-bezier(.22,1,.36,1),
    background .24s cubic-bezier(.22,1,.36,1)!important;
}
.btn:hover, .quick-add-button:hover, button:hover{
  transform: translateY(-1px) scale(1.01);
  filter: saturate(1.02);
}
.btn:active, .quick-add-button:active, button:active{
  transform: translateY(0) scale(.988);
}
.quick-add-button{
  background: linear-gradient(135deg, #0a84ff, #0071e3)!important;
  box-shadow: 0 10px 20px rgba(10,132,255,.12)!important;
}

/* Numbers 式报价明细也更圆润 */
.quote-table, .detail-table, .numbers-table{
  border-collapse: separate!important;
  border-spacing: 0 8px!important;
}
.quote-table tr td, .detail-table tr td, .numbers-table tr td,
.quote-table tr th, .detail-table tr th, .numbers-table tr th{
  border-radius: 16px!important;
}

/* 更顺滑的选中动效 */
.product-table tbody tr.select-pop{
  animation: appleSelectPop .34s cubic-bezier(.22,1,.36,1);
}
@keyframes appleSelectPop{
  0%{
    transform: translateY(6px) scale(.992);
    opacity: .84;
  }
  60%{
    transform: translateY(-4px) scale(1.02);
    opacity: 1;
  }
  100%{
    transform: translateY(-3px) scale(1.018);
    opacity: 1;
  }
}

/* 小胶囊 / 标签更圆润 */
.pill, .chip, .tag, .picked-badge{
  border-radius: 999px!important;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(239,246,247,.90))!important;
  border: 1px solid rgba(15,111,120,.08)!important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.98), 0 6px 14px rgba(15,111,120,.04)!important;
}

/* 手机端也保持柔和，但不过度放大 */
@media(max-width:900px){
  .product-table tbody tr.active-product{
    transform: translateY(-2px) scale(1.008)!important;
  }
  .product-table tbody tr.active-product td{
    padding-top: 17px!important;
    padding-bottom: 17px!important;
  }
}


/* V43：更接近 Apple 系统界面的 Material / 玻璃层级，不做网页极简风 */
:root{
  --sys-blue:#0A84FF;
  --sys-blue-2:#5AC8FA;
  --sys-teal:#30D5C8;
  --sys-orange:#FF9F0A;
  --sys-ink:#152D34;
  --sys-sub:#6C7F86;
  --sys-panel:rgba(255,255,255,.66);
  --sys-panel-strong:rgba(255,255,255,.82);
  --sys-border:rgba(255,255,255,.55);
  --sys-hairline:rgba(20,66,74,.10);
}

/* 背景更像系统桌面/设置页底层，而不是网页白底 */
body{
  background:
    radial-gradient(circle at 8% 6%, rgba(90,200,250,.22), transparent 24%),
    radial-gradient(circle at 88% 12%, rgba(48,213,200,.16), transparent 26%),
    radial-gradient(circle at 72% 92%, rgba(255,159,10,.10), transparent 28%),
    linear-gradient(180deg,#F4F8FB 0%,#EEF5F8 48%,#F8FAFC 100%)!important;
  color:var(--sys-ink)!important;
}

/* 系统级半透明材质层 */
.card,.quote-dock,.product-toolbar,.category-side,.room-combo-panel,
.quote-section.card,.summary .card,.history-card,.room-view-card,
.product-table-wrap,.current-cat-bar,.quote-editor-wrap{
  background:
    linear-gradient(180deg,rgba(255,255,255,.74),rgba(255,255,255,.52))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:
    0 22px 54px rgba(26,62,70,.10),
    0 8px 20px rgba(26,62,70,.06),
    inset 0 1px 0 rgba(255,255,255,.82)!important;
  backdrop-filter: blur(28px) saturate(180%)!important;
  -webkit-backdrop-filter: blur(28px) saturate(180%)!important;
}

/* 统一更大的系统倒角 */
.card,.quote-dock,.product-toolbar,.category-side,.room-combo-panel,
.product-table-wrap,.current-cat-bar,.room-view-card,.quote-section.card{
  border-radius:32px!important;
}

/* 左侧报价分类：像系统侧边栏列表，带玻璃反光 */
.cat-list .cat-btn{
  position:relative;
  overflow:hidden;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(247,251,252,.56))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:
    0 10px 24px rgba(26,62,70,.06),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s cubic-bezier(.22,1,.36,1),
    background .28s cubic-bezier(.22,1,.36,1),
    border-color .28s cubic-bezier(.22,1,.36,1)!important;
}
.cat-list .cat-btn::before{
  content:'';
  position:absolute;
  left:-30%;
  top:-80%;
  width:55%;
  height:240%;
  transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);
  opacity:0;
  transition:opacity .24s ease,left .42s cubic-bezier(.22,1,.36,1);
}
.cat-list .cat-btn:hover{
  transform:translateY(-1px) scale(1.012);
  box-shadow:
    0 16px 34px rgba(26,62,70,.09),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.cat-list .cat-btn:hover::before{
  left:82%;
  opacity:.9;
}
.cat-list .cat-btn.active{
  color:#063D64!important;
  background:
    radial-gradient(circle at 16% 20%,rgba(90,200,250,.34),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.86),rgba(232,246,255,.66))!important;
  border-color:rgba(10,132,255,.22)!important;
  box-shadow:
    0 18px 42px rgba(10,132,255,.14),
    0 8px 18px rgba(26,62,70,.07),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.cat-list .cat-btn.active span{
  background:rgba(255,255,255,.62)!important;
  color:#0966B7!important;
  border:1px solid rgba(10,132,255,.12)!important;
}

/* 搜索栏和输入控件：系统输入框质感 */
input,select,textarea{
  border-radius:18px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,250,252,.76))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 4px 14px rgba(26,62,70,.04)!important;
  color:var(--sys-ink)!important;
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1),
    border-color .24s cubic-bezier(.22,1,.36,1)!important;
}
input:focus,select:focus,textarea:focus{
  transform:translateY(-1px);
  border-color:rgba(10,132,255,.26)!important;
  box-shadow:
    0 0 0 6px rgba(10,132,255,.10),
    0 12px 28px rgba(10,132,255,.10),
    inset 0 1px 0 rgba(255,255,255,.92)!important;
}

/* 产品表格变成系统里的“可操作列表卡片” */
.product-table{
  border-collapse:separate!important;
  border-spacing:0 12px!important;
  background:transparent!important;
}
.product-table thead th{
  border-radius:20px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.70),rgba(240,248,250,.55))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  color:#4E6871!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    0 8px 18px rgba(26,62,70,.04)!important;
}

/* 默认行：玻璃白、轻阴影 */
.product-table tbody tr{
  transition:
    transform .34s cubic-bezier(.22,1,.36,1),
    filter .30s ease,
    opacity .24s ease!important;
}
.product-table tbody tr td{
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,255,255,.58))!important;
  border-top:1px solid rgba(255,255,255,.62)!important;
  border-bottom:1px solid rgba(18,64,72,.06)!important;
  box-shadow:
    0 10px 24px rgba(26,62,70,.045),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
  transition:
    padding .34s cubic-bezier(.22,1,.36,1),
    background .34s cubic-bezier(.22,1,.36,1),
    box-shadow .34s cubic-bezier(.22,1,.36,1),
    border-color .34s cubic-bezier(.22,1,.36,1)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid rgba(255,255,255,.62)!important;
  border-radius:28px 0 0 28px!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid rgba(255,255,255,.62)!important;
  border-radius:0 28px 28px 0!important;
}
.product-table tbody tr:hover{
  transform:translateY(-2px) scale(1.006);
}
.product-table tbody tr:hover td{
  background:
    linear-gradient(180deg,rgba(255,255,255,.88),rgba(247,252,253,.70))!important;
  box-shadow:
    0 16px 34px rgba(26,62,70,.075),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}

/* 选中行：回到“有感觉”的玻璃高亮，但颜色有秩序 */
.product-table tbody tr.active-product{
  position:relative;
  z-index:8;
  transform:translateY(-4px) scale(1.018);
  filter:saturate(1.08);
}
.product-table tbody tr.active-product td{
  padding-top:22px!important;
  padding-bottom:22px!important;
  background:
    radial-gradient(circle at 8% 10%,rgba(90,200,250,.26),transparent 36%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(235,248,255,.72))!important;
  border-top:1px solid rgba(10,132,255,.18)!important;
  border-bottom:1px solid rgba(10,132,255,.16)!important;
  box-shadow:
    0 26px 58px rgba(10,132,255,.13),
    0 12px 28px rgba(26,62,70,.08),
    inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:5px solid rgba(10,132,255,.90)!important;
  border-radius:34px 0 0 34px!important;
}
.product-table tbody tr.active-product td:last-child{
  border-radius:0 34px 34px 0!important;
}
.product-table tbody tr.active-product .product-name{
  font-size:20px!important;
  color:#113846!important;
  letter-spacing:-.02em;
}
.product-table tbody tr.active-product .product-sub{
  color:#58717A!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:'';
  display:inline-flex;
  align-items:center;
  margin-left:9px;
  padding:5px 12px;
  border-radius:999px;
  color:#075EB0!important;
  font-size:12px;
  font-weight:1000;
  background:
    linear-gradient(180deg,rgba(255,255,255,.72),rgba(220,241,255,.64))!important;
  border:1px solid rgba(10,132,255,.16)!important;
  box-shadow:
    0 10px 22px rgba(10,132,255,.10),
    inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.product-table tbody tr.active-product .row-index{
  width:36px!important;
  height:36px!important;
  border-radius:16px!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.44),transparent 34%),
    linear-gradient(135deg,#0A84FF,#32B8F5)!important;
  color:#fff!important;
  box-shadow:
    0 14px 30px rgba(10,132,255,.22),
    inset 0 1px 0 rgba(255,255,255,.28)!important;
}

/* 选中行里的价格/数量变成 iOS 控制卡片感 */
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  padding:9px!important;
  border-radius:24px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.78),rgba(244,251,253,.62))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:
    0 12px 28px rgba(10,132,255,.08),
    inset 0 1px 0 rgba(255,255,255,.90)!important;
}

/* 价格允许有一点暖色，像系统里的强调色，不再单调 */
.price-input,
.product-table tbody tr.active-product .price-input{
  color:#D77200!important;
}
.product-table tbody tr.active-product .quick-add-button{
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.34),transparent 35%),
    linear-gradient(135deg,#0A84FF,#007AFF)!important;
  color:#fff!important;
  box-shadow:
    0 14px 30px rgba(10,132,255,.24),
    inset 0 1px 0 rgba(255,255,255,.28)!important;
}

/* 按钮：系统按钮，不像网页按钮 */
.btn,.quick-add-button,button{
  border-radius:20px!important;
  transition:
    transform .26s cubic-bezier(.22,1,.36,1),
    box-shadow .26s cubic-bezier(.22,1,.36,1),
    filter .26s ease!important;
}
.btn:hover,.quick-add-button:hover,button:hover{
  transform:translateY(-1px) scale(1.012);
  filter:saturate(1.04);
}
.btn:active,.quick-add-button:active,button:active{
  transform:translateY(0) scale(.985);
}

/* 胶囊、标签、房间按钮加入更真实的系统材质 */
.pill,.chip,.tag,.picked-badge,.room-tab,.combo-pill{
  background:
    linear-gradient(180deg,rgba(255,255,255,.76),rgba(245,250,252,.56))!important;
  border:1px solid rgba(255,255,255,.62)!important;
  box-shadow:
    0 8px 18px rgba(26,62,70,.05),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
}
.room-tab.active{
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.36),transparent 34%),
    linear-gradient(135deg,#0A84FF,#007AFF)!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(10,132,255,.20)!important;
}

/* 选中弹性动画更系统感 */
.product-table tbody tr.select-pop{
  animation:systemSelectPop .42s cubic-bezier(.18,1.15,.28,1);
}
@keyframes systemSelectPop{
  0%{transform:translateY(8px) scale(.992);opacity:.84}
  58%{transform:translateY(-5px) scale(1.022);opacity:1}
  100%{transform:translateY(-4px) scale(1.018);opacity:1}
}

/* 明细区域不要变得网页化 */
.quote-line,.room-card,.selected-table,.quote-editor-wrap{
  border-radius:30px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.72),rgba(248,251,252,.56))!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:
    0 16px 36px rgba(26,62,70,.07),
    inset 0 1px 0 rgba(255,255,255,.84)!important;
}


/* V44：互动颜色专业化。保留 Apple 系统材质，但统一交互色盘，避免点击后颜色乱跳 */
:root{
  --pro-bg-0:#F5F8FB;
  --pro-bg-1:#FFFFFF;
  --pro-bg-2:#F7FAFC;
  --pro-ink:#142D3A;
  --pro-ink-2:#2E4B59;
  --pro-muted:#667D89;
  --pro-line:rgba(20,45,58,.095);
  --pro-glass:rgba(255,255,255,.74);
  --pro-glass-strong:rgba(255,255,255,.88);
  --pro-blue:#0A84FF;
  --pro-blue-deep:#006FD6;
  --pro-blue-soft:rgba(10,132,255,.105);
  --pro-blue-line:rgba(10,132,255,.18);
  --pro-cyan:#64D2FF;
  --pro-cyan-soft:rgba(100,210,255,.13);
  --pro-amber:#B86B12;
  --pro-amber-soft:rgba(184,107,18,.10);
  --pro-shadow:0 14px 34px rgba(20,45,58,.075);
  --pro-shadow-active:0 24px 56px rgba(10,132,255,.13), 0 12px 26px rgba(20,45,58,.08);
}

/* 基础材质：背景允许有层次，但弱化彩色光斑，避免“花” */
body{
  background:
    radial-gradient(circle at 10% 8%, rgba(100,210,255,.14), transparent 28%),
    radial-gradient(circle at 88% 14%, rgba(10,132,255,.07), transparent 30%),
    linear-gradient(180deg,#F6F9FC 0%,#EEF5F8 48%,#F8FAFC 100%)!important;
  color:var(--pro-ink)!important;
}

/* 容器和卡片统一玻璃白，不再每块一个色 */
.card,.quote-dock,.product-toolbar,.category-side,.room-combo-panel,
.quote-section.card,.summary .card,.history-card,.room-view-card,
.product-table-wrap,.current-cat-bar,.quote-editor-wrap,.room-card,
.selected-table,.quote-line{
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(247,251,253,.66))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:var(--pro-shadow), inset 0 1px 0 rgba(255,255,255,.86)!important;
  backdrop-filter:blur(26px) saturate(160%)!important;
  -webkit-backdrop-filter:blur(26px) saturate(160%)!important;
}

/* 所有普通文字、说明文字统一，不使用蓝绿橙乱跳 */
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b{
  color:var(--pro-ink)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label{
  color:var(--pro-muted)!important;
}

/* 左侧分类：未选中是白灰，选中只用一套蓝色系统 */
.cat-list .cat-btn{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(248,251,253,.66))!important;
  color:var(--pro-ink-2)!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 8px 20px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.cat-list .cat-btn b{color:var(--pro-ink)!important}
.cat-list .cat-btn small{color:var(--pro-muted)!important}
.cat-list .cat-btn span{
  color:var(--pro-muted)!important;
  background:rgba(255,255,255,.58)!important;
  border:1px solid rgba(20,45,58,.055)!important;
}
.cat-list .cat-btn:hover{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(244,250,253,.76))!important;
  border-color:var(--pro-blue-line)!important;
  box-shadow:0 12px 26px rgba(20,45,58,.065), inset 0 1px 0 rgba(255,255,255,.92)!important;
}
.cat-list .cat-btn.active{
  color:var(--pro-blue-deep)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(239,247,255,.82))!important;
  border-color:var(--pro-blue-line)!important;
  box-shadow:0 16px 34px rgba(10,132,255,.105), inset 0 1px 0 rgba(255,255,255,.94)!important;
}
.cat-list .cat-btn.active b{color:var(--pro-blue-deep)!important}
.cat-list .cat-btn.active small{color:#526F83!important}
.cat-list .cat-btn.active span{
  color:var(--pro-blue-deep)!important;
  background:var(--pro-blue-soft)!important;
  border-color:var(--pro-blue-line)!important;
}

/* 房间、组合、标签：全部走蓝灰玻璃，不再出现随机暖色大块 */
.room-tab,.combo-pill,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  color:var(--pro-ink-2)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(247,251,253,.66))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.86)!important;
}
.room-tab:hover,.combo-pill:hover{
  border-color:var(--pro-blue-line)!important;
  box-shadow:0 12px 24px rgba(10,132,255,.075), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.room-tab.active{
  color:#fff!important;
  background:linear-gradient(180deg,var(--pro-blue),var(--pro-blue-deep))!important;
  border-color:rgba(255,255,255,.35)!important;
  box-shadow:0 16px 30px rgba(10,132,255,.20), inset 0 1px 0 rgba(255,255,255,.30)!important;
}

/* 产品列表表头和默认行：中性白灰 */
.product-table thead th{
  color:#516A77!important;
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(241,247,250,.68))!important;
  border:1px solid rgba(255,255,255,.62)!important;
}
.product-table tbody tr td{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(250,252,253,.68))!important;
  border-top:1px solid rgba(255,255,255,.64)!important;
  border-bottom:1px solid rgba(20,45,58,.055)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.04), inset 0 1px 0 rgba(255,255,255,.88)!important;
}
.product-table tbody tr:hover td{
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,251,253,.74))!important;
  border-color:rgba(10,132,255,.105)!important;
  box-shadow:0 14px 28px rgba(20,45,58,.06), inset 0 1px 0 rgba(255,255,255,.92)!important;
}

/* 关键：选中行只用“蓝 + 白玻璃 + 一点浅青光”，不再出现橙、绿、大面积混色 */
.product-table tbody tr.active-product td{
  background:
    radial-gradient(circle at 7% 12%, rgba(100,210,255,.18), transparent 34%),
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(239,247,255,.78))!important;
  border-top:1px solid var(--pro-blue-line)!important;
  border-bottom:1px solid var(--pro-blue-line)!important;
  box-shadow:var(--pro-shadow-active), inset 0 1px 0 rgba(255,255,255,.96)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:5px solid var(--pro-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid var(--pro-blue-line)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--pro-ink)!important;
}
.product-table tbody tr.active-product .product-sub{
  color:#526F83!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:'';
  color:var(--pro-blue-deep)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.80),rgba(229,242,255,.70))!important;
  border:1px solid var(--pro-blue-line)!important;
  box-shadow:0 8px 18px rgba(10,132,255,.09), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.product-table tbody tr.active-product .row-index{
  background:
    radial-gradient(circle at 30% 18%,rgba(255,255,255,.38),transparent 34%),
    linear-gradient(180deg,var(--pro-blue),var(--pro-blue-deep))!important;
  color:#fff!important;
  box-shadow:0 12px 24px rgba(10,132,255,.18), inset 0 1px 0 rgba(255,255,255,.28)!important;
}

/* 价格/单位/数量卡：保持玻璃白，不使用杂色背景 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(246,251,253,.70))!important;
  border:1px solid rgba(255,255,255,.66)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.90)!important;
}
.price-input,.unit-input,.unit-select,.price-edit-box select,
.product-table tbody tr.active-product .price-input{
  color:var(--pro-ink)!important;
}
.price-input{
  color:#7A4A12!important; /* 价格保留一点专业暖棕，但不参与选中色彩 */
}

/* CTA按钮统一蓝色，不允许其他颜色抢戏 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  color:#fff!important;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.32),transparent 34%),
    linear-gradient(180deg,var(--pro-blue),var(--pro-blue-deep))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:0 12px 24px rgba(10,132,255,.18), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 16px 30px rgba(10,132,255,.22), inset 0 1px 0 rgba(255,255,255,.30)!important;
}

/* 次级按钮中性，避免红橙绿 */
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  color:var(--pro-ink-2)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.84),rgba(247,251,253,.68))!important;
  border:1px solid rgba(255,255,255,.64)!important;
  box-shadow:0 8px 18px rgba(20,45,58,.045), inset 0 1px 0 rgba(255,255,255,.88)!important;
}

/* 漏项提醒按钮保留提醒感，但降低橙色占比 */
.check-item.warn{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(255,249,242,.62))!important;
  border-color:rgba(184,107,18,.12)!important;
}
.check-item.warn .fix-btn{
  color:#7A4A12!important;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,245,232,.72))!important;
  border:1px solid rgba(184,107,18,.16)!important;
  box-shadow:0 8px 18px rgba(184,107,18,.08), inset 0 1px 0 rgba(255,255,255,.90)!important;
}

/* 顶部已选小表、房间视图、明细编辑：统一蓝灰，不乱入别的强调色 */
.selected-table .s-room,.room-card-head span,.room-card-row em,
.quote-editor-row .amount,.total-num,.money,.price-strong{
  color:#155C9D!important;
}
.selected-chip,.quote-editor-row,.room-card-row{
  background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(247,251,253,.62))!important;
  border-color:rgba(255,255,255,.58)!important;
}

/* 过渡速度统一，避免某些区域突兀 */
.cat-btn,.room-tab,.combo-pill,.product-table tbody tr,
.product-table tbody tr td,.quick-add-button,.btn,input,select{
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    box-shadow .28s cubic-bezier(.22,1,.36,1),
    background .28s cubic-bezier(.22,1,.36,1),
    border-color .28s cubic-bezier(.22,1,.36,1),
    color .20s ease!important;
}


/* V45：同一项目连续点击不重复播放动效，只有首次点击或切换项目时才动 */
.product-table tbody tr.active-product:not(.select-pop){
  animation:none!important;
}


/* V46：取消点击选中后的“”标签 */
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}


/* V46 final：强制隐藏所有选中行说明标签 */
.product-table tbody tr.active-product .product-sub::after,
.preview-row.active-product .product-sub::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
}


/* V47：高级配色 + 几何层级重做。该圆的圆，该方的方，不再全站大圆角 */
:root{
  --v47-bg:#F5F3EF;
  --v47-bg-2:#EEF2F4;
  --v47-panel:#FBFAF7;
  --v47-panel-2:#FFFFFF;
  --v47-ink:#1D252B;
  --v47-ink-2:#33434D;
  --v47-muted:#6E7A82;
  --v47-line:rgba(29,37,43,.12);
  --v47-line-soft:rgba(29,37,43,.075);
  --v47-blue:#1F6FAE;
  --v47-blue-2:#0A84FF;
  --v47-blue-soft:rgba(31,111,174,.10);
  --v47-teal:#2A8C90;
  --v47-warm:#A86920;
  --v47-shadow:0 12px 30px rgba(29,37,43,.08);
  --v47-shadow-strong:0 18px 42px rgba(29,37,43,.12);

  /* 几何层级 */
  --r-shell:22px;      /* 大容器 */
  --r-card:16px;       /* 普通卡片 */
  --r-list:10px;       /* 表格/列表行 */
  --r-control:10px;    /* 输入框按钮 */
  --r-chip:999px;      /* 标签胶囊 */
}

/* 背景：高级暖灰 + 冷灰光，不再彩色乱飘 */
body{
  background:
    radial-gradient(circle at 8% 6%, rgba(31,111,174,.075), transparent 26%),
    radial-gradient(circle at 86% 10%, rgba(42,140,144,.055), transparent 28%),
    linear-gradient(180deg,var(--v47-bg) 0%,#F8F7F4 42%,var(--v47-bg-2) 100%)!important;
  color:var(--v47-ink)!important;
}

/* 大外壳可以圆，但别圆得像玩具 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card{
  border-radius:var(--r-shell)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(249,248,245,.76))!important;
  border:1px solid rgba(255,255,255,.70)!important;
  box-shadow:var(--v47-shadow), inset 0 1px 0 rgba(255,255,255,.88)!important;
  backdrop-filter:blur(18px) saturate(145%)!important;
  -webkit-backdrop-filter:blur(18px) saturate(145%)!important;
}

/* 信息卡、功能块用中等圆角 */
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill{
  border-radius:var(--r-card)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(249,250,249,.78))!important;
  border:1px solid var(--v47-line-soft)!important;
  box-shadow:0 8px 22px rgba(29,37,43,.055)!important;
}

/* 左侧分类：像专业软件的导航项，不要全胶囊 */
.cat-list{
  gap:8px!important;
}
.cat-list .cat-btn{
  border-radius:12px!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(29,37,43,.08)!important;
  color:var(--v47-ink-2)!important;
  box-shadow:none!important;
  padding:13px 14px!important;
}
.cat-list .cat-btn:hover{
  background:#FFFFFF!important;
  border-color:rgba(31,111,174,.18)!important;
  transform:translateX(2px)!important;
  box-shadow:0 8px 18px rgba(29,37,43,.055)!important;
}
.cat-list .cat-btn.active{
  background:
    linear-gradient(90deg,rgba(31,111,174,.12),rgba(255,255,255,.92))!important;
  color:var(--v47-blue)!important;
  border-color:rgba(31,111,174,.22)!important;
  box-shadow:inset 3px 0 0 var(--v47-blue),0 8px 18px rgba(31,111,174,.08)!important;
}
.cat-list .cat-btn b{color:inherit!important}
.cat-list .cat-btn small{color:var(--v47-muted)!important}
.cat-list .cat-btn span{
  border-radius:8px!important;
  background:rgba(29,37,43,.045)!important;
  color:var(--v47-muted)!important;
  border:0!important;
}
.cat-list .cat-btn.active span{
  background:rgba(31,111,174,.10)!important;
  color:var(--v47-blue)!important;
}

/* 表格：表头要方整，列表行要微圆，不要全部大圆角 */
.product-table{
  border-collapse:separate!important;
  border-spacing:0 7px!important;
}
.product-table thead th{
  border-radius:6px!important;
  background:#E9EEF1!important;
  color:#40515B!important;
  border:1px solid rgba(29,37,43,.08)!important;
  box-shadow:none!important;
  padding:12px 14px!important;
}
.product-table tbody tr{
  transition:
    transform .24s cubic-bezier(.22,1,.36,1),
    box-shadow .24s cubic-bezier(.22,1,.36,1),
    filter .20s ease!important;
}
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid rgba(29,37,43,.07)!important;
  border-bottom:1px solid rgba(29,37,43,.07)!important;
  box-shadow:0 4px 12px rgba(29,37,43,.035)!important;
  padding:13px 14px!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid rgba(29,37,43,.07)!important;
  border-radius:var(--r-list) 0 0 var(--r-list)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid rgba(29,37,43,.07)!important;
  border-radius:0 var(--r-list) var(--r-list) 0!important;
}
.product-table tbody tr:hover{
  transform:translateY(-1px)!important;
}
.product-table tbody tr:hover td{
  background:#FBFCFD!important;
  border-color:rgba(31,111,174,.13)!important;
  box-shadow:0 9px 22px rgba(29,37,43,.06)!important;
}

/* 选中状态：专业软件感，强调清晰但不花 */
.product-table tbody tr.active-product{
  transform:translateY(-2px) scale(1.006)!important;
  z-index:5!important;
  filter:none!important;
}
.product-table tbody tr.active-product td{
  padding-top:17px!important;
  padding-bottom:17px!important;
  background:
    linear-gradient(180deg,#FFFFFF 0%,#F3F8FC 100%)!important;
  border-top:1px solid rgba(31,111,174,.23)!important;
  border-bottom:1px solid rgba(31,111,174,.23)!important;
  box-shadow:0 16px 34px rgba(31,111,174,.10),0 8px 18px rgba(29,37,43,.06)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v47-blue)!important;
  border-radius:14px 0 0 14px!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(31,111,174,.23)!important;
  border-radius:0 14px 14px 0!important;
}
.product-table tbody tr.active-product .product-name{
  color:#1A303B!important;
  font-size:18px!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}
.product-table tbody tr.active-product .row-index{
  width:30px!important;
  height:30px!important;
  border-radius:9px!important;
  background:var(--v47-blue)!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(31,111,174,.16)!important;
}

/* 价格/数量操作区：小控件可以圆，但保持方整 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  border-radius:12px!important;
  background:#F6F8FA!important;
  border:1px solid rgba(29,37,43,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
  padding:6px!important;
}

/* 输入和下拉：标准系统控件，不要大圆 */
input,select,textarea{
  border-radius:var(--r-control)!important;
  background:#FFFFFF!important;
  color:var(--v47-ink)!important;
  border:1px solid rgba(29,37,43,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(31,111,174,.35)!important;
  box-shadow:0 0 0 4px rgba(31,111,174,.10)!important;
  transform:none!important;
}

/* 按钮：主按钮微圆，标签才用胶囊 */
.btn,.quick-add-button,button{
  border-radius:11px!important;
  transition:
    transform .20s cubic-bezier(.22,1,.36,1),
    box-shadow .20s cubic-bezier(.22,1,.36,1),
    background .20s ease!important;
}
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#2B7DBA,#1F6FAE)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 18px rgba(31,111,174,.16)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 24px rgba(31,111,174,.20)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v47-ink-2)!important;
  border:1px solid rgba(29,37,43,.11)!important;
  box-shadow:none!important;
}

/* 房间 tab / 小标签：这里可以圆，因为它们就是选择胶囊 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  border-radius:var(--r-chip)!important;
}
.room-tab{
  background:#FFFFFF!important;
  border:1px solid rgba(29,37,43,.10)!important;
  color:var(--v47-ink-2)!important;
  box-shadow:none!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#2B7DBA,#1F6FAE)!important;
  color:#fff!important;
  border-color:rgba(31,111,174,.25)!important;
  box-shadow:0 10px 22px rgba(31,111,174,.18)!important;
}

/* 组合卡、房间卡：中等圆角即可 */
.combo-pill,.room-card{
  border-radius:16px!important;
}
.combo-pill b{
  color:var(--v47-ink)!important;
}
.combo-pill span{
  color:var(--v47-muted)!important;
}

/* 金额和价格：用温和暖棕点缀，不要到处橙 */
.price-input{
  color:#80511A!important;
}
.money,.price-strong,.total-num,.room-card-head span,.room-card-row em{
  color:#80511A!important;
}

/* 顶部已选、明细编辑：更方整一些，像真正报价系统 */
.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  border-radius:10px!important;
}
.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid rgba(29,37,43,.08)!important;
  box-shadow:0 4px 12px rgba(29,37,43,.035)!important;
}

/* 漏项提醒：提醒要有区别，但控制饱和度 */
.check-item.warn{
  background:#FFF8EF!important;
  border:1px solid rgba(128,81,26,.16)!important;
}
.check-item.warn .fix-btn{
  background:#80511A!important;
  color:#fff!important;
  border-radius:10px!important;
  box-shadow:0 8px 18px rgba(128,81,26,.16)!important;
}

/* 动效更稳：减少漂浮感 */
.product-table tbody tr.select-pop{
  animation:v47Select .26s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v47Select{
  0%{transform:translateY(2px) scale(.998);opacity:.92}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}

/* 几个不该过圆的地方强制收回 */
.current-cat-bar,
.product-table-wrap,
.quote-editor-wrap{
  border-radius:12px!important;
}


/* V48：提高明度，清掉“脏灰感”。保留 V47 的几何层级，不再改形状 */
:root{
  --v48-bg:#F8FAFC;
  --v48-bg-cool:#F2F7FA;
  --v48-panel:#FFFFFF;
  --v48-panel-soft:#FBFDFE;
  --v48-ink:#17232B;
  --v48-ink-2:#2F4350;
  --v48-muted:#74828B;
  --v48-line:rgba(23,35,43,.085);
  --v48-line-light:rgba(23,35,43,.055);
  --v48-blue:#2479BD;
  --v48-blue-deep:#1769A8;
  --v48-blue-soft:rgba(36,121,189,.095);
  --v48-blue-line:rgba(36,121,189,.18);
  --v48-gold:#9A661C;
  --v48-gold-soft:rgba(154,102,28,.08);
  --v48-shadow:0 10px 24px rgba(23,35,43,.055);
  --v48-shadow-active:0 16px 34px rgba(36,121,189,.115),0 8px 18px rgba(23,35,43,.05);
}

/* 背景抬亮：去掉过厚暖灰，保留一点冷白空气感 */
body{
  background:
    radial-gradient(circle at 8% 6%, rgba(36,121,189,.055), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(100,210,255,.045), transparent 30%),
    linear-gradient(180deg,#FAFBFC 0%,var(--v48-bg) 46%,var(--v48-bg-cool) 100%)!important;
  color:var(--v48-ink)!important;
}

/* 面板抬亮：白度提高、透明灰降低，减少玻璃叠灰 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill{
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFDFE 100%)!important;
  border:1px solid rgba(23,35,43,.065)!important;
  box-shadow:var(--v48-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题和说明提升清晰度 */
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v48-ink)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label{
  color:var(--v48-muted)!important;
}

/* 左侧分类：更亮、更干净 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v48-line-light)!important;
  color:var(--v48-ink-2)!important;
  box-shadow:0 4px 12px rgba(23,35,43,.032)!important;
}
.cat-list .cat-btn:hover{
  background:#FBFDFF!important;
  border-color:var(--v48-blue-line)!important;
  box-shadow:0 8px 18px rgba(23,35,43,.045)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,rgba(36,121,189,.095),#FFFFFF 78%)!important;
  color:var(--v48-blue-deep)!important;
  border-color:var(--v48-blue-line)!important;
  box-shadow:inset 3px 0 0 var(--v48-blue),0 8px 18px rgba(36,121,189,.07)!important;
}
.cat-list .cat-btn span{
  background:#F3F7FA!important;
  color:#6F7E88!important;
}
.cat-list .cat-btn.active span{
  background:#EAF4FC!important;
  color:var(--v48-blue-deep)!important;
}

/* 表格表头：从灰块改成干净浅蓝灰 */
.product-table thead th{
  background:#F2F7FA!important;
  color:#43535E!important;
  border:1px solid rgba(23,35,43,.065)!important;
  box-shadow:none!important;
}

/* 表格默认行：白度提高，边线更轻 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v48-line-light)!important;
  border-bottom:1px solid var(--v48-line-light)!important;
  box-shadow:0 3px 10px rgba(23,35,43,.025)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--v48-line-light)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--v48-line-light)!important;
}
.product-table tbody tr:hover td{
  background:#FCFEFF!important;
  border-color:rgba(36,121,189,.12)!important;
  box-shadow:0 8px 18px rgba(23,35,43,.04)!important;
}

/* 选中行：抬亮，不要浑浊蓝灰 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F5FAFE 100%)!important;
  border-top:1px solid rgba(36,121,189,.20)!important;
  border-bottom:1px solid rgba(36,121,189,.20)!important;
  box-shadow:var(--v48-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v48-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(36,121,189,.20)!important;
}
.product-table tbody tr.active-product .product-name{
  color:#172A34!important;
}
.product-table tbody tr.active-product .product-sub{
  color:#647682!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2B86CC,#2479BD)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(36,121,189,.14)!important;
}

/* 操作区、输入区：去灰，变干净白 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FBFD!important;
  border:1px solid rgba(23,35,43,.07)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.92)!important;
}
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v48-ink)!important;
  border:1px solid rgba(23,35,43,.12)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(36,121,189,.36)!important;
  box-shadow:0 0 0 4px rgba(36,121,189,.085)!important;
}

/* 按钮蓝色稍微提亮，更干净 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#2F88CE,#2479BD)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 18px rgba(36,121,189,.15)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 12px 24px rgba(36,121,189,.18)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v48-ink-2)!important;
  border:1px solid rgba(23,35,43,.10)!important;
}

/* 房间 tab / 标签：白底更亮 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid rgba(23,35,43,.075)!important;
  color:var(--v48-ink-2)!important;
  box-shadow:0 3px 10px rgba(23,35,43,.025)!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#2F88CE,#2479BD)!important;
  color:#fff!important;
  border-color:rgba(36,121,189,.24)!important;
  box-shadow:0 9px 18px rgba(36,121,189,.16)!important;
}

/* 金额暖色降低脏感：更亮、更清透的金棕 */
.price-input{
  color:var(--v48-gold)!important;
}
.money,.price-strong,.total-num,.room-card-head span,.room-card-row em{
  color:var(--v48-gold)!important;
}

/* 已选小表、明细编辑抬亮 */
.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid rgba(23,35,43,.07)!important;
  box-shadow:0 3px 10px rgba(23,35,43,.025)!important;
}

/* 漏项提醒：从脏黄变成干净浅米白 */
.check-item.warn{
  background:#FFFCF7!important;
  border:1px solid rgba(154,102,28,.13)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#A36D22,#8F5F1C)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(154,102,28,.13)!important;
}

/* 底部和区域留白处也提亮 */
.summary,.footer,.print-area{
  background:transparent!important;
}

/* 防止旧版深灰/脏灰覆盖回来 */
.product-table tr:nth-child(even) td{
  background:#FFFFFF!important;
}


/* V49：文字/底色冲突修正。提高文字对比，降低脏色叠加，整体更清爽 */
:root{
  --v49-bg:#F6F8FB;
  --v49-bg-soft:#EEF3F7;
  --v49-panel:#FFFFFF;
  --v49-panel-soft:#FAFCFE;
  --v49-header:#EEF4F8;
  --v49-ink:#18242D;
  --v49-title:#111C24;
  --v49-text:#24323C;
  --v49-sub:#5F6E7A;
  --v49-muted:#7A8792;
  --v49-line:rgba(24,36,45,.105);
  --v49-line-soft:rgba(24,36,45,.065);
  --v49-blue:#1E73B8;
  --v49-blue-deep:#155F99;
  --v49-blue-soft:#EFF7FF;
  --v49-blue-line:rgba(30,115,184,.20);
  --v49-warning:#9A6418;
  --v49-warning-bg:#FFF8ED;
  --v49-shadow:0 8px 20px rgba(24,36,45,.055);
  --v49-shadow-active:0 16px 34px rgba(30,115,184,.12),0 8px 18px rgba(24,36,45,.045);
}

/* 底色改成冷白灰，不用脏暖灰 */
body{
  background:
    linear-gradient(180deg,#FAFBFD 0%,var(--v49-bg) 52%,var(--v49-bg-soft) 100%)!important;
  color:var(--v49-text)!important;
}

/* 面板统一白，不再用透明灰叠加 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:var(--v49-panel)!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:var(--v49-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题、正文、说明统一文字层级 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3,
.brand h1{
  color:var(--v49-title)!important;
  text-shadow:none!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v49-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v49-sub)!important;
}
::placeholder{
  color:#94A0AA!important;
}

/* 基础信息区 label 更清楚，不再灰到糊 */
.field label,.mini-label{
  font-weight:800!important;
  color:#43515D!important;
  letter-spacing:.01em;
}

/* 左侧分类：文字深一点，底色纯净一点 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v49-line-soft)!important;
  color:var(--v49-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{
  color:var(--v49-title)!important;
}
.cat-list .cat-btn small{
  color:var(--v49-sub)!important;
}
.cat-list .cat-btn span{
  background:#F2F6F9!important;
  color:#5D6B76!important;
}
.cat-list .cat-btn:hover{
  background:#FCFEFF!important;
  border-color:var(--v49-blue-line)!important;
  box-shadow:0 8px 16px rgba(24,36,45,.045)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--v49-blue-soft),#FFFFFF 78%)!important;
  color:var(--v49-blue-deep)!important;
  border-color:var(--v49-blue-line)!important;
  box-shadow:inset 3px 0 0 var(--v49-blue),0 8px 16px rgba(30,115,184,.07)!important;
}
.cat-list .cat-btn.active b{
  color:var(--v49-blue-deep)!important;
}
.cat-list .cat-btn.active small{
  color:#506A7C!important;
}
.cat-list .cat-btn.active span{
  background:#E6F2FC!important;
  color:var(--v49-blue-deep)!important;
}

/* 表头使用干净浅蓝灰，文字更清楚 */
.product-table thead th,
.quote-editor-head{
  background:var(--v49-header)!important;
  color:#334450!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:none!important;
}

/* 表格行：纯白底，降低灰噪声 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v49-line-soft)!important;
  border-bottom:1px solid var(--v49-line-soft)!important;
  box-shadow:0 2px 8px rgba(24,36,45,.025)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--v49-line-soft)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--v49-line-soft)!important;
}
.product-table tbody tr:hover td{
  background:#FCFEFF!important;
  border-color:rgba(30,115,184,.13)!important;
  box-shadow:0 8px 18px rgba(24,36,45,.04)!important;
}

/* 选中行：浅蓝白，不要灰蓝脏底 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F3F9FE 100%)!important;
  border-top:1px solid rgba(30,115,184,.24)!important;
  border-bottom:1px solid rgba(30,115,184,.24)!important;
  box-shadow:var(--v49-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v49-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(30,115,184,.24)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v49-title)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#536878!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2E82C5,#1E73B8)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(30,115,184,.16)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 价格不再用偏脏暖棕，改成深蓝体系；警告才用暖色 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v49-blue-deep)!important;
}

/* 输入/选择/操作区纯白清爽 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FBFD!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95)!important;
}
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v49-text)!important;
  border:1px solid rgba(24,36,45,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(30,115,184,.40)!important;
  box-shadow:0 0 0 4px rgba(30,115,184,.09)!important;
}

/* 按钮：蓝色清爽，文字反差足 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#2E82C5,#1E73B8)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 18px rgba(30,115,184,.14)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 12px 22px rgba(30,115,184,.18)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v49-text)!important;
  border:1px solid rgba(24,36,45,.11)!important;
  box-shadow:none!important;
}

/* 房间 tab / 标签：白底黑字，选中蓝底白字 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v49-line-soft)!important;
  color:var(--v49-text)!important;
  box-shadow:none!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#2E82C5,#1E73B8)!important;
  color:#FFFFFF!important;
  border-color:rgba(30,115,184,.28)!important;
  box-shadow:0 8px 16px rgba(30,115,184,.15)!important;
}

/* 常用组合文案不要黄棕一片 */
.combo-pill b{
  color:var(--v49-title)!important;
}
.combo-pill span{
  color:var(--v49-sub)!important;
}

/* 已选小表、明细编辑：正文更清楚 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v49-line-soft)!important;
  box-shadow:0 2px 8px rgba(24,36,45,.025)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--v49-blue-deep)!important;
}

/* 漏项提醒保留暖色，但文字要干净 */
.check-item.warn{
  background:var(--v49-warning-bg)!important;
  border:1px solid rgba(154,100,24,.16)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#5C3A12!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#A66B1B,#8C5813)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 16px rgba(154,100,24,.12)!important;
}

/* 取消旧版可能残留的脏色块 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F3F9FE 100%)!important;
}

/* 避免段落在浅灰底上发糊 */
p,small,span,em{
  text-shadow:none!important;
}


/* V50：整体高级配色重构。深石墨 / 瓷白 / 雾蓝 / 香槟金 */
:root{
  --v50-graphite:#111820;
  --v50-graphite-2:#17212B;
  --v50-ink:#16202A;
  --v50-text:#26333E;
  --v50-sub:#66727D;
  --v50-muted:#8A95A0;

  --v50-bg:#F6F4EF;
  --v50-bg-2:#EEF3F6;
  --v50-panel:#FFFFFF;
  --v50-panel-soft:#FAFBFC;
  --v50-line:rgba(22,32,42,.10);
  --v50-line-soft:rgba(22,32,42,.065);

  --v50-blue:#2B6EA6;
  --v50-blue-deep:#1F5B8E;
  --v50-blue-soft:#EAF3FB;
  --v50-blue-line:rgba(43,110,166,.22);

  --v50-gold:#B98535;
  --v50-gold-deep:#8F6424;
  --v50-gold-soft:#FFF5E6;

  --v50-sage:#587B72;
  --v50-sage-soft:#EEF6F3;

  --v50-shadow:0 10px 26px rgba(17,24,32,.065);
  --v50-shadow-card:0 16px 36px rgba(17,24,32,.085);
  --v50-shadow-blue:0 16px 34px rgba(43,110,166,.16),0 8px 18px rgba(17,24,32,.06);
}

/* 背景：不再是普通网站白灰，改成瓷白 + 微冷雾蓝，干净但有层次 */
body{
  background:
    radial-gradient(circle at 8% 4%, rgba(43,110,166,.10), transparent 24%),
    radial-gradient(circle at 92% 10%, rgba(185,133,53,.075), transparent 28%),
    linear-gradient(180deg,#FBFAF7 0%,var(--v50-bg) 42%,var(--v50-bg-2) 100%)!important;
  color:var(--v50-text)!important;
}

/* 顶部变高级：深石墨导航，不再一片白 */
.header{
  background:
    linear-gradient(135deg,#0F161D 0%,#17212B 58%,#20303C 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 14px 34px rgba(17,24,32,.18)!important;
}
.header h1,.brand h1{
  color:#FFFFFF!important;
  letter-spacing:.01em!important;
}
.header p,.brand p{
  color:rgba(255,255,255,.66)!important;
}
.mark{
  background:
    linear-gradient(135deg,#F4D7A1 0%,#B98535 100%)!important;
  color:#17212B!important;
  box-shadow:0 10px 24px rgba(185,133,53,.22)!important;
}
.save-chip{
  background:rgba(255,255,255,.09)!important;
  color:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.12)!important;
}

/* 大卡片：瓷白面板 + 细线，不脏不廉价 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFCFD 100%)!important;
  border:1px solid var(--v50-line-soft)!important;
  box-shadow:var(--v50-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题系统：深石墨主文字，说明是蓝灰，不再灰扑扑 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v50-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v50-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v50-sub)!important;
}
::placeholder{
  color:#9AA3AC!important;
}

/* 基础信息区：标签更专业 */
.field label,.mini-label{
  font-weight:850!important;
  color:#4C5964!important;
}

/* 左侧分类：深石墨文字 + 雾蓝选中，更像软件导航 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v50-line-soft)!important;
  color:var(--v50-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{
  color:var(--v50-ink)!important;
}
.cat-list .cat-btn small{
  color:var(--v50-sub)!important;
}
.cat-list .cat-btn span{
  background:#F1F4F6!important;
  color:#65727D!important;
}
.cat-list .cat-btn:hover{
  background:#FCFDFE!important;
  border-color:var(--v50-blue-line)!important;
  box-shadow:0 8px 18px rgba(17,24,32,.05)!important;
}
.cat-list .cat-btn.active{
  background:
    linear-gradient(90deg,var(--v50-blue-soft) 0%,#FFFFFF 78%)!important;
  color:var(--v50-blue-deep)!important;
  border-color:var(--v50-blue-line)!important;
  box-shadow:inset 3px 0 0 var(--v50-blue),0 10px 22px rgba(43,110,166,.09)!important;
}
.cat-list .cat-btn.active b{
  color:var(--v50-blue-deep)!important;
}
.cat-list .cat-btn.active small{
  color:#536C7E!important;
}
.cat-list .cat-btn.active span{
  background:#DDECF7!important;
  color:var(--v50-blue-deep)!important;
}

/* 搜索区和基础输入：纯净，不用灰底压字 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v50-text)!important;
  border:1px solid rgba(22,32,42,.14)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(43,110,166,.44)!important;
  box-shadow:0 0 0 4px rgba(43,110,166,.10)!important;
}

/* 表头：雾蓝灰，商务感更强 */
.product-table thead th,
.quote-editor-head{
  background:#EAF0F4!important;
  color:#344451!important;
  border:1px solid rgba(22,32,42,.075)!important;
  box-shadow:none!important;
}

/* 表格行：瓷白底，不要普通灰块 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v50-line-soft)!important;
  border-bottom:1px solid var(--v50-line-soft)!important;
  box-shadow:0 3px 10px rgba(17,24,32,.028)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--v50-line-soft)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--v50-line-soft)!important;
}
.product-table tbody tr:hover td{
  background:#FCFEFF!important;
  border-color:rgba(43,110,166,.16)!important;
  box-shadow:0 10px 22px rgba(17,24,32,.05)!important;
}

/* 选中行：雾蓝高光 + 深蓝线，不花，但有高级感 */
.product-table tbody tr.active-product td{
  background:
    linear-gradient(180deg,#FFFFFF 0%,#F1F7FC 100%)!important;
  border-top:1px solid rgba(43,110,166,.26)!important;
  border-bottom:1px solid rgba(43,110,166,.26)!important;
  box-shadow:var(--v50-shadow-blue)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v50-blue)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(43,110,166,.26)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v50-ink)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#566B7A!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#347EB7,#2B6EA6)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(43,110,166,.18)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区：浅雾蓝底，像系统控件，不low */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F5F8FA!important;
  border:1px solid rgba(22,32,42,.075)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：低饱和深蓝，别用廉价亮蓝 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#347EB7,#246797)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 22px rgba(43,110,166,.16)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 14px 26px rgba(43,110,166,.21)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v50-text)!important;
  border:1px solid rgba(22,32,42,.12)!important;
  box-shadow:none!important;
}

/* 房间选择与标签：白底 + 雾蓝，不乱用色 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v50-line-soft)!important;
  color:var(--v50-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--v50-blue-line)!important;
  background:#FCFEFF!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#347EB7,#246797)!important;
  color:#FFFFFF!important;
  border-color:rgba(43,110,166,.30)!important;
  box-shadow:0 10px 20px rgba(43,110,166,.17)!important;
}

/* 金额：香槟金，只用于金额，形成高级点缀 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v50-gold-deep)!important;
}

/* 常用组合：别黄一片，保持商务白 */
.combo-pill b{
  color:var(--v50-ink)!important;
}
.combo-pill span{
  color:var(--v50-sub)!important;
}

/* 已选小表与明细：保持专业报价感 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v50-line-soft)!important;
  box-shadow:0 3px 10px rgba(17,24,32,.028)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--v50-blue-deep)!important;
}

/* 漏项提醒：香槟提示，不脏黄 */
.check-item.warn{
  background:#FFF8EC!important;
  border:1px solid rgba(185,133,53,.18)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#5C421D!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#B98535,#9B6D28)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 16px rgba(185,133,53,.14)!important;
}

/* 顶部已选报价小表，避免像普通网页表格 */
.selected-strip,.selected-chips{
  background:transparent!important;
}
.selected-title{
  color:#F2D6A0!important;
}

/* 标题中的强调胶囊更高级 */
.pill{
  color:#334451!important;
  background:#F5F7F8!important;
  border:1px solid rgba(22,32,42,.075)!important;
}

/* 偶数行不要再被旧样式染灰 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#F1F7FC 100%)!important;
}

/* 保留 V47 的几何判断：大容器圆、表格微圆、按钮微圆、标签胶囊 */
.current-cat-bar,
.product-table-wrap,
.quote-editor-wrap{
  border-radius:12px!important;
}
.product-table thead th{
  border-radius:6px!important;
}
.product-table tbody tr td:first-child{
  border-radius:10px 0 0 10px!important;
}
.product-table tbody tr td:last-child{
  border-radius:0 10px 10px 0!important;
}
.btn,.quick-add-button,button,input,select,textarea{
  border-radius:10px!important;
}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  border-radius:999px!important;
}

/* 悬浮与点击动作克制 */
.product-table tbody tr.select-pop{
  animation:v50Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v50Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V51：巢小小品牌配色版。去金属感，改成暖橙 / 奶白 / 木色 / 青灰 */
:root{
  --cxx-orange:#F47B20;
  --cxx-orange-deep:#D95F12;
  --cxx-orange-soft:#FFF2E8;
  --cxx-orange-line:rgba(244,123,32,.24);

  --cxx-cream:#FFF8EF;
  --cxx-cream-2:#FFF4E6;
  --cxx-paper:#FFFDF9;
  --cxx-white:#FFFFFF;

  --cxx-wood:#7A4E2D;
  --cxx-wood-2:#9A6437;
  --cxx-ink:#1F2A2D;
  --cxx-text:#314145;
  --cxx-sub:#6F7D7F;

  --cxx-teal:#2E7D7A;
  --cxx-teal-deep:#1F6764;
  --cxx-teal-soft:#EAF7F5;
  --cxx-teal-line:rgba(46,125,122,.20);

  --cxx-line:rgba(31,42,45,.10);
  --cxx-line-soft:rgba(31,42,45,.065);
  --cxx-shadow:0 10px 24px rgba(88,54,27,.065);
  --cxx-shadow-card:0 14px 32px rgba(88,54,27,.085);
  --cxx-shadow-orange:0 14px 30px rgba(244,123,32,.16),0 8px 18px rgba(88,54,27,.06);
}

/* 背景：奶油白 + 暖橙微光，不再金属深灰 */
body{
  background:
    radial-gradient(circle at 8% 5%, rgba(244,123,32,.11), transparent 28%),
    radial-gradient(circle at 92% 10%, rgba(46,125,122,.065), transparent 30%),
    linear-gradient(180deg,#FFFDF8 0%,#FFF8EF 42%,#F4F8F6 100%)!important;
  color:var(--cxx-text)!important;
}

/* 顶部：巢小小暖橙品牌感，去掉金属黑 */
.header{
  background:
    linear-gradient(135deg,#FFF8EF 0%,#FFE6D2 48%,#FFF4E6 100%)!important;
  border-bottom:1px solid rgba(244,123,32,.14)!important;
  box-shadow:0 12px 30px rgba(244,123,32,.12)!important;
}
.header h1,.brand h1{
  color:var(--cxx-ink)!important;
  letter-spacing:.01em!important;
}
.header p,.brand p{
  color:#7A5C45!important;
}
.mark{
  background:linear-gradient(135deg,#F47B20 0%,#FF9A3D 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 22px rgba(244,123,32,.24)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:#79583E!important;
  border:1px solid rgba(244,123,32,.18)!important;
}

/* 面板：纸张感、奶白感，适合装修报价，不要冷冰冰 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFFDF9 100%)!important;
  border:1px solid var(--cxx-line-soft)!important;
  box-shadow:var(--cxx-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 标题文字：温暖深墨色 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--cxx-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--cxx-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--cxx-sub)!important;
}
::placeholder{
  color:#A39A91!important;
}
.field label,.mini-label{
  font-weight:850!important;
  color:#6E5B4D!important;
}

/* 左侧分类：巢小小橙色为主，青绿色做专业辅助 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--cxx-line-soft)!important;
  color:var(--cxx-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{
  color:var(--cxx-ink)!important;
}
.cat-list .cat-btn small{
  color:var(--cxx-sub)!important;
}
.cat-list .cat-btn span{
  background:#FFF4E8!important;
  color:#8B5C38!important;
}
.cat-list .cat-btn:hover{
  background:#FFFDF9!important;
  border-color:var(--cxx-orange-line)!important;
  box-shadow:0 8px 18px rgba(244,123,32,.08)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--cxx-orange-soft) 0%,#FFFFFF 78%)!important;
  color:var(--cxx-orange-deep)!important;
  border-color:var(--cxx-orange-line)!important;
  box-shadow:inset 3px 0 0 var(--cxx-orange),0 10px 22px rgba(244,123,32,.11)!important;
}
.cat-list .cat-btn.active b{
  color:var(--cxx-orange-deep)!important;
}
.cat-list .cat-btn.active small{
  color:#75614F!important;
}
.cat-list .cat-btn.active span{
  background:#FFE8D7!important;
  color:var(--cxx-orange-deep)!important;
}

/* 输入框：纸白底，边线温和 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--cxx-text)!important;
  border:1px solid rgba(31,42,45,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(244,123,32,.42)!important;
  box-shadow:0 0 0 4px rgba(244,123,32,.10)!important;
}

/* 表头：奶油浅橙，不脏不灰 */
.product-table thead th,
.quote-editor-head{
  background:#FFF1E4!important;
  color:#5A4535!important;
  border:1px solid rgba(244,123,32,.12)!important;
  box-shadow:none!important;
}

/* 表格行：白底，保持报价系统干净 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--cxx-line-soft)!important;
  border-bottom:1px solid var(--cxx-line-soft)!important;
  box-shadow:0 3px 10px rgba(88,54,27,.028)!important;
}
.product-table tbody tr td:first-child{
  border-left:1px solid var(--cxx-line-soft)!important;
}
.product-table tbody tr td:last-child{
  border-right:1px solid var(--cxx-line-soft)!important;
}
.product-table tbody tr:hover td{
  background:#FFFEFB!important;
  border-color:rgba(244,123,32,.16)!important;
  box-shadow:0 10px 22px rgba(88,54,27,.05)!important;
}

/* 选中行：巢小小暖橙高亮，干净、亲和、有品牌感 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EC 100%)!important;
  border-top:1px solid rgba(244,123,32,.28)!important;
  border-bottom:1px solid rgba(244,123,32,.28)!important;
  box-shadow:var(--cxx-shadow-orange)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--cxx-orange)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(244,123,32,.28)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--cxx-ink)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#6C625A!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#FF9442,#F47B20)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(244,123,32,.20)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区：浅奶油，不脏 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#FFF9F2!important;
  border:1px solid rgba(244,123,32,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：巢小小橙色，温暖有识别度 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#FF9442,#F47B20)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 22px rgba(244,123,32,.20)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 14px 26px rgba(244,123,32,.24)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--cxx-text)!important;
  border:1px solid rgba(31,42,45,.12)!important;
  box-shadow:none!important;
}

/* 房间选择：橙色品牌主导，青绿色作为房间/空间辅助 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--cxx-line-soft)!important;
  color:var(--cxx-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--cxx-orange-line)!important;
  background:#FFFDF9!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#FF9442,#F47B20)!important;
  color:#FFFFFF!important;
  border-color:rgba(244,123,32,.30)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.20)!important;
}

/* 金额：不再金属，改木色/深橙，更适合装修 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--cxx-wood)!important;
}

/* 常用组合：轻橙纸张感 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FFF9F2)!important;
  border-color:rgba(244,123,32,.12)!important;
}
.combo-pill b{
  color:var(--cxx-ink)!important;
}
.combo-pill span{
  color:var(--cxx-sub)!important;
}

/* 已选小表与明细：保持干净 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--cxx-line-soft)!important;
  box-shadow:0 3px 10px rgba(88,54,27,.028)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--cxx-teal-deep)!important;
}

/* 漏项提醒：用青绿辅助，代表“补充/检查”，不再金属 */
.check-item.warn{
  background:#F2FAF7!important;
  border:1px solid rgba(46,125,122,.18)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#285955!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#34918D,#2E7D7A)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 16px rgba(46,125,122,.16)!important;
}

/* 顶部已选报价小表 */
.selected-title{
  color:var(--cxx-wood)!important;
}
.pill{
  color:#5D4C3F!important;
  background:#FFF7EF!important;
  border:1px solid rgba(244,123,32,.12)!important;
}

/* 偶数行不要被旧样式染灰 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EC 100%)!important;
}

/* 保留几何层级 */
.current-cat-bar,
.product-table-wrap,
.quote-editor-wrap{
  border-radius:12px!important;
}
.product-table thead th{
  border-radius:6px!important;
}
.product-table tbody tr td:first-child{
  border-radius:10px 0 0 10px!important;
}
.product-table tbody tr td:last-child{
  border-radius:0 10px 10px 0!important;
}
.btn,.quick-add-button,button,input,select,textarea{
  border-radius:10px!important;
}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  border-radius:999px!important;
}

/* 选中动画继续克制 */
.product-table tbody tr.select-pop{
  animation:v51Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v51Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V52：巢小小公司基础色版
   基础色逻辑：
   1. 主色：巢小小橙，负责品牌识别、按钮、选中、重点金额
   2. 辅助色：深青蓝，负责检查、房间、理性功能区
   3. 中性色：瓷白、暖白、炭黑，负责底色和文字
   4. 删除木色/金属色/香槟金这类非基础色，避免偏离公司品牌
*/
:root{
  --brand-primary:#F47B20;
  --brand-primary-deep:#E86616;
  --brand-primary-dark:#B94D0E;
  --brand-primary-soft:#FFF1E6;
  --brand-primary-light:#FFF8F2;
  --brand-primary-line:rgba(244,123,32,.24);

  --brand-secondary:#1F6F78;
  --brand-secondary-deep:#155760;
  --brand-secondary-soft:#EAF6F6;
  --brand-secondary-line:rgba(31,111,120,.20);

  --brand-bg:#FFF9F3;
  --brand-bg-2:#F7FAF8;
  --brand-panel:#FFFFFF;
  --brand-panel-soft:#FFFEFB;

  --brand-ink:#202426;
  --brand-text:#324044;
  --brand-sub:#6F7C7F;
  --brand-muted:#9BA3A5;

  --brand-line:rgba(32,36,38,.10);
  --brand-line-soft:rgba(32,36,38,.065);
  --brand-shadow:0 10px 24px rgba(62,42,28,.055);
  --brand-shadow-hover:0 12px 28px rgba(62,42,28,.075);
  --brand-shadow-active:0 16px 34px rgba(244,123,32,.14),0 8px 18px rgba(62,42,28,.06);
}

/* 整体底色：公司暖橙体系，但保持干净 */
body{
  background:
    radial-gradient(circle at 8% 4%, rgba(244,123,32,.09), transparent 26%),
    radial-gradient(circle at 92% 8%, rgba(31,111,120,.055), transparent 28%),
    linear-gradient(180deg,#FFFDF9 0%,var(--brand-bg) 48%,var(--brand-bg-2) 100%)!important;
  color:var(--brand-text)!important;
}

/* 顶部：公司基础色，而不是金属深色 */
.header{
  background:
    linear-gradient(135deg,#FFFFFF 0%,#FFF0E5 52%,#FFF8F2 100%)!important;
  border-bottom:1px solid var(--brand-primary-line)!important;
  box-shadow:0 12px 28px rgba(244,123,32,.10)!important;
}
.header h1,.brand h1{
  color:var(--brand-ink)!important;
}
.header p,.brand p{
  color:#765D4A!important;
}
.mark{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 22px rgba(244,123,32,.22)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:#765D4A!important;
  border:1px solid var(--brand-primary-line)!important;
}

/* 面板：白色为主，暖白轻过渡 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--brand-panel) 0%,var(--brand-panel-soft) 100%)!important;
  border:1px solid var(--brand-line-soft)!important;
  box-shadow:var(--brand-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字层级 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--brand-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--brand-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--brand-sub)!important;
}
::placeholder{
  color:var(--brand-muted)!important;
}
.field label,.mini-label{
  font-weight:850!important;
  color:#64564D!important;
}

/* 左侧分类：公司橙做选中，默认干净白 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--brand-line-soft)!important;
  color:var(--brand-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{color:var(--brand-ink)!important}
.cat-list .cat-btn small{color:var(--brand-sub)!important}
.cat-list .cat-btn span{
  background:var(--brand-primary-light)!important;
  color:#7A5B44!important;
}
.cat-list .cat-btn:hover{
  background:#FFFDF9!important;
  border-color:var(--brand-primary-line)!important;
  box-shadow:var(--brand-shadow-hover)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--brand-primary-soft) 0%,#FFFFFF 78%)!important;
  color:var(--brand-primary-deep)!important;
  border-color:var(--brand-primary-line)!important;
  box-shadow:inset 3px 0 0 var(--brand-primary),0 10px 22px rgba(244,123,32,.10)!important;
}
.cat-list .cat-btn.active b{color:var(--brand-primary-deep)!important}
.cat-list .cat-btn.active small{color:#765D4A!important}
.cat-list .cat-btn.active span{
  background:#FFE2CD!important;
  color:var(--brand-primary-dark)!important;
}

/* 输入控件 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--brand-text)!important;
  border:1px solid rgba(32,36,38,.13)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(244,123,32,.42)!important;
  box-shadow:0 0 0 4px rgba(244,123,32,.10)!important;
}

/* 表头：浅橙纸张感 */
.product-table thead th,
.quote-editor-head{
  background:var(--brand-primary-light)!important;
  color:#5E4A3C!important;
  border:1px solid rgba(244,123,32,.13)!important;
  box-shadow:none!important;
}

/* 表格行 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--brand-line-soft)!important;
  border-bottom:1px solid var(--brand-line-soft)!important;
  box-shadow:0 3px 10px rgba(62,42,28,.025)!important;
}
.product-table tbody tr td:first-child{border-left:1px solid var(--brand-line-soft)!important}
.product-table tbody tr td:last-child{border-right:1px solid var(--brand-line-soft)!important}
.product-table tbody tr:hover td{
  background:#FFFDF9!important;
  border-color:rgba(244,123,32,.16)!important;
  box-shadow:var(--brand-shadow-hover)!important;
}

/* 选中行：只用公司橙 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF4EA 100%)!important;
  border-top:1px solid rgba(244,123,32,.28)!important;
  border-bottom:1px solid rgba(244,123,32,.28)!important;
  box-shadow:var(--brand-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--brand-primary)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(244,123,32,.28)!important;
}
.product-table tbody tr.active-product .product-name{color:var(--brand-ink)!important}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{color:#6D615B!important}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(244,123,32,.18)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#FFF9F2!important;
  border:1px solid rgba(244,123,32,.12)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：公司橙 */
.quick-add-button,.btn.orange,.btn.primary,button.primary{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 22px rgba(244,123,32,.20)!important;
}
.quick-add-button:hover,.btn.orange:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 14px 26px rgba(244,123,32,.24)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--brand-text)!important;
  border:1px solid rgba(32,36,38,.12)!important;
  box-shadow:none!important;
}

/* 房间/标签：默认白，选中公司橙；检查类另用青蓝 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--brand-line-soft)!important;
  color:var(--brand-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--brand-primary-line)!important;
  background:#FFFDF9!important;
}
.room-tab.active{
  background:linear-gradient(180deg,#FF9344,var(--brand-primary))!important;
  color:#FFFFFF!important;
  border-color:rgba(244,123,32,.30)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.18)!important;
}

/* 金额：回到公司主橙深色，不用木色、金色 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--brand-primary-dark)!important;
}

/* 常用组合 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FFF9F2)!important;
  border-color:rgba(244,123,32,.12)!important;
}
.combo-pill b{color:var(--brand-ink)!important}
.combo-pill span{color:var(--brand-sub)!important}

/* 已选小表与明细 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--brand-line-soft)!important;
  box-shadow:0 3px 10px rgba(62,42,28,.025)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--brand-secondary-deep)!important;
}

/* 漏项提醒：辅助色青蓝，表示检查/补充，不干扰主橙 */
.check-item.warn{
  background:var(--brand-secondary-soft)!important;
  border:1px solid var(--brand-secondary-line)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:var(--brand-secondary-deep)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#2E7D7A,var(--brand-secondary-deep))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 8px 16px rgba(31,111,120,.16)!important;
}

/* 顶部已选报价小表 */
.selected-title{
  color:var(--brand-primary-dark)!important;
}
.pill{
  color:#665247!important;
  background:#FFF7EF!important;
  border:1px solid rgba(244,123,32,.12)!important;
}

/* 偶数行不要被旧样式染灰 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF4EA 100%)!important;
}

/* 保留几何层级 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}
.product-table thead th{border-radius:6px!important}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}

/* 选中动画克制 */
.product-table tbody tr.select-pop{
  animation:v52Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v52Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V53：回到截图那种淡雾蓝配色
   核心方向：
   - 页面大底：浅雾蓝
   - 卡片/表格：白色 + 极浅蓝边
   - 主强调：青绿色（接近logo感觉）
   - 次强调：系统蓝（导出按钮）
   - 保留几何结构，不改功能
*/
:root{
  --v53-bg:#DDECF6;
  --v53-bg-2:#EAF4FA;
  --v53-surface:#FFFFFF;
  --v53-surface-soft:#F8FCFF;
  --v53-surface-2:#F2F8FC;

  --v53-ink:#163540;
  --v53-text:#294B58;
  --v53-sub:#6F8792;
  --v53-muted:#9AAAB2;

  --v53-line:rgba(67,117,141,.13);
  --v53-line-soft:rgba(67,117,141,.09);

  --v53-teal:#116E76;
  --v53-teal-2:#0E6067;
  --v53-teal-soft:#E7F5F4;
  --v53-teal-line:rgba(17,110,118,.20);

  --v53-blue:#1E88F5;
  --v53-blue-2:#1977DB;
  --v53-blue-soft:#EAF4FF;
  --v53-blue-line:rgba(30,136,245,.18);

  --v53-shadow:0 10px 26px rgba(39,92,122,.08);
  --v53-shadow-soft:0 6px 18px rgba(39,92,122,.05);
  --v53-shadow-active:0 14px 30px rgba(17,110,118,.14),0 8px 18px rgba(39,92,122,.06);
}

/* 页面背景回到截图的浅蓝大底 */
body{
  background:
    linear-gradient(180deg,#E7F2F8 0%, var(--v53-bg) 28%, var(--v53-bg-2) 100%)!important;
  color:var(--v53-text)!important;
}

/* 顶部 header：淡白灰蓝，跟截图一致 */
.header{
  background:linear-gradient(180deg,#F7FBFD 0%, #F0F6FA 100%)!important;
  border-bottom:1px solid rgba(67,117,141,.12)!important;
  box-shadow:0 6px 18px rgba(39,92,122,.06)!important;
}
.header h1,.brand h1{
  color:var(--v53-ink)!important;
}
.header p,.brand p{
  color:var(--v53-sub)!important;
}
.mark{
  background:linear-gradient(180deg,#1E8B8B,#116E76)!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 18px rgba(17,110,118,.18)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:var(--v53-sub)!important;
  border:1px solid var(--v53-line-soft)!important;
}

/* 大块面板：纯白 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--v53-surface) 0%, var(--v53-surface-soft) 100%)!important;
  border:1px solid var(--v53-line-soft)!important;
  box-shadow:var(--v53-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v53-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v53-text)!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v53-sub)!important;
}
::placeholder{
  color:var(--v53-muted)!important;
}
.field label,.mini-label{
  font-weight:800!important;
  color:#56707C!important;
}

/* 左侧分类：白底，选中是浅蓝+青绿 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v53-line-soft)!important;
  color:var(--v53-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{color:var(--v53-ink)!important}
.cat-list .cat-btn small{color:var(--v53-sub)!important}
.cat-list .cat-btn span{
  background:#EEF6FB!important;
  color:#5E7A87!important;
}
.cat-list .cat-btn:hover{
  background:#FBFEFF!important;
  border-color:var(--v53-blue-line)!important;
  box-shadow:var(--v53-shadow-soft)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,#EDF6FC 0%, #FFFFFF 82%)!important;
  color:var(--v53-teal)!important;
  border-color:rgba(17,110,118,.14)!important;
  box-shadow:inset 3px 0 0 var(--v53-blue), 0 8px 18px rgba(30,136,245,.06)!important;
}
.cat-list .cat-btn.active b{color:var(--v53-teal)!important}
.cat-list .cat-btn.active small{color:#6B848F!important}
.cat-list .cat-btn.active span{
  background:#DDEEFF!important;
  color:var(--v53-blue-2)!important;
}

/* 输入控件 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v53-text)!important;
  border:1px solid rgba(67,117,141,.14)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(30,136,245,.34)!important;
  box-shadow:0 0 0 4px rgba(30,136,245,.08)!important;
}

/* 表头：浅蓝灰 */
.product-table thead th,
.quote-editor-head{
  background:#F1F8FC!important;
  color:#55707D!important;
  border:1px solid rgba(67,117,141,.10)!important;
  box-shadow:none!important;
}

/* 表格行 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v53-line-soft)!important;
  border-bottom:1px solid var(--v53-line-soft)!important;
  box-shadow:0 3px 10px rgba(39,92,122,.024)!important;
}
.product-table tbody tr td:first-child{border-left:1px solid var(--v53-line-soft)!important}
.product-table tbody tr td:last-child{border-right:1px solid var(--v53-line-soft)!important}
.product-table tbody tr:hover td{
  background:#FBFEFF!important;
  border-color:rgba(30,136,245,.15)!important;
  box-shadow:var(--v53-shadow-soft)!important;
}

/* 项目选中：跟截图一样偏青绿深一点 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F2FBFB 100%)!important;
  border-top:1px solid rgba(17,110,118,.22)!important;
  border-bottom:1px solid rgba(17,110,118,.22)!important;
  box-shadow:var(--v53-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v53-teal)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(17,110,118,.22)!important;
}
.product-table tbody tr.active-product .product-name{color:var(--v53-ink)!important}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{color:#66808B!important}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#15939C,#116E76)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(17,110,118,.16)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important;
  display:none!important;
}

/* 操作区 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FCFE!important;
  border:1px solid rgba(67,117,141,.10)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 主按钮：系统蓝；某些确认/合计块用青绿 */
.quick-add-button,.btn.primary,button.primary{
  background:linear-gradient(180deg,var(--v53-blue),var(--v53-blue-2))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 8px 18px rgba(30,136,245,.18)!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover{
  box-shadow:0 12px 22px rgba(30,136,245,.22)!important;
}

/* 保留橙色按钮的类，但也改回蓝系，避免杂色 */
.btn.orange{
  background:linear-gradient(180deg,var(--v53-blue),var(--v53-blue-2))!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 8px 18px rgba(30,136,245,.18)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v53-text)!important;
  border:1px solid rgba(67,117,141,.12)!important;
  box-shadow:none!important;
}

/* 房间tab：默认白，选中蓝色；跟截图更接近 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v53-line-soft)!important;
  color:var(--v53-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--v53-blue-line)!important;
  background:#FBFEFF!important;
}
.room-tab.active{
  background:linear-gradient(180deg,var(--v53-blue),var(--v53-blue-2))!important;
  color:#FFFFFF!important;
  border-color:rgba(30,136,245,.28)!important;
  box-shadow:0 8px 16px rgba(30,136,245,.16)!important;
}

/* 金额：深青绿色，和截图上合计块接近 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v53-teal-2)!important;
}

/* 合计数据块 */
.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#167B84,#116E76)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.14)!important;
}
.total-card *, .stat-card *, .summary-card *, .amount-card *{
  color:#FFFFFF!important;
}

/* 常用组合 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FBFEFF)!important;
  border-color:rgba(67,117,141,.10)!important;
}
.combo-pill b{color:var(--v53-ink)!important}
.combo-pill span{color:var(--v53-sub)!important}

/* 已选清单明细 */
.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v53-line-soft)!important;
  box-shadow:0 3px 10px rgba(39,92,122,.024)!important;
}
.selected-table .s-room,.room-tag{
  color:var(--v53-teal)!important;
}

/* 漏项提醒：青绿色系 */
.check-item.warn{
  background:var(--v53-teal-soft)!important;
  border:1px solid var(--v53-teal-line)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:var(--v53-teal-2)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#15939C,#116E76)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 16px rgba(17,110,118,.16)!important;
}

/* 标题小胶囊 */
.selected-title{
  color:var(--v53-ink)!important;
}
.pill{
  color:#5B7886!important;
  background:#F3F8FC!important;
  border:1px solid rgba(67,117,141,.10)!important;
}

/* 偶数行保护 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F2FBFB 100%)!important;
}

/* 几何层级保留 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}
.product-table thead th{border-radius:6px!important}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}

/* 选中动画保持 */
.product-table tbody tr.select-pop{
  animation:v53Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v53Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V55：按用户截图视觉校准的精确配色版 */
:root{
  --v55-page:#DDEFFC;       /* 页面大底浅蓝 */
  --v55-page-2:#E7F3FA;     /* 页面渐变上层 */
  --v55-top:#F1F4F5;        /* 顶部条淡灰白 */
  --v55-card:#FFFFFF;       /* 卡片白 */
  --v55-card-soft:#FCFEFF;  /* 卡片轻过渡 */
  --v55-head:#EFF6FA;       /* 表头浅蓝灰 */
  --v55-panel:#F7FBFE;      /* 浅面板 */

  --v55-ink:#173844;        /* 主标题 / 深文字 */
  --v55-text:#2E4E5B;       /* 正文 */
  --v55-sub:#7B8F99;        /* 辅助说明 */
  --v55-muted:#A1AFB7;      /* placeholder */

  --v55-line:rgba(104,145,165,.14);
  --v55-line-soft:rgba(104,145,165,.08);

  --v55-teal:#116E76;       /* 品牌青绿 / 合计块 */
  --v55-teal-2:#0E6269;
  --v55-teal-soft:#EFF9F8;
  --v55-teal-line:rgba(17,110,118,.18);

  --v55-blue:#1D8BF7;       /* 导出 / tab 蓝 */
  --v55-blue-2:#0F78E3;
  --v55-blue-soft:#EAF4FF;
  --v55-blue-line:rgba(29,139,247,.18);

  --v55-pill:#DCEFFD;       /* 114项小胶囊 */
  --v55-pill-text:#2683E8;

  --v55-shadow:0 10px 24px rgba(65,108,130,.07);
  --v55-shadow-soft:0 6px 16px rgba(65,108,130,.045);
  --v55-shadow-active:0 14px 28px rgba(17,110,118,.12),0 8px 16px rgba(65,108,130,.05);
}

body{
  background:linear-gradient(180deg,var(--v55-page-2) 0%, var(--v55-page) 24%, #EAF4FA 100%)!important;
  color:var(--v55-text)!important;
}

/* 顶部 */
.header{
  background:linear-gradient(180deg,#F5F7F8 0%, var(--v55-top) 100%)!important;
  border-bottom:1px solid var(--v55-line-soft)!important;
  box-shadow:0 4px 14px rgba(65,108,130,.04)!important;
}
.header h1,.brand h1{color:var(--v55-ink)!important;}
.header p,.brand p{color:var(--v55-sub)!important;}
.mark{
  background:linear-gradient(180deg,#2A8A8D 0%, var(--v55-teal) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 16px rgba(17,110,118,.16)!important;
}
.save-chip{
  background:#FFFFFF!important;
  color:var(--v55-sub)!important;
  border:1px solid var(--v55-line-soft)!important;
}

/* 卡片 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--v55-card) 0%, var(--v55-card-soft) 100%)!important;
  border:1px solid var(--v55-line-soft)!important;
  box-shadow:var(--v55-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3{
  color:var(--v55-ink)!important;
}
body,p,td,th,label,input,select,textarea,button{color:var(--v55-text)!important;}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v55-sub)!important;
}
::placeholder{color:var(--v55-muted)!important;}
.field label,.mini-label{font-weight:800!important;color:#6D828C!important;}

/* 左侧分类 */
.cat-list .cat-btn{
  background:#FFFFFF!important;
  border:1px solid var(--v55-line-soft)!important;
  color:var(--v55-text)!important;
  box-shadow:none!important;
}
.cat-list .cat-btn b{color:var(--v55-ink)!important;}
.cat-list .cat-btn small{color:var(--v55-sub)!important;}
.cat-list .cat-btn span{
  background:#EEF6FB!important;
  color:#69818E!important;
}
.cat-list .cat-btn:hover{
  background:#FBFEFF!important;
  border-color:var(--v55-blue-line)!important;
  box-shadow:var(--v55-shadow-soft)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,#EEF7FD 0%, #FFFFFF 84%)!important;
  color:var(--v55-blue)!important;
  border-color:rgba(29,139,247,.13)!important;
  box-shadow:0 8px 18px rgba(29,139,247,.05)!important;
}
.cat-list .cat-btn.active b{color:var(--v55-blue)!important;}
.cat-list .cat-btn.active small{color:#728893!important;}
.cat-list .cat-btn.active span{
  background:var(--v55-pill)!important;
  color:var(--v55-pill-text)!important;
}

/* 输入控件 */
input,select,textarea{
  background:#FFFFFF!important;
  color:var(--v55-text)!important;
  border:1px solid rgba(104,145,165,.12)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(29,139,247,.30)!important;
  box-shadow:0 0 0 4px rgba(29,139,247,.07)!important;
}

/* 表头 */
.product-table thead th,
.quote-editor-head{
  background:var(--v55-head)!important;
  color:#68808C!important;
  border:1px solid rgba(104,145,165,.08)!important;
  box-shadow:none!important;
}

/* 表格行 */
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v55-line-soft)!important;
  border-bottom:1px solid var(--v55-line-soft)!important;
  box-shadow:0 2px 8px rgba(65,108,130,.02)!important;
}
.product-table tbody tr td:first-child{border-left:1px solid var(--v55-line-soft)!important;}
.product-table tbody tr td:last-child{border-right:1px solid var(--v55-line-soft)!important;}
.product-table tbody tr:hover td{
  background:#FBFEFF!important;
  border-color:rgba(29,139,247,.12)!important;
  box-shadow:var(--v55-shadow-soft)!important;
}

/* 选中行 */
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F1FAFA 100%)!important;
  border-top:1px solid rgba(17,110,118,.19)!important;
  border-bottom:1px solid rgba(17,110,118,.19)!important;
  box-shadow:var(--v55-shadow-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v55-teal)!important;
}
.product-table tbody tr.active-product td:last-child{
  border-right:1px solid rgba(17,110,118,.19)!important;
}
.product-table tbody tr.active-product .product-name{color:var(--v55-ink)!important;}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{color:#6C848F!important;}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v55-teal) 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(17,110,118,.14)!important;
}
.product-table tbody tr.active-product .product-sub::after{content:none!important;display:none!important;}

/* 操作区 */
.price-edit-box,.quick-add-box,
.product-table tbody tr.active-product .price-edit-box,
.product-table tbody tr.active-product .quick-add-box{
  background:#F8FCFE!important;
  border:1px solid rgba(104,145,165,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.94)!important;
}

/* 蓝色按钮 */
.quick-add-button,.btn.primary,button.primary,.btn.orange{
  background:linear-gradient(180deg,var(--v55-blue) 0%, var(--v55-blue-2) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 8px 18px rgba(29,139,247,.18)!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover,.btn.orange:hover{
  box-shadow:0 12px 22px rgba(29,139,247,.20)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:#FFFFFF!important;
  color:var(--v55-text)!important;
  border:1px solid rgba(104,145,165,.10)!important;
  box-shadow:none!important;
}

/* 房间 tab */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:#FFFFFF!important;
  border:1px solid var(--v55-line-soft)!important;
  color:var(--v55-text)!important;
  box-shadow:none!important;
}
.room-tab:hover{
  border-color:var(--v55-blue-line)!important;
  background:#FBFEFF!important;
}
.room-tab.active{
  background:linear-gradient(180deg,var(--v55-blue) 0%, var(--v55-blue-2) 100%)!important;
  color:#FFFFFF!important;
  border-color:rgba(29,139,247,.24)!important;
  box-shadow:0 8px 16px rgba(29,139,247,.14)!important;
}

/* 金额与合计 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total{
  color:var(--v55-teal)!important;
}
.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#2A8A8D 0%, var(--v55-teal) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.12)!important;
}
.total-card *, .stat-card *, .summary-card *, .amount-card *{color:#FFFFFF!important;}

/* 常用组合 / 已选 */
.combo-pill{
  background:linear-gradient(180deg,#FFFFFF,#FCFEFF)!important;
  border-color:rgba(104,145,165,.08)!important;
}
.combo-pill b{color:var(--v55-ink)!important;}
.combo-pill span{color:var(--v55-sub)!important;}

.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:#FFFFFF!important;
  border:1px solid var(--v55-line-soft)!important;
  box-shadow:0 2px 8px rgba(65,108,130,.02)!important;
}
.selected-table .s-room,.room-tag{color:var(--v55-teal)!important;}

/* 漏项提醒 */
.check-item.warn{
  background:var(--v55-teal-soft)!important;
  border:1px solid var(--v55-teal-line)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{color:var(--v55-teal-2)!important;}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v55-teal) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 8px 16px rgba(17,110,118,.14)!important;
}

.selected-title{color:var(--v55-ink)!important;}
.pill{
  color:#64808E!important;
  background:#F2F8FC!important;
  border:1px solid rgba(104,145,165,.08)!important;
}

.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{background:#FFFFFF!important;}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%, #F1FAFA 100%)!important;
}

/* 几何层级 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important;}
.product-table thead th{border-radius:6px!important;}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important;}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important;}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important;}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important;}

.product-table tbody tr.select-pop{
  animation:v55Select .24s cubic-bezier(.22,1,.36,1)!important;
}
@keyframes v55Select{
  0%{transform:translateY(2px) scale(.998);opacity:.94}
  100%{transform:translateY(-2px) scale(1.006);opacity:1}
}


/* V56：文字强调 + 玻璃质感增强 */
:root{
  --v56-page:#DDEFFC;
  --v56-page-2:#EAF4FB;
  --v56-card-glass:rgba(255,255,255,.74);
  --v56-card-glass-2:rgba(255,255,255,.58);
  --v56-card-border:rgba(255,255,255,.54);
  --v56-card-line:rgba(120,160,182,.18);
  --v56-ink:#143744;
  --v56-text:#31505D;
  --v56-sub:#708792;
  --v56-muted:#9EAFB8;
  --v56-teal:#116E76;
  --v56-teal-2:#0D5E64;
  --v56-blue:#1D8BF7;
  --v56-blue-2:#0F78E3;
  --v56-shadow:0 12px 30px rgba(69,111,132,.09), 0 2px 0 rgba(255,255,255,.55) inset;
  --v56-shadow-soft:0 8px 20px rgba(69,111,132,.055), 0 1px 0 rgba(255,255,255,.45) inset;
  --v56-shadow-active:0 16px 34px rgba(17,110,118,.12),0 10px 20px rgba(69,111,132,.06), 0 1px 0 rgba(255,255,255,.55) inset;
}

body{
  background:
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.48), transparent 20%),
    radial-gradient(circle at 78% 10%, rgba(255,255,255,.34), transparent 22%),
    linear-gradient(180deg,var(--v56-page-2) 0%, var(--v56-page) 26%, #EAF4FA 100%)!important;
  color:var(--v56-text)!important;
}

/* 顶部更像半透明玻璃 */
.header{
  background:linear-gradient(180deg, rgba(247,250,252,.82) 0%, rgba(239,245,247,.74) 100%)!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
  border-bottom:1px solid rgba(255,255,255,.62)!important;
  box-shadow:0 8px 24px rgba(69,111,132,.05), 0 1px 0 rgba(255,255,255,.72) inset!important;
}
.header h1,.brand h1{
  color:var(--v56-ink)!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}
.header p,.brand p{
  color:var(--v56-sub)!important;
  font-weight:600!important;
}
.mark{
  background:linear-gradient(180deg, #2A8A8D 0%, var(--v56-teal) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 20px rgba(17,110,118,.18)!important;
}
.save-chip{
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  color:var(--v56-sub)!important;
}

/* 卡片全部恢复玻璃感 */
.card,.quote-dock,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card,
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,
.check-item,.preset,.combo-pill,.selected-table,.selected-chip,.quote-editor-head,.quote-editor-row,.quote-line,.numbers-row{
  background:
    linear-gradient(180deg,var(--v56-card-glass) 0%, var(--v56-card-glass-2) 100%)!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  border:1px solid var(--v56-card-border)!important;
  box-shadow:var(--v56-shadow)!important;
}

/* 内层表格面板也带一点玻璃 */
.product-table-wrap,.quote-editor-wrap,.current-cat-bar,.product-toolbar{
  background:
    linear-gradient(180deg,rgba(255,255,255,.82) 0%, rgba(248,252,254,.7) 100%)!important;
}

/* 文字层级与强调 */
h1,h2,h3,
.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3,.selected-title{
  color:var(--v56-ink)!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}

body,p,td,th,label,input,select,textarea,button{
  color:var(--v56-text)!important;
}

.product-name{
  font-size:18px!important;
  font-weight:850!important;
}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,
.field label,.product-price span,.unit,.selected-empty{
  color:var(--v56-sub)!important;
}
.field label,.mini-label{
  color:#617681!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
}
::placeholder{
  color:var(--v56-muted)!important;
}

/* 重点数字、金额、统计强调 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total,
#rowCount,#rowCountTop,#directTotal,#grandTotal,#grandTotalSmall,#directTotalTop,#grandTotalTop{
  color:var(--v56-teal)!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.6)!important;
}

.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#2A8A8D 0%, var(--v56-teal) 100%)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 12px 24px rgba(17,110,118,.18)!important;
}
.total-card *, .stat-card *, .summary-card *, .amount-card *{
  color:#FFFFFF!important;
}

/* 左侧分类增强强调性 */
.cat-list .cat-btn{
  background:rgba(255,255,255,.76)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  border:1px solid rgba(255,255,255,.52)!important;
  box-shadow:0 6px 16px rgba(69,111,132,.04)!important;
}
.cat-list .cat-btn b{
  color:var(--v56-ink)!important;
  font-weight:850!important;
}
.cat-list .cat-btn small{
  color:var(--v56-sub)!important;
  font-weight:600!important;
}
.cat-list .cat-btn span{
  background:rgba(238,246,251,.94)!important;
  color:#66818E!important;
  font-weight:800!important;
}
.cat-list .cat-btn:hover{
  box-shadow:var(--v56-shadow-soft)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg, rgba(238,247,253,.9) 0%, rgba(255,255,255,.84) 84%)!important;
  border-color:rgba(53,154,235,.14)!important;
  box-shadow:0 10px 20px rgba(29,139,247,.06), 0 1px 0 rgba(255,255,255,.64) inset!important;
}
.cat-list .cat-btn.active b{
  color:var(--v56-blue)!important;
}
.cat-list .cat-btn.active span{
  color:#2683E8!important;
  background:#DCEFFD!important;
}

/* 输入区更干净 */
input,select,textarea{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(113,153,174,.14)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.64) inset!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(29,139,247,.30)!important;
  box-shadow:0 0 0 4px rgba(29,139,247,.08), 0 1px 0 rgba(255,255,255,.64) inset!important;
}

/* 表头和表格 */
.product-table thead th,
.quote-editor-head{
  background:linear-gradient(180deg,rgba(244,249,252,.88) 0%, rgba(239,246,250,.78) 100%)!important;
  color:#68808C!important;
  font-weight:800!important;
  border:1px solid rgba(124,163,183,.10)!important;
}
.product-table tbody tr td{
  background:rgba(255,255,255,.78)!important;
  border-top:1px solid rgba(124,163,183,.08)!important;
  border-bottom:1px solid rgba(124,163,183,.08)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.56) inset!important;
}
.product-table tbody tr:hover td{
  background:rgba(251,254,255,.92)!important;
  box-shadow:var(--v56-shadow-soft)!important;
}
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%, rgba(241,250,250,.86) 100%)!important;
  border-top:1px solid rgba(17,110,118,.20)!important;
  border-bottom:1px solid rgba(17,110,118,.20)!important;
  box-shadow:var(--v56-shadow-active)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v56-ink)!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v56-teal) 100%)!important;
  color:#fff!important;
  box-shadow:0 8px 16px rgba(17,110,118,.14)!important;
}

/* tab 和 pill 更有质感 */
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:rgba(255,255,255,.78)!important;
  border:1px solid rgba(255,255,255,.54)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  box-shadow:0 4px 12px rgba(69,111,132,.04)!important;
}
.room-tab{
  font-weight:800!important;
}
.room-tab.active{
  background:linear-gradient(180deg,var(--v56-blue) 0%, var(--v56-blue-2) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 10px 18px rgba(29,139,247,.18)!important;
}
.pill{
  color:#64808E!important;
  font-weight:800!important;
  background:rgba(242,248,252,.88)!important;
}

/* 按钮更有质感 */
.quick-add-button,.btn.primary,button.primary,.btn.orange{
  background:linear-gradient(180deg,var(--v56-blue) 0%, var(--v56-blue-2) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  border:1px solid rgba(255,255,255,.24)!important;
  box-shadow:0 10px 20px rgba(29,139,247,.18), 0 1px 0 rgba(255,255,255,.28) inset!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover,.btn.orange:hover{
  box-shadow:0 14px 24px rgba(29,139,247,.22), 0 1px 0 rgba(255,255,255,.28) inset!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost{
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

/* 已选清单、常用组合、漏项提醒 */
.combo-pill,.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,rgba(255,255,255,.82) 0%, rgba(252,254,255,.7) 100%)!important;
}
.combo-pill b,.selected-title{
  color:var(--v56-ink)!important;
  font-weight:850!important;
}
.combo-pill span{
  color:var(--v56-sub)!important;
}
.check-item.warn{
  background:linear-gradient(180deg,rgba(239,249,248,.86) 0%, rgba(231,245,244,.76) 100%)!important;
  border:1px solid rgba(17,110,118,.14)!important;
  box-shadow:0 10px 20px rgba(17,110,118,.08)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:var(--v56-teal-2)!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,#2B8F92 0%, var(--v56-teal) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 18px rgba(17,110,118,.16)!important;
}

/* 偶数行保护 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:rgba(255,255,255,.78)!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,rgba(255,255,255,.92) 0%, rgba(241,250,250,.86) 100%)!important;
}


/* V57A：截图配色 + 克制玻璃 + 强文字层级 推荐版 */
:root{
  --a-bg:#DDEFFC; --a-bg2:#EAF4FA; --a-card:#FFFFFF; --a-cardGlass:rgba(255,255,255,.78);
  --a-ink:#123541; --a-text:#294B58; --a-sub:#6F8792; --a-muted:#9EAFB8;
  --a-line:rgba(104,145,165,.12); --a-line2:rgba(104,145,165,.08);
  --a-teal:#116E76; --a-teal2:#0D5E64; --a-blue:#1D8BF7; --a-blue2:#0F78E3;
  --a-shadow:0 10px 24px rgba(65,108,130,.065);
  --a-glass:0 12px 30px rgba(65,108,130,.08), inset 0 1px 0 rgba(255,255,255,.6);
}
body{
  background:linear-gradient(180deg,#EAF4FA 0%,var(--a-bg) 28%,var(--a-bg2) 100%)!important;
  color:var(--a-text)!important;
}
.header,.quote-dock,.card,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card{
  background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(247,252,255,.70))!important;
  backdrop-filter:blur(18px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.08)!important;
  border:1px solid rgba(255,255,255,.56)!important;
  box-shadow:var(--a-glass)!important;
}
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,.combo-pill,.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,#FFFFFF,#FCFEFF)!important;
  border:1px solid var(--a-line2)!important;
  box-shadow:var(--a-shadow)!important;
  backdrop-filter:none!important;
}
h1,h2,h3,.product-name,.section-title h3,.card-head h3,.side-title h3,.current-cat-bar b,.room-card-head b,.quote-editor-title h3,.selected-title{
  color:var(--a-ink)!important; font-weight:900!important; text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}
body,p,td,th,label,input,select,textarea,button{color:var(--a-text)!important}
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,.current-cat-bar span,.room-help,.muted,.hint,.mini-label,.field label,.product-price span,.unit,.selected-empty{
  color:var(--a-sub)!important; font-weight:600!important;
}
::placeholder{color:var(--a-muted)!important}
.mark,.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,#2A8A8D,var(--a-teal))!important; color:#fff!important;
}
.total-card *,.stat-card *,.summary-card *,.amount-card *{color:#fff!important}
.cat-list .cat-btn{background:rgba(255,255,255,.84)!important;border:1px solid rgba(255,255,255,.56)!important;box-shadow:0 4px 12px rgba(65,108,130,.035)!important}
.cat-list .cat-btn b{color:var(--a-ink)!important;font-weight:850!important}
.cat-list .cat-btn small{color:var(--a-sub)!important}
.cat-list .cat-btn span{background:#EEF6FB!important;color:#66818E!important;font-weight:800!important}
.cat-list .cat-btn.active{background:linear-gradient(90deg,#EEF7FD,#FFFFFF 84%)!important;border-color:rgba(29,139,247,.14)!important}
.cat-list .cat-btn.active b{color:var(--a-blue)!important}
.cat-list .cat-btn.active span{background:#DCEFFD!important;color:#2683E8!important}
.product-table thead th,.quote-editor-head{background:#EFF6FA!important;color:#617987!important;font-weight:850!important;border:1px solid var(--a-line2)!important}
.product-table tbody tr td{background:#FFFFFF!important;border-top:1px solid var(--a-line2)!important;border-bottom:1px solid var(--a-line2)!important;box-shadow:0 2px 8px rgba(65,108,130,.018)!important}
.product-table tbody tr:hover td{background:#FBFEFF!important;box-shadow:0 6px 14px rgba(65,108,130,.04)!important}
.product-table tbody tr.active-product td{background:linear-gradient(180deg,#FFFFFF,#F1FAFA)!important;border-color:rgba(17,110,118,.19)!important;box-shadow:0 14px 28px rgba(17,110,118,.12),0 8px 16px rgba(65,108,130,.05)!important}
.product-table tbody tr.active-product td:first-child{border-left:4px solid var(--a-teal)!important}
.product-table tbody tr.active-product .row-index{background:linear-gradient(180deg,#2B8F92,var(--a-teal))!important;color:#fff!important}
.product-table tbody tr.active-product .product-sub::after{content:none!important;display:none!important}
input,select,textarea{background:#FFFFFF!important;border:1px solid rgba(104,145,165,.13)!important;color:var(--a-text)!important;box-shadow:none!important}
input:focus,select:focus,textarea:focus{border-color:rgba(29,139,247,.30)!important;box-shadow:0 0 0 4px rgba(29,139,247,.07)!important}
.quick-add-button,.btn.primary,button.primary,.btn.orange,.room-tab.active{background:linear-gradient(180deg,var(--a-blue),var(--a-blue2))!important;color:#fff!important;box-shadow:0 10px 20px rgba(29,139,247,.18)!important}
.btn.secondary,.btn.ghost,button.secondary,button.ghost,.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:rgba(255,255,255,.82)!important;border:1px solid rgba(255,255,255,.55)!important;box-shadow:0 4px 12px rgba(65,108,130,.035)!important;color:var(--a-text)!important;
}
.price-input,.money,.price-strong,.total-num,.room-card-head span,.room-card-row em,.product-price b,.amount-pill,.quote-total,#rowCount,#rowCountTop,#directTotal,#grandTotal,#grandTotalSmall,#directTotalTop,#grandTotalTop{
  color:var(--a-teal)!important;font-weight:900!important;
}
.check-item.warn{background:linear-gradient(180deg,rgba(239,249,248,.86),rgba(231,245,244,.76))!important;border:1px solid rgba(17,110,118,.14)!important}
.check-item.warn,.check-item.warn p,.check-item.warn span{color:var(--a-teal2)!important}
.check-item.warn .fix-btn{background:linear-gradient(180deg,#2B8F92,var(--a-teal))!important;color:#fff!important}
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}.product-table thead th{border-radius:6px!important}.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}


/* V58：巢小小暖色品牌统一版
   目标：
   1）整体统一成巢小小更适合的暖色体系
   2）保留玻璃感，但控制在外层，不让表格发脏
   3）按钮、选中、金额、统计统一到同一套暖橙体系
*/
:root{
  --v58-bg:#FFF4EA;
  --v58-bg2:#FFF9F4;
  --v58-bg3:#FDF3EC;

  --v58-cardGlass:rgba(255,255,255,.82);
  --v58-cardGlass2:rgba(255,251,247,.72);
  --v58-white:#FFFFFF;
  --v58-surface:#FFFCFA;

  --v58-ink:#3B2B22;
  --v58-text:#5B473A;
  --v58-sub:#8A7667;
  --v58-muted:#B4A395;

  --v58-primary:#F47B20;      /* 巢小小主橙 */
  --v58-primary2:#E56612;     /* 深橙 */
  --v58-primary3:#C9550B;     /* 更深强调 */
  --v58-soft:#FFF0E4;         /* 轻橙背景 */
  --v58-soft2:#FFE5D1;        /* 强一点的轻橙 */
  --v58-soft3:#FFF7F0;

  --v58-line:rgba(168,117,83,.16);
  --v58-line2:rgba(168,117,83,.09);
  --v58-borderGlass:rgba(255,255,255,.62);

  --v58-shadow:0 10px 24px rgba(117,72,39,.065);
  --v58-glass:0 12px 30px rgba(117,72,39,.08), inset 0 1px 0 rgba(255,255,255,.6);
  --v58-active:0 16px 34px rgba(244,123,32,.16),0 8px 16px rgba(117,72,39,.06);
}

body{
  background:
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.52), transparent 22%),
    radial-gradient(circle at 82% 10%, rgba(255,233,214,.48), transparent 26%),
    linear-gradient(180deg,var(--v58-bg2) 0%,var(--v58-bg) 34%,var(--v58-bg3) 100%)!important;
  color:var(--v58-text)!important;
}

/* 顶部与外层：暖玻璃 */
.header,.quote-dock,.card,.category-side,.room-combo-panel,.room-view-card,.quote-section.card,.summary .card{
  background:linear-gradient(180deg,var(--v58-cardGlass) 0%,var(--v58-cardGlass2) 100%)!important;
  backdrop-filter:blur(18px) saturate(1.06)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.06)!important;
  border:1px solid var(--v58-borderGlass)!important;
  box-shadow:var(--v58-glass)!important;
}

/* 内层业务区：偏实，避免脏 */
.product-toolbar,.current-cat-bar,.product-table-wrap,.quote-editor-wrap,.room-card,.history-card,.combo-pill,.selected-table,.selected-chip,.quote-editor-row,.quote-line,.numbers-row{
  background:linear-gradient(180deg,var(--v58-white) 0%,var(--v58-surface) 100%)!important;
  border:1px solid var(--v58-line2)!important;
  box-shadow:var(--v58-shadow)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* 文字层级 */
.header h1,.brand h1,
h1,h2,h3,.product-name,.section-title h3,.card-head h3,.side-title h3,
.current-cat-bar b,.room-card-head b,.quote-editor-title h3,.selected-title{
  color:var(--v58-ink)!important;
  font-weight:900!important;
  letter-spacing:.005em!important;
  text-shadow:0 1px 0 rgba(255,255,255,.55)!important;
}
body,p,td,th,label,input,select,textarea,button{
  color:var(--v58-text)!important;
}
.header p,.brand p,
.product-sub,.product-note,.section-title p,.card-head p,.side-title p,
.current-cat-bar span,.room-help,.muted,.hint,.mini-label,.field label,.product-price span,.unit,.selected-empty{
  color:var(--v58-sub)!important;
  font-weight:600!important;
}
::placeholder{color:var(--v58-muted)!important}
.field label,.mini-label{
  color:#826B5B!important;
  font-weight:800!important;
}

/* 品牌标记与重点块 */
.mark,.total-card,.stat-card,.summary-card,.amount-card{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 12px 24px rgba(244,123,32,.20)!important;
  border:1px solid rgba(255,255,255,.16)!important;
}
.total-card *,.stat-card *,.summary-card *,.amount-card *{
  color:#FFFFFF!important;
}
.save-chip{
  background:rgba(255,255,255,.76)!important;
  border:1px solid rgba(255,255,255,.60)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  color:var(--v58-sub)!important;
}

/* 左侧分类 */
.cat-list .cat-btn{
  background:rgba(255,255,255,.86)!important;
  border:1px solid rgba(255,255,255,.58)!important;
  box-shadow:0 4px 12px rgba(117,72,39,.035)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.cat-list .cat-btn b{
  color:var(--v58-ink)!important;
  font-weight:850!important;
}
.cat-list .cat-btn small{
  color:var(--v58-sub)!important;
}
.cat-list .cat-btn span{
  background:var(--v58-soft3)!important;
  color:#956C4D!important;
  font-weight:800!important;
}
.cat-list .cat-btn:hover{
  box-shadow:0 8px 18px rgba(117,72,39,.05)!important;
}
.cat-list .cat-btn.active{
  background:linear-gradient(90deg,var(--v58-soft) 0%,rgba(255,255,255,.92) 84%)!important;
  border-color:rgba(244,123,32,.16)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.08), inset 3px 0 0 var(--v58-primary)!important;
}
.cat-list .cat-btn.active b{
  color:var(--v58-primary2)!important;
}
.cat-list .cat-btn.active small{
  color:#8B7566!important;
}
.cat-list .cat-btn.active span{
  background:var(--v58-soft2)!important;
  color:var(--v58-primary2)!important;
}

/* 表头与表格 */
.product-table thead th,.quote-editor-head{
  background:linear-gradient(180deg,#FFF8F2 0%,#FFF2E8 100%)!important;
  color:#876F5F!important;
  font-weight:850!important;
  border:1px solid var(--v58-line2)!important;
}
.product-table tbody tr td{
  background:#FFFFFF!important;
  border-top:1px solid var(--v58-line2)!important;
  border-bottom:1px solid var(--v58-line2)!important;
  box-shadow:0 2px 8px rgba(117,72,39,.018)!important;
}
.product-table tbody tr:hover td{
  background:#FFFCF9!important;
  box-shadow:0 6px 14px rgba(117,72,39,.04)!important;
}
.product-table tbody tr.active-product td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EE 100%)!important;
  border-color:rgba(244,123,32,.18)!important;
  box-shadow:var(--v58-active)!important;
}
.product-table tbody tr.active-product td:first-child{
  border-left:4px solid var(--v58-primary)!important;
}
.product-table tbody tr.active-product .product-name{
  color:var(--v58-ink)!important;
}
.product-table tbody tr.active-product .product-sub,
.product-table tbody tr.active-product .product-note{
  color:#8A7769!important;
}
.product-table tbody tr.active-product .row-index{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  box-shadow:0 8px 16px rgba(244,123,32,.16)!important;
}
.product-table tbody tr.active-product .product-sub::after{
  content:none!important; display:none!important;
}

/* 输入框 */
input,select,textarea{
  background:#FFFFFF!important;
  border:1px solid rgba(168,117,83,.14)!important;
  color:var(--v58-text)!important;
  box-shadow:none!important;
}
input:focus,select:focus,textarea:focus{
  border-color:rgba(244,123,32,.32)!important;
  box-shadow:0 0 0 4px rgba(244,123,32,.08)!important;
}

/* 按钮与选中 tab 统一暖橙 */
.quick-add-button,.btn.primary,button.primary,.btn.orange,.room-tab.active{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  letter-spacing:.01em!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.18)!important;
}
.quick-add-button:hover,.btn.primary:hover,button.primary:hover,.btn.orange:hover{
  box-shadow:0 14px 24px rgba(244,123,32,.22)!important;
}
.btn.secondary,.btn.ghost,button.secondary,button.ghost,.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(255,255,255,.56)!important;
  box-shadow:0 4px 12px rgba(117,72,39,.035)!important;
  color:var(--v58-text)!important;
}
.room-tab{
  font-weight:800!important;
}
.room-tab:not(.active):hover{
  background:#FFFCF9!important;
  border-color:rgba(244,123,32,.12)!important;
}
.pill{
  color:#8A715F!important;
  font-weight:800!important;
  background:#FFF8F3!important;
}

/* 金额、数字统一强调 */
.price-input,.money,.price-strong,.total-num,
.room-card-head span,.room-card-row em,
.product-price b,.amount-pill,.quote-total,
#rowCount,#rowCountTop,#directTotal,#grandTotal,#grandTotalSmall,#directTotalTop,#grandTotalTop{
  color:var(--v58-primary3)!important;
  font-weight:900!important;
  letter-spacing:.01em!important;
}

/* 漏项提醒：仍然用暖色，不再跳青绿 */
.check-item.warn{
  background:linear-gradient(180deg,#FFF8F1 0%,#FFF1E6 100%)!important;
  border:1px solid rgba(244,123,32,.14)!important;
  box-shadow:0 10px 20px rgba(244,123,32,.08)!important;
}
.check-item.warn,.check-item.warn p,.check-item.warn span{
  color:#9A623B!important;
}
.check-item.warn .fix-btn{
  background:linear-gradient(180deg,var(--v58-primary) 0%,var(--v58-primary2) 100%)!important;
  color:#FFFFFF!important;
  font-weight:850!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 10px 18px rgba(244,123,32,.16)!important;
}

/* 偶数行保护 */
.product-table tr:nth-child(even) td,
.product-table tbody tr:nth-child(even) td{
  background:#FFFFFF!important;
}
.product-table tbody tr.active-product:nth-child(even) td{
  background:linear-gradient(180deg,#FFFFFF 0%,#FFF5EE 100%)!important;
}

/* 保留层级 */
.current-cat-bar,.product-table-wrap,.quote-editor-wrap{border-radius:12px!important}
.product-table thead th{border-radius:6px!important}
.product-table tbody tr td:first-child{border-radius:10px 0 0 10px!important}
.product-table tbody tr td:last-child{border-radius:0 10px 10px 0!important}
.btn,.quick-add-button,button,input,select,textarea{border-radius:10px!important}
.room-tab,.pill,.chip,.tag,.picked-badge,.qty-tip,.room-tag{border-radius:999px!important}


/* V59：功能工具条与暖色视觉精修 */
.room-quickbar{
  margin-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.76),rgba(255,247,240,.64));
  border:1px solid rgba(255,255,255,.60);
  box-shadow:0 8px 20px rgba(117,72,39,.05),inset 0 1px 0 rgba(255,255,255,.72);
}
.room-quick-stats{
  min-width:210px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:3px 10px;
  align-items:center;
}
.room-quick-stats span{
  grid-row:1/3;
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  background:linear-gradient(180deg,#FF9344,#F47B20);
  color:#fff!important;
  font-size:11px;
  font-weight:900;
  text-align:center;
  box-shadow:0 8px 16px rgba(244,123,32,.18);
}
.room-quick-stats b{
  color:#3B2B22!important;
  font-size:16px;
  font-weight:900;
}
.room-quick-stats em{
  color:#C9550B!important;
  font-size:13px;
  font-style:normal;
  font-weight:850;
}
.room-tool-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.room-tool-actions .btn{
  white-space:nowrap;
}
.room-tool-actions .btn:disabled{
  opacity:.42;
  cursor:not-allowed;
  transform:none!important;
  box-shadow:none!important;
}
.room-select{
  min-width:104px!important;
}
.quote-line{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.quote-line:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(117,72,39,.07)!important;
  border-color:rgba(244,123,32,.13)!important;
}
.quote-line:focus-within{
  box-shadow:0 0 0 3px rgba(244,123,32,.07),0 12px 26px rgba(117,72,39,.07)!important;
  border-color:rgba(244,123,32,.18)!important;
}
.dock-title span{
  color:#8A7667!important;
  font-weight:700!important;
}
.selected-title{
  display:flex;
  align-items:center;
  gap:8px;
}
.selected-title::before{
  content:'';
  width:8px;
  height:8px;
  border-radius:999px;
  background:#F47B20;
  box-shadow:0 0 0 5px rgba(244,123,32,.10);
}
@media(max-width:900px){
  .room-quickbar{
    align-items:stretch;
    flex-direction:column;
  }
  .room-tool-actions{
    justify-content:flex-start;
  }
  .room-tool-actions .btn{
    flex:1 1 140px;
  }
}


/* V64：已取消前台价格依据展示，内部来源数据保留 */
.quote-line:focus-within{
  transform:none!important;
  border-color:rgba(244,123,32,.22)!important;
  box-shadow:0 0 0 3px rgba(244,123,32,.07),0 12px 26px rgba(117,72,39,.07)!important;
}





/* === V79G 缺失测量项自动定位 === */
.measurement-field-missing input,
.measurement-field-missing select{
  border-color:#f06b34!important;
  background:#fff7f2!important;
  box-shadow:0 0 0 4px rgba(240,107,52,.12)!important;
  animation:measurementMissingPulse .9s ease 2;
}
.measurement-field-missing>span{
  color:#d9531e!important;
  font-weight:950!important;
}
.measurement-field-missing>span::after{
  content:' · 必填';
  font-size:10px;
  color:#f06b34;
}
.measurement-validation-tip{
  display:none;
  align-items:center;
  gap:8px;
  margin:10px 0 0;
  padding:10px 12px;
  border:1px solid rgba(240,107,52,.2);
  border-radius:12px;
  background:#fff7f2;
  color:#a84921;
  font-size:12px;
  font-weight:850;
}
.measurement-validation-tip.show{display:flex}
.measurement-validation-tip::before{
  content:'!';
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#f06b34;
  color:#fff;
  font-size:12px;
  font-weight:1000;
}
@keyframes measurementMissingPulse{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-2px)}
}



/* === V79G：项目分类竖向选择框（测量入口已独立到顶部） === */
/* 报价分类：单一竖向长条选择框 */
.category-side{
  position:sticky!important;top:184px!important;align-self:start!important;padding:14px!important;
  max-height:calc(100vh - 205px)!important;overflow:hidden!important
}
.category-side .side-title{padding:2px 2px 12px!important}
.category-side .side-title h3{font-size:16px!important}
.category-side .side-title p{font-size:11px!important;line-height:1.5!important}
.cat-list{
  display:flex!important;flex-direction:column!important;gap:0!important;overflow-y:auto!important;overflow-x:hidden!important;
  max-height:calc(100vh - 292px)!important;border:1px solid rgba(117,72,39,.16)!important;border-radius:14px!important;
  background:#fff!important;padding:0!important;scrollbar-width:thin
}
.cat-list .cat-btn{
  position:relative!important;min-width:0!important;width:100%!important;min-height:54px!important;margin:0!important;
  border:0!important;border-bottom:1px solid rgba(117,72,39,.095)!important;border-radius:0!important;
  padding:10px 42px 10px 13px!important;background:#fff!important;box-shadow:none!important;transform:none!important;
  grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important
}
.cat-list .cat-btn:last-child{border-bottom:0!important}
.cat-list .cat-btn:hover{background:#fff8f1!important;transform:none!important;box-shadow:none!important}
.cat-list .cat-btn.active{
  padding-left:42px!important;background:linear-gradient(90deg,#fff0e2,#fff9f3)!important;
  color:#9b4a12!important;box-shadow:inset 4px 0 0 #f47b20!important
}
.cat-list .cat-btn.active::after{
  left:12px!important;width:20px!important;height:20px!important;font-size:11px!important
}
.cat-list .cat-btn b{font-size:13.5px!important;line-height:1.25!important}
.cat-list .cat-btn small{font-size:10.5px!important;line-height:1.25!important;margin-top:3px!important}
.cat-list .cat-btn span{font-size:10px!important;padding:4px 7px!important;background:#f7f1ec!important}
.cat-list .cat-btn.active span{background:#fff!important;color:#b75a18!important}

@media(max-width:1100px){
  .workspace{grid-template-columns:220px minmax(0,1fr)!important}
  .category-side{position:sticky!important;top:178px!important;max-height:calc(100vh - 195px)!important}
  .cat-list{max-height:calc(100vh - 280px)!important}
}
@media(max-width:820px){
  .workspace{grid-template-columns:1fr!important}
  .category-side{position:relative!important;top:auto!important;max-height:none!important;padding:12px!important}
  .cat-list{max-height:310px!important;overflow-y:auto!important}
  .cat-list .cat-btn{min-width:0!important}
}



/* === V79I 顶部空间测量入口 === */
.header-inner{display:grid!important;grid-template-columns:minmax(320px,1fr) auto minmax(260px,1fr)!important;align-items:center!important;gap:18px!important}
.header-measure-entry{
  appearance:none;
  border:1px solid rgba(244,123,32,.20);
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,247,239,.96));
  min-width:250px;
  min-height:56px;
  padding:8px 12px 8px 9px;
  border-radius:17px;
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  cursor:pointer;
  color:#3c2d24;
  box-shadow:0 8px 24px rgba(95,57,31,.07),inset 0 1px 0 rgba(255,255,255,.92);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.header-measure-entry:hover{
  transform:translateY(-1px);
  border-color:rgba(244,123,32,.42);
  box-shadow:0 12px 28px rgba(244,123,32,.13),inset 0 1px 0 rgba(255,255,255,.92);
}
.header-measure-entry:active{transform:translateY(0) scale(.99)}
.header-measure-icon{
  width:40px;height:40px;border-radius:13px;
  display:grid;place-items:center;
  color:#fff;font-size:23px;font-weight:1000;
  background:linear-gradient(150deg,#ff9b51,#f47b20);
  box-shadow:0 7px 17px rgba(244,123,32,.24);
}
.header-measure-copy{min-width:0;text-align:left}
.header-measure-copy b{display:block;font-size:14px;line-height:1.2;color:#33261f;letter-spacing:.1px}
.header-measure-copy em{display:block;margin-top:4px;font-size:10.5px;line-height:1.2;color:#947a68;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-measure-entry>i{font-size:24px;color:#d56a1a;font-style:normal;line-height:1}
body.measurement-workspace-open .header-measure-entry{opacity:.55;pointer-events:none}

@media(max-width:1050px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .header-measure-entry{min-width:56px;width:56px;height:50px;min-height:50px;padding:5px;grid-template-columns:1fr;border-radius:15px}
  .header-measure-icon{width:38px;height:38px;margin:auto}
  .header-measure-copy,.header-measure-entry>i{display:none}
  .header-actions{grid-column:2;grid-row:1}
  .header-measure-entry{grid-column:2;grid-row:1;margin-right:190px}
}
@media(max-width:760px){
  .header-inner{display:flex!important;gap:7px!important}
  .brand{flex:1!important}
  .header-measure-entry{flex:0 0 44px!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:3px!important;border-radius:13px!important}
  .header-measure-icon{width:36px!important;height:36px!important;font-size:21px!important;border-radius:11px!important}
  .header-actions{flex:0 0 auto!important}
  .save-chip{max-width:110px!important}
}



/* === V79I 空间测量助手独立全屏工作区 === */
body:not(.measurement-workspace-open) #measurementWorkspaceLayer{display:none!important}
html.measurement-workspace-open,body.measurement-workspace-open{overflow:hidden!important;height:100%!important}
.measurement-workspace-layer{
  position:fixed!important;inset:0!important;z-index:100000!important;
  display:none!important;overflow:auto!important;
  background:linear-gradient(180deg,#f7f3ef 0,#fbfaf8 100%)!important;
  overscroll-behavior:contain!important;
}
.measurement-workspace-layer.open{display:block!important}
.measurement-workspace-shell{width:min(1560px,100%)!important;min-height:100%!important;margin:0 auto!important;padding:18px 20px 40px!important}
.measurement-workspace-layer #measurementAssistant{
  display:block!important;position:relative!important;width:100%!important;
  margin:0!important;padding:0!important;border-radius:22px!important;
  background:#fff!important;border:1px solid #eadfd7!important;
  box-shadow:0 18px 60px rgba(74,48,31,.10)!important;
}
.measurement-workspace-layer .measurement-page-topbar{
  position:sticky!important;top:0!important;z-index:30!important;
  padding:15px 18px!important;background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px)!important;border-bottom:1px solid #eee3da!important;
  border-radius:22px 22px 0 0!important;
}
.measurement-workspace-layer #measurementAssistantBody{display:block!important}
.measurement-workspace-layer .measurement-module-bar{display:none!important}
body.measurement-workspace-open>header,body.measurement-workspace-open>main,body.measurement-workspace-open>footer{visibility:hidden!important}
body.measurement-workspace-open #measurementWorkspaceLayer{visibility:visible!important}
@media(max-width:720px){
  .measurement-workspace-shell{padding:0 0 28px!important}
  .measurement-workspace-layer #measurementAssistant{border-radius:0!important;border-left:0!important;border-right:0!important}
  .measurement-workspace-layer .measurement-page-topbar{border-radius:0!important;padding:12px!important}
}


/* === V79K 独立测量入口修复 === */
body:not(.measurement-workspace-open) #measurementWorkspaceLayer{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.measurement-workspace-open #measurementWorkspaceLayer.open{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
body.measurement-workspace-open #measurementWorkspaceLayer #measurementAssistant{
  display:block!important;
  visibility:visible!important;
}
body.measurement-workspace-open #measurementWorkspaceLayer #measurementAssistantBody{
  display:block!important;
  visibility:visible!important;
}
body:not(.measurement-workspace-open) main.app #measurementAssistant,
body:not(.measurement-workspace-open) main.app .measurement-entry-card{
  display:none!important;
}


/* === V79K 顶部主导航与记录导出中心 === */
.header-inner{
  grid-template-columns:minmax(320px,1fr) auto minmax(250px,1fr)!important;
}
.system-top-nav{
  display:flex;align-items:center;gap:6px;padding:5px;
  border:1px solid rgba(114,83,61,.12);
  border-radius:16px;background:rgba(255,255,255,.78);
  box-shadow:0 8px 26px rgba(74,48,31,.055),inset 0 1px 0 rgba(255,255,255,.95);
}
.system-nav-item{
  appearance:none;border:0;background:transparent;color:#765f50;
  min-height:44px;padding:0 15px;border-radius:12px;
  display:flex;align-items:center;justify-content:center;gap:8px;
  cursor:pointer;font:inherit;white-space:nowrap;transition:.16s ease;
}
.system-nav-item b{font-size:13px;font-weight:900;letter-spacing:.1px}
.system-nav-icon{
  width:24px;height:24px;border-radius:8px;display:grid;place-items:center;
  background:#f4eee9;color:#956b4e;font-size:14px;font-weight:1000;
}
.system-nav-item:hover{background:#fff6ee;color:#a74e10}
.system-nav-item.active{
  color:#fff;background:linear-gradient(145deg,#ff9850,#f47b20);
  box-shadow:0 7px 18px rgba(244,123,32,.22);
}
.system-nav-item.active .system-nav-icon{background:rgba(255,255,255,.20);color:#fff}
body.measurement-workspace-open #navMeasurement,
body.records-export-open #navRecordsExport{color:#fff;background:linear-gradient(145deg,#ff9850,#f47b20)}

.records-export-layer{
  position:fixed;inset:0;z-index:100000;display:none;overflow:auto;
  background:linear-gradient(180deg,#f6f1ec 0,#fbfaf8 100%);
  overscroll-behavior:contain;
}
.records-export-layer.open{display:block}
html.records-export-open,body.records-export-open{height:100%;overflow:hidden!important}
body.records-export-open>header,body.records-export-open>main,body.records-export-open>footer{visibility:hidden!important}
body.records-export-open #recordsExportLayer{visibility:visible!important}
.records-export-shell{width:min(1500px,100%);min-height:100%;margin:auto;padding:18px 20px 42px}
.records-export-topbar{
  position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:15px 18px;margin-bottom:16px;border:1px solid #eadfd7;border-radius:20px;
  background:rgba(255,255,255,.95);backdrop-filter:blur(18px);
  box-shadow:0 12px 38px rgba(74,48,31,.08);
}
.records-export-topbar b{display:block;color:#34271f;font-size:18px}
.records-export-topbar span{display:block;margin-top:4px;color:#8a7465;font-size:12px}
.records-export-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.95fr);gap:16px;align-items:start}
.records-action-card,.records-history-card{
  background:#fff;border:1px solid #eadfd7;border-radius:22px;
  box-shadow:0 16px 48px rgba(74,48,31,.075);overflow:hidden;
}
.records-card-head{padding:18px 20px;border-bottom:1px solid #f0e7e0}
.records-card-head h2{margin:0;color:#34271f;font-size:18px}
.records-card-head p{margin:6px 0 0;color:#8a7465;font-size:12px;line-height:1.55}
.records-current-summary{padding:18px 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.records-current-summary>div{padding:13px 14px;border:1px solid #efe4db;border-radius:14px;background:#fffaf6}
.records-current-summary span{display:block;color:#927767;font-size:10.5px;font-weight:800}
.records-current-summary b{display:block;margin-top:5px;color:#3c2e25;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.records-current-summary .records-total{grid-column:1/-1;background:linear-gradient(145deg,#fff0e3,#fff8f1)}
.records-current-summary .records-total b{font-size:25px;color:#d75f0c}
.records-export-actions{padding:0 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.records-export-actions .btn{min-height:46px}
.records-export-actions .records-main-export{grid-column:1/-1;min-height:54px;font-size:15px}
.records-history-tools{padding:12px 18px;display:flex;justify-content:flex-end;gap:8px;border-bottom:1px solid #f0e7e0;background:#fffcfa}
.records-history-body{padding:16px 18px 22px}
.records-history-body .history{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.records-empty-tip{padding:14px 20px 0;color:#8a7465;font-size:11px;line-height:1.55}
@media(max-width:1050px){
  .header-inner{grid-template-columns:minmax(0,1fr) auto!important}
  .system-top-nav{grid-column:1/-1;grid-row:2;width:100%;justify-content:center}
  .header-actions{grid-column:2;grid-row:1}
  .records-export-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .header-inner{display:flex!important;flex-wrap:wrap!important}
  .system-top-nav{order:3;flex:1 0 100%;overflow-x:auto;justify-content:flex-start;border-radius:13px}
  .system-nav-item{min-width:max-content;padding:0 12px;min-height:40px}
  .system-nav-item b{font-size:12px}
  .records-export-shell{padding:0 0 28px}
  .records-export-topbar{border-radius:0;margin:0 0 10px;padding:12px}
  .records-export-grid{padding:0 10px;gap:10px}
  .records-action-card,.records-history-card{border-radius:17px}
  .records-history-body .history{grid-template-columns:1fr!important}
  .records-export-actions{grid-template-columns:1fr}
  .records-export-actions .records-main-export{grid-column:auto}
}



:root{--v80h-orange:#f68b2e;--v80h-orange-soft:#fff4e8;--v80h-ink:#242938;--v80h-muted:#72788a;--v80h-line:#e5e7ef;--v80h-bg:#f5f6f9;--v80h-green:#178a54;--v80h-blue:#3667d6}
.v80h-layer{position:fixed;inset:0;z-index:15000;background:#f4f5f8;display:none;overflow:hidden;color:var(--v80h-ink)}
.v80h-layer.open{display:block}
.v80h-shell{height:100%;display:flex;flex-direction:column}
.v80h-header{height:76px;flex:0 0 auto;background:#fff;border-bottom:1px solid var(--v80h-line);display:flex;align-items:center;justify-content:space-between;padding:0 26px;box-shadow:0 4px 18px rgba(35,40,55,.05)}
.v80h-brand{display:flex;align-items:center;gap:13px}
.v80h-mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#ffad63,var(--v80h-orange));display:grid;place-items:center;color:white;font-size:22px;font-weight:900;box-shadow:0 10px 20px rgba(246,139,46,.22)}
.v80h-brand b{display:block;font-size:17px}.v80h-brand span{display:block;margin-top:3px;color:var(--v80h-muted);font-size:12px}
.v80h-header-actions{display:flex;gap:9px;align-items:center}
.v80h-btn{border:1px solid #dfe2ea;background:#fff;color:#353a49;padding:10px 15px;border-radius:11px;font-weight:750;cursor:pointer;transition:.16s ease;font-size:13px}
.v80h-btn:hover{border-color:#c9cdd7;background:#fafafa}.v80h-btn.primary{background:var(--v80h-orange);border-color:var(--v80h-orange);color:#fff}
.v80h-btn.green{background:var(--v80h-green);border-color:var(--v80h-green);color:#fff}.v80h-btn.blue{background:var(--v80h-blue);border-color:var(--v80h-blue);color:#fff}
.v80h-btn.danger{color:#c73939;border-color:#f0caca;background:#fff8f8}.v80h-btn.small{padding:7px 10px;font-size:12px;border-radius:9px}
.v80h-body{flex:1;min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr)}
.v80h-nav{background:#fff;border-right:1px solid var(--v80h-line);padding:18px 13px;overflow:auto}
.v80h-nav-title{font-size:11px;letter-spacing:.12em;color:#9aa0ae;font-weight:800;padding:5px 12px 9px}
.v80h-nav button{width:100%;border:0;background:transparent;text-align:left;padding:12px 13px;border-radius:11px;color:#555b6c;font-weight:730;cursor:pointer;margin:2px 0;display:flex;align-items:center;gap:10px}
.v80h-nav button:hover{background:#f6f7fa}.v80h-nav button.active{background:var(--v80h-orange-soft);color:#bf5f0e}
.v80h-nav-icon{font-size:18px;width:22px;text-align:center}.v80h-nav-foot{margin-top:18px;padding:14px;border-radius:13px;background:#fff8f1;border:1px solid #ffe0c3;color:#8b5426;font-size:12px;line-height:1.65}
.v80h-main{overflow:auto;padding:24px 26px 38px}.v80h-section{display:none;max-width:1380px;margin:0 auto}.v80h-section.active{display:block}
.v80h-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.v80h-page-head h2{font-size:25px;margin:0;color:#252a38}.v80h-page-head p{margin:7px 0 0;color:var(--v80h-muted);font-size:13px}
.v80h-grid{display:grid;gap:14px}.v80h-grid.stats{grid-template-columns:repeat(4,minmax(0,1fr))}
.v80h-stat{background:#fff;border:1px solid var(--v80h-line);border-radius:17px;padding:18px;box-shadow:0 6px 20px rgba(34,39,51,.04)}
.v80h-stat span{display:block;color:var(--v80h-muted);font-size:12px;font-weight:700}.v80h-stat b{display:block;margin-top:8px;font-size:25px}.v80h-stat small{display:block;color:#999ead;margin-top:7px;font-size:11px}
.v80h-panel{background:#fff;border:1px solid var(--v80h-line);border-radius:18px;box-shadow:0 8px 24px rgba(34,39,51,.04);overflow:hidden;margin-top:15px}
.v80h-panel-head{padding:17px 19px;border-bottom:1px solid var(--v80h-line);display:flex;align-items:center;justify-content:space-between;gap:12px}
.v80h-panel-head b{font-size:15px}.v80h-panel-head span{display:block;color:var(--v80h-muted);font-size:12px;margin-top:4px}.v80h-panel-body{padding:18px}
.v80h-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.v80h-flow div{padding:14px;border-radius:14px;background:#f7f8fb;border:1px solid #eceef3}
.v80h-flow b{display:block;color:#3c4252;font-size:13px}.v80h-flow span{display:block;color:#858b99;font-size:11px;margin-top:5px;line-height:1.5}
.v80h-template-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.v80h-template-card{background:#fff;border:1px solid var(--v80h-line);border-radius:17px;padding:17px;display:flex;flex-direction:column;min-height:210px;box-shadow:0 6px 20px rgba(34,39,51,.035)}
.v80h-template-top{display:flex;justify-content:space-between;gap:10px}.v80h-template-icon{width:43px;height:43px;border-radius:13px;background:#ecf7ef;color:var(--v80h-green);display:grid;place-items:center;font-weight:900;font-size:15px}
.v80h-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#f3f4f7;color:#6b7280;font-size:10px;font-weight:800}
.v80h-template-card h3{margin:14px 0 6px;font-size:16px}.v80h-template-card p{margin:0;color:var(--v80h-muted);font-size:12px;line-height:1.65;flex:1}
.v80h-template-meta{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.v80h-template-meta span{font-size:10px;color:#777d8e;background:#f6f7f9;padding:5px 8px;border-radius:999px}
.v80h-drop{border:2px dashed #d6dae5;border-radius:18px;background:#fafbfc;padding:36px 20px;text-align:center;cursor:pointer;transition:.16s}
.v80h-drop.drag{border-color:var(--v80h-orange);background:#fff8f1}.v80h-drop strong{display:block;font-size:17px}.v80h-drop span{display:block;color:var(--v80h-muted);font-size:12px;margin-top:8px}
.v80h-import-controls{display:grid;grid-template-columns:220px 1fr auto;gap:10px;margin-top:14px}.v80h-select,.v80h-input{width:100%;border:1px solid #dfe2ea;background:#fff;border-radius:11px;padding:10px 12px;font-size:13px;color:#343948;outline:none}
.v80h-import-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.v80h-import-summary div{border:1px solid var(--v80h-line);border-radius:13px;padding:12px;background:#fff}
.v80h-import-summary span{display:block;color:var(--v80h-muted);font-size:10px}.v80h-import-summary b{display:block;margin-top:6px;font-size:18px}
.v80h-preview{margin-top:14px;overflow:auto;border:1px solid var(--v80h-line);border-radius:14px;max-height:440px;background:#fff}
.v80h-preview table{border-collapse:collapse;width:100%;min-width:920px;font-size:11px}.v80h-preview th{position:sticky;top:0;background:#f6f7fa;color:#52586a;padding:10px;border-bottom:1px solid #dfe2e9;text-align:left;z-index:1}
.v80h-preview td{padding:9px 10px;border-bottom:1px solid #eceef2;vertical-align:top;color:#444a59}.v80h-empty{padding:38px;text-align:center;color:#8d93a1}
.v80h-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}.v80h-status{margin-top:12px;padding:11px 13px;border-radius:12px;background:#f7f8fa;color:#666d7e;font-size:12px;line-height:1.6}
.v80h-status.success{background:#edf8f1;color:#267149}.v80h-status.warn{background:#fff7e8;color:#96601d}
.v80h-list{display:grid;gap:10px}.v80h-list-item{background:#fff;border:1px solid var(--v80h-line);border-radius:14px;padding:14px 15px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.v80h-list-item h3{font-size:14px;margin:0}.v80h-list-item p{font-size:11px;color:var(--v80h-muted);margin:5px 0 0}.v80h-list-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.v80h-version-card{background:#fff;border:1px solid var(--v80h-line);border-radius:15px;padding:15px}.v80h-version-card strong{font-size:14px}.v80h-version-card p{font-size:11px;color:var(--v80h-muted);line-height:1.6;margin:6px 0 0}
.v80h-backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.v80h-backup-card{background:#fff;border:1px solid var(--v80h-line);border-radius:17px;padding:20px}.v80h-backup-card h3{margin:0 0 7px}.v80h-backup-card p{color:var(--v80h-muted);font-size:12px;line-height:1.7}
.v80h-hidden{display:none!important}
.v80-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.v80h-data-card{border-color:#e0e4ed!important;background:linear-gradient(150deg,#fff,#f7f8fb)!important}.v80h-data-card .v80-entry-icon{background:#edf0f6;color:#48536b}
@media(max-width:1180px){.v80-entry-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.v80h-data-card{grid-column:1/-1}}@media(max-width:1100px){.v80h-grid.stats{grid-template-columns:repeat(2,1fr)}.v80h-template-grid{grid-template-columns:repeat(2,1fr)}.v80h-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.v80h-header{padding:0 14px;height:68px}.v80h-header-actions .v80h-btn:not(.primary){display:none}.v80h-body{display:block}.v80h-nav{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid var(--v80h-line);padding:8px;background:#fff}.v80h-nav-title,.v80h-nav-foot{display:none}.v80h-nav button{width:auto;white-space:nowrap;padding:9px 11px}.v80h-main{padding:16px 13px 30px}.v80h-grid.stats,.v80h-template-grid,.v80h-backup-grid,.v80h-import-summary{grid-template-columns:1fr}.v80h-flow{grid-template-columns:1fr}.v80h-import-controls{grid-template-columns:1fr}.v80h-page-head{align-items:flex-start;flex-direction:column}.v80h-template-card{min-height:0}}
@media(prefers-reduced-motion:reduce){.v80h-btn,.v80h-drop{transition:none}}


/* V80H2：报价导入弹窗内置Excel模板 + 同步兼容修复 */
.v80h1-quote-excel-panel{margin:0 0 14px;border:1px solid #dbe8e8;border-radius:18px;background:linear-gradient(135deg,#f8fcfc 0%,#fffaf5 100%);overflow:hidden;box-shadow:0 8px 24px rgba(15,111,120,.06)}
.v80h1-quote-excel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px 12px;border-bottom:1px solid #e7eeee}
.v80h1-quote-excel-title{display:flex;align-items:center;gap:11px;min-width:0}
.v80h1-quote-excel-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#e7f5f3;color:#0f6f78;font-weight:950;font-size:17px;flex:0 0 auto}
.v80h1-quote-excel-title b{display:block;color:#213638;font-size:15px;line-height:1.25}
.v80h1-quote-excel-title span{display:block;color:#728486;font-size:12px;margin-top:3px}
.v80h1-quote-excel-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v80h1-mini-btn{border:1px solid #d7e3e4;background:#fff;color:#345052;border-radius:10px;padding:8px 11px;font-weight:800;font-size:12px;cursor:pointer;white-space:nowrap}
.v80h1-mini-btn:hover{border-color:#8fc7c3;color:#0f6f78;background:#f3fbfa}
.v80h1-quote-excel-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;padding:12px 14px 14px}
.v80h1-excel-card{position:relative;border:1px solid #e0e8e9;border-radius:14px;background:#fff;padding:12px;min-height:112px;display:flex;flex-direction:column;gap:7px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.v80h1-excel-card:hover{border-color:#a9d2cf;box-shadow:0 9px 22px rgba(15,111,120,.09);transform:translateY(-1px)}
.v80h1-excel-card.recommended{border-color:#ffc998;background:linear-gradient(180deg,#fffaf5,#fff)}
.v80h1-excel-badge{position:absolute;right:9px;top:9px;border-radius:999px;padding:3px 7px;background:#fff0df;color:#b95a08;font-size:10px;font-weight:900}
.v80h1-excel-type{color:#0f6f78;font-size:11px;font-weight:900;letter-spacing:.02em}
.v80h1-excel-card h4{margin:0;padding-right:42px;font-size:14px;color:#26393b;line-height:1.35}
.v80h1-excel-card p{margin:0;color:#7b898b;font-size:11px;line-height:1.45;flex:1}
.v80h1-excel-card button{width:100%;border:0;border-radius:10px;background:#edf7f6;color:#0d6e76;font-weight:900;padding:8px 9px;cursor:pointer}
.v80h1-excel-card.recommended button{background:#f47b20;color:#fff}
.v80h1-excel-tip{margin:0 14px 13px;padding:9px 11px;border-radius:11px;background:#f3f7f7;color:#637476;font-size:11px;display:flex;align-items:flex-start;gap:7px}
.v80h1-excel-tip b{color:#31494b;white-space:nowrap}
#v80ImportModal .v80-import-zone.v80h1-drop-active{border-color:#0f6f78!important;background:#effaf8!important;box-shadow:0 0 0 4px rgba(15,111,120,.10)}
@media(max-width:1100px){.v80h1-quote-excel-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.v80h1-quote-excel-head{align-items:flex-start;flex-direction:column}.v80h1-quote-excel-head-actions{width:100%;justify-content:flex-start}.v80h1-quote-excel-list{grid-template-columns:1fr}.v80h1-excel-card{min-height:auto}.v80h1-quote-excel-panel{border-radius:14px}}






/* V80H2 UI polish v2: targeted, no class collisions */
.v80h2-search-wrap{position:relative;flex:1 1 360px;min-width:280px;max-width:560px}
.v80h2-search-wrap input#searchInput{height:46px;width:100%;padding:0 48px 0 16px;font-size:15px;border-radius:14px;border:1px solid rgba(20,30,55,0.10);background:#fff;box-shadow:0 1px 2px rgba(20,30,55,0.04);box-sizing:border-box}
.v80h2-search-wrap input#searchInput:focus{outline:none;border-color:#ff7a3a;box-shadow:0 0 0 3px rgba(255,122,58,0.18)}
.v80h2-search-wrap .v80-search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(20,30,55,0.06);color:#475069;font-size:14px;cursor:pointer;display:none}
.v80h2-search-wrap.has-text .v80-search-clear{display:flex;align-items:center;justify-content:center}
.v80g-product-row td{padding:14px 12px;vertical-align:top}
.v80g-product-row .v80g-action-cell{white-space:nowrap;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end}
.v80g-product-row .v80g-copy-button{background:#eef4ff;color:#2563eb;border:1px solid rgba(37,99,235,0.18)}
.v80g-product-row .v80g-copy-button:hover{background:#dbe7ff}
.v80g-product-row .v80g-edit-button{background:#fff1e3;color:#ff7a3a;border:1px solid rgba(255,122,58,0.18)}
.v80g-product-row .v80g-edit-button:hover{background:#ffe0c2}
@media (max-width:900px){.v80h2-search-wrap{flex:1 1 100%;max-width:100%}}


/* V80H2 editor modal: stronger backdrop and clearer layering */
#v80CatalogEditor{background:rgba(15,18,32,0.55);backdrop-filter:blur(6px) saturate(120%);-webkit-backdrop-filter:blur(6px) saturate(120%);z-index:8000}
#v80CatalogEditor.open{display:flex;align-items:center;justify-content:center;padding:24px}
#v80CatalogEditor .v80-modal-mask{position:absolute;inset:0;background:transparent}
#v80CatalogEditor .v80-modal-card{position:relative;width:min(720px,100%);max-height:88vh;overflow:auto;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,0.4) inset;padding:0;animation:cxxEditorIn .18s ease-out}
#v80CatalogEditor .v80-modal-head{position:sticky;top:0;z-index:2;background:#fff;padding:18px 22px;border-bottom:1px solid rgba(20,30,55,0.08);display:flex;align-items:center;gap:14px}
#v80CatalogEditor .v80-modal-head b{font-size:18px;color:#1f1d2c}
#v80CatalogEditor .v80-modal-head span{color:#6b6f85;font-size:13px;flex:1;min-width:0}
#v80CatalogEditor .v80-modal-close{width:32px;height:32px;border-radius:50%;border:0;background:rgba(20,30,55,0.06);color:#475069;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
#v80CatalogEditor .v80-modal-close:hover{background:rgba(20,30,55,0.12)}
#v80CatalogEditor .v80-modal-body{padding:18px 22px;background:#fff}
#v80CatalogEditor .v80-modal-foot{position:sticky;bottom:0;background:#fff;padding:14px 22px;border-top:1px solid rgba(20,30,55,0.08);display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}
#v80CatalogEditor .v80-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
#v80CatalogEditor .v80-field{display:flex;flex-direction:column;gap:6px;min-width:0}
#v80CatalogEditor .v80-field.wide{grid-column:span 2}
#v80CatalogEditor .v80-field.full{grid-column:span 2}
#v80CatalogEditor .v80-field label{font-size:12.5px;color:#475069}
#v80CatalogEditor .v80-field input,#v80CatalogEditor .v80-field select,#v80CatalogEditor .v80-field textarea{height:40px;padding:0 12px;border-radius:10px;border:1px solid rgba(20,30,55,0.12);background:#fff;font-size:14px;outline:none;width:100%;box-sizing:border-box;color:#1f1d2c}
#v80CatalogEditor .v80-field input:focus,#v80CatalogEditor .v80-field select:focus,#v80CatalogEditor .v80-field textarea:focus{border-color:#ff7a3a;box-shadow:0 0 0 3px rgba(255,122,58,0.18)}
#v80CatalogEditor .v80-field textarea{height:auto;min-height:84px;padding:10px 12px;resize:vertical}
#v80CatalogEditor .v80-btn{height:36px;padding:0 14px;border-radius:10px;border:0;background:#ff7a3a;color:#fff;font-size:13px;cursor:pointer}
#v80CatalogEditor .v80-btn:hover{background:#f06a26}
#v80CatalogEditor .v80-btn.secondary{background:rgba(20,30,55,0.06);color:#475069}
#v80CatalogEditor .v80-btn.secondary:hover{background:rgba(20,30,55,0.12)}
#v80CatalogEditor .v80-btn.green{background:#10b981;color:#fff}
#v80ConfirmModal{z-index:8200;background:rgba(15,18,32,0.45)}
#v80ConfirmModal.open{display:flex;align-items:center;justify-content:center;padding:24px}
#v80ConfirmModal .v80-modal-mask{position:absolute;inset:0;background:transparent}
#v80ConfirmModal .v80-modal-card{position:relative;width:min(440px,100%);max-height:80vh;overflow:auto;background:#fff;border-radius:20px;box-shadow:0 30px 80px rgba(0,0,0,.35);padding:0;animation:cxxEditorIn .18s ease-out}
#v80ConfirmModal .v80-modal-head{position:sticky;top:0;background:#fff;padding:16px 22px;border-bottom:1px solid rgba(20,30,55,0.08);display:flex;align-items:center;gap:14px}
#v80ConfirmModal .v80-modal-head b{font-size:17px;color:#1f1d2c}
#v80ConfirmModal .v80-modal-head span{color:#6b6f85;font-size:13px;flex:1;min-width:0}
#v80ConfirmModal .v80-modal-body{padding:16px 22px;background:#fff}
#v80ConfirmModal .v80-modal-foot{position:sticky;bottom:0;background:#fff;padding:12px 22px;border-top:1px solid rgba(20,30,55,0.08);display:flex;gap:8px;justify-content:flex-end}
#v80CatalogEditor .v80-btn.green:hover{background:#0e9d75}
@keyframes cxxEditorIn{from{opacity:0;transform:translateY(8px) scale(0.98)}to{opacity:1;transform:none}}
@media (max-width:640px){#v80CatalogEditor .v80-form-grid{grid-template-columns:1fr}#v80CatalogEditor .v80-field.wide,#v80CatalogEditor .v80-field.full{grid-column:span 1}}


/* V80H2 action cell polish: wider column, allow wrap, compact buttons */
.product-table-v80g thead th:nth-child(6){width:220px!important;min-width:220px}
.product-table-v80g tbody td.v80g-action-cell{width:220px;min-width:220px;white-space:normal;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:flex-end;padding:10px 12px}
.product-table-v80g tbody td.v80g-action-cell .btn{padding:6px 10px;font-size:12.5px;border-radius:10px;line-height:1.2;min-width:0}
.product-table-v80g tbody td.v80g-action-cell .quick-add-button.v80g-add-button{width:100%;justify-content:center}
.product-table-v80g tbody td.v80g-action-cell .v80g-copy-button,
.product-table-v80g tbody td.v80g-action-cell .v80g-edit-button,
.product-table-v80g tbody td.v80g-action-cell .quick-remove-button.v80g-remove-button{flex:1 1 auto;min-width:80px}
.product-table-v80g tbody td.v80g-action-cell .v80g-copy-button{background:#eef4ff;color:#2563eb;border:1px solid rgba(37,99,235,0.18);white-space:nowrap}
.product-table-v80g tbody td.v80g-action-cell .v80g-copy-button:hover{background:#dbe7ff}
.product-table-v80g tbody td.v80g-action-cell .v80g-edit-button{background:#fff1e3;color:#ff7a3a;border:1px solid rgba(255,122,58,0.18);white-space:nowrap}
.product-table-v80g tbody td.v80g-action-cell .v80g-edit-button:hover{background:#ffe0c2}
@media (max-width:1180px){
  .product-table-v80g thead th:nth-child(6){width:auto!important;min-width:0}
  .product-table-v80g tbody td.v80g-action-cell{width:auto;min-width:0}
}


/* V80H2 row polish: remove hard line separators, use zebra + soft card */
.product-table-v80g{border-collapse:separate!important;border-spacing:0 6px!important;background:transparent!important}
.product-table-v80g thead th{background:transparent!important;border:0!important;color:#705c4e!important;font-weight:900!important;padding:6px 12px!important}
.product-table-v80g tbody tr.v80g-product-row{background:#ffffff!important;border:0!important;box-shadow:0 1px 0 rgba(20,30,55,0.04)!important}
.product-table-v80g tbody tr.v80g-product-row:nth-of-type(even){background:#fafaf6!important}
.product-table-v80g tbody tr.v80g-product-row td{border:0!important;background:transparent!important;vertical-align:middle!important;padding:14px 12px!important}
.product-table-v80g tbody tr.v80g-product-row td:first-child{border-radius:14px 0 0 14px}
.product-table-v80g tbody tr.v80g-product-row td:last-child{border-radius:0 14px 14px 0}
.product-table-v80g tbody tr.v80g-product-row.is-picked{background:#fff4ea!important;box-shadow:inset 4px 0 0 #f47b20,0 1px 0 rgba(20,30,55,0.04)!important}
.product-table-v80g tbody tr.v80g-product-row.is-picked:nth-of-type(even){background:#fff0e2!important}
.product-table-v80g tbody tr.v80g-product-row:hover{background:#f6f8ff!important;box-shadow:0 2px 0 rgba(20,30,55,0.06)!important}
.product-table-v80g tbody tr.v80g-product-row.is-picked:hover{background:#ffe9d4!important}
.product-table-v80g tbody tr.v80g-product-row .product-name{font-size:15px!important}
.product-table-v80g tbody tr.v80g-product-row .product-sub{font-size:12.5px!important;color:#6b6f85!important}
.product-table-v80g tbody tr.v80g-product-row .product-note.v80g-inline-note{font-size:12.5px!important;color:#5a5e74!important;line-height:1.5!important}
.product-table-v80g tbody tr.v80g-product-row .v80g-action-cell{width:200px;min-width:200px;justify-content:flex-end;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:12px}
.product-table-v80g tbody tr.v80g-product-row .v80g-action-cell .btn{padding:6px 12px!important;font-size:12.5px!important;border-radius:10px!important;line-height:1.2!important}
.product-table-v80g tbody tr.v80g-product-row .v80g-action-cell .v80g-edit-button{background:#fff1e3!important;color:#ff7a3a!important;border:1px solid rgba(255,122,58,0.18)!important}
.product-table-v80g tbody tr.v80g-product-row .v80g-action-cell .v80g-edit-button:hover{background:#ffe0c2!important}
.product-table-v80g tbody tr.v80g-product-row .v80g-action-cell .v80g-copy-button{background:#eef4ff!important;color:#2563eb!important;border:1px solid rgba(37,99,235,0.18)!important}
.product-table-v80g tbody tr.v80g-product-row .v80g-action-cell .v80g-copy-button:hover{background:#dbe7ff!important}
.product-table-v80g tbody tr.v80g-product-row .process-step-divider.v80g-step-divider td{background:transparent!important;border:0!important;padding:14px 4px 4px!important}
.product-table-v80g tbody tr.v80g-product-row .process-step-divider.v80g-step-divider td>span,.product-table-v80g tbody tr.v80g-product-row .process-step-divider.v80g-step-divider td>b{color:#9aa0b5!important}
@media (max-width:1180px){
  .product-table-v80g tbody tr.v80g-product-row .v80g-action-cell{width:auto;min-width:0}
}


/* V80H2 quote row flash + delete confirm button */
.v80h2-row-flash{animation:v80h2RowFlash 2.2s ease}
@keyframes v80h2RowFlash{
  0%{box-shadow:0 0 0 0 rgba(244,123,32,0.0);background:#fff}
  15%{box-shadow:0 0 0 6px rgba(244,123,32,0.30);background:#fff7ec}
  100%{box-shadow:0 0 0 0 rgba(244,123,32,0.0);background:#fff}
}
  /* V80H2: 复制项目后顶部 dock 闪动反馈，不再滚动到底部 */
  .quote-dock.v80h2-dock-pulse .quote-dock-inner{animation:v80h2DockPulse 1.6s ease}
  @keyframes v80h2DockPulse{
    0%{box-shadow:0 0 0 0 rgba(244,123,32,0);transform:translateY(0)}
    20%{box-shadow:0 0 0 8px rgba(244,123,32,0.22);transform:translateY(-2px)}
    60%{box-shadow:0 0 0 4px rgba(244,123,32,0.10);transform:translateY(0)}
    100%{box-shadow:0 0 0 0 rgba(244,123,32,0);transform:translateY(0)}
  }
.v80-btn.ghost-danger{background:transparent!important;color:#ef4444!important;border:1px solid rgba(239,68,68,0.35)!important;margin-right:auto}
.v80-btn.ghost-danger:hover{background:rgba(239,68,68,0.08)!important}


/* ===== v9.5: 子分类管理（combobox + 拖动排序） ===== */
.v80-sub-wrap{display:flex;gap:6px;align-items:center}
.v80-sub-wrap input{flex:1;min-width:0}
.v80-sub-manage-btn{flex-shrink:0;padding:7px 12px;font-size:12px;font-weight:900;border-radius:10px;border:1px solid #d8e3e3;background:#fff;color:#0f4e55;cursor:pointer;transition:all .15s}
.v80-sub-manage-btn:hover{background:#0f4e55;color:#fff;border-color:#0f4e55}
.v80-sub-manage-btn:active{transform:scale(.96)}

#v80SubcatManager{z-index:8100}#v80SubcatManager .v80-modal-card{width:min(520px,100%)}
.v80-subcat-manager .v80-modal-body{padding:18px 20px}
.v80-subcat-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.v80-subcat-toolbar label{font-size:12px;font-weight:900;color:#0f4e55}
.v80-subcat-toolbar select{flex:1;min-width:120px;border:1px solid #d8e3e3;border-radius:10px;padding:8px 10px;background:#fff;font-size:13px}
.v80-subcat-count{font-size:12px;color:#6b6f85;background:#f5f3ef;padding:4px 10px;border-radius:999px}

.v80-drag-list{list-style:none;margin:0;padding:0;border:1px solid #e3eaeb;border-radius:14px;background:#fafcfd;max-height:380px;overflow:auto}
.v80-drag-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid #ebeff0;background:#fff;transition:background .12s,box-shadow .12s,transform .12s;cursor:default}
.v80-drag-item:last-child{border-bottom:0}
.v80-drag-item.dragging{opacity:.4;background:#f0f7f7}
.v80-drag-item.drag-over-top{box-shadow:inset 0 2px 0 #0f6f78}
.v80-drag-item.drag-over-bottom{box-shadow:inset 0 -2px 0 #0f6f78}
.v80-drag-handle{cursor:grab;color:#9aa4a6;font-size:16px;letter-spacing:-2px;user-select:none;padding:2px 4px;line-height:1}
.v80-drag-handle:active{cursor:grabbing}
.v80-drag-name{flex:1;font-size:14px;color:#1f1d2c;font-weight:600;min-width:0;word-break:break-all}
.v80-drag-actions{display:flex;gap:4px;flex-shrink:0}
.v80-icon-btn{border:0;background:transparent;cursor:pointer;font-size:14px;padding:4px 6px;border-radius:8px;transition:background .12s}
.v80-icon-btn:hover{background:#f0f7f7}

.v80-subcat-add{display:flex;gap:8px;margin-top:14px;align-items:center}
.v80-subcat-add input{flex:1;border:1px solid #d8e3e3;border-radius:10px;padding:8px 10px;font-size:13px;background:#fff}
.v80-subcat-add input:focus{outline:none;border-color:#0f6f78;box-shadow:0 0 0 3px rgba(15,111,120,.12)}
.v80-subcat-add button{padding:8px 14px;font-size:12px;font-weight:900;border-radius:10px;border:0;background:#0f6f78;color:#fff;cursor:pointer;white-space:nowrap}
.v80-subcat-add button:hover{background:#0c555c}
.v80-subcat-hint{margin:14px 0 0;font-size:12px;color:#6b6f85;line-height:1.6;background:#f5f3ef;padding:10px 12px;border-radius:10px}


/* ===== v9.6: 自定义子分类 combobox ===== */
.v80-combobox{position:relative;flex:1;min-width:0}
.v80-combobox-input{width:100%;border:1px solid var(--v80-line,#d8e3e3);border-radius:11px;padding:10px 36px 10px 11px;background:#fff;font-size:13px;cursor:pointer}
.v80-combobox-input:focus{outline:none;border-color:#0f6f78;box-shadow:0 0 0 3px rgba(15,111,120,.12)}
.v80-combobox-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;width:26px;height:26px;cursor:pointer;font-size:14px;color:#6b6f85;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .12s}
.v80-combobox-toggle:hover{background:#f0f7f7;color:#0f4e55}
.v80-combobox-list{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:50;max-height:260px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid #d8e3e3;border-radius:11px;box-shadow:0 8px 24px rgba(15,30,55,.12);display:none}
.v80-combobox-list.open{display:block}
.v80-combobox-item{padding:8px 12px;font-size:13px;color:#1f1d2c;cursor:pointer;border-radius:8px;transition:background .1s;word-break:break-all}
.v80-combobox-item:hover{background:#eaf5f3;color:#0f4e55}
.v80-combobox-item.selected{background:#0f6f78;color:#fff;font-weight:600}
.v80-combobox-item.v80-combobox-new{color:#0f6f78;font-style:italic;border-top:1px dashed #d8e3e3;margin-top:4px;padding-top:10px}
.v80-combobox-item.v80-combobox-new:hover{background:#f0f7f7;color:#0c555c}
.v80-combobox-empty{padding:14px 12px;text-align:center;color:#9aa4a6;font-size:12.5px;font-style:italic}
/* === V97 顶部导航：两级 + dropdown === */
.system-top-nav{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px!important;
  border:1px solid rgba(114,83,61,.12)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.82)!important;
  box-shadow:0 8px 26px rgba(74,48,31,.055),inset 0 1px 0 rgba(255,255,255,.95)!important;
  position:relative!important;
  z-index:6000!important;
}
.system-nav-group{position:relative;display:flex;align-items:center}
.system-nav-item{
  appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#765f50!important;
  min-height:44px!important;
  padding:0 15px!important;
  border-radius:12px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  cursor:pointer!important;
  font:inherit!important;
  white-space:nowrap!important;
  transition:.16s ease!important;
  pointer-events:auto!important;
}
.system-nav-item b{font-size:13px!important;font-weight:900!important;letter-spacing:.1px!important}
.system-nav-icon{
  width:24px!important;height:24px!important;border-radius:8px!important;
  display:grid!important;place-items:center!important;
  background:#f4eee9!important;color:#956b4e!important;
  font-size:14px!important;font-weight:1000!important;
}
.system-nav-item:hover{background:#fff6ee!important;color:#a74e10!important}
.system-nav-item.active{
  color:#fff!important;
  background:linear-gradient(145deg,#ff9850,#f47b20)!important;
  box-shadow:0 7px 18px rgba(244,123,32,.22)!important;
}
.system-nav-item.active .system-nav-icon{background:rgba(255,255,255,.20)!important;color:#fff!important}
.system-nav-trigger .system-nav-caret{
  font-size:10px!important;margin-left:2px!important;
  transition:transform .18s ease!important;color:inherit!important;font-weight:900!important;
}
.system-nav-trigger[aria-expanded="true"] .system-nav-caret,.v913-trigger[aria-expanded="true"] .system-nav-caret{transform:rotate(180deg)}
.v913-trigger .system-nav-caret{font-size:10px!important;margin-left:2px!important}

.system-nav-dropdown{
  position:absolute!important;
  top:calc(100% + 10px)!important;
  left:50%!important;
  transform:translateX(-50%) translateY(-6px)!important;
  min-width:280px!important;
  padding:8px!important;
  border:1px solid rgba(114,83,61,.12)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(16px)!important;
  box-shadow:0 22px 60px rgba(74,48,31,.18),0 4px 14px rgba(74,48,31,.06)!important;
  display:none;
  flex-direction:column!important;
  gap:4px!important;
  z-index:6200!important;
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
}
.system-nav-dropdown::before{
  content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:14px;height:14px;background:rgba(255,255,255,.96);
  border-left:1px solid rgba(114,83,61,.12);
  border-top:1px solid rgba(114,83,61,.12);
  border-top-left-radius:4px;
}
.system-nav-group.is-open .system-nav-dropdown{
  display:flex!important;
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translateX(-50%) translateY(0)!important;
}
.system-nav-dropdown-item{
  appearance:none!important;border:0!important;background:transparent!important;
  display:flex!important;align-items:center!important;gap:12px!important;
  padding:10px 11px!important;border-radius:13px!important;
  text-align:left!important;cursor:pointer!important;color:#4b3a30!important;
  font:inherit!important;transition:.14s ease!important;
  width:100%!important;
}
.system-nav-dropdown-item:hover{background:#fff4ea!important;color:#a74e10!important}
.system-nav-dropdown-item.active{
  background:linear-gradient(145deg,#fff0e3,#fff8f1)!important;
  color:#a74e10!important;
  box-shadow:inset 3px 0 0 #f47b20!important;
}
.system-nav-drop-icon{
  flex:0 0 32px!important;width:32px!important;height:32px!important;
  border-radius:10px!important;display:grid!important;place-items:center!important;
  background:#f7eee5!important;color:#956b4e!important;font-size:15px!important;font-weight:1000!important;
}
.system-nav-dropdown-item.active .system-nav-drop-icon{
  background:linear-gradient(145deg,#ff9850,#f47b20)!important;color:#fff!important;
  box-shadow:0 5px 12px rgba(244,123,32,.25)!important;
}
.system-nav-drop-text{min-width:0;display:flex;flex-direction:column;gap:2px}
.system-nav-drop-text b{font-size:13px;font-weight:900;color:inherit;letter-spacing:.1px}
.system-nav-drop-text em{
  font-size:11px;color:#9a8170;font-style:normal;font-weight:700;
  letter-spacing:.2px;
}
.system-nav-dropdown-sep{
  height:1px!important;margin:6px 4px!important;
  background:linear-gradient(90deg,transparent,rgba(114,83,61,.18),transparent)!important;
}

.system-nav-mobile-toggle{
  display:none!important;
  appearance:none!important;border:0!important;background:transparent!important;
  width:42px;height:42px;border-radius:12px!important;
  flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:5px;
  cursor:pointer!important;color:#765f50!important;padding:0!important;
}
.system-nav-mobile-toggle span{
  display:block!important;width:20px;height:2.5px;background:#765f50;border-radius:3px;transition:.18s ease!important;
}
.system-top-nav.mobile-open .system-nav-mobile-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg);background:#a74e10}
.system-top-nav.mobile-open .system-nav-mobile-toggle span:nth-child(2){opacity:0}
.system-top-nav.mobile-open .system-nav-mobile-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);background:#a74e10}

body.measurement-workspace-open #navConstruction,
body.records-export-open #navConstruction{color:#fff;background:linear-gradient(145deg,#ff9850,#f47b20)}
body.material-layer-open #navConstruction,
body.data-center-open #navConstruction{color:#fff;background:linear-gradient(145deg,#ff9850,#f47b20)}
body.system-landing-open #navSystemHome{color:#fff;background:linear-gradient(145deg,#ff9850,#f47b20)}
body.data-center-open #navDataCenter{color:#fff;background:linear-gradient(145deg,#ff9850,#f47b20)}

/* 让 dropdown 在 v80Landing / v80MaterialLayer / 数据中心页都可正常显示（层级 6200 高于 v80-landing 5000） */
#systemTopNav{isolation:isolate}

@media(max-width:1080px){
  .system-top-nav{flex-wrap:nowrap!important;overflow-x:auto!important;justify-content:flex-start!important}
  .system-nav-item{padding:0 11px!important}
  .system-nav-item b{font-size:12.5px!important}
  .system-nav-dropdown{min-width:260px!important}
}
@media(max-width:760px){
  .system-top-nav{flex-wrap:wrap!important}
  .system-nav-mobile-toggle{display:flex!important}
  .system-nav-group,.system-nav-item.system-nav-trigger{
    flex:1 0 calc(50% - 4px)!important;justify-content:flex-start!important;
  }
  .system-nav-group{order:99!important;flex-basis:100%!important}
  .system-top-nav.mobile-closed .system-nav-group .system-nav-dropdown{
    display:none!important;
  }
  .system-top-nav.mobile-closed .system-nav-group{
    max-height:none;overflow:visible;opacity:1;padding:0;margin:0;
  }
  /* nav 折叠已统一交给外层 .system-top-nav { flex-wrap; overflow-x } 控制, 不再折叠单个 group */
  .system-top-nav.mobile-open .system-nav-group{
    max-height:600px;opacity:1;
    flex-direction:column!important;align-items:stretch!important;
    padding:6px;background:rgba(255,247,239,.96);border-radius:13px;margin-top:6px;
  }
  .system-top-nav.mobile-open .system-nav-group .system-nav-dropdown{
    position:static!important;transform:none!important;
    box-shadow:none!important;border:0!important;background:transparent!important;
    backdrop-filter:none!important;display:flex!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
    padding:0!important;margin-top:6px!important;
  }
  .system-top-nav.mobile-open .system-nav-group .system-nav-dropdown::before{display:none!important}
  .system-top-nav.mobile-open .system-nav-dropdown-item{padding:10px 8px!important}
}
@media(max-width:760px){
  .header-inner{display:flex!important;flex-wrap:wrap!important}
  .system-top-nav{order:3!important;flex:1 0 100%!important;width:100%!important;justify-content:flex-start!important}
  .system-nav-item{min-width:max-content!important;padding:0 11px!important;min-height:40px!important}
  .system-nav-item b{font-size:12px!important}
  .system-nav-icon{width:22px!important;height:22px!important;font-size:13px!important}
  .system-nav-mobile-toggle{order:0!important;margin-left:auto!important}
}
/* === V97 顶部导航始终在最上层 === */
body.system-landing-open .header,
body.material-layer-open .header,
body.data-center-open .header{z-index:6500!important}
body.system-landing-open .v80-landing{z-index:5400}

/* === V97 顶部导航全局最上层 === */
body .header{z-index:200000!important}
#systemTopNav{z-index:200001!important;position:relative!important}
.system-nav-dropdown{z-index:200002!important}
body.system-landing-open .v80-landing{z-index:5000!important}
body.material-layer-open #v80MaterialLayer{z-index:4200!important}
body.data-center-open #v80hDataCenter{z-index:5500!important}


/* === V98 空间测量工具栏 / 预设 / CAD === */
.measurement-v98-actionbar{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:12px 0 4px;padding:10px 12px;
  background:linear-gradient(145deg,#fffaf3,#fff5e8);
  border:1px dashed rgba(244,123,32,.28);border-radius:13px;
}
.measurement-v98-actionbar .btn{
  font-size:12.5px;padding:7px 11px;border-radius:10px;font-weight:900;
}
.measurement-v98-presets{position:relative}
.measurement-preset-panel{
  position:absolute;right:0;top:calc(100% + 8px);z-index:60;
  width:min(520px,90vw);padding:14px;border-radius:16px;
  background:#fff;border:1px solid #eadfd7;
  box-shadow:0 22px 60px rgba(74,48,31,.18);
}
.measurement-preset-head{font-size:12.5px;color:#8a7465;margin-bottom:10px;font-weight:900}
.measurement-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.measurement-preset-card{
  border:1px solid #eadfd7;border-radius:12px;padding:10px;
  background:#fff;text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap:4px;
  transition:.16s ease;font:inherit;color:#3c2e25;
}
.measurement-preset-card:hover{
  background:linear-gradient(145deg,#fff0e3,#fff8f1);
  border-color:#f4a766;color:#a74e10;
  transform:translateY(-1px);
}
.measurement-preset-card b{font-size:13px;font-weight:1000}
.measurement-preset-card em{font-size:11px;color:#8a7465;font-style:normal;font-weight:700}
.measurement-preset-card .preset-tag{
  display:inline-block;font-size:10px;background:#fff2e3;color:#a74e10;
  border-radius:6px;padding:1px 6px;margin-top:2px;font-weight:900;
  align-self:flex-start;
}

.measurement-cad-modal{
  position:fixed;inset:0;z-index:210000;display:none;align-items:center;justify-content:center;
  background:rgba(28,22,16,.55);backdrop-filter:blur(6px);padding:24px;
}
.measurement-cad-modal.open{display:flex}
.measurement-cad-card{
  width:min(1180px,98vw);max-height:92vh;background:#fff;border-radius:20px;
  box-shadow:0 32px 80px rgba(0,0,0,.35);display:flex;flex-direction:column;overflow:hidden;
}
.measurement-cad-head{
  padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:linear-gradient(135deg,#0f4e55,#1b6e7a);color:#fff;
}
.measurement-cad-head h3{margin:0;font-size:18px;font-weight:900}
.measurement-cad-head p{margin:2px 0 0;color:rgba(255,255,255,.78);font-size:12px}
.measurement-cad-close{
  appearance:none;border:0;background:rgba(255,255,255,.16);color:#fff;
  width:34px;height:34px;border-radius:10px;cursor:pointer;font-size:18px;
}
.measurement-cad-body{display:grid;grid-template-columns:1fr 320px;gap:0;flex:1;min-height:0}
.measurement-canvas-wrap{
  background:repeating-linear-gradient(45deg,#faf7f2 0 12px,#f3eee7 12px 24px);
  padding:14px;overflow:auto;display:flex;align-items:center;justify-content:center;
}
.measurement-cad-canvas{background:#fff;border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.08);max-width:100%;max-height:100%}
.measurement-cad-side{padding:14px 16px;background:#fafaf8;border-left:1px solid #efe8e0;overflow:auto}
.measurement-cad-side h4{margin:0 0 8px;font-size:13px;color:#3c2e25}
.measurement-cad-stat{
  display:flex;justify-content:space-between;align-items:center;
  padding:7px 10px;border:1px solid #eee2d8;border-radius:9px;margin-bottom:5px;background:#fff;font-size:12px;
}
.measurement-cad-stat b{color:#a74e10;font-weight:1000}
.measurement-cad-side .section{margin-bottom:14px}
.measurement-cad-actions{display:flex;flex-direction:column;gap:6px;margin-top:6px}
.measurement-cad-actions button{
  appearance:none;border:0;border-radius:10px;padding:9px 12px;font-weight:900;cursor:pointer;font-size:12.5px;
}
.cad-btn-primary{background:#0f4e55;color:#fff}
.cad-btn-secondary{background:#fff;color:#3c2e25;border:1px solid #eadfd7!important}
.cad-btn-orange{background:linear-gradient(135deg,#ff9850,#f47b20);color:#fff}

@media(max-width:760px){
  .measurement-preset-panel{width:min(360px,90vw)}
  .measurement-preset-grid{grid-template-columns:1fr 1fr}
  .measurement-cad-body{grid-template-columns:1fr;grid-template-rows:1fr auto;max-height:80vh}
  .measurement-canvas-wrap{max-height:50vh}
}

/* === V99 主材报价页设计 === */
body.material-layer-open #v80MaterialLayer{
  top:var(--v80-system-header-height,86px)!important;
}
body.material-layer-open .v80-material-header{
  display:flex!important;
  position:sticky!important;
  top:0!important;
  z-index:60!important;
}
.v80-material-shell{padding:0 20px 50px}
.v80-material-topbar{
  position:sticky;top:0;z-index:30;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin:0 -20px 18px;padding:16px 26px;
  background:linear-gradient(135deg,#fff8f3 0,#fff 60%);
  border-bottom:1px solid #f1e6dc;
  box-shadow:0 4px 14px rgba(74,48,31,.04);
}
.v80-material-topbar-left{display:flex;align-items:center;gap:14px}
.v80-material-topbar-mark{
  width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(145deg,#1f607e,#0f4e55);color:#fff;font-size:24px;font-weight:1000;
  box-shadow:0 8px 18px rgba(15,78,85,.24);
}
.v80-material-topbar-title h2{margin:0;font-size:18px;color:#3c2e25;font-weight:1000;letter-spacing:.5px}
.v80-material-topbar-title p{margin:3px 0 0;color:#8a7465;font-size:12px}
.v80-material-topbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v80-material-topbar-actions .v80-btn{padding:10px 14px;border-radius:11px;font-weight:900;font-size:12.5px}
.v80-material-panel-card{
  background:linear-gradient(180deg,#fff 0,#fcfaf7 100%);
  border:1px solid #f1e6dc;border-radius:22px;
  box-shadow:0 12px 36px rgba(74,48,31,.06);
}
.v80-material-panel-head{padding:14px 18px;border-bottom:1px solid #f0e6dd;display:flex;justify-content:space-between;align-items:center;gap:10px;background:transparent}
.v80-material-panel-head h3{margin:0;color:#3c2e25;font-size:16px;font-weight:1000}
.v80-material-panel-head p{margin:3px 0 0;color:#8a7465;font-size:12px;line-height:1.5}

.v80-material-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}
.v80-material-stat-card{
  border-radius:18px;padding:16px 18px;
  background:#fff;border:1px solid #f1e6dc;
  box-shadow:0 6px 18px rgba(74,48,31,.04);
  display:flex;flex-direction:column;gap:4px;position:relative;overflow:hidden;
}
.v80-material-stat-card::before{
  content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;
  border-radius:50%;opacity:.08;
}
.v80-material-stat-card.c1::before{background:#0f4e55}
.v80-material-stat-card.c2::before{background:#a74e10}
.v80-material-stat-card.c3::before{background:#1f607e}
.v80-material-stat-card.c4::before{background:#d75f0c}
.v80-material-stat-card span{font-size:12px;color:#8a7465;font-weight:800;letter-spacing:.3px}
.v80-material-stat-card b{font-size:24px;color:#3c2e25;font-weight:1000;letter-spacing:.3px}
.v80-material-stat-card.c2 b{color:#a74e10}
.v80-material-stat-card.c4 b{color:#d75f0c}
.v80-material-stat-card em{font-size:11px;color:#927767;font-style:normal;font-weight:700}

.v80-material-grid{
  display:grid;grid-template-columns:240px minmax(0,1.1fr) minmax(420px,1fr);gap:14px;align-items:start;
}
.v80-material-panel-card{overflow:hidden}

.v80-cat-list{display:grid;gap:7px;padding:12px}
.v80-cat-btn{
  border:1px solid #eee2d8;background:#fff;border-radius:11px;padding:10px 11px;
  text-align:left;color:#5b4d43;font-weight:850;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;
  transition:.14s ease;font-size:12.5px;
}
.v80-cat-btn:hover{background:#fffaf2;border-color:#f4a766;color:#a74e10}
.v80-cat-btn.active{background:linear-gradient(145deg,#fff0e3,#fff8f1);border-color:#f4a766;color:#a74e10;box-shadow:inset 3px 0 0 #f47b20}
.v80-cat-btn b{font-weight:1000;font-size:13px}

.v80-search-row{display:flex;gap:8px;padding:12px 14px;border-bottom:1px solid #f0e6dd;flex-wrap:wrap;background:#fffcfa}
.v80-search-row input{
  flex:1;min-width:160px;border:1px solid #eadfd7;border-radius:12px;padding:10px 13px;background:#fff;font-size:13px;
  transition:.14s ease;
}
.v80-search-row input:focus{outline:none;border-color:#f4a766;box-shadow:0 0 0 3px rgba(244,123,32,.12)}

.v80-material-table{width:100%;border-collapse:separate;border-spacing:0}
.v80-material-table th{
  background:linear-gradient(180deg,#fff7ef,#fff0e2);
  padding:11px 12px;text-align:left;font-size:11.5px;color:#a74e10;font-weight:1000;
  letter-spacing:.3px;border-bottom:1px solid #f4d8c4;position:sticky;top:0;z-index:1;
}
.v80-material-table td{
  padding:11px 12px;border-bottom:1px solid #f5ece4;font-size:12.5px;color:#3c2e25;vertical-align:middle;
}
.v80-material-table tr:hover td{background:#fff9f3}
.v80-material-table tr.active-row td{background:linear-gradient(90deg,#fff8ef,#fffbf5)}
.v80-material-table .v80-mat-name{font-weight:1000;color:#3c2e25;font-size:13px}
.v80-material-table .v80-mat-sub{font-size:11px;color:#8a7465;margin-top:2px}
.v80-material-table .v80-mat-tag{
  display:inline-block;font-size:10px;background:#eaf3f6;color:#1f607e;
  border-radius:5px;padding:2px 7px;font-weight:900;margin-right:4px;
}
.v80-material-table .v80-mat-price{
  background:linear-gradient(145deg,#fff8f0,#fff);border:1px solid #f4d8c4;
  border-radius:9px;padding:6px 8px;width:110px;font-size:13px;font-weight:1000;color:#a74e10;
}
.v80-material-table .v80-mat-brand-input{
  background:#fff;border:1px dashed #d8c8b8;border-radius:7px;padding:4px 7px;
  font-size:12px;color:#5d4d42;width:130px;transition:.14s ease;
}
.v80-material-table .v80-mat-brand-input:focus{outline:none;border-style:solid;border-color:#f4a766;background:#fffaf6}
.v80-material-table .v80-row-actions{display:flex;gap:5px;flex-wrap:wrap}
.v80-material-table .v80-row-actions .v80-btn{padding:5px 8px;font-size:11px;border-radius:8px}
.v80-material-table .v80-row-action{
  appearance:none;border:0;cursor:pointer;padding:6px 9px;border-radius:8px;
  font-size:11px;font-weight:900;transition:.14s ease;
}
.v80-material-table .v80-row-action.add{background:linear-gradient(145deg,#0f4e55,#1f607e);color:#fff}
.v80-material-table .v80-row-action.edit{background:#fff;border:1px solid #eadfd7;color:#5d4d42}
.v80-material-table .v80-row-action.del{background:#fff5f5;border:1px solid #f0caca;color:#c73939}

.v80-quote-list{display:flex;flex-direction:column;gap:8px;padding:12px 14px}
.v80-quote-list .v80-empty{padding:36px 14px;text-align:center;color:#8a7465;font-size:13px}
.v80-quote-row{
  display:grid;grid-template-columns:1fr 78px 78px 32px;gap:8px;align-items:center;
  padding:10px 12px;border:1px solid #f1e6dc;border-radius:12px;background:#fff;
}
.v80-quote-row .v80-mat-name{font-weight:1000;font-size:13px;color:#3c2e25}
.v80-quote-row .v80-mat-sub{font-size:11px;color:#8a7465;margin-top:2px}
.v80-quote-row input[type=number]{
  border:1px solid #eadfd7;border-radius:8px;padding:5px 8px;width:100%;font-size:12px;text-align:center;
  background:#fff;color:#3c2e25;
}
.v80-quote-row input[type=number]:focus{outline:none;border-color:#f4a766}
.v80-quote-row .v80-close{
  appearance:none;border:0;background:#fff5f5;border:1px solid #f0caca;color:#c73939;
  width:28px;height:28px;border-radius:8px;cursor:pointer;font-size:14px;
}
.v80-quote-row .v80-quote-note{
  grid-column:1/-1;border-top:1px dashed #eee2d8;padding-top:7px;margin-top:2px;
}
.v80-quote-row .v80-quote-note textarea{
  width:100%;border:1px solid #f1e6dc;border-radius:8px;padding:6px 9px;font-size:11.5px;
  resize:vertical;min-height:32px;background:#fcfaf7;color:#5d4d42;
}
.v80-quote-row .v80-quote-note textarea:focus{outline:none;border-color:#f4a766;background:#fffaf6}
.v80-quote-row.v80-quote-row-head{
  background:linear-gradient(180deg,#fff7ef,#fff0e2);border:1px solid #f4d8c4;
  font-size:11px;color:#a74e10;font-weight:1000;
}

.v80-material-total-row{
  display:flex;justify-content:space-between;align-items:center;padding:14px 16px;
  background:linear-gradient(135deg,#fff7ef,#fff0e2);border-top:1px solid #f4d8c4;
  font-weight:1000;color:#a74e10;font-size:14px;
}
.v80-material-total-row b{font-size:24px;color:#d75f0c;font-weight:1000}

.v80-modal-foot{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #f1e6dc;justify-content:flex-end;background:#fffcfa}
.v80-modal-foot .v80-btn{padding:9px 14px;border-radius:10px;font-weight:900;font-size:12.5px}

/* === V912 AI 智能报价 === */
body.ai-quote-open .ai-quote-layer{transform:translateY(0);opacity:1;visibility:visible}
.ai-quote-layer{
  position:fixed;inset:0;z-index:205000;
  background:linear-gradient(135deg,#0f1c2c 0,#1d3556 50%,#0f4e55 100%);
  display:flex;flex-direction:column;overflow:hidden;
  transform:translateY(20px);opacity:0;visibility:hidden;transition:.25s ease;
}
.ai-quote-topbar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:18px 26px;border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.18);backdrop-filter:blur(14px);
}
.ai-quote-topbar-left{display:flex;align-items:center;gap:14px}
.ai-quote-mark{
  width:46px;height:46px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(135deg,#ff9850,#d75f0c);color:#fff;font-size:24px;font-weight:1000;
  box-shadow:0 10px 24px rgba(215,95,12,.45);
}
.ai-quote-topbar h2{margin:0;font-size:20px;color:#fff;font-weight:1000;letter-spacing:.5px}
.ai-quote-topbar p{margin:3px 0 0;color:rgba(255,255,255,.72);font-size:12.5px}
.ai-quote-topbar-actions{display:flex;gap:8px}
.ai-quote-topbar-actions button{
  appearance:none;border:0;border-radius:10px;padding:9px 14px;font-weight:900;cursor:pointer;font-size:12.5px;
}
.ai-quote-settings-btn{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.2)!important}
.ai-quote-close-btn{background:#fff;color:#0f1c2c}

.ai-quote-shell{flex:1;display:grid;grid-template-columns:280px 1fr 360px;min-height:0}
.ai-quote-side{
  padding:18px 18px;background:rgba(0,0,0,.18);border-right:1px solid rgba(255,255,255,.1);
  overflow:auto;
}
.ai-quote-side h3{margin:0 0 10px;color:#fff;font-size:13px;font-weight:1000;letter-spacing:.5px}
.ai-quote-preset{display:grid;gap:8px;margin-bottom:18px}
.ai-quote-preset button{
  appearance:none;border:0;cursor:pointer;text-align:left;
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)!important;
  border-radius:12px;padding:10px 12px;color:#fff;font:inherit;
  transition:.14s ease;display:flex;flex-direction:column;gap:3px;
}
.ai-quote-preset button:hover{background:rgba(255,123,32,.16);border-color:rgba(244,123,32,.5)!important}
.ai-quote-preset b{font-size:13px;font-weight:1000}
.ai-quote-preset em{font-size:11px;color:rgba(255,255,255,.65);font-style:normal}

.ai-quote-chat{display:flex;flex-direction:column;overflow:hidden;position:relative}
.ai-quote-stream{flex:1;padding:18px 26px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}
.ai-quote-msg{max-width:78%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.65;white-space:pre-wrap;word-break:break-word}
.ai-quote-msg.user{align-self:flex-end;background:linear-gradient(135deg,#ff9850,#d75f0c);color:#fff;border-bottom-right-radius:4px}
.ai-quote-msg.bot{align-self:flex-start;background:rgba(255,255,255,.92);color:#3c2e25;border-bottom-left-radius:4px}
.ai-quote-msg.system{align-self:center;background:rgba(255,255,255,.06);color:rgba(255,255,255,.75);font-size:11.5px;padding:6px 14px;border-radius:999px}
.ai-quote-msg.bot h4{margin:0 0 6px;font-size:13.5px;font-weight:1000;color:#a74e10}
.ai-quote-msg.bot ul{margin:6px 0 6px 18px;padding:0}
.ai-quote-msg.bot li{margin:2px 0}

.ai-quote-input-bar{padding:14px 20px;background:rgba(0,0,0,.22);border-top:1px solid rgba(255,255,255,.1);display:flex;gap:10px;align-items:flex-end}
.ai-quote-input-bar textarea{
  flex:1;background:rgba(255,255,255,.92);border:0;border-radius:12px;
  padding:10px 14px;font:inherit;font-size:13px;color:#3c2e25;resize:none;min-height:42px;max-height:120px;
}
.ai-quote-input-bar textarea:focus{outline:none;background:#fff;box-shadow:0 0 0 3px rgba(244,123,32,.32)}
.ai-quote-input-bar button{
  appearance:none;border:0;border-radius:12px;padding:11px 18px;font-weight:1000;cursor:pointer;
  background:linear-gradient(135deg,#ff9850,#d75f0c);color:#fff;font-size:13px;
}
.ai-quote-input-bar button:disabled{opacity:.5;cursor:not-allowed}

.ai-quote-result{
  padding:18px;background:rgba(0,0,0,.25);border-left:1px solid rgba(255,255,255,.1);
  overflow:auto;color:#fff;
}
.ai-quote-result h3{margin:0 0 10px;font-size:14px;font-weight:1000}
.ai-quote-result-empty{padding:36px 16px;text-align:center;color:rgba(255,255,255,.55);font-size:12.5px}
.ai-quote-result-stat{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 12px;border-radius:11px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);margin-bottom:6px;font-size:12px;
}
.ai-quote-result-stat b{font-size:14px;color:#ff9850;font-weight:1000}
.ai-quote-result-item{
  display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;
  padding:7px 10px;border-radius:9px;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.06);margin-bottom:4px;font-size:12px;
}
.ai-quote-result-item .price{color:#ff9850;font-weight:900}
.ai-quote-result-actions{display:flex;flex-direction:column;gap:6px;margin-top:14px}
.ai-quote-result-actions button{
  appearance:none;border:0;border-radius:10px;padding:10px;font-weight:900;cursor:pointer;font-size:12.5px;
}
.ai-quote-result-actions .primary{background:linear-gradient(135deg,#ff9850,#d75f0c);color:#fff}
.ai-quote-result-actions .ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.2)!important}

/* AI settings modal */
.ai-quote-settings{
  position:fixed;inset:0;z-index:215000;display:none;align-items:center;justify-content:center;
  background:rgba(0,0,0,.55);backdrop-filter:blur(8px);padding:24px;
}
.ai-quote-settings.open{display:flex}
.ai-quote-settings-card{
  width:min(540px,98vw);background:#fff;border-radius:18px;padding:22px;
  box-shadow:0 32px 80px rgba(0,0,0,.4);display:flex;flex-direction:column;gap:14px;
}
.ai-quote-settings-card h3{margin:0;font-size:18px;color:#3c2e25;font-weight:1000}
.ai-quote-settings-card p{margin:0;color:#8a7465;font-size:12.5px;line-height:1.6}
.ai-quote-settings-card label{font-size:12px;color:#5d4d42;font-weight:900;display:flex;flex-direction:column;gap:6px}
.ai-quote-settings-card input,.ai-quote-settings-card select{
  border:1px solid #eadfd7;border-radius:10px;padding:10px 12px;font:inherit;font-size:13px;color:#3c2e25;background:#fff;
}
.ai-quote-settings-card input:focus,.ai-quote-settings-card select:focus{outline:none;border-color:#f4a766;box-shadow:0 0 0 3px rgba(244,123,32,.12)}
.ai-quote-settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}
.ai-quote-settings-actions button{
  appearance:none;border:0;border-radius:10px;padding:9px 16px;font-weight:900;cursor:pointer;font-size:12.5px;
}
.ai-quote-settings-actions .ghost{background:#fff;color:#3c2e25;border:1px solid #eadfd7!important}
.ai-quote-settings-actions .primary{background:linear-gradient(135deg,#0f4e55,#1f607e);color:#fff}

@media(max-width:1080px){
  .ai-quote-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;min-height:0}
  .ai-quote-side{display:none}
  .ai-quote-result{border-left:0;border-top:1px solid rgba(255,255,255,.1);max-height:36vh}
}

/* V912 top nav AI button */
#navAiQuote{position:relative}
#navAiQuote::after{
  content:"AI";position:absolute;top:4px;right:6px;
  background:linear-gradient(135deg,#ff9850,#d75f0c);color:#fff;
  font-size:9px;font-weight:1000;padding:2px 5px;border-radius:6px;line-height:1;
}


/* ===================== V913 顶部导航重塑 ===================== */
.v913-navbtn{
  position:relative;
  display:inline-flex!important;
  align-items:center;
  gap:6px;
  padding:0 14px!important;
  height:36px;
  border-radius:11px!important;
  transition:all .18s ease!important;
}
.v913-navbtn b{
  font-size:13.5px!important;
  letter-spacing:.2px!important;
}
.v913-trigger{
  padding-right:10px!important;
}
.v913-trigger .system-nav-caret{
  margin-left:4px;
  font-size:10px;
  transition:transform .22s ease;
  opacity:.85;
}
.v913-trigger[aria-expanded="true"] .system-nav-caret{
  transform:rotate(180deg);
}

/* 整体下拉容器 - 大尺寸卡片网格 */
.v913-dropdown{
  width:min(720px, calc(100vw - 40px));
  padding:0!important;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcfe 100%)!important;
  border:1px solid rgba(244,123,32,.18)!important;
  border-radius:18px!important;
  box-shadow:0 24px 64px -16px rgba(74,48,31,.28), 0 6px 18px -8px rgba(244,123,32,.18)!important;
  overflow:hidden;
  animation:v913-dropdown-in .22s cubic-bezier(.2,.8,.3,1.1);
}
@keyframes v913-dropdown-in{
  from{opacity:0;transform:translateY(-6px) scale(.985)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.v913-dropdown-head{
  padding:14px 18px 12px;
  background:linear-gradient(135deg, #FFF1E3 0%, #FFE7D2 100%);
  border-bottom:1px solid rgba(244,123,32,.12);
}
.v913-dropdown-kicker{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.4px;
  color:#F47B20;
  background:rgba(244,123,32,.10);
  padding:3px 8px;
  border-radius:6px;
  margin-bottom:6px;
}
.v913-dropdown-head h4{
  margin:0;
  font-size:14px;
  font-weight:900;
  color:#2a2014;
  letter-spacing:.2px;
}
.v913-dropdown-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:8px;
  padding:14px;
}
.v913-dropcard{
  display:flex!important;
  align-items:center!important;
  gap:10px;
  padding:10px 12px!important;
  background:#fff!important;
  border:1px solid rgba(74,48,31,.08)!important;
  border-radius:12px!important;
  text-align:left!important;
  cursor:pointer;
  transition:all .18s ease;
  position:relative;
  overflow:hidden;
}
.v913-dropcard::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(244,123,32,.04), transparent);
  opacity:0;
  transition:opacity .18s ease;
  pointer-events:none;
}
.v913-dropcard:hover{
  transform:translateY(-1px);
  border-color:rgba(244,123,32,.35)!important;
  box-shadow:0 6px 18px -8px rgba(244,123,32,.25);
  background:#fffaf3!important;
}
.v913-dropcard:hover::before{opacity:1}
.v913-dropcard.active{
  background:linear-gradient(135deg, #FFF1E3 0%, #ffffff 100%)!important;
  border-color:rgba(244,123,32,.45)!important;
  box-shadow:0 4px 14px -6px rgba(244,123,32,.30), inset 0 0 0 1px rgba(244,123,32,.10);
}
.v913-dropcard.v913-dropcard-hot{
  background:linear-gradient(135deg, #FFF4F2 0%, #fff 100%)!important;
}
.v913-dropcard.v913-dropcard-hot .v913-dropcard-icon{
  box-shadow:0 4px 12px -4px rgba(255,107,107,.4);
}
.v913-dropcard-icon{
  width:36px!important;
  height:36px!important;
  min-width:36px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  background:color-mix(in srgb, var(--v913-tone, #F47B20) 14%, white)!important;
  color:var(--v913-tone, #F47B20)!important;
  border-radius:10px;
  font-size:17px;
  font-weight:900;
  flex-shrink:0;
}
.v913-dropcard-body{
  flex:1;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}
.v913-dropcard-body b{
  font-size:13.5px!important;
  font-weight:900!important;
  color:#2a2014;
  letter-spacing:.1px;
}
.v913-dropcard-body em{
  font-style:normal;
  font-size:11.5px;
  color:#666;
  margin-top:1px;
  line-height:1.4;
}
.v913-dropcard-body small{
  font-size:10.5px;
  color:#999;
  margin-top:2px;
  line-height:1.4;
}
.v913-dropcard-go{
  font-size:11px;
  font-weight:800;
  color:#F47B20;
  background:rgba(244,123,32,.08);
  padding:4px 8px;
  border-radius:6px;
  white-space:nowrap;
  flex-shrink:0;
  transition:all .15s ease;
}
.v913-dropcard:hover .v913-dropcard-go{
  background:#F47B20;
  color:#fff;
}
.v913-dropdown-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 16px;
  background:#fafafa;
  border-top:1px solid rgba(74,48,31,.06);
  font-size:11.5px;
  color:#888;
}
.v913-dropdown-close{
  font-size:11.5px;
  font-weight:700;
  color:#F47B20;
  background:transparent;
  border:1px solid rgba(244,123,32,.25);
  padding:3px 10px;
  border-radius:6px;
  cursor:pointer;
  transition:all .15s ease;
}
.v913-dropdown-close:hover{
  background:rgba(244,123,32,.08);
}

/* 系统首页卡片网格 - 重做 */
.v80-entry-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:16px;
}
.v80-entry-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:24px;
  background:linear-gradient(160deg, #ffffff 0%, #fffaf3 100%);
  border:1px solid rgba(244,123,32,.12);
  border-radius:18px;
  text-align:left;
  cursor:pointer;
  transition:all .22s cubic-bezier(.2,.8,.3,1.1);
  position:relative;
  overflow:hidden;
  box-shadow:0 4px 14px -8px rgba(74,48,31,.12);
}
.v80-entry-card::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:140px;
  height:140px;
  background:radial-gradient(circle at top right, rgba(244,123,32,.10), transparent 70%);
  pointer-events:none;
}
.v80-entry-card:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 32px -10px rgba(244,123,32,.22);
  border-color:rgba(244,123,32,.35);
}
.v80-entry-card .v80-entry-icon{
  width:48px;
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #F47B20, #FFA84B);
  color:#fff;
  border-radius:14px;
  font-size:22px;
  font-weight:900;
  margin-bottom:14px;
  box-shadow:0 6px 18px -6px rgba(244,123,32,.4);
}
.v80-entry-card.material .v80-entry-icon{
  background:linear-gradient(135deg, #A55EEA, #C49EFF);
  box-shadow:0 6px 18px -6px rgba(165,94,234,.4);
}
.v80-entry-card h2{
  font-size:18px;
  font-weight:900;
  color:#2a2014;
  margin:0 0 8px;
  letter-spacing:.2px;
}
.v80-entry-card p{
  font-size:13px;
  color:#666;
  line-height:1.55;
  margin:0 0 14px;
}
.v80-entry-features{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:18px;
}
.v80-entry-features span{
  font-size:11px;
  font-weight:700;
  color:#a74e10;
  background:rgba(244,123,32,.10);
  padding:3px 8px;
  border-radius:6px;
}
.v80-entry-features span:nth-child(odd){
  background:rgba(74,48,31,.05);
  color:#5c4528;
}
.v80-entry-go{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  padding-top:14px;
  border-top:1px solid rgba(74,48,31,.06);
  color:#F47B20;
  font-weight:800;
  font-size:13px;
}
.v80-entry-go b{
  font-size:18px;
  font-weight:900;
  transition:transform .2s ease;
}
.v80-entry-card:hover .v80-entry-go b{
  transform:translateX(4px);
}
.v80-landing-shell{
  padding:36px 40px 28px;
}
.v80-landing-brand{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:24px;
}
.v80-landing-logo{
  width:54px;
  height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, #F47B20, #FFA84B);
  color:#fff;
  border-radius:14px;
  font-size:24px;
  font-weight:900;
  box-shadow:0 6px 18px -6px rgba(244,123,32,.45);
}
.v80-landing-brand h1{
  font-size:20px;
  font-weight:900;
  margin:0;
  color:#2a2014;
  letter-spacing:.3px;
}
.v80-landing-brand p{
  font-size:12.5px;
  color:#777;
  margin:2px 0 0;
}
.v80-landing-kicker{
  display:inline-block;
  font-size:11px;
  font-weight:800;
  letter-spacing:.5px;
  color:#F47B20;
  background:rgba(244,123,32,.08);
  padding:4px 10px;
  border-radius:6px;
  margin-bottom:10px;
}
.v80-landing-title{
  font-size:24px!important;
  font-weight:900!important;
  margin:0 0 6px;
  color:#1a1208;
  letter-spacing:.2px;
}
.v80-landing-desc{
  font-size:13px;
  color:#777;
  margin:0 0 22px;
}

/* V913 移动端适配 */
@media (max-width: 640px){
  .v913-dropdown{
    width:calc(100vw - 24px);
  }
  .v913-dropdown-grid{
    grid-template-columns:1fr;
  }
  .v80-landing-shell{
    padding:24px 18px 20px;
  }
}

/* V913 系统首页提示卡 - 提示用户去顶部导航 */
.v913-navhint{
  margin-top:24px;
  padding:14px 18px;
  background:linear-gradient(135deg, rgba(244,123,32,.06), rgba(244,123,32,.02));
  border:1px dashed rgba(244,123,32,.3);
  border-radius:12px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12.5px;
  color:#a74e10;
}
.v913-navhint b{
  color:#F47B20;
  font-weight:900;
  background:#fff;
  padding:3px 8px;
  border-radius:6px;
  border:1px solid rgba(244,123,32,.25);
}
.v913-navhint::before{
  content:"💡";
  font-size:16px;
}

/* ===== V1000: 智能量房 + AI 效果图 ===== */

/* ===================================================================
 * V1000 v2 \u6574\u4f53\u91cd\u8bbe\u8ba1
 * \u8bbe\u8ba1\u4ee3\u7801\uff1a\u51b7\u8272\u4e13\u4e1a\u3001\u865a\u7ebf\u3001\u6d6e\u52a8 dock\u3001\u73bb\u7483\u8d28\u611f
 * =================================================================== */

/* \u4e3b\u9875\u62a5\u4ef7\u4e0b\u62c9 \u00b7 AI \u7c7b\u76ee\u5360\u4f4d */
.v913-dropcard-ai{position:relative;overflow:hidden;border:1px solid rgba(6,182,212,.15)}
.v913-dropcard-ai::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#06B6D4,#7C3AED);border-radius:0 2px 2px 0}
.v913-dropcard-ai:hover{border-color:rgba(6,182,212,.4);box-shadow:0 6px 20px rgba(6,182,212,.12)}
.v913-dropcard-ai .v913-dropcard-icon{background:linear-gradient(135deg,#ECFEFF,#F0F9FF);box-shadow:inset 0 0 0 1px rgba(6,182,212,.15)}
.v913-dropdown-sep{height:1px;margin:10px 4px;background:linear-gradient(90deg,transparent,rgba(15,23,42,.08) 30%,rgba(15,23,42,.08) 70%,transparent);position:relative}
.v913-dropdown-sep::after{content:"AI 与量房";position:absolute;left:50%;top:-7px;transform:translateX(-50%);padding:0 8px;background:#fff;font-size:10px;color:#94A3B8;letter-spacing:.06em;text-transform:uppercase;font-weight:600}

/* ===== \u4e3b\u7f16\u8f91\u5668\u5c42 ===== */
.v1000-floorplan-layer{position:fixed;inset:0;z-index:9998;display:none}
.v1000-floorplan-layer.open{display:block;animation:v1000FadeIn .25s var(--ease)}
@keyframes v1000FadeIn{from{opacity:0}to{opacity:1}}
.v1000-floorplan-mask{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.v1000-floorplan-shell{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(1340px,96vw);height:min(94vh,860px);background:#F8FAFC;border-radius:20px;box-shadow:0 32px 96px rgba(15,23,42,.35),0 0 0 1px rgba(15,23,42,.06);overflow:hidden;animation:v1000ScaleIn .3s var(--ease)}
@keyframes v1000ScaleIn{from{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* \u6807\u9898\u533a */
.v1000-floorplan-header{display:flex;align-items:center;gap:20px;padding:16px 24px;background:linear-gradient(135deg,#0F172A 0%,#1E293B 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.05)}
.v1000-floorplan-title{display:flex;align-items:center;gap:14px;flex:1}
.v1000-floorplan-mark{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:18px;background:linear-gradient(135deg,#06B6D4,#7C3AED);box-shadow:0 4px 12px rgba(6,182,212,.3),inset 0 1px 0 rgba(255,255,255,.2)}
.v1000-floorplan-title h2{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em}
.v1000-floorplan-title h2 small{font-size:12px;color:rgba(255,255,255,.5);font-weight:500;margin-left:8px;padding:2px 8px;background:rgba(255,255,255,.08);border-radius:6px}
.v1000-floorplan-title p{margin:2px 0 0;font-size:12px;color:rgba(255,255,255,.55);font-weight:400}
.v1000-floorplan-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* \u4e3b\u4f53\u533a */
.v1000-floorplan-body{flex:1;display:flex;flex-direction:column;position:relative;background:#F1F5F9;min-height:0;overflow:hidden}

/* ===== \u753b\u5e03 ===== */
.v1000-canvas-wrap{position:relative;flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}
.v1000-canvas-toolbar{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:6px;padding:6px 8px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.1),0 0 0 1px rgba(15,23,42,.06)}
.v1000-hint{padding:4px 10px;font-size:12px;color:#475569;border-right:1px solid rgba(15,23,42,.08);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v1000-zoom-group{display:flex;align-items:center;gap:2px;padding:0 4px;border-left:1px solid rgba(15,23,42,.08);margin-left:4px}
.v1000-icon-btn{width:30px;height:30px;border:1px solid transparent;background:transparent;border-radius:8px;cursor:pointer;font-size:15px;color:#475569;transition:var(--t-fast) var(--ease);display:inline-flex;align-items:center;justify-content:center}
.v1000-icon-btn:hover{background:#F1F5F9;color:#06B6D4}
#v1000ZoomLabel{display:inline-block;min-width:44px;text-align:center;font-size:12px;color:#475569;font-weight:600;font-variant-numeric:tabular-nums}

/* \u753b\u5e03\u80cc\u666f\uff1a\u865a\u7ebf\u7f51\u683c\u3001\u4e0d\u7528\u9ed1\u7ebf */
.v1000-canvas-stage{flex:1;background-color:#F8FAFC;background-image:radial-gradient(circle,rgba(148,163,184,.18) 1px,transparent 1px);background-size:24px 24px;background-position:12px 12px;overflow:hidden;position:relative}
#v1000Canvas{display:block;width:100%;height:100%;cursor:crosshair}
.v1000-canvas-stage.tool-select #v1000Canvas{cursor:grab;touch-action:none}
.v1000-canvas-stage.tool-select.is-dragging #v1000Canvas{cursor:grabbing}
.v1000-canvas-overlay{position:absolute;bottom:16px;left:16px;padding:8px 12px;background:rgba(255,255,255,.85);backdrop-filter:blur(8px);border-radius:10px;font-size:11.5px;color:#475569;box-shadow:0 2px 8px rgba(15,23,42,.06);border:1px solid rgba(15,23,42,.06);display:flex;flex-direction:column;gap:2px}
.v1000-canvas-overlay strong{color:#0F172A;font-size:13px;font-weight:700}

/* ===== \u6d6e\u52a8 dock \u5de5\u5177\u680f ===== */
.v1000-dock{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:9;display:flex;align-items:center;gap:4px;padding:8px;background:rgba(15,23,42,.92);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:18px;box-shadow:0 16px 48px rgba(15,23,42,.3),inset 0 1px 0 rgba(255,255,255,.08)}
.v1000-dock-group{display:flex;align-items:center;gap:4px;padding:0 4px;border-right:1px solid rgba(255,255,255,.08)}
.v1000-dock-group:last-child{border-right:none}
.v1000-dock-sep{width:1px;height:24px;background:rgba(255,255,255,.1);margin:0 4px}
.v1000-tool{position:relative;width:42px;height:42px;border:1px solid transparent;background:transparent;border-radius:12px;cursor:pointer;color:rgba(255,255,255,.65);transition:var(--t-base) var(--ease);display:inline-flex;align-items:center;justify-content:center}
.v1000-tool:hover{background:rgba(255,255,255,.08);color:#fff}
.v1000-tool.active{background:linear-gradient(135deg,#06B6D4,#0891B2);color:#fff;box-shadow:0 4px 14px rgba(6,182,212,.4),inset 0 1px 0 rgba(255,255,255,.2)}
.v1000-tool.active::before{content:"";position:absolute;top:-6px;left:50%;transform:translateX(-50%);width:18px;height:2px;background:#06B6D4;border-radius:2px}
.v1000-tool svg{width:20px;height:20px;stroke-width:1.8;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round}
.v1000-tool.danger-tool:hover{background:rgba(220,38,38,.15);color:#FCA5A5}
.v1000-tool.danger-tool.active{background:linear-gradient(135deg,#DC2626,#B91C1C);box-shadow:0 4px 14px rgba(220,38,38,.4)}
.v1000-tool-label{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);padding:4px 8px;background:#0F172A;color:#fff;font-size:11px;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:var(--t-fast) var(--ease)}
.v1000-tool-label::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#0F172A}
.v1000-tool:hover .v1000-tool-label{opacity:1}

/* \u5de5\u5177\u9762\u677f\uff08\u53f3\u4fa7\u6d6e\u52a8\u9762\u677f\uff09 */
.v1000-rightpanel{position:absolute;right:16px;top:16px;bottom:88px;width:300px;z-index:8;display:flex;flex-direction:column;gap:12px;pointer-events:none}
.v1000-panel-card{background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(15,23,42,.08),0 0 0 1px rgba(15,23,42,.04);overflow:hidden;pointer-events:auto}
.v1000-panel-head{padding:12px 16px;border-bottom:1px solid #F1F5F9;display:flex;align-items:center;gap:8px}
.v1000-panel-head h4{margin:0;font-size:13px;font-weight:700;color:#0F172A}
.v1000-panel-head .v1000-panel-icon{width:24px;height:24px;border-radius:6px;background:linear-gradient(135deg,#ECFEFF,#F0F9FF);color:#06B6D4;display:inline-flex;align-items:center;justify-content:center}
.v1000-panel-body{padding:14px 16px}
.v1000-rightpanel{overflow-y:auto;overscroll-behavior:contain;padding-left:4px}
.v1000-rightpanel::-webkit-scrollbar{width:6px}.v1000-rightpanel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:99px}

/* V10.6：单一上下文面板，减少视线移动并把高频操作放回画布 */
.v1000-rightpanel.v1052-inspector{right:18px;top:18px;bottom:auto;width:312px;max-height:calc(100% - 112px);padding:0;overflow:visible;display:block;transition:width .22s ease;pointer-events:auto}
.v1052-inspector-shell{background:rgba(255,255,255,.97);border:1px solid rgba(148,163,184,.24);border-radius:16px;box-shadow:0 16px 42px rgba(15,23,42,.15);overflow:hidden;max-height:calc(100vh - 225px);display:flex;flex-direction:column;backdrop-filter:blur(16px)}
.v1052-inspector-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px 10px;border-bottom:1px solid #eef2f7}
.v1052-inspector-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.v1052-inspector-head strong{font-size:14px;color:#0f172a}.v1052-inspector-head span{font-size:11px;color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px}
.v1052-inspector-head button{border:0;background:#f1f5f9;color:#64748b;border-radius:8px;padding:6px 9px;cursor:pointer;font-size:11px}.v1052-inspector-head button:hover{background:#e2e8f0;color:#0f172a}
.v1052-inspector-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px 10px;background:#f8fafc;border-bottom:1px solid #eef2f7}
.v1052-inspector-tabs button{height:34px;border:0;border-radius:9px;background:transparent;color:#64748b;font-size:12px;font-weight:700;cursor:pointer}.v1052-inspector-tabs button:hover{background:#fff;color:#0f172a}.v1052-inspector-tabs button.active{background:#fff;color:#0891b2;box-shadow:0 1px 4px rgba(15,23,42,.1)}
.v1052-inspector-panel{display:none;overflow-y:auto;overscroll-behavior:contain}.v1052-inspector-panel.active{display:block}.v1052-inspector-panel::-webkit-scrollbar{width:5px}.v1052-inspector-panel::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9px}
.v1052-inspector-rail{display:none;position:absolute;right:0;top:0;width:44px;height:112px;border:0;border-radius:13px 0 0 13px;background:#0f172a;color:#fff;font-size:12px;font-weight:800;writing-mode:vertical-rl;letter-spacing:2px;cursor:pointer;box-shadow:0 10px 25px rgba(15,23,42,.25)}
.v1052-inspector.collapsed{width:44px;right:0}.v1052-inspector.collapsed .v1052-inspector-shell{display:none}.v1052-inspector.collapsed .v1052-inspector-rail{display:block}
.v1052-display-options{display:flex;flex-direction:column;gap:12px}.v1052-display-note{margin:4px 0 0;padding:10px;border-radius:9px;background:#ecfeff;color:#0e7490;font-size:11.5px;line-height:1.55}
.v1052-contextbar{position:absolute;left:0;top:0;z-index:12;display:none;align-items:center;gap:4px;padding:6px;background:rgba(15,23,42,.94);border-radius:12px;box-shadow:0 12px 30px rgba(15,23,42,.24);backdrop-filter:blur(12px);transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap}
.v1052-contextbar.show{display:flex}.v1052-contextbar strong{padding:0 8px;color:#e2e8f0;font-size:11px;max-width:90px;overflow:hidden;text-overflow:ellipsis}.v1052-contextbar button{border:0;background:rgba(255,255,255,.1);color:#fff;border-radius:7px;padding:6px 8px;font-size:11px;cursor:pointer}.v1052-contextbar button:hover{background:#0891b2}.v1052-contextbar button.danger:hover{background:#dc2626}.v1052-contextbar button:disabled{display:none}
.v1000-canvas-stage.is-resizing #v1000Canvas{cursor:nwse-resize}.v1000-canvas-stage.is-endpoint #v1000Canvas{cursor:crosshair}

/* \u623f\u95f4\u4fe1\u606f\u9762\u677f */
.v1000-room-select{width:100%;height:34px;border:1px solid #E2E8F0;background:#F8FAFC;border-radius:8px;padding:0 10px;font-size:13px;color:#0F172A}
.v1000-room-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.v1000-room-stat{background:#F8FAFC;border-radius:8px;padding:8px 10px}
.v1000-room-stat b{display:block;font-size:14px;color:#0F172A;font-weight:700}
.v1000-room-stat em{display:block;font-size:11px;color:#94A3B8;font-style:normal;margin-top:2px}

/* \u5c5e\u6027\u9762\u677f */
.v1000-prop-type{display:inline-block;padding:3px 8px;background:linear-gradient(135deg,#ECFEFF,#F0F9FF);color:#06B6D4;border-radius:6px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.v1000-prop-type.danger{background:linear-gradient(135deg,#FEE2E2,#FECACA);color:#DC2626}
.v1000-prop-id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:#94A3B8}
.v1000-prop-form{display:flex;flex-direction:column;gap:10px}
.v1000-props-empty{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#64748b;font-size:12px;line-height:1.55}
.v1000-props-empty b{color:#334155;font-size:13px}.v1000-props-empty span{display:block}
.v1000-prop-row{display:grid;grid-template-columns:78px 1fr;gap:8px;align-items:center}
.v1000-prop-row>label{font-size:12px;color:#64748b;text-align:right}
.v1000-prop-row>span,.v1000-prop-row>input,.v1000-prop-row>select{font-size:13px;color:#0F172A;padding:7px 10px;border:1px solid #E2E8F0;border-radius:7px;background:#fff;min-width:0;transition:var(--t-fast) var(--ease);font-variant-numeric:tabular-nums}
.v1000-prop-row>span{border:none;padding:7px 0;background:transparent;color:#0F172A;font-weight:600}
.v1000-prop-row>input:focus,.v1000-prop-row>select:focus{outline:none;border-color:#06B6D4;box-shadow:0 0 0 3px rgba(6,182,212,.1)}
.v1000-prop-row.hidden{display:none}
.v1051-coordinate-pair{display:grid;grid-template-columns:1fr 1fr;gap:6px}.v1051-coordinate-pair input{width:100%;min-width:0;box-sizing:border-box;font-size:12px;padding:7px 6px;border:1px solid #e2e8f0;border-radius:7px}
.v1051-coordinate-pair input:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px rgba(6,182,212,.1)}
.v1051-drag-hint{padding:8px 10px;border-radius:8px;background:#ecfeff;color:#0e7490;font-size:11.5px;font-weight:700;line-height:1.45}
.v1000-prop-actions{display:flex;gap:6px;margin-top:6px;padding-top:12px;border-top:1px solid #F1F5F9}
.v1000-switch{display:inline-block;width:38px;height:22px;background:#CBD5E1;border-radius:11px;position:relative;cursor:pointer;transition:var(--t-fast) var(--ease)}
.v1000-switch input{opacity:0;width:0;height:0;position:absolute}
.v1000-switch span{position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:var(--t-base) var(--ease);box-shadow:0 1px 3px rgba(0,0,0,.15)}
.v1000-switch input:checked+span{left:auto;right:3px}
.v1000-switch:has(input:checked){background:#06B6D4}

/* \u5c3e\u90e8\u4fdd\u5b58\u533a */
.v1000-floorplan-foot{display:flex;align-items:center;gap:14px;padding:12px 24px;background:#fff;border-top:1px solid #E2E8F0}
.v1000-foot-stats{flex:1;font-size:12.5px;color:#475569}
.v1000-foot-stats .stat-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#F1F5F9;border-radius:999px;font-size:12px;margin-right:6px;font-variant-numeric:tabular-nums}
.v1000-foot-stats .stat-pill b{color:#0F172A;font-weight:700}
.v1000-foot-tools{display:flex;gap:6px}

/* ===== \u6309\u94ae\u7cfb\u7edf\u00b7\u91cd\u8bbe\u8ba1 ===== */
.v1000-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid transparent;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--t-fast) var(--ease);background:#fff;color:#0F172A;font-family:inherit}
.v1000-btn.small{padding:6px 12px;font-size:12px}
.v1000-btn.full{width:100%;justify-content:center}
.v1000-btn.primary{background:linear-gradient(135deg,#06B6D4,#0891B2);color:#fff;border-color:transparent;box-shadow:0 2px 8px rgba(8,145,178,.3),inset 0 1px 0 rgba(255,255,255,.15)}
.v1000-btn.primary:hover{box-shadow:0 6px 16px rgba(8,145,178,.4);transform:translateY(-1px)}
.v1000-btn.primary:active{transform:translateY(0)}
.v1000-btn.secondary{background:#0F172A;color:#fff}
.v1000-btn.ghost{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.v1000-btn.ghost:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.2)}
.v1000-btn.danger{background:rgba(220,38,38,.1);color:#DC2626;border-color:rgba(220,38,38,.2)}
.v1000-btn.danger:hover{background:rgba(220,38,38,.15)}
.v1000-btn:disabled,.v1000-btn.disabled{opacity:.4;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}
.v1000-btn:disabled:hover,.v1000-btn.disabled:hover{background:rgba(255,255,255,.06)}

/* ===== Modal \u901a\u7528 ===== */
.v1000-modal{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;padding:24px}
.v1000-modal.open{display:flex;animation:v1000FadeIn .25s var(--ease)}
.v1000-modal-mask{position:absolute;inset:0;background:rgba(15,23,42,.6);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.v1000-modal-card{position:relative;width:min(900px,96vw);max-height:92vh;display:flex;flex-direction:column;background:#fff;border-radius:20px;box-shadow:0 32px 96px rgba(15,23,42,.4),0 0 0 1px rgba(15,23,42,.06);overflow:hidden;animation:v1000ScaleIn .3s var(--ease)}
.v1000-ai-card{width:min(1200px,96vw)}
.v1000-ai-settings-card,.v1000-ai-quote-card,.v1000-standard-form-card{width:min(760px,96vw)}
.v1000-modal-head{display:flex;align-items:flex-start;gap:14px;padding:20px 24px;border-bottom:1px solid #F1F5F9;background:linear-gradient(135deg,#0F172A 0%,#1E293B 100%);color:#fff;position:relative}
.v1000-modal-head::before{content:"";position:absolute;top:0;left:0;right:0;height:120px;background:radial-gradient(circle at 80% 20%,rgba(124,58,237,.18),transparent 60%);pointer-events:none}
.v1000-modal-head h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.01em;position:relative}
.v1000-modal-head p{margin:4px 0 0;font-size:12.5px;color:rgba(255,255,255,.55);font-weight:400;position:relative}
.v1000-modal-head>div:first-child{flex:1;position:relative}
.v1000-modal-close{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.7);font-size:16px;cursor:pointer;line-height:1;padding:0;width:32px;height:32px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;transition:var(--t-fast) var(--ease)}
.v1000-modal-close:hover{background:rgba(255,255,255,.15);color:#fff}
.v1000-modal-body{padding:24px;overflow:auto;flex:1}
.v1000-modal-foot{display:flex;align-items:center;gap:8px;padding:14px 24px;border-top:1px solid #F1F5F9;background:#FAFBFC}
.v1000-modal-foot>span[style*="flex:1"]{flex:1}

/* ===== \u6807\u51c6\u91cf\u623f\u8868\u5355 ===== */
.v1000-sf-room{margin-bottom:18px;padding:18px;background:linear-gradient(135deg,#FAFBFC,#F1F5F9);border-radius:14px;border:1px solid #E2E8F0}
.v1000-sf-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.v1000-sf-head h4{margin:0;font-size:16px;color:#0F172A;font-weight:700}
.v1000-sf-meta{font-size:12px;color:#64748B;font-variant-numeric:tabular-nums}
.v1000-sf-block{margin-top:14px}
.v1000-sf-block h5{margin:6px 0 8px;font-size:11px;color:#64748B;text-transform:uppercase;letter-spacing:.06em;font-weight:700;display:flex;align-items:center;gap:6px}
.v1000-sf-block h5::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,#E2E8F0,transparent)}
.v1000-sf-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12.5px;background:#fff;border-radius:10px;overflow:hidden;border:1px solid #E2E8F0}
.v1000-sf-table th,.v1000-sf-table td{padding:8px 10px;text-align:left;color:#1F2937;border-bottom:1px solid #F1F5F9}
.v1000-sf-table th{background:#F8FAFC;font-weight:600;color:#475569;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.v1000-sf-table tr:last-child td{border-bottom:none}
.v1000-sf-table tr:hover td{background:#F0F9FF}
.v1000-sf-empty{padding:18px;text-align:center;color:#94A3B8;background:#fff;border-radius:10px;border:1px dashed #CBD5E1;font-size:13px}

/* ===== AI \u6e32\u67d3\u5f39\u5c42 ===== */
.v1000-ai-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:20px;margin-bottom:16px;min-width:0}
.v1000-ai-preview-card{background:linear-gradient(135deg,#FAFBFC,#F1F5F9);border-radius:14px;padding:16px;border:1px solid #E2E8F0;display:flex;flex-direction:column;min-height:340px}
.v1000-ai-preview-card h4{margin:0 0 12px;font-size:13px;color:#0F172A;font-weight:700;display:flex;align-items:center;justify-content:space-between}
.v1000-ai-preview-card h4 small{font-size:11px;color:#94A3B8;font-weight:500}
.v1000-ai-fp{flex:1;background:repeating-linear-gradient(45deg,#F8FAFC 0,#F8FAFC 8px,#F1F5F9 8px,#F1F5F9 16px);border-radius:10px;border:1px dashed #CBD5E1;padding:8px;display:flex;align-items:center;justify-content:center}
.v1000-ai-fp svg{width:100%;height:100%;display:block;max-height:300px}
.v1000-ai-fp-empty{padding:30px;text-align:center;color:#94A3B8;font-size:13px}

.v1000-ai-config{display:flex;flex-direction:column;gap:14px;min-width:0}
.v1000-ai-section{background:#FAFBFC;border-radius:12px;padding:14px;border:1px solid #E2E8F0}
.v1000-ai-section h4{margin:0 0 10px;font-size:12px;color:#0F172A;font-weight:700;display:flex;align-items:center;gap:8px}
.v1000-ai-section h4 .ai-section-icon{width:20px;height:20px;border-radius:6px;background:linear-gradient(135deg,#06B6D4,#7C3AED);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.v1000-ai-section textarea,.v1000-ai-section input,.v1000-ai-section select{width:100%;padding:9px 12px;border:1px solid #E2E8F0;border-radius:8px;font-size:13px;background:#fff;font-family:inherit;box-sizing:border-box;transition:var(--t-fast) var(--ease);color:#0F172A}
.v1000-ai-section textarea:focus,.v1000-ai-section input:focus,.v1000-ai-section select:focus{outline:none;border-color:#06B6D4;box-shadow:0 0 0 3px rgba(6,182,212,.1)}
.v1000-ai-section label{display:block;font-size:12px;color:#475569;margin-bottom:8px;font-weight:500}
.v1000-ai-section label select,.v1000-ai-section label input{width:100%;margin-top:4px}

/* \u53c2\u8003\u56fe */
.v1000-ai-refs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;min-height:48px;align-items:center}
.v1000-ai-ref{display:inline-flex;align-items:center;gap:8px;padding:6px 10px 6px 6px;background:#fff;border:1px solid #E2E8F0;border-radius:8px;font-size:12px;transition:var(--t-fast) var(--ease)}
.v1000-ai-ref:hover{border-color:#06B6D4;box-shadow:0 2px 8px rgba(6,182,212,.1)}
.v1000-ai-ref img{width:24px;height:24px;border-radius:5px;object-fit:cover}
.v1000-ai-ref button{background:#F1F5F9;border:none;color:#64748B;cursor:pointer;font-size:13px;line-height:1;padding:0;width:20px;height:20px;border-radius:5px;transition:var(--t-fast) var(--ease)}
.v1000-ai-ref button:hover{background:#FEE2E2;color:#DC2626}
.v1000-ai-ref-empty{padding:12px;text-align:center;color:#94A3B8;font-size:12px;width:100%}

/* \u9501\u5b9a\u8bbe\u7f6e\u5361\u7247 */
.v1000-ai-locks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.v1000-lock-card{padding:10px 12px;background:#fff;border:1.5px solid #E2E8F0;border-radius:10px;cursor:pointer;transition:var(--t-fast) var(--ease);position:relative;display:flex;align-items:center;gap:10px}
.v1000-lock-card:hover{border-color:#94A3B8;background:#FAFBFC}
.v1000-lock-card.active{border-color:#06B6D4;background:linear-gradient(135deg,#ECFEFF,#F0F9FF)}
.v1000-lock-card .lock-icon{width:28px;height:28px;border-radius:8px;background:#F1F5F9;color:#94A3B8;display:inline-flex;align-items:center;justify-content:center;font-size:14px;transition:var(--t-fast) var(--ease)}
.v1000-lock-card.active .lock-icon{background:linear-gradient(135deg,#06B6D4,#0891B2);color:#fff}
.v1000-lock-card .lock-body{flex:1;min-width:0}
.v1000-lock-card .lock-name{display:block;font-size:12.5px;font-weight:600;color:#0F172A;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.v1000-lock-card .lock-desc{display:block;font-size:11px;color:#64748B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}

/* AI \u63a5\u53e3\u72b6\u6001 */
.v1000-ai-status-row{display:flex;align-items:center;gap:8px;font-size:13px}
.v1000-ai-status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:500}
.v1000-ai-status-pill.ok{background:linear-gradient(135deg,#D1FAE5,#A7F3D0);color:#065F46}
.v1000-ai-status-pill.idle{background:#FEE2E2;color:#991B1B}
.v1000-ai-status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.v1000-ai-status-pill.ok .dot{box-shadow:0 0 0 4px rgba(16,185,129,.15);animation:v1000Pulse 2s infinite}
@keyframes v1000Pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* \u751f\u6210\u8fdb\u5ea6 */
.v1000-ai-progress{margin-top:16px;padding:14px 16px;background:#F8FAFC;border-radius:12px;border:1px solid #E2E8F0}
.v1000-ai-progress-bar{height:6px;background:#E2E8F0;border-radius:3px;overflow:hidden;margin-bottom:8px;position:relative}
.v1000-ai-progress-bar>div{height:100%;background:linear-gradient(90deg,#06B6D4,#7C3AED);width:0%;transition:width .4s var(--ease);border-radius:3px;position:relative}
.v1000-ai-progress-bar>div::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:v1000Shimmer 1.5s infinite}
@keyframes v1000Shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.v1000-ai-progress span{font-size:12.5px;color:#475569}

/* \u751f\u6210\u7ed3\u679c\u753b\u5eca */
.v1000-ai-result{margin-top:16px;padding:16px;background:linear-gradient(135deg,#FAFBFC,#F1F5F9);border-radius:12px;border:1px solid #E2E8F0}
.v1000-ai-result h4{margin:0 0 10px;font-size:13px;color:#0F172A;font-weight:700}
.v1000-ai-result img{width:100%;max-height:380px;object-fit:contain;border-radius:10px;border:1px solid #E2E8F0;background:#fff}

/* Toast */
.v1000-toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,10px);padding:10px 18px;background:rgba(15,23,42,.94);color:#fff;border-radius:999px;font-size:13px;font-weight:500;box-shadow:0 12px 32px rgba(15,23,42,.3),inset 0 1px 0 rgba(255,255,255,.08);z-index:10001;opacity:0;pointer-events:none;transition:var(--t-base) var(--ease);backdrop-filter:blur(12px)}
.v1000-toast.show{opacity:1;transform:translate(-50%,0)}

/* AI \u667a\u80fd\u62a5\u4ef7\u5360\u4f4d */
.v1000-ai-quote-intro{padding:24px;background:linear-gradient(135deg,#F5F3FF,#EDE9FE,#F0F9FF);border-radius:14px;margin-bottom:18px;position:relative;overflow:hidden}
.v1000-ai-quote-intro::before{content:"";position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(124,58,237,.2),transparent 70%);pointer-events:none}
.v1000-ai-quote-intro h3{margin:0 0 8px;color:#5B21B6;font-size:18px;font-weight:700;display:flex;align-items:center;gap:8px}
.v1000-ai-quote-intro h3 .ai-icon{width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#7C3AED,#06B6D4);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:16px}
.v1000-ai-quote-intro p{margin:0;color:#6B21A8;font-size:13px;line-height:1.6}
.v1000-ai-quote-intro ul{margin:12px 0 0;padding-left:20px;color:#6B21A8;font-size:13px;line-height:1.8}
.v1000-ai-quote-intro ul li::marker{color:#7C3AED}
.v1000-ai-quote-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.v1000-ai-quote-card-item{padding:16px;background:linear-gradient(135deg,#F0F9FF,#E0F2FE);border-radius:12px;border:1px solid #BAE6FD;position:relative;overflow:hidden}
.v1000-ai-quote-card-item::before{content:"";position:absolute;top:0;right:0;width:60px;height:60px;background:radial-gradient(circle at top right,rgba(6,182,212,.15),transparent 70%);pointer-events:none}
.v1000-ai-quote-card-item h5{margin:0 0 6px;font-size:14px;color:#0C4A6E;font-weight:700}
.v1000-ai-quote-card-item p{margin:0;font-size:12px;color:#0369A1;line-height:1.5}

/* \u54cd\u5e94\u5f0f */
@media (max-width: 920px){
  .v1000-floorplan-shell{width:100vw;height:100vh;border-radius:0}
  .v1000-rightpanel.v1052-inspector{display:block;right:8px;top:auto;bottom:82px;width:min(312px,calc(100vw - 16px));max-height:46vh}
  .v1052-inspector-shell{max-height:46vh}.v1052-inspector.collapsed{width:44px;right:0}
  .v1000-dock{bottom:16px}
  .v1000-canvas-toolbar{top:8px}
  .v1000-ai-grid{grid-template-columns:1fr}
}

/* \u52a8\u753b\u8282\u6d41 */
@keyframes v1000FadeIn{from{opacity:0}to{opacity:1}}
@keyframes v1000ScaleIn{from{opacity:0;transform:translate(-50%,-50%) scale(.96)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}

.v1000-floorplan-shell,.v1000-modal-card{will-change:transform,opacity}

/* ===== V10.5 方向式量房工作台 ===== */
.v1000-floorplan-layer{z-index:250000!important;background:#f6f7f9}
.v1000-floorplan-mask{display:none!important}
.v1000-floorplan-shell{
  inset:0!important;left:0!important;top:0!important;transform:none!important;
  width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;
  border-radius:0!important;box-shadow:none!important;animation:v1050WorkspaceIn .2s ease!important;
}
@keyframes v1050WorkspaceIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.v1000-floorplan-layer.guided-mode .v1050-editor-only{display:none!important}
.v1050-guided-start{display:none;flex:1;min-height:0;background:#f6f7f9;color:#18212f;overflow:hidden}
.v1000-floorplan-layer.guided-mode .v1050-guided-start{display:flex;flex-direction:column}
.v1050-guide-topbar{
  display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;
  background:linear-gradient(135deg,#132033 0,#1e3048 62%,#124f5f 100%);color:#fff;
  box-shadow:0 8px 28px rgba(15,23,42,.14);z-index:3
}
.v1050-guide-kicker{display:inline-flex;padding:4px 10px;border-radius:999px;background:rgba(34,211,238,.13);color:#67e8f9;font-size:12px;font-weight:800;letter-spacing:.06em}
.v1050-guide-topbar h2{margin:7px 0 2px;font-size:23px;letter-spacing:-.02em;color:#fff!important}
.v1050-guide-topbar p{margin:0;color:rgba(255,255,255,.68);font-size:13px}
.v1050-guide-top-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.v1050-btn{border:0;border-radius:10px;padding:10px 14px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;transition:.16s ease}
.v1050-btn.soft{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important}
.v1050-btn.soft:hover{background:rgba(255,255,255,.18);transform:translateY(-1px)}
.v1050-btn.plain{background:#fff!important;color:#334155!important}
.v1050-btn:disabled{opacity:.52;cursor:not-allowed;transform:none!important}
.v1050-guide-body{display:grid;grid-template-columns:minmax(620px,1.18fr) minmax(360px,.82fr);gap:18px;padding:20px 24px 28px;min-height:0;overflow:auto}
.v1050-guide-form{display:flex;flex-direction:column;gap:16px;min-width:0}
.v1050-guide-card,.v1050-guide-preview{background:#fff;border:1px solid #e6eaf0;border-radius:18px;box-shadow:0 12px 32px rgba(15,23,42,.055)}
.v1050-guide-card{padding:18px}
.v1050-section-head{display:flex;align-items:flex-start;gap:11px;margin-bottom:15px}
.v1050-section-head>span{width:28px;height:28px;display:grid;place-items:center;border-radius:9px;background:#e6f8fb;color:#087c92;font-size:13px;font-weight:900}
.v1050-section-head h3{margin:0;font-size:17px;color:#172033}
.v1050-section-head p{margin:3px 0 0;font-size:12px;color:#7b8798}
.v1050-basic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.v1050-basic-grid label,.v1050-wall-card label{display:flex;flex-direction:column;gap:5px}
.v1050-basic-grid label.wide{grid-column:span 2}
.v1050-basic-grid label>span,.v1050-wall-card label>span{font-size:11.5px;color:#64748b;font-weight:700}
.v1050-basic-grid input,.v1050-basic-grid select,.v1050-wall-card input,.v1050-wall-card select{
  width:100%;height:39px;border:1px solid #dce3eb;border-radius:9px;background:#fbfcfd;color:#1e293b;padding:0 10px;font:inherit;font-size:13px;box-sizing:border-box
}
.v1050-basic-grid input:focus,.v1050-basic-grid select:focus,.v1050-wall-card input:focus,.v1050-wall-card select:focus{outline:none;border-color:#14b8c8;box-shadow:0 0 0 3px rgba(20,184,200,.12);background:#fff}
.v1050-quick-presets{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px dashed #e5eaf0}
.v1050-quick-presets::before{content:"常用快速填写";font-size:11px;color:#94a3b8;align-self:center;margin-right:3px}
.v1050-quick-presets button{border:1px solid #dfe7ed;background:#f8fafc;color:#475569;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:800;cursor:pointer}
.v1050-quick-presets button:hover{border-color:#22b8c9;background:#ecfeff;color:#087c92}
.v1050-wall-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.v1050-wall-card{display:grid;grid-template-columns:1.1fr repeat(3,minmax(72px,.82fr));gap:8px;align-items:end;padding:12px;border:1px solid #e6eaf0;border-radius:13px;background:#fbfcfd;position:relative;overflow:hidden}
.v1050-wall-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#14b8c8}
.v1050-wall-card.east::before{background:#f59e0b}.v1050-wall-card.south::before{background:#ef6461}.v1050-wall-card.west::before{background:#7c6fe3}
.v1050-wall-name{align-self:center;padding-left:5px}.v1050-wall-name b{display:block;font-size:15px;color:#172033}.v1050-wall-name small{display:block;color:#94a3b8;font-size:10.5px;margin-top:3px}
.v1050-generate-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border-radius:16px;background:#17243a;color:#fff;box-shadow:0 14px 34px rgba(15,23,42,.16)}
.v1050-generate-bar b,.v1050-generate-bar span{display:block}.v1050-generate-bar b{font-size:14px}.v1050-generate-bar span{font-size:11.5px;color:rgba(255,255,255,.62);margin-top:3px}
.v1050-generate-btn{border:0;border-radius:11px;padding:12px 18px;background:linear-gradient(135deg,#22c1d3,#0891b2);color:#fff;font:inherit;font-size:13px;font-weight:900;cursor:pointer;white-space:nowrap;box-shadow:0 8px 20px rgba(6,182,212,.25)}
.v1050-guide-preview{display:flex;flex-direction:column;padding:18px;min-height:600px;position:sticky;top:0;align-self:start}
.v1050-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.v1050-preview-head span{font-size:11px;color:#0891b2;font-weight:900}.v1050-preview-head h3{margin:4px 0 0;font-size:20px}.v1050-preview-head>b{padding:7px 10px;background:#ecfeff;color:#087c92;border-radius:10px;font-size:14px}
.v1050-preview-canvas{display:grid;place-items:center;min-height:360px;margin:16px 0;background:linear-gradient(#edf2f7 1px,transparent 1px),linear-gradient(90deg,#edf2f7 1px,transparent 1px);background-size:24px 24px;border:1px solid #e5eaf0;border-radius:15px;overflow:hidden}
.v1050-preview-canvas svg{width:100%;height:auto;max-height:390px}
.v1050-guide-summary{display:flex;gap:7px;flex-wrap:wrap}.v1050-guide-summary span{padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:800}.v1050-guide-summary span.window{background:#e8f8fd;color:#087c92}.v1050-guide-summary span.door{background:#fff1ef;color:#c84f4b}
.v1050-preview-tip{margin-top:auto;padding:13px;border-radius:12px;background:#f8fafc;border:1px solid #e7ebf0}.v1050-preview-tip b,.v1050-preview-tip span{display:block}.v1050-preview-tip b{font-size:12px;color:#334155}.v1050-preview-tip span{font-size:11.5px;color:#788598;line-height:1.7;margin-top:3px}
@media(max-width:1100px){.v1050-guide-body{grid-template-columns:1fr}.v1050-guide-preview{position:static;min-height:0}.v1050-wall-grid{grid-template-columns:1fr}}
@media(max-width:720px){.v1050-guide-topbar{align-items:flex-start;flex-direction:column;padding:15px}.v1050-guide-body{padding:12px}.v1050-basic-grid{grid-template-columns:1fr 1fr}.v1050-basic-grid label.wide{grid-column:span 2}.v1050-wall-card{grid-template-columns:1fr 1fr}.v1050-wall-name{grid-column:1/-1}.v1050-generate-bar{align-items:stretch;flex-direction:column}.v1050-generate-btn{width:100%}}

/* ===== V1000 AI 模块增强样式 ===== */
.v1000-ai-preset-row{display:flex;gap:8px;align-items:center;margin-bottom:8px;flex-wrap:wrap}
.v1000-ai-preset-row select{flex:0 0 auto;padding:6px 10px;border-radius:8px;border:1px solid #e5e7eb;background:#fff;font-size:13px;color:#374151}
.v1000-ai-preset-row .v1000-btn.xsmall{padding:4px 10px;font-size:12px}
.v1000-btn.xsmall{padding:4px 10px;font-size:12px;border-radius:6px}
.v1000-ai-tabs{display:flex;gap:0;border-bottom:1px solid #e5e7eb;margin-bottom:14px}
.v1000-ai-tab{flex:1;padding:10px 12px;text-align:center;font-size:13px;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;transition:all .15s ease}
.v1000-ai-tab.active{color:#ec4899;border-bottom-color:#ec4899;font-weight:600}
.v1000-ai-tab:hover:not(.active){color:#374151;background:#fafafa}
.v1000-ai-panel{display:none}
.v1000-ai-panel.active{display:block}
.v1000-ai-batch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:10px}
.v1000-ai-batch-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.v1000-ai-batch-item.error{padding:10px;color:#dc2626;font-size:12px}
.v1000-ai-batch-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#fff}
.v1000-ai-batch-meta{padding:8px 10px;display:flex;flex-direction:column;gap:6px}
.v1000-ai-batch-meta b{font-size:13px;color:#374151}
.v1000-ai-batch-meta > span{display:flex;gap:4px;flex-wrap:wrap}
.v1000-ai-history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:10px}
.v1000-ai-history-item{background:#fafafa;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.v1000-ai-history-item img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#fff}
.v1000-ai-history-ph{width:100%;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:#f3f4f6;color:#9ca3af;font-size:12px}
.v1000-ai-history-meta{padding:8px 10px;font-size:12px;color:#6b7280;display:flex;flex-direction:column;gap:4px}
.v1000-ai-history-meta b{color:#374151;font-size:13px}
.v1000-ai-history-actions{display:flex;gap:4px;margin-top:4px}
.v1000-ai-empty{padding:18px;color:#9ca3af;font-size:13px;text-align:center;background:#fafafa;border:1px dashed #e5e7eb;border-radius:10px}

/* ===== V1000 AI 老房改造预设 ===== */
.v1000-ai-preset-heritage{margin-top:8px;padding:8px 10px;border-radius:10px;background:linear-gradient(90deg,#fef3c7,#fde6cf);border:1px solid #f0c896}
.v1000-ai-preset-heritage select{flex:0 0 auto;padding:6px 10px;border-radius:8px;border:1px solid #d4a373;background:#fffbe8;font-size:13px;color:#5a3b1e}
.v1000-ai-preset-heritage .v1000-heritage-btn{background:#b45309!important;color:#fff!important;border-color:#b45309!important}
.v1000-ai-preset-heritage .v1000-heritage-btn:hover{background:#92400e!important;border-color:#92400e!important}
.v1000-ai-heritage-hint{margin:8px 0 4px;font-size:12px;color:#7c4a1f;line-height:1.55}
.v1000-ai-heritage-hint b{color:#92400e}

/* ===== V1000 三段式工作流 ===== */
.v1000-ai-workflow-row{align-items:flex-start;flex-direction:column;gap:6px}
.v1000-ai-workflow-row select{width:100%;padding:8px 10px;border-radius:8px;border:1px solid #d1d5db;background:#fff;font-size:13px;color:#374151}
.v1000-ai-workflow-hint{display:block;font-size:12px;color:#6b7280;line-height:1.55;background:#fef9c3;border:1px solid #fde68a;padding:6px 10px;border-radius:6px;margin-top:6px}
.v1000-ai-workflow-hint b{color:#92400e}







/* ===== V1000 草稿检测 toast ===== */
.v1000-draft-toast{position:fixed;left:50%;bottom:32px;transform:translateX(-50%) translateY(20px);z-index:9500;background:#fff;border-radius:14px;box-shadow:0 18px 48px rgba(0,0,0,.18);padding:14px 16px;min-width:320px;max-width:440px;border:1px solid #fcd9b8;opacity:0;transition:.25s ease;pointer-events:auto}
.v1000-draft-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.v1000-draft-toast-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.v1000-draft-toast-head b{color:#a74e10;font-size:14px}
.v1000-draft-toast-meta{font-size:11px;color:#8a7a6e;background:#fff6ee;padding:2px 8px;border-radius:999px}
.v1000-draft-toast-body{color:#5b4d43;font-size:13px;line-height:1.55;margin-bottom:10px}
.v1000-draft-toast-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.v1000-draft-btn{padding:6px 12px;border-radius:8px;border:1px solid #e4d7cc;background:#fff;color:#5b4d43;font-size:12px;cursor:pointer;font-weight:700;transition:.15s ease}
.v1000-draft-btn:hover{background:#fff6ee;color:#a74e10;border-color:#f0c896}
.v1000-draft-btn.primary{background:#f47b20;color:#fff;border-color:#f47b20}
.v1000-draft-btn.primary:hover{background:#e06810;border-color:#e06810;color:#fff}
.v1000-draft-btn.ghost{background:transparent;border-color:transparent;color:#8a7a6e}
.v1000-draft-btn.ghost:hover{background:#faf6f1;color:#5b4d43}
.v1000-draft-close{margin-left:auto;background:transparent;border:0;color:#a89685;font-size:18px;cursor:pointer;padding:0 6px;line-height:1}
.v1000-draft-close:hover{color:#a74e10}



/* ============== V10.4.7: AI 智能报价 真功能样式 ============== */

/* modal 加宽 */
.v1000-ai-quote-card-wide{max-width:780px;width:calc(100vw - 40px)}

/* 头部状态 pill */
.v1000-ai-status-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:8px;font-size:12px;font-weight:500;margin-right:auto}
.v1000-ai-status-pill.ok{background:linear-gradient(135deg,#D1FAE5,#A7F3D0);color:#065F46}
.v1000-ai-status-pill.idle{background:#FEE2E2;color:#991B1B}
.v1000-ai-status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor}
.v1000-ai-status-pill.ok .dot{box-shadow:0 0 0 4px rgba(16,185,129,.15);animation:v1000Pulse 2s infinite}
@keyframes v1000Pulse{0%,100%{opacity:1}50%{opacity:.5}}

/* 设置 modal */
.v1000-ai-quote-settings-card{max-width:560px;width:calc(100vw - 40px)}
.v1000-ai-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v1000-field{display:flex;flex-direction:column;gap:6px}
.v1000-field.wide{grid-column:1 / -1}
.v1000-field label{font-size:13px;color:#374151;font-weight:600}
.v1000-field input,.v1000-field select,.v1000-field textarea{
  padding:8px 11px;border:1px solid #d1d5db;border-radius:8px;
  font-size:13.5px;background:#fff;color:#111827;outline:none;transition:border-color .15s;
}
.v1000-field input:focus,.v1000-field select:focus,.v1000-field textarea:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.v1000-btn-text{background:transparent;border:0;color:#7c3aed;font-size:12px;cursor:pointer;padding:2px 6px;border-radius:4px}
.v1000-btn-text:hover{background:#f5f3ff}
.v1000-ai-settings-hint{margin-top:16px;padding:10px 12px;background:#FFFBEB;border:1px solid #FDE68A;border-radius:8px;color:#92400E;font-size:12.5px;line-height:1.6}
.v1000-ai-settings-hint b{color:#B45309}

/* 表单 (7 问卷) */
.v1000-ai-quote-form{display:flex;flex-direction:column;gap:14px;padding:14px 0 0}
.v1000-ai-quote-q{display:flex;flex-direction:column;gap:8px}
.v1000-ai-quote-q>label{font-size:13.5px;color:#374151;font-weight:600}
.v1000-ai-quote-q select{
  width:100%;max-width:420px;padding:8px 11px;border:1px solid #d1d5db;
  border-radius:8px;font-size:13.5px;background:#fff;
}
.v1000-ai-quote-q select:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 3px rgba(139,92,246,.15)}
.v1000-ai-quote-q textarea{padding:8px 11px;border:1px solid #d1d5db;border-radius:8px;font-size:13.5px;font-family:inherit}
.v1000-ai-quote-multi{display:flex;flex-wrap:wrap;gap:8px}
.v1000-ai-quote-chip{
  display:inline-flex;align-items:center;gap:6px;padding:6px 12px;
  border:1px solid #d1d5db;border-radius:999px;font-size:13px;
  cursor:pointer;background:#fff;color:#374151;transition:.15s;
}
.v1000-ai-quote-chip input{margin:0}
.v1000-ai-quote-chip:has(input:checked){background:linear-gradient(135deg,#A78BFA,#7C3AED);color:#fff;border-color:#7C3AED}

/* 加载中 */
.v1000-ai-quote-loading{text-align:center;padding:50px 20px;color:#5b21b6}
.v1000-ai-quote-spinner{
  width:48px;height:48px;margin:0 auto;border:4px solid #ede9fe;
  border-top-color:#7c3aed;border-radius:50%;animation:v1000Spin 0.8s linear infinite;
}
@keyframes v1000Spin{to{transform:rotate(360deg)}}

/* 错误页 */
.v1000-ai-quote-error{
  padding:18px 20px;border-radius:12px;
  background:linear-gradient(135deg,#FEF2F2,#FEE2E2);
  border:1px solid #FCA5A5;
}

/* 总结 pills */
.v1000-ai-quote-summary{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 16px;background:linear-gradient(135deg,#FAF5FF,#EDE9FE);
  border-radius:12px;margin-bottom:14px;
}
.v1000-ai-quote-summary-pill{
  display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;
  background:#fff;border-radius:10px;min-width:80px;box-shadow:0 1px 4px rgba(139,92,246,.1);
}
.v1000-ai-quote-summary-num{font-size:22px;font-weight:700;color:#7c3aed;line-height:1}
.v1000-ai-quote-summary-lbl{font-size:12px;color:#6b21a8;font-weight:500}
.v1000-ai-quote-summary-tip{margin-left:auto;font-size:13px;color:#6b21a8;font-weight:500}

/* 段标题 (施工项 / 主材) */
.v1000-ai-quote-section{margin-bottom:18px}
.v1000-ai-quote-section h4{
  margin:0 0 10px;font-size:14px;color:#374151;font-weight:700;
  display:flex;align-items:center;gap:8px;
}
.v1000-ai-quote-section-tag{
  display:inline-block;padding:2px 10px;border-radius:999px;font-size:11px;
  background:#f3f4f6;color:#6b7280;font-weight:500;
}

/* 列表卡片 */
.v1000-ai-quote-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.v1000-ai-quote-item{
  display:flex;align-items:flex-start;gap:8px;padding:10px 12px;
  border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:.15s;
}
.v1000-ai-quote-item:hover{border-color:#a78bfa;background:#faf5ff;box-shadow:0 2px 8px rgba(139,92,246,.08)}
.v1000-ai-quote-item:has(input:checked){border-color:#7c3aed;background:linear-gradient(135deg,#FAF5FF,#EDE9FE)}
.v1000-ai-quote-item input[type=checkbox]{margin:2px 0 0;width:16px;height:16px;accent-color:#7c3aed;flex-shrink:0}
.v1000-ai-quote-item-body{flex:1;min-width:0}
.v1000-ai-quote-item-title{
  display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;
  font-size:13px;color:#111827;font-weight:600;
}
.v1000-ai-quote-item-cat{
  display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;
  background:#7c3aed;color:#fff;font-weight:600;flex-shrink:0;
}
.v1000-ai-quote-item-name{color:#1f2937;font-size:13.5px}
.v1000-ai-quote-item-tag{
  display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;
  background:#f3f4f6;color:#6b7280;
}
.v1000-ai-quote-item-meta{font-size:12px;color:#6b7280;line-height:1.5}
.v1000-ai-quote-item-meta b{color:#059669}
.v1000-ai-quote-item-meta em{color:#9ca3af;font-style:normal}

/* 主材项目样式微调 */
.v1000-ai-quote-item-material{background:linear-gradient(135deg,#fffbeb,#fff7ed)}
.v1000-ai-quote-item-material:hover{background:linear-gradient(135deg,#fef3c7,#fde68a)}

/* 空状态 */
.v1000-ai-quote-empty{padding:14px;text-align:center;color:#9ca3af;font-size:13px;border:1px dashed #d1d5db;border-radius:8px}

/* 操作行 */
.v1000-ai-quote-actions{display:flex;gap:8px;margin-top:8px;font-size:12px}
.v1000-btn-text{background:transparent;border:0;color:#7c3aed;font-size:12px;cursor:pointer;padding:4px 8px;border-radius:4px}
.v1000-btn-text:hover{background:#f5f3ff}

/* 输入行默认 v1000-btn 在 app 里已有, 这里确保 padding */
.v1000-ai-quote-settings-card .v1000-btn{padding:8px 14px;font-size:13px;border-radius:8px;border:1px solid transparent;cursor:pointer;font-weight:600}
.v1000-ai-quote-settings-card .v1000-btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}
.v1000-ai-quote-settings-card .v1000-btn.primary:hover{box-shadow:0 4px 12px rgba(139,92,246,.3)}
.v1000-ai-quote-settings-card .v1000-btn.ghost{background:transparent;color:#6b7280;border-color:#e5e7eb}
.v1000-ai-quote-settings-card .v1000-btn.ghost:hover{background:#f9fafb}

/* 标语 */
.v1000-ai-quote-banner{
  padding:14px 16px;border-radius:12px;margin-bottom:14px;
  background:linear-gradient(135deg,#f5f3ff,#ede9fe);
  border:1px solid #ddd6fe;
}


/* ===== V10.4.9 其他功能 - 单独全屏辅助工具页面 ===== */
.v1049-others-page{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none!important;
  visibility:hidden!important;
  overflow:auto!important;
  background:linear-gradient(180deg,#f7f3ef 0,#fbfaf8 100%)!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.v1049-others-page.open{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.v1049-others-shell{
  width:min(1280px,100%)!important;
  min-height:100%!important;
  margin:0 auto!important;
  padding:24px 24px 60px!important;
}
body.others-page-open>.header,
body.others-page-open>main.app,
body.others-page-open>footer{
  visibility:hidden!important;
}
.v1049-others-topbar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  padding:18px 22px!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
  border:1px solid #eadfd7!important;
  border-radius:18px!important;
  box-shadow:0 8px 28px rgba(74,48,31,.06)!important;
  margin-bottom:22px!important;
}
.v1049-others-topbar-left{
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  text-align:left!important;
}
.v1049-others-topbar-left .v1049-kicker{
  display:inline-block!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#c66b3d!important;
  background:#fff1e7!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  letter-spacing:.5px!important;
  width:max-content!important;
  margin-bottom:6px!important;
}
.v1049-others-topbar-left h2{
  margin:0!important;
  font-size:22px!important;
  font-weight:800!important;
  color:#3b2a1a!important;
}
.v1049-others-topbar-left p{
  margin:4px 0 0!important;
  font-size:13px!important;
  color:#8b7b6c!important;
  line-height:1.5!important;
}
.v1049-others-topbar-right{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.v1049-others-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
@media (max-width:760px){
  .v1049-others-grid{grid-template-columns:1fr!important}
}
.v1049-others-card{
  display:flex!important;
  align-items:center!important;
  gap:16px!important;
  padding:18px 20px!important;
  border:1px solid #eadfd7!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 6px 20px rgba(74,48,31,.06)!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease!important;
  font:inherit!important;
  color:inherit!important;
  position:relative!important;
}
.v1049-others-card:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 32px rgba(74,48,31,.10)!important;
  border-color:#d8c8b6!important;
}
.v1049-others-card:focus{
  outline:2px solid #c66b3d!important;
  outline-offset:2px!important;
}
.v1049-others-card .v1049-card-icon{
  flex:0 0 auto!important;
  width:48px!important;
  height:48px!important;
  border-radius:14px!important;
  background:var(--v1049-tone,#c66b3d)!important;
  color:#fff!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:22px!important;
  box-shadow:inset 0 -2px 0 rgba(0,0,0,.08)!important;
}
.v1049-others-card .v1049-card-body{
  flex:1 1 auto!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  min-width:0!important;
}
.v1049-others-card .v1049-card-body b{
  font-size:16px!important;
  font-weight:700!important;
  color:#3b2a1a!important;
}
.v1049-others-card .v1049-card-body em{
  font-style:normal!important;
  font-size:13px!important;
  color:#8b7b6c!important;
  font-weight:600!important;
}
.v1049-others-card .v1049-card-body small{
  font-size:12px!important;
  color:#a99a8a!important;
}
.v1049-others-card .v1049-card-go{
  flex:0 0 auto!important;
  padding:6px 14px!important;
  border-radius:999px!important;
  background:#fff1e7!important;
  color:#c66b3d!important;
  font-size:12px!important;
  font-weight:700!important;
}
.v1049-others-card .v1049-card-go-active{
  background:#c66b3d!important;
  color:#fff!important;
}
.v1049-others-card-featured{
  background:linear-gradient(135deg,#fff7f1 0,#fff 60%)!important;
  border-color:#f5d5b8!important;
}
.v1049-others-footnote{
  margin-top:18px!important;
  padding:14px 18px!important;
  border:1px dashed #eadfd7!important;
  border-radius:14px!important;
  font-size:12px!important;
  color:#8b7b6c!important;
  line-height:1.7!important;
}


/* ===== V10.4.10 智能量房预设库 - 全屏 gallery ===== */
.v10410-gallery{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none!important;
  visibility:hidden!important;
  overflow:auto!important;
  background:linear-gradient(180deg,#f7f3ef 0,#fbfaf8 100%)!important;
  overscroll-behavior:contain!important;
}
.v10410-gallery.open{
  display:block!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.v10410-gallery-shell{
  width:min(1280px,100%)!important;
  margin:0 auto!important;
  padding:24px 24px 60px!important;
}
.v10410-gallery-topbar{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px 22px!important;
  background:rgba(255,255,255,.96)!important;
  backdrop-filter:blur(18px)!important;
  border:1px solid #eadfd7!important;
  border-radius:18px!important;
  margin-bottom:18px!important;
}
.v10410-gallery-topbar-left .v10410-kicker{
  display:inline-block!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#c66b3d!important;
  background:#fff1e7!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  margin-bottom:6px!important;
}
.v10410-gallery-topbar-left h2{
  margin:0!important;
  font-size:22px!important;
  font-weight:800!important;
  color:#3b2a1a!important;
}
.v10410-gallery-topbar-left p{
  margin:4px 0 0!important;
  font-size:13px!important;
  color:#8b7b6c!important;
}
.v10410-gallery-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
@media (max-width:1080px){
  .v10410-gallery-grid{grid-template-columns:repeat(3,1fr)!important}
}
@media (max-width:760px){
  .v10410-gallery-grid{grid-template-columns:repeat(2,1fr)!important}
}
.v10410-preset-card{
  border:1px solid #eadfd7!important;
  border-radius:14px!important;
  background:#fff!important;
  padding:14px 12px!important;
  cursor:pointer!important;
  text-align:left!important;
  font:inherit!important;
  color:inherit!important;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
}
.v10410-preset-card:hover{
  transform:translateY(-1px)!important;
  box-shadow:0 12px 30px rgba(74,48,31,.10)!important;
  border-color:#f5d5b8!important;
}
.v10410-preset-card:focus{
  outline:2px solid #c66b3d!important;
  outline-offset:2px!important;
}
.v10410-preset-thumb{
  width:100%!important;
  aspect-ratio:4/3!important;
  background:#fff8f1!important;
  border-radius:8px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.v10410-preset-thumb svg{
  width:100%!important;
  height:100%!important;
}
.v10410-preset-meta b{
  display:block!important;
  font-size:14px!important;
  font-weight:700!important;
  color:#3b2a1a!important;
  margin-bottom:2px!important;
}
.v10410-preset-meta em{
  display:block!important;
  font-style:normal!important;
  font-size:11px!important;
  color:#8b7b6c!important;
  line-height:1.4!important;
  margin-bottom:6px!important;
}
.v10410-preset-stats{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:4px!important;
}
.v10410-preset-stats span{
  font-size:10px!important;
  padding:2px 6px!important;
  border-radius:6px!important;
  background:#fff1e7!important;
  color:#7a3e10!important;
}
.v10410-preset-stats .v10410-preset-area{
  margin-left:auto!important;
  background:#c66b3d!important;
  color:#fff!important;
  font-weight:700!important;
}
.v10410-gallery-foot{
  margin-top:18px!important;
  padding:14px 18px!important;
  border:1px dashed #eadfd7!important;
  border-radius:14px!important;
  font-size:12px!important;
  color:#8b7b6c!important;
}
.v10410-wizard-btn{
  background:linear-gradient(135deg,#fff1e7,#ffe6d3)!important;
  border:1px dashed #c66b3d!important;
}

/* V10.7：主材库去掉生硬黑色表格分割线，改为留白与柔和行底。 */
.v80-table-wrap{border:0!important;box-shadow:none!important;background:transparent!important}
.v80-table{border-collapse:separate!important;border-spacing:0 7px!important;background:transparent!important}
.v80-table thead th{border:0!important;border-bottom:1px solid rgba(107,88,72,.12)!important;background:#fffaf6!important}
.v80-table tbody td{border:0!important;border-top:1px solid rgba(107,88,72,.07)!important;border-bottom:1px solid rgba(107,88,72,.07)!important;background:#fff!important}
.v80-table tbody td:first-child{border-left:1px solid rgba(107,88,72,.07)!important;border-radius:12px 0 0 12px}.v80-table tbody td:last-child{border-right:1px solid rgba(107,88,72,.07)!important;border-radius:0 12px 12px 0}
.v80-table tbody tr:hover td{background:#fff9f3!important;border-color:rgba(244,123,32,.18)!important}

/* 多空间测量：输入生成图形，异形再补充倒角参数。 */
.v1060-shape-card{margin-top:14px;padding:14px;border:1px solid rgba(31,111,120,.15);border-radius:14px;background:linear-gradient(135deg,#f0fbfb,#fffaf5)}
.v1060-shape-head{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}.v1060-shape-head>div{display:grid;gap:3px}.v1060-shape-head b{font-size:14px;color:#155760}.v1060-shape-head span{font-size:12px;line-height:1.5;color:#637579}.v1060-shape-head em{font-style:normal;white-space:nowrap;padding:4px 8px;border-radius:999px;background:#dff5f3;color:#16716b;font-size:11px;font-weight:800}
.v1060-shape-fields{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:9px;margin-top:12px}.v1060-shape-fields label{display:grid;gap:5px}.v1060-shape-fields span{font-size:11px;font-weight:800;color:#6f6258}.v1060-shape-fields select,.v1060-shape-fields input{width:100%;box-sizing:border-box;min-height:38px}
.v1060-shape-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.v1060-shape-hint{margin:10px 0 0;color:#586c70;font-size:12px;line-height:1.55}.measurement-cad-status{align-self:center;color:#657277;font-size:11.5px}
@media(max-width:760px){.v1060-shape-fields{grid-template-columns:1fr}.v1060-shape-head{display:block}.v1060-shape-head em{display:inline-block;margin-top:7px}.measurement-cad-status{display:none}}
