@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";.tc-app{min-height:100vh;background:var(--tc-bg);display:flex;flex-direction:column}.tc-header{background:var(--tc-white);border-bottom:1px solid var(--tc-border);position:sticky;top:0;z-index:1000;box-shadow:0 1px 4px #0000000a}.tc-header-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:54px;gap:8px}.tc-logo{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--tc-text);text-decoration:none;letter-spacing:-.4px;flex-shrink:0;transition:opacity .15s}.tc-logo:hover{opacity:.85}.tc-logo-icon{width:32px;height:32px;background:var(--tc-primary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px}.tc-logo span{color:var(--tc-primary)}.tc-nav{display:flex;align-items:center;height:100%;gap:0;flex:1;justify-content:center}.tc-nav-item{position:relative;height:100%;display:flex;align-items:center}.tc-nav-link{display:flex;align-items:center;gap:5px;padding:0 13px;height:100%;color:var(--tc-text-secondary);text-decoration:none;font-size:13px;font-weight:500;font-family:var(--font-body);border:none;border-bottom:2px solid transparent;border-top:2px solid transparent;background:none;cursor:pointer;transition:color .15s,border-color .15s;letter-spacing:.1px;white-space:nowrap}.tc-nav-link:hover,.tc-nav-link.active{color:var(--tc-primary);border-bottom-color:var(--tc-primary)}.tc-nav-link .anticon.tc-nav-caret{font-size:9px;margin-left:1px;transition:transform .2s}.tc-nav-item:hover .tc-nav-link .anticon.tc-nav-caret{transform:rotate(180deg)}.tc-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.tc-header-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:none;background:transparent;cursor:pointer;color:var(--tc-text-secondary);font-size:18px;transition:background .15s,color .15s;position:relative}.tc-header-action-btn:hover{background:var(--tc-primary-light);color:var(--tc-primary)}.tc-quick-add-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid var(--tc-border);background:var(--tc-white);cursor:pointer;color:var(--tc-primary);font-size:15px;transition:all .15s}.tc-quick-add-btn:hover{background:var(--tc-primary);color:#fff;border-color:var(--tc-primary)}.tc-header-divider{width:1px;height:24px;background:var(--tc-border);margin:0 6px}.tc-user-trigger{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:8px;cursor:pointer;border:none;background:none;transition:background .15s;font-family:var(--font-body)}.tc-user-trigger:hover{background:#f0f0f0}.tc-user-avatar{width:30px;height:30px;border-radius:8px;background:var(--tc-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;font-family:var(--font-display)}.tc-user-info{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.tc-user-name{font-size:13px;font-weight:600;color:var(--tc-text)}.tc-user-role{font-size:11px;color:var(--tc-text-secondary);font-weight:400}.tc-user-caret{font-size:9px;color:var(--tc-text-secondary)}.mega-menu-overlay{position:absolute;top:100%;left:0;right:0;background:var(--tc-white);border-top:2px solid var(--tc-primary);box-shadow:0 12px 40px #00000014,0 2px 8px #0000000a;z-index:1001;padding:0;animation:megaSlide .18s ease}@keyframes megaSlide{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mega-menu-container{max-width:1440px;margin:0 auto;padding:24px 28px 28px}.mega-menu-grid{display:grid;gap:32px}.mega-menu-section h4{font-size:10px;font-weight:700;color:var(--tc-text-secondary);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--tc-border)}.mega-menu-link{display:flex;align-items:center;gap:10px;padding:8px 10px;color:var(--tc-text);text-decoration:none;border-radius:6px;font-size:13px;font-weight:450;transition:all .12s ease}.mega-menu-link:hover{background:var(--tc-primary-light);color:var(--tc-primary)}.mega-menu-link .anticon{font-size:15px;color:var(--tc-primary);opacity:.6;width:20px;text-align:center}.mega-menu-link:hover .anticon{opacity:1}.mega-menu-footer{margin-top:20px;padding-top:16px;border-top:1px solid var(--tc-border);display:flex;align-items:center;gap:12px}.mega-menu-quick-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:6px;border:1px solid var(--tc-border);background:var(--tc-bg);color:var(--tc-text);font-size:12px;font-weight:500;font-family:var(--font-body);cursor:pointer;transition:all .15s;text-decoration:none}.mega-menu-quick-btn:hover{border-color:var(--tc-primary);color:var(--tc-primary);background:var(--tc-primary-light)}.mega-menu-quick-btn .anticon{font-size:12px;color:var(--tc-primary)}.tc-content{max-width:1440px;margin:0 auto;padding:20px 28px 40px;flex:1;width:100%}.tc-breadcrumb-bar{margin-bottom:6px}.tc-breadcrumb-bar .ant-breadcrumb{font-size:12px;font-family:var(--font-body)}.tc-breadcrumb-bar .ant-breadcrumb a{color:var(--tc-text-secondary)}.tc-breadcrumb-bar .ant-breadcrumb a:hover{color:var(--tc-primary)}.tc-page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.tc-page-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--tc-text);letter-spacing:-.3px;margin:0;line-height:1.3}.tc-page-subtitle{font-size:13px;color:var(--tc-text-secondary);font-weight:400;margin-top:2px}.tc-footer{border-top:1px solid var(--tc-border);background:var(--tc-white);padding:16px 28px;margin-top:auto}.tc-footer-inner{max-width:1440px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.tc-footer-left{font-size:12px;color:var(--tc-text-secondary);font-weight:400}.tc-footer-left strong{color:var(--tc-text);font-weight:600}.tc-footer-right{display:flex;align-items:center;gap:20px}.tc-footer-link{font-size:12px;color:var(--tc-text-secondary);text-decoration:none;font-weight:450;transition:color .15s}.tc-footer-link:hover{color:var(--tc-primary)}.tc-footer-version{font-size:11px;color:#bbb;font-weight:400;padding:2px 8px;background:var(--tc-bg);border-radius:4px}.tc-content .ant-card{border-radius:10px;border:1px solid var(--tc-border);box-shadow:0 1px 3px #00000008;font-family:var(--font-body)}.tc-content .ant-card-head{border-bottom:1px solid var(--tc-border);font-family:var(--font-display);font-weight:600;font-size:14px;min-height:44px;padding:0 20px}.tc-content .ant-card-body{padding:20px}.tc-content .ant-statistic-title{font-family:var(--font-body);font-size:12px;font-weight:500;color:var(--tc-text-secondary);margin-bottom:6px}.tc-content .ant-statistic-content{font-family:var(--font-display);font-weight:700}.tc-content .ant-statistic-content-value{font-size:24px}.tc-mobile-toggle{display:none;width:36px;height:36px;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;color:var(--tc-text);font-size:20px;border-radius:6px;transition:background .15s}.tc-mobile-toggle:hover{background:#f0f0f0}.tc-mobile-drawer-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:1100;animation:fadeIn .2s ease}.tc-mobile-drawer-overlay.open{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.tc-mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;background:var(--tc-white);z-index:1101;overflow-y:auto;animation:slideRight .25s ease;box-shadow:4px 0 20px #0000001a}@keyframes slideRight{0%{transform:translate(-100%)}to{transform:translate(0)}}.tc-mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--tc-border)}.tc-mobile-drawer-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;cursor:pointer;border-radius:6px;font-size:16px;color:var(--tc-text-secondary);transition:background .15s}.tc-mobile-drawer-close:hover{background:#f0f0f0}.tc-mobile-nav-section{padding:12px 16px}.tc-mobile-nav-section-title{font-size:10px;font-weight:700;color:var(--tc-text-secondary);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px;padding:0 8px}.tc-mobile-nav-link{display:flex;align-items:center;gap:10px;padding:10px 8px;color:var(--tc-text);text-decoration:none;border-radius:6px;font-size:14px;font-weight:450;transition:background .12s}.tc-mobile-nav-link:hover{background:var(--tc-primary-light);color:var(--tc-primary)}.tc-mobile-nav-link .anticon{font-size:16px;color:var(--tc-primary);opacity:.6;width:20px;text-align:center}.tc-mobile-nav-divider{height:1px;background:var(--tc-border);margin:4px 16px}@media(max-width:1200px){.tc-header-inner{padding:0 20px}.tc-content{padding:16px 20px 32px}.tc-nav-link{padding:0 10px;font-size:12.5px}}@media(max-width:960px){.tc-nav{display:none}.tc-mobile-toggle{display:flex}.tc-user-info,.tc-user-caret{display:none}.tc-header-inner{height:50px;padding:0 16px}.tc-content{padding:14px 16px 28px}.tc-footer-right{display:none}.tc-footer-inner{justify-content:center}.tc-footer{padding:12px 16px}.mega-menu-overlay{display:none}}@media(max-width:576px){.tc-header-inner{padding:0 12px}.tc-content{padding:12px 12px 24px}.tc-header-divider,.tc-quick-add-btn{display:none}}:root{--tc-primary: #0f5fc2;--tc-primary-light: #e8f1fb;--tc-primary-hover: #0d4fa3;--tc-text: #1a1a2e;--tc-text-secondary: #6b7280;--tc-border: #e5e7eb;--tc-bg: #f8f9fb;--tc-white: #ffffff;--tc-accent: #d97706;--tc-accent-light: #fef3c7;--tc-success: #059669;--tc-danger: #dc2626;--font-body: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background-color:var(--tc-bg);color:var(--tc-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}@media(max-width:960px){.auth-shell{grid-template-columns:1fr}.auth-showcase{display:none}}.auth-showcase{background:var(--tc-white);border-right:1px solid var(--tc-border);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;position:relative;overflow:hidden}.auth-showcase:before{content:"";position:absolute;top:-120px;right:-120px;width:400px;height:400px;border:1px solid var(--tc-border);border-radius:50%;opacity:.5}.auth-showcase:after{content:"";position:absolute;bottom:-80px;left:-80px;width:300px;height:300px;border:1px solid var(--tc-border);border-radius:50%;opacity:.4}.showcase-content{position:relative;z-index:1;max-width:440px;text-align:left}.showcase-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--tc-primary-light);color:var(--tc-primary);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;border-radius:20px;margin-bottom:28px}.showcase-title{font-family:var(--font-display);font-size:42px;font-weight:700;line-height:1.15;color:var(--tc-text);margin-bottom:20px;letter-spacing:-.5px}.showcase-title em{font-style:normal;color:var(--tc-primary)}.showcase-desc{font-size:16px;line-height:1.7;color:var(--tc-text-secondary);margin-bottom:40px}.showcase-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:32px;border-top:1px solid var(--tc-border)}.stat-item{text-align:left}.stat-number{font-family:var(--font-display);font-size:28px;font-weight:700;color:var(--tc-text);line-height:1;margin-bottom:4px}.stat-label{font-size:13px;color:var(--tc-text-secondary);font-weight:500}.showcase-decorative-line{position:absolute;top:40px;left:40px;width:40px;height:3px;background:var(--tc-primary)}.showcase-dots{position:absolute;bottom:40px;right:40px;display:grid;grid-template-columns:repeat(4,6px);gap:8px}.showcase-dots span{width:6px;height:6px;border-radius:50%;background:var(--tc-border)}.showcase-dots span:nth-child(1){background:var(--tc-primary)}.showcase-dots span:nth-child(5){background:var(--tc-accent)}.auth-form-panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 40px;background:var(--tc-bg);position:relative}.auth-form-container{width:100%;max-width:400px}.auth-brand{margin-bottom:40px}.auth-brand-logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-bottom:8px}.auth-brand-icon{width:40px;height:40px;background:var(--tc-primary);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.auth-brand-name{font-family:var(--font-display);font-size:24px;font-weight:700;color:var(--tc-text);letter-spacing:-.3px}.auth-brand-name span{color:var(--tc-primary)}.auth-heading{font-size:22px;font-weight:600;color:var(--tc-text);margin-bottom:4px;letter-spacing:-.2px}.auth-subheading{font-size:14px;color:var(--tc-text-secondary);line-height:1.5}.auth-form-container .ant-input-affix-wrapper,.auth-form-container .ant-input{border-radius:8px!important;border-color:var(--tc-border)!important;font-family:var(--font-body)!important;font-size:14px!important;transition:all .2s ease!important}.auth-form-container .ant-input-affix-wrapper-lg{padding:10px 14px!important}.auth-form-container .ant-input-affix-wrapper:hover,.auth-form-container .ant-input-affix-wrapper:focus,.auth-form-container .ant-input-affix-wrapper-focused{border-color:var(--tc-primary)!important;box-shadow:0 0 0 3px #0f5fc214!important}.auth-form-container .ant-input-prefix{color:var(--tc-text-secondary)!important;margin-right:10px!important}.auth-form-container .ant-btn-primary{background:var(--tc-primary)!important;border-color:var(--tc-primary)!important;border-radius:8px!important;font-family:var(--font-body)!important;font-weight:600!important;font-size:15px!important;height:46px!important;letter-spacing:.2px;box-shadow:0 1px 3px #0f5fc233!important;transition:all .2s ease!important}.auth-form-container .ant-btn-primary:hover{background:var(--tc-primary-hover)!important;box-shadow:0 4px 12px #0f5fc240!important;transform:translateY(-1px)}.auth-form-container .ant-checkbox-wrapper{font-family:var(--font-body)!important;font-size:13px!important;color:var(--tc-text-secondary)!important}.auth-form-container .ant-form-item{margin-bottom:20px!important}.auth-form-container .ant-input-group-addon{background:transparent!important}.auth-form-label{display:block;font-size:13px;font-weight:600;color:var(--tc-text);margin-bottom:6px;letter-spacing:.1px}.auth-forgot-link{font-size:13px;color:var(--tc-primary);font-weight:500;text-decoration:none;transition:color .2s}.auth-forgot-link:hover{color:var(--tc-primary-hover);text-decoration:underline}.auth-divider{display:flex;align-items:center;gap:16px;margin:24px 0;color:var(--tc-text-secondary);font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:500}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--tc-border)}.auth-footer{position:absolute;bottom:32px;left:0;right:0;text-align:center;font-size:12px;color:#9ca3af}.auth-footer a{color:var(--tc-text-secondary);text-decoration:none}.auth-footer a:hover{color:var(--tc-primary)}.auth-security{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px;padding:10px;background:var(--tc-white);border:1px solid var(--tc-border);border-radius:8px;font-size:12px;color:var(--tc-text-secondary)}.auth-security .anticon{color:var(--tc-success);font-size:14px}.auth-form-container .ant-alert{border-radius:8px!important;font-family:var(--font-body)!important;margin-bottom:20px!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-animate-1{animation:fadeInUp .5s ease .1s both}.auth-animate-2{animation:fadeInUp .5s ease .2s both}.auth-animate-3{animation:fadeInUp .5s ease .3s both}.auth-animate-4{animation:fadeInUp .5s ease .4s both}.auth-animate-5{animation:fadeInUp .5s ease .5s both}.auth-animate-6{animation:fadeInUp .5s ease .6s both}@keyframes tcFadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tc-page-enter{animation:tcFadeInUp .3s ease both}.tc-stagger-1{animation-delay:.05s}.tc-stagger-2{animation-delay:.1s}.tc-stagger-3{animation-delay:.15s}.tc-stagger-4{animation-delay:.2s}.tc-stagger-5{animation-delay:.25s}.tc-card-hover{transition:transform .15s ease,box-shadow .15s ease}.tc-card-hover:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}@keyframes tcPulse{0%,to{opacity:1}50%{opacity:.4}}.tc-skeleton{animation:tcPulse 1.5s ease-in-out infinite;background:#f0f0f0;border-radius:6px}.tc-filters-enter{animation:tcFadeInUp .2s ease both}.tc-step-content{animation:tcFadeIn .25s ease both}@keyframes tcFadeIn{0%{opacity:0}to{opacity:1}}.tc-status-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 10px 2px 8px;border-radius:10px;font-size:11px;font-weight:600;line-height:1.6}.tc-status-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}@keyframes tcTimelineEnter{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes tcSparkDraw{0%{stroke-dashoffset:300}to{stroke-dashoffset:0}}@keyframes tcKanbanDrop{0%{transform:scale(1.04);box-shadow:0 8px 24px #0000001f}60%{transform:scale(.98)}to{transform:scale(1);box-shadow:0 1px 3px #0000000f}}@keyframes tcCmdSlideDown{0%{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tcInlineExpand{0%{width:80%;opacity:.7}to{width:100%;opacity:1}}@keyframes tcShake{0%,to{transform:translate(0)}20%,60%{transform:translate(-4px)}40%,80%{transform:translate(4px)}}@keyframes tcTabContentEnter{0%{opacity:0;transform:translate(8px)}to{opacity:1;transform:translate(0)}}@keyframes tcCheckDraw{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}@keyframes tcProgressPulse{0%,to{box-shadow:0 0 #0f5fc24d}50%{box-shadow:0 0 0 6px #0f5fc200}}@keyframes tcSlideInRight{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes tcDigitFlip{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes tcFileSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes tcTooltipEnter{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes tcCountdownUrgent{0%,to{color:var(--tc-danger)}50%{color:#f87171}}.tc-timeline-item{animation:tcTimelineEnter .35s ease both}.tc-timeline-group-header{position:sticky;top:0;z-index:2;padding:6px 0;font-size:12px;font-weight:700;color:var(--tc-text-secondary);text-transform:uppercase;letter-spacing:.5px;background:var(--tc-bg)}.tc-spark-line{stroke-dasharray:300;stroke-dashoffset:0;animation:tcSparkDraw 1.2s ease both}.tc-spark-card{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.tc-spark-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.tc-kanban-board{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;min-height:400px}.tc-kanban-column{min-width:280px;flex:1;display:flex;flex-direction:column}.tc-kanban-column-header{padding:12px 16px;border-radius:8px 8px 0 0;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:space-between}.tc-kanban-column-body{flex:1;padding:8px;background:var(--tc-bg);border-radius:0 0 8px 8px;border:1px solid var(--tc-border);border-top:none;min-height:200px;display:flex;flex-direction:column;gap:8px}.tc-kanban-card{background:var(--tc-white);border:1px solid var(--tc-border);border-radius:8px;padding:12px;cursor:grab;transition:box-shadow .15s ease,transform .15s ease}.tc-kanban-card:hover{box-shadow:0 2px 8px #0000000f}.tc-kanban-card.dragging{opacity:.5;transform:rotate(2deg)}.tc-kanban-card.drop-target{animation:tcKanbanDrop .3s ease}.tc-cmd-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1100;display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.tc-cmd-dialog{background:var(--tc-white);border-radius:12px;width:560px;max-width:90vw;max-height:480px;overflow:hidden;box-shadow:0 16px 48px #00000029;animation:tcCmdSlideDown .2s ease both}.tc-cmd-input{width:100%;padding:16px 20px;border:none;border-bottom:1px solid var(--tc-border);font-size:16px;font-family:var(--font-body);outline:none;background:transparent}.tc-cmd-results{overflow-y:auto;max-height:380px;padding:8px}.tc-cmd-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;transition:background .1s ease}.tc-cmd-item:hover,.tc-cmd-item.active{background:var(--tc-primary-light);color:var(--tc-primary)}.tc-cmd-shortcut{margin-left:auto;font-size:11px;color:var(--tc-text-secondary);padding:2px 6px;background:var(--tc-bg);border-radius:4px;border:1px solid var(--tc-border);font-family:monospace}.tc-cmd-category{padding:8px 12px 4px;font-size:11px;font-weight:700;color:var(--tc-text-secondary);text-transform:uppercase;letter-spacing:.5px}.tc-inline-edit{display:inline-flex;align-items:center;gap:6px;cursor:pointer;position:relative}.tc-inline-edit-value{transition:color .15s ease}.tc-inline-edit:hover .tc-inline-edit-value{color:var(--tc-primary)}.tc-inline-edit-icon{opacity:0;transition:opacity .15s ease;color:var(--tc-text-secondary);font-size:12px}.tc-inline-edit:hover .tc-inline-edit-icon{opacity:1}.tc-inline-edit-input{animation:tcInlineExpand .2s ease both}.tc-inline-edit-shake{animation:tcShake .3s ease}.tc-tabbed-content{animation:tcTabContentEnter .25s ease both}.tc-notif-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:100vw;background:var(--tc-white);z-index:1050;box-shadow:-4px 0 24px #00000014;display:flex;flex-direction:column;animation:tcSlideInRight .25s ease both}.tc-notif-header{padding:20px 24px;border-bottom:1px solid var(--tc-border);display:flex;align-items:center;justify-content:space-between}.tc-notif-body{flex:1;overflow-y:auto;padding:8px 0}.tc-notif-item{padding:14px 24px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .1s ease;animation:tcSlideInRight .3s ease both}.tc-notif-item:hover{background:var(--tc-bg)}.tc-notif-item.unread{background:var(--tc-primary-light)}.tc-notif-item.unread:hover{background:#dbe8f8}.tc-progress-tracker{display:flex;align-items:flex-start}.tc-progress-tracker.vertical{flex-direction:column}.tc-progress-step{display:flex;align-items:center;flex:1;position:relative}.tc-progress-tracker.vertical .tc-progress-step{flex-direction:row;flex:none}.tc-progress-node{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;flex-shrink:0;border:2px solid var(--tc-border);background:var(--tc-white);color:var(--tc-text-secondary);transition:all .2s ease;z-index:1}.tc-progress-node.done{border-color:var(--tc-success);background:var(--tc-success);color:#fff}.tc-progress-node.current{border-color:var(--tc-primary);color:var(--tc-primary);animation:tcProgressPulse 2s ease infinite}.tc-progress-node.error{border-color:var(--tc-danger);background:var(--tc-danger);color:#fff}.tc-progress-node .tc-check-icon{stroke-dasharray:24;stroke-dashoffset:0;animation:tcCheckDraw .4s ease both}.tc-progress-line{flex:1;height:2px;background:var(--tc-border);margin:0 8px;position:relative;top:0}.tc-progress-line.done{background:var(--tc-success)}.tc-progress-tracker.vertical .tc-progress-line{width:2px;height:40px;margin:4px 0 4px 15px;flex:none}.tc-split-view{display:flex;gap:0;border:1px solid var(--tc-border);border-radius:8px;overflow:hidden;background:var(--tc-white)}.tc-split-list{border-right:1px solid var(--tc-border);overflow-y:auto}.tc-split-list-item{padding:14px 16px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .1s ease;border-left:3px solid transparent}.tc-split-list-item:hover{background:var(--tc-bg)}.tc-split-list-item.selected{background:var(--tc-primary-light);border-left-color:var(--tc-primary)}.tc-split-detail{flex:1;overflow-y:auto;animation:tcTabContentEnter .25s ease both}.tc-quickview-header{padding:24px;border-bottom:1px solid var(--tc-border);display:flex;align-items:center;gap:16px}.tc-quickview-body{padding:24px;overflow-y:auto;flex:1}.tc-quickview-footer{padding:16px 24px;border-top:1px solid var(--tc-border);display:flex;align-items:center;justify-content:flex-end;gap:8px}.tc-compare-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #f3f4f6;animation:tcFadeInUp .3s ease both}.tc-compare-label{width:140px;font-size:13px;color:var(--tc-text-secondary);font-weight:500;flex-shrink:0}.tc-compare-bar{flex:1;height:6px;background:#f0f0f0;border-radius:3px;overflow:hidden}.tc-compare-bar-fill{height:100%;border-radius:3px;transition:width .6s ease}.tc-compare-diff{font-size:12px;font-weight:700;white-space:nowrap}.tc-compare-diff.positive{color:var(--tc-success)}.tc-compare-diff.negative{color:var(--tc-danger)}.tc-countdown-card{display:flex;gap:8px;align-items:center}.tc-countdown-digit{background:var(--tc-white);border:1px solid var(--tc-border);border-radius:8px;padding:8px 12px;text-align:center;min-width:48px}.tc-countdown-digit-value{font-size:24px;font-weight:700;color:var(--tc-text);line-height:1;animation:tcDigitFlip .3s ease}.tc-countdown-digit-label{font-size:10px;color:var(--tc-text-secondary);text-transform:uppercase;margin-top:2px}.tc-countdown-separator{font-size:20px;font-weight:700;color:var(--tc-text-secondary)}.tc-countdown-inline{display:inline-flex;align-items:center;gap:4px;font-weight:600;font-size:13px}.tc-countdown-urgent{animation:tcCountdownUrgent 1s ease infinite}.tc-countdown-overdue{color:var(--tc-danger);animation:tcShake .5s ease}.tc-avatar-stack{display:inline-flex;align-items:center}.tc-avatar-stack-item{border:2px solid var(--tc-white);border-radius:50%;margin-left:-8px;transition:transform .15s ease,z-index 0s;cursor:pointer;position:relative}.tc-avatar-stack-item:first-child{margin-left:0}.tc-avatar-stack-item:hover{transform:translateY(-3px);z-index:10}.tc-avatar-stack-overflow{margin-left:-8px;border-radius:50%;background:var(--tc-bg);border:2px solid var(--tc-white);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--tc-text-secondary);cursor:pointer}.tc-upload-zone{border:2px dashed var(--tc-border);border-radius:12px;padding:32px;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--tc-white)}.tc-upload-zone:hover{border-color:var(--tc-primary);background:var(--tc-primary-light)}.tc-upload-zone.dragover{border-color:var(--tc-primary);background:var(--tc-primary-light);transform:scale(1.01)}.tc-upload-file-item{animation:tcFileSlideIn .25s ease both;display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--tc-border);border-radius:8px;margin-top:8px;background:var(--tc-white)}.tc-rich-tooltip{background:var(--tc-white);border:1px solid var(--tc-border);border-radius:10px;padding:16px;box-shadow:0 8px 24px #0000001a;min-width:240px;animation:tcTooltipEnter .15s ease both}.tc-rich-tooltip-actions{display:flex;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--tc-border)}.tc-calendar .fc{font-family:var(--font-body)}.tc-calendar .fc-toolbar-title{font-size:18px!important;font-weight:700;color:var(--tc-text)}.tc-calendar .fc-button{font-family:var(--font-body)!important;font-size:12px!important;font-weight:600!important;border-radius:6px!important;padding:4px 12px!important}.tc-calendar .fc-button-primary{background:var(--tc-primary)!important;border-color:var(--tc-primary)!important}.tc-calendar .fc-button-primary:not(.fc-button-active):hover{background:var(--tc-primary-hover)!important}.tc-calendar .fc-button-primary:not(.fc-button-active){background:var(--tc-white)!important;color:var(--tc-text)!important;border-color:var(--tc-border)!important}.tc-calendar .fc-button-active{background:var(--tc-primary)!important;color:#fff!important}.tc-calendar .fc-daygrid-day-number{font-size:13px;font-weight:500;color:var(--tc-text);padding:6px 8px}.tc-calendar .fc-daygrid-day.fc-day-today{background:var(--tc-primary-light)!important}.tc-calendar .fc-col-header-cell-cushion{font-size:12px;font-weight:600;color:var(--tc-text-secondary);text-transform:uppercase}.tc-calendar .fc-event{border-radius:4px;font-size:11px;font-weight:600}.tc-calendar .fc-daygrid-more-link{font-size:11px;font-weight:600;color:var(--tc-primary)}.tc-calendar .fc th{border-color:var(--tc-border)}.tc-calendar .fc td{border-color:#f3f4f6}.tc-calendar .fc-scrollgrid{border-color:var(--tc-border)!important}.tc-rich-editor .tiptap{outline:none;font-size:14px;line-height:1.7;color:#1a1a2e;font-family:var(--font-body)}.tc-rich-editor .tiptap p{margin-bottom:8px}.tc-rich-editor .tiptap h1{font-size:24px;font-weight:700;margin-bottom:12px}.tc-rich-editor .tiptap h2{font-size:20px;font-weight:700;margin-bottom:10px}.tc-rich-editor .tiptap h3{font-size:16px;font-weight:700;margin-bottom:8px}.tc-rich-editor .tiptap ul,.tc-rich-editor .tiptap ol{padding-left:24px;margin-bottom:8px}.tc-rich-editor .tiptap li{margin-bottom:4px}.tc-rich-editor .tiptap blockquote{border-left:3px solid #0f5fc2;padding-left:16px;color:#6b7280;margin:12px 0}.tc-rich-editor .tiptap code{background:#f3f4f6;padding:2px 6px;border-radius:4px;font-size:13px}.tc-rich-editor .tiptap pre{background:#1a1a2e;color:#e5e7eb;padding:16px;border-radius:8px;overflow-x:auto;margin:12px 0}.tc-rich-editor .tiptap pre code{background:none;padding:0;color:inherit}.tc-rich-editor .tiptap hr{border:none;border-top:1px solid #e5e7eb;margin:16px 0}.tc-rich-editor .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#9ca3af;pointer-events:none;height:0}.tc-rich-editor .tiptap s{text-decoration:line-through;color:#9ca3af}@media(max-width:991px){.tc-mobile-cost-bar{display:block!important}.ant-layout-content{padding-bottom:80px!important}}@media(min-width:992px){.tc-mobile-cost-bar{display:none!important}}@media(max-width:768px){.tc-kanban-board{flex-direction:column}.tc-kanban-column{min-width:100%}.tc-split-view{flex-direction:column}.tc-split-list{border-right:none;border-bottom:1px solid var(--tc-border);max-height:300px}.tc-notif-panel{width:100%}.tc-cmd-dialog{width:95vw;margin-top:10vh}.tc-progress-tracker{flex-direction:column}.tc-progress-line{width:2px;height:24px;margin:4px 0 4px 15px}.tc-countdown-digit{min-width:40px;padding:6px 8px}.tc-countdown-digit-value{font-size:18px}}
