:root{--brand:#087ec4;--brand-dark:#075b91;--danger:#dc3038;--ink:#202832;--muted:#6f7b89;--line:#dce3ea;--soft:#f5f7f9;--surface:#fff;--page:#eef2f5}*{box-sizing:border-box}#app,body,html{min-height:100%;margin:0}body{color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;letter-spacing:0;background:var(--page);-webkit-font-smoothing:antialiased}button,select{font:inherit}button{cursor:pointer}dl,h1,h2,p{margin:0}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:10;height:58px;background:hsla(0,0%,100%,.98);border-bottom:1px solid var(--line)}.topbar__inner{display:flex;align-items:center;width:min(calc(100% - 28px),760px);height:100%;margin:0 auto}.brand-mark{width:34px;height:34px;-o-object-fit:contain;object-fit:contain}.topbar strong{margin-left:9px;font-size:16px}.page-content{width:min(calc(100% - 28px),760px);min-height:calc(100vh - 58px);margin:0 auto;padding:14px 0 28px}.parts-section,.result-state,.vehicle-section{background:var(--surface);border:1px solid var(--line);border-radius:8px}.vehicle-section{padding:13px 18px}.vehicle-main{min-width:0}.vehicle-main h1{font-size:17px;line-height:24px;overflow-wrap:anywhere}.vehicle-main p{margin-top:4px;color:var(--muted);font-size:13px;line-height:19px}dt{color:var(--muted);font-size:12px}.parts-section{margin-top:12px;overflow:hidden}.parts-header{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:14px 18px;border-bottom:1px solid var(--line)}.parts-header h2{font-size:18px;line-height:25px}.parts-header>div:first-child>span{display:block;margin-top:2px;color:var(--muted);font-size:12px}.warehouse-control{display:flex;align-items:flex-end;min-width:0;flex-direction:column;gap:3px}.warehouse-control select{width:190px;height:38px;padding:0 30px 0 11px;color:var(--ink);background:var(--surface);border:1px solid #cbd4dd;border-radius:18px}.warehouse-control select:focus{border-color:var(--brand);outline:2px solid rgba(8,126,196,.12)}.warehouse-empty,.warehouse-error,.warehouse-state{color:var(--muted);font-size:12px}.warehouse-error{color:var(--danger)}.parts-layout{display:grid;grid-template-columns:minmax(118px,28%) minmax(0,1fr);min-height:420px}.category-nav{background:var(--soft);border-right:1px solid var(--line)}.category-nav button{display:block;width:100%;min-height:52px;padding:10px 14px;color:#44515f;line-height:20px;text-align:left;overflow-wrap:anywhere;background:transparent;border:0;border-bottom:1px solid #e7ebef}.category-nav button.active{color:#fff;font-weight:600;background:var(--brand)}.product-pane{min-width:0;padding:0 16px 18px}.product-list{padding-top:12px}.product-item{display:flex;align-items:flex-start;gap:14px;padding:15px;background:#fafbfc;border:1px solid var(--line);border-radius:6px}.product-item+.product-item{margin-top:10px}.product-image{flex:0 0 96px;width:96px;height:96px;-o-object-fit:cover;object-fit:cover;background:#fff;border:1px solid var(--line);border-radius:6px}.product-content{flex:1 1 auto;min-width:0}.product-title{display:flex;align-items:center;gap:8px}.product-title strong{min-width:0;color:var(--brand-dark);font-size:17px;line-height:24px;overflow-wrap:anywhere}.stock-warning{flex:0 0 auto;padding:2px 6px;color:var(--danger);font-size:11px;background:#fff0f0;border:1px solid #f1bfc2;border-radius:3px}.product-info{display:flex;flex-direction:column;gap:7px;margin-top:13px}.product-info>div{display:flex;align-items:baseline;width:100%;min-width:0}.product-info dt{flex:0 0 auto}.product-info dt:after{content:"："}.product-info dd{flex:1 1 auto;min-width:0;margin:0}dd{margin:3px 0 0;line-height:19px;overflow-wrap:anywhere}.product-footer{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.price-block span{color:var(--muted);font-size:12px}.price-block strong{display:block;margin-top:2px;color:var(--danger);font-size:21px;line-height:28px}.stock-block{padding:3px 8px;color:var(--muted);font-size:12px;background:#fff;border:1px solid var(--line);border-radius:4px}.empty-state{padding:48px 16px;color:var(--muted);text-align:center}.expire-tip{padding:16px 10px 2px;color:#85909c;font-size:12px;text-align:center}.loading-state,.result-state{display:flex;align-items:center;justify-content:center;min-height:320px;flex-direction:column;color:var(--muted)}.spinner{width:30px;height:30px;margin-bottom:14px;border:3px solid #d8e7f0;border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.result-state{margin-top:14px;padding:40px 24px;text-align:center}.result-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:16px;color:var(--danger);font-size:24px;font-weight:700;background:#fceeee;border-radius:50%}.result-state h1{color:var(--ink);font-size:20px}.result-state p{max-width:360px;margin-top:10px;line-height:22px}.retry-button{min-width:112px;height:38px;margin-top:22px;color:#fff;background:var(--brand);border:0;border-radius:4px}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:600px){.page-content,.topbar__inner{width:calc(100% - 20px)}.vehicle-section{padding:12px 14px}.vehicle-main h1{font-size:17px;line-height:24px}.parts-header{min-height:68px;padding:12px 14px}.parts-header h2{font-size:17px}.warehouse-control select{width:min(180px,48vw);height:36px}.parts-layout{grid-template-columns:minmax(94px,27%) minmax(0,1fr)}.category-nav button{min-height:50px;padding:9px 11px}.product-pane{padding:0 10px 14px}.product-item{gap:10px;padding:13px 10px}.product-image{flex-basis:76px;width:76px;height:76px}}@media (max-width:370px){.parts-header{align-items:flex-start;flex-direction:column;gap:9px}.warehouse-control,.warehouse-control select{align-items:flex-start;width:100%}.parts-layout{grid-template-columns:84px minmax(0,1fr)}.category-nav button{padding:8px}.product-footer{align-items:flex-start;flex-direction:column}}