:root{--nav:#111827;--nav-soft:#1b2638;--page:#f3f5f8;--panel:#fff;--line:#e6e9ef;--line-dark:#d8dee8;--ink:#172033;--muted:#7a8497;--brand:#2764e7;--brand-dark:#1d4fc0;--brand-soft:#edf3ff;--green:#0c996a;--green-soft:#e9f8f2;--red:#d94a59;--red-soft:#fff0f2;--amber:#c98012;--amber-soft:#fff7e8;--shadow:0 12px 30px rgba(27,39,66,.07)}*{box-sizing:border-box}html{background:var(--page)}body{margin:0;font:14px/1.5 Inter,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--page)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.login-view{min-height:100vh;display:grid;place-items:center;padding:28px;background:linear-gradient(120deg,#101a2c 0 50%,#f4f6fa 50%)}.login-view:before{content:"让每一笔订单，都清晰可追踪";position:fixed;left:8vw;top:50%;transform:translateY(-50%);width:34vw;color:#fff;font-size:42px;font-weight:750;line-height:1.22;letter-spacing:-1px}.login-view:after{content:"订单 · 采购 · 物流 · 售后";position:fixed;left:8vw;top:calc(50% + 118px);color:#91a0b9;font-size:15px;letter-spacing:3px}.login-card{width:min(430px,42vw);margin-left:50%;padding:42px;background:#fff;border:1px solid #eef0f4;border-radius:16px;box-shadow:0 28px 80px rgba(10,24,50,.18)}.brand-mark{width:48px;height:48px;display:grid;place-items:center;color:#fff;background:var(--brand);border-radius:12px;font-size:22px;font-weight:800}.login-card h1{font-size:27px;letter-spacing:-.5px;margin:19px 0 4px}.login-card>p{color:var(--muted);margin:0 0 25px}.login-card label:not(.remember){display:grid;gap:7px;margin:15px 0;font-weight:650;color:#3a4558}.login-card input{width:100%;padding:12px 13px;border:1px solid var(--line-dark);border-radius:8px;outline:none;background:#fbfcfe}.login-card input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(39,100,231,.1)}.remember{display:flex;align-items:center;gap:7px;color:var(--muted);margin:18px 0}.remember input{width:auto}.full{width:100%;padding:12px}.form-error{min-height:20px;margin-top:8px;color:var(--red);text-align:center}
.app{min-height:100vh}.topbar{position:fixed;left:0;top:0;bottom:0;width:236px;z-index:30;display:flex;flex-direction:column;padding:0 14px 18px;background:var(--nav);color:#fff}.logo{height:84px;display:flex;align-items:center;gap:11px;padding:0 8px;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}.logo-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--brand);font-size:18px;font-weight:800;box-shadow:0 7px 18px rgba(39,100,231,.35)}.logo>span:last-child{display:grid}.logo b{font-size:17px;letter-spacing:.4px}.logo small{font-size:9px;letter-spacing:2px;color:#75839a;margin-top:1px}.nav-label{padding:26px 12px 9px;color:#68768d;font-size:11px;letter-spacing:2px}.topbar nav{display:flex;flex-direction:column;gap:4px}.topbar nav button{height:44px;display:flex;align-items:center;gap:11px;border:0;background:transparent;color:#8e9bb0;border-radius:8px;padding:0 12px;text-align:left;cursor:pointer;transition:.18s}.topbar nav button i{width:26px;color:#5f6e85;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.5px}.topbar nav button span{font-weight:600}.topbar nav button:hover{color:#dbe5f5;background:rgba(255,255,255,.045)}.topbar nav button.active{color:#fff;background:var(--brand);box-shadow:0 7px 18px rgba(39,100,231,.27)}.topbar nav button.active i{color:#bdd1ff}.user-menu{margin-top:auto;width:100%;display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;padding:11px;border:1px solid rgba(255,255,255,.07);background:rgba(255,255,255,.035);border-radius:10px;color:#fff;text-align:left;cursor:pointer}.avatar{width:34px;height:34px;display:grid;place-items:center;background:#2d3b50;border-radius:9px;color:#b8c6dc;font-weight:800}.user-menu>span:nth-child(2){display:grid}.user-menu b{font-size:13px}.user-menu small{font-size:10px;color:#718097}.user-menu em{font-size:10px;color:#718097;font-style:normal}.user-menu:hover em{color:#fff}
main{margin-left:236px;padding:30px 32px 38px;min-height:100vh}.page{max-width:1780px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:22px}.eyebrow{color:var(--brand);font-size:11px;font-weight:800;letter-spacing:1.5px}.page-heading h1{font-size:27px;letter-spacing:-.5px;margin:3px 0 1px}.page-heading p{margin:0;color:var(--muted)}button{border:1px solid var(--line-dark);background:#fff;border-radius:7px;padding:8px 13px;cursor:pointer;color:#43506a;transition:.16s}button:hover{border-color:#bcc6d5;background:#fafbfc}.primary{background:var(--brand)!important;color:#fff!important;border-color:var(--brand)!important;box-shadow:0 4px 11px rgba(39,100,231,.17)}.primary:hover{background:var(--brand-dark)!important}
.metrics{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));gap:1px;margin-bottom:16px;border:1px solid var(--line);background:var(--line);border-radius:11px;overflow:hidden;box-shadow:0 4px 16px rgba(20,35,60,.035)}.metric{position:relative;background:var(--panel);padding:16px 17px}.metric:before{content:"";position:absolute;left:0;top:17px;bottom:17px;width:3px;border-radius:3px;background:#cdd5e2}.metric:nth-child(3):before{background:var(--brand)}.metric:nth-child(6):before{background:var(--amber)}.metric.profit:before{background:var(--green)}.metric span{display:block;color:var(--muted);font-size:11px;margin-bottom:4px}.metric b{font-size:18px;letter-spacing:-.25px}.metric.profit b{color:var(--green)}
.filters{background:#fff;border:1px solid var(--line);padding:14px;display:grid;grid-template-columns:minmax(260px,2fr) repeat(4,minmax(130px,1fr)) repeat(2,145px) auto auto;gap:8px;border-radius:11px 11px 0 0}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea{min-width:0;border:1px solid var(--line-dark);border-radius:7px;padding:9px 10px;background:#fff;color:#344056;outline:none}.filters input:focus,.filters select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(39,100,231,.08)}.quick-filters{display:flex;align-items:center;gap:6px;margin:0 0 13px;padding:9px 14px;background:#fafbfc;border:1px solid var(--line);border-top:0;border-radius:0 0 11px 11px;overflow:auto}.quick-filters:before{content:"快捷筛选";margin-right:5px;color:#8993a5;font-size:11px;font-weight:700}.quick-filters button{padding:5px 10px;background:#fff;font-size:12px}.quick-filters button:nth-last-child(-n+2){color:var(--red);border-color:#f1c9cf}
.table-wrap{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:auto;max-height:calc(100vh - 310px);box-shadow:0 5px 18px rgba(20,35,60,.035)}table{border-collapse:separate;border-spacing:0;min-width:2380px;width:100%;font-size:12.5px}th,td{padding:11px 10px;border-right:1px solid #eef0f4;border-bottom:1px solid #eef0f4;vertical-align:middle;text-align:left}th{position:sticky;top:0;z-index:3;background:#f7f8fa;color:#687386;font-size:11px;font-weight:750;white-space:nowrap;letter-spacing:.1px}tbody tr{transition:.12s}tbody tr:nth-child(even) td{background:#fcfcfd}tbody tr:hover td{background:#f5f8ff}th.sticky{left:0;z-index:5}td.sticky{position:sticky;left:0;background:#fff;z-index:2}.actions{display:flex;gap:4px}.actions button{padding:4px 7px;font-size:11px;background:#fff}.edit{color:var(--brand);border-color:#c4d6fa}.delete{color:var(--red);border-color:#f2c6cc}.copy{color:var(--amber);border-color:#edd4ad}.product-img{width:46px;height:46px;border-radius:6px;object-fit:cover;background:#edf0f4}.status{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:5px;background:var(--brand-soft);color:var(--brand-dark);white-space:nowrap;font-weight:650}.status:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.status.done{background:var(--green-soft);color:var(--green)}.status.urgent{background:var(--red-soft);color:var(--red)}.profit-positive{color:var(--green);font-weight:750}.profit-negative{color:var(--red);font-weight:750}.address{max-width:290px;white-space:normal;color:#4c586c}.source-link{color:var(--brand);text-decoration:none;font-weight:600}.empty{text-align:center;padding:70px;background:#fff;border:1px solid var(--line);border-radius:11px}.empty div{font-size:18px;font-weight:700}.empty p{color:var(--muted)}
.inline-select{width:100%;min-width:0;padding:7px 26px 7px 8px;border:1px solid #e0e4eb;border-radius:6px;background:#f7f8fa;color:#8a94a5;outline:none;font-size:11px}.inline-select:hover,.inline-select:focus{border-color:var(--brand);background:#fff}.inline-select.has-value{color:#243047;background:var(--brand-soft);border-color:#c8d8fa;font-weight:650}.inline-select:disabled{opacity:.55;cursor:wait}
.list-head{display:none}.card-top{display:grid;grid-template-columns:minmax(250px,1fr) auto auto;gap:16px;align-items:center;padding:13px 18px;border-bottom:1px solid #edf0f4;background:#fbfcfe}.card-top .order-identity{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.card-top .order-identity>b{font-size:14px}.card-top .order-identity>span{color:var(--muted);font-size:11px}.visible-fields{display:grid;grid-template-columns:1.25fr .8fr 2fr .9fr 1fr repeat(5,.62fr);background:#edf0f4;gap:1px}.field{min-width:0;min-height:76px;padding:11px 12px;background:#fff}.field>span{display:block;margin-bottom:7px;color:#8b95a7;font-size:10px;font-weight:750}.field p{margin:0;color:#344056;font-size:12px;overflow-wrap:anywhere}.product-field{grid-row:span 2}.address-field{grid-row:span 2}.status-field .inline-select{min-width:122px}.after-control{grid-column:span 2}.after-control .inline-select{max-width:220px}.note-field{grid-column:span 3}.note-field p:not(:empty){color:#79521a}.visible-fields .product-summary{align-items:flex-start}.visible-fields .product-summary .product-img{width:48px;height:48px;flex-basis:48px}
.list-head{display:grid;grid-template-columns:1.1fr 1.1fr 1.5fr .9fr .65fr auto;gap:16px;padding:0 18px 8px;color:#9099a9;font-size:11px;font-weight:750}.order-list{display:grid;gap:9px}.order-card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 3px 12px rgba(20,35,60,.025);overflow:hidden;transition:.18s}.order-card:hover{border-color:#ccd5e3;box-shadow:0 7px 20px rgba(20,35,60,.055)}.order-primary{min-height:82px;display:grid;grid-template-columns:1.1fr 1.1fr 1.5fr .9fr .65fr auto;gap:16px;align-items:center;padding:13px 18px}.order-identity,.product-summary>span,.logistics-summary,.money-summary{display:grid;gap:2px;min-width:0}.order-identity>b{font-size:14px}.order-identity span,.product-summary small,.logistics-summary small,.money-summary small{color:var(--muted);font-size:11px}.order-identity code{width:max-content;max-width:100%;overflow:hidden;text-overflow:ellipsis;color:#536079;background:#f3f5f8;padding:2px 6px;border-radius:4px;font:11px/1.5 inherit}.product-summary{display:flex;align-items:center;gap:10px;min-width:0}.product-summary b,.logistics-summary b,.logistics-summary small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-summary .product-img{width:50px;height:50px;flex:0 0 50px;border-radius:7px}.money-summary>b{font-size:15px}.money-summary em{font-style:normal}.alerts-summary{display:flex;flex-wrap:wrap;gap:4px}.alert-badge{padding:4px 7px;border-radius:5px;font-size:10px;font-weight:750;white-space:nowrap}.alert-badge.after{color:var(--red);background:var(--red-soft)}.alert-badge.note{color:var(--amber);background:var(--amber-soft)}.alert-badge.urgent{color:#fff;background:var(--red)}.no-alert{color:#a0a8b5;font-size:11px}.always-details{display:grid;grid-template-columns:2fr .8fr 1.2fr;gap:24px;padding:11px 18px;border-top:1px solid #f0f2f5;background:#fff}.always-details span,.detail-grid>div>span{color:#929bad;font-size:10px;font-weight:750}.always-details p,.detail-grid p{margin:3px 0 0;color:#455166;font-size:12px}.order-details{border-top:1px solid #f0f2f5}.order-details summary{padding:8px 18px;color:#7c8799;font-size:11px;cursor:pointer;background:#f8fafc}.order-details summary b{margin-left:7px;color:var(--red)}.order-details summary:hover{color:var(--brand)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;padding:16px 18px 19px;background:#fbfcfd}.after-control{display:grid;gap:5px}.note-detail p{padding:7px 9px;border-radius:6px;background:var(--amber-soft);color:#79521a}
dialog{width:min(900px,calc(100% - 30px));max-height:92vh;padding:0;border:0;border-radius:14px;box-shadow:0 30px 100px rgba(20,40,75,.25)}dialog::backdrop{background:rgba(12,21,36,.62);backdrop-filter:blur(3px)}#orderForm>header{display:flex;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}#orderForm h2{margin:0;font-size:21px}#orderForm header p{margin:2px 0;color:var(--muted)}#closeDialog{border:0;font-size:24px;background:transparent}.form-grid{padding:20px 24px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px;max-height:65vh;overflow:auto}.form-grid label{display:grid;gap:5px;font-size:12px;font-weight:700;color:#566176}.form-grid .wide{grid-column:1/-1}.form-grid .check{display:flex;align-items:center;gap:8px;padding-top:24px}.calculation{border-radius:8px;background:var(--green-soft);padding:9px 12px;display:flex;justify-content:space-between;align-items:center}.calculation span{color:var(--muted)}.calculation b{font-size:18px;color:var(--green)}#orderForm>footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--line)}.toast{position:fixed;right:22px;bottom:22px;background:#172033;color:#fff;padding:11px 16px;border-radius:8px;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}.placeholder-card{min-height:70vh;display:grid;place-content:center;text-align:center}.placeholder-card span{color:var(--brand);font-weight:750}.placeholder-card h1{font-size:30px;margin:6px}.placeholder-card p{color:var(--muted)}
@media(max-width:1280px){.metrics{grid-template-columns:repeat(4,1fr)}.filters{grid-template-columns:repeat(3,1fr)}.table-wrap{max-height:calc(100vh - 375px)}}@media(max-width:800px){.login-view{background:#f4f6fa}.login-view:before,.login-view:after{display:none}.login-card{width:min(430px,100%);margin:0}.topbar{top:auto;right:0;width:auto;height:62px;padding:0 5px;flex-direction:row;border-top:1px solid rgba(255,255,255,.08)}.logo,.nav-label,.user-menu{display:none}.topbar nav{width:100%;display:flex;flex-direction:row;justify-content:space-around;gap:0}.topbar nav button{height:62px;flex:1;justify-content:center;padding:0 5px}.topbar nav button i{display:none}.topbar nav button:nth-child(n+6){display:none}.topbar nav button span{font-size:11px}.topbar nav button.active{box-shadow:none;background:rgba(39,100,231,.85)}main{margin-left:0;padding:18px 10px 78px}.page-heading{align-items:flex-end}.page-heading h1{font-size:23px}.metrics{grid-template-columns:repeat(2,1fr)}.filters{grid-template-columns:1fr 1fr}.filters input:first-child{grid-column:1/-1}.table-wrap{max-height:55vh}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}}
@media(max-width:1280px){.list-head{display:none}.order-primary{grid-template-columns:1.15fr 1.1fr .8fr .6fr 1.4fr}.order-primary>.actions{grid-column:1/-1;justify-content:flex-end;border-top:1px solid #f0f2f5;padding-top:9px}}@media(max-width:800px){.order-primary{grid-template-columns:1fr 1fr;gap:13px}.order-identity,.product-summary{grid-column:1/-1}.after-summary{grid-column:1/-1}.order-primary>.actions{grid-column:1/-1}.detail-grid{grid-template-columns:1fr}}
@media(max-width:1450px){.visible-fields{grid-template-columns:1.2fr .8fr 1.6fr .8fr 1fr repeat(3,.62fr)}.field{min-height:72px}.product-field,.address-field{grid-row:auto}.after-control{grid-column:span 1}.note-field{grid-column:span 2}}@media(max-width:900px){.card-top{grid-template-columns:1fr auto}.card-top .actions{grid-column:1/-1}.visible-fields{grid-template-columns:repeat(2,1fr)}.product-field,.address-field,.note-field{grid-column:1/-1}.after-control{grid-column:span 1}}

/* 参考站式高密度工作台 */
.topbar{position:sticky;left:auto;top:0;bottom:auto;width:100%;height:54px;display:flex;flex-direction:row;align-items:center;padding:0 14px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 8px rgba(20,35,60,.035)}.topbar .logo{height:54px;min-width:142px;padding:0 8px;border:0;color:var(--ink)}.topbar .logo-icon{width:30px;height:30px;border-radius:7px;font-size:14px}.topbar .logo b{font-size:15px}.topbar .logo small{display:none}.topbar .nav-label{display:none}.topbar nav{height:54px;display:flex;flex-direction:row;gap:2px}.topbar nav button{height:54px;padding:0 12px;color:#475267;border-radius:0}.topbar nav button i{display:none}.topbar nav button.active{color:var(--brand);background:#f5f8ff;box-shadow:inset 0 -3px var(--brand)}.topbar nav button:hover{color:var(--brand);background:#f8faff}.topbar .user-menu{margin:0 0 0 auto;width:auto;display:flex;padding:6px 9px;border:0;background:transparent;color:var(--ink)}.topbar .user-menu .avatar{width:29px;height:29px}.topbar .user-menu small,.topbar .user-menu em{display:none}main{margin-left:0;padding:14px 16px 30px}.page{max-width:none}.page-heading{margin-bottom:10px;align-items:center}.page-heading .eyebrow,.page-heading p{display:none}.page-heading h1{font-size:18px}.page-heading .primary{padding:7px 11px}.metrics{display:flex;gap:5px;border:0;background:transparent;box-shadow:none;border-radius:0;margin-bottom:8px}.metric{min-width:120px;display:flex;align-items:center;gap:6px;padding:6px 9px;border:0;border-radius:5px;background:#22b573;color:#fff}.metric:before{display:none}.metric:nth-child(2){background:#f0a43a}.metric:nth-child(3){background:#ef6670}.metric:nth-child(4){background:#4c9bea}.metric:nth-child(5){background:#2487d5}.metric:nth-child(6){background:#8c6bd1}.metric.profit{background:#14aa78}.metric span{color:rgba(255,255,255,.86);margin:0;font-size:10px}.metric b,.metric.profit b{color:#fff;font-size:13px}.filters{padding:8px;border-radius:4px 4px 0 0;grid-template-columns:minmax(240px,1.8fr) repeat(4,minmax(120px,1fr)) repeat(2,130px) auto auto}.quick-filters{padding:7px 9px;margin-bottom:8px;border-radius:0 0 4px 4px}.sheet-wrap{height:calc(100vh - 222px);overflow:auto;border:1px solid #dce2ea;background:#fff}.orders-sheet{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.orders-sheet th,.orders-sheet td{height:56px;max-width:210px;padding:6px 8px;border-right:1px solid #e6eaf0;border-bottom:1px solid #e6eaf0;vertical-align:middle;background:#fff}.orders-sheet th{position:sticky;top:0;z-index:8;height:34px;background:#eaf2fb;color:#344158;font-size:11px;white-space:nowrap}.orders-sheet tbody tr:hover td{background:#f7faff}.orders-sheet tbody tr.has-after td{background-image:linear-gradient(rgba(255,244,229,.45),rgba(255,244,229,.45))}.orders-sheet .pin{position:sticky;z-index:6}.orders-sheet th.pin{z-index:12}.pin-action{left:0;width:102px;min-width:102px}.pin-customer{left:102px;width:110px;min-width:110px}.pin-customer small{display:block;color:var(--muted);margin-top:2px}.orders-sheet .wide-col,.address-cell{width:270px;min-width:270px;white-space:normal}.order-no{background:#fff1f2!important}.qty{text-align:center;font-weight:750}.reported{display:inline-grid;place-items:center;min-width:30px;padding:4px 5px;border-radius:3px;color:#fff}.reported.yes{background:#ef6a4f}.reported.no{background:#3d495a}.select-cell{min-width:145px}.select-cell .inline-select{min-width:132px}.alert-cell{min-width:150px}.alert-cell p{margin:4px 0 0;color:#8a5b16;white-space:normal}.orders-sheet .product-img{width:48px;height:48px}.sheet-wrap::-webkit-scrollbar{height:11px;width:11px}.sheet-wrap::-webkit-scrollbar-thumb{background:#9ca5b1;border:2px solid #f1f3f6;border-radius:8px}.sheet-wrap::-webkit-scrollbar-track{background:#f1f3f6}

/* 简洁高级的登录页 */
.login-view{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% -10%,#e8effc 0,transparent 42%),#f5f7fa}.login-view:before,.login-view:after{display:none}.login-card{width:min(398px,100%);margin:0;padding:36px 38px 32px;border:1px solid rgba(215,221,232,.9);border-radius:14px;background:rgba(255,255,255,.94);box-shadow:0 22px 60px rgba(37,51,78,.11)}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:29px}.login-brand .brand-mark{width:39px;height:39px;border-radius:9px;font-size:17px}.login-brand>span{display:grid}.login-brand b{font-size:15px}.login-brand small{color:#9aa3b2;font-size:8px;letter-spacing:1.7px}.login-card h1{margin:0 0 4px;font-size:24px;letter-spacing:-.3px}.login-card>p{margin-bottom:24px;font-size:13px}.login-card label:not(.remember){font-size:12px}.login-card input{padding:11px 12px;background:#fff}.login-card .primary{box-shadow:0 7px 18px rgba(39,100,231,.2)}
@media(max-width:900px){.topbar{position:sticky;top:0;right:auto;bottom:auto;width:100%;height:54px;padding:0 8px;overflow:auto;flex-direction:row}.topbar .logo{display:flex;min-width:125px}.topbar nav{width:auto;flex-direction:row}.topbar nav button{height:54px;padding:0 9px}.topbar nav button:nth-child(n+6){display:none}.topbar .user-menu{display:none}main{padding:10px 10px 24px}.metrics{overflow:auto}.metric{flex:0 0 auto}.filters{grid-template-columns:1fr 1fr}.sheet-wrap{height:calc(100vh - 275px)}.pin-customer{position:static!important}.login-card{padding:31px 26px}}
.orders-sheet td{height:82px;padding-top:9px;padding-bottom:9px}.orders-sheet .product-img{width:64px;height:64px;cursor:zoom-in;transition:transform .16s,box-shadow .16s}.orders-sheet .product-img:hover{transform:scale(1.06);box-shadow:0 5px 14px rgba(20,35,60,.2)}.inline-input{width:100%;min-width:72px;padding:7px;border:1px solid transparent;border-radius:4px;background:#f7f8fa;color:#283449;font-size:11px;outline:none}.inline-input:hover{border-color:#cfd7e3;background:#fff}.inline-input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 2px rgba(39,100,231,.08)}.inline-input[type=number]{width:82px}.select-small{min-width:58px}.select-small .inline-select{width:48px;min-width:48px;padding-right:18px;color:#fff;background:#3d495a;border-color:#3d495a}.alert-cell .inline-input{min-width:130px;margin-bottom:5px}.alert-cell .alerts-summary{margin-top:3px}.image-dialog{width:auto;max-width:min(65vw,770px);height:auto;max-height:68vh;padding:15px;border:0;border-radius:12px;background:#111827;box-shadow:0 30px 100px rgba(0,0,0,.45);overflow:visible}.image-dialog::backdrop{background:rgba(8,14,24,.78);backdrop-filter:blur(3px)}.image-dialog img{display:block;max-width:calc(65vw - 30px);max-height:calc(60vh - 30px);object-fit:contain;border-radius:6px}.image-dialog button{position:absolute;right:-12px;top:-12px;width:34px;height:34px;display:grid;place-items:center;padding:0;border:2px solid #fff;border-radius:50%;background:#1f2937;color:#fff;font-size:22px}.image-dialog p{margin:8px 0 -4px;text-align:center;color:#9ba7ba;font-size:11px}
.orders-sheet .pin-action{left:0;width:58px;min-width:58px}.orders-sheet .pin-customer{left:58px}.orders-sheet .actions{display:flex;flex-direction:column;align-items:stretch;gap:3px}.orders-sheet .actions button{min-width:40px;padding:4px 6px;border:0;border-radius:3px;color:#fff;white-space:nowrap;word-break:keep-all}.orders-sheet .actions .edit{background:#35a5e8}.orders-sheet .actions .delete{background:#f45b67}.orders-sheet .actions .copy{background:#f5a623}.orders-sheet .actions button:hover{filter:brightness(.94)}
.source-cell{min-width:105px}.source-cell .inline-select{min-width:92px}.link-cell{min-width:180px}.link-cell .inline-input{min-width:165px}.tracking-cell{min-width:145px}.tracking-cell .inline-input{min-width:130px}
.topbar nav button i{display:grid;width:22px;height:22px;place-items:center;border-radius:5px;background:#eef3fb;color:#53647e;font-size:13px;font-style:normal}.topbar nav button.active i{background:#dbe8ff;color:var(--brand)}.orders-sheet .pin-action{width:68px;min-width:68px}.orders-sheet .pin-customer{left:68px}.orders-sheet .actions button{min-width:50px;font-size:11px}.quick-filters button{display:inline-flex;align-items:center;gap:4px}
@media(max-width:800px){.topbar nav button i{display:none}}
.filter-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}.filter-actions button{height:38px;padding:0 13px;border-radius:6px}.filter-actions .add-order-btn{border-color:#1769e8;background:#1769e8;color:#fff;box-shadow:0 4px 10px rgba(23,105,232,.16)}.filter-actions .add-order-btn:hover{background:#1059ca}.filters{grid-template-columns:minmax(230px,1.7fr) repeat(4,minmax(120px,1fr)) repeat(2,130px) auto}.page-heading{min-height:36px;margin-bottom:6px}.page-heading:has(#addOrder){display:none}@media(max-width:1100px){.filters{grid-template-columns:repeat(4,minmax(120px,1fr))}.filter-actions{grid-column:span 2;justify-content:flex-end}}@media(max-width:700px){.filter-actions{grid-column:1/-1;justify-content:stretch}.filter-actions button{flex:1;padding:0 7px}}
.reported-control{display:grid;gap:4px;justify-items:center}.reported-control small{max-width:72px;color:#6f7b8f;font-size:9px;line-height:1.25;text-align:center;white-space:normal}
.brand-logo{width:32px;height:32px;display:block;object-fit:cover;border-radius:8px;box-shadow:0 4px 10px rgba(23,105,232,.2)}.login-logo{width:40px;height:40px;border-radius:10px}.login-brand .brand-logo+span{display:grid}
.after-sales-row>td{height:auto!important;padding:0!important;background:#f8fafc!important;border-bottom-color:#d9e0e9!important}.after-sales-details summary{display:flex;align-items:center;gap:8px;height:32px;padding:0 12px;color:#647187;font-size:11px;cursor:pointer;list-style:none}.after-sales-details summary::-webkit-details-marker{display:none}.after-sales-details summary span{font-weight:700}.after-sales-details summary span:after{content:"展开";margin-left:7px;color:#9aa4b3;font-weight:400}.after-sales-details[open] summary span:after{content:"收起"}.after-sales-details summary b,.after-sales-details summary em{padding:2px 6px;border-radius:4px;font-size:10px;font-style:normal}.after-sales-details summary b{background:#fff0f2;color:var(--red)}.after-sales-details summary em{background:#fff7e8;color:var(--amber)}.after-sales-grid{display:grid;grid-template-columns:180px 180px 180px minmax(240px,1fr) minmax(240px,1fr);gap:10px;padding:10px 12px 13px;border-top:1px solid #e5e9ef;background:#fff}.after-sales-grid label{display:grid;gap:5px;color:#7a8597;font-size:10px;font-weight:700}.after-sales-grid .inline-select,.after-sales-grid .inline-input{width:100%;min-width:0;background:#f7f9fc}.after-sales-details:not([open]) .after-sales-grid{display:none}
.image-dialog{inset:0;width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border-radius:0;background:#0b1220;overflow:hidden}.image-dialog img{width:100vw;max-width:none;height:100vh;max-height:none;object-fit:contain;border-radius:0}.image-dialog button{position:fixed;right:18px;top:18px;z-index:2}.image-dialog p{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);margin:0;padding:6px 10px;border-radius:5px;background:rgba(0,0,0,.5);color:#d5dbe5}
.image-paste-zone{cursor:text}
.image-field{position:relative}.image-paste-zone{min-height:104px;display:grid;place-items:center;border:1px dashed #b9c6d8;border-radius:8px;background:#f8fafc;cursor:pointer;outline:none;overflow:hidden}.image-paste-zone:hover,.image-paste-zone:focus{border-color:var(--brand);background:#f4f7ff;box-shadow:0 0 0 3px rgba(39,100,231,.07)}.image-paste-zone>img{display:none;width:100%;height:160px;object-fit:contain;background:#f2f4f7}.image-paste-zone.has-image>img{display:block}.image-paste-zone.has-image .paste-empty{display:none}.paste-empty{display:grid;gap:3px;text-align:center;color:#56637a}.paste-empty b{font-size:13px}.paste-empty small{color:#929bad;font-size:10px}.remove-image{position:absolute;right:7px;top:26px;padding:4px 7px;border-color:#f1c3ca;background:#fff;color:var(--red);font-size:10px}
.inline-select.status-tone-0{background:#eaf2ff;border-color:#9fc0ff;color:#1557b0}.inline-select.status-tone-1{background:#fff4d8;border-color:#f3ca68;color:#8a5a00}.inline-select.status-tone-2{background:#f1eaff;border-color:#c7acf7;color:#6736a5}.inline-select.status-tone-3{background:#e8f8ff;border-color:#8ed4ef;color:#08789c}.inline-select.status-tone-4{background:#ffe9e9;border-color:#f4aaaa;color:#b4232d}.inline-select.status-tone-5{background:#fff0e2;border-color:#f2b37c;color:#a84b08}.inline-select.status-tone-6{background:#e7f7f0;border-color:#86d5b1;color:#087a50}.inline-select.status-tone-7{background:#dcf7e8;border-color:#72cf9a;color:#087542}

.after-sales-grid{grid-template-columns:170px 170px 170px minmax(220px,1fr) minmax(260px,1.2fr);align-items:start;padding-bottom:18px}.after-sales-details[open] .after-sales-grid{min-height:235px}.refund-image-field{position:relative;min-width:260px}.refund-paste-zone{height:180px;display:grid;place-items:center;border:1px dashed #aebdd2;border-radius:7px;background:#f5f8fc;cursor:text;overflow:hidden;outline:none}.refund-paste-zone:focus,.refund-paste-zone:hover{border-color:var(--brand);box-shadow:0 0 0 3px rgba(39,100,231,.08)}.refund-paste-zone>span{display:grid;gap:4px;text-align:center;color:#66748a}.refund-paste-zone small{font-weight:400;color:#96a0b0}.refund-paste-zone img{width:100%;height:180px;display:block;object-fit:contain;background:#eef2f6;cursor:zoom-in}.refund-remove{position:absolute;right:6px;top:25px;padding:4px 7px;border-color:#efbcc5;background:#fff;color:var(--red);font-size:10px}.after-note{min-width:240px}@media(max-width:1200px){.after-sales-grid{grid-template-columns:repeat(3,minmax(170px,1fr))}.refund-image-field{grid-column:span 2}}

/* 售后区双栏布局：左侧资料，右侧仅支持剪贴板粘贴的退款截图 */
.after-sales-grid{display:grid;grid-template-columns:minmax(560px,1.35fr) minmax(420px,.85fr);gap:22px;min-height:278px;padding:14px 16px 18px;align-items:stretch}.after-sales-fields{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));grid-auto-rows:min-content;gap:12px}.after-sales-fields label,.refund-image-field{display:grid;gap:6px;color:#6f7b8e;font-size:10px;font-weight:700}.after-sales-fields label:nth-child(4){grid-column:1/-1}.after-sales-fields .after-note{grid-column:1/-1;min-width:0}.after-sales-fields .after-note .inline-input{min-height:52px}.refund-image-field{position:relative;min-width:0}.refund-paste-zone{height:232px;min-height:232px;cursor:text;user-select:none;background:#f4f7fb}.refund-paste-zone:focus{background:#eef4ff;border-color:#1769e8;box-shadow:0 0 0 3px rgba(23,105,232,.12)}.refund-paste-zone img{height:232px;object-fit:contain}.refund-remove{top:26px;z-index:2}@media(max-width:1050px){.after-sales-grid{grid-template-columns:1fr;min-height:auto}.refund-image-field{grid-column:auto}.refund-paste-zone,.refund-paste-zone img{height:210px;min-height:210px}}

/* 售后区紧凑自然布局 */
.after-sales-grid{
  grid-template-columns:minmax(0,1fr) 270px;
  gap:16px;
  min-height:0;
  padding:12px 16px 14px;
  align-items:start
}
.after-sales-details[open] .after-sales-grid{min-height:0}
.after-sales-fields{
  grid-template-columns:190px 190px 200px minmax(260px,1fr);
  gap:10px 12px;
  align-items:start
}
.after-sales-fields label:nth-child(4){grid-column:auto}
.after-sales-fields .after-note{grid-column:1/-1;min-width:0}
.after-sales-fields .after-note .inline-input{min-height:42px}
.refund-image-field{width:270px;min-width:0}
.refund-paste-zone,
.refund-paste-zone img{
  width:100%;
  height:126px;
  min-height:126px
}
.refund-paste-zone{background:#f6f8fb}
.refund-remove{top:25px}
@media(max-width:1350px){
  .after-sales-grid{grid-template-columns:minmax(0,1fr) 240px}
  .after-sales-fields{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .after-sales-fields label:nth-child(4){grid-column:1/-1}
  .refund-image-field{width:240px}
}
@media(max-width:900px){
  .after-sales-grid{grid-template-columns:1fr}
  .after-sales-fields{grid-template-columns:1fr 1fr}
  .after-sales-fields label:nth-child(4),.after-sales-fields .after-note{grid-column:1/-1}
  .refund-image-field{width:min(100%,300px)}
}

/* 订单主行增高，售后资料统一单行 */
.orders-sheet tbody tr:not(.after-sales-row)>td{
  height:104px;
  padding-top:12px;
  padding-bottom:12px
}
.after-sales-grid{
  display:grid;
  grid-template-columns:180px 180px 190px minmax(280px,1.35fr) minmax(220px,1fr) 230px;
  gap:10px;
  min-height:0;
  padding:12px 16px 14px;
  align-items:start
}
.after-sales-fields{display:contents}
.after-sales-fields label:nth-child(4),
.after-sales-fields .after-note{
  grid-column:auto;
  min-width:0
}
.after-sales-fields .after-note .inline-input{min-height:34px}
.refund-image-field{
  width:auto;
  min-width:0
}
.refund-paste-zone,
.refund-paste-zone img{
  width:100%;
  height:72px;
  min-height:72px
}
.refund-remove{top:25px}
@media(max-width:1250px){
  .after-sales-grid{
    grid-template-columns:165px 165px 175px minmax(240px,1.25fr) minmax(200px,1fr) 210px
  }
}

/* 售后字段与退款截图等高 */
.after-sales-fields .inline-select,
.after-sales-fields .inline-input,
.after-sales-fields .after-note .inline-input{
  height:72px;
  min-height:72px;
  padding-top:10px;
  padding-bottom:10px
}

/* 退款截图保持 4:3 比例（96 × 72） */
.after-sales-grid{
  grid-template-columns:180px 180px 190px minmax(280px,1.35fr) minmax(220px,1fr) 96px
}
.refund-image-field{width:96px;min-width:96px}
.refund-paste-zone,
.refund-paste-zone img{
  width:96px;
  height:72px;
  min-height:72px;
  aspect-ratio:4 / 3
}
.refund-paste-zone img{object-fit:contain}
@media(max-width:1250px){
  .after-sales-grid{
    grid-template-columns:165px 165px 175px minmax(240px,1.25fr) minmax(200px,1fr) 96px
  }
}

/* 退货地址采用多行显示 */
.after-sales-fields .inline-textarea{
  height:72px;
  min-height:72px;
  padding:9px 10px;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  resize:none;
  overflow:auto;
  font-family:inherit
}

.refund-paste-zone.is-active{border-color:#1769e8;background:#eef4ff;box-shadow:0 0 0 3px rgba(23,105,232,.14)}
.refund-paste-zone[contenteditable=true]{caret-color:transparent}

/* 库存管理 */
.stock-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.stock-toolbar h1{margin:0;font-size:20px}.stock-toolbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.inventory-metrics{display:grid;grid-template-columns:repeat(3,minmax(150px,230px));gap:8px;margin-bottom:8px}.inventory-metrics>div{padding:10px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between}.inventory-metrics span{color:var(--muted);font-size:11px}.inventory-metrics b{font-size:17px;color:#1d2a40}.inventory-metrics>div:last-child b{color:var(--green)}.inventory-filters{display:grid;grid-template-columns:200px minmax(280px,480px) auto auto;gap:8px;padding:10px;border:1px solid var(--line);background:#fff;border-radius:8px 8px 0 0}.inventory-filters input{min-width:0;padding:9px 10px;border:1px solid var(--line-dark);border-radius:6px;outline:none}.inventory-filters input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(39,100,231,.08)}.inventory-table-wrap{height:calc(100vh - 250px);overflow:auto;border:1px solid var(--line);border-top:0;background:#fff}.inventory-table{width:100%;min-width:1250px;border-collapse:separate;border-spacing:0;font-size:12px}.inventory-table th,.inventory-table td{height:76px;padding:8px 10px;border-right:1px solid #e7ebf1;border-bottom:1px solid #e7ebf1;text-align:center;vertical-align:middle}.inventory-table th{position:sticky;top:0;z-index:3;height:36px;background:#eaf2fb;color:#344158;white-space:nowrap}.inventory-table tbody tr:hover td{background:#f8faff}.inventory-image{width:62px;height:62px;display:inline-grid;place-items:center;object-fit:contain;border-radius:5px;background:#f2f4f7;color:#9aa4b2;font-size:10px;cursor:zoom-in}.inventory-note{max-width:420px;text-align:left!important;white-space:normal;overflow-wrap:anywhere}.stock-value{color:var(--green);font-weight:750}.inventory-actions{display:flex;justify-content:center}.inventory-actions button{padding:6px 9px;border:0;color:#fff;border-radius:0}.inventory-actions .edit{background:#35a5e8;border-radius:4px 0 0 4px}.inventory-actions .delete{background:#f45b67;border-radius:0 4px 4px 0}.inventory-dialog{width:min(760px,calc(100% - 30px))}.inventory-form-grid{grid-template-columns:repeat(2,1fr)}.inventory-dialog form>header{display:flex;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}.inventory-dialog h2{margin:0}.inventory-dialog header p{margin:3px 0 0;color:var(--muted)}.inventory-dialog header button{border:0;background:transparent;font-size:24px}.inventory-dialog form>footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 24px;border-top:1px solid var(--line)}#inventoryImagePasteZone{cursor:text}@media(max-width:800px){.inventory-metrics{grid-template-columns:1fr}.inventory-filters{grid-template-columns:1fr 1fr}.stock-toolbar{align-items:flex-end}.inventory-table-wrap{height:55vh}}

/* 热销商品自动排行 */
.hot-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.hot-toolbar h1{margin:0;font-size:20px}.hot-toolbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.live-badge{padding:6px 10px;border-radius:999px;background:#e8f7ef;color:#098557;font-size:11px;font-weight:700}.hot-filters{display:grid;grid-template-columns:minmax(260px,1fr) 150px 150px auto auto;gap:8px;padding:10px;border:1px solid var(--line);background:#fff;border-radius:8px 8px 0 0}.hot-filters input{min-width:0;padding:9px 10px;border:1px solid var(--line-dark);border-radius:6px;outline:none}.hot-filters input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(39,100,231,.08)}.hot-table-wrap{height:calc(100vh - 250px);overflow:auto;border:1px solid var(--line);border-top:0;background:#fff}.hot-table{width:100%;min-width:900px;border-collapse:separate;border-spacing:0;font-size:12px}.hot-table th,.hot-table td{height:78px;padding:8px 12px;border-right:1px solid #e7ebf1;border-bottom:1px solid #e7ebf1;text-align:center;vertical-align:middle}.hot-table th{position:sticky;top:0;z-index:3;height:36px;background:#eaf2fb;color:#344158;white-space:nowrap}.hot-table tbody tr:nth-child(even) td{background:#fafbfc}.hot-table tbody tr:hover td{background:#f5f8ff}.hot-product-image{width:64px;height:64px;display:inline-grid;place-items:center;object-fit:contain;border-radius:6px;background:#f2f4f7;color:#9aa4b2;font-size:10px;cursor:zoom-in}.hot-rank{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef1f5;color:#536078;font-weight:800}.hot-rank.rank-1{background:#fff0bd;color:#9b6500}.hot-rank.rank-2{background:#e9edf3;color:#566276}.hot-rank.rank-3{background:#f7e1cf;color:#9b531e}.hot-quantity{font-size:18px;color:#07a46e}.hot-metrics>div:nth-child(2) b{color:#1769e8}@media(max-width:800px){.hot-filters{grid-template-columns:1fr 1fr}.hot-filters input:first-child{grid-column:1/-1}.hot-table-wrap{height:55vh}}

/* 管理员经营报表：用户 > 店铺 > 订单明细 */
#reportsPage{--report-columns:minmax(260px,1fr) repeat(11,110px)}
.report-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.report-toolbar h1{margin:0;font-size:20px;letter-spacing:-.2px}
.report-toolbar p{margin:3px 0 0;color:var(--muted);font-size:12px}
.report-filters{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) 150px 150px auto auto;gap:8px;padding:10px;border:1px solid var(--line);background:#fff;border-radius:8px 8px 0 0}
.report-filters select,.report-filters input{min-width:0;height:38px;padding:0 10px;border:1px solid var(--line-dark);border-radius:6px;background:#fff;color:#344056;outline:none}
.report-filters select:focus,.report-filters input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(39,100,231,.08)}
.report-filters button{height:38px;padding:0 14px;white-space:nowrap}
.report-quick{display:flex;align-items:center;gap:6px;padding:7px 10px;margin-bottom:8px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fafbfc;overflow-x:auto}
.report-quick span{flex:none;margin-right:3px;color:#8993a5;font-size:11px;font-weight:700}
.report-quick button{flex:none;padding:5px 11px;background:#fff;font-size:12px}
.report-quick button:hover,.report-quick button.active{border-color:#aac4f6;background:var(--brand-soft);color:var(--brand-dark)}
.report-metrics{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:7px;margin-bottom:8px}
.report-metric{position:relative;min-width:0;padding:10px 12px 10px 15px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(20,35,60,.025);overflow:hidden}
.report-metric:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:#b9c4d3}
.report-metric:nth-child(3):before{background:var(--brand)}
.report-metric:nth-child(5):before{background:var(--amber)}
.report-metric:nth-child(6):before,.report-metric.profit:before{background:var(--green)}
.report-metric:nth-child(7):before{background:var(--red)}
.report-metric span{display:block;overflow:hidden;color:var(--muted);font-size:10.5px;white-space:nowrap;text-overflow:ellipsis}
.report-metric b{display:block;margin-top:2px;color:#1d2a40;font-size:16px;line-height:1.35;white-space:nowrap}
.report-metric.profit b,.report-metric:nth-child(6) b{color:var(--green)}
.report-table-wrap{height:calc(100vh - 293px);min-height:320px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 5px 18px rgba(20,35,60,.035);scrollbar-gutter:stable}
.report-table{width:max(100%,1470px);min-width:1470px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.report-table>thead>tr>th{position:sticky;top:0;z-index:8;height:38px;padding:8px 9px;border-right:1px solid #dfe7f1;border-bottom:1px solid #d8e1ed;background:#eaf2fb;color:#344158;text-align:right;white-space:nowrap}
.report-table>thead>tr>th:first-child{width:auto;text-align:left}
.report-table>thead>tr>th:not(:first-child){width:110px}
.report-table>tbody>tr>td{height:auto;padding:0;border:0;border-bottom:1px solid #e4e9f0;background:#fff}
.report-table>tbody>tr:hover>td{background:#fff}
.report-table-wrap>.empty{border:0;border-radius:0;box-shadow:none}
.report-user-details,.report-shop-details{display:block;background:#fff}
.report-user-details>summary,.report-shop-details>summary{position:relative;list-style:none;cursor:pointer;user-select:none}
.report-user-details>summary::-webkit-details-marker,.report-shop-details>summary::-webkit-details-marker{display:none}
.report-user-details>summary:before,.report-shop-details>summary:before{content:"›";position:absolute;left:9px;top:50%;z-index:2;display:grid;width:18px;height:18px;place-items:center;transform:translateY(-50%);border-radius:5px;background:#edf3ff;color:var(--brand);font-size:17px;font-weight:800;line-height:1;transition:transform .16s}
.report-user-details[open]>summary:before,.report-shop-details[open]>summary:before{transform:translateY(-50%) rotate(90deg)}
.report-summary-grid{display:grid;grid-template-columns:var(--report-columns);align-items:stretch;min-height:58px;background:#fff;transition:background .12s}
.report-summary-grid:hover{background:#f8faff}
.report-summary-grid>*{display:flex;min-width:0;align-items:center;justify-content:flex-end;padding:8px 9px;border-right:1px solid #e8edf3;text-align:right;white-space:nowrap}
.report-summary-grid>*:first-child{justify-content:flex-start;padding-left:38px;text-align:left;white-space:normal}
.report-summary-grid strong,.report-summary-grid b{color:#1c2940;font-weight:750}
.report-summary-grid small{display:block;margin-top:2px;color:var(--muted);font-size:10px;font-weight:500}
.report-user-details[open]>summary.report-summary-grid{background:#f7faff;box-shadow:inset 3px 0 var(--brand)}
.report-shop-list{padding:8px 10px 10px 27px;border-top:1px solid #e4e9f0;background:#f5f7fa}
.report-shop-details{margin-bottom:7px;border:1px solid #dfe5ee;border-radius:7px;overflow:hidden;box-shadow:0 2px 7px rgba(25,40,68,.025)}
.report-shop-details:last-child{margin-bottom:0}
.report-shop-details>.report-summary-grid{min-width:1395px;min-height:52px;background:#fff}
.report-shop-details>summary:before{left:8px;background:#f0f2f6;color:#68768b}
.report-shop-details>summary.report-summary-grid>*:first-child{padding-left:36px}
.report-shop-details[open]>summary.report-summary-grid{background:#f9fbff;border-bottom:1px solid #dfe5ee}
.report-orders-table{max-width:100%;overflow:auto;background:#fff}
.report-orders-table table,table.report-orders-table{width:100%;min-width:1150px;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:11.5px}
.report-orders-table th,.report-orders-table td{height:38px;padding:7px 9px;border-right:1px solid #edf0f4;border-bottom:1px solid #edf0f4;text-align:right;vertical-align:middle;white-space:nowrap}
.report-orders-table th{position:sticky;top:0;z-index:2;background:#f5f7fa;color:#748094;font-size:10.5px;font-weight:700}
.report-orders-table th:first-child,.report-orders-table td:first-child{text-align:left}
.report-orders-table tbody tr:nth-child(even) td{background:#fcfcfd}
.report-orders-table tbody tr:hover td{background:#f5f8ff}
.report-positive{color:var(--green)!important;font-weight:750}
.report-negative{color:var(--red)!important;font-weight:750}
.report-count-badge{display:inline-grid;min-width:24px;height:22px;padding:0 7px;place-items:center;border-radius:11px;background:#edf3ff;color:var(--brand-dark);font-size:11px;font-weight:750}
.report-count-badge.warning{background:var(--red-soft);color:var(--red)}
.report-table-wrap::-webkit-scrollbar,.report-orders-table::-webkit-scrollbar{width:10px;height:10px}
.report-table-wrap::-webkit-scrollbar-thumb,.report-orders-table::-webkit-scrollbar-thumb{border:2px solid #f1f3f6;border-radius:8px;background:#9fa9b6}
.report-table-wrap::-webkit-scrollbar-track,.report-orders-table::-webkit-scrollbar-track{background:#f1f3f6}
@media(max-width:1280px){.report-metrics{grid-template-columns:repeat(4,minmax(120px,1fr))}.report-table-wrap{height:calc(100vh - 348px)}}
@media(max-width:900px){.report-toolbar{align-items:flex-end}.report-filters{grid-template-columns:1fr 1fr}.report-filters button{min-width:0}.report-table-wrap{height:55vh;min-height:360px}.report-shop-list{padding-left:12px}}
@media(max-width:640px){.report-toolbar p{display:none}.report-toolbar h1{font-size:18px}.report-filters{grid-template-columns:1fr 1fr;padding:8px}.report-metrics{grid-template-columns:repeat(2,minmax(110px,1fr));gap:5px}.report-metric{padding:8px 10px 8px 13px}.report-metric b{font-size:15px}.report-quick{margin-bottom:6px}.report-shop-list{padding:6px}}
/* 管理员操作日志 */
#logsPage{
  --log-blue:#1769e8;
  --log-blue-soft:#eaf2ff;
  --log-green:#07875b;
  --log-green-soft:#e8f7f0;
  --log-red:#cf3d4d;
  --log-red-soft:#fff0f2;
  --log-amber:#a96806;
  --log-amber-soft:#fff5df
}
.logs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px}
.logs-toolbar h1{margin:0;font-size:20px;letter-spacing:-.2px}
.logs-toolbar p{margin:3px 0 0;color:var(--muted);font-size:12px}
.logs-toolbar .live-badge{flex:none}
.logs-metrics{display:grid;grid-template-columns:repeat(4,minmax(135px,240px));gap:8px;margin-bottom:8px}
.log-metric{position:relative;display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px;padding:10px 13px 10px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 3px 10px rgba(20,35,60,.025);overflow:hidden}
.log-metric:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:#aab6c7}
.log-metric:nth-child(2):before{background:var(--log-blue)}
.log-metric:nth-child(3):before{background:var(--log-green)}
.log-metric:nth-child(4):before{background:var(--log-red)}
.log-metric span{min-width:0;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.log-metric b{flex:none;color:#1d2a40;font-size:17px;line-height:1.25}
.logs-filters{display:grid;grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(130px,.75fr)) 145px 145px auto auto;gap:8px;padding:10px;border:1px solid var(--line);border-radius:8px 8px 0 0;background:#fff}
.logs-filters input,.logs-filters select{min-width:0;height:38px;padding:0 10px;border:1px solid var(--line-dark);border-radius:6px;outline:none;background:#fff;color:#344056}
.logs-filters input::placeholder{color:#9aa3b1}
.logs-filters input:focus,.logs-filters select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(39,100,231,.08)}
.logs-filters button{height:38px;padding:0 14px;white-space:nowrap}
.logs-table-wrap{height:calc(100vh - 248px);min-height:330px;overflow:auto;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fff;box-shadow:0 5px 18px rgba(20,35,60,.035);scrollbar-gutter:stable}
.logs-table{width:100%;min-width:1280px;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:12px}
.logs-table th,.logs-table td{height:48px;padding:8px 10px;border-right:1px solid #e7ebf1;border-bottom:1px solid #e7ebf1;text-align:left;vertical-align:middle}
.logs-table th{position:sticky;top:0;z-index:5;height:36px;background:#eaf2fb;color:#344158;font-size:11px;font-weight:750;white-space:nowrap}
.logs-table th:nth-child(1),.logs-table td:nth-child(1){width:76px;text-align:center}
.logs-table th:nth-child(2),.logs-table td:nth-child(2){width:105px}
.logs-table th:nth-child(3),.logs-table td:nth-child(3){width:110px}
.logs-table th:nth-child(4),.logs-table td:nth-child(4){width:180px}
.logs-table th:nth-child(6),.logs-table td:nth-child(6){width:165px;white-space:nowrap}
.logs-table th:nth-child(7),.logs-table td:nth-child(7){width:110px;white-space:nowrap}
.logs-table tbody tr:nth-child(even) td{background:#fbfcfd}
.logs-table tbody tr:hover td{background:#f5f8ff}
.logs-table td:nth-child(5){line-height:1.55;white-space:normal;overflow-wrap:anywhere}
.log-action-badge{display:inline-flex;min-width:58px;height:25px;align-items:center;justify-content:center;gap:5px;padding:0 8px;border:1px solid #d9e0e9;border-radius:999px;background:#f3f5f8;color:#536078;font-size:10.5px;font-weight:750;white-space:nowrap}
.log-action-badge:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.log-action-badge.created{border-color:#a9dfc9;background:var(--log-green-soft);color:var(--log-green)}
.log-action-badge.updated{border-color:#b9d0f8;background:var(--log-blue-soft);color:#175cbf}
.log-action-badge.deleted{border-color:#f1bdc4;background:var(--log-red-soft);color:var(--log-red)}
.log-action-badge.login{border-color:#f0cf91;background:var(--log-amber-soft);color:var(--log-amber)}
.log-action-badge.logout{border-color:#d2d8e1;background:#f2f4f7;color:#596579}
.log-field-chip{display:inline-block;max-width:100%;padding:3px 7px;border:1px solid #d8e3f4;border-radius:5px;background:#f2f6fc;color:#42536e;font:600 10.5px/1.45 ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}
.log-change-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}
.log-change-item{display:grid;grid-template-columns:auto minmax(0,1fr) 14px minmax(0,1fr);align-items:start;gap:6px;min-width:0}
.log-change-item>.log-field-chip{margin-top:1px}
.log-change-item>i{color:#8d98aa;font-style:normal;text-align:center}
.log-old,.log-new{min-width:0;padding:3px 6px;border-radius:4px;white-space:pre-wrap;overflow-wrap:anywhere}
.log-old{background:#fff1f2;color:#a63a47;text-decoration:line-through;text-decoration-color:rgba(166,58,71,.38)}
.log-new{background:#ebf8f2;color:#087653}
.logs-pagination{display:flex;align-items:center;justify-content:flex-end;gap:5px;padding:9px 10px;border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px;background:#fff}
.logs-table-wrap+.logs-pagination{border-radius:0 0 8px 8px}
.logs-pagination>#logsTotal{margin-right:auto;color:var(--muted);font-size:11px}
.log-page-button{min-width:32px;height:32px;display:inline-grid;place-items:center;padding:0 8px;border-color:#dbe1ea;border-radius:6px;background:#fff;color:#596579;font-size:11px}
.log-page-button:hover{border-color:#abc4f3;background:#f4f7fd;color:var(--brand)}
.log-page-button.active{border-color:var(--brand);background:var(--brand);color:#fff;box-shadow:0 3px 8px rgba(39,100,231,.2)}
.log-page-button:disabled{opacity:.42;cursor:not-allowed}
.logs-table-wrap::-webkit-scrollbar{width:10px;height:10px}
.logs-table-wrap::-webkit-scrollbar-thumb{border:2px solid #f1f3f6;border-radius:8px;background:#9fa9b6}
.logs-table-wrap::-webkit-scrollbar-track{background:#f1f3f6}
@media(max-width:1280px){
  .logs-filters{grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(120px,.8fr)) 135px 135px}
  .logs-filters button{min-width:0}
  .logs-table-wrap{height:calc(100vh - 300px)}
}
@media(max-width:900px){
  .logs-toolbar{align-items:flex-end}
  .logs-metrics{grid-template-columns:repeat(2,minmax(130px,1fr))}
  .logs-filters{grid-template-columns:1fr 1fr}
  .logs-filters input:first-child{grid-column:1/-1}
  .logs-table-wrap{height:55vh;min-height:360px;border-top:1px solid var(--line);border-radius:8px}
  .logs-pagination{justify-content:flex-start;overflow-x:auto}
  .logs-pagination>#logsTotal{display:none}
}
@media(max-width:560px){
  .logs-toolbar p{display:none}
  .logs-toolbar h1{font-size:18px}
  .logs-metrics{gap:5px}
  .log-metric{padding:8px 10px 8px 13px}
  .log-metric b{font-size:15px}
  .logs-filters{padding:8px;gap:6px}
}
/* Tech Executive Theme — 2026-08
   深色导航、明亮数据工作区与克制的语义强调色。 */
:root{
  --nav:#081321;--nav-soft:#101f34;--page:#f3f7fc;--panel:#fff;
  --panel-soft:#f8fafd;--panel-tint:#eef5fc;--line:#dce5f0;--line-dark:#c8d5e5;
  --ink:#142033;--ink-soft:#40516a;--muted:#6b7b91;
  --brand:#0967e8;--brand-dark:#0758c7;--brand-soft:#e8f2ff;
  --cyan:#0789a4;--cyan-soft:#e7fafd;--green:#087a59;--green-soft:#e7f8f2;
  --red:#c83b4d;--red-soft:#fff1f4;--amber:#976000;--amber-soft:#fff6e4;
  --violet:#6949bd;--violet-soft:#f2eeff;
  --shadow:0 12px 32px rgba(16,39,72,.10);
  --shadow-soft:0 1px 2px rgba(15,23,42,.04),0 7px 20px rgba(19,45,80,.045)
}
html,body{background:var(--page);color:var(--ink)}
body{background-image:radial-gradient(circle at 90% -20%,rgba(9,103,232,.07),transparent 34%),linear-gradient(180deg,#f7faff 0,#f3f7fc 220px)}
::selection{background:rgba(9,103,232,.2);color:#071529}
*{scrollbar-color:#91a3b9 #edf2f7;scrollbar-width:thin}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:#edf2f7}
*::-webkit-scrollbar-thumb{border:2px solid #edf2f7;border-radius:10px;background:#91a3b9}
*::-webkit-scrollbar-thumb:hover{background:#6f829a}

/* 登录 */
.login-view{background:radial-gradient(circle at 18% 35%,rgba(17,131,255,.25),transparent 29%),radial-gradient(circle at 42% 78%,rgba(8,178,199,.13),transparent 24%),linear-gradient(125deg,#07111f 0 50%,#eef4fb 50%)}
.login-view:before{color:#f6faff;text-shadow:0 8px 35px rgba(0,0,0,.26)}
.login-view:after{color:#7590af}
.login-card{border:1px solid rgba(202,216,234,.8);background:rgba(255,255,255,.93);box-shadow:0 32px 90px rgba(3,15,34,.26),inset 0 1px rgba(255,255,255,.8);backdrop-filter:blur(20px)}
.login-brand{display:flex;align-items:center;gap:11px;color:var(--ink)}
.login-brand small{color:#7e8ca0;letter-spacing:1.5px}
.login-card h1{color:#10203a}
.login-card>p,.remember{color:var(--muted)}
.login-card label:not(.remember){color:#364861}
.login-card input{border-color:#cbd8e8;background:#f7faff;color:var(--ink)}
.login-card input::placeholder{color:#9aa8ba}
.login-card input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(9,103,232,.13)}
.brand-logo{box-shadow:0 5px 16px rgba(12,111,241,.32)}

/* 顶部导航 */
.topbar{background:linear-gradient(110deg,#081321 0%,#0c1a2c 62%,#10233a 100%);color:#eaf3ff;border-bottom:1px solid rgba(82,153,233,.22);box-shadow:0 7px 22px rgba(7,20,37,.18)}
.topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(24,145,255,.7) 20%,rgba(5,194,210,.4) 48%,transparent 82%);pointer-events:none}
.topbar .logo{color:#f4f8ff;border-right:1px solid rgba(148,163,184,.12)}
.topbar .logo b{letter-spacing:.15px}
.topbar nav button{color:#91a3bc}
.topbar nav button i{background:rgba(139,166,201,.10);color:#88a2c0;border:1px solid rgba(146,174,208,.08)}
.topbar nav button:hover{color:#eef6ff;background:rgba(255,255,255,.055)}
.topbar nav button:hover i{color:#8bdcff;background:rgba(10,150,224,.14);border-color:rgba(80,187,239,.18)}
.topbar nav button.active{color:#fff;background:linear-gradient(180deg,rgba(18,114,234,.24),rgba(6,84,180,.14));box-shadow:inset 0 -2px #24a7ff,inset 0 1px rgba(255,255,255,.035)}
.topbar nav button.active i{color:#71d8ff;background:rgba(10,131,236,.21);border-color:rgba(67,184,255,.24)}
.topbar .user-menu{color:#eaf2fc;border:1px solid transparent}
.topbar .user-menu:hover{background:rgba(255,255,255,.06);border-color:rgba(133,180,230,.12)}
.topbar .avatar{color:#9fddff;background:linear-gradient(145deg,#17314f,#10233a);border:1px solid rgba(70,164,244,.28);box-shadow:0 0 0 3px rgba(9,103,232,.07)}

/* 通用控件 */
main{background:transparent}
.page-heading h1,.stock-toolbar h1,.hot-toolbar h1,.report-toolbar h1,.logs-toolbar h1{color:#102039;font-weight:800}
.stock-toolbar p,.hot-toolbar p,.report-toolbar p,.logs-toolbar p{color:var(--muted)}
button{border-color:var(--line-dark);background:linear-gradient(#fff,#f8fafc);color:#42536b;box-shadow:0 1px 2px rgba(15,23,42,.025)}
button:hover{border-color:#9fb5d0;background:#f3f7fc;color:#15375f}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(9,103,232,.14)!important}
.primary{border-color:var(--brand)!important;background:linear-gradient(135deg,#0873f7,#075bd4)!important;box-shadow:0 5px 14px rgba(9,103,232,.22)!important}
.primary:hover{background:linear-gradient(135deg,#0869e2,#064fbb)!important;box-shadow:0 7px 18px rgba(9,103,232,.28)!important}
.filter-actions .add-order-btn{border-color:#0872ed;background:linear-gradient(135deg,#0875f5,#0963d9);box-shadow:0 5px 14px rgba(9,103,232,.2)}
.filter-actions .add-order-btn:hover{background:linear-gradient(135deg,#0769dc,#0756bc)}
.filters,.inventory-filters,.hot-filters,.report-filters,.logs-filters{border-color:var(--line);background:rgba(255,255,255,.96);box-shadow:var(--shadow-soft)}
.filters input,.filters select,.inventory-filters input,.hot-filters input,.report-filters input,.report-filters select,.logs-filters input,.logs-filters select,.form-grid input,.form-grid select,.form-grid textarea{border-color:var(--line-dark);background:#f9fbfe;color:#2f415a}
.filters input::placeholder,.inventory-filters input::placeholder,.hot-filters input::placeholder,.logs-filters input::placeholder,.form-grid input::placeholder,.form-grid textarea::placeholder{color:#96a5b7}
.filters input:hover,.filters select:hover,.inventory-filters input:hover,.hot-filters input:hover,.report-filters input:hover,.report-filters select:hover,.logs-filters input:hover,.logs-filters select:hover,.form-grid input:hover,.form-grid select:hover,.form-grid textarea:hover{border-color:#aabdd3;background:#fff}
.filters input:focus,.filters select:focus,.inventory-filters input:focus,.hot-filters input:focus,.report-filters input:focus,.report-filters select:focus,.logs-filters input:focus,.logs-filters select:focus,.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 3px rgba(9,103,232,.12)}
.quick-filters,.report-quick{border-color:var(--line);background:linear-gradient(90deg,#f7faff,#f3f7fc)}
.quick-filters button,.report-quick button{border-color:#d3dfed;background:#fff;color:#50627a}
.quick-filters button:hover,.report-quick button:hover{border-color:#9bbce7;background:#edf5ff;color:#075bbd}
.quick-filters button:nth-last-child(-n+2){border-color:#f0c4ca;background:#fff8f9;color:var(--red)}
.live-badge{border:1px solid #a8dfd0;background:linear-gradient(135deg,#e9fbf6,#def7ef);color:#087458;box-shadow:0 4px 12px rgba(8,122,89,.08)}

/* 统计卡：取消旧版彩虹色块 */
.metrics{gap:7px;border:0;background:transparent;overflow:visible}
.metrics .metric{--accent:#2f80ed;position:relative;min-width:126px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,#fff,#f8fbff);color:var(--ink);box-shadow:var(--shadow-soft);overflow:hidden}
.metrics .metric:before{display:block;content:"";position:absolute;left:0;right:0;top:0;bottom:auto;width:auto;height:2px;border-radius:0;background:var(--accent)}
.metrics .metric:nth-child(1){--accent:#1677e8}.metrics .metric:nth-child(2){--accent:#0b8aa5}.metrics .metric:nth-child(3){--accent:#386fe4}.metrics .metric:nth-child(4){--accent:#65768d}.metrics .metric:nth-child(5){--accent:#75869a}.metrics .metric:nth-child(6){--accent:#a66a00}.metrics .metric.profit{--accent:#087a59}
.metrics .metric span{color:#75859a}.metrics .metric b,.metrics .metric.profit b{color:#15243b}
.metrics .metric.profit b{color:var(--green)}
.inventory-metrics>div,.report-metric,.log-metric{border-color:var(--line);background:linear-gradient(145deg,#fff,#f8fbff);box-shadow:var(--shadow-soft)}
.inventory-metrics b,.inventory-metrics>div:last-child b{color:#173050}.inventory-metrics>div:last-child b{color:var(--green)}
.report-metric:before,.log-metric:before{background:linear-gradient(#1686f4,#05a9cd)}
.report-metric.profit:before{background:linear-gradient(#07966b,#12b88b)}
.report-metric span,.log-metric span{color:#74859a}.report-metric b,.log-metric b{color:#172a45}.report-metric.profit b{color:var(--green)}

/* 数据表格 */
.sheet-wrap,.inventory-table-wrap,.hot-table-wrap,.report-table-wrap,.logs-table-wrap{border-color:var(--line);background:#fff;box-shadow:var(--shadow-soft)}
.orders-sheet th,.inventory-table th,.hot-table th,.report-table th,.logs-table th{border-color:#d9e3ef;background:linear-gradient(180deg,#eef4fb,#e6eef8);color:#3b4f68;text-shadow:0 1px #fff}
.orders-sheet td,.inventory-table td,.hot-table td,.report-table td,.logs-table td{border-color:#e5ebf3;color:#263850}
.orders-sheet tbody tr:nth-child(even) td,.inventory-table tbody tr:nth-child(even) td,.hot-table tbody tr:nth-child(even) td,.report-table tbody tr:nth-child(even) td,.logs-table tbody tr:nth-child(even) td{background:#fbfcfe}
.orders-sheet tbody tr:hover td,.inventory-table tbody tr:hover td,.hot-table tbody tr:hover td,.report-table tbody tr:hover td,.logs-table tbody tr:hover td{background:#edf5ff}
.orders-sheet td.pin{background:#fff;box-shadow:10px 0 16px -16px rgba(15,36,63,.7)}
.orders-sheet tbody tr:nth-child(even) td.pin{background:#fbfcfe}
.orders-sheet tbody tr:hover td.pin{background:#edf5ff}
.orders-sheet tbody tr.has-after td{background-color:#fffdf8;background-image:linear-gradient(rgba(255,248,235,.64),rgba(255,248,235,.64))}
.orders-sheet tbody tr.has-after:hover td{background-color:#fff8e9;background-image:none}
.order-no{background:#f0f5ff!important;color:#183d76}
.address,.address-cell{color:#3c5069}
.product-img,.inventory-image,.hot-product-image{border:1px solid #dae4ef;background:#f0f4f9;box-shadow:0 3px 10px rgba(20,45,77,.07)}
.source-link{color:#0967d8}
.inline-input,.inline-select{border-color:transparent;background:#f2f6fa;color:#34465d}
.inline-input:hover,.inline-select:hover{border-color:#b7c7da;background:#fff}
.inline-input:focus,.inline-select:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 2px rgba(9,103,232,.12)}
.inline-select.has-value{border-color:#aac8f0;background:#eaf3ff;color:#174f9a}
.select-small .inline-select{border-color:#324c6b;background:linear-gradient(145deg,#31465f,#253850);color:#fff}
.reported.yes{background:linear-gradient(135deg,#078966,#0aa27a)}.reported.no{background:#35465c}
.profit-positive,.report-positive,.stock-value,.hot-quantity{color:var(--green)}
.profit-negative,.report-negative{color:var(--red)}

/* 单个订单状态语义色 */
.inline-select.status-tone-0{border-color:#9dc2f4;background:#eaf3ff;color:#0d5bad}
.inline-select.status-tone-1{border-color:#e9c878;background:#fff6dc;color:#835600}
.inline-select.status-tone-2{border-color:#c6b5ea;background:#f3efff;color:#6042a4}
.inline-select.status-tone-3{border-color:#87cfdc;background:#e9fafd;color:#06758d}
.inline-select.status-tone-4{border-color:#eba9b1;background:#fff0f2;color:#aa2f3e}
.inline-select.status-tone-5{border-color:#e6bd92;background:#fff3e8;color:#9a520c}
.inline-select.status-tone-6{border-color:#8ed0b9;background:#e9f8f2;color:#087054}
.inline-select.status-tone-7{border-color:#75caa8;background:#ddf7ec;color:#076e4d}
.status{background:var(--brand-soft);color:#0b5bb8}.status.done{background:var(--green-soft);color:var(--green)}.status.urgent{background:var(--red-soft);color:var(--red)}

/* 操作按钮与售后区域 */
.orders-sheet .actions .edit,.inventory-actions .edit{background:linear-gradient(135deg,#1688e8,#0871cc)}
.orders-sheet .actions .delete,.inventory-actions .delete{background:linear-gradient(135deg,#df5262,#c83b4d)}
.orders-sheet .actions .copy{background:linear-gradient(135deg,#e5a224,#bd7510)}
.orders-sheet .actions button:hover,.inventory-actions button:hover{filter:brightness(.96);box-shadow:0 4px 10px rgba(22,46,76,.16)}
.after-sales-row>td{border-bottom-color:#d9e4f0!important;background:#f7fafe!important}
.after-sales-details summary{color:#536984;background:linear-gradient(90deg,#f8fbff,#f2f6fb)}
.after-sales-details summary:hover{color:#075fc7;background:#eef5ff}
.after-sales-details summary b,.after-sales-badge,.alert-badge.after{background:var(--red-soft);color:var(--red)}
.after-sales-details summary em,.alert-badge.note{background:var(--amber-soft);color:var(--amber)}
.after-sales-grid{border-top-color:#dfe7f1;background:#fff}
.after-sales-fields label,.refund-image-field{color:#65768c}
.after-sales-fields .inline-select,.after-sales-fields .inline-input{background:#f5f8fc}
.refund-paste-zone,.image-paste-zone{border-color:#aec0d5;background:#f4f8fc;color:#536983}
.refund-paste-zone:hover,.refund-paste-zone:focus,.refund-paste-zone.is-active,.image-paste-zone:hover,.image-paste-zone:focus{border-color:#1681ef;background:#edf5ff;box-shadow:0 0 0 3px rgba(9,103,232,.12)}
.paste-empty{color:#50637c}.paste-empty small,.refund-paste-zone small{color:#8898ac}
.refund-remove,.remove-image{border-color:#efbdc5;background:#fff;color:var(--red)}

/* 弹窗与反馈 */
dialog{border:1px solid rgba(182,199,221,.7);background:#fff;color:var(--ink);box-shadow:0 34px 110px rgba(5,18,37,.32)}
dialog::backdrop{background:rgba(5,14,27,.72);backdrop-filter:blur(5px)}
#orderForm>header,.inventory-dialog form>header{border-bottom-color:var(--line);background:linear-gradient(110deg,#f8fbff,#eef5fc)}
#orderForm>footer,.inventory-dialog form>footer{border-top-color:var(--line);background:#f8fafc}
#orderForm h2,.inventory-dialog h2{color:#142641}
.form-grid label{color:#50617a}
.calculation{border:1px solid #bee6d8;background:linear-gradient(135deg,#ecfaf5,#e2f7ef)}
.calculation b{color:var(--green)}
.toast{border:1px solid rgba(88,163,236,.28);background:linear-gradient(135deg,#0d1e33,#122c49);color:#eff8ff;box-shadow:0 15px 35px rgba(6,20,40,.28)}
.empty{border-color:var(--line);background:linear-gradient(145deg,#fff,#f8fbff)}
.empty div{color:#213550}.empty p,.placeholder-card p{color:var(--muted)}
.placeholder-card span{color:var(--brand)}
.image-dialog{background:#050c17}.image-dialog::backdrop{background:rgba(2,7,14,.88)}
.image-dialog button{border-color:#75c9ff;background:rgba(9,32,57,.92);color:#fff;box-shadow:0 0 20px rgba(24,159,255,.28)}
.image-dialog p{border:1px solid rgba(122,184,239,.16);background:rgba(7,19,34,.78);color:#c8d9ec}

/* 库存与热销 */
.inventory-table-wrap,.hot-table-wrap{border-top:0}
.inventory-note{color:#42566f}
.hot-rank{border:1px solid #d5e0ec;background:#eef3f8;color:#4e627b}
.hot-rank.rank-1{border-color:#edcc72;background:linear-gradient(145deg,#fff8d9,#ffedaa);color:#855700;box-shadow:0 4px 12px rgba(185,126,0,.12)}
.hot-rank.rank-2{border-color:#c5d0dd;background:linear-gradient(145deg,#f5f8fb,#e5ebf2);color:#4e5f74}
.hot-rank.rank-3{border-color:#dfb18d;background:linear-gradient(145deg,#fff1e5,#f4d5bc);color:#8c4818}
.hot-metrics>div:nth-child(2) b{color:var(--brand)}

/* 经营报表 */
.report-quick{box-shadow:var(--shadow-soft)}
.report-table tbody.report-user-group>tr.report-user-row>td{background:#f1f6fc}
.report-table tbody.report-user-group:hover>tr.report-user-row>td{background:#eaf3ff}
.report-user-details>summary,.report-shop-details>summary{color:#35506f;background:#f8fbff}
.report-user-details[open]>summary,.report-shop-details[open]>summary{color:#075fca;background:#edf5ff}
.report-summary-grid,.report-shop-list,.report-orders-table{border-color:#dfe7f1;background:#fbfdff}
.report-count-badge{border-color:#b5cfef;background:#edf5ff;color:#145fae}
.report-count-badge.warning{border-color:#edbdc5;background:#fff1f3;color:var(--red)}

/* 操作日志 */
#logsPage{--log-green:var(--green);--log-green-soft:var(--green-soft);--log-blue:var(--brand);--log-blue-soft:var(--brand-soft);--log-red:var(--red);--log-red-soft:var(--red-soft);--log-amber:var(--amber);--log-amber-soft:var(--amber-soft)}
.logs-live:before{box-shadow:0 0 0 4px rgba(8,122,89,.09)}
.log-action-badge{border-color:#d2dce8;background:#f1f5f9;color:#53667d}
.log-action-badge.created{border-color:#9dd5c2;background:var(--green-soft);color:var(--green)}
.log-action-badge.updated{border-color:#a9c8f1;background:var(--brand-soft);color:#0b5ab7}
.log-action-badge.deleted{border-color:#ecb4bd;background:var(--red-soft);color:var(--red)}
.log-action-badge.login{border-color:#e8ca8b;background:var(--amber-soft);color:var(--amber)}
.log-action-badge.logout{border-color:#ccd6e2;background:#edf2f7;color:#52647a}
.log-field-chip{border-color:#cedcee;background:#edf4fc;color:#38516f}
.log-old{background:#fff0f2;color:#a52e3e}.log-new{background:#e7f8f1;color:#087054}
.logs-pagination{border-color:var(--line);background:#fff}
.log-page-button{border-color:#d4dfeb;background:#fff;color:#51647c}
.log-page-button:hover{border-color:#9bbce7;background:#edf5ff;color:#075fc4}
.log-page-button.active{border-color:var(--brand);background:linear-gradient(135deg,#0873f4,#075bc9);color:#fff;box-shadow:0 4px 10px rgba(9,103,232,.2)}

@media(max-width:800px){
  .login-view{background:radial-gradient(circle at 50% 5%,rgba(19,131,255,.18),transparent 30%),#eef4fb}
  .topbar{background:linear-gradient(110deg,#081321,#10243b)}
  .topbar nav button.active{background:rgba(9,103,232,.3);box-shadow:inset 0 2px #26a9ff}
  .metrics{overflow:auto;padding:2px}
}
/* 2026-08 compact action controls: prevent grid buttons from stretching */
.inventory-filters{
  grid-template-columns:200px minmax(280px,480px) max-content max-content;
  justify-content:start;
  align-items:center
}
.hot-filters{
  grid-template-columns:minmax(280px,520px) 150px 150px max-content max-content;
  justify-content:start;
  align-items:center
}
.report-filters{
  grid-template-columns:220px 220px 150px 150px max-content max-content;
  justify-content:start;
  align-items:center
}
.logs-filters{
  grid-template-columns:minmax(300px,440px) repeat(3,140px) 145px 145px max-content max-content;
  justify-content:start;
  align-items:center
}
.inventory-filters>button,
.hot-filters>button,
.report-filters>button,
.logs-filters>button{
  justify-self:start;
  width:auto;
  min-width:0;
  height:38px;
  padding:0 15px;
  border-radius:7px;
  font-size:12px;
  font-weight:650;
  line-height:36px;
  white-space:nowrap
}
.inventory-filters>button[type="submit"],
.hot-filters>button[type="submit"],
.report-filters>button[type="submit"],
.logs-filters>button[type="submit"]{width:92px}
#resetInventoryFilters,
#resetHotFilters,
#resetReportFilters,
#resetLogsFilters{width:78px}
.stock-toolbar>button,
.page-heading>button{
  flex:0 0 auto;
  width:auto;
  min-width:108px;
  height:38px;
  padding:0 15px;
  border-radius:7px;
  font-size:12px;
  font-weight:650;
  line-height:36px;
  white-space:nowrap
}
.filter-actions{
  display:grid;
  grid-template-columns:88px 74px 106px;
  align-items:center;
  justify-content:end;
  gap:7px
}
.filter-actions button{
  width:100%;
  min-width:0;
  height:38px;
  padding:0 10px;
  border-radius:7px;
  font-size:12px;
  font-weight:650;
  line-height:36px
}
#orderForm>footer,
.inventory-dialog form>footer{
  align-items:center;
  justify-content:flex-end;
  gap:9px
}
#orderForm>footer button,
.inventory-dialog form>footer button{
  flex:0 0 auto;
  width:auto;
  min-width:82px;
  height:38px;
  padding:0 16px;
  border-radius:7px;
  font-size:12px;
  font-weight:650
}
@media(max-width:1280px){
  .inventory-filters{grid-template-columns:190px minmax(240px,420px) max-content max-content}
  .hot-filters{grid-template-columns:minmax(240px,420px) 135px 135px max-content max-content}
  .report-filters{grid-template-columns:190px 190px 135px 135px max-content max-content}
  .logs-filters{grid-template-columns:minmax(260px,380px) repeat(3,125px) 135px 135px max-content max-content}
}
@media(max-width:900px){
  .inventory-filters,
  .hot-filters,
  .report-filters,
  .logs-filters{
    grid-template-columns:repeat(2,minmax(0,1fr));
    justify-content:stretch
  }
  .inventory-filters>button,
  .hot-filters>button,
  .report-filters>button,
  .logs-filters>button{
    justify-self:stretch;
    width:100%
  }
  .hot-filters>input:first-child,
  .logs-filters>input:first-child{grid-column:1/-1}
}
@media(max-width:700px){
  .filter-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    justify-content:stretch
  }
  .filter-actions button{width:100%;padding:0 6px}
}
@media(max-width:520px){
  .inventory-filters,
  .hot-filters,
  .report-filters,
  .logs-filters{grid-template-columns:1fr}
  .inventory-filters>*,
  .hot-filters>*,
  .report-filters>*,
  .logs-filters>*{grid-column:1!important}
  .stock-toolbar{gap:10px}
  .stock-toolbar>button{min-width:96px;padding:0 11px}
  #orderForm>footer,
  .inventory-dialog form>footer{
    display:grid;
    grid-template-columns:1fr 1fr;
    padding:12px 16px
  }
  #orderForm>footer button,
  .inventory-dialog form>footer button{width:100%}
}

/* Unified Action Controls — 全站按钮与筛选栏修复 */
:root{--control-h:38px;--button-radius:7px}

/* 筛选栏：输入区域伸展，操作按钮始终保持内容宽度 */
.inventory-filters{
  grid-template-columns:200px minmax(320px,1fr) max-content max-content;
  align-items:center
}
.hot-filters{
  grid-template-columns:minmax(300px,1fr) 150px 150px max-content max-content;
  align-items:center
}
.report-filters{
  grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) 150px 150px max-content max-content;
  align-items:center
}
.logs-filters{
  grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(130px,.75fr)) 145px 145px max-content max-content;
  align-items:center
}
.inventory-filters>button,.hot-filters>button,.report-filters>button,.logs-filters>button{
  width:auto;
  min-width:84px;
  height:var(--control-h);
  min-height:var(--control-h);
  justify-self:start;
  padding:0 16px;
  border-radius:var(--button-radius);
  white-space:nowrap;
  line-height:1
}

/* 统一按钮质感：克制、清楚，不使用横幅式按钮 */
button{
  min-height:34px;
  border-radius:var(--button-radius);
  font-weight:600;
  letter-spacing:0;
  transition:border-color .16s,background-color .16s,color .16s,box-shadow .16s,transform .08s
}
:where(button:not(.primary):not(.add-order-btn):not(.edit):not(.delete):not(.copy):not(.reported):not(.log-page-button)){
  background:#fff;
  border-color:#cbd8e7;
  color:#40536c;
  box-shadow:0 1px 2px rgba(15,23,42,.025)
}
:where(button:not(.primary):not(.add-order-btn):not(.edit):not(.delete):not(.copy):not(.reported):not(.log-page-button)):hover{
  border-color:#9fb8d5;
  background:#f2f7fd;
  color:#164a84
}
button:active:not(:disabled){transform:translateY(1px)}
button:disabled{opacity:.46;cursor:not-allowed;box-shadow:none!important}
.primary,.add-order-btn{
  border-radius:var(--button-radius)!important;
  background:#0b67e6!important;
  border-color:#0b67e6!important;
  box-shadow:0 4px 10px rgba(9,103,232,.18)!important
}
.primary:hover,.add-order-btn:hover{
  background:#075bc7!important;
  border-color:#075bc7!important;
  box-shadow:0 5px 13px rgba(9,103,232,.23)!important
}

/* 页头新增按钮 */
.stock-toolbar>#addInventory,.filter-actions .add-order-btn{
  width:auto;
  min-width:104px;
  height:38px;
  padding:0 15px;
  white-space:nowrap
}

/* 订单筛选操作保持一组，不拉伸 */
.filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  justify-self:end
}
.filter-actions>button{flex:0 0 auto;width:auto;height:38px;min-width:72px;padding:0 13px}
.filter-actions .add-order-btn{margin-left:4px}

/* 快捷筛选是轻量切换按钮，不做成主操作 */
.quick-filters button,.report-quick button{
  min-height:28px;
  height:28px;
  padding:0 10px;
  border-radius:6px;
  font-weight:500;
  box-shadow:none
}

/* 表格操作按钮：尺寸一致，避免廉价的红蓝橙色块 */
.orders-sheet .actions{gap:4px}
.orders-sheet .actions button{
  width:50px;
  min-width:50px;
  min-height:27px;
  height:27px;
  padding:0 6px;
  border:1px solid;
  border-radius:5px;
  background:#fff!important;
  box-shadow:none;
  font-weight:600
}
.orders-sheet .actions .edit{border-color:#9fc6ee;color:#0964bd}
.orders-sheet .actions .edit:hover{border-color:#3990df;background:#edf6ff!important}
.orders-sheet .actions .delete{border-color:#efb3bb;color:#bd3445}
.orders-sheet .actions .delete:hover{border-color:#dd6b79;background:#fff1f3!important}
.orders-sheet .actions .copy{border-color:#cbd7e4;color:#52657c}
.orders-sheet .actions .copy:hover{border-color:#9eb1c6;background:#f3f6fa!important}

.inventory-actions{display:flex;justify-content:center;gap:7px}
.inventory-actions button{
  width:auto;
  min-width:52px;
  min-height:30px;
  height:30px;
  padding:0 10px;
  border:1px solid;
  border-radius:6px!important;
  background:#fff!important;
  box-shadow:none;
  font-weight:600
}
.inventory-actions .edit{border-color:#9fc6ee;color:#0964bd}
.inventory-actions .edit:hover{border-color:#3990df;background:#edf6ff!important}
.inventory-actions .delete{border-color:#efb3bb;color:#bd3445}
.inventory-actions .delete:hover{border-color:#dd6b79;background:#fff1f3!important}

/* 弹窗按钮与关闭按钮 */
#orderForm>footer,.inventory-dialog form>footer{align-items:center;gap:8px}
#orderForm>footer button,.inventory-dialog form>footer button{
  width:auto;
  min-width:76px;
  height:38px;
  padding:0 16px
}
#closeDialog,.inventory-dialog header button,.image-dialog button{
  min-width:34px;
  min-height:34px;
  padding:0;
  box-shadow:none
}
.remove-image,.refund-remove{
  width:auto;
  min-width:0;
  min-height:26px;
  height:26px;
  padding:0 8px;
  border-radius:5px
}

/* 日志分页按钮保持方形 */
.log-page-button{
  width:auto;
  min-width:32px;
  min-height:32px;
  height:32px;
  padding:0 9px;
  border-radius:6px
}

@media(max-width:1280px){
  .inventory-filters{grid-template-columns:190px minmax(260px,1fr) max-content max-content}
  .hot-filters{grid-template-columns:minmax(240px,1fr) 140px 140px max-content max-content}
  .report-filters{grid-template-columns:repeat(2,minmax(170px,1fr)) 140px 140px max-content max-content}
  .logs-filters{grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(120px,.8fr)) 135px 135px max-content max-content}
}

@media(max-width:900px){
  .inventory-filters,.hot-filters,.report-filters,.logs-filters{grid-template-columns:1fr 1fr}
  .inventory-filters>button,.hot-filters>button,.report-filters>button,.logs-filters>button{
    width:100%;
    min-width:0;
    justify-self:stretch
  }
  .logs-filters input:first-child,.hot-filters input:first-child{grid-column:1/-1}
  .filter-actions{grid-column:1/-1;justify-self:stretch}
  .filter-actions>button{flex:1}
  .filter-actions .add-order-btn{margin-left:0}
}
@media(max-width:560px){
  .stock-toolbar>#addInventory{min-width:94px;padding:0 11px}
  #orderForm>footer button,.inventory-dialog form>footer button{flex:1}
}
@media(prefers-reduced-motion:reduce){
  button{transition:none!important}
}
/* Stable module filter action groups */
.module-filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  justify-self:end;
  gap:8px;
  width:max-content;
  white-space:nowrap
}
.module-filter-actions>button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:auto;
  min-width:82px;
  height:38px;
  min-height:38px;
  padding:0 14px;
  line-height:1;
  white-space:nowrap
}
.inventory-filters{grid-template-columns:200px minmax(320px,1fr) max-content}
.hot-filters{grid-template-columns:minmax(300px,1fr) 150px 150px max-content}
.report-filters{grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) 150px 150px max-content}
.logs-filters{grid-template-columns:minmax(260px,1.7fr) repeat(3,minmax(130px,.75fr)) 145px 145px max-content}
#closeDialog,.inventory-dialog header button,.remove-image,.refund-remove,.log-page-button{box-shadow:none!important}

@media(max-width:1280px){
  .inventory-filters{grid-template-columns:190px minmax(260px,1fr) max-content}
  .hot-filters{grid-template-columns:minmax(240px,1fr) 140px 140px max-content}
  .report-filters{grid-template-columns:repeat(2,minmax(170px,1fr)) 140px 140px max-content}
  .logs-filters{grid-template-columns:minmax(230px,1.5fr) repeat(3,minmax(120px,.8fr)) 135px 135px max-content}
}
@media(max-width:900px){
  .inventory-filters,.hot-filters,.report-filters,.logs-filters{grid-template-columns:1fr 1fr}
  .module-filter-actions{grid-column:1/-1;justify-self:end;width:max-content}
  .module-filter-actions>button{width:auto;min-width:82px}
}
@media(max-width:560px){
  .module-filter-actions{width:100%;justify-self:stretch}
  .module-filter-actions>button{flex:1;min-width:0}
}