/*!
 *  build: guatron-admin 
 *  copyright: 广州冠创智能科技有限公司 
 *  time: 2026-11-5 19:28:29
 */@import url(https://cdn.jsdelivr.net/npm/font-awesome@4.7.0/css/font-awesome.min.css);#admin-container{height:100%}.sidebar{background:#0f172a;overflow-y:auto;overflow-x:hidden;transition:width .25s ease;position:relative}.sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:160px;background:linear-gradient(180deg,rgba(37,99,235,.12),transparent);pointer-events:none}.logo{height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2563eb,#1d4ed8 50%,#1e40af);color:#fff;font-size:15px;font-weight:600;letter-spacing:.5px;position:relative;overflow:hidden}.logo i{margin-right:8px;font-size:18px}.logo i,.logo span{position:relative;z-index:1}.sidebar-menu{border-right:none;background:transparent!important;padding:6px 0}.sidebar-menu .el-menu-item,.sidebar-menu .el-submenu__title{height:38px;line-height:38px;font-size:12.5px;color:#94a3b8!important;transition:all .2s ease;position:relative;overflow:hidden;margin:0 6px;border-radius:6px}.sidebar-menu .el-menu-item:before,.sidebar-menu .el-submenu__title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:55%;background:#3b82f6;border-radius:0 2px 2px 0;transition:transform .2s ease}.sidebar-menu .el-menu-item:hover:before,.sidebar-menu .el-submenu__title:hover:before{transform:translateY(-50%) scaleY(1)}.sidebar-menu .el-menu-item:hover,.sidebar-menu .el-submenu__title:hover{background-color:rgba(59,130,246,.12)!important;color:#e2e8f0!important}.sidebar-menu .el-menu-item.is-active{background:rgba(37,99,235,.2)!important;color:#fff!important;font-weight:500}.sidebar-menu .el-menu-item.is-active:before{transform:translateY(-50%) scaleY(1)}.sidebar-menu .el-submenu .el-menu-item{min-width:180px;padding-left:44px!important;height:34px;line-height:34px;font-size:12px;margin:0 6px}.sidebar-menu .el-submenu .el-submenu .el-menu-item{padding-left:60px!important;height:32px;line-height:32px;font-size:11.5px}.sidebar-menu .el-submenu__icon-arrow{color:#64748b;font-size:10px}.header{background:#fff;border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:0 16px;height:48px;box-shadow:0 1px 2px rgba(15,23,42,.04);position:relative;z-index:10}.header,.header-left,.header-right{display:flex;align-items:center}.header-right{gap:10px}.header-right .el-button--text{color:#64748b;font-size:12px;padding:4px 8px}.header-right .el-button--text:hover{color:#2563eb}.badge-item .el-badge__content{background:#ef4444;border:none;font-size:10px;height:16px;line-height:16px;padding:0 5px}.user-info{display:flex;align-items:center;cursor:pointer;gap:8px;padding:2px 8px 2px 2px;border-radius:16px;transition:background .2s}.user-info:hover{background:#f1f5f9}.username{font-size:12.5px;color:#1e293b;font-weight:500}.user-info .fa-caret-down{color:#94a3b8;font-size:9px}.el-breadcrumb__inner{font-size:12px;color:#64748b;font-weight:400}.el-breadcrumb__inner.is-link{color:#94a3b8}.el-breadcrumb__inner.is-link:hover{color:#2563eb}.el-breadcrumb__item:last-child .el-breadcrumb__inner{color:#1e293b;font-weight:500}.main-content{background:#f1f5f9;padding:14px 16px;overflow-y:auto}.page-card{background:#fff;border-radius:8px;box-shadow:0 1px 2px rgba(15,23,42,.04),0 1px 1px rgba(15,23,42,.02);margin-bottom:14px;border:1px solid rgba(226,232,240,.5);transition:box-shadow .2s ease;overflow:hidden}.page-card:hover{box-shadow:0 2px 8px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.03)}.page-card-header{padding:12px 16px;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;background:#fff}.page-card-title{font-size:14px;font-weight:600;color:#0f172a;position:relative;padding-left:10px;letter-spacing:.2px}.page-card-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:14px;background:linear-gradient(180deg,#2563eb,#1d4ed8);border-radius:2px}.page-card-body{padding:14px 16px}.stat-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-bottom:14px}.stat-card{background:#fff;border-radius:8px;padding:12px 14px;box-shadow:0 1px 2px rgba(15,23,42,.04);display:flex;justify-content:space-between;align-items:center;transition:all .25s ease;cursor:pointer;position:relative;overflow:hidden;border:1px solid rgba(226,232,240,.5)}.stat-card:after{content:"";position:absolute;top:0;right:0;width:80px;height:80px;border-radius:50%;filter:blur(30px);opacity:.2;transform:translate(30%,-30%);transition:all .3s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,23,42,.08),0 2px 4px rgba(15,23,42,.04);border-color:transparent}.stat-card:hover:after{transform:translate(20%,-20%) scale(1.1);opacity:.3}.stat-card.primary:after{background:#3b82f6}.stat-card.success:after{background:#10b981}.stat-card.warning:after{background:#f59e0b}.stat-card.danger:after{background:#ef4444}.stat-card.purple:after{background:#8b5cf6}.stat-card.cyan:after{background:#06b6d4}.stat-card .stat-info .stat-value{font-size:24px;font-weight:700;color:#0f172a;line-height:1.2;letter-spacing:-.3px}.stat-card .stat-info .stat-label{font-size:12px;color:#64748b;margin-top:4px;font-weight:400}.stat-card .stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;position:relative;z-index:1;transition:all .25s ease;flex-shrink:0}.stat-card:hover .stat-icon{transform:scale(1.08)}.stat-card.primary .stat-icon{background:linear-gradient(135deg,#dbeafe,#bfdbfe);color:#2563eb}.stat-card.success .stat-icon{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#059669}.stat-card.warning .stat-icon{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#d97706}.stat-card.danger .stat-icon{background:linear-gradient(135deg,#fee2e2,#fecaca);color:#dc2626}.stat-card.purple .stat-icon{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#7c3aed}.stat-card.cyan .stat-icon{background:linear-gradient(135deg,#cffafe,#a5f3fc);color:#0891b2}.stat-trend{font-size:11px;margin-top:4px;display:flex;align-items:center;gap:3px}.stat-trend.up{color:#10b981}.stat-trend.down{color:#ef4444}.filter-bar{background:#fff;border-radius:8px;padding:12px 16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(15,23,42,.04);border:1px solid rgba(226,232,240,.5)}.filter-bar .filter-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.filter-bar .el-form-item{margin-bottom:0}.filter-bar .el-form-item__label{font-size:12px;color:#475569;font-weight:400;padding-right:6px}.filter-actions{display:flex;gap:6px;margin-left:auto}.table-container{background:#fff;border-radius:8px;padding:14px 16px;box-shadow:0 1px 2px rgba(15,23,42,.04);border:1px solid rgba(226,232,240,.5);overflow:hidden}.table-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #f1f5f9}.table-toolbar-left,.table-toolbar-right{display:flex;gap:6px;align-items:center}.el-table{font-size:12.5px;border-radius:6px;overflow:hidden}.el-table th.el-table__cell{background:#f8fafc!important;color:#475569;font-weight:600;font-size:12px;height:38px;padding:0 8px;border-bottom:1px solid #e2e8f0!important}.el-table th.el-table__cell .cell{color:#475569;padding:0 4px}.el-table td.el-table__cell{border-bottom:1px solid #f1f5f9;padding:8px 0}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:#eff6ff!important}.el-table__body tr.current-row>td.el-table__cell{background-color:#dbeafe!important}.el-table .cell{color:#334155;padding:0 4px;line-height:1.5}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:#fafbfc}.el-button{border-radius:6px;font-weight:500;transition:all .2s ease;padding:7px 14px;font-size:12px;border:1px solid transparent}.el-button--primary{background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;box-shadow:0 1px 3px rgba(37,99,235,.3)}.el-button--primary:hover{background:linear-gradient(135deg,#1d4ed8,#1e40af);box-shadow:0 3px 8px rgba(37,99,235,.4);transform:translateY(-1px)}.el-button--success{background:linear-gradient(135deg,#10b981,#059669);border:none;box-shadow:0 1px 3px rgba(16,185,129,.3)}.el-button--success:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 3px 8px rgba(16,185,129,.4);transform:translateY(-1px)}.el-button--warning{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;box-shadow:0 1px 3px rgba(245,158,11,.3);color:#fff}.el-button--warning:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 3px 8px rgba(245,158,11,.4);transform:translateY(-1px);color:#fff}.el-button--danger{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;box-shadow:0 1px 3px rgba(239,68,68,.3)}.el-button--danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 3px 8px rgba(239,68,68,.4);transform:translateY(-1px)}.el-button--default{background:#fff;border:1px solid #e2e8f0;color:#475569}.el-button--default:hover{color:#2563eb;border-color:#93c5fd;background:#eff6ff}.el-button--text{color:#2563eb;padding:4px 6px}.el-button--mini{padding:4px 10px;font-size:11px;border-radius:4px}.el-button--small{padding:6px 12px;font-size:12px;border-radius:5px}.status-tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:500;line-height:1.5;position:relative;border:1px solid transparent;transition:all .15s ease}.status-tag:before{content:"";width:5px;height:5px;border-radius:50%;margin-right:5px;flex-shrink:0}.status-tag.success{background:#ecfdf5;color:#059669;border-color:#a7f3d0}.status-tag.success:before{background:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.15)}.status-tag.warning{background:#fffbeb;color:#d97706;border-color:#fde68a}.status-tag.warning:before{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.15)}.status-tag.danger{background:#fef2f2;color:#dc2626;border-color:#fecaca}.status-tag.danger:before{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.15)}.status-tag.info,.status-tag.primary{background:#eff6ff;color:#2563eb;border-color:#bfdbfe}.status-tag.info:before,.status-tag.primary:before{background:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.15)}.status-tag.default{background:#f8fafc;color:#64748b;border-color:#e2e8f0}.status-tag.default:before{background:#94a3b8;box-shadow:0 0 0 2px rgba(148,163,184,.15)}.status-tag.purple{background:#faf5ff;color:#7c3aed;border-color:#ddd6fe}.status-tag.purple:before{background:#8b5cf6;box-shadow:0 0 0 2px rgba(139,92,246,.15)}.status-tag.cyan{background:#ecfeff;color:#0891b2;border-color:#a5f3fc}.status-tag.cyan:before{background:#06b6d4;box-shadow:0 0 0 2px rgba(6,182,212,.15)}.pagination-container{margin-top:14px;display:flex;justify-content:flex-end;align-items:center;padding-top:12px;border-top:1px solid #f1f5f9}.el-pagination{font-size:12px}.el-pagination button:disabled{background:#f1f5f9}.el-pagination .el-pager li{border-radius:4px;margin:0 2px;font-weight:500;transition:all .15s;min-width:26px;height:26px;line-height:26px;font-size:12px}.el-pagination .el-pager li.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 1px 3px rgba(37,99,235,.3)}.el-pagination .el-pager li:not(.disabled):hover{color:#2563eb}.chart-container{width:100%;height:280px}.chart-row{grid-template-columns:repeat(2,1fr)}.chart-row,.chart-row-3{display:grid;gap:12px;margin-bottom:12px}.chart-row-3{grid-template-columns:repeat(3,1fr)}@media (max-width:1200px){.chart-row,.chart-row-3{grid-template-columns:repeat(2,1fr)}}.chart-card{background:#fff;border-radius:8px;padding:14px 16px;box-shadow:0 1px 2px rgba(15,23,42,.04);border:1px solid rgba(226,232,240,.5);transition:box-shadow .2s ease}.chart-card:hover{box-shadow:0 4px 12px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.03)}.chart-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.chart-card-title{font-size:13px;font-weight:600;color:#0f172a;position:relative;padding-left:10px}.chart-card-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:12px;background:linear-gradient(180deg,#2563eb,#1d4ed8);border-radius:2px}.el-dialog{border-radius:10px;overflow:hidden;box-shadow:0 12px 40px rgba(15,23,42,.12),0 4px 12px rgba(15,23,42,.08)}.el-dialog__header{padding:14px 16px 10px;border-bottom:1px solid #f1f5f9;background:#fff;margin-right:0}.el-dialog__title{font-size:14px;font-weight:600;color:#0f172a}.el-dialog__body{padding:14px 16px}.el-dialog__footer{padding:10px 16px 14px;border-top:1px solid #f1f5f9;text-align:right}.dialog-form .el-form-item{margin-bottom:14px}.el-form-item__label{font-size:12px;color:#475569;font-weight:500;line-height:32px}.el-input__inner{border-radius:5px;border:1px solid #e2e8f0;transition:all .2s ease;height:32px;line-height:32px;font-size:12px;padding:0 10px}.el-input__inner:hover{border-color:#93c5fd}.el-input__inner:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.el-textarea__inner{border-radius:5px;border:1px solid #e2e8f0;transition:all .2s ease;font-size:12px;padding:8px 10px}.el-textarea__inner:focus{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.08)}.el-select .el-input__inner{border-radius:5px}.el-select-dropdown__item{font-size:12px;padding:0 12px;height:30px;line-height:30px}.tabs-container{background:#fff;border-radius:8px;padding:0 16px;box-shadow:0 1px 2px rgba(15,23,42,.04);border:1px solid rgba(226,232,240,.5)}.tabs-container .el-tabs__header{margin:0;border-bottom:1px solid #f1f5f9}.tabs-container .el-tabs__nav-wrap:after{height:0}.tabs-container .el-tabs__item{height:38px;line-height:38px;font-size:12.5px;color:#64748b;font-weight:400;padding:0 14px;transition:all .2s ease}.tabs-container .el-tabs__item:hover{color:#2563eb}.tabs-container .el-tabs__item.is-active{color:#1d4ed8;font-weight:600}.tabs-container .el-tabs__active-bar{background:linear-gradient(90deg,#2563eb,#1d4ed8);height:2px;border-radius:2px 2px 0 0}.tabs-content{padding:14px 0}.page-tab-bar{display:flex;gap:2px;background:#fff;border-radius:8px 8px 0 0;padding:8px 10px 0;margin-bottom:-1px;border-bottom:1px solid #f1f5f9}.page-tab-item{padding:8px 14px;font-size:12.5px;color:#64748b;cursor:pointer;border-radius:6px 6px 0 0;transition:all .2s ease;font-weight:400;position:relative}.page-tab-item:hover{color:#2563eb;background:#eff6ff}.page-tab-item.active{color:#1d4ed8;font-weight:600;background:#fff}.page-tab-item.active:after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:30%;height:2px;background:linear-gradient(90deg,#2563eb,#1d4ed8);border-radius:2px 2px 0 0}.detail-section{margin-bottom:14px}.detail-section-title{font-size:13px;font-weight:600;color:#0f172a;margin-bottom:10px;padding-left:10px;position:relative}.detail-section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:12px;background:linear-gradient(180deg,#2563eb,#1d4ed8);border-radius:2px}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 20px;background:#f8fafc;padding:12px 14px;border-radius:6px}.detail-item{display:flex;font-size:12px;align-items:flex-start}.detail-label{color:#64748b;width:80px;flex-shrink:0;font-weight:400}.detail-value{color:#1e293b;flex:1;font-weight:400;word-break:break-all}.steps-container{padding:16px 0}.el-step__title.is-finish,.el-step__title.is-process{font-weight:600;color:#1e293b;font-size:12px}.el-step__icon.is-text{border:none;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 6px rgba(37,99,235,.3);width:22px;height:22px;font-size:11px}.empty-state{text-align:center;padding:40px 20px;color:#94a3b8}.empty-state i{font-size:48px;margin-bottom:12px;color:#cbd5e1}.empty-state p{font-size:13px}.avatar-circle{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;box-shadow:0 1px 4px rgba(37,99,235,.25)}.channel-status-list{display:flex;flex-wrap:wrap;gap:6px}.channel-status-item{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#f8fafc;border-radius:10px;font-size:11px;border:1px solid #e2e8f0;transition:all .15s}.channel-status-item:hover{background:#f1f5f9}.channel-status-item .status-dot{width:6px;height:6px;border-radius:50%;position:relative}.channel-status-item.success .status-dot{background:#10b981;box-shadow:0 0 0 2px rgba(16,185,129,.2)}.channel-status-item.warning .status-dot{background:#f59e0b;box-shadow:0 0 0 2px rgba(245,158,11,.2)}.channel-status-item.danger .status-dot{background:#ef4444;box-shadow:0 0 0 2px rgba(239,68,68,.2)}.channel-status-item.info .status-dot{background:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.2)}.progress-bar{height:6px;background:#f1f5f9}.progress-bar,.progress-bar-inner{border-radius:4px;overflow:hidden;position:relative}.progress-bar-inner{height:100%;transition:width .5s ease}.progress-bar-inner:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);animation:progressShine 2s ease-in-out infinite}@keyframes progressShine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.el-tag{border-radius:4px;border:none;padding:0 8px;height:20px;line-height:20px;font-size:11px;font-weight:400}.el-tag--primary{background:#dbeafe;color:#1d4ed8}.el-tag--success{background:#d1fae5;color:#047857}.el-tag--warning{background:#fef3c7;color:#b45309}.el-tag--danger{background:#fee2e2;color:#b91c1c}.el-tag--info{background:#f1f5f9;color:#475569}.custom-timeline .el-timeline-item__timestamp{color:#94a3b8;font-size:11px}.el-timeline-item__node--normal{background:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.15);width:10px;height:10px}.el-timeline-item__tail{border-left:2px solid #e2e8f0}.table-action-btn{color:#2563eb;font-size:12px;cursor:pointer;margin-right:8px;transition:color .15s;text-decoration:none}.table-action-btn:hover{color:#1d4ed8;text-decoration:underline}.table-action-btn.danger{color:#ef4444}.table-action-btn.danger:hover{color:#dc2626}.el-breadcrumb__separator{margin:0 6px;color:#cbd5e1;font-size:11px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .35s ease}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.card-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.card-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.card-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.el-dropdown-menu{border-radius:6px;box-shadow:0 6px 20px rgba(15,23,42,.1),0 2px 6px rgba(15,23,42,.05);border:1px solid #e2e8f0;padding:4px 0}.el-dropdown-menu__item{font-size:12px;padding:6px 12px;transition:all .12s ease}.el-dropdown-menu__item:hover{background:#eff6ff;color:#2563eb}.el-message{border-radius:6px;box-shadow:0 4px 16px rgba(15,23,42,.1),0 1px 4px rgba(15,23,42,.05);border:1px solid;font-size:12px;padding:8px 14px}.el-message--success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.el-message--error{background:#fef2f2;border-color:#fecaca;color:#991b1b}.el-message--warning{background:#fffbeb;border-color:#fde68a;color:#92400e}.el-message--info{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}@media (max-width:1440px){.chart-row-3,.stat-cards{grid-template-columns:repeat(3,1fr)}}@media (max-width:1280px){.chart-row-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:1024px){.sidebar{width:56px!important}.logo span,.sidebar-menu .el-menu-item span,.sidebar-menu .el-submenu__title span,.sidebar-menu span{display:none}.logo{justify-content:center}.logo i{margin-right:0}.card-grid-3,.card-grid-4,.chart-row-3,.stat-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.main-content{padding:10px}.card-grid-2,.card-grid-3,.card-grid-4,.chart-row,.chart-row-3,.detail-grid,.stat-cards{grid-template-columns:1fr}}#portal-container{height:100%;background:#f8fafc}.portal-header{background:hsla(0,0%,100%,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#1e293b;padding:0 40px;height:56px;justify-content:space-between;box-shadow:0 1px 2px rgba(15,23,42,.04);position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(226,232,240,.5)}.portal-header,.portal-logo{display:flex;align-items:center}.portal-logo{font-size:17px;font-weight:700;gap:8px;background:linear-gradient(135deg,#1d4ed8,#0ea5e9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.portal-logo i{-webkit-text-fill-color:#2563eb;font-size:20px}.portal-nav{display:flex;gap:28px}.portal-nav a{color:#475569;text-decoration:none;font-size:13px;font-weight:500;transition:all .2s;position:relative;padding:4px 0}.portal-nav a.active,.portal-nav a:hover{color:#1d4ed8}.portal-nav a.active:after{content:"";position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);width:20px;height:2px;background:linear-gradient(90deg,#2563eb,#1d4ed8);border-radius:2px}.portal-actions{display:flex;gap:8px;align-items:center}.portal-main{min-height:calc(100vh - 236px)}.portal-footer{background:#0f172a;color:hsla(0,0%,100%,.7);padding:32px 40px 20px;font-size:12px}.portal-footer-content{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding-bottom:28px;border-bottom:1px solid hsla(0,0%,100%,.08)}.portal-footer h4{color:#fff;font-size:13px;margin-bottom:12px;font-weight:600}.portal-footer p{line-height:1.7;margin-bottom:4px}.portal-footer a{color:hsla(0,0%,100%,.6);text-decoration:none;display:block;line-height:1.9;transition:color .15s}.portal-footer a:hover{color:#60a5fa}.portal-footer-bottom{max-width:1100px;margin:0 auto;padding-top:16px;text-align:center;color:hsla(0,0%,100%,.4);font-size:11px}.portal-banner{background:linear-gradient(135deg,#1e3a8a,#1d4ed8 35%,#0ea5e9);color:#fff;padding:56px 40px;text-align:center;position:relative;overflow:hidden}.portal-banner:before{top:-20%;right:-5%;width:500px;height:500px;background:radial-gradient(circle,hsla(0,0%,100%,.1) 0,transparent 60%)}.portal-banner:after,.portal-banner:before{content:"";position:absolute;border-radius:50%}.portal-banner:after{bottom:-30%;left:-3%;width:400px;height:400px;background:radial-gradient(circle,rgba(14,165,233,.2) 0,transparent 60%)}.portal-banner h1{font-size:32px;margin-bottom:10px;font-weight:700;letter-spacing:.5px;position:relative;z-index:1}.portal-banner p{font-size:14px;opacity:.9;max-width:500px;margin:0 auto 24px;position:relative;z-index:1;line-height:1.6}.portal-search{max-width:560px;margin:0 auto;display:flex;gap:0;position:relative;z-index:1;box-shadow:0 8px 24px rgba(0,0,0,.15);border-radius:32px;overflow:hidden}.portal-search .el-input__inner{height:40px;font-size:13px;border-radius:20px 0 0 20px;border:none;padding-left:18px;padding-right:12px}.portal-search .el-button{height:40px;padding:0 24px;border-radius:0 20px 20px 0;font-size:13px;font-weight:600;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;box-shadow:none}.portal-search .el-button:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:none}.portal-section{padding:40px 40px;max-width:1100px;margin:0 auto}.portal-section-title{text-align:center;margin-bottom:32px}.portal-section-title h2{font-size:22px;color:#0f172a;margin-bottom:6px;font-weight:700;letter-spacing:.3px}.portal-section-title p{color:#64748b;font-size:13px}.portal-section-title .title-line{width:36px;height:3px;background:linear-gradient(90deg,#2563eb,#1d4ed8);margin:10px auto 0;border-radius:2px}.portal-categories{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portal-category-card{background:#fff;border-radius:10px;padding:20px 16px;text-align:center;transition:all .3s ease;cursor:pointer;box-shadow:0 1px 2px rgba(15,23,42,.04);border:1px solid rgba(226,232,240,.5);position:relative;overflow:hidden}.portal-category-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#2563eb,#1d4ed8);transform:scaleX(0);transition:transform .3s ease}.portal-category-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(37,99,235,.12),0 4px 8px rgba(15,23,42,.04);border-color:transparent}.portal-category-card:hover:before{transform:scaleX(1)}.portal-category-card .category-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;transition:all .3s ease}.portal-category-card:hover .category-icon{transform:scale(1.08)}.portal-category-card:first-child .category-icon{background:linear-gradient(135deg,#2563eb,#1d4ed8)}.portal-category-card:nth-child(2) .category-icon{background:linear-gradient(135deg,#10b981,#059669)}.portal-category-card:nth-child(3) .category-icon{background:linear-gradient(135deg,#f59e0b,#d97706)}.portal-category-card:nth-child(4) .category-icon{background:linear-gradient(135deg,#8b5cf6,#6d28d9)}.portal-category-card h3{font-size:14px;color:#0f172a;margin-bottom:4px;font-weight:600}.portal-category-card p{font-size:12px;color:#64748b;margin-bottom:10px}.portal-category-card .category-count{display:inline-block;padding:2px 10px;background:#eff6ff;color:#2563eb;border-radius:10px;font-size:11px;font-weight:500}.job-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.job-card{background:#fff;border-radius:8px;padding:14px 16px;border:1px solid #e2e8f0;transition:all .25s ease;cursor:pointer;position:relative;overflow:hidden}.job-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#2563eb,#1d4ed8);transform:scaleY(0);transition:transform .25s ease;border-radius:3px 0 0 3px}.job-card:hover{border-color:#93c5fd;box-shadow:0 8px 24px rgba(37,99,235,.1),0 2px 4px rgba(15,23,42,.04);transform:translateY(-1px)}.job-card:hover:before{transform:scaleY(1)}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.job-card-title{font-size:14px;font-weight:600;color:#0f172a;transition:color .15s}.job-card:hover .job-card-title{color:#1d4ed8}.job-card-salary{font-size:15px;font-weight:700;color:#ef4444}.job-card-meta{display:flex;gap:10px;color:#64748b;font-size:12px;margin-bottom:10px}.job-card-meta i{margin-right:3px;color:#94a3b8;font-size:11px}.job-card-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}.job-card-tag{background:#f1f5f9;color:#64748b;padding:2px 6px;border-radius:3px;font-size:11px}.job-card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid #f1f5f9}.job-card-company{display:flex;align-items:center;gap:6px;font-size:12px;color:#475569}.job-card-company .company-logo{width:22px;height:22px;border-radius:4px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600}.dashboard-overview{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:12px}.dashboard-main,.dashboard-side{display:flex;flex-direction:column;gap:12px}.activity-list{list-style:none;padding:0;margin:0}.activity-item{display:flex;gap:8px;padding:8px 0;border-bottom:1px solid #f1f5f9;transition:background .15s}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f8fafc;margin:0 -6px;padding:8px 6px;border-radius:4px}.activity-icon{width:28px;height:28px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.activity-icon.primary{background:#dbeafe;color:#2563eb}.activity-icon.success{background:#d1fae5;color:#059669}.activity-icon.warning{background:#fef3c7;color:#d97706}.activity-icon.danger{background:#fee2e2;color:#dc2626}.activity-icon.purple{background:#ede9fe;color:#7c3aed}.activity-content{flex:1;min-width:0}.activity-text{font-size:12px;color:#334155;margin-bottom:2px;line-height:1.4}.activity-time{font-size:11px;color:#94a3b8}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.quick-action-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#f8fafc;border-radius:8px;cursor:pointer;transition:all .25s ease;border:1px solid transparent}.quick-action-item:hover{background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.quick-action-item i{font-size:18px;color:#2563eb}.quick-action-item span{font-size:11.5px;color:#475569;font-weight:500}.stat-value-wrap{display:flex;align-items:baseline;gap:2px}.stat-value-wrap .unit{font-size:12px;color:#64748b;font-weight:400}.card-badge{position:absolute;top:8px;right:-24px;width:80px;height:18px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:10px;justify-content:center;transform:rotate(45deg);box-shadow:0 1px 4px rgba(16,185,129,.3)}.card-badge,.welcome-banner{display:flex;align-items:center}.welcome-banner{background:linear-gradient(135deg,#1e3a8a,#1d4ed8 40%,#0ea5e9);border-radius:8px;padding:16px 20px;margin-bottom:12px;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 2px 8px rgba(29,78,216,.2)}.welcome-banner:before{content:"";position:absolute;top:-50%;right:8%;width:300px;height:300px;background:radial-gradient(circle,hsla(0,0%,100%,.12) 0,transparent 60%);border-radius:50%;pointer-events:none}.welcome-left{position:relative;z-index:1}.welcome-title{font-size:17px;font-weight:700;color:#fff;margin-bottom:4px;letter-spacing:.3px}.welcome-desc{font-size:12px;color:hsla(0,0%,100%,.85);margin:0}.welcome-desc .highlight{color:#fcd34d;font-weight:600;font-size:13px}.welcome-right{display:flex;gap:8px;position:relative;z-index:1}.welcome-right .quick-action-item{background:hsla(0,0%,100%,.12);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border:1px solid hsla(0,0%,100%,.15);padding:10px 14px;border-radius:8px;flex-direction:column;gap:4px;min-width:70px}.welcome-right .quick-action-item:hover{background:hsla(0,0%,100%,.2);transform:translateY(-1px);border-color:hsla(0,0%,100%,.3)}.welcome-right .quick-action-item i{font-size:16px;color:#fff}.welcome-right .quick-action-item span{font-size:11px;color:#fff;font-weight:500}.view-all{font-size:11px;color:#2563eb;cursor:pointer;transition:color .15s;display:flex;align-items:center;gap:2px}.view-all:hover{color:#1d4ed8}.status-overview{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.status-summary-item{background:#fff;border-radius:8px;padding:12px 14px;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 2px rgba(15,23,42,.04);cursor:pointer;position:relative;overflow:hidden;transition:all .25s ease}.status-summary-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:transparent;transition:background .25s}.status-summary-item:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(15,23,42,.08)}.status-summary-item.active{border-color:#2563eb;background:linear-gradient(135deg,#eff6ff,#fff 60%);box-shadow:0 4px 12px rgba(37,99,235,.12)}.status-summary-item.all:before{background:#2563eb}.status-summary-item.default:before{background:#94a3b8}.status-summary-item.warning:before{background:#f59e0b}.status-summary-item.success:before{background:#10b981}.status-summary-item.danger:before{background:#ef4444}.summary-num{font-size:22px;font-weight:700;color:#0f172a;line-height:1.2;letter-spacing:-.3px}.summary-label{font-size:12px;color:#64748b;margin-top:2px}.summary-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:22px;opacity:.12;color:#0f172a}.status-summary-item.active .summary-icon{opacity:.25;color:#2563eb}.card-toolbar{background:#fff;border-radius:8px;padding:10px 14px;margin-bottom:12px;justify-content:space-between;border:1px solid rgba(226,232,240,.5);box-shadow:0 1px 2px rgba(15,23,42,.04)}.card-toolbar,.toolbar-left{display:flex;align-items:center}.toolbar-left{gap:8px}.toolbar-right{display:flex;gap:10px;align-items:center}.result-count{font-size:12px;color:#64748b}.result-count b{color:#2563eb;font-size:14px;font-weight:700;margin:0 2px}.view-toggle{display:flex;background:#f1f5f9;border-radius:6px;padding:2px;gap:2px}.toggle-item{width:28px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;font-size:12px;color:#64748b;transition:all .2s}.toggle-item:hover{color:#2563eb}.toggle-item.active{background:#fff;color:#2563eb;box-shadow:0 1px 3px rgba(15,23,42,.1)}.demand-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-height:200px}.demand-card{background:#fff;border-radius:10px;border:1px solid rgba(226,232,240,.6);box-shadow:0 1px 3px rgba(15,23,42,.04);position:relative;overflow:hidden;transition:all .25s ease;display:flex;flex-direction:column}.demand-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.1),0 4px 8px rgba(15,23,42,.05);border-color:rgba(147,197,253,.5)}.demand-card.selected{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15),0 8px 20px rgba(37,99,235,.1)}.card-accent{height:3px;width:100%;background:#cbd5e1}.demand-card.status-pending .card-accent{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.demand-card.status-approved .card-accent{background:linear-gradient(90deg,#10b981,#34d399)}.demand-card.status-rejected .card-accent{background:linear-gradient(90deg,#ef4444,#f87171)}.demand-card.status-drafting .card-accent{background:linear-gradient(90deg,#94a3b8,#cbd5e1)}.card-checkbox{position:absolute;top:10px;right:10px;z-index:2;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;color:#cbd5e1;opacity:0;transition:all .2s;background:hsla(0,0%,100%,.9);border-radius:4px}.demand-card.selected .card-checkbox,.demand-card:hover .card-checkbox{opacity:1}.card-checkbox:hover,.demand-card.selected .card-checkbox{color:#2563eb}.demand-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 14px 0;gap:8px}.demand-title-wrap{flex:1;min-width:0}.demand-title{font-size:13.5px;font-weight:600;color:#0f172a;line-height:1.4;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}.demand-title:hover{color:#2563eb}.demand-no{font-size:11px;color:#94a3b8;margin-top:2px;font-family:Consolas,monospace}.urgent-badge{display:inline-flex;align-items:center;gap:3px;margin:8px 14px 0;padding:2px 8px;background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#dc2626;border:1px solid #fecaca;border-radius:10px;font-size:10.5px;font-weight:600;width:-moz-fit-content;width:fit-content;animation:urgentPulse 2s ease-in-out infinite}@keyframes urgentPulse{0%,to{box-shadow:0 0 0 0 rgba(239,68,68,.2)}50%{box-shadow:0 0 0 4px rgba(239,68,68,0)}}.demand-card-body{padding:10px 14px 12px;flex:1}.info-main{display:flex;gap:14px;margin-bottom:10px}.dept-name,.job-name{font-size:12px;color:#475569;display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dept-name i,.job-name i{color:#94a3b8;font-size:11px}.info-metrics{display:flex;align-items:center;background:#f8fafc;border-radius:8px;padding:10px 12px;margin-bottom:10px}.metric-item{flex:1;text-align:center}.metric-value{font-size:15px;font-weight:700;color:#0f172a;line-height:1.2}.metric-value.highlight{color:#2563eb;font-size:18px}.metric-value.salary{color:#ef4444}.metric-label{font-size:10.5px;color:#94a3b8;margin-top:3px}.metric-divider{width:1px;height:24px;background:#e2e8f0}.info-tags{display:flex;flex-wrap:wrap;gap:5px}.type-chip{padding:2px 8px;border-radius:4px;font-size:10.5px;font-weight:600}.type-chip.social{background:#eff6ff;color:#2563eb}.type-chip.campus{background:#ecfdf5;color:#059669}.type-chip.intern{background:#faf5ff;color:#7c3aed}.meta-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:#f8fafc;color:#64748b;border-radius:4px;font-size:10.5px}.meta-chip i{font-size:10px;color:#94a3b8}.demand-card-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid #f1f5f9;background:#fafbfc}.applicant-info{display:flex;align-items:center;gap:7px;min-width:0}.applicant-meta{display:flex;flex-direction:column;min-width:0}.applicant-name{font-size:12px;color:#334155;font-weight:500;line-height:1.3}.apply-date{font-size:10.5px;color:#94a3b8;line-height:1.3}.card-actions{display:flex;gap:10px;opacity:0;transition:opacity .2s}.demand-card:hover .card-actions{opacity:1}.action-icon{font-size:13px;color:#64748b;cursor:pointer;transition:all .15s;padding:3px}.action-icon:hover{color:#2563eb;transform:scale(1.15)}.action-icon.audit{color:#10b981}.action-icon.audit:hover{color:#059669}.action-icon.danger:hover{color:#ef4444}.demand-detail-drawer{box-shadow:-8px 0 32px rgba(15,23,42,.12)}.demand-detail-drawer .el-drawer__body{overflow:hidden;padding:0;display:flex;flex-direction:column;height:100%}.drawer-layout{display:flex;flex-direction:column;height:100%;background:#f8fafc}.drawer-header{flex-shrink:0;background:#fff;padding:16px 18px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:flex-start;position:relative}.drawer-header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#2563eb,#1d4ed8)}.drawer-header-main{flex:1;min-width:0}.drawer-title-row{display:flex;gap:6px;margin-bottom:8px}.drawer-title{font-size:16px;font-weight:700;color:#0f172a;line-height:1.4;margin-bottom:4px}.drawer-subtitle{font-size:12px;color:#64748b;display:flex;align-items:center;gap:6px}.drawer-no{font-family:Consolas,monospace;color:#94a3b8}.divider-dot{color:#cbd5e1}.drawer-close{font-size:16px;color:#94a3b8;cursor:pointer;padding:4px;border-radius:4px;transition:all .15s;flex-shrink:0}.drawer-close:hover{color:#ef4444;background:#fef2f2}.drawer-body{flex:1;overflow-y:auto;padding:14px 18px}.drawer-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border-radius:8px;padding:12px 8px;border:1px solid rgba(226,232,240,.6);margin-bottom:14px;box-shadow:0 1px 2px rgba(15,23,42,.03)}.drawer-metric-item{text-align:center}.d-metric-value{font-size:16px;font-weight:700;color:#0f172a;line-height:1.2}.d-metric-value.highlight{color:#2563eb;font-size:18px}.d-metric-value.salary{color:#ef4444}.d-metric-label{font-size:10.5px;color:#94a3b8;margin-top:4px}.drawer-section{background:#fff;border-radius:8px;padding:12px 14px;border:1px solid rgba(226,232,240,.6);margin-bottom:10px;box-shadow:0 1px 2px rgba(15,23,42,.03)}.drawer-section-title{font-size:13px;font-weight:600;color:#0f172a;margin-bottom:10px;padding-left:10px;position:relative}.drawer-section-title:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:12px;background:linear-gradient(180deg,#2563eb,#1d4ed8);border-radius:2px}.drawer-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.drawer-info-item{display:flex;flex-direction:column;gap:2px}.d-label{font-size:11px;color:#94a3b8;display:flex;align-items:center;gap:4px}.d-label i{font-size:10px}.d-value{font-size:12.5px;color:#1e293b;font-weight:500;word-break:break-all}.drawer-text-content{font-size:12.5px;color:#475569;line-height:1.7;background:#f8fafc;padding:10px 12px;border-radius:6px}.drawer-text-content.pre-line{white-space:pre-line}.drawer-text-content.audit-remark{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.drawer-footer{flex-shrink:0;background:#fff;padding:12px 18px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:8px}.form-drawer .el-drawer__header{margin-bottom:0;padding:14px 18px;background:linear-gradient(135deg,#f8fafc,#eff6ff);border-bottom:1px solid #e2e8f0;font-size:15px;font-weight:600;color:#0f172a;position:relative}.form-drawer .el-drawer__header:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,#2563eb,#1d4ed8)}.form-drawer .el-drawer__header span{font-size:15px;font-weight:600;color:#0f172a}.form-drawer .el-drawer__close-btn{color:#94a3b8;font-size:18px;transition:all .2s}.form-drawer .el-drawer__close-btn:hover{color:#ef4444;transform:rotate(90deg)}.form-drawer .el-drawer__body{padding:0;display:flex;flex-direction:column;overflow:hidden}.form-drawer-body{flex:1;overflow-y:auto;padding:18px 20px;background:#fafbfc}.form-drawer-body .el-form-item{margin-bottom:18px}.form-drawer-body .el-form-item__label{font-size:12.5px;font-weight:500;color:#475569;padding-bottom:6px!important;line-height:1.4}.form-drawer-body .el-input__inner,.form-drawer-body .el-textarea__inner{border-radius:6px;border-color:#e2e8f0;transition:all .2s}.form-drawer-body .el-input__inner:hover,.form-drawer-body .el-textarea__inner:hover{border-color:#93c5fd}.form-drawer-body .el-input__inner:focus,.form-drawer-body .el-textarea__inner:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.form-drawer-footer{flex-shrink:0;background:#fff;padding:14px 20px;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:10px;box-shadow:0 -2px 8px rgba(15,23,42,.04)}.form-drawer-footer .el-button{min-width:88px;border-radius:6px;font-weight:500}.form-drawer-body .el-divider{margin:18px 0 14px;background:transparent}.form-drawer-body .el-divider__text{font-size:12.5px;font-weight:600;color:#0f172a;background:#fafbfc;padding:0 10px}.entity-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;min-height:160px}.entity-card{background:#fff;border-radius:10px;border:1px solid rgba(226,232,240,.6);box-shadow:0 1px 3px rgba(15,23,42,.04);position:relative;overflow:hidden;transition:all .25s ease;display:flex;flex-direction:column}.entity-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(15,23,42,.1),0 4px 8px rgba(15,23,42,.05);border-color:rgba(147,197,253,.5)}.entity-card.selected{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15),0 8px 20px rgba(37,99,235,.1)}.entity-accent{height:3px;width:100%;background:#cbd5e1;flex-shrink:0}.accent-success{background:linear-gradient(90deg,#10b981,#34d399)}.accent-warning{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.accent-danger{background:linear-gradient(90deg,#ef4444,#f87171)}.accent-info{background:linear-gradient(90deg,#3b82f6,#60a5fa)}.accent-purple{background:linear-gradient(90deg,#8b5cf6,#a78bfa)}.accent-cyan{background:linear-gradient(90deg,#06b6d4,#22d3ee)}.accent-default{background:linear-gradient(90deg,#94a3b8,#cbd5e1)}.entity-head{display:flex;justify-content:space-between;align-items:flex-start;padding:12px 14px 0;gap:8px}.entity-title-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.entity-avatar{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;box-shadow:0 2px 6px rgba(37,99,235,.25)}.entity-avatar.green{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 6px rgba(16,185,129,.25)}.entity-avatar.orange{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 2px 6px rgba(245,158,11,.25)}.entity-avatar.purple{background:linear-gradient(135deg,#8b5cf6,#6d28d9);box-shadow:0 2px 6px rgba(139,92,246,.25)}.entity-avatar.cyan{background:linear-gradient(135deg,#06b6d4,#0891b2);box-shadow:0 2px 6px rgba(6,182,212,.25)}.entity-avatar.red{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px rgba(239,68,68,.25)}.entity-avatar.gray{background:linear-gradient(135deg,#94a3b8,#64748b);box-shadow:0 2px 6px rgba(100,116,139,.25)}.entity-title{font-size:13.5px;font-weight:600;color:#0f172a;line-height:1.4;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .15s}.entity-title:hover{color:#2563eb}.entity-no{font-size:11px;color:#94a3b8;margin-top:2px;font-family:Consolas,monospace}.entity-body{padding:10px 14px 12px;flex:1}.entity-meta{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:10px}.entity-meta-item{font-size:12px;color:#475569;display:flex;align-items:center;gap:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-meta-item i{color:#94a3b8;font-size:11px}.entity-metrics{display:flex;align-items:center;background:#f8fafc;border-radius:8px;padding:10px 12px;margin-bottom:10px}.entity-metric{flex:1;text-align:center;min-width:0}.entity-metric .m-value{font-size:15px;font-weight:700;color:#0f172a;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-metric .m-value.blue{color:#2563eb}.entity-metric .m-value.red{color:#ef4444}.entity-metric .m-value.green{color:#059669}.entity-metric .m-value.orange{color:#d97706}.entity-metric .m-value.purple{color:#7c3aed}.entity-metric .m-label{font-size:10.5px;color:#94a3b8;margin-top:3px}.entity-metric-divider{width:1px;height:24px;background:#e2e8f0;flex-shrink:0}.entity-tags{display:flex;flex-wrap:wrap;gap:5px}.entity-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid #f1f5f9;background:#fafbfc}.entity-footer-meta{display:flex;align-items:center;gap:7px;min-width:0;font-size:11.5px;color:#64748b}.entity-footer-meta i{font-size:10.5px;color:#94a3b8}.entity-actions{display:flex;gap:10px;opacity:0;transition:opacity .2s}.entity-card:hover .entity-actions{opacity:1}.entity-checkbox{position:absolute;top:10px;right:10px;z-index:2;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:15px;color:#cbd5e1;opacity:0;transition:all .2s;background:hsla(0,0%,100%,.9);border-radius:4px}.entity-card.selected .entity-checkbox,.entity-card:hover .entity-checkbox{opacity:1}.entity-card.selected .entity-checkbox,.entity-checkbox:hover{color:#2563eb}.score-stars{color:#f59e0b;font-size:12px;letter-spacing:1px}.score-stars .off{color:#e2e8f0}@media (max-width:1400px){.entity-card-grid{grid-template-columns:repeat(2,1fr)}}.plan-progress-ring{width:58px;height:58px;flex-shrink:0;box-shadow:0 2px 8px rgba(0,0,0,.06)}.plan-progress-inner,.plan-progress-ring{border-radius:50%;display:flex;align-items:center;justify-content:center}.plan-progress-inner{width:46px;height:46px;background:#fff}.plan-progress-inner .num{font-size:13px;font-weight:700;color:#303133}.entity-info-list{display:flex;flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;border-top:1px dashed #f1f5f9}.entity-info-item{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#64748b}.entity-info-item i{font-size:11px;color:#94a3b8;width:14px}.talent-nav-item{display:flex;align-items:center;padding:9px 16px;cursor:pointer;transition:all .2s;font-size:13px;color:#606266;border-radius:6px;margin:2px 8px}.talent-nav-item:hover{background:linear-gradient(90deg,#ecf5ff,#f5faff);color:#2563eb}.talent-nav-item.active{background:linear-gradient(90deg,#2563eb,#1d4ed8);color:#fff;font-weight:500;box-shadow:0 2px 8px rgba(37,99,235,.3)}.talent-nav-item .nav-icon{margin-right:10px;width:16px;text-align:center}.talent-nav-item .nav-count{margin-left:auto;font-size:11px;color:#94a3b8;background:#f1f5f9;padding:1px 7px;border-radius:9px}.talent-nav-item.active .nav-count{background:hsla(0,0%,100%,.25);color:#fff}.level-dot{width:8px;height:8px;border-radius:50%;margin-right:10px}.level-dot.level-A{background:#ef4444}.level-dot.level-B{background:#2563eb}.level-dot.level-C{background:#94a3b8}.talent-tag-chip{display:inline-block;padding:3px 10px;margin:3px;font-size:12px;background:#f4f4f5;color:#475569;border-radius:11px;cursor:pointer;transition:all .2s;border:1px solid transparent}.talent-tag-chip:hover{border-color:#2563eb;color:#2563eb}.talent-tag-chip.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 6px rgba(37,99,235,.3)}.level-badge{display:inline-block;padding:1px 8px;font-size:11px;font-weight:600;border-radius:9px;vertical-align:middle}.level-badge.level-A{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 2px 4px rgba(239,68,68,.3)}.level-badge.level-B{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;box-shadow:0 2px 4px rgba(37,99,235,.3)}.level-badge.level-C{background:linear-gradient(135deg,#94a3b8,#64748b);color:#fff}.talent-tags{margin-top:6px}.talent-tag{display:inline-block;padding:1px 8px;margin:2px 4px 2px 0;font-size:11px;background:#eff6ff;color:#2563eb;border-radius:9px;border:1px solid #dbeafe}.talent-tag.more{background:#f4f4f5;color:#94a3b8;border-color:#e4e7ed}.talent-workyears{text-align:center;padding-left:8px;border-left:1px dashed #e4e7ed}.talent-workyears .num{font-size:22px;font-weight:700;color:#2563eb;line-height:1}.talent-workyears .lab{font-size:11px;color:#94a3b8;margin-top:2px}.drawer-tags{margin-top:8px}.follow-input{background:#f8fafc;padding:14px;border-radius:6px}@media (max-width:900px){.entity-card-grid{grid-template-columns:1fr}}.card-pagination{background:#fff;border-radius:8px;padding:10px 14px!important;border:1px solid rgba(226,232,240,.5);margin-top:12px!important}@media (max-width:1400px){.demand-card-grid{grid-template-columns:repeat(2,1fr)}.status-overview{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.demand-card-grid{grid-template-columns:1fr}.status-overview{grid-template-columns:repeat(2,1fr)}}.tag-sidebar{width:240px;flex-shrink:0}.tag-sidebar .page-card{background:#fff;border-radius:10px;box-shadow:0 1px 3px rgba(15,23,42,.08);overflow:hidden}.tag-sidebar .page-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #f1f5f9;font-weight:600;font-size:13.5px;color:#0f172a}.category-item{display:flex;align-items:center;padding:10px 16px;cursor:pointer;transition:all .2s;font-size:13px;color:#475569;position:relative;margin:2px 8px;border-radius:6px}.category-item:hover{background:#eff6ff;color:#2563eb}.category-item.active{background:linear-gradient(135deg,#2563eb,#1d4ed8);color:#fff;font-weight:500;box-shadow:0 2px 8px rgba(37,99,235,.25)}.category-item .category-icon{margin-right:10px;width:16px;text-align:center;font-size:14px}.category-item .category-color-dot{width:10px;height:10px;border-radius:50%;margin-right:10px}.category-item .category-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-item .category-count{font-size:11px;color:#94a3b8;background:#f1f5f9;padding:2px 8px;border-radius:10px;font-weight:500}.category-item.active .category-count{background:hsla(0,0%,100%,.25);color:#fff}.category-item .category-actions{opacity:0;margin-left:4px;transition:opacity .2s}.category-item:hover .category-actions{opacity:1}.tag-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.tag-card{background:#fff;border-radius:10px;padding:14px;border:1px solid #e2e8f0;cursor:pointer;transition:all .25s;position:relative;overflow:hidden}.tag-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,23,42,.1);border-color:#cbd5e1}.tag-card-color-bar{position:absolute;top:0;left:0;right:0;height:4px}.tag-card-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.tag-card-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 3px hsla(0,0%,100%,.7)}.tag-card-name{font-size:13.5px;font-weight:600;color:#0f172a;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-card-category{font-size:11px;color:#94a3b8;margin-bottom:8px}.tag-card-meta{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px dashed #f1f5f9}.tag-card-meta .use-count{font-size:18px;font-weight:700;color:#2563eb;line-height:1}.tag-card-meta .use-label{font-size:11px;color:#94a3b8}.tag-card-actions{position:absolute;top:10px;right:10px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.tag-card:hover .tag-card-actions{opacity:1}.tag-card-action-btn{width:26px;height:26px;border-radius:6px;background:hsla(0,0%,100%,.9);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;color:#64748b;transition:all .2s}.tag-card-action-btn:hover{background:#2563eb;color:#fff}.tag-card-action-btn.danger:hover{background:#ef4444}.color-presets{display:flex;flex-wrap:wrap;gap:8px}.color-option{width:28px;height:28px;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:all .2s}.color-option:hover{transform:scale(1.1)}.color-option.active{border-color:#0f172a;box-shadow:0 2px 8px rgba(0,0,0,.15)}.color-picker-wrap{display:flex;align-items:flex-start;flex-wrap:wrap;gap:12px}.color-input-preview{display:inline-block;width:20px;height:20px;border-radius:4px;vertical-align:middle;margin-right:6px}