:root{--bg:#0d1520;--card:#162536;--bd:#2a4560;--ac:#00d4aa;--wr:#ffb347;--dg:#ff6b6b;--tx:#eaf2ff;--mu:#a0b8d0}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Microsoft YaHei',system-ui,sans-serif;background:var(--bg);color:var(--tx);min-height:100vh}
.top{background:linear-gradient(135deg,#0a1628,#12203a);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--bd)}
.top h1{color:var(--ac);font-size:1.15em}
.top .v{color:var(--mu);font-size:.68em}
.tabs{display:flex;background:var(--card);border-bottom:1px solid var(--bd);overflow-x:auto;padding:0 12px}
.tab{padding:8px 10px;cursor:pointer;font-size:.78em;white-space:nowrap;border-bottom:2px solid transparent;color:var(--mu);transition:.2s}
.tab:hover{color:var(--tx)}
.tab.on{color:var(--ac);border-bottom-color:var(--ac);font-weight:700}
.content{display:flex;height:calc(100vh - 110px)}
.panel{flex:1;overflow-y:auto;padding:16px}
.cart-panel{width:380px;min-width:380px;background:var(--card);border-left:1px solid var(--bd);overflow-y:auto;padding:14px}
.section{font-size:.72em;color:var(--mu);margin:14px 0 6px;text-transform:uppercase;letter-spacing:1px;padding-left:2px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px}
.pcard{background:var(--bg);border:1px solid var(--bd);border-radius:4px;padding:8px 10px;cursor:pointer;transition:.15s;font-size:.74em}
.pcard:hover{border-color:var(--ac)}
.pcard.sel{border-color:var(--ac);background:rgba(0,212,170,.06)}
.pcard .name{font-weight:700;color:var(--ac);margin-bottom:2px;font-size:.95em}
.pcard .spec{color:var(--mu);font-size:.72em;line-height:1.4}
.pcard .price{color:var(--wr);font-size:.8em;margin-top:3px}
/* 规格徽标：完整映射功能对照表字段 */
.spec-badges{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}
.spec-badges .sb{font-size:.42em;line-height:1.5;padding:1px 4px;border-radius:3px;white-space:nowrap;border:1px solid var(--bd)}
.sb-chip{background:rgba(0,212,170,.14);color:#5fe9c8;border-color:rgba(0,212,170,.4)}
.sb-axis{background:rgba(90,160,255,.14);color:#8fb8ff;border-color:rgba(90,160,255,.4)}
.sb-io{background:rgba(255,179,71,.12);color:var(--wr);border-color:rgba(255,179,71,.35)}
.sb-mv{background:rgba(180,120,255,.14);color:#c9a3ff;border-color:rgba(180,120,255,.4)}
.sb-note{background:rgba(255,107,107,.15);color:var(--dg);border-color:rgba(255,107,107,.45);font-weight:600}
.sb-fw{background:rgba(160,184,208,.1);color:var(--mu);border-color:rgba(160,184,208,.3)}
.subgrid2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.subgrid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.cart-title{font-size:.9em;color:var(--ac);margin-bottom:12px;display:flex;justify-content:space-between}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(30,51,72,.4);font-size:.76em}
.cart-item .qty{display:flex;align-items:center;gap:4px}
.cart-item .qty button{background:var(--bd);color:var(--tx);border:none;width:20px;height:20px;border-radius:3px;cursor:pointer;font-size:.9em;line-height:1}
.cart-item .rm{color:var(--dg);cursor:pointer;font-size:.8em;margin-left:8px}
.cart-total{padding:10px 0;border-top:2px solid var(--bd);margin-top:10px;font-size:.78em}
.cart-total .row{display:flex;justify-content:space-between;margin:3px 0}
.cart-total .grand{font-size:1.1em;color:var(--wr);font-weight:700;margin-top:6px;padding-top:6px;border-top:1px solid var(--bd)}
.btn{width:100%;padding:10px;border:none;border-radius:4px;font-weight:700;cursor:pointer;font-size:.82em;margin-top:10px}
.btn-ac{background:var(--ac);color:#0d1520}
.btn-ac:hover{background:#00e6b8}
.btn-ol{background:transparent;border:1px solid var(--ac);color:var(--ac);margin-top:4px}
.empty{text-align:center;padding:30px;color:var(--mu);font-size:.8em}
.linglong-section{margin-top:10px}
.linglong-section label{display:block;color:var(--mu);font-size:.72em;margin-bottom:3px}
.linglong-section input,.linglong-section select{width:100%;background:#0a1420;border:1px solid var(--bd);color:var(--tx);padding:7px 10px;border-radius:3px;font-size:.78em}
.linglong-section input:focus,.linglong-section select:focus{outline:none;border-color:var(--ac)}
.form-row{display:flex;gap:8px}
.form-row .linglong-section{flex:1}
.btn-ll{width:100%;padding:9px;background:var(--ac);color:#0d1520;border:none;border-radius:4px;font-weight:700;cursor:pointer;font-size:.78em;margin-top:10px}
.customer-panel{margin-top:12px;border-top:2px solid var(--bd);padding-top:10px}
.customer-panel summary{font-size:.78em;color:var(--ac);cursor:pointer;padding:6px 8px;user-select:none;display:flex;align-items:center;gap:6px}
.customer-panel summary:hover{background:rgba(0,230,184,.08);border-radius:3px}
.customer-panel .fields{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.customer-panel .field-row{display:flex;gap:6px;align-items:center}
.customer-panel .field-row label{font-size:.68em;color:var(--mu);min-width:55px;text-align:right}
.customer-panel .field-row input{flex:1;background:#0a1420;border:1px solid var(--bd);color:var(--tx);padding:5px 7px;border-radius:3px;font-size:.72em}
.customer-panel .field-row input:focus{outline:none;border-color:var(--ac)}
.customer-panel .field-actions{margin-top:8px;display:flex;gap:6px}
.customer-panel .field-actions button{flex:1;padding:6px;border:none;border-radius:3px;font-size:.7em;cursor:pointer}
.customer-panel .field-actions .btn-save{background:var(--ac);color:#0d1520;font-weight:700}
.customer-panel .field-actions .btn-clear{background:transparent;border:1px solid var(--bd);color:var(--mu)}
.customer-panel .field-actions .btn-export-customer{background:transparent;border:1px solid var(--ac);color:var(--ac);font-weight:600}
.customer-selector{display:flex;gap:6px;align-items:center;margin-bottom:6px}
.customer-selector select{flex:1;background:#0a1420;border:1px solid var(--bd);color:var(--tx);padding:6px 8px;border-radius:3px;font-size:.72em}
.customer-selector select:focus{outline:none;border-color:var(--ac)}
.customer-selector button{padding:6px 10px;border:none;border-radius:3px;font-size:.68em;cursor:pointer;font-weight:700;white-space:nowrap}
.customer-selector .btn-new{background:var(--ac);color:#0d1520}
.customer-selector .btn-del{background:transparent;border:1px solid var(--wr);color:var(--wr)}
.customer-count{font-size:.66em;color:var(--mu);margin-bottom:6px;text-align:right}
/* 共享池搜索栏 */
.customer-search-bar{display:flex;gap:4px;margin-bottom:8px;position:relative}
.customer-search-bar input{flex:1;background:#0a1420;border:1px solid var(--bd);color:var(--tx);padding:6px 8px;border-radius:3px;font-size:.7em}
.customer-search-bar input:focus{outline:none;border-color:var(--ac)}
.customer-search-bar input::placeholder{color:var(--mu)}
.customer-search-results{position:absolute;top:100%;left:0;right:0;max-height:260px;overflow-y:auto;background:#0d1520;border:1px solid var(--ac);border-radius:3px;z-index:100;margin-top:2px;display:none}
.customer-search-results.active{display:block}
.customer-search-item{padding:7px 10px;font-size:.68em;color:var(--tx);cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);display:flex;flex-direction:column;gap:1px}
.customer-search-item:hover{background:rgba(0,230,184,.12)}
.customer-search-item .cs-name{color:var(--ac);font-weight:600}
.customer-search-item .cs-addr{color:var(--mu);font-size:.92em}
.customer-search-item .cs-sales{color:var(--mu);font-size:.85em}
.customer-search-no{text-align:center;padding:12px;font-size:.68em;color:var(--mu)}

.ll-result{background:var(--bg);border:1px solid var(--bd);border-radius:4px;padding:10px 12px;margin-top:8px;font-size:.74em}
.ll-result .ll-card{border:1px solid var(--ac);border-radius:4px;padding:8px;margin-bottom:6px}
.ll-result .ll-row{display:flex;justify-content:space-between;margin:2px 0}
.ll-add{color:var(--ac);cursor:pointer;font-size:.72em}
.ll-add:hover{text-decoration:underline}
.login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg);z-index:9999;display:flex;align-items:center;justify-content:center}
.login-box{background:var(--card);border:1px solid var(--ac);border-radius:8px;padding:28px 24px;text-align:center;max-width:340px;width:90%}
.login-box h2{color:var(--ac);margin-bottom:4px;font-size:1em}
.login-box p{color:var(--mu);font-size:.74em;margin-bottom:16px}
.login-box input{width:100%;background:#0a1420;border:1px solid var(--bd);color:var(--tx);padding:10px;border-radius:4px;font-size:.85em;text-align:center;font-family:inherit}
.login-box input:focus{outline:none;border-color:var(--ac)}
.ll-tag{display:inline-block;padding:2px 6px;border-radius:3px;font-size:.7em;margin:0 2px}
.ll-tag-g{background:rgba(0,212,170,.15);color:var(--ac)}
.ll-tag-y{background:rgba(255,179,71,.15);color:var(--wr)}
.ll-tag-r{background:rgba(255,107,107,.15);color:var(--dg)}
@media(max-width:768px){
  .content{flex-direction:column}
  .cart-panel{width:100%;min-width:100%;max-height:35vh}
  .grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .top h1{font-size:.95em}
  .tab{padding:8px 12px;font-size:.7em}
}