:root{--primary:#4f46e5;--primary-light:#818cf8;--bg-dark:#0f172a;--bg-card:#1e293b;--bg-page:#f3f6fa;--surface:#fff;--surface-soft:#f8fafc;--surface-muted:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-soft:#edf2f7;--success:#22c55e;--warning:#f59e0b;--danger:#ef4444;--info:#3b82f6;--radius:8px;--shadow:0 8px 24px #0f172a0d, 0 1px 2px #0f172a0a;--shadow-lg:0 18px 38px #0f172a1f, 0 6px 14px #0f172a0f;--focus-ring:0 0 0 3px #3b82f624}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-page);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.app-layout{flex-direction:row;min-height:100vh;display:flex}.app-sidebar{background:linear-gradient(180deg, var(--bg-dark) 0%, #1a2744 100%);color:#fff;z-index:100;flex-direction:column;flex-shrink:0;width:220px;height:100vh;transition:width .22s;display:flex;position:sticky;top:0;overflow:hidden;box-shadow:2px 0 8px #0000001f}.app-layout.sidebar-collapsed .app-sidebar{width:60px}.sidebar-logo{letter-spacing:-.3px;white-space:nowrap;border-bottom:1px solid #ffffff0f;flex-shrink:0;align-items:center;gap:10px;height:56px;padding:0 18px;font-size:16px;font-weight:700;display:flex}.sidebar-logo .logo-icon{background:var(--primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.app-layout.sidebar-collapsed .sidebar-logo{justify-content:center;padding:0}.app-layout.sidebar-collapsed .sidebar-logo .logo-text{display:none}.sidebar-nav{flex-direction:column;flex:1;gap:12px;padding:12px 10px;display:flex;overflow:hidden auto}.nav-group{flex-direction:column;gap:3px;display:flex}.nav-group-title{color:#ffffff5c;letter-spacing:0;padding:8px 12px 4px;font-size:12px;font-weight:700}.sidebar-nav a,.sidebar-nav .nav-disabled{color:#ffffffb8;white-space:nowrap;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 10px;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;transition:background .18s,color .18s;display:flex;position:relative}.sidebar-nav a:hover{color:#fff;background:#ffffff0f}.sidebar-nav .nav-disabled{cursor:not-allowed;color:#ffffff73}.sidebar-nav .nav-disabled:hover{background:#ffffff08}.sidebar-nav a.router-link-active,.sidebar-nav a.is-active{color:#fff;box-shadow:inset 3px 0 0 var(--primary);background:#3b82f629}.sidebar-nav .nav-icon-tile{color:#fff;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff24}.sidebar-nav .nav-icon-tile svg{width:16px;height:16px}.nav-tone-blue{background:linear-gradient(135deg,#3b82f6,#6366f1)}.nav-tone-teal{background:linear-gradient(135deg,#14b8a6,#06b6d4)}.nav-tone-green{background:linear-gradient(135deg,#16a34a,#22c55e)}.nav-tone-orange{background:linear-gradient(135deg,#f97316,#f59e0b)}.nav-tone-violet{background:linear-gradient(135deg,#7c3aed,#a855f7)}.nav-tone-slate{background:linear-gradient(135deg,#475569,#64748b)}.nav-tone-coral{background:linear-gradient(135deg,#f43f5e,#fb7185)}.nav-tone-amber{background:linear-gradient(135deg,#d97706,#fbbf24)}.nav-tone-cyan{background:linear-gradient(135deg,#0284c7,#22d3ee)}.sidebar-nav a:hover .nav-icon-tile,.sidebar-nav a.router-link-active .nav-icon-tile,.sidebar-nav a.is-active .nav-icon-tile{box-shadow:0 8px 18px #0f172a2e,inset 0 0 0 1px #fff3}.app-layout.sidebar-collapsed .sidebar-nav{gap:8px;padding:12px 6px}.app-layout.sidebar-collapsed .nav-group{gap:4px}.app-layout.sidebar-collapsed .nav-group-title{display:none}.app-layout.sidebar-collapsed .sidebar-nav a,.app-layout.sidebar-collapsed .sidebar-nav .nav-disabled{justify-content:center;padding:8px 6px}.app-layout.sidebar-collapsed .sidebar-nav .nav-label{display:none}.sidebar-nav .nav-badge{color:#fff;background:#ef4444;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.app-layout.sidebar-collapsed .sidebar-nav .nav-badge{min-width:14px;height:14px;font-size:9px;position:absolute;top:4px;right:4px}.app-body{flex-direction:column;flex:1;min-width:0;display:flex}.app-header{background:linear-gradient(180deg, var(--bg-dark) 0%, #1a2744 100%);color:#fff;z-index:90;border-bottom:1px solid #ffffff0f;align-items:center;height:56px;padding:0 16px;display:flex;position:sticky;top:0;box-shadow:0 2px 6px #0000001f}.header-hamburger{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;transition:background .18s,color .18s;display:inline-flex}.header-hamburger:hover{color:#fff;background:#ffffff1a}.header-spacer{flex:1}.header-actions{align-items:center;gap:8px;display:flex}.header-icon-button{color:#ffffffd1;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:17px;transition:background .18s,border-color .18s,color .18s;display:inline-flex;position:relative}.header-icon-button:hover,.header-icon-button.has-unread{color:#fff;background:#ffffff1a;border-color:#ffffff14}.header-icon-button .el-badge{align-items:center;display:inline-flex}.header-icon-button .el-badge__content{border:0;box-shadow:0 0 0 2px #1a2744}.notification-popover.el-popper{border:1px solid #e2e8f0;border-radius:8px;padding:0;overflow:hidden;box-shadow:0 18px 44px #0f172a2e;z-index:3200!important}.notification-panel{background:#fff}.notification-panel-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.notification-panel-header strong,.notification-panel-header span{display:block}.notification-panel-header strong{color:#0f172a;font-size:15px;line-height:1.4}.notification-panel-header span{color:#64748b;margin-top:2px;font-size:12px}.notification-list{max-height:360px;padding:8px;overflow-y:auto}.notification-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto 14px;align-items:center;gap:10px;width:100%;padding:10px 8px;transition:background .18s;display:grid}.notification-item:hover{background:#f8fafc}.notification-item-icon{color:#fff;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;display:inline-flex}.notification-tone-blue{background:#3b82f6}.notification-tone-teal{background:#14b8a6}.notification-tone-green{background:#22c55e}.notification-tone-orange{background:#f97316}.notification-tone-violet{background:#8b5cf6}.notification-tone-slate{background:#64748b}.notification-tone-coral{background:#ef4444}.notification-tone-amber{background:#f59e0b}.notification-tone-cyan{background:#06b6d4}.notification-item-main{min-width:0}.notification-item-main strong,.notification-item-main small{display:block}.notification-item-main strong{color:#0f172a;font-size:14px;line-height:1.35}.notification-item-main small{color:#64748b;white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;line-height:1.35;overflow:hidden}.notification-item-count{color:#4f46e5;background:#eef2ff;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:22px;padding:0 7px;font-size:12px;font-weight:700;display:inline-flex}.notification-item-arrow{color:#94a3b8}.user-trigger{cursor:pointer;color:#ffffffd9;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;transition:background .18s,color .18s;display:inline-flex}.user-trigger:hover{color:#fff;background:#ffffff1a}.user-trigger .user-name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;overflow:hidden}.user-trigger .user-caret{opacity:.55;flex-shrink:0;font-size:11px}.app-main{background:linear-gradient(180deg, #ffffff94 0, #fff0 170px), var(--bg-page);flex:1;min-width:0;padding:24px}.stat-cards{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;display:grid}.stat-card{border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;border:1px solid var(--border);background:#fff;padding:20px;transition:all .2s;position:relative;overflow:hidden}.stat-card:before{content:"";border-radius:4px 0 0 4px;width:4px;height:100%;position:absolute;top:0;left:0}.stat-card.total:before{background:var(--primary)}.stat-card.stale:before{background:var(--warning)}.stat-card.overdue:before{background:var(--danger)}.stat-card.constructing:before{background:var(--success)}.stat-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.stat-card .label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;font-weight:500}.stat-card .value{letter-spacing:-1px;font-size:32px;font-weight:700;line-height:1}.stat-card.total .value{color:var(--primary)}.stat-card.stale .value{color:var(--warning)}.stat-card.overdue .value{color:var(--danger)}.stat-card.constructing .value{color:var(--success)}.page-section{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #cbd5e1b8;overflow:hidden}.page-section-header{border-bottom:1px solid var(--border-soft);background:linear-gradient(#fff 0%,#fbfdff 100%);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 20px;display:flex}.page-section-header h2{letter-spacing:0;font-size:16px;font-weight:700;line-height:1.45}.page-section-header>div:first-child{min-width:220px}.page-title{color:#0f172a;margin:0;font-size:16px;font-weight:700;line-height:1.45}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:13px;line-height:1.55}.page-section-body{padding:18px 20px 20px}.search-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.page-section .page-section-header>.toolbar{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:8px;flex-wrap:wrap;flex:100%;align-items:center;gap:10px;min-width:0;margin-top:2px;padding:12px;display:flex}.page-section .page-section-header>.toolbar .el-radio-group{flex-shrink:0}.page-section .page-section-header>.header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.page-section .page-section-body>.filter-bar,.page-section .page-section-body>.filter-panel,.page-section .page-section-body>.approval-filters,.page-section .page-section-body>.toolbar{border:1px solid var(--border-soft);background:var(--surface-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px;display:flex}.page-section .page-section-body>.filter-bar .el-input,.page-section .page-section-body>.filter-bar .el-select,.page-section .page-section-body>.filter-panel .el-input,.page-section .page-section-body>.filter-panel .el-select,.page-section .page-section-body>.approval-filters .el-input,.page-section .page-section-body>.approval-filters .el-select,.page-section .page-section-body>.toolbar .el-input,.page-section .page-section-body>.toolbar .el-select{min-width:150px}.page-section .page-section-body>.filter-bar .el-date-editor,.page-section .page-section-body>.filter-panel .el-date-editor,.page-section .page-section-body>.approval-filters .el-date-editor,.page-section .page-section-body>.toolbar .el-date-editor{min-width:230px}.pagination-bar,.pagination-row{border-top:1px solid var(--border-soft);justify-content:flex-end;margin-top:16px;padding-top:14px;display:flex}.link,a.link{color:#2563eb;font-weight:600;text-decoration:none}.link:hover,a.link:hover{color:#1d4ed8;text-decoration:underline}.muted,.text-muted{color:var(--text-secondary)}.tag-row,.status-stack{flex-wrap:wrap;gap:6px;display:flex}.el-button{border-radius:6px;font-weight:600}.el-button:focus-visible,.el-input__wrapper.is-focus,.el-select .el-input.is-focus .el-input__wrapper,.el-textarea__inner:focus{box-shadow:var(--focus-ring)}.el-input__wrapper,.el-select__wrapper,.el-textarea__inner,.el-date-editor.el-input__wrapper{border-radius:6px}.el-table{--el-table-border-color:var(--border-soft);--el-table-header-bg-color:#f8fafc;--el-table-row-hover-bg-color:#f6faff;color:#334155}.el-table th.el-table__cell{color:#475569;font-weight:700;background:#f8fafc!important}.el-table .el-table__cell{border-bottom-color:var(--border-soft)!important}.el-table .cell{line-height:1.5}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fbfdff}.el-table__body tr:hover>td.el-table__cell{background:#f6faff!important}.el-tag{border-radius:6px;font-weight:600}.el-alert{border-radius:8px}.el-empty{padding:42px 0}.el-dialog{border-radius:8px;overflow:hidden;box-shadow:0 24px 70px #0f172a2e}.el-dialog__header{border-bottom:1px solid var(--border-soft);background:linear-gradient(#fff 0%,#fbfdff 100%);margin-right:0;padding:16px 20px}.el-dialog__title{color:#0f172a;font-size:16px;font-weight:700;line-height:1.45}.el-dialog__headerbtn{top:6px;right:8px}.el-dialog__body{background:#fff;padding:18px 20px}.el-dialog__footer{border-top:1px solid var(--border-soft);background:var(--surface-soft);padding:12px 20px}.el-message-box{border-radius:8px;overflow:hidden}.el-message,.el-notification{border-radius:8px;box-shadow:0 18px 40px #0f172a24}.el-drawer{background:var(--surface-soft)}.el-drawer.open.rtl,.el-drawer-fade-enter-from .el-drawer.open.rtl,.el-drawer.open.ltr,.el-drawer-fade-enter-from .el-drawer.open.ltr{transform:translate(0)!important}.el-drawer.open.ttb,.el-drawer-fade-enter-from .el-drawer.open.ttb,.el-drawer.open.btt,.el-drawer-fade-enter-from .el-drawer.open.btt{transform:translateY(0)!important}.el-popper.el-zoom-in-top-enter-from,.el-popper.el-zoom-in-top-enter-active{opacity:1!important;transform:scaleY(1)!important}.el-overlay.is-message-box.fade-in-linear-leave-active,.el-overlay.is-message-box.fade-in-linear-leave-from{pointer-events:none!important;display:none!important}.el-drawer__header{border-bottom:1px solid var(--border-soft);color:#0f172a;background:#fff;margin-bottom:0;padding:16px 20px}.el-drawer__title{font-size:16px;font-weight:700}.el-drawer__body{background:var(--surface-soft)}.drawer-footer,.drawer-actions,.dialog-footer{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.delivery-drawer.el-drawer{background:#f6f8fb;box-shadow:-22px 0 52px #0f172a2e}.delivery-drawer.el-drawer .el-drawer__header{background:linear-gradient(#fff 0%,#f8fbff 100%);border-bottom:1px solid #dbe4f0;padding:20px 28px}.delivery-drawer.el-drawer .el-drawer__body{background:#f6f8fb;padding:0}.delivery-drawer.el-drawer .el-drawer__body>.drawer-shell,.delivery-drawer.el-drawer .el-drawer__body>.clearance-shell,.delivery-drawer.el-drawer .el-drawer__body>.schedule-shell{background:#f6f8fb;min-height:100%;padding:0 0 24px}.delivery-drawer.el-drawer .drawer-header{z-index:2;background:linear-gradient(#fff 0%,#f8fbff 100%);border-bottom:1px solid #dbe4f0;margin:0;padding:24px 28px 18px;position:sticky;top:0}.delivery-drawer.el-drawer .drawer-header h3{color:#0f172a;margin:0 0 6px;font-size:20px;font-weight:800;line-height:1.25}.delivery-drawer.el-drawer .drawer-header-actions{align-items:center;gap:8px;display:flex}.delivery-drawer.el-drawer .drawer-close{color:#64748b;background:#fff;border:1px solid #dbe4f0}.delivery-drawer.el-drawer .drawer-close:hover{color:#2563eb;background:#eff6ff;border-color:#93c5fd}.delivery-drawer.el-drawer .el-descriptions{background:#fff;border:1px solid #dbe4f0;border-radius:8px;margin:18px 28px 0;overflow:hidden;box-shadow:0 10px 24px #0f172a0a}.delivery-drawer.el-drawer .el-descriptions__body{background:#fff}.delivery-drawer.el-drawer .detail-block,.delivery-drawer.el-drawer .detail-form,.delivery-drawer.el-drawer .drawer-form{background:#fff;border:1px solid #dbe4f0;border-radius:8px;margin:16px 28px 0;padding:18px;box-shadow:0 10px 24px #0f172a0a}.delivery-drawer.el-drawer .detail-block-title,.delivery-drawer.el-drawer .timeline-title{color:#0f172a;align-items:center;gap:8px;margin:0 0 12px;font-size:15px;font-weight:800;display:flex}.delivery-drawer.el-drawer .detail-block-title:before,.delivery-drawer.el-drawer .timeline-title:before{content:"";background:#3b82f6;border-radius:999px;width:4px;height:16px;display:inline-block}.delivery-drawer.el-drawer .timeline-title{margin:18px 28px 0}.delivery-drawer.el-drawer .el-timeline{margin:10px 0 0;padding-left:2px}.delivery-drawer.el-drawer .timeline-title+.el-timeline{background:#fff;border:1px solid #dbe4f0;border-radius:8px;margin:10px 28px 0;padding:18px 18px 6px 20px}.delivery-drawer.el-drawer .drawer-actions{background:#fff;border:1px solid #dbe4f0;border-radius:8px;justify-content:flex-end;margin:18px 28px 0;padding:14px;box-shadow:0 10px 24px #0f172a0a}.delivery-drawer.el-drawer .el-tabs{background:#fff;border:1px solid #dbe4f0;border-radius:8px;margin:18px 28px 0;overflow:hidden;box-shadow:0 10px 24px #0f172a0a}.delivery-drawer.el-drawer .el-tabs__header{background:#f8fafc;margin:0;padding:0 16px}.delivery-drawer.el-drawer .el-tabs__content{padding:16px}.delivery-drawer.el-drawer .el-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.delivery-drawer.el-drawer .detail-summary{margin:18px 28px 14px}.delivery-drawer.el-drawer .drawer-title{width:100%}.delivery-drawer.el-drawer .drawer-title-main{color:#0f172a;font-size:18px;font-weight:800}.delivery-drawer.el-drawer .drawer-title-sub{color:#64748b}.el-dialog.delivery-dialog,.delivery-dialog .el-dialog{border-radius:8px;overflow:hidden;box-shadow:0 24px 70px #0f172a2e}.delivery-dialog .el-dialog__header{background:linear-gradient(#fff 0%,#f8fbff 100%);padding:18px 22px}.delivery-dialog .el-dialog__body{padding:20px 22px}.delivery-dialog .el-dialog__footer{background:#f8fafc;padding:14px 22px}.delivery-dialog .el-form{padding-top:2px}.page-section.delivery-list-page>.page-section-header{flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px;display:flex}.page-section.delivery-list-page>.page-section-header>div:first-child{min-width:0}.page-section.delivery-list-page>.page-section-header>.toolbar,.page-section.delivery-list-page .page-section-body>.filter-bar,.page-section.delivery-list-page .page-section-body>.filter-panel{background:linear-gradient(#f8fbff 0%,#f6f8fb 100%);border:1px solid #dbe4f0;border-radius:8px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px 12px;width:100%;margin:0;padding:12px;display:flex;box-shadow:inset 0 1px #fffc}.page-section.delivery-list-page .page-section-body>.filter-bar,.page-section.delivery-list-page .page-section-body>.filter-panel{margin-bottom:14px}.page-section.delivery-list-page>.page-section-header>.toolbar .el-radio-group,.page-section.delivery-list-page .page-section-body>.filter-bar .el-radio-group,.page-section.delivery-list-page .page-section-body>.filter-panel .el-radio-group{flex-wrap:wrap;flex:0 auto;min-width:0;display:flex}.page-section.delivery-list-page .filter-keyword,.page-section.delivery-list-page>.page-section-header>.toolbar .filter-keyword,.page-section.delivery-list-page .page-section-body>.filter-bar .filter-keyword,.page-section.delivery-list-page .page-section-body>.filter-panel .filter-keyword{flex:260px;width:auto;min-width:220px;max-width:360px}.page-section.delivery-list-page .filter-short,.page-section.delivery-list-page .filter-city,.page-section.delivery-list-page .filter-owner,.page-section.delivery-list-page .filter-select,.page-section.delivery-list-page .page-section-body>.filter-bar .filter-short,.page-section.delivery-list-page .page-section-body>.filter-panel .filter-select{flex:0 0 128px;width:128px;min-width:128px}.page-section.delivery-list-page .filter-medium,.page-section.delivery-list-page .page-section-body>.filter-bar .filter-medium{flex:0 0 168px;width:168px;min-width:168px}.page-section.delivery-list-page .filter-range,.page-section.delivery-list-page .filter-date,.page-section.delivery-list-page .page-section-body>.filter-bar .filter-range,.page-section.delivery-list-page .page-section-body>.filter-panel .filter-date{flex:260px;width:auto;min-width:260px;max-width:340px}.page-section.delivery-list-page .filter-overdue{flex:none;margin-right:0}.page-section.delivery-list-page>.page-section-header>.toolbar .el-button,.page-section.delivery-list-page .page-section-body>.filter-bar .el-button,.page-section.delivery-list-page .page-section-body>.filter-panel .el-button{flex:none;margin-left:0}.page-section.delivery-list-page .el-table{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.page-section.delivery-list-page .el-table th.el-table__cell{color:#334155;background:#f8fafc;font-weight:700}.page-section.delivery-list-page .el-table .el-table__cell{padding:10px 0}.page-section.delivery-list-page .action-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;display:flex}.page-section.delivery-list-page .action-row .el-button,.page-section.delivery-list-page .action-row .el-button+.el-button,.page-section.delivery-list-page .row-action-menu{margin-left:0}.page-section.delivery-list-page .row-action-menu{min-width:64px}.el-dropdown-menu__item.dropdown-danger{color:#dc2626}.el-dropdown-menu__item.dropdown-danger:hover{color:#b91c1c;background:#fef2f2}@media (width<=1200px){.page-section.delivery-list-page .filter-keyword,.page-section.delivery-list-page>.page-section-header>.toolbar .filter-keyword,.page-section.delivery-list-page .page-section-body>.filter-bar .filter-keyword,.page-section.delivery-list-page .page-section-body>.filter-panel .filter-keyword{flex-basis:100%;max-width:none}}.detail-section{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border);background:#fff;margin-bottom:16px;overflow:hidden}.detail-section-header{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:center;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.detail-section-body{padding:20px}.follow-timeline{border-left:2px solid var(--border);padding-left:20px}.follow-item{border-bottom:1px solid #f1f5f9;padding:12px 0 12px 20px;position:relative}.follow-item:last-child{border-bottom:none}.follow-item:before{content:"";background:var(--primary);width:10px;height:10px;box-shadow:0 0 0 2px var(--primary-light);border:2px solid #fff;border-radius:50%;position:absolute;top:18px;left:-27px}.follow-item .follow-date{color:var(--text-secondary);margin-bottom:4px;font-size:12px}.follow-item .follow-content{font-size:14px;line-height:1.6}.follow-item .follow-action{color:var(--primary);margin-top:6px;font-size:13px;font-weight:500}.status-tag{border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.status-NEW{color:#2563eb;background:#eff6ff}.status-FOLLOWING{color:#d97706;background:#fef3c7}.status-VISITED{color:#4f46e5;background:#e0e7ff}.status-QUOTED{color:#db2777;background:#fce7f3}.status-SIGNED{color:#059669;background:#d1fae5}.status-CONSTRUCTING{color:#0891b2;background:#cffafe}.status-PENDING_FOLLOWUP{color:#d97706;background:#fef3c7}.status-COMPLETED{color:#16a34a;background:#dcfce7}.status-LOST{color:#94a3b8;background:#f1f5f9}.payment-PENDING{color:var(--warning)}.payment-RECEIVED{color:var(--success)}.payment-OVERDUE{color:var(--danger);font-weight:700}.login-page{background:linear-gradient(135deg, var(--bg-dark) 0%, #1a2744 50%, var(--primary) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:16px;width:400px;padding:40px;box-shadow:0 25px 50px #00000040}.login-card h1{text-align:center;margin-bottom:8px;font-size:24px;font-weight:700}.login-card .subtitle{text-align:center;color:var(--text-secondary);margin-bottom:32px;font-size:14px}.fade-enter-active,.fade-leave-active{transition:opacity .2s}.fade-enter-from,.fade-leave-to{opacity:0}@media (width<=768px){.app-header{height:48px;padding:0 10px}.user-trigger .user-name{max-width:80px}.app-main{padding:12px}.stat-cards{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.stat-card{padding:12px}.stat-card .value{font-size:24px}.stat-card .label{font-size:12px}.page-section-header{flex-wrap:wrap;gap:8px;padding:12px 14px}.page-section-header h2{font-size:14px}.page-section-body{padding:12px}.search-bar{flex-direction:column;gap:8px}.search-bar .el-input,.search-bar .el-select{width:100%!important}.batch-bar{flex-wrap:wrap;gap:8px;padding:8px 12px!important}.el-table{font-size:12px!important}.detail-section-header{padding:10px 14px;font-size:13px}.detail-section-body{padding:12px;overflow-x:auto}.login-card{border-radius:12px;width:calc(100vw - 32px);padding:28px 20px}.login-card h1{font-size:20px}.follow-timeline{padding-left:14px}.follow-item{padding:10px 0 10px 14px}.follow-item:before{width:8px;height:8px;left:-21px}}@media (width<=480px){.user-trigger .user-name{display:none}.stat-cards{grid-template-columns:1fr 1fr}.stat-card .value{font-size:20px}}
