:root{
  --bg:#0d1217;--panel:#171e26;--panel2:#1b2530;--line:#2b3a46;--line2:#22313c;
  --text:#e8edf1;--muted:#93a1ad;--accent:#8db1c7;--accent2:#6f8796;--gold:#c7aa6b;
  --value:#d7c28a;--input:#111922;--selected:#233340;--danger:#e0a08e;--ok:#b9c7d0;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:linear-gradient(180deg,#0a0f14,#0e141a 180px,#0d1217);color:var(--text);font:14px/1.45 "Segoe UI","Microsoft YaHei UI","Microsoft YaHei",sans-serif}
button,input,select,textarea{font:inherit}.topbar{height:64px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(14,21,29,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;backdrop-filter:blur(10px)}
.brand-wrap{display:flex;gap:10px;align-items:center}.brand-mark{width:31px;height:31px;display:grid;place-items:center;border:1px solid #506a7b;border-radius:7px;background:#1a2935;color:#b8d2e1;font-weight:800}.brand{font-size:18px;font-weight:700;letter-spacing:.3px}.brand-sub{color:var(--muted);font-size:11px}.top-actions{display:flex;align-items:center;gap:9px}.shell{max-width:1600px;margin:auto;padding:14px}.search-row{display:grid;grid-template-columns:minmax(300px,1fr) auto auto;gap:8px;margin-bottom:12px}.search,input,select,textarea{background:var(--input);color:var(--text);border:1px solid #3a4e5d;border-radius:7px;outline:none}.search,input,select{padding:10px 11px}.search:focus,input:focus,select:focus,textarea:focus{border-color:#65869a;box-shadow:0 0 0 2px rgba(141,177,199,.08)}
.btn{background:#243845;color:var(--text);border:1px solid #466071;border-radius:7px;padding:9px 12px;cursor:pointer;transition:.15s}.btn:hover{background:#2c4656}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.ghost{background:#151f28;color:#aab8c2}.btn.primary{background:#31495a;border-color:#617e91;font-weight:700}.btn.full{width:100%;margin-top:12px}.link-btn{border:0;background:none;color:#9fb4c1;cursor:pointer;padding:0}.layout{display:grid;grid-template-columns:270px minmax(720px,1fr) 365px;gap:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.18)}.panel-head{min-height:43px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#1a2530,#16202a);border-bottom:1px solid var(--line);font-weight:700}.mini,.muted{color:var(--muted);font-size:12px}.category-tree{padding:7px;max-height:calc(100vh - 145px);overflow:auto}.cat-row{padding:8px 9px;border-radius:6px;color:#c8d1d8;cursor:pointer}.cat-row:hover,.cat-row.active{background:#253745;color:#fff}.cat-count{float:right;color:#708491;font-size:11px}.category-panel{align-self:start;position:sticky;top:78px}.cart-panel{align-self:start;position:sticky;top:78px}.table-wrap{overflow:auto;max-height:calc(100vh - 205px)}.market-table{width:100%;border-collapse:collapse;min-width:930px}.market-table th{position:sticky;top:0;z-index:5;background:#121a22;color:#899ba7;font-size:11px;text-align:left;padding:9px 10px;border-bottom:1px solid var(--line)}.market-table td{padding:9px 10px;border-bottom:1px solid var(--line2);vertical-align:middle}.market-table tr:hover td{background:#1b2731}.market-table tr.selected td{background:var(--selected)}.check-col{width:54px}.name{font-weight:600}.sub{font-size:11px;color:#7f919d;margin-top:2px;max-width:310px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price{color:var(--value);font-weight:700}.qty{width:82px;padding:7px;text-align:right}.cell-center{text-align:center}.age{font-size:12px;color:#a8b4bd}.warn{color:var(--danger)}.pager{display:flex;justify-content:center;align-items:center;gap:12px;padding:10px;border-top:1px solid var(--line)}
.cart-lines{padding:10px 13px;max-height:320px;overflow:auto}.empty{color:#788a96;padding:12px 0}.cart-line{padding:8px 0;border-bottom:1px solid var(--line2)}.cart-name{display:flex;justify-content:space-between;gap:8px}.cart-name b{font-size:13px}.cart-meta{font-size:11px;color:#8697a3;margin-top:3px}.remove{border:0;background:none;color:#8ea0ab;cursor:pointer}.order-form{display:grid;gap:7px;padding:12px 13px;border-top:1px solid var(--line)}.order-form label{font-size:11px;color:#899aa6}.totals{padding:5px 13px 0}.totals>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px dashed #31414c}.totals span{color:#95a3ae}.totals b{font-weight:650}.totals .grand{font-size:18px;color:var(--gold);border-bottom:0}.fineprint{font-size:11px;color:#7f909b;padding:10px 13px 14px}.status-box{margin:10px 13px 0;padding:10px;border:1px solid #3f5666;border-radius:7px;background:#17232c}.status-box.error{border-color:#63473f;color:#e5b0a0;background:#241c1a}.status-box.success{border-color:#495f6e;color:#dbe6ed}.hidden{display:none!important}.toast{position:fixed;right:20px;bottom:20px;z-index:100;background:#1b2a35;border:1px solid #536d7f;color:#edf3f7;border-radius:8px;padding:11px 14px;box-shadow:0 12px 30px #0006;max-width:380px}.loading-row td{text-align:center;color:#8da0ac;padding:30px}.admin-shell{max-width:1450px;margin:auto;padding:14px}.admin-grid{display:grid;grid-template-columns:220px 1fr;gap:12px}.admin-nav{padding:8px}.nav-btn{width:100%;text-align:left;border:0;background:none;color:#b5c2cb;padding:9px 10px;border-radius:6px;cursor:pointer}.nav-btn.active,.nav-btn:hover{background:#243845;color:#fff}.admin-content{padding:14px}.cards{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:9px}.metric{background:#121a22;border:1px solid var(--line);border-radius:8px;padding:12px}.metric .k{font-size:11px;color:var(--muted)}.metric .v{font-size:20px;font-weight:700;margin-top:4px;color:#e8edf1}.admin-table{width:100%;border-collapse:collapse;margin-top:12px}.admin-table th,.admin-table td{border-bottom:1px solid var(--line2);padding:8px;text-align:left;font-size:12px}.admin-table th{color:#899ba7;background:#121a22}.textarea{width:100%;min-height:180px;padding:10px;resize:vertical}.row-actions{display:flex;gap:6px;flex-wrap:wrap}.section{margin-top:14px}.section-title{font-weight:700;margin-bottom:8px}.login-card{max-width:520px;margin:70px auto;padding:20px}.login-card input{width:100%;margin:10px 0}.tag{display:inline-block;padding:2px 7px;border:1px solid #405665;border-radius:999px;color:#aebdc8;font-size:11px}.tag.pending{border-color:#735f42;color:#d8be83}.tag.done{border-color:#49606c}.tag.cancel{border-color:#654a43;color:#dda99a}
@media(max-width:1200px){.layout{grid-template-columns:230px 1fr}.cart-panel{grid-column:1/-1;position:static}.cards{grid-template-columns:repeat(3,1fr)}}@media(max-width:820px){.topbar{height:auto;min-height:64px;align-items:flex-start;padding:10px 12px}.top-actions{flex-direction:column;align-items:flex-end}.shell{padding:8px}.search-row{grid-template-columns:1fr auto}.search-row .ghost{display:none}.layout{grid-template-columns:1fr}.category-panel{position:static}.category-tree{max-height:220px}.market-panel{order:1}.category-panel{order:0}.cart-panel{order:2}.admin-grid{grid-template-columns:1fr}.admin-nav{display:flex;overflow:auto}.nav-btn{width:auto;white-space:nowrap}.cards{grid-template-columns:repeat(2,1fr)}}

/* 客户端批量购买 */
.search-row{grid-template-columns:minmax(300px,1fr) auto auto auto}
.bulk-panel{margin-bottom:12px}
.bulk-body{padding:12px}
.bulk-textarea{width:100%;min-height:145px;padding:10px;resize:vertical}
.bulk-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:9px}
.bulk-note{margin-top:10px;padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:#121a22}
.bulk-errors{margin-top:8px;max-height:180px;overflow:auto;border:1px solid #5b4540;border-radius:7px;background:#211a18;padding:8px 10px;color:#d7b3a8;font-size:12px}
.bulk-errors>div+div{margin-top:5px}
.error-text{color:var(--danger)}
.qty::placeholder{color:#657783}
@media(max-width:820px){.search-row{grid-template-columns:1fr auto auto}.search-row #resetBtn{display:none}.bulk-actions .muted{width:100%}}


/* 联系信息与购物车价格刷新提示 */
.brand-sub{color:#9fb3bf}
.cart-price-change{margin-top:4px;font-size:11px;color:var(--gold);padding:4px 6px;border-left:2px solid #806f48;background:#1d2020;border-radius:3px}
@media(max-width:820px){.brand-sub{max-width:230px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}


/* 顶部业务信息条 */
.business-banner{max-width:1600px;margin:10px auto 0;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:linear-gradient(180deg,#18242d,#141e26);border:1px solid var(--line);border-radius:9px;color:#cbd5dc}
.business-main,.business-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.business-main strong{color:#e8edf1;font-size:14px}
.business-main span{color:#b8c6cf}
.business-side{justify-content:flex-end;text-align:right}
.business-side strong{color:var(--gold);white-space:nowrap}
.business-side span{color:var(--muted);font-size:11px}
@media(max-width:900px){.business-banner{margin:8px 8px 0;align-items:flex-start;flex-direction:column;gap:6px}.business-main,.business-side{justify-content:flex-start;text-align:left;gap:6px 10px}.business-side strong{white-space:normal}}

/* ===== 后台宽表布局修复：库存成本/售价列增加后避免挤成竖排 ===== */
.admin-shell{max-width:none;width:100%;padding:14px 18px}
.admin-grid{grid-template-columns:220px minmax(0,1fr)}
.admin-content{min-width:0;overflow:hidden}
.admin-content .admin-table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:auto}
.admin-content .admin-table th,
.admin-content .admin-table td{white-space:nowrap;vertical-align:middle}
.admin-content .admin-table th{line-height:1.25}
.admin-content .admin-table td:nth-child(3){max-width:260px;overflow:hidden;text-overflow:ellipsis}
.admin-content .admin-table .qty{min-width:90px}
.admin-content .edit-site-price{width:125px!important;min-width:125px}
.admin-content .row-actions{flex-wrap:nowrap}
.admin-content .admin-table td:last-child .row-actions{min-width:0!important;white-space:nowrap}
.admin-content .admin-table td:last-child .btn{padding:8px 10px}

/* 宽表必须在内容区内部横向滚动，不能把整个后台页面撑坏 */
.admin-content > div[style*="overflow:auto"]{max-width:100%;overflow-x:auto!important;overflow-y:visible}

@media(max-width:1200px){
  .admin-shell{padding:10px}
  .admin-grid{grid-template-columns:190px minmax(0,1fr)}
}
@media(max-width:820px){
  .admin-grid{grid-template-columns:1fr}
  .admin-content{overflow:visible}
}

/* ===== 客户前台库存表格热修 V2：只修更新时间，不重排整张表 ===== */
/*
  V1 热修给多个列强制了最小宽度，导致“更新时间 / 可售”视觉比例被拉歪。
  V2 恢复原表格自适应，只锁住更新时间这一列，避免 4分钟前 被拆成竖排。
*/
.market-table th:nth-child(4),
.market-table td:nth-child(4){
  width:76px;
  min-width:76px;
  max-width:76px;
  text-align:center;
  white-space:nowrap;
  word-break:keep-all;
}
.market-table .age{
  /* 关键：td.age 必须继续保持 table-cell。之前设成 inline-block 会破坏整行对齐。 */
  white-space:nowrap;
  word-break:keep-all;
  writing-mode:horizontal-tb;
  vertical-align:middle;
}

/* 可售列保持原来自适应，但统一居中，使表头和数字视觉对齐 */
.market-table th:nth-child(5),
.market-table td:nth-child(5){
  text-align:center;
  white-space:nowrap;
}

/* 恢复最初的表格宽度口径，不再人为把整张表撑到 1040px */
.market-table{min-width:930px}


/* ===== 客户前台 V3：市场区加宽 + 顶部横向滚动条 ===== */
/* 1680px 左右桌面宽度下，把空间优先让给库存市场；分类与购物车稍微收窄。 */
.shell{max-width:1900px;padding-left:10px;padding-right:10px}
.business-banner{max-width:1900px}
.layout{grid-template-columns:225px minmax(0,1fr) 315px;gap:10px}
.market-panel{min-width:0}
.table-wrap{max-width:100%;overflow:auto;scrollbar-gutter:stable}

/* 表格保持舒展：宽屏尽量整表显示，窄屏再横向滚动。 */
.market-table{min-width:1080px}
.market-table th:nth-child(2),.market-table td:nth-child(2){min-width:270px}
.market-table th:nth-child(3),.market-table td:nth-child(3){min-width:235px}
.market-table th:nth-child(4),.market-table td:nth-child(4){width:78px;min-width:78px;max-width:78px}
.market-table th:nth-child(5),.market-table td:nth-child(5){min-width:82px}
.market-table th:nth-child(6),.market-table td:nth-child(6){min-width:78px;white-space:nowrap}
.market-table th:nth-child(7),.market-table td:nth-child(7){min-width:116px}
.market-table th:nth-child(8),.market-table td:nth-child(8){min-width:135px;white-space:nowrap}

/* 原生横向滚动条在表格最底部；这里增加一条始终位于表格顶部的同步滚动条。 */
.table-xscroll-top{
  height:16px;
  overflow-x:auto;
  overflow-y:hidden;
  background:#111820;
  border-bottom:1px solid var(--line);
  scrollbar-gutter:stable;
}
.table-xscroll-spacer{height:1px;min-width:100%}
.table-xscroll-top.xscroll-hidden{height:0;border:0;overflow:hidden}
.table-xscroll-top::-webkit-scrollbar{height:11px}
.table-xscroll-top::-webkit-scrollbar-track{background:#111820}
.table-xscroll-top::-webkit-scrollbar-thumb{background:#415768;border-radius:999px;border:2px solid #111820}

@media(max-width:1450px){
  .layout{grid-template-columns:205px minmax(0,1fr) 300px}
}
@media(max-width:1200px){
  .layout{grid-template-columns:210px minmax(0,1fr)}
  .cart-panel{grid-column:1/-1;position:static}
}
@media(max-width:820px){
  .layout{grid-template-columns:1fr}
  .table-xscroll-top{height:16px}
}


/* ===== 客户前台 V4：修复更新时间列破坏 table 布局 ===== */
.market-table td.age{
  display:table-cell!important;
  vertical-align:middle!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
}
.market-table th:nth-child(4),
.market-table td:nth-child(4),
.market-table th:nth-child(5),
.market-table td:nth-child(5),
.market-table th:nth-child(6),
.market-table td:nth-child(6){
  vertical-align:middle;
}

/* ===== FRONT_ESTIMATE_TREE_V1: 多级分类树 + 一键估价 ===== */
.front-nav{display:flex;gap:5px;align-items:center;margin-left:auto;margin-right:12px}
.front-tab{border:1px solid #3b5060;background:#141e27;color:#9fb0bb;border-radius:7px;padding:8px 13px;cursor:pointer}
.front-tab:hover{background:#21313d;color:#fff}.front-tab.active{background:#304959;border-color:#607e91;color:#fff;font-weight:700}
.category-tree{padding:6px}
.cat-row{display:flex;align-items:center;gap:4px;padding:7px 7px!important;margin:1px 0;min-width:0}
.cat-row .cat-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.cat-row .cat-count{float:none!important;flex:0 0 auto;margin-left:6px}
.cat-row.cat-depth{padding-left:calc(7px + var(--depth,0) * 15px)!important}
.cat-toggle{width:18px;height:18px;display:grid;place-items:center;flex:0 0 18px;border:0;background:none;color:#80929e;padding:0;cursor:pointer;font-size:12px}
.cat-toggle.empty{visibility:hidden;cursor:default}
.cat-row.active .cat-toggle{color:#cbd8e0}
.estimate-shell{max-width:1600px;margin:auto;padding:14px}
.estimate-input-panel{overflow:visible}.estimate-input-body{padding:13px}
.estimate-textarea{width:100%;min-height:210px;resize:vertical;padding:12px;font-family:"Cascadia Mono","Consolas","Microsoft YaHei UI",monospace;line-height:1.55}
.estimate-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px}
.estimate-progress{margin-top:9px;padding:7px 9px;border:1px dashed #314653;border-radius:6px;background:#111922}
.estimate-summary{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;margin:12px 0}
.estimate-metric{background:#151e27;border:1px solid var(--line);border-radius:9px;padding:13px}
.estimate-metric .k{font-size:11px;color:var(--muted)}.estimate-metric .v{font-size:20px;font-weight:750;color:var(--value);margin-top:3px}.estimate-metric .s{font-size:11px;color:#81929d;margin-top:3px}
.estimate-table-wrap{overflow:auto;max-height:calc(100vh - 330px)}
.estimate-table{width:100%;border-collapse:collapse;min-width:1220px}
.estimate-table th{position:sticky;top:0;z-index:4;background:#121a22;color:#899ba7;font-size:11px;text-align:right;padding:9px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.estimate-table th:first-child{text-align:left}.estimate-table td{padding:9px 10px;border-bottom:1px solid var(--line2);text-align:right;white-space:nowrap}
.estimate-table td:first-child{text-align:left;min-width:260px}.estimate-table tr:hover td{background:#1b2731}
.estimate-errors{padding:10px 13px;display:grid;gap:6px}.estimate-error{padding:8px 10px;border:1px solid #553f39;background:#211b1a;border-radius:6px;color:#d9aaa0}
.estimate-result-name{font-weight:650}.estimate-result-sub{font-size:11px;color:#7f919d;margin-top:2px}
@media(max-width:1000px){.front-nav{order:3;width:100%;justify-content:center;margin:0}.topbar{height:auto;min-height:64px;flex-wrap:wrap;padding:10px 14px}.estimate-summary{grid-template-columns:repeat(2,minmax(150px,1fr))}}
@media(max-width:620px){.estimate-summary{grid-template-columns:1fr}.estimate-shell{padding:8px}.front-tab{flex:1}.front-nav{width:100%}}


/* EVE_OFFICIAL_ITEM_ICONS_V1 — CCP / EVE Image Service 商品缩略图 */
.product-ident{display:flex;align-items:center;gap:10px;min-width:0}
.product-ident-text{min-width:0;flex:1}
.eve-icon-box{position:relative;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid #324857;border-radius:6px;overflow:hidden;background:linear-gradient(180deg,#101b24,#0b131a);box-shadow:inset 0 0 12px rgba(76,139,177,.08)}
.eve-icon-box img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain}
.eve-icon-fallback{font-size:18px;color:#4f6f83;line-height:1}
.eve-icon-cart{width:30px;height:30px;flex-basis:30px;border-radius:5px}
.eve-icon-cart .eve-icon-fallback{font-size:13px}
.cart-title-wrap{display:flex;align-items:center;gap:8px;min-width:0;flex:1}
.cart-title-wrap b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.estimate-product-ident{min-width:230px}
@media(max-width:820px){.eve-icon-box{width:36px;height:36px;flex-basis:36px}.eve-icon-cart{width:28px;height:28px;flex-basis:28px}}


/* EVE_CLEAN_FRONT_THEME_V1
   客户前台简洁风：无背景大图，只靠结构、层次与克制配色。
   注意：所有样式均限定在 .front-page，不影响管理后台。
*/
.front-page{
  --bg:#07111b;
  --panel:#0d1824;
  --panel2:#101e2c;
  --line:#203447;
  --line2:#182a3a;
  --text:#e7eef6;
  --muted:#7f93a7;
  --accent:#3b98f4;
  --accent2:#72bcff;
  --gold:#f0bd61;
  --value:#f1c56d;
  --input:#091521;
  --selected:#112a40;
  --danger:#e68f73;
  --ok:#9fc8e8;
  background:
    radial-gradient(circle at 52% -25%,rgba(55,123,183,.11),transparent 40%),
    linear-gradient(180deg,#07111b 0,#09131e 170px,#07111b 100%);
}
.front-page .topbar{
  min-height:68px;height:68px;padding:0 18px;
  background:rgba(7,16,26,.96);
  border-bottom:1px solid #1d3347;
  box-shadow:0 8px 28px rgba(0,0,0,.18);
}
.front-page .brand-wrap{gap:11px;flex:0 0 auto}
.front-page .brand-mark{
  width:34px;height:34px;border-radius:8px;
  border:1px solid #315876;background:#0d2233;color:#8bcaff;
  box-shadow:inset 0 0 18px rgba(70,157,229,.08);
}
.front-page .brand{font-size:20px;font-weight:750;letter-spacing:.2px;color:#f1f6fb}
.front-page .brand-sub{color:#7890a4;font-size:11px}

/* 顶部功能导航：库存超市克制，一键估价始终醒目 */
.front-page .front-nav{display:flex;align-items:center;gap:7px;margin-left:auto;margin-right:16px}
.front-page .front-tab{
  min-height:40px;padding:9px 15px;border-radius:8px;
  border:1px solid #263f53;background:#0c1925;color:#9fb0c1;
  font-weight:650;letter-spacing:.1px;
  transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;
}
.front-page .front-tab:hover{background:#122334;border-color:#365a75;color:#eaf3fb}
.front-page #marketTabBtn.active{background:#173553;border-color:#2f6b9e;color:#eaf6ff;box-shadow:inset 0 -2px 0 #4ba6f7}
.front-page #estimateTabBtn{
  padding:10px 19px;color:#211708;
  background:linear-gradient(180deg,#ffd77c,#eeb64e);
  border-color:#ffd684;font-weight:850;
  box-shadow:0 0 0 1px rgba(255,203,100,.11),0 5px 18px rgba(219,151,41,.16);
}
.front-page #estimateTabBtn::before{content:'◆';font-size:11px;margin-right:7px;color:#755014}
.front-page #estimateTabBtn:hover{background:linear-gradient(180deg,#ffe19a,#f5c260);border-color:#ffe3a2;transform:translateY(-1px);color:#171007}
.front-page #estimateTabBtn.active{background:linear-gradient(180deg,#ffe29a,#f4be56);box-shadow:0 0 0 2px rgba(255,206,112,.10),0 6px 22px rgba(221,153,42,.22)}
.front-page .top-actions{gap:9px;flex:0 0 auto}
.front-page #refreshPrices{background:#102638;border-color:#31566f;color:#d7e8f5}
.front-page #refreshPrices:hover{background:#17334a;border-color:#43779b}

.front-page .business-banner{
  max-width:1900px;margin:10px auto 0;padding:9px 13px;
  background:#0b1722;border:1px solid #1e3548;border-radius:8px;
  box-shadow:none;
}
.front-page .business-main strong{color:#e9f0f6}
.front-page .business-main span{color:#91a4b6}
.front-page .business-side strong{color:#f0bd61}
.front-page .business-side span{color:#72879a}

.front-page .shell{max-width:1900px;padding:11px 10px 14px}
.front-page .search-row{gap:8px;margin-bottom:10px}
.front-page .search,
.front-page input,
.front-page select,
.front-page textarea{
  background:#091521;color:#e6eef6;border-color:#29445b;border-radius:7px;
}
.front-page .search{min-height:40px}
.front-page .search:focus,
.front-page input:focus,
.front-page select:focus,
.front-page textarea:focus{border-color:#4a93c9;box-shadow:0 0 0 2px rgba(65,151,215,.10)}
.front-page .btn{background:#102232;border-color:#2b4a61;color:#c9d8e4;box-shadow:none}
.front-page .btn:hover{background:#163047;border-color:#3f6b89;color:#fff}
.front-page #searchBtn{background:#1d6db2;border-color:#3188cf;color:#fff;font-weight:750}
.front-page #searchBtn:hover{background:#247bc5}
.front-page #bulkToggleBtn{background:#102536;border-color:#33566d;color:#d2e2ed}
.front-page #resetBtn{background:#0b1722;border-color:#253c4e;color:#8296a7}
.front-page .btn.primary{background:#1d70b7;border-color:#3b91d2;color:#fff}
.front-page .btn.primary:hover{background:#2781c9}

.front-page .layout{grid-template-columns:225px minmax(0,1fr) 315px;gap:10px}
.front-page .panel{
  background:#0d1824;border:1px solid #203447;border-radius:9px;
  box-shadow:0 10px 24px rgba(0,0,0,.13);
}
.front-page .panel-head{
  min-height:44px;padding:0 13px;
  background:#101e2c;border-bottom-color:#20384c;
  color:#eaf1f7;font-weight:750;
}
.front-page .mini,.front-page .muted{color:#7f93a7}

/* 分类树：不要装饰图，靠缩进、蓝色选中与边线建立层次 */
.front-page .category-tree{padding:7px 6px}
.front-page .cat-row{
  min-height:34px;padding-top:7px!important;padding-bottom:7px!important;
  color:#aebdca;border-radius:6px;border-left:2px solid transparent;
}
.front-page .cat-row:hover{background:#102435;color:#e6f1fa}
.front-page .cat-row.active{background:#16324b;color:#f0f7fd;border-left-color:#4ba7f6}
.front-page .cat-count{color:#688197}
.front-page .cat-toggle{color:#68849a}
.front-page .cat-row.active .cat-toggle{color:#9cd2ff}

/* 主表：清楚、对齐、信息密度高 */
.front-page .table-xscroll-top{background:#09131d;border-bottom-color:#1d3142}
.front-page .table-xscroll-top::-webkit-scrollbar-track{background:#09131d}
.front-page .table-xscroll-top::-webkit-scrollbar-thumb{background:#31506a;border-color:#09131d}
.front-page .market-table th{
  background:#0a1520;color:#8296a8;border-bottom-color:#21394d;
  font-size:11px;font-weight:700;letter-spacing:.1px;
}
.front-page .market-table td{border-bottom-color:#172b3b;color:#dfe7ee}
.front-page .market-table tr:hover td{background:#102131}
.front-page .market-table tr.selected td{background:#122b40}
.front-page .name{color:#edf3f8;font-weight:680}
.front-page .sub{color:#6f8497}
.front-page .price{color:#f0bd61;font-weight:800}
.front-page .age{color:#8da1b2}
.front-page .age.warn,.front-page .warn{color:#dc8a6e}
.front-page .qty{background:#0a1621;border-color:#29445a;color:#dfe9f1}
.front-page .eve-icon-box{
  border-color:#2a455b;background:#08131e;border-radius:6px;
  box-shadow:inset 0 0 13px rgba(52,128,186,.08);
}
.front-page .eve-icon-fallback{color:#3e6683}
.front-page .pager{background:#0b1621;border-top-color:#1d3345}

/* 购物车：只突出最终金额与确认按钮 */
.front-page .cart-lines{background:#0c1722}
.front-page .cart-line{border-bottom-color:#1b3041}
.front-page .order-form{border-top-color:#203648}
.front-page .totals>div{border-bottom-color:#263d4d}
.front-page .totals span{color:#8296a7}
.front-page .totals .grand{color:#f0bd61}
.front-page #checkoutBtn{
  margin-left:13px;margin-right:13px;width:calc(100% - 26px);
  background:linear-gradient(180deg,#2f94ee,#247bd0);
  border-color:#58a9ee;color:white;font-weight:800;
}
.front-page #checkoutBtn:hover{background:linear-gradient(180deg,#42a4f5,#2e89dc)}
.front-page .fineprint{color:#6e8395}

/* 一键估价页：主入口 + 真正执行估价按钮都用同一套琥珀强调色 */
.front-page .estimate-shell{max-width:1600px;padding-top:12px}
.front-page .estimate-input-body{padding:14px}
.front-page .estimate-textarea{background:#08141f;border-color:#2a465d}
.front-page #estimateRunBtn{
  background:linear-gradient(180deg,#ffd77c,#ecb34b)!important;
  border-color:#ffda86!important;color:#201606!important;font-weight:850!important;
  box-shadow:0 5px 16px rgba(210,143,35,.14);
}
.front-page #estimateRunBtn:hover{background:linear-gradient(180deg,#ffe39b,#f5c260)!important}
.front-page #estimateCopyBtn{background:#173d5d;border-color:#3372a0;color:#dff1ff}
.front-page .estimate-progress{background:#0a1722;border-color:#294255}
.front-page .estimate-metric{background:#0d1b28;border-color:#21394d}
.front-page .estimate-metric .k{color:#7b91a4}
.front-page .estimate-metric .v{color:#f0c36c}
.front-page .estimate-table th{background:#09141f;color:#8297a9;border-bottom-color:#21394d}
.front-page .estimate-table td{border-bottom-color:#182d3e}
.front-page .estimate-table tr:hover td{background:#102334}
.front-page .estimate-result-sub{color:#6f8598}
.front-page .estimate-error{background:#1e1817;border-color:#5a4038;color:#d6a594}

.front-page .toast{background:#102435;border-color:#386584;color:#edf6fc}
.front-page .status-box{background:#0d1c29;border-color:#29465d}
.front-page .bulk-note{background:#0a1722;border-color:#233c50}

@media(max-width:1450px){
  .front-page .layout{grid-template-columns:205px minmax(0,1fr) 300px}
  .front-page .front-tab{padding-left:12px;padding-right:12px}
  .front-page #estimateTabBtn{padding-left:16px;padding-right:16px}
}
@media(max-width:1200px){
  .front-page .layout{grid-template-columns:210px minmax(0,1fr)}
  .front-page .cart-panel{grid-column:1/-1;position:static}
}
@media(max-width:1000px){
  .front-page .topbar{height:auto;min-height:68px;flex-wrap:wrap;padding-top:9px;padding-bottom:9px}
  .front-page .front-nav{order:3;width:100%;margin:0;justify-content:center}
  .front-page .top-actions{margin-left:auto}
}
@media(max-width:820px){
  .front-page .layout{grid-template-columns:1fr}
  .front-page .front-tab{flex:1}
  .front-page #estimateTabBtn{flex:1}
}


/* EVE_DUAL_THEME_TOGGLE_V1
   双主题切换：默认简洁风（theme-clean） + 少女风（theme-girl）。
   只作用于客户前台 .front-page，不影响后台。
*/
.front-page.theme-clean{color-scheme:dark;}
.front-page .theme-switcher-dock{
  position:fixed; right:16px; top:82px; z-index:1200;
  display:flex; align-items:center; gap:8px;
  padding:8px 10px; border-radius:12px;
  border:1px solid rgba(73,106,133,.5); background:rgba(8,16,26,.84);
  box-shadow:0 10px 26px rgba(0,0,0,.26), inset 0 0 0 1px rgba(255,255,255,.02);
  backdrop-filter:blur(10px);
}
.front-page .theme-switcher-label{font-size:12px;color:#8fa1b3;font-weight:700;letter-spacing:.2px}
.front-page .theme-switch-btn{
  border:1px solid #39516a; background:#102130; color:#d8e6f2;
  border-radius:999px; padding:8px 13px; min-height:34px;
  font-size:12px; font-weight:750; letter-spacing:.1px; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease, color .15s ease;
}
.front-page .theme-switch-btn:hover{transform:translateY(-1px); border-color:#5a7f9f; background:#15304a}
.front-page.theme-clean .theme-switch-btn.active{
  color:#211708; border-color:#ffd684; background:linear-gradient(180deg,#ffd77c,#eeb64e);
  box-shadow:0 0 0 1px rgba(255,203,100,.12),0 6px 16px rgba(219,151,41,.18);
}
.front-page.theme-girl .theme-switcher-dock{border-color:rgba(214,124,180,.45);background:rgba(34,12,30,.82)}
.front-page.theme-girl .theme-switcher-label{color:#f1c9df}
.front-page.theme-girl .theme-switch-btn{border-color:#8d5778;background:#35192f;color:#fde8f4}
.front-page.theme-girl .theme-switch-btn:hover{border-color:#c97faf;background:#48213f}
.front-page.theme-girl .theme-switch-btn.active{
  color:#5b163d; border-color:#ffc5e6; background:linear-gradient(180deg,#ffd2eb,#ffb2da);
  box-shadow:0 0 0 1px rgba(255,187,224,.18),0 6px 18px rgba(176,72,130,.24);
}

/* 少女风：保留现有结构与商品图，只切配色和气质。 */
.front-page.theme-girl{
  color-scheme:dark;
  background:
    radial-gradient(circle at 18% 0%, rgba(255,168,214,.20), transparent 32%),
    radial-gradient(circle at 82% 12%, rgba(229,162,255,.13), transparent 28%),
    linear-gradient(180deg,#210d1f 0,#1a0f20 160px,#170d1a 100%);
}
.front-page.theme-girl .topbar{background:rgba(34,12,30,.96);border-bottom:1px solid #6a3b58;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.front-page.theme-girl .brand-mark{border-color:#8a4d74;background:#381a30;color:#ffd1ea;box-shadow:inset 0 0 18px rgba(255,174,221,.10)}
.front-page.theme-girl .brand{color:#fff5fb}
.front-page.theme-girl .brand-sub{color:#d9adc7}
.front-page.theme-girl .front-tab{border-color:#744967;background:#31182b;color:#f5d7e8}
.front-page.theme-girl .front-tab:hover{background:#42203a;border-color:#a86e91;color:#fff3fb}
.front-page.theme-girl #marketTabBtn.active{background:#562845;border-color:#cd80a9;color:#fff4fb;box-shadow:inset 0 -2px 0 #ffadd7}
.front-page.theme-girl #estimateTabBtn{color:#5f143f;background:linear-gradient(180deg,#ffd1eb,#ffafda);border-color:#ffc7e5;box-shadow:0 0 0 1px rgba(255,194,228,.13),0 6px 18px rgba(191,83,138,.18)}
.front-page.theme-girl #estimateTabBtn::before{color:#a23b73}
.front-page.theme-girl #estimateTabBtn:hover{background:linear-gradient(180deg,#ffddf1,#ffc0e2);border-color:#ffd8ef;color:#4e1032}
.front-page.theme-girl #estimateTabBtn.active{background:linear-gradient(180deg,#ffe0f3,#ffc6e4);box-shadow:0 0 0 2px rgba(255,210,236,.10),0 7px 22px rgba(200,91,147,.24)}
.front-page.theme-girl #refreshPrices{background:#341829;border-color:#83506f;color:#ffe8f4}
.front-page.theme-girl #refreshPrices:hover{background:#4a213a;border-color:#be7da4}
.front-page.theme-girl .business-banner,.front-page.theme-girl .panel,.front-page.theme-girl .estimate-shell,.front-page.theme-girl .status-box,.front-page.theme-girl .bulk-note{background:#22101d;border-color:#60364f;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.front-page.theme-girl .panel-head,.front-page.theme-girl .business-main strong,.front-page.theme-girl .business-side strong{color:#fff0f8}
.front-page.theme-girl .business-main span,.front-page.theme-girl .business-side span,.front-page.theme-girl .mini,.front-page.theme-girl .muted,.front-page.theme-girl .sub,.front-page.theme-girl .estimate-result-sub{color:#d9adc7}
.front-page.theme-girl .search,
.front-page.theme-girl input,
.front-page.theme-girl select,
.front-page.theme-girl textarea{background:#180d17;border-color:#623c54;color:#fff1f9}
.front-page.theme-girl .search:focus,
.front-page.theme-girl input:focus,
.front-page.theme-girl select:focus,
.front-page.theme-girl textarea:focus{border-color:#ee9bc7;box-shadow:0 0 0 3px rgba(238,155,199,.13)}
.front-page.theme-girl .btn{background:#31182b;border-color:#754766;color:#ffeaf5}
.front-page.theme-girl .btn:hover{background:#44213b;border-color:#b06f94;color:#fff6fb}
.front-page.theme-girl #searchBtn,.front-page.theme-girl .btn.primary,.front-page.theme-girl #estimateRunBtn,.front-page.theme-girl #checkoutBtn{
  background:linear-gradient(180deg,#ffcee8,#ffabda);border-color:#ffc3e3;color:#5f143f;
  box-shadow:0 5px 16px rgba(191,83,138,.16);
}
.front-page.theme-girl #searchBtn:hover,.front-page.theme-girl .btn.primary:hover,.front-page.theme-girl #estimateRunBtn:hover,.front-page.theme-girl #checkoutBtn:hover{background:linear-gradient(180deg,#ffd9ee,#ffbbe0);color:#4e1032}
.front-page.theme-girl .category-tree{background:transparent}
.front-page.theme-girl .cat-row{border-left-color:transparent;color:#ffeef8}
.front-page.theme-girl .cat-row:hover{background:#311724;border-left-color:#b86d96}
.front-page.theme-girl .cat-row.active{background:#462131;border-left-color:#ffb7dc;color:#fff8fc}
.front-page.theme-girl .cat-count{color:#ffcae3;background:rgba(255,203,231,.08);border:1px solid rgba(255,203,231,.14)}
.front-page.theme-girl .cat-toggle{color:#f2b8d5}
.front-page.theme-girl .market-table th,.front-page.theme-girl .estimate-table th{background:#1c0e19;color:#f6d9ea;border-bottom-color:#60364f}
.front-page.theme-girl .market-table td,.front-page.theme-girl .estimate-table td{border-bottom-color:#3c2433;color:#ffeef8}
.front-page.theme-girl .market-table tr:hover td,.front-page.theme-girl .estimate-table tr:hover td{background:#2a1422}
.front-page.theme-girl .market-table tr.selected td{background:#3a1a2e}
.front-page.theme-girl .name,.front-page.theme-girl .price,.front-page.theme-girl .age,.front-page.theme-girl .qty,.front-page.theme-girl .totals .grand,.front-page.theme-girl .estimate-metric .v{color:#fff2f9}
.front-page.theme-girl .price,.front-page.theme-girl .totals .grand,.front-page.theme-girl .estimate-metric .v.value{color:#ffd2eb}
.front-page.theme-girl .age.warn,.front-page.theme-girl .warn,.front-page.theme-girl .estimate-error{color:#ffc08c}
.front-page.theme-girl .eve-icon-box{border-color:#7a4e67;background:linear-gradient(180deg,#2b1524,#1a0f18);box-shadow:inset 0 0 14px rgba(255,174,221,.07)}
.front-page.theme-girl .cart-line,.front-page.theme-girl .order-form,.front-page.theme-girl .totals>div{border-color:#452a38}
.front-page.theme-girl .totals span{color:#d8aac4}
.front-page.theme-girl .fineprint,.front-page.theme-girl .toast{color:#f9e0ef}
.front-page.theme-girl .table-xscroll-top::-webkit-scrollbar-thumb{background:#b36a92}
.front-page.theme-girl .table-xscroll-top::-webkit-scrollbar-track{background:#281420}
.front-page.theme-girl .pager{border-top-color:#4b2b3e}
.front-page.theme-girl .estimate-metric{background:#1b0f18;border-color:#5f3850}
.front-page.theme-girl .estimate-metric .k{color:#d7afc4}

@media(max-width:920px){
  .front-page .theme-switcher-dock{top:auto;bottom:14px;right:14px;left:14px;justify-content:center;flex-wrap:wrap}
}


/* EVE_DUAL_THEME_GIRL_VISUAL_FIX_V2
   V2 修复两件事：
   1) 主题切换不再 fixed 浮在搜索按钮上，而是进入顶部导航正常排版；
   2) 少女风不再只是换颜色：增加真实插画横幅 + 购物车吉祥物 + 完整浅粉主题。
*/

/* ---------- 主题切换：顶栏内联，不挡任何操作 ---------- */
.front-page .theme-switcher-dock{
  position:static !important;
  inset:auto !important;
  z-index:auto !important;
  margin:0 8px 0 6px !important;
  padding:3px !important;
  height:38px;
  flex:0 0 auto;
  display:flex !important;
  align-items:center;
  gap:3px !important;
  border-radius:9px !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.front-page .theme-switcher-label{display:none !important}
.front-page .theme-switch-btn{
  min-height:30px !important;
  height:30px;
  padding:5px 10px !important;
  border-radius:7px !important;
  font-size:12px !important;
  line-height:18px;
  white-space:nowrap;
}
.front-page .girl-theme-hero{display:none}

/* ---------- 少女风：完整浅粉界面 ---------- */
.front-page.theme-girl{
  color-scheme:light;
  --bg:#f7f0f6;
  --panel:#fffafd;
  --panel2:#fff3f8;
  --line:#e8cfdd;
  --line2:#f0dce7;
  --text:#352d40;
  --muted:#8c7d8d;
  --accent:#ee63a8;
  --accent2:#ff9dca;
  --gold:#ef65a9;
  --value:#df4f96;
  --input:#fffafd;
  --selected:#ffe8f3;
  --danger:#d75b73;
  --ok:#8067c8;
  background:
    radial-gradient(circle at 16% 0%,rgba(255,179,218,.27),transparent 28%),
    radial-gradient(circle at 84% 5%,rgba(199,180,255,.18),transparent 23%),
    linear-gradient(180deg,#faeff7 0,#f8f3f8 210px,#f4eef5 100%) !important;
  color:#352d40 !important;
}
.front-page.theme-girl .topbar{
  background:rgba(255,248,252,.96) !important;
  border-bottom:1px solid #e8c9d9 !important;
  box-shadow:0 5px 18px rgba(91,46,76,.08) !important;
}
.front-page.theme-girl .brand-mark{background:#fff0f7 !important;border-color:#e9afcc !important;color:#d94d94 !important}
.front-page.theme-girl .brand{color:#362b3d !important}
.front-page.theme-girl .brand-sub{color:#a48699 !important}
.front-page.theme-girl .front-tab{background:#fffafd !important;border-color:#e6cada !important;color:#67566a !important}
.front-page.theme-girl .front-tab:hover{background:#fff0f7 !important;border-color:#e49aba !important;color:#8f3769 !important}
.front-page.theme-girl #marketTabBtn.active{background:#ffe7f2 !important;border-color:#ee9dc4 !important;color:#a93673 !important;box-shadow:inset 0 -2px 0 #ef6aaa !important}
.front-page.theme-girl #estimateTabBtn{
  color:#fff !important;
  background:linear-gradient(180deg,#f47bb6,#df4f98) !important;
  border-color:#f59bc6 !important;
  box-shadow:0 5px 16px rgba(206,73,139,.24) !important;
}
.front-page.theme-girl #estimateTabBtn::before{color:#fff !important}
.front-page.theme-girl #estimateTabBtn:hover{background:linear-gradient(180deg,#fa8fc2,#e65aa1) !important;color:#fff !important}
.front-page.theme-girl #refreshPrices{background:#fff7fb !important;border-color:#e4c4d5 !important;color:#69596c !important}
.front-page.theme-girl #refreshPrices:hover{background:#ffedf6 !important;border-color:#dda2c0 !important;color:#923d6d !important}

.front-page.theme-girl .theme-switcher-dock{background:#fff3f8 !important;border:1px solid #e6bfd3 !important}
.front-page.theme-girl .theme-switch-btn{background:#fffafd !important;border-color:#e1c3d3 !important;color:#735e70 !important}
.front-page.theme-girl .theme-switch-btn.active{background:#f06cae !important;border-color:#f18abc !important;color:#fff !important;box-shadow:none !important}

/* 真正的少女插画横幅 */
.front-page.theme-girl .girl-theme-hero{
  display:block;
  height:112px;
  max-width:1900px;
  margin:8px auto 0;
  border:1px solid #e7bed3;
  border-radius:12px;
  overflow:hidden;
  position:relative;
  background-image:
    linear-gradient(90deg,rgba(54,41,70,.05),rgba(255,236,247,.02)),
    url('/theme-assets/girl-hero.png');
  background-size:cover;
  background-position:center 42%;
  box-shadow:0 8px 24px rgba(101,53,84,.12);
}
.front-page.theme-girl .girl-theme-hero::after{
  content:'少女模式  ·  Fly Safe ♡';
  position:absolute;left:18px;bottom:12px;
  padding:7px 12px;border-radius:999px;
  color:#fff;background:rgba(78,50,79,.46);
  border:1px solid rgba(255,255,255,.28);
  font-size:12px;font-weight:750;letter-spacing:.3px;
  backdrop-filter:blur(5px);
}

.front-page.theme-girl .business-banner{
  background:rgba(255,250,253,.96) !important;
  border-color:#ead0dd !important;
  box-shadow:0 5px 18px rgba(89,48,75,.06) !important;
}
.front-page.theme-girl .business-main strong,.front-page.theme-girl .business-side strong{color:#49394b !important}
.front-page.theme-girl .business-main span,.front-page.theme-girl .business-side span{color:#987f91 !important}
.front-page.theme-girl .business-side strong{color:#cf4a8d !important}
.front-page.theme-girl .shell{background:transparent !important}
.front-page.theme-girl .panel,
.front-page.theme-girl .estimate-shell,
.front-page.theme-girl .status-box,
.front-page.theme-girl .bulk-note{
  background:rgba(255,252,254,.97) !important;
  border-color:#e8cfdd !important;
  box-shadow:0 7px 20px rgba(87,45,71,.055) !important;
}
.front-page.theme-girl .panel-head{background:#fff8fb !important;border-bottom-color:#ead4df !important;color:#403442 !important}
.front-page.theme-girl .mini,.front-page.theme-girl .muted,.front-page.theme-girl .sub,.front-page.theme-girl .estimate-result-sub{color:#988897 !important}
.front-page.theme-girl .search,
.front-page.theme-girl input,
.front-page.theme-girl select,
.front-page.theme-girl textarea{
  background:#fff !important;border-color:#e4cbd8 !important;color:#443849 !important;
}
.front-page.theme-girl .search::placeholder,.front-page.theme-girl input::placeholder,.front-page.theme-girl textarea::placeholder{color:#b8a7b3 !important}
.front-page.theme-girl .search:focus,.front-page.theme-girl input:focus,.front-page.theme-girl select:focus,.front-page.theme-girl textarea:focus{border-color:#ed8fbb !important;box-shadow:0 0 0 3px rgba(237,111,170,.12) !important}
.front-page.theme-girl .btn{background:#fff7fb !important;border-color:#e4c7d6 !important;color:#6d596b !important}
.front-page.theme-girl .btn:hover{background:#ffedf6 !important;border-color:#dfa6c2 !important;color:#a13f73 !important}
.front-page.theme-girl #searchBtn,.front-page.theme-girl .btn.primary,.front-page.theme-girl #estimateRunBtn,.front-page.theme-girl #checkoutBtn{
  background:linear-gradient(180deg,#f47ab6,#df5099) !important;
  border-color:#f293c0 !important;color:#fff !important;
  box-shadow:0 5px 14px rgba(207,78,143,.18) !important;
}
.front-page.theme-girl #searchBtn:hover,.front-page.theme-girl .btn.primary:hover,.front-page.theme-girl #estimateRunBtn:hover,.front-page.theme-girl #checkoutBtn:hover{background:linear-gradient(180deg,#fb8ec2,#e45ca1) !important}
.front-page.theme-girl #bulkToggleBtn,.front-page.theme-girl #resetBtn,.front-page.theme-girl #estimateCopyBtn{background:#fff7fb !important;border-color:#e4c7d6 !important;color:#7b6172 !important}

.front-page.theme-girl .category-tree{background:transparent !important}
.front-page.theme-girl .cat-row{color:#5b4d5d !important;border-left-color:transparent !important}
.front-page.theme-girl .cat-row:hover{background:#fff0f7 !important;border-left-color:#e89bbb !important}
.front-page.theme-girl .cat-row.active{background:linear-gradient(90deg,#ffe3f0,#fff3f8) !important;border-left-color:#e95fa2 !important;color:#aa356f !important}
.front-page.theme-girl .cat-count{color:#bd4d83 !important;background:#fff0f7 !important;border-color:#edc8da !important}
.front-page.theme-girl .cat-toggle{color:#bc7097 !important}

.front-page.theme-girl .table-xscroll-top{background:#fff7fb !important;border-bottom-color:#ead1dd !important}
.front-page.theme-girl .market-table{background:#fff !important}
.front-page.theme-girl .market-table th,.front-page.theme-girl .estimate-table th{background:#fff1f7 !important;color:#756071 !important;border-bottom-color:#e7cbd9 !important}
.front-page.theme-girl .market-table td,.front-page.theme-girl .estimate-table td{background:#fff !important;color:#433747 !important;border-bottom-color:#f0dee7 !important}
.front-page.theme-girl .market-table tr:hover td,.front-page.theme-girl .estimate-table tr:hover td{background:#fff7fb !important}
.front-page.theme-girl .market-table tr.selected td{background:#ffeaf4 !important}
.front-page.theme-girl .name{color:#3d3441 !important}
.front-page.theme-girl .price{color:#db4c93 !important}
.front-page.theme-girl .age{color:#a47f95 !important}
.front-page.theme-girl .age.warn,.front-page.theme-girl .warn{color:#dd755d !important}
.front-page.theme-girl .qty{background:#fff !important;color:#493e4b !important;border-color:#dfc7d3 !important}
.front-page.theme-girl .eve-icon-box{background:#fff !important;border-color:#e0c5d3 !important;box-shadow:0 2px 7px rgba(72,43,62,.08) !important}
.front-page.theme-girl .eve-icon-fallback{color:#c3799e !important}
.front-page.theme-girl .pager{background:#fff8fb !important;border-top-color:#ead2de !important;color:#756070 !important}

.front-page.theme-girl .cart-panel{position:relative;overflow:hidden}
.front-page.theme-girl .cart-panel::after{
  content:'';position:absolute;right:8px;bottom:8px;width:150px;height:102px;
  background:url('/theme-assets/girl-mascot.png') center/contain no-repeat;
  opacity:.14;pointer-events:none;z-index:0;
}
.front-page.theme-girl .cart-panel>*{position:relative;z-index:1}
.front-page.theme-girl .cart-lines,.front-page.theme-girl .order-form{border-color:#eed8e4 !important}
.front-page.theme-girl .cart-line{background:#fff9fc !important;border-color:#ecd6e1 !important;color:#4d404d !important}
.front-page.theme-girl .totals>div{border-color:#ead7e1 !important}
.front-page.theme-girl .totals span{color:#8b7787 !important}
.front-page.theme-girl .totals b{color:#403442 !important}
.front-page.theme-girl .totals .grand{color:#d94b91 !important;background:#fff0f7 !important}
.front-page.theme-girl .fineprint{color:#9a8794 !important}
.front-page.theme-girl .estimate-metric{background:#fff7fb !important;border-color:#e7cedb !important}
.front-page.theme-girl .estimate-metric .k{color:#9a8594 !important}
.front-page.theme-girl .estimate-metric .v{color:#d84b91 !important}
.front-page.theme-girl .estimate-error{color:#c95d64 !important;background:#fff2f3 !important}
.front-page.theme-girl .toast{background:#49364a !important;color:#fff !important;border-color:#80627c !important}

@media(max-width:1100px){
  .front-page .theme-switcher-dock{order:4;margin-left:auto !important}
  .front-page.theme-girl .girl-theme-hero{height:94px;border-radius:8px}
}
@media(max-width:820px){
  .front-page .theme-switcher-dock{width:auto !important;position:static !important;margin:4px auto 0 !important}
  .front-page.theme-girl .girl-theme-hero{height:82px;margin-left:8px;margin-right:8px}
  .front-page.theme-girl .girl-theme-hero::after{font-size:11px;left:10px;bottom:8px;padding:5px 9px}
}


/* EVE_THEME_V3_CATEGORY_LEAF_FIX
   V3：深色少女主题。保持简洁风的专业骨架，只用粉紫强调、插画横幅和低透明吉祥物表达二次元。
   本段写在 V2 后面，用 !important 覆盖此前浅粉样式。
*/
.front-page .theme-switcher-dock{
  position:static !important; inset:auto !important; z-index:auto !important;
  margin:0 8px 0 6px !important; padding:3px !important; height:38px;
  display:flex !important; align-items:center; gap:3px !important;
  border-radius:9px !important; box-shadow:none !important; backdrop-filter:none !important;
}
.front-page .theme-switcher-label{display:none !important}
.front-page .theme-switch-btn{min-height:30px !important;height:30px;padding:5px 10px !important;border-radius:7px !important;font-size:12px !important;line-height:18px;white-space:nowrap}

.front-page.theme-girl{
  color-scheme:dark !important;
  --bg:#0b1018; --panel:#101824; --panel2:#151c2a; --line:#2b3344; --line2:#20293a;
  --text:#edf0f6; --muted:#9198a8; --accent:#e879b4; --accent2:#f6a7cf; --gold:#e9bd73;
  --value:#efc57e; --input:#0d1420; --selected:#251a2a; --danger:#e2838d; --ok:#a6b9da;
  background:
    radial-gradient(circle at 84% 0%,rgba(213,96,164,.12),transparent 27%),
    radial-gradient(circle at 18% -12%,rgba(112,98,186,.10),transparent 31%),
    linear-gradient(180deg,#0c1119 0,#0b111a 170px,#090f16 100%) !important;
  color:#edf0f6 !important;
}
.front-page.theme-girl .topbar{background:rgba(12,14,22,.97) !important;border-bottom:1px solid #403246 !important;box-shadow:0 6px 22px rgba(0,0,0,.24) !important}
.front-page.theme-girl .brand-mark{background:#211625 !important;border-color:#754763 !important;color:#ffb8db !important;box-shadow:inset 0 0 16px rgba(239,128,184,.08) !important}
.front-page.theme-girl .brand{color:#f6f1f5 !important}
.front-page.theme-girl .brand-sub{color:#a999a8 !important}
.front-page.theme-girl .front-tab{background:#141923 !important;border-color:#343a49 !important;color:#bbb8c4 !important}
.front-page.theme-girl .front-tab:hover{background:#211a27 !important;border-color:#6c4960 !important;color:#f5eaf1 !important}
.front-page.theme-girl #marketTabBtn.active{background:#2a1d2c !important;border-color:#87526f !important;color:#fbeaf3 !important;box-shadow:inset 0 -2px 0 #e779b2 !important}
.front-page.theme-girl #estimateTabBtn{color:#2b1321 !important;background:linear-gradient(180deg,#ffc0de,#ee84b8) !important;border-color:#ffc9e3 !important;box-shadow:0 5px 16px rgba(207,87,149,.20) !important}
.front-page.theme-girl #estimateTabBtn::before{color:#7d3159 !important}
.front-page.theme-girl #estimateTabBtn:hover{background:linear-gradient(180deg,#ffd0e7,#f094c1) !important;color:#21101a !important}
.front-page.theme-girl #refreshPrices{background:#151b26 !important;border-color:#3c4557 !important;color:#d4d8e1 !important}
.front-page.theme-girl #refreshPrices:hover{background:#202331 !important;border-color:#78536b !important;color:#f5eaf1 !important}

/* 插画只是一条克制的视觉签名，不再占大面积 */
.front-page.theme-girl .girl-theme-hero{
  display:block !important;height:76px !important;max-width:1900px !important;margin:8px auto 0 !important;
  border:1px solid #49354a !important;border-radius:10px !important;overflow:hidden !important;position:relative !important;
  background-image:url('/theme-assets/girl-hero.png') !important;background-size:cover !important;background-position:center 40% !important;
  box-shadow:0 8px 24px rgba(0,0,0,.20) !important;filter:saturate(.83) brightness(.72) !important;
}
.front-page.theme-girl .girl-theme-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,12,19,.60),rgba(20,14,24,.12) 45%,rgba(8,12,19,.36));pointer-events:none}
.front-page.theme-girl .girl-theme-hero::after{content:'少女模式  ·  Fly Safe ♡' !important;position:absolute !important;left:16px !important;bottom:10px !important;padding:6px 11px !important;border-radius:999px !important;color:#f9eaf3 !important;background:rgba(18,13,22,.58) !important;border:1px solid rgba(239,151,197,.30) !important;font-size:11px !important;font-weight:750 !important;letter-spacing:.3px !important;backdrop-filter:blur(5px) !important}

.front-page.theme-girl .business-banner{background:#101721 !important;border-color:#2d3544 !important;box-shadow:none !important}
.front-page.theme-girl .business-main strong{color:#e8edf4 !important}.front-page.theme-girl .business-main span{color:#8e99a9 !important}
.front-page.theme-girl .business-side strong{color:#f2a6c9 !important}.front-page.theme-girl .business-side span{color:#8f98a7 !important}
.front-page.theme-girl .shell{background:transparent !important}
.front-page.theme-girl .panel,.front-page.theme-girl .estimate-shell,.front-page.theme-girl .status-box,.front-page.theme-girl .bulk-note{background:#0f1823 !important;border-color:#293546 !important;box-shadow:0 8px 22px rgba(0,0,0,.12) !important}
.front-page.theme-girl .panel-head{background:#121d2a !important;border-bottom-color:#2d3949 !important;color:#eef1f6 !important}
.front-page.theme-girl .mini,.front-page.theme-girl .muted,.front-page.theme-girl .sub,.front-page.theme-girl .estimate-result-sub{color:#8896a8 !important}
.front-page.theme-girl .search,.front-page.theme-girl input,.front-page.theme-girl select,.front-page.theme-girl textarea{background:#0b1420 !important;border-color:#324154 !important;color:#e9edf4 !important}
.front-page.theme-girl .search::placeholder,.front-page.theme-girl input::placeholder,.front-page.theme-girl textarea::placeholder{color:#69798c !important}
.front-page.theme-girl .search:focus,.front-page.theme-girl input:focus,.front-page.theme-girl select:focus,.front-page.theme-girl textarea:focus{border-color:#b96e99 !important;box-shadow:0 0 0 3px rgba(216,105,165,.10) !important}
.front-page.theme-girl .btn{background:#141d29 !important;border-color:#344355 !important;color:#cdd5df !important}
.front-page.theme-girl .btn:hover{background:#211a27 !important;border-color:#78536b !important;color:#f4eaf0 !important}
.front-page.theme-girl #searchBtn,.front-page.theme-girl .btn.primary,.front-page.theme-girl #estimateRunBtn,.front-page.theme-girl #checkoutBtn{background:linear-gradient(180deg,#ec88b9,#d66da2) !important;border-color:#f1a4ca !important;color:#24131d !important;box-shadow:0 5px 14px rgba(199,83,142,.16) !important}
.front-page.theme-girl #searchBtn:hover,.front-page.theme-girl .btn.primary:hover,.front-page.theme-girl #estimateRunBtn:hover,.front-page.theme-girl #checkoutBtn:hover{background:linear-gradient(180deg,#f29bc5,#df7eae) !important}
.front-page.theme-girl #bulkToggleBtn,.front-page.theme-girl #resetBtn,.front-page.theme-girl #estimateCopyBtn{background:#141d29 !important;border-color:#344355 !important;color:#c6ceda !important}

.front-page.theme-girl .theme-switcher-dock{background:#131722 !important;border:1px solid #3a3543 !important}
.front-page.theme-girl .theme-switch-btn{background:#171d28 !important;border-color:#3b4657 !important;color:#bfc7d2 !important}
.front-page.theme-girl .theme-switch-btn.active{background:#3a2232 !important;border-color:#a86489 !important;color:#ffd8ea !important;box-shadow:none !important}

.front-page.theme-girl .category-tree{background:transparent !important}
.front-page.theme-girl .cat-row{color:#bcc6d2 !important;border-left-color:transparent !important}
.front-page.theme-girl .cat-row:hover{background:#181c29 !important;border-left-color:#8c5574 !important}
.front-page.theme-girl .cat-row.active{background:linear-gradient(90deg,#291d2b,#17202c) !important;border-left-color:#e17bb0 !important;color:#f7e9f1 !important}
.front-page.theme-girl .cat-count{color:#cf9bb6 !important;background:#201722 !important;border-color:#493347 !important}
.front-page.theme-girl .cat-toggle{color:#9a7990 !important}

.front-page.theme-girl .table-xscroll-top{background:#0d1621 !important;border-bottom-color:#293748 !important}
.front-page.theme-girl .market-table{background:#0e1721 !important}
.front-page.theme-girl .market-table th,.front-page.theme-girl .estimate-table th{background:#111c28 !important;color:#9eabba !important;border-bottom-color:#304052 !important}
.front-page.theme-girl .market-table td,.front-page.theme-girl .estimate-table td{background:#0f1823 !important;color:#e5eaf1 !important;border-bottom-color:#223244 !important}
.front-page.theme-girl .market-table tr:hover td,.front-page.theme-girl .estimate-table tr:hover td{background:#161d29 !important}
.front-page.theme-girl .market-table tr.selected td{background:#211a28 !important}
.front-page.theme-girl .name{color:#f0edf2 !important}
/* 数据价格保留柔和金色，避免整页粉到影响读数 */
.front-page.theme-girl .price{color:#edc477 !important}
.front-page.theme-girl .age{color:#95a2b2 !important}
.front-page.theme-girl .age.warn,.front-page.theme-girl .warn{color:#e49a7f !important}
.front-page.theme-girl .qty{background:#0c1621 !important;color:#dfe5ed !important;border-color:#33465a !important}
.front-page.theme-girl .eve-icon-box{background:#101923 !important;border-color:#3a4757 !important;box-shadow:inset 0 0 12px rgba(223,121,177,.04) !important}
.front-page.theme-girl .eve-icon-fallback{color:#a87090 !important}
.front-page.theme-girl .pager{background:#0e1721 !important;border-top-color:#283748 !important;color:#aab5c4 !important}

.front-page.theme-girl .cart-panel{position:relative !important;overflow:hidden !important}
.front-page.theme-girl .cart-panel::after{content:'' !important;position:absolute !important;right:8px !important;bottom:8px !important;width:128px !important;height:88px !important;background:url('/theme-assets/girl-mascot.png') center/contain no-repeat !important;opacity:.09 !important;pointer-events:none !important;z-index:0 !important;filter:saturate(.8) brightness(.9) !important}
.front-page.theme-girl .cart-panel>*{position:relative !important;z-index:1 !important}
.front-page.theme-girl .cart-lines,.front-page.theme-girl .order-form{border-color:#2a3949 !important}
.front-page.theme-girl .cart-line{background:#111a25 !important;border-color:#283849 !important;color:#e2e7ee !important}
.front-page.theme-girl .totals>div{border-color:#253647 !important}
.front-page.theme-girl .totals span{color:#95a1b1 !important}.front-page.theme-girl .totals b{color:#e8edf3 !important}
.front-page.theme-girl .totals .grand{color:#efc67d !important;background:#171c27 !important}
.front-page.theme-girl .fineprint{color:#8491a2 !important}
.front-page.theme-girl .estimate-metric{background:#101924 !important;border-color:#2c3b4d !important}.front-page.theme-girl .estimate-metric .k{color:#8f9cac !important}.front-page.theme-girl .estimate-metric .v{color:#efc77d !important}
.front-page.theme-girl .estimate-error{color:#e89a9f !important;background:#24171d !important}.front-page.theme-girl .toast{background:#251b26 !important;color:#f5edf2 !important;border-color:#714b63 !important}

@media(max-width:1100px){.front-page .theme-switcher-dock{order:4;margin-left:auto !important}.front-page.theme-girl .girl-theme-hero{height:68px !important}}
@media(max-width:820px){.front-page .theme-switcher-dock{width:auto !important;position:static !important;margin:4px auto 0 !important}.front-page.theme-girl .girl-theme-hero{height:62px !important;margin-left:8px !important;margin-right:8px !important}}


/* EVE_REMOVE_DUAL_THEME_KEEP_CLEAN_V1
   移除双主题 / 少女风入口，保留单一简洁深色前台。
   不修改库存、订单、估价、分类、Worker 或 D1。
*/
.front-page .theme-switcher-dock,
.front-page .girl-theme-hero{
  display:none !important;
}


/* =========================================================
   JIMMY_GOLD_THEME_V1
   Jimmy Market · Obsidian Amber
   只改视觉，不改业务逻辑
   ========================================================= */

:root{
  --bg:#100d0b !important;
  --bg2:#17120f !important;
  --panel:#1b1511 !important;
  --panel2:#221a14 !important;
  --panel3:#2b2018 !important;
  --line:#5a4430 !important;
  --line-soft:#3d2f24 !important;
  --text:#f3eadf !important;
  --muted:#aa9783 !important;
  --accent:#d79a3b !important;
  --accent2:#f0c36a !important;
  --accent-soft:rgba(215,154,59,.14) !important;
  --good:#7fb98a !important;
  --danger:#d96e6e !important;
  --warn:#e0a458 !important;
}

html,body{
  background:
    radial-gradient(1200px 680px at 80% -10%, rgba(171,111,39,.12), transparent 55%),
    radial-gradient(900px 520px at -10% 45%, rgba(112,71,33,.10), transparent 58%),
    #100d0b !important;
  color:var(--text) !important;
}

body{
  scrollbar-color:#765638 #17120f;
}

*{
  scrollbar-width:thin;
}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#17120f}
::-webkit-scrollbar-thumb{
  background:#664a31;
  border:2px solid #17120f;
  border-radius:10px;
}
::-webkit-scrollbar-thumb:hover{background:#8c653d}

/* 顶栏 / 品牌区 */
header,
.header,
.topbar,
.admin-header,
.eve-v3-sticky-header{
  background:linear-gradient(180deg,#1d1713 0%,#15110e 100%) !important;
  border-color:#6b4d30 !important;
  box-shadow:0 1px 0 rgba(240,195,106,.08),0 10px 28px rgba(0,0,0,.24) !important;
}

.logo,
.brand,
header h1,
.admin-header h1{
  color:#f7ead5 !important;
  letter-spacing:.2px;
}

.logo span,
.brand span{
  color:var(--accent2) !important;
}

/* 面板 / 卡片 */
.panel,
.card,
.section,
.metric,
.sidebar,
aside,
.cart,
.cart-panel,
.market-panel,
.category-panel,
.login-card,
.status-box,
.eve-v3-summary>div,
.eve-v3-bulkbar{
  background:linear-gradient(180deg,rgba(34,26,20,.98),rgba(25,19,15,.98)) !important;
  border-color:var(--line-soft) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018) !important;
}

.metric{
  border-left:2px solid rgba(215,154,59,.34) !important;
}

.metric .k,
.muted,
.small,
.stock-mini{
  color:var(--muted) !important;
}

.metric .v,
.section-title,
.panel h3,
.card h3{
  color:#f5e8d6 !important;
}

/* 左侧分类 / 后台导航 */
.category button,
.category .item,
.cat-item,
.nav-btn{
  color:#cbb8a2 !important;
  background:transparent !important;
  border-color:transparent !important;
}

.category button:hover,
.category .item:hover,
.cat-item:hover,
.nav-btn:hover{
  color:#f6eadb !important;
  background:rgba(215,154,59,.09) !important;
}

.category button.active,
.category .item.active,
.cat-item.active,
.nav-btn.active{
  color:#ffd88e !important;
  background:linear-gradient(90deg,rgba(215,154,59,.22),rgba(215,154,59,.06)) !important;
  border-left-color:var(--accent) !important;
  box-shadow:inset 3px 0 0 var(--accent) !important;
}

/* 按钮 */
button,
.btn{
  border-color:#684d33 !important;
  background:#251b14 !important;
  color:#e8d9c6 !important;
}

button:hover,
.btn:hover{
  border-color:#a5753d !important;
  background:#302219 !important;
  color:#fff1dc !important;
}

.btn.primary,
button.primary,
#submitOrder,
#loginBtn,
.good{
  color:#21160b !important;
  background:linear-gradient(180deg,#efbf62,#c9842f) !important;
  border-color:#f0c36a !important;
  font-weight:800 !important;
  box-shadow:0 4px 14px rgba(186,119,39,.20) !important;
}

.btn.primary:hover,
button.primary:hover,
#submitOrder:hover,
#loginBtn:hover,
.good:hover{
  background:linear-gradient(180deg,#ffd37b,#dc963b) !important;
  border-color:#ffd98b !important;
}

/* 输入框 */
input,
select,
textarea{
  background:#17120f !important;
  color:#f0e5d8 !important;
  border-color:#59422e !important;
  box-shadow:none !important;
}

input::placeholder,
textarea::placeholder{
  color:#7e6d5c !important;
}

input:focus,
select:focus,
textarea:focus{
  outline:none !important;
  border-color:#d79a3b !important;
  box-shadow:0 0 0 2px rgba(215,154,59,.14) !important;
}

/* 表格 */
table,
.admin-table,
.market-table{
  border-color:#3f3024 !important;
}

th,
.admin-table th,
.market-table th{
  background:#211912 !important;
  color:#c9b69f !important;
  border-color:#493729 !important;
}

td,
.admin-table td,
.market-table td{
  border-color:#372a20 !important;
  color:#eee1d2 !important;
}

tbody tr:nth-child(even){
  background:rgba(255,255,255,.008) !important;
}

tbody tr:hover{
  background:rgba(215,154,59,.055) !important;
}

/* 价格 */
.price,
.unit-price,
.stock-final-price,
.market-price,
strong,
b{
  text-shadow:none;
}

.stock-profit,
.profit,
.good-text{
  color:#86c693 !important;
}

.stock-loss,
.loss,
.error,
.bad-text{
  color:#e17b73 !important;
}

.tag,
.badge{
  background:#2d2118 !important;
  border-color:#684d33 !important;
  color:#d9c5ad !important;
}

/* 搜索 / 操作条 */
.search,
.searchbar,
.market-head,
.row-actions,
.stock-final-search,
.stock-final-tools,
.stock-final-filters{
  border-color:#4a3829 !important;
}

/* 前台市场三栏形成更明显层级 */
.layout > aside:first-child{
  background:linear-gradient(180deg,#1c1510,#17110e) !important;
}

.layout > main{
  background:linear-gradient(180deg,#1b1511,#15110e) !important;
}

.layout > aside:last-child,
.right{
  background:linear-gradient(180deg,#20170f,#17110e) !important;
}

/* 购物车金额 */
.sum,
.summary,
#summary{
  color:#eadac7 !important;
}

#summary b,
.grand-total,
.total{
  color:#f2bd61 !important;
}

/* 链接 */
a{color:#e9b65f !important}
a:hover{color:#ffd58a !important}

/* 后台登录页 */
#loginView{
  background:
    radial-gradient(780px 480px at 50% 20%,rgba(178,112,35,.13),transparent 60%),
    #100d0b !important;
}

/* 把旧站明显的蓝色高亮全部压成琥珀系 */
[style*="#2196"],
[style*="#2d8"],
[style*="#3b82"],
[style*="rgb(33, 150"],
[style*="rgb(59, 130"]{
  filter:saturate(.58) sepia(.32) hue-rotate(345deg) !important;
}

/* 细节：选择框、勾选框 */
input[type="checkbox"]{
  accent-color:#d79a3b !important;
}

/* 移动端维持原布局，只换主题 */
@media(max-width:980px){
  body{background:#100d0b !important}
}
