:root{color:#0f172a;background:#f5f7fb;font-size:14px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:#f5f7fb;font-size:14px}body.cycle-font-normal *{font-weight:400!important}.app-shell{min-height:100vh;background:#f5f7fb}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:10;width:160px;padding:18px 14px;background:#fff;border-right:1px solid #e5e7eb}.app-brand{display:flex;gap:10px;align-items:center;justify-content:center;padding:6px 0 18px;border-bottom:1px solid #eef2f7}.app-brand-mark{display:grid;place-items:center;width:34px;height:34px;color:#fff;font-size:15px;font-weight:700;background:#2563eb;border-radius:10px}.app-brand-logo{display:block;width:100px;height:100px;object-fit:contain;border-radius:16px}.app-brand-title{color:#0f172a;font-size:16px;font-weight:700}.app-nav{display:flex;flex-direction:column;gap:6px;padding-top:16px}.app-nav-item{position:relative;display:flex;align-items:center;min-height:40px;padding:0 12px 0 16px;color:#475569;font-size:14px;font-weight:500;text-decoration:none;border-radius:10px}.app-nav-item:hover{color:#2563eb;background:#f8fafc}.app-nav-item.active{color:#1d4ed8;background:#eff6ff;font-weight:700}.app-nav-item.active:before{position:absolute;left:6px;width:3px;height:18px;content:"";background:#2563eb;border-radius:999px}.app-nav-menu{margin-top:16px;border-inline-end:0!important;background:transparent!important}.app-nav-menu.ant-menu-inline .ant-menu-item,.app-nav-menu.ant-menu-inline .ant-menu-submenu-title{min-height:40px;margin-block:2px;border-radius:10px;color:#475569;font-weight:700}.app-nav-menu.ant-menu-light.ant-menu-inline .ant-menu-sub.ant-menu-inline{background:transparent}.app-nav-menu.ant-menu-inline>.ant-menu-item,.app-nav-menu.ant-menu-inline>.ant-menu-submenu>.ant-menu-submenu-title{padding-left:0!important}.app-nav-menu.ant-menu-inline .ant-menu-sub .ant-menu-item,.app-nav-menu.ant-menu-inline .ant-menu-sub .ant-menu-submenu-title{padding-left:7px!important}.app-nav-menu.ant-menu-inline .ant-menu-item-selected{color:#1d4ed8;background:#eff6ff;font-weight:700}.app-main-layout{min-width:0;min-height:100vh;margin-left:160px;padding-bottom:40px;background:#f5f7fb}.app-topbar{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 24px;background:#ffffffeb;border-bottom:1px solid #e5e7eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-topbar-title{flex:0 0 auto;color:#334155;font-size:14px;font-weight:600}.global-search{width:min(420px,38vw);margin-left:auto}.app-topbar-actions{display:flex;gap:12px;align-items:center;margin-left:12px}.app-user{color:#64748b;font-size:13px}.app-content{flex:1 0 auto;min-width:0;padding:22px 24px 28px}.product-footer{position:fixed;right:0;bottom:0;left:0;z-index:20;display:flex;gap:16px;align-items:center;justify-content:space-between;min-height:40px;margin:0;padding:7px 24px;color:#94a3b8;font-size:12px;background:#fffffff5;border-top:1px solid #e2e8f0;box-shadow:0 -2px 10px #0f172a0a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-main-layout>.product-footer{left:160px}.product-footer-brand,.product-footer-meta{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.product-footer-brand strong{color:#64748b;font-weight:700}.product-footer-brand span,.product-footer-meta span+span{position:relative}.product-footer-brand span:before,.product-footer-meta span+span:before{margin-right:12px;color:#cbd5e1;content:"·"}.page-stack{display:flex;flex-direction:column;gap:16px}.page-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.page-header h1{margin:0;color:#0f172a;font-size:18px;font-weight:700;line-height:1.35}.page-header p{margin:5px 0 0;color:#64748b;font-size:13px}.page-header-extra{display:flex;gap:8px;align-items:center}.surface-card,.ant-card.surface-card{overflow:hidden;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0f172a0a}.surface-card .ant-card-head{min-height:50px;padding:0 18px;border-bottom-color:#eef2f7}.surface-card .ant-card-head-title{color:#0f172a;font-size:15px;font-weight:700}.surface-card .ant-card-body{padding:16px 18px}.filter-card .ant-card-body{padding:14px 16px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.stat-card{min-height:92px;padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0f172a0a}.stat-card.clickable{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.stat-card.clickable:hover{border-color:#93c5fd;box-shadow:0 8px 20px #0f172a14;transform:translateY(-1px)}.stat-card-label{color:#64748b;font-size:13px}.stat-card-value{margin-top:8px;color:#0f172a;font-size:24px;font-weight:750;line-height:1}.stat-card-hint{margin-top:8px;color:#94a3b8;font-size:12px}.stat-card.tone-blue{border-color:#dbeafe}.stat-card.tone-orange{border-color:#fed7aa}.stat-card.tone-green{border-color:#bbf7d0}.stat-card.tone-slate{border-color:#e2e8f0}.stat-card.tone-red{border-color:#fecaca;background:snow}.table-shell{min-width:0;overflow:hidden}.data-table .ant-table{color:#0f172a;font-size:13px}.data-table .ant-table-container{border-radius:10px 10px 0 0}.data-table .ant-table table{table-layout:fixed}.data-table .ant-table-thead>tr>th{padding:11px 10px;color:#334155;font-weight:700;white-space:nowrap;background:#f8fafc!important;border-bottom-color:#e5e7eb}.data-table .ant-table-tbody>tr>td{height:48px;padding:10px;vertical-align:middle;border-bottom-color:#eef2f7}.data-table .ant-table-tbody>tr:hover>td{background:#f8fafc!important}.data-table .ant-pagination{margin:14px 4px 0 0}.table-scroll-y .ant-table-body{scrollbar-width:thin}.row-actions{white-space:nowrap}.vertical-actions{width:100%;white-space:normal}.vertical-actions .ant-btn{width:100%;padding-inline:5px}.compact-actions{white-space:normal}.table-cell-stack{display:flex;min-width:0;flex-direction:column;gap:3px;line-height:1.4}.wrap-text{overflow-wrap:anywhere;white-space:normal;word-break:break-word}.no-horizontal-scroll .ant-table-content{overflow-x:hidden!important}.no-horizontal-scroll .ant-table table{width:100%!important;min-width:0!important}.no-horizontal-scroll .ant-table-thead>tr>th,.no-horizontal-scroll .ant-table-tbody>tr>td{padding-inline:7px;overflow-wrap:anywhere}.shipment-details>span:not(.muted-text){font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.cell-inline-actions{min-width:0}.cell-inline-actions .ant-btn-link{flex:0 0 auto;height:24px;padding:0}.as-link,.order-link{color:#2563eb;font-weight:600;cursor:pointer}.as-link:hover,.order-link:hover{color:#1d4ed8;text-decoration:underline}.ellipsis-text{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.remark-tooltip .ant-tooltip-inner{max-width:560px;max-height:60vh;overflow:auto;white-space:pre-wrap;word-break:break-word}.mono-tag{display:inline-flex;align-items:center;max-width:100%;height:24px;padding:0 8px;overflow:hidden;color:#334155;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:7px}.status-tag.ant-tag{margin-inline-end:0;padding:1px 8px;font-size:12px;font-weight:600;border-radius:999px}.status-blue{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.status-orange{color:#c2410c;background:#fff7ed;border-color:#fed7aa}.status-green{color:#15803d;background:#f0fdf4;border-color:#bbf7d0}.status-slate{color:#475569;background:#f8fafc;border-color:#e2e8f0}.status-red{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.muted-text{color:#64748b}.danger-text{color:#dc2626;font-size:12px;font-weight:700}.warning-text{color:#c2410c;font-size:12px;font-weight:700}.info-text{color:#2563eb;font-size:12px;font-weight:700}.detail-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.detail-summary-item{min-width:0;padding:12px 14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.detail-summary-label{color:#64748b;font-size:12px}.detail-summary-value{margin-top:5px;overflow:hidden;color:#0f172a;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.detail-summary-item-wide{grid-column:span 2}.detail-summary-item-wrap .detail-summary-value{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.order-remark-text{color:#334155;line-height:1.75;overflow-wrap:anywhere;white-space:pre-wrap}.suborder-detail-list{display:flex;flex-direction:column;gap:14px}.suborder-detail-list>.ant-pagination{align-self:flex-end;margin-top:2px}.suborder-detail-loading{min-height:120px;display:grid;place-items:center;color:#64748b}.suborder-detail-card{overflow:hidden;background:#fff;border:1px solid #dfe7f1;border-radius:12px}.suborder-detail-header{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:14px;align-items:center;padding:12px 14px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.suborder-detail-title{display:flex;min-width:0;flex-direction:column;gap:2px}.suborder-detail-title strong{color:#0f172a;font-size:15px}.suborder-detail-title span{overflow:hidden;color:#64748b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.suborder-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.suborder-detail-field{min-width:0;padding:12px 14px;border-right:1px solid #eef2f7;border-bottom:1px solid #eef2f7;line-height:1.55}.suborder-detail-field-wide{grid-column:span 2}.suborder-detail-field-full{grid-column:1 / -1}.suborder-detail-field label{display:block;margin-bottom:5px;color:#64748b;font-size:12px;font-weight:650}.suborder-detail-field>div:not(.muted-text,.danger-text,.warning-text,.info-text,.suborder-shipment-list){color:#0f172a;font-weight:600}.suborder-shipment-list{display:flex;flex-direction:column;gap:7px}.suborder-shipment-item{display:grid;grid-template-columns:68px minmax(210px,1.5fr) minmax(90px,.5fr) minmax(160px,1fr);gap:10px;align-items:center;padding:8px 10px;color:#475569;font-size:12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px}.suborder-shipment-item strong{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px}.suborder-shipment-index{color:#2563eb;font-weight:750}.delivery-progress{display:grid;grid-template-columns:42px minmax(90px,1fr);gap:8px;align-items:center;min-width:140px;font-weight:600}.plan-cell{display:flex;min-width:0;flex-direction:column;gap:2px;line-height:1.45}.summary-strip{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-bottom:12px;padding:10px 12px;color:#475569;font-size:13px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.summary-strip strong{color:#0f172a}.dashboard-card-title{display:flex;flex-direction:column;gap:3px;line-height:1.35}.dashboard-card-title span{color:#0f172a;font-size:15px;font-weight:750}.dashboard-card-title small{color:#64748b;font-size:12px;font-weight:500}.dashboard-task-card .ant-card-head{align-items:center}.dashboard-task-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.dashboard-chip{height:30px;padding:0 11px;color:#475569;font-size:13px;font-weight:650;background:#fff;border-color:#dbe3ef;border-radius:999px}.dashboard-chip span{margin-left:5px;color:#2563eb;font-weight:750}.dashboard-chip.active,.dashboard-chip.active:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}.dashboard-task-table .ant-table{width:100%}.dashboard-task-table .ant-table-content{overflow-x:hidden!important}.dashboard-task-table .ant-table-thead>tr>th,.dashboard-task-table .ant-table-tbody>tr>td{padding-inline:8px}.dashboard-row-overdue>td{background:#fff7f7}.dashboard-row-today>td{background:#fffbeb}.data-table .ant-table-tbody>tr.dashboard-row-overdue:hover>td{background:#fff1f2!important}.data-table .ant-table-tbody>tr.dashboard-row-today:hover>td{background:#fef3c7!important}.task-plan{min-width:0}.task-plan-date{color:#0f172a;font-weight:750}.task-plan-status{margin-top:3px;font-size:12px;font-weight:700}.task-plan-status.overdue{color:#dc2626}.task-plan-status.today{color:#d97706}.task-plan-status.future{color:#2563eb}.task-contact,.task-adjust{min-width:0;line-height:1.55}.task-cell-main{color:#0f172a;font-weight:700}.task-cell-sub{min-width:0;color:#64748b;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-phone{color:#334155;font-variant-numeric:tabular-nums}.dashboard-task-actions{flex-wrap:nowrap;justify-content:center;white-space:nowrap}.dashboard-task-actions .ant-btn-sm{padding-inline:7px}.dashboard-lower-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.dashboard-mini-list,.recent-order-list{display:flex;flex-direction:column;gap:10px}.dashboard-mini-item{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0;padding:10px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.dashboard-mini-item>div{min-width:0}.recent-order-item{padding:11px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.recent-order-main,.recent-order-footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.recent-order-sub{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;margin-top:7px;color:#64748b;font-size:12px}.recent-order-footer{margin-top:9px}.shipping-stat-grid .stat-card{min-height:84px}.shipping-table-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:10px;padding:11px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.shipping-table-toolbar strong{display:block;color:#0f172a;font-size:14px}.shipping-table-toolbar span{display:block;margin-top:3px;color:#64748b;font-size:12px}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-action{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:12px 14px;color:#0f172a;font-weight:700;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}.quick-action:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.setting-tabs .ant-tabs-nav,.center-tabs .ant-tabs-nav{margin-bottom:16px}.filter-label{color:#475569;font-size:13px;font-weight:600}.segmented-like.ant-radio-group{padding:3px;background:#f1f5f9;border-radius:10px}.segmented-like .ant-radio-button-wrapper{height:30px;padding-inline:12px;line-height:30px;background:transparent;border:0!important;border-radius:8px!important;box-shadow:none!important}.segmented-like .ant-radio-button-wrapper-checked{color:#1d4ed8;background:#fff;box-shadow:0 1px 4px #0f172a14!important}.ant-btn{font-weight:400}.ant-btn-primary{background:#2563eb;box-shadow:none}.ant-btn-primary:hover{background:#1d4ed8!important}.ant-input,.ant-input-affix-wrapper,.ant-picker,.ant-input-number,.ant-select-selector{border-color:#dbe3ef!important;border-radius:8px!important}.ant-input:hover,.ant-input-affix-wrapper:hover,.ant-picker:hover,.ant-input-number:hover{border-color:#93c5fd!important}.ant-modal-mask{background-color:#0f172a73!important}.ant-modal-content{border-radius:14px!important;box-shadow:0 20px 50px #0f172a33!important}.suborder-modal .ant-modal-body{padding-top:10px}.suborder-modal{max-width:1120px}.suborder-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.suborder-summary-item{min-width:0;padding:10px 12px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.suborder-summary-label{color:#64748b;font-size:12px}.suborder-summary-value{margin-top:4px;overflow:hidden;color:#0f172a;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.login-page{display:flex;flex-direction:column;min-height:100vh;padding-bottom:40px;background:radial-gradient(circle at top left,rgba(37,99,235,.08),transparent 34%),linear-gradient(135deg,#f8fafc,#eef4ff)}.login-page-content{display:grid;flex:1 0 auto;place-items:center;width:100%;padding:24px 16px}.login-product-footer{left:0}.login-card{width:min(390px,calc(100vw - 32px));padding:30px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 18px 45px #0f172a14}.login-logo{display:block;width:64px;height:64px;margin:0 auto 16px;object-fit:contain}.login-title{margin:0;color:#0f172a;font-size:22px;font-weight:750;text-align:center}.login-subtitle{margin:8px 0 26px;color:#64748b;font-size:13px;text-align:center}.login-hint{margin-top:16px;color:#94a3b8;font-size:12px;text-align:center}.system-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.78fr);gap:16px}.settings-section+.settings-section{margin-top:18px;padding-top:18px;border-top:1px solid #eef2f7}.settings-stack{display:flex;flex-direction:column;gap:24px}.settings-section-title{margin-bottom:12px;color:#0f172a;font-size:14px;font-weight:700}.drawer-form{display:flex;min-height:calc(100vh - 112px);flex-direction:column;padding-bottom:72px}.form-section-title{margin:8px 0 12px;padding-top:10px;color:#0f172a;font-size:14px;font-weight:750;border-top:1px solid #eef2f7}.form-section-title:first-child{margin-top:0;padding-top:0;border-top:0}.form-section-title.inline{margin:0;padding:0;border-top:0}.drawer-form-footer{position:sticky;bottom:0;z-index:2;display:flex;gap:8px;justify-content:flex-end;margin:16px -24px -24px;padding:12px 24px;background:#fffffff5;border-top:1px solid #e5e7eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.create-order-modal .ant-modal-body{max-height:calc(100vh - 220px);overflow-y:auto}.create-order-modal .drawer-form{min-height:0;padding-bottom:0}.order-recipient-row{display:grid;grid-template-columns:minmax(94px,.55fr) minmax(120px,.7fr) minmax(0,1.55fr) minmax(0,1.7fr);gap:12px}.order-amount-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.suborder-preview{display:flex;max-height:260px;flex-direction:column;gap:8px;overflow:auto;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.preview-row{display:grid;grid-template-columns:72px 108px minmax(0,1fr);gap:10px;align-items:center;min-height:34px;padding:6px 8px;color:#475569;font-size:13px;background:#fff;border:1px solid #eef2f7;border-radius:8px}.preview-row strong{color:#0f172a}.inline-alert{margin:12px 0;padding:10px 12px;color:#1d4ed8;font-size:13px;line-height:1.6;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px}.shipment-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;padding:10px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px}.shipment-row{display:grid;grid-template-columns:64px minmax(108px,.8fr) minmax(150px,1.2fr) 92px minmax(120px,1fr) 58px;gap:8px;align-items:start}.shipment-row .ant-form-item{margin-bottom:0}.shipment-index{height:34px;color:#64748b;font-size:12px;font-weight:700;line-height:34px;white-space:nowrap}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:0 16px}.form-grid.two{grid-template-columns:repeat(2,minmax(180px,1fr))}.form-grid.three{grid-template-columns:repeat(3,minmax(180px,1fr))}.form-grid .ant-form-item{max-width:320px}.log-toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.upload-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:230px;padding:28px;text-align:center;background:#f8fafc;border:1px dashed #b7c7dc;border-radius:14px}.ant-upload-wrapper .ant-upload-drag{background:transparent;border:0}.ant-upload-wrapper .ant-upload-drag .ant-upload{padding:0}.upload-symbol{display:grid;place-items:center;width:52px;height:52px;margin-bottom:14px;color:#2563eb;font-size:22px;font-weight:700;background:#eff6ff;border-radius:16px}.upload-title{color:#0f172a;font-size:16px;font-weight:700}.upload-subtitle{margin:6px 0 18px;color:#64748b;font-size:13px}.notice-list{margin:0;padding-left:18px;color:#64748b;font-size:13px;line-height:1.8}@media (max-width: 1100px){.stat-grid,.suborder-summary,.detail-summary-grid,.system-grid,.form-grid,.form-grid.three,.suborder-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.app-sidebar{width:128px;padding-inline:10px}.app-brand{justify-content:center;padding-inline:0}.app-brand-title{font-size:13px;white-space:nowrap}.app-nav-item{justify-content:flex-start;padding:0 10px 0 14px;font-size:13px;white-space:nowrap}.app-nav-item.active:before{left:4px}.app-main-layout{margin-left:128px}.app-main-layout>.product-footer{left:128px}.app-content{padding:18px 16px}.page-header{flex-direction:column}.page-header-extra{width:100%;justify-content:flex-start}.global-search{width:min(360px,48vw);margin-left:0}.shipment-row{grid-template-columns:1fr}.suborder-detail-header{grid-template-columns:minmax(0,1fr) auto}.suborder-detail-actions{grid-column:1 / -1}.suborder-shipment-item{grid-template-columns:68px minmax(0,1fr)}.shipment-index{height:auto;line-height:1.4}.shipping-table-toolbar{align-items:flex-start;flex-direction:column}}@media (max-width: 640px){.stat-grid,.system-grid,.form-grid,.form-grid.three,.suborder-summary,.detail-summary-grid,.quick-actions{grid-template-columns:1fr}.detail-summary-item-wide,.suborder-detail-field-wide,.suborder-detail-field-full{grid-column:1 / -1}.suborder-detail-grid,.suborder-detail-header{grid-template-columns:1fr}.suborder-detail-actions{grid-column:auto}.suborder-shipment-item{grid-template-columns:1fr;gap:3px}.app-shell{display:block}.product-footer{flex-wrap:wrap;gap:3px 12px;padding-inline:16px}.app-main-layout,.login-page{padding-bottom:64px}.app-sidebar{position:static;width:auto;padding:10px 12px;border-right:0;border-bottom:1px solid #e5e7eb}.app-brand{display:none}.app-nav{flex-direction:row;gap:8px;padding-top:0;overflow-x:auto}.app-nav-item{flex:0 0 auto;min-height:34px;padding:0 12px}.app-nav-item.active:before{display:none}.app-main-layout{margin-left:0}.app-main-layout>.product-footer{left:0}.app-topbar-title{display:none}.app-topbar{padding-inline:14px}}.route-loading{min-height:180px;display:grid;place-items:center;color:#64748b;font-size:14px}.mobile-shell{min-height:100vh;display:flex;flex-direction:column;background:#f5f7fb}.mobile-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:10px 16px;color:#fff;background:#2563eb}.mobile-topbar strong{display:block;font-size:16px}.mobile-topbar span{display:block;margin-top:2px;font-size:12px;opacity:.9}.mobile-topbar-main{min-width:0}.mobile-topbar-actions{display:flex;gap:8px;align-items:center;flex:0 0 auto}.mobile-topbar-user{margin-top:0!important;font-size:14px!important;font-weight:500}.mobile-topbar-user-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0!important;white-space:nowrap}.mobile-logout{border:0;color:#fff;background:#ffffff2e;border-radius:8px;padding:7px 10px}.mobile-content{flex:1 0 auto;padding:14px 14px 76px}.mobile-tabbar{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);min-height:58px;background:#fff;border-top:1px solid #e5e7eb}.mobile-tabbar-3{grid-template-columns:repeat(3,1fr)}.mobile-tab{display:grid;place-items:center;color:#64748b;font-size:13px;font-weight:600;text-decoration:none}.mobile-tab.active{color:#2563eb;background:#eff6ff}.mobile-page h2,.mobile-page-head h2{margin:0 0 12px;color:#0f172a;font-size:18px}.mobile-page-head{display:flex;align-items:center;justify-content:space-between}.mobile-card{margin-bottom:10px;padding:12px;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0f172a0d}.mobile-card-title{margin-bottom:6px;color:#0f172a;font-size:15px;font-weight:700}.mobile-card>div:not(.mobile-card-title){margin-top:3px;color:#475569;font-size:13px;overflow-wrap:anywhere}.mobile-card .ant-btn{margin-top:8px}.mobile-empty,.mobile-loading{display:grid;min-height:120px;place-items:center;color:#64748b;font-size:14px}.mobile-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.mobile-entry-page .mobile-address-frame,.mobile-entry-page .ant-form-item{margin-bottom:10px}.mobile-login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:24px 18px;background:linear-gradient(135deg,#eff6ff,#f8fafc)}.mobile-login-card{width:min(390px,100%);padding:24px;background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 18px 45px #0f172a14}.mobile-login-card img{display:block;width:64px;height:64px;margin:0 auto 12px;object-fit:contain}.mobile-login-card h1{margin:0 0 20px;color:#0f172a;font-size:20px;text-align:center}.mobile-login-username .ant-form-item-label{display:block;text-align:center}.mobile-login-username .ant-form-item-label>label{display:flex!important;width:100%;justify-content:center;text-align:center}.mobile-login-username .ant-input{text-align:center}.product-info-table .ant-table-tbody>tr>td{height:22px;padding:3px 7px}.customer-address-row{display:grid;grid-template-columns:minmax(88px,.8fr) minmax(120px,1fr) minmax(160px,1.5fr) minmax(0,1.7fr);gap:10px;align-items:end;margin-bottom:0;padding:0;background:transparent;border:0}.customer-address-row .ant-form-item{margin-bottom:0}.customer-basic-row,.order-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.order-entry-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.order-entry-customer-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.order-entry-customer-row .ant-select{flex:1}.order-entry-three{grid-template-columns:repeat(3,minmax(0,1fr))}.order-entry-five{grid-template-columns:repeat(5,minmax(0,1fr))}.edit-product-row{grid-template-columns:1.7fr 1fr 1fr 1fr 1fr}.order-entry-product-picker{display:flex;align-items:center;gap:8px;width:33.3333%}.order-entry-product-picker .ant-select{flex:1;min-width:0}.order-circle-badge{width:22px;height:22px;flex:none;display:inline-flex;align-items:center;justify-content:center;border:1.5px solid #f5222d;border-radius:50%;color:#f5222d;font-weight:700;font-size:13px;line-height:1}.order-entry-product-gap{height:24px}.order-entry-recipient-row{display:flex;gap:12px;align-items:flex-start}.order-entry-recipient-row .order-circle-badge{margin-top:5px}.order-entry-recipient-grid{flex:1;min-width:0;display:grid;grid-template-columns:minmax(94px,.5fr) minmax(120px,.6fr) minmax(180px,1.8fr) minmax(0,1.7fr);gap:12px}.order-entry-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.order-entry-smart{padding:14px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px}.order-detail-table .ant-table-tbody>tr>td{height:32px;padding:6px 10px}.home-todo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.home-todo-card{padding:16px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.home-todo-card:hover{box-shadow:0 8px 18px #0f172a14;transform:translateY(-1px)}.home-todo-value{font-size:24px;font-weight:800;color:#0f172a;line-height:1.2}.home-todo-label{margin-top:6px;color:#64748b;font-size:13px}.home-todo-card.tone-red .home-todo-value{color:#dc2626}.home-todo-card.tone-orange .home-todo-value{color:#ea580c}.home-todo-card.tone-blue .home-todo-value{color:#2563eb}.home-todo-card.tone-slate .home-todo-value{color:#475569}.manual-actions-bar{position:fixed;left:160px;right:0;bottom:0;z-index:100;display:flex;gap:12px;justify-content:center;padding:12px 16px;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -4px 12px #0f172a0f}.stock-sheet-title{margin-bottom:8px;text-align:center;font-size:20px;font-weight:700;letter-spacing:2px}.stock-sheet-meta{margin-bottom:12px;color:#475569;font-size:13px;line-height:1.8}.stock-sheet-table{width:100%;border-collapse:collapse}.stock-sheet-table th,.stock-sheet-table td{padding:7px 9px;text-align:left;border:1px solid #cbd5e1}.stock-sheet-table th{text-align:center;background:#f1f5f9;font-weight:700}.stock-sheet-num{text-align:right!important;font-weight:700}.stock-sheet-total{margin-top:12px;text-align:right;font-size:15px;font-weight:700}.logistics-template-basic{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.logistics-rule-header,.logistics-rule-row{display:grid;grid-template-columns:minmax(260px,1.8fr) minmax(120px,.8fr) minmax(120px,.8fr) 90px 54px;gap:10px;align-items:center}.logistics-rule-row{align-items:flex-start}.logistics-rule-row .ant-select-multiple .ant-select-selector{min-height:160px;height:auto;align-items:flex-start;padding-top:6px}.logistics-rule-row .ant-select-multiple .ant-select-selection-overflow{align-content:flex-start;align-items:flex-start}.logistics-rule-tip{margin-bottom:10px;color:#94a3b8;font-size:12px}.logistics-rule-header{margin-bottom:8px;color:#64748b;font-size:13px}.logistics-rule-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.manual-actions-spacer{height:64px}.manual-logistics-cell{position:relative;display:flex;flex-direction:column;gap:2px;padding-top:10px}.manual-waybill-multi{position:absolute;right:0;top:0;display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 2px;color:#dc2626;font-size:12px;line-height:16px;border:1px solid #dc2626;border-radius:2px;cursor:pointer}.manual-waybill-no{cursor:pointer;white-space:nowrap}.mobile-card-head{display:flex;align-items:center;justify-content:space-between}.mobile-address-frame{margin-bottom:12px}.mobile-address-frame .ant-input{margin-bottom:8px}.mobile-filter-row{display:flex;gap:8px;margin-bottom:12px}.mobile-filter-row .ant-input{flex:1}.delivered-filter-row{display:flex;gap:8px;max-width:520px}.delivered-filter-row .ant-input{flex:1}.mobile-card-actions{display:flex;justify-content:flex-end;margin-top:4px}.mobile-waybill-row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.mobile-trace-list{max-height:420px;overflow:auto}.mobile-trace-item{padding:8px 0;border-bottom:1px solid #eef2f7}@media (max-width: 900px){.home-todo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.data-table .ant-table-tbody>tr>td.logistics-group-td{padding:0}.logistics-group-grid{display:grid;grid-template-columns:51.7241% 24.1379% 24.1379%}.logistics-group-cell{display:flex;align-items:center;min-height:30px;padding:4px 10px;line-height:20px;white-space:normal;word-break:break-word}.logistics-group-grid>.logistics-group-cell:nth-child(n+4){border-top:1px solid #e2e8f0}.logistics-rule-row .ant-select-multiple .ant-select-selection-item{max-width:none;overflow:visible;text-overflow:clip;margin-inline-end:6px}.logistics-rule-row .ant-select-multiple .ant-select-selection-item-content{overflow:visible;text-overflow:clip}.payment-category-menu{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:4px 8px}.payment-category-head{display:inline-flex;align-items:center;gap:10px;width:100%}.payment-category-name{font-weight:700;color:#0f172a}.payment-category-actions{display:inline-flex;align-items:center;gap:2px}.payment-category-children{display:flex;flex-direction:column;gap:2px;padding:2px 0 6px 25px}.payment-category-child{display:inline-flex;align-items:center;gap:10px;padding:3px 8px;border-radius:6px;color:#334155}.payment-category-child:hover{background:#f1f5f9}.payment-category-child-name{color:#0f172a}.finance-summary{display:flex;align-items:center;justify-content:flex-end;gap:24px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #e5e7eb;color:#475569}.finance-summary strong{color:#0f172a}.finance-summary-total{color:#d4380d!important;font-size:16px}.payment-method-list{display:flex;flex-direction:column;gap:2px}.payment-method-item{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;color:#334155}.payment-method-item:hover{background:#f1f5f9}.payment-method-name{color:#0f172a;min-width:120px}.payment-settings-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px;align-items:start}@media (max-width: 1100px){.payment-settings-grid{grid-template-columns:minmax(0,1fr)}}.card-title-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card-title-text{font-weight:700;color:#0f172a;margin-right:4px}.finance-stat-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.finance-stat-modes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.finance-expense-card{padding:0!important}.finance-expense-title{font-weight:700;color:#0f172a}.focus-customer-row>td{background:#fffbe6!important}.focus-customer-row>td:first-child{box-shadow:inset 3px 0 #f59e0b}.recipient-stack{display:flex;flex-direction:column}.recipient-line{display:flex;align-items:flex-start;min-height:52px;padding:4px 0}.recipient-line+.recipient-line{border-top:1px dashed #eef2f7}.customer-address-block{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px 12px;margin-bottom:10px;background:#f8fafc;border:1px solid #eef2f7;border-radius:10px}

/* ==== 全局字体统一：微软雅黑 / 14px / 字重 400 ==== */
:root{--app-font-family:"Microsoft YaHei","微软雅黑","PingFang SC","Hiragino Sans GB","Noto Sans CJK SC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--app-font-size:14px;--app-font-weight:400}
html,body,button,input,select,textarea,.ant-table,.ant-btn,.ant-menu,.ant-form,.ant-input,.ant-select,.ant-tag,.ant-modal,.ant-card{font-family:var(--app-font-family);font-size:var(--app-font-size);font-weight:var(--app-font-weight)}
html body,html body *:not(svg):not(path){font-family:var(--app-font-family)!important;font-size:var(--app-font-size)!important;font-weight:var(--app-font-weight)!important}

.app-sidebar{display:flex;flex-direction:column}
.app-version{margin-top:auto;padding:14px 0 2px;text-align:center;color:#94a3b8;line-height:1.4;letter-spacing:.5px}

.customer-address-table{width:100%;border-collapse:collapse;margin-bottom:4px}
.customer-address-table th,.customer-address-table td{border:1px solid #e5e7eb;padding:6px 8px;vertical-align:middle}
.customer-address-table th{background:#f8fafc;text-align:center;font-weight:600;white-space:nowrap}
.customer-address-table td .ant-form-item{margin-bottom:0}

.customer-basic-row{grid-template-columns:repeat(6,minmax(0,1fr))}
@media (max-width:1100px){.customer-basic-row{grid-template-columns:repeat(3,minmax(0,1fr))}}

.order-entry-six{grid-template-columns:1.35fr 1.2fr 1fr .7fr .85fr .95fr auto!important;gap:8px;align-items:start}
.order-entry-product-total{text-align:right;font-weight:600;padding:6px 2px 0}
/* ============================================================================
   UI POLISH v28 — 吉稻福管理系统整体视觉整理（2026-10-09）
   原则：只做视觉层覆盖，不改任何结构与逻辑；追加于样式表末尾，可整体回滚。
   ============================================================================ */

/* ---------- 1) 全局文字清晰度 ---------- */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
/* 数字用等宽数位，表格金额/数量对齐更整齐 */
.ant-table {
  font-size: 13.5px;
  font-variant-numeric: tabular-nums;
}
.ant-table-tbody > tr > td { color: #1e293b; }
/* 次要文字对比度提升 */
.ant-table-thead > tr > th { color: #1f2937; }

/* ---------- 2) 表格行距统一（覆盖此前 48/22/32px 混乱定义） ---------- */
.ant-table-tbody > tr > td {
  height: auto;
  padding: 12px 10px;
  line-height: 1.55;
}
.ant-table-thead > tr > th {
  padding: 12px 10px;
  font-weight: 600;
  letter-spacing: .02em;
  border-bottom: 1px solid #e2e8f0;
}
/* 行悬浮更柔和、选中一致 */
.ant-table-tbody > tr:hover > td { background: #f1f5f9 !important; }
/* 仪表盘任务表保持紧凑（本就密集） */
.dashboard-task-table .ant-table-tbody > tr > td { padding: 7px 8px; }
/* 单元格内多行堆叠更整齐 */
.table-cell-stack { line-height: 1.45; }

/* ---------- 3) 表单/筛选控件统一（更好点、更好看） ---------- */
.ant-input,
.ant-input-affix-wrapper,
.ant-input-number,
.ant-picker,
.ant-select .ant-select-selector,
.ant-btn { border-radius: 8px; }
/* 触控区域统一加大到 36px */
.ant-input { padding: 6px 11px; }
.ant-input-affix-wrapper { padding: 6px 11px; }
.ant-picker { padding: 6px 11px; }
.ant-input-number { padding: 0; }
.ant-input-number-input { height: 34px; }
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector { height: 36px !important; }
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-search-input { height: 34px; }
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-item,
.ant-select-single:not(.ant-select-customize-input) .ant-select-selector .ant-select-selection-placeholder { line-height: 34px !important; }
.ant-select-multiple .ant-select-selector { padding: 3px 8px; }
/* 下拉/日期弹层字号与圆角 */
.ant-select-dropdown, .ant-picker-dropdown .ant-picker-panel { border-radius: 10px; }
.ant-select-item { border-radius: 6px; }
/* 标签页统一（各页 Tab 风格一致） */
.ant-tabs-tab { padding: 10px 2px; font-weight: 500; }
.ant-tabs-tab-active .ant-tabs-tab-btn { font-weight: 700; }
/* 单选按钮组（快捷时间筛选）统一高度 */
.ant-radio-button-wrapper { height: 34px; line-height: 32px; padding-inline: 14px; border-radius: 0; }
.ant-radio-group { border-radius: 8px; }
.ant-radio-button-wrapper:first-child { border-start-start-radius: 8px; border-end-start-radius: 8px; }
.ant-radio-button-wrapper:last-child { border-start-end-radius: 8px; border-end-end-radius: 8px; }

/* ---------- 4) 按钮层级更分明 ---------- */
.ant-btn { font-weight: 500; }
.ant-btn-primary { box-shadow: 0 1px 2px rgba(37, 99, 235, .28); }
.ant-btn-default { background: #fff; }
.ant-btn-link { font-weight: 500; }

/* ---------- 5) 卡片 / 标签 / 分页 ---------- */
.ant-card { border-radius: 12px; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.ant-tag { border-radius: 6px; }
.ant-pagination .ant-pagination-item,
.ant-pagination .ant-pagination-prev button,
.ant-pagination .ant-pagination-next button { border-radius: 8px; }
.ant-pagination .ant-pagination-item-active { font-weight: 700; }
/* 空状态文字 */
.ant-empty-description { color: #94a3b8; }

/* ---------- 6) 侧边栏现代化（加宽 + 图标 + 层级） ---------- */
.app-sidebar {
  width: 204px;
  padding: 20px 16px 14px;
}
.app-main-layout { margin-left: 204px; }
/* 品牌区更精致 */
.app-brand { padding-bottom: 16px; gap: 9px; }
.app-brand-title { font-size: 15px; letter-spacing: .02em; }
/* 一级菜单：字重与字距 */
.app-nav-menu.ant-menu-inline > .ant-menu-item,
.app-nav-menu.ant-menu-inline > .ant-menu-submenu > .ant-menu-submenu-title {
  font-weight: 600;
  letter-spacing: .02em;
  color: #334155;
}
.app-nav-menu.ant-menu-inline > .ant-menu-item.ant-menu-item-selected { color: #1d4ed8; }
/* 子菜单项：更轻、缩进明显 */
.app-nav-menu .ant-menu-sub .ant-menu-item {
  font-size: 13.5px;
  font-weight: 500;
  color: #64748b;
}
.app-nav-menu .ant-menu-sub .ant-menu-item.ant-menu-item-selected { color: #1d4ed8; font-weight: 700; }
/* 箭头弱化 */
.app-nav-menu .ant-menu-submenu-arrow { color: #94a3b8; }
/* 菜单分组间距与滚动区 */
.app-nav { gap: 4px; padding-top: 14px; }

/* 一级菜单图标（CSS mask，自动跟随文字颜色） */
.app-nav-menu > li:nth-child(1) { --wb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 7.2 8 2.8l5.5 4.4v5.4a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1z'/%3E%3Cpath d='M6.2 13.4V9.6h3.6v3.8'/%3E%3C/svg%3E"); }
.app-nav-menu > li:nth-child(2) { --wb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='2.2' width='10' height='11.6' rx='1.2'/%3E%3Cpath d='M5.8 5.8h4.4M5.8 8.4h4.4M5.8 11h2.6'/%3E%3C/svg%3E"); }
.app-nav-menu > li:nth-child(3) { --wb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.2 8A5.2 5.2 0 1 1 11.5 4.2'/%3E%3Cpath d='M13.5 1.7v3h-3'/%3E%3C/svg%3E"); }
.app-nav-menu > li:nth-child(4) { --wb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='5.3' r='2.6'/%3E%3Cpath d='M2.8 13.8c.9-2.7 2.9-4.1 5.2-4.1s4.3 1.4 5.2 4.1'/%3E%3C/svg%3E"); }
.app-nav-menu > li:nth-child(5) { --wb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='8' r='5.7'/%3E%3Cpath d='M5.9 4.9 8 7.6l2.1-2.7M8 7.6v4.1M6.1 9.1h3.8M6.1 10.9h3.8'/%3E%3C/svg%3E"); }
.app-nav-menu > li:nth-child(6) { --wb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 1.8 13.8 5v6L8 14.2 2.2 11V5z'/%3E%3Cpath d='M2.4 5.1 8 8.2l5.6-3.1M8 8.2v6'/%3E%3C/svg%3E"); }
.app-nav-menu > li:nth-child(7) { --wb-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.2 4.6h5.1M9.9 4.6h3.9M2.2 11.4h3.9M8.7 11.4h5.1'/%3E%3Ccircle cx='8.6' cy='4.6' r='1.9'/%3E%3Ccircle cx='7' cy='11.4' r='1.9'/%3E%3C/svg%3E"); }
/* 统一挂载：一级 item 与 submenu 标题 */
.app-nav-menu > li.ant-menu-item > .ant-menu-title-content::before,
.app-nav-menu > li.ant-menu-submenu > .ant-menu-submenu-title > .ant-menu-title-content::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 9px;
  vertical-align: -3px;
  background: currentColor;
  -webkit-mask: var(--wb-icon) center / contain no-repeat;
  mask: var(--wb-icon) center / contain no-repeat;
}

/* ---------- 7) 顶栏整理 ---------- */
.app-topbar { height: 60px; padding: 0 22px; }
/* 搜索框胶囊化，更像现代后台 */
.global-search .ant-input-affix-wrapper { border-radius: 999px; padding: 6px 14px; }
.global-search .ant-input-group-addon .ant-btn { border-radius: 999px; }
/* 顶栏次要按钮弱化为浅灰次级样式 */
.app-topbar-actions .ant-btn-default {
  background: #f8fafc;
  border-color: #e2e8f0;
  color: #475569;
  box-shadow: none;
}
.app-topbar-actions .ant-btn-default:hover { color: #2563eb; border-color: #bfdbfe; background: #eff6ff; }
.app-topbar-title { font-size: 13.5px; color: #64748b; }

/* 移动端顶栏换行修复（414px 等小屏不再挤压） */
@media (max-width: 860px) {
  .app-topbar {
    height: auto;
    min-height: 54px;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 14px;
  }
  .app-topbar-title { display: none; }
  .global-search { order: -1; width: 100%; margin: 0; }
  .app-topbar-actions { margin-left: 0; flex-wrap: wrap; row-gap: 6px; }
  .app-content { padding: 16px 14px 24px; overflow-x: hidden; }
  /* 小屏下工具栏允许换行，避免整页横向滚动 */
  .ant-space { flex-wrap: wrap; row-gap: 8px; }
  .shipping-table-toolbar, .table-shell, .card-title-filters { flex-wrap: wrap; }
  .app-main-layout { padding-bottom: 32px; }
}
@media (max-width: 860px) {
  .app-sidebar { width: 160px; padding: 16px 12px 12px; }
  .app-main-layout { margin-left: 160px; }
  .app-nav-menu > li.ant-menu-item > .ant-menu-title-content::before,
  .app-nav-menu > li.ant-menu-submenu > .ant-menu-submenu-title > .ant-menu-title-content::before {
    width: 14px; height: 14px; margin-right: 7px; vertical-align: -2px;
  }
}

/* ---------- 8) 品牌区更紧凑 ---------- */
.app-brand-logo { width: 64px; height: 64px; border-radius: 14px; }
.app-brand { padding: 2px 0 14px; }

/* ---------- 8) 细节修饰 ---------- */
/* 页面标题（卡片标题文字）统一 */
.card-title-text { font-weight: 700; }
/* 状态标签字重 */
.status-tag { font-weight: 600; }
/* 表格工具栏与内容间距 */
.shipping-table-toolbar, .table-shell { row-gap: 12px; }
/* 侧边栏滚动（菜单高出屏幕时可滚动） */
.app-sidebar { overflow-y: auto; scrollbar-width: thin; }

/* ---------- 9) 手工订单「已发货」物流信息列：公司在上、运单号在下 ---------- */
/* 全局有 font-size:var(--app-font-size)!important 强制，故同时覆盖变量 + !important 双保险 */
/* 单元格整体两行，但每行内容不换行；字号收紧以便一行放下 */
.manual-logistics-cell {
  padding-top: 0;
  font-size: 12px !important;
  --app-font-size: 12px;
}
.manual-waybill-no { white-space: normal; }
.manual-waybill-company {
  color: #475569;
  font-size: 12px !important;
  line-height: 1.35;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  --app-font-size: 12px;
}
.manual-waybill-code {
  font-size: 12px !important;
  line-height: 1.35;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  --app-font-size: 12px;
}
