:root{--bg:#0f172a;--panel:#111827;--panel2:#1f2937;--text:#e5e7eb;--muted:#94a3b8;--line:#334155;--brand:#2563eb;--brand2:#0ea5e9;--danger:#ef4444;--ok:#22c55e;--warn:#f59e0b;--white:#fff;--light:#f8fafc;--darkText:#0f172a}
*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;background:#f1f5f9;color:#0f172a}a{text-decoration:none;color:inherit}.muted{color:#64748b}.hide{display:none!important}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1d4ed8)}.login-card{width:min(420px,92vw);background:rgba(255,255,255,.96);border-radius:20px;padding:30px;box-shadow:0 20px 80px rgba(0,0,0,.28)}.login-card h1{margin:0 0 8px;font-size:25px}.form-group{margin-bottom:14px}.form-group label{display:block;margin-bottom:7px;font-weight:650}.input,select,textarea{width:100%;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;background:#fff;color:#111827;font-size:14px}textarea{min-height:80px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;padding:10px 14px;background:#e2e8f0;color:#0f172a;font-weight:650;cursor:pointer}.btn:hover{filter:brightness(.96)}.btn-primary{background:var(--brand);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-ok{background:var(--ok);color:#fff}.btn-warn{background:var(--warn);color:#111827}.btn-block{width:100%}.btn-sm{padding:7px 10px;font-size:13px;border-radius:8px}.alert{padding:12px 14px;border-radius:12px;margin:12px 0;background:#dbeafe;color:#1e3a8a}.alert.error{background:#fee2e2;color:#991b1b}.alert.success{background:#dcfce7;color:#166534}
.admin-shell{display:flex;min-height:100vh}.sidebar{width:235px;background:#0f172a;color:#cbd5e1;position:fixed;left:0;top:0;bottom:0;transition:.2s;z-index:5;display:flex;flex-direction:column}.sidebar.collapsed{width:74px}.brand{height:62px;display:flex;align-items:center;padding:0 18px;border-bottom:1px solid rgba(255,255,255,.08);font-weight:800;color:#fff;white-space:nowrap;overflow:hidden}.brand-dot{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#0ea5e9);display:inline-flex;align-items:center;justify-content:center;margin-right:10px}.nav{padding:12px;overflow:auto}.nav-group{margin:14px 0 16px;padding:0 8px 8px;border:1px solid rgba(148,163,184,.20);border-radius:16px;background:rgba(15,23,42,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);overflow:hidden}.nav-title{display:flex;align-items:center;gap:8px;margin:0 -8px 9px;padding:9px 13px;color:#dbeafe;font-size:12px;font-weight:900;letter-spacing:.16em;background:linear-gradient(90deg,rgba(37,99,235,.50),rgba(14,165,233,.22),rgba(15,23,42,.2));border-bottom:1px solid rgba(147,197,253,.22)}.nav-line{width:4px;height:16px;border-radius:99px;background:#60a5fa;box-shadow:0 0 14px rgba(96,165,250,.65)}.nav a{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;margin-bottom:5px;color:#cbd5e1;white-space:nowrap;overflow:hidden;border:1px solid transparent}.nav a.active,.nav a:hover{background:linear-gradient(135deg,#1e293b,#172554);color:#fff;border-color:rgba(96,165,250,.22)}.nav .ico{font-size:18px;width:22px;text-align:center;line-height:1;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px}.sidebar.collapsed .txt,.sidebar.collapsed .section-title,.sidebar.collapsed .nav-line{display:none}.sidebar.collapsed .nav-group{padding:6px 0;margin:12px 0;border:0;border-top:1px solid rgba(96,165,250,.28);border-radius:0;background:transparent;overflow:visible}.sidebar.collapsed .nav-title{margin:0;padding:0;height:1px;background:transparent;border:0}.admin-main{margin-left:235px;transition:.2s;width:calc(100% - 235px)}.admin-main.collapsed{margin-left:74px;width:calc(100% - 74px)}.topbar{height:62px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;padding:0 20px;position:sticky;top:0;z-index:3}.content{padding:22px}.page-title{font-size:24px;font-weight:800;margin:0 0 18px}.grid{display:grid;gap:16px}.cards{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.04)}.stat .num{font-size:30px;font-weight:850;margin-top:8px}.stat .label{color:#64748b}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px;align-items:center}.table-wrap{overflow:auto;background:#fff;border:1px solid #e2e8f0;border-radius:16px}table{border-collapse:collapse;width:100%;min-width:850px}th,td{padding:12px 13px;border-bottom:1px solid #e2e8f0;text-align:left;font-size:14px;vertical-align:top}th{background:#f8fafc;color:#334155;font-weight:800}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#e2e8f0;font-size:12px;font-weight:800}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.badge.blue{background:#dbeafe;color:#1e40af}.radio-row{display:flex;gap:14px;align-items:center;min-height:42px;flex-wrap:wrap;padding-top:3px}.radio-row label{font-weight:650;color:#0f172a}.radio-row input{margin-right:4px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.form-grid .span2{grid-column:span 2}.form-grid .span3{grid-column:span 3}.photo{max-width:280px;border-radius:14px;border:1px solid #e2e8f0}.timeline{border-left:3px solid #e2e8f0;padding-left:14px}.timeline .item{margin-bottom:13px}.timeline .time{font-size:12px;color:#64748b}.front-hero{min-height:100vh;background:linear-gradient(135deg,#0f172a,#2563eb);color:white;display:flex;align-items:center;justify-content:center;padding:40px 20px}.front-hero .login-card{color:#0f172a}.front-box{max-width:900px;text-align:center}.front-box h1{font-size:44px;margin:0 0 16px}.front-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}.front-actions a{background:#fff;color:#0f172a;padding:13px 20px;border-radius:12px;font-weight:800}.driver-page{background:#f8fafc;min-height:100vh}.driver-top{background:#0f172a;color:#fff;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:3}.driver-wrap{padding:16px;max-width:680px;margin:0 auto}.task-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:18px;margin-bottom:14px;box-shadow:0 10px 30px rgba(15,23,42,.05)}.kv{display:grid;grid-template-columns:100px 1fr;gap:9px;margin:8px 0}.mobile-actions{display:grid;gap:10px;margin-top:15px}.mobile-actions .btn{padding:13px}.upload-box{border:2px dashed #cbd5e1;border-radius:16px;padding:16px;background:#f8fafc}.footer-note{font-size:12px;color:#64748b;margin-top:10px;line-height:1.7}
@media(max-width:950px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid{grid-template-columns:1fr}.form-grid .span2,.form-grid .span3{grid-column:span 1}.sidebar{transform:translateX(-100%);width:235px}.sidebar.mobile-open{transform:translateX(0)}.sidebar.collapsed{width:235px}.sidebar.collapsed .txt,.sidebar.collapsed .section-title{display:inline}.sidebar.collapsed .nav-group{padding:0 8px 8px;margin:14px 0 16px;border:1px solid rgba(148,163,184,.20);border-radius:16px;background:rgba(15,23,42,.38);overflow:hidden}.sidebar.collapsed .nav-title{margin:0 -8px 9px;padding:9px 13px;height:auto;background:linear-gradient(90deg,rgba(37,99,235,.50),rgba(14,165,233,.22),rgba(15,23,42,.2));border-bottom:1px solid rgba(147,197,253,.22)}.sidebar.collapsed .section-title,.sidebar.collapsed .nav-line{display:inline-flex}.admin-main,.admin-main.collapsed{margin-left:0;width:100%}.content{padding:15px}.topbar{padding:0 14px}.front-box h1{font-size:32px}}@media(max-width:520px){.cards{grid-template-columns:1fr}.card{padding:15px}.login-card{padding:22px}.kv{grid-template-columns:82px 1fr}.btn{width:100%}.toolbar .btn{width:auto}.front-actions a{width:100%}}

.copy-box{width:100%;min-height:180px;border:1px solid #cbd5e1;border-radius:12px;padding:12px;background:#f8fafc;color:#0f172a;font-size:14px;line-height:1.8;white-space:pre-wrap}
.inline-form{display:inline}

.action-row{display:inline-flex;align-items:center;gap:8px;flex-wrap:nowrap}.action-row .btn{white-space:nowrap}.action-row form{margin:0}.filter-card{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filter-card .input,.filter-card select{min-width:220px}
/* v5: 货主查单页强制使用浅色卡片与深色文字，避免白字和白底冲突 */
.track-card{background:#ffffff!important;color:#0f172a!important;border:1px solid #e2e8f0}
.track-card h1,.track-card h2,.track-card h3,.track-card label,.track-card strong,.track-card p,.track-card span,.track-card div,.track-card a{color:#0f172a}
.track-card .muted{color:#475569!important}
.track-card .input,.track-card input,.track-card select,.track-card textarea{background:#ffffff!important;color:#111827!important;border-color:#cbd5e1!important}
.track-card .input::placeholder,.track-card input::placeholder{color:#94a3b8!important}
.track-card .card{background:#ffffff!important;color:#0f172a!important;border:1px solid #e2e8f0!important;box-shadow:0 8px 24px rgba(15,23,42,.06)}
.track-card .card *{color:#0f172a}
.track-card .badge.blue{background:#dbeafe!important;color:#1e40af!important}
.track-card .alert.error{background:#fee2e2!important;color:#991b1b!important}
.track-card .footer-note,.track-card .footer-note a{color:#2563eb!important}
.upload-progress-wrap{margin:16px 0 12px;padding:13px;border:1px solid #dbeafe;background:#eff6ff;border-radius:14px}.upload-progress-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;color:#1e3a8a;font-size:14px}.upload-progress-bar{height:12px;border-radius:999px;background:#dbeafe;overflow:hidden}.upload-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2563eb,#0ea5e9);transition:width .18s ease}.upload-result{margin:12px 0;padding:12px 14px;border-radius:12px;font-weight:750}.upload-result.ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.upload-result.error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.btn[disabled]{opacity:.65;cursor:not-allowed}

/* v7: 后台手机端自适应和左侧导航二次优化 */
.nav-group{background:rgba(30,41,59,.72)!important;border-color:rgba(96,165,250,.32)!important;box-shadow:0 8px 18px rgba(2,6,23,.16), inset 0 1px 0 rgba(255,255,255,.05)!important}.nav-title{background:linear-gradient(90deg,#1d4ed8,#0ea5e9)!important;color:#fff!important;border-bottom:1px solid rgba(255,255,255,.18)!important;text-shadow:0 1px 1px rgba(0,0,0,.25)}.nav a{min-height:42px}.sidebar-mask{display:none;position:fixed;inset:0;background:rgba(15,23,42,.48);z-index:4}.sidebar-mask.show{display:block}.admin-userbar{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;max-width:70%;color:#0f172a}.admin-user-name{display:inline-block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content,.card,.table-wrap,td,th{overflow-wrap:anywhere;word-break:break-word}.topbar{gap:12px}.nav-toggle-btn{flex:0 0 auto}
@media(max-width:950px){body.nav-open{overflow:hidden}.sidebar{z-index:6;box-shadow:14px 0 35px rgba(2,6,23,.36)}.sidebar.mobile-open{transform:translateX(0)}.topbar{height:auto;min-height:58px;padding:9px 12px;align-items:center}.admin-userbar{max-width:calc(100vw - 126px);gap:7px;font-size:13px}.admin-userbar .btn{width:auto;padding:7px 10px;white-space:nowrap}.nav-toggle-btn{width:auto;white-space:nowrap}.content{padding:12px}.page-title{font-size:21px;margin-bottom:13px}.toolbar{gap:8px}.toolbar .input,.toolbar select{min-width:0}.filter-card{display:grid;grid-template-columns:1fr;align-items:stretch}.filter-card .input,.filter-card select{min-width:0;width:100%}.table-wrap{border-radius:14px}.table-wrap table{min-width:760px}.photo{max-width:100%;height:auto}.action-row{gap:7px;flex-wrap:wrap}.action-row .btn{width:auto}}
@media(max-width:520px){.topbar{position:sticky;top:0}.admin-userbar{max-width:calc(100vw - 112px);font-size:12px}.admin-user-name{max-width:calc(100vw - 190px)}.topbar .btn-sm{font-size:12px}.content{padding:10px}.card{border-radius:14px;padding:13px}.page-title{font-size:20px}.form-group label{font-size:14px}.table-wrap{margin-left:-2px;margin-right:-2px}.table-wrap table{min-width:690px}th,td{padding:10px 9px;font-size:13px}.btn{min-height:38px}.btn-sm{min-height:32px}.radio-row{align-items:center;padding-top:0}.driver-top{font-size:14px}.driver-wrap{padding:12px}.task-card{padding:14px}}

/* v8: 库存管理表单一排显示，删除手动备注输入 */
.inventory-form{display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(220px,1.35fr) 92px 82px auto;gap:12px;align-items:end}.inventory-form label{display:block;margin-bottom:7px;font-weight:650}.inventory-form .inv-qty input{padding-left:10px;padding-right:10px}.inventory-form .inv-type select{padding-left:8px;padding-right:8px;text-align:center}.inventory-form .inv-submit .btn{white-space:nowrap}.vehicle-type-row{min-height:42px;padding-top:4px;align-items:center}.vehicle-type-row label{display:inline-flex;align-items:center;height:38px;margin:0}
@media(max-width:950px){.inventory-form{grid-template-columns:1fr 1fr}.inventory-form .inv-submit{grid-column:span 2}.inventory-form .inv-submit .btn{width:100%}}
@media(max-width:520px){.inventory-form{grid-template-columns:1fr}.inventory-form .inv-submit{grid-column:span 1}.inventory-form .inv-type select,.inventory-form .inv-qty input{width:100%}}
