:root{--tm-primary: #007AFF;--tm-primary-soft: rgba(0, 122, 255, .12);--tm-primary-hover: #0056CC;--tm-primary-muted: #4DA3FF;--tm-primary-subtle: rgba(0, 122, 255, .06);--tm-success: #34C759;--tm-success-soft: rgba(52, 199, 89, .12);--tm-success-muted: #6AD18E;--tm-warning: #FF9500;--tm-warning-soft: rgba(255, 149, 0, .12);--tm-warning-muted: #FFB84D;--tm-error: #FF3B30;--tm-error-soft: rgba(255, 59, 48, .12);--tm-error-muted: #FF7A73;--tm-info: #007AFF;--tm-info-soft: rgba(0, 122, 255, .12);--tm-purple: #AF52DE;--tm-purple-soft: rgba(175, 82, 222, .12);--tm-cyan: #5AC8FA;--tm-cyan-soft: rgba(90, 200, 250, .12);--tm-pink: #FF2D55;--tm-pink-soft: rgba(255, 45, 85, .12);--tm-orange: #FF9500;--tm-orange-soft: rgba(255, 149, 0, .12);--tm-teal: #5AC8FA;--tm-teal-soft: rgba(90, 200, 250, .12);--tm-indigo: #5856D6;--tm-indigo-soft: rgba(88, 86, 214, .12);--tm-text-1: #1C1C1E;--tm-text-2: #3C3C43;--tm-text-3: #8E8E93;--tm-text-4: #C7C7CC;--tm-bg-page: #F2F2F7;--tm-bg-1: #FFFFFF;--tm-bg-2: rgba(118, 118, 128, .08);--tm-bg-3: rgba(118, 118, 128, .12);--tm-bg-4: rgba(118, 118, 128, .2);--tm-border: rgba(60, 60, 67, .12);--tm-border-light: rgba(60, 60, 67, .06);--tm-border-subtle: rgba(60, 60, 67, .04);--tm-shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--tm-shadow-md: 0 4px 12px rgba(0, 0, 0, .06), 0 1px 4px rgba(0, 0, 0, .03);--tm-shadow-lg: 0 12px 40px rgba(0, 0, 0, .08), 0 4px 12px rgba(0, 0, 0, .04);--tm-shadow-float: 0 24px 80px rgba(0, 0, 0, .12), 0 8px 24px rgba(0, 0, 0, .06);--tm-radius-sm: 8px;--tm-radius-md: 12px;--tm-radius-lg: 16px;--tm-radius-xl: 20px;--tm-radius-2xl: 24px;--tm-space-1: 4px;--tm-space-2: 8px;--tm-space-3: 12px;--tm-space-4: 16px;--tm-space-5: 20px;--tm-space-6: 24px;--tm-space-7: 28px;--tm-space-8: 32px;--tm-space-10: 40px;--tm-space-12: 48px;--tm-page-gutter: 28px;--tm-section-gap: 24px;--tm-card-padding: 20px;--tm-list-item-gap: 8px;--tm-font-xs: 11px;--tm-font-sm: 13px;--tm-font-base: 15px;--tm-font-md: 16px;--tm-font-lg: 20px;--tm-font-xl: 24px;--tm-font-2xl: 28px;--tm-font-3xl: 34px;--tm-weight-normal: 400;--tm-weight-medium: 500;--tm-weight-semibold: 600;--tm-weight-bold: 700;--tm-ease: cubic-bezier(.25, .1, .25, 1);--tm-ease-out: cubic-bezier(0, 0, .25, 1);--tm-ease-in: cubic-bezier(.42, 0, 1, 1);--tm-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--tm-ring: 0 0 0 3px rgba(0, 122, 255, .25);--tm-ring-offset: 2px;--tm-sidebar-w: 260px;--tm-sidebar-collapsed-w: 72px;--tm-header-h: 52px;--tm-duration-fast: .15s;--tm-duration-normal: .25s;--tm-duration-slow: .35s}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--tm-bg-page);font-size:var(--tm-font-base);color:var(--tm-text-1);font-weight:var(--tm-weight-normal);line-height:1.5;letter-spacing:-.01em}::selection{background:#007aff26;color:var(--tm-text-1)}:focus-visible{outline:none;box-shadow:var(--tm-ring)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--tm-bg-3);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--tm-text-4)}::-webkit-scrollbar-track{background:transparent}.ant-layout{min-height:100vh}.ant-layout-sider{border-right:none!important}.ant-layout-sider .ant-layout-sider-children{display:flex;flex-direction:column}.ant-card{border:none;box-shadow:var(--tm-shadow-sm);transition:box-shadow var(--tm-duration-normal) var(--tm-ease),transform var(--tm-duration-normal) var(--tm-ease);border-radius:var(--tm-radius-lg)!important}.ant-card-bordered{border:none!important}@media(hover:hover){.ant-card:hover{box-shadow:var(--tm-shadow-md)}}.stat-card{border:none;background:var(--tm-bg-1)}.stat-card .ant-statistic-title{font-size:var(--tm-font-sm);color:var(--tm-text-3);font-weight:var(--tm-weight-medium)}.stat-card .ant-statistic-content{font-size:var(--tm-font-2xl);font-weight:var(--tm-weight-bold);color:var(--tm-text-1)}.ant-table{border-radius:var(--tm-radius-lg);overflow:hidden}.ant-table-container{border:none!important;border-radius:var(--tm-radius-lg)}.ant-table-thead>tr>th{font-weight:var(--tm-weight-semibold);font-size:var(--tm-font-sm);color:var(--tm-text-3);background:var(--tm-bg-2)!important;border-bottom:none;padding:12px 16px}.ant-table-tbody>tr>td{border-bottom:1px solid var(--tm-border-light);font-size:var(--tm-font-sm);padding:12px 16px}.ant-table-tbody>tr:hover>td{background:var(--tm-bg-2)!important}.ant-table-tbody>tr:last-child>td{border-bottom:none}.ant-table-cell{border-inline-end:none!important}.tm-table-cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%}.ant-tag{font-weight:var(--tm-weight-medium);border:none;line-height:20px;font-size:var(--tm-font-xs);padding:2px 8px;border-radius:6px}.ant-btn{transition:all var(--tm-duration-normal) var(--tm-ease);border-radius:var(--tm-radius-md);font-weight:var(--tm-weight-medium)}.ant-btn-primary{box-shadow:0 1px 3px #007aff33}@media(hover:hover){.ant-btn-primary:hover{box-shadow:0 2px 8px #007aff4d;transform:translateY(-.5px)}.ant-btn:active{transform:scale(.97)}}.ant-descriptions-item-label{color:var(--tm-text-3)!important;font-size:var(--tm-font-sm)!important;font-weight:var(--tm-weight-medium)!important}.ant-descriptions-item-content{color:var(--tm-text-2)!important;font-size:var(--tm-font-sm)!important}.ant-divider-horizontal{margin:var(--tm-space-4) 0!important}.kanban-column{background:var(--tm-bg-2);border-radius:var(--tm-radius-lg);border:none;padding:var(--tm-space-4);min-height:120px}.kanban-card{background:var(--tm-bg-1);border:none;border-radius:var(--tm-radius-md);padding:14px;margin-bottom:var(--tm-space-2);cursor:pointer;transition:all var(--tm-duration-normal) var(--tm-ease);box-shadow:var(--tm-shadow-sm)}@media(hover:hover){.kanban-card:hover{box-shadow:var(--tm-shadow-md);transform:scale(1.01)}.kanban-card:active{transform:scale(.98);box-shadow:var(--tm-shadow-sm)}}.glass-card{background:#ffffffb8;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.5)}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.page-fade-in{animation:fadeIn var(--tm-duration-normal) var(--tm-ease-out)}.skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--tm-bg-2) 25%,var(--tm-bg-3) 50%,var(--tm-bg-2) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-card{border-radius:var(--tm-radius-lg);background:var(--tm-bg-1);border:none;padding:var(--tm-space-4);box-shadow:var(--tm-shadow-sm)}.skeleton-card .skeleton-line{margin-bottom:var(--tm-space-2)}.skeleton-card .skeleton-line:last-child{width:60%;margin-bottom:0}.skeleton-stat{display:flex;flex-direction:column;gap:var(--tm-space-2);padding:var(--tm-space-4);background:var(--tm-bg-1);border-radius:var(--tm-radius-lg);border:none;box-shadow:var(--tm-shadow-sm)}.skeleton-stat .skeleton-line:first-child{width:40%;height:10px}.skeleton-stat .skeleton-line:last-child{width:50%;height:20px}.page-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#fff9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10;border-radius:var(--tm-radius-lg)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--tm-space-6)}.page-header-title{font-size:var(--tm-font-xl)!important;font-weight:var(--tm-weight-bold)!important;color:var(--tm-text-1)!important;margin:0!important;line-height:1.2!important;letter-spacing:-.02em}.page-header-subtitle{font-size:var(--tm-font-sm);color:var(--tm-text-3);font-weight:var(--tm-weight-normal);margin-top:4px}.tm-tag{font-size:var(--tm-font-xs)!important;border-radius:6px!important;padding:2px 8px!important;line-height:18px!important;font-weight:var(--tm-weight-medium)!important;border:none!important}.tm-tag-lg{font-size:var(--tm-font-sm)!important;padding:3px 10px!important;line-height:20px!important;font-weight:var(--tm-weight-medium)!important}.tm-btn{border-radius:var(--tm-radius-md)!important;font-size:var(--tm-font-sm)!important;height:36px!important;padding:0 16px!important;transition:all var(--tm-duration-normal) var(--tm-ease)!important;font-weight:var(--tm-weight-medium)!important}.tm-btn-sm{height:28px!important;padding:0 12px!important;font-size:var(--tm-font-xs)!important;transition:all var(--tm-duration-normal) var(--tm-ease)!important;font-weight:var(--tm-weight-medium)!important;border-radius:8px!important}.tm-modal .ant-modal-content{border-radius:var(--tm-radius-2xl)!important;border:none;box-shadow:var(--tm-shadow-float);overflow:hidden}.tm-modal .ant-modal-header{border-radius:var(--tm-radius-2xl) var(--tm-radius-2xl) 0 0!important;border-bottom:1px solid var(--tm-border-light)}.tm-modal-title{font-weight:var(--tm-weight-semibold)!important;font-size:var(--tm-font-md)!important;color:var(--tm-text-1)!important}.ant-layout-sider .ant-menu-item:hover{background:var(--tm-primary-soft)!important;color:var(--tm-primary)!important}.tm-desc .ant-descriptions-item-label,.tm-desc .ant-descriptions-item-content{font-size:var(--tm-font-sm)!important}.ant-layout-sider .ant-menu{background:transparent!important}.ant-layout-sider .ant-menu-item-group-title{font-size:var(--tm-font-xs)!important;color:var(--tm-text-3)!important;text-transform:uppercase!important;letter-spacing:.08em!important;font-weight:var(--tm-weight-semibold)!important;padding:20px 16px 6px!important;line-height:1!important}.ant-layout-sider .ant-menu-item{margin:2px 8px!important;border-radius:var(--tm-radius-md)!important;height:38px!important;line-height:38px!important;color:var(--tm-text-2)!important;font-weight:var(--tm-weight-medium)!important;font-size:var(--tm-font-sm)!important}.ant-layout-sider .ant-menu-item-selected{background:var(--tm-primary-soft)!important;color:var(--tm-primary)!important;font-weight:var(--tm-weight-semibold)!important;box-shadow:none!important}.ant-layout-sider .ant-menu-item-selected .anticon{color:var(--tm-primary)!important}.ant-layout-sider .ant-menu-item .anticon{color:var(--tm-text-3)!important;font-size:15px!important}.ant-layout-sider .ant-menu-item:hover .anticon{color:var(--tm-primary)!important}.ant-descriptions-view{border:none!important;border-radius:var(--tm-radius-md);overflow:hidden}.ant-descriptions-row>th,.ant-descriptions-row>td{border-bottom:1px solid var(--tm-border-light)!important;padding:10px 16px!important}.ant-descriptions-row:last-child>th,.ant-descriptions-row:last-child>td{border-bottom:none!important}.ant-modal-mask{background:#0003!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.ant-list-item{transition:background var(--tm-duration-normal) var(--tm-ease);border-radius:var(--tm-radius-md)}.ant-list-item:hover{background:var(--tm-bg-2)}.ant-statistic-title{font-size:var(--tm-font-sm)!important;color:var(--tm-text-3)!important;font-weight:var(--tm-weight-medium)!important}.ant-statistic-content{font-size:var(--tm-font-2xl)!important;font-weight:var(--tm-weight-bold)!important;color:var(--tm-text-1)}.ant-progress-text{font-weight:var(--tm-weight-medium);color:var(--tm-text-2)}.ai-markdown p{margin:0 0 8px}.ai-markdown p:last-child{margin-bottom:0}.ai-markdown h1,.ai-markdown h2,.ai-markdown h3{margin:12px 0 6px;font-size:15px;font-weight:600}.ai-markdown h1:first-child,.ai-markdown h2:first-child,.ai-markdown h3:first-child{margin-top:0}.ai-markdown ul,.ai-markdown ol{margin:4px 0;padding-left:18px}.ai-markdown li{margin:2px 0}.ai-markdown code{background:var(--tm-bg-2);padding:2px 6px;border-radius:4px;font-size:12px;font-family:SF Mono,Fira Code,monospace}.ai-markdown pre{background:#1c1c1e;color:#f2f2f7;padding:12px 16px;border-radius:var(--tm-radius-md);overflow-x:auto;margin:8px 0;font-size:12px}.ai-markdown pre code{background:none;padding:0;color:inherit;font-size:12px}.ai-markdown blockquote{border-left:3px solid var(--tm-primary);padding-left:12px;margin:8px 0;color:var(--tm-text-2)}.ai-markdown table{border-collapse:collapse;margin:8px 0;font-size:12px;width:100%}.ai-markdown th,.ai-markdown td{border:1px solid var(--tm-border);padding:6px 10px;text-align:left}.ai-markdown th{background:var(--tm-bg-2);font-weight:600}.ai-markdown strong{font-weight:600}.ai-markdown hr{border:none;border-top:1px solid var(--tm-border);margin:10px 0}.ios-card{background:var(--tm-bg-1);border-radius:var(--tm-radius-lg);box-shadow:var(--tm-shadow-sm);overflow:hidden}.ios-section-header{font-size:var(--tm-font-xs);font-weight:var(--tm-weight-semibold);color:var(--tm-text-3);text-transform:uppercase;letter-spacing:.06em;padding:0 0 var(--tm-space-2) 0}.ios-list-item{display:flex;align-items:center;padding:12px 16px;background:var(--tm-bg-1);border-bottom:1px solid var(--tm-border-light);transition:background var(--tm-duration-fast) var(--tm-ease);cursor:pointer}.ios-list-item:first-child{border-radius:var(--tm-radius-lg) var(--tm-radius-lg) 0 0}.ios-list-item:last-child{border-radius:0 0 var(--tm-radius-lg) var(--tm-radius-lg);border-bottom:none}.ios-list-item:only-child{border-radius:var(--tm-radius-lg)}@media(hover:hover){.ios-list-item:hover{background:var(--tm-bg-2)}}.ios-list-item:active{background:var(--tm-bg-3)}.ios-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;font-size:var(--tm-font-xs);font-weight:var(--tm-weight-semibold);line-height:1}.ios-badge-primary{background:var(--tm-primary);color:#fff}.ios-badge-error{background:var(--tm-error);color:#fff}.ios-badge-warning{background:var(--tm-warning);color:#fff}.ios-badge-success{background:var(--tm-success);color:#fff}.ios-badge-muted{background:var(--tm-bg-3);color:var(--tm-text-2)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state-icon{font-size:48px;color:var(--tm-text-4);margin-bottom:16px}.empty-state-title{font-size:var(--tm-font-md);font-weight:var(--tm-weight-semibold);color:var(--tm-text-2);margin-bottom:6px}.empty-state-desc{font-size:var(--tm-font-sm);color:var(--tm-text-3);max-width:320px;line-height:1.5}.onboarding-tip{background:var(--tm-primary-soft);border-radius:var(--tm-radius-md);padding:12px 16px;display:flex;align-items:flex-start;gap:10px;margin-bottom:16px}.onboarding-tip-icon{color:var(--tm-primary);font-size:16px;flex-shrink:0;margin-top:1px}.onboarding-tip-text{font-size:var(--tm-font-sm);color:var(--tm-text-2);line-height:1.5}.onboarding-tip-text strong{color:var(--tm-text-1);font-weight:var(--tm-weight-semibold)}
