@charset "UTF-8";#app{width:100%;height:100vh;overflow:hidden}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background-color:#f5f7fa}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.t-table__body tr:hover{background-color:#fafafa}.main-layout[data-v-4cd9ada1]{height:100vh;display:flex;flex-direction:column;background-color:#f5f7fa;overflow:hidden}@media (max-width: 768px){.main-layout[data-v-4cd9ada1]{min-height:100vh}.header[data-v-4cd9ada1]{padding:0 12px;height:56px}.header .header-left .logo .logo-text[data-v-4cd9ada1]{display:none}.header .header-right[data-v-4cd9ada1]{gap:8px}.header .header-right .user-info[data-v-4cd9ada1]{padding:4px}.header .header-right .user-info .user-name[data-v-4cd9ada1]{display:none}.header .header-right[data-v-4cd9ada1] .t-button{padding:8px}.sidebar[data-v-4cd9ada1]{position:fixed;left:-232px;top:56px;height:calc(100vh - 56px);z-index:100;box-shadow:2px 0 8px #0000001a;transition:left .3s}.sidebar.mobile-open[data-v-4cd9ada1]{left:0}.sidebar[data-v-4cd9ada1] .t-menu{height:calc(100vh - 116px)}.sidebar .sidebar-collapse[data-v-4cd9ada1]{display:none}.content[data-v-4cd9ada1]{padding:12px}.content .content-header[data-v-4cd9ada1]{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px;margin-bottom:12px}.content .content-header .content-actions[data-v-4cd9ada1]{width:100%;flex-wrap:wrap}.content .content-body[data-v-4cd9ada1]{padding:16px}.footer .footer-content[data-v-4cd9ada1]{flex-direction:column;gap:8px;text-align:center}.footer .footer-content .footer-links[data-v-4cd9ada1]{flex-wrap:wrap;justify-content:center;gap:12px}}@media (min-width: 768px) and (max-width: 992px){.header .header-left .logo .logo-text[data-v-4cd9ada1]{font-size:16px}.content[data-v-4cd9ada1]{padding:16px}.content .content-header[data-v-4cd9ada1]{padding:12px 16px;margin-bottom:16px}.content .content-body[data-v-4cd9ada1]{padding:16px}}.header[data-v-4cd9ada1]{display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:linear-gradient(135deg,#1890ff,#36c6d3);color:#fff;height:64px;flex-shrink:0}.header .header-left[data-v-4cd9ada1]{display:flex;align-items:center}.header .header-left .logo[data-v-4cd9ada1]{display:flex;align-items:center;gap:12px;cursor:pointer}.header .header-left .logo .logo-icon[data-v-4cd9ada1]{font-size:28px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px}.header .header-left .logo .logo-text[data-v-4cd9ada1]{font-size:20px;font-weight:600;color:#fff}.header .header-right[data-v-4cd9ada1]{display:flex;align-items:center;gap:16px}.header .header-right .user-info[data-v-4cd9ada1]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s}.header .header-right .user-info[data-v-4cd9ada1]:hover{background-color:#ffffff1a}.header .header-right .user-info .user-name[data-v-4cd9ada1]{font-size:14px;color:#fff}.header .header-right[data-v-4cd9ada1] .t-button{color:#fff}.header .header-right[data-v-4cd9ada1] .t-button:hover{background-color:#ffffff1a}.header .header-right[data-v-4cd9ada1] .t-badge__count{top:2px;right:2px}.sidebar[data-v-4cd9ada1]{position:relative;background-color:#fff;border-right:1px solid #e5e5e5;transition:width .2s}.sidebar[data-v-4cd9ada1] .t-menu{height:calc(100vh - 64px)}.sidebar[data-v-4cd9ada1] .t-menu .t-menu__item{padding:12px 20px;margin:4px 8px;border-radius:6px;transition:all .2s}.sidebar[data-v-4cd9ada1] .t-menu .t-menu__item:hover{background-color:#f0f7ff}.sidebar[data-v-4cd9ada1] .t-menu .t-menu__item--active{background-color:#e6f7ff;color:#1890ff}.sidebar .sidebar-collapse[data-v-4cd9ada1]{position:absolute;bottom:20px;right:-12px;width:24px;height:24px;background-color:#fff;border:1px solid #e5e5e5;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #0000001a;transition:all .2s;z-index:10}.sidebar .sidebar-collapse[data-v-4cd9ada1]:hover{background-color:#f5f5f5;transform:scale(1.1)}.content-layout[data-v-4cd9ada1]{flex:1;display:flex;flex-direction:column;background-color:#f5f7fa;overflow:hidden}.content[data-v-4cd9ada1]{flex:1;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch}.content .content-header[data-v-4cd9ada1]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:16px 24px;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;flex-shrink:0}.content .content-header .content-actions[data-v-4cd9ada1]{display:flex;gap:12px}.content .content-body[data-v-4cd9ada1]{background-color:#fff;border-radius:8px;padding:24px;min-height:400px;box-shadow:0 2px 8px #0000000d;overflow-y:auto;max-height:calc(100vh - 180px)}.footer[data-v-4cd9ada1]{flex-shrink:0;padding:16px 20px;background-color:#fff;border-top:1px solid #e5e5e5}.footer .footer-content[data-v-4cd9ada1]{display:flex;align-items:center;justify-content:space-between;color:#666;font-size:14px}.footer .footer-content .footer-links[data-v-4cd9ada1]{display:flex;gap:24px}.footer .footer-content .footer-links a[data-v-4cd9ada1]{color:#666;text-decoration:none;transition:color .2s}.footer .footer-content .footer-links a[data-v-4cd9ada1]:hover{color:#1890ff}.dashboard[data-v-d75a61ae]{padding-right:4px;padding-bottom:20px}.dashboard .stat-cards[data-v-d75a61ae]{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:20px}@media (max-width: 1200px){.dashboard .stat-cards[data-v-d75a61ae]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dashboard .stat-cards[data-v-d75a61ae]{grid-template-columns:1fr;gap:12px}}.dashboard .stat-cards .stat-card[data-v-d75a61ae]{transition:transform .3s}.dashboard .stat-cards .stat-card[data-v-d75a61ae]:hover{transform:translateY(-4px)}.dashboard .stat-cards .stat-card .stat-card-header[data-v-d75a61ae]{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.dashboard .stat-cards .stat-card .stat-card-header .stat-icon[data-v-d75a61ae]{color:#1890ff;font-size:18px}.dashboard .stat-cards .stat-card .stat-card-content[data-v-d75a61ae]{padding:16px 0}.dashboard .stat-cards .stat-card .stat-card-content .stat-value[data-v-d75a61ae]{font-size:32px;font-weight:600;color:#333;margin-bottom:8px}@media (max-width: 768px){.dashboard .stat-cards .stat-card .stat-card-content .stat-value[data-v-d75a61ae]{font-size:28px}}.dashboard .stat-cards .stat-card .stat-card-content .stat-trend[data-v-d75a61ae]{display:flex;align-items:center;gap:4px;font-size:14px;color:#666}.dashboard .stat-cards .stat-card .stat-card-content .stat-trend .positive[data-v-d75a61ae]{color:#52c41a}.dashboard .stat-cards .stat-card .stat-card-content .stat-trend .negative[data-v-d75a61ae]{color:#ff4d4f}.dashboard .chart-section[data-v-d75a61ae]{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media (max-width: 1200px){.dashboard .chart-section[data-v-d75a61ae]{grid-template-columns:1fr}}.dashboard .chart-section .chart-card .chart-container[data-v-d75a61ae]{margin-top:16px}@media (max-width: 768px){.dashboard .chart-section .chart-card .chart-container[data-v-d75a61ae] .echarts{height:250px!important}}.dashboard .table-section[data-v-d75a61ae]{margin-bottom:20px}.dashboard .table-section[data-v-d75a61ae] .t-card{overflow-x:auto}@media (max-width: 768px){.dashboard .table-section[data-v-d75a61ae] .t-table .t-table__th,.dashboard .table-section[data-v-d75a61ae] .t-table .t-table__td{padding:8px}}.dashboard .quick-actions .action-buttons[data-v-d75a61ae]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media (max-width: 1200px){.dashboard .quick-actions .action-buttons[data-v-d75a61ae]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.dashboard .quick-actions .action-buttons[data-v-d75a61ae]{grid-template-columns:1fr}}.dashboard .quick-actions .action-buttons[data-v-d75a61ae] .t-button{display:flex;align-items:center;justify-content:center;gap:8px;height:60px;border-radius:8px;border:2px dashed #e5e5e5;background-color:#fafafa}.dashboard .quick-actions .action-buttons[data-v-d75a61ae] .t-button:hover{border-color:#1890ff;background-color:#e6f7ff}@media (max-width: 768px){.dashboard .quick-actions .action-buttons[data-v-d75a61ae] .t-button{height:50px}}:root{--primary-color: #1890ff;--primary-color-hover: #40a9ff;--primary-color-active: #096dd9;--success-color: #52c41a;--success-color-hover: #73d13d;--success-color-active: #389e0d;--warning-color: #faad14;--warning-color-hover: #ffc53d;--warning-color-active: #d48806;--error-color: #ff4d4f;--error-color-hover: #ff7875;--error-color-active: #d9363e;--gray-1: #ffffff;--gray-2: #fafafa;--gray-3: #f5f5f5;--gray-4: #f0f0f0;--gray-5: #d9d9d9;--gray-6: #bfbfbf;--gray-7: #8c8c8c;--gray-8: #595959;--gray-9: #434343;--gray-10: #262626;--border-color: #e5e5e5;--border-color-hover: #bfbfbf;--border-radius-base: 6px;--border-radius-sm: 4px;--box-shadow-base: 0 2px 8px rgba(0, 0, 0, .05);--box-shadow-hover: 0 4px 12px rgba(0, 0, 0, .1);--box-shadow-active: 0 2px 4px rgba(0, 0, 0, .1);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 28px;--font-size-4xl: 32px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-base: 1.5;--line-height-lg: 1.75;--line-height-sm: 1.25;--transition-base: all .2s cubic-bezier(.645, .045, .355, 1);--transition-slow: all .3s cubic-bezier(.645, .045, .355, 1);--transition-fast: all .1s cubic-bezier(.645, .045, .355, 1)}*,*:before,*:after{box-sizing:border-box}html{font-size:14px;line-height:var(--line-height-base)}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--gray-10);background-color:var(--gray-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-center{text-align:center!important}.text-left{text-align:left!important}.text-right{text-align:right!important}.flex{display:flex!important}.flex-column{flex-direction:column!important}.flex-row{flex-direction:row!important}.flex-wrap{flex-wrap:wrap!important}.align-items-center{align-items:center!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.m-0{margin:0!important}.mt-1{margin-top:var(--space-xs)!important}.mt-2{margin-top:var(--space-sm)!important}.mt-3{margin-top:var(--space-md)!important}.mt-4{margin-top:var(--space-lg)!important}.mb-1{margin-bottom:var(--space-xs)!important}.mb-2{margin-bottom:var(--space-sm)!important}.mb-3{margin-bottom:var(--space-md)!important}.mb-4{margin-bottom:var(--space-lg)!important}.p-0{padding:0!important}.pt-1{padding-top:var(--space-xs)!important}.pt-2{padding-top:var(--space-sm)!important}.pt-3{padding-top:var(--space-md)!important}.pt-4{padding-top:var(--space-lg)!important}.pb-1{padding-bottom:var(--space-xs)!important}.pb-2{padding-bottom:var(--space-sm)!important}.pb-3{padding-bottom:var(--space-md)!important}.pb-4{padding-bottom:var(--space-lg)!important}.custom-scrollbar::-webkit-scrollbar{width:6px;height:6px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--gray-3);border-radius:var(--border-radius-sm)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--gray-6);border-radius:var(--border-radius-sm)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--gray-7)}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-in-up{animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 768px){.hidden-sm{display:none!important}}@media (min-width: 769px) and (max-width: 1200px){.hidden-md{display:none!important}}@media (min-width: 1201px){.hidden-lg{display:none!important}}.page-enter-active,.page-leave-active{transition:opacity .3s ease}.page-enter-from,.page-leave-to{opacity:0}
