@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";
:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-elevated:#16213e;--surface-1:#ffffff08;--surface-2:#ffffff0d;--surface-3:#ffffff14;--surface-hover:#ffffff1a;--surface-active:#ffffff1f;--primary:#6c5ce7;--primary-light:#a29bfe;--primary-dark:#5a4bd1;--primary-glow:#6c5ce74d;--primary-gradient:linear-gradient(135deg, #6c5ce7 0%, #a29bfe 100%);--accent:#00cec9;--accent-light:#81ecec;--accent-dark:#00b5b0;--accent-glow:#00cec94d;--accent-gradient:linear-gradient(135deg, #00cec9 0%, #81ecec 100%);--success:#00b894;--success-light:#55efc4;--success-bg:#00b8941a;--warning:#fdcb6e;--warning-light:#ffeaa7;--warning-bg:#fdcb6e1a;--error:#e17055;--error-light:#fab1a0;--error-bg:#e170551a;--info:#74b9ff;--info-light:#a3d8ff;--info-bg:#74b9ff1a;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--text-muted:#64748b;--text-inverse:#0a0a0f;--text-accent:#a29bfe;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff26;--border-focus:#6c5ce780;--shadow-sm:0 2px 8px #0003;--shadow-md:0 4px 24px #0000004d;--shadow-lg:0 8px 48px #0006;--shadow-glow-primary:0 0 30px #6c5ce726;--shadow-glow-accent:0 0 30px #00cec926;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--sidebar-width:280px;--sidebar-collapsed-width:72px;--topbar-height:64px;--border-radius-sm:6px;--border-radius:8px;--border-radius-md:10px;--border-radius-lg:12px;--border-radius-xl:16px;--border-radius-2xl:20px;--border-radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--glass-bg:#ffffff08;--glass-border:#ffffff0f;--glass-blur:blur(20px);--glass-saturate:saturate(180%);--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:300;--z-modal:400;--z-toast:500;--z-tooltip:600;--z-command:700}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;line-height:1.6;overflow-x:hidden}body:before{content:"";background:radial-gradient(ellipse at 20% 50%, #6c5ce714 0%, transparent 50%), radial-gradient(ellipse at 80% 20%, #00cec90f 0%, transparent 50%), radial-gradient(ellipse at 50% 80%, #6c5ce70a 0%, transparent 50%), linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);z-index:-1;width:100%;height:100%;animation:20s ease-in-out infinite alternate bgShift;position:fixed;top:0;left:0}@keyframes bgShift{0%{opacity:1}50%{opacity:.8}to{opacity:1}}a{color:var(--primary-light);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--accent-light)}img{max-width:100%;height:auto}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--border-radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--surface-hover)}.app-layout{min-height:100vh;display:flex}.main-area{margin-left:var(--sidebar-width);transition:margin-left var(--transition-base);flex-direction:column;flex:1;min-height:100vh;display:flex}.main-area.sidebar-collapsed{margin-left:var(--sidebar-collapsed-width)}.main-content{padding:var(--space-8);padding-top:calc(var(--topbar-height) + var(--space-8));flex:1;width:100%;max-width:1600px;margin:0 auto;animation:.4s ease-out contentFadeIn}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.sidebar{width:var(--sidebar-width);background:var(--glass-bg);height:100vh;-webkit-backdrop-filter:var(--glass-blur) var(--glass-saturate);border-right:1px solid var(--glass-border);z-index:var(--z-sticky);transition:width var(--transition-base), transform var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed-width)}.sidebar-header{padding:var(--space-6);align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-subtle);min-height:72px;display:flex}.sidebar-logo{border-radius:var(--border-radius);background:var(--primary-gradient);width:36px;height:36px;font-weight:800;font-size:var(--text-lg);color:#fff;box-shadow:var(--shadow-glow-primary);flex-shrink:0;justify-content:center;align-items:center;animation:3s ease-in-out infinite logoPulse;display:flex}@keyframes logoPulse{0%,to{box-shadow:var(--shadow-glow-primary)}50%{box-shadow:0 0 40px #6c5ce740}}.sidebar-brand{white-space:nowrap;transition:opacity var(--transition-fast);flex-direction:column;display:flex;overflow:hidden}.sidebar.collapsed .sidebar-brand{opacity:0;width:0}.sidebar-brand-name{font-size:var(--text-md);color:var(--text-primary);letter-spacing:-.02em;font-weight:700}.sidebar-brand-sub{font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.sidebar-nav{padding:var(--space-3);flex:1;overflow:hidden auto}.sidebar-section{margin-bottom:var(--space-4)}.sidebar-section-title{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);white-space:nowrap;font-weight:600;overflow:hidden}.sidebar.collapsed .sidebar-section-title{opacity:0;height:0;margin:0;padding:0}.sidebar-link{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);border-radius:var(--border-radius);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;margin-bottom:2px;font-weight:500;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar-link:before{content:"";background:var(--primary-gradient);opacity:0;transition:opacity var(--transition-fast);border-radius:inherit;position:absolute;inset:0}.sidebar-link:hover{color:var(--text-primary);background:var(--surface-hover);transform:translate(2px)}.sidebar-link.active{color:#fff;background:linear-gradient(135deg,#6c5ce733 0%,#a29bfe1a 100%);box-shadow:inset 0 0 0 1px #6c5ce74d}.sidebar-link.active:after{content:"";background:var(--primary-gradient);border-radius:0 var(--border-radius-sm) var(--border-radius-sm) 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.sidebar-link-icon{width:20px;height:20px;font-size:var(--text-md);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-link-text{transition:opacity var(--transition-fast)}.sidebar.collapsed .sidebar-link-text{opacity:0;width:0}.sidebar-link-badge{font-size:var(--text-xs);border-radius:var(--border-radius-full);background:var(--primary);color:#fff;text-align:center;min-width:20px;margin-left:auto;padding:2px 8px;font-weight:600}.sidebar.collapsed .sidebar-link-badge{display:none}.sidebar-footer{padding:var(--space-4);border-top:1px solid var(--border-subtle)}.sidebar-collapse-btn{justify-content:center;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-sm);display:flex}.sidebar-collapse-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.topbar{top:0;right:0;left:var(--sidebar-width);height:var(--topbar-height);-webkit-backdrop-filter:var(--glass-blur) var(--glass-saturate);border-bottom:1px solid var(--border-subtle);padding:0 var(--space-8);z-index:var(--z-sticky);transition:left var(--transition-base);background:#0a0a0fcc;justify-content:space-between;align-items:center;display:flex;position:fixed}.topbar.sidebar-collapsed{left:var(--sidebar-collapsed-width)}.topbar-left{align-items:center;gap:var(--space-4);display:flex}.topbar-search{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--border-radius-full);width:320px;transition:all var(--transition-base);cursor:pointer;display:flex}.topbar-search:hover,.topbar-search:focus-within{border-color:var(--border-focus);background:var(--surface-2);box-shadow:var(--shadow-glow-primary);width:380px}.topbar-search input{color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);background:0 0;border:none;outline:none;width:100%}.topbar-search input::placeholder{color:var(--text-muted)}.topbar-search-icon{color:var(--text-muted);font-size:var(--text-md);flex-shrink:0}.topbar-search-shortcut{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--text-muted);background:var(--surface-2);border:1px solid var(--border-subtle);border-radius:4px;flex-shrink:0;padding:2px 6px}.topbar-right{align-items:center;gap:var(--space-3);display:flex}.topbar-btn{background:var(--surface-1);border-radius:var(--border-radius);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-md);border:none;justify-content:center;align-items:center;display:flex;position:relative}.topbar-btn:hover{background:var(--surface-hover);color:var(--text-primary);transform:translateY(-1px)}.topbar-btn-badge{background:var(--error);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite badgePulse;position:absolute;top:6px;right:6px;box-shadow:0 0 8px #e1705580}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.topbar-user{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--border-radius);cursor:pointer;transition:background var(--transition-fast);display:flex}.topbar-user:hover{background:var(--surface-hover)}.topbar-avatar{border-radius:var(--border-radius);background:var(--accent-gradient);width:36px;height:36px;font-weight:700;font-size:var(--text-sm);color:var(--text-inverse);justify-content:center;align-items:center;display:flex}.topbar-user-info{flex-direction:column;display:flex}.topbar-user-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.topbar-user-role{font-size:var(--text-xs);color:var(--text-muted)}.page-header{margin-bottom:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.page-header-left{gap:var(--space-1);flex-direction:column;display:flex}.page-title{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:var(--space-3);font-weight:700;display:flex}.page-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.page-header-actions{gap:var(--space-3);display:flex}.card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--space-6);transition:all var(--transition-base);position:relative;overflow:hidden}.card:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.card:hover{border-color:var(--border-default);background:var(--surface-2);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.card-title{font-size:var(--text-md);color:var(--text-primary);font-weight:600}.card-subtitle{font-size:var(--text-sm);color:var(--text-muted)}.stats-grid{gap:var(--space-6);margin-bottom:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.stat-card{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);padding:var(--space-6);transition:all var(--transition-base);position:relative;overflow:hidden}.stat-card:before{content:"";height:2px;position:absolute;top:0;left:0;right:0}.stat-card.primary:before{background:var(--primary-gradient)}.stat-card.accent:before{background:var(--accent-gradient)}.stat-card.success:before{background:linear-gradient(135deg,#00b894,#55efc4)}.stat-card.warning:before{background:linear-gradient(135deg,#fdcb6e,#ffeaa7)}.stat-card.error:before{background:linear-gradient(135deg,#e17055,#fab1a0)}.stat-card.info:before{background:linear-gradient(135deg,#74b9ff,#a3d8ff)}.stat-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-default);transform:translateY(-4px)}.stat-card-top{margin-bottom:var(--space-4);justify-content:space-between;align-items:center;display:flex}.stat-card-icon{border-radius:var(--border-radius-md);width:44px;height:44px;font-size:var(--text-xl);justify-content:center;align-items:center;display:flex}.stat-card.primary .stat-card-icon{color:var(--primary-light);background:#6c5ce726}.stat-card.accent .stat-card-icon{color:var(--accent-light);background:#00cec926}.stat-card.success .stat-card-icon{background:var(--success-bg);color:var(--success-light)}.stat-card.warning .stat-card-icon{background:var(--warning-bg);color:var(--warning-light)}.stat-card.error .stat-card-icon{background:var(--error-bg);color:var(--error-light)}.stat-card.info .stat-card-icon{background:var(--info-bg);color:var(--info-light)}.stat-card-change{align-items:center;gap:var(--space-1);font-size:var(--text-xs);border-radius:var(--border-radius-full);padding:2px 8px;font-weight:600;display:flex}.stat-card-change.up{color:var(--success);background:var(--success-bg)}.stat-card-change.down{color:var(--error);background:var(--error-bg)}.stat-card-value{font-size:var(--text-3xl);color:var(--text-primary);font-weight:800;font-family:var(--font-mono);letter-spacing:-.02em;line-height:1.2}.stat-card-label{font-size:var(--text-sm);color:var(--text-muted);margin-top:var(--space-1)}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);border-radius:var(--border-radius);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;outline:none;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";opacity:0;transition:opacity var(--transition-fast);background:linear-gradient(#ffffff1a 0%,#0000 50%);position:absolute;inset:0}.btn:hover:after{opacity:1}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 12px var(--primary-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px #6c5ce766}.btn-accent{background:var(--accent-gradient);color:var(--text-inverse);box-shadow:0 2px 12px var(--accent-glow)}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 4px 20px #00cec966}.btn-ghost{background:var(--surface-1);color:var(--text-secondary);border:1px solid var(--border-subtle)}.btn-ghost:hover{background:var(--surface-hover);color:var(--text-primary);border-color:var(--border-default)}.btn-danger{color:#fff;background:linear-gradient(135deg,#e17055,#fab1a0)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs)}.btn-lg{padding:var(--space-3) var(--space-8);font-size:var(--text-md)}.btn-icon{border-radius:var(--border-radius);width:36px;height:36px;padding:0}.data-table-container{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-lg);overflow:hidden}.data-table-header{padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.data-table-search{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--border-radius);width:260px;display:flex}.data-table-search input{color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);background:0 0;border:none;outline:none;width:100%}.data-table{border-collapse:collapse;width:100%}.data-table th{padding:var(--space-3) var(--space-4);text-align:left;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-subtle);background:var(--surface-1);cursor:pointer;transition:color var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap;font-weight:600}.data-table th:hover{color:var(--text-primary)}.data-table td{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-primary);border-bottom:1px solid var(--border-subtle);transition:background var(--transition-fast)}.data-table tr:hover td{background:var(--surface-hover)}.data-table tr{transition:all var(--transition-fast)}.data-table-footer{padding:var(--space-3) var(--space-6);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-muted);justify-content:space-between;align-items:center;display:flex}.pagination{gap:var(--space-1);display:flex}.pagination-btn{border-radius:var(--border-radius-sm);border:1px solid var(--border-subtle);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-family:var(--font-sans);transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;display:flex}.pagination-btn:hover{background:var(--surface-hover);border-color:var(--border-default)}.pagination-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.badge{align-items:center;gap:var(--space-1);font-size:var(--text-xs);border-radius:var(--border-radius-full);white-space:nowrap;padding:3px 10px;font-weight:600;display:inline-flex}.badge-primary{color:var(--primary-light);background:#6c5ce726}.badge-accent{color:var(--accent-light);background:#00cec926}.badge-success{background:var(--success-bg);color:var(--success-light)}.badge-warning{background:var(--warning-bg);color:var(--warning-light)}.badge-error{background:var(--error-bg);color:var(--error-light)}.badge-info{background:var(--info-bg);color:var(--info-light)}.badge-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.badge-dot.success{background:var(--success)}.badge-dot.warning{background:var(--warning)}.badge-dot.error{background:var(--error)}.badge-dot.primary{background:var(--primary)}.form-group{margin-bottom:var(--space-5)}.form-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-2);font-weight:500;display:block}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--border-radius);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-sm);transition:all var(--transition-fast);outline:none}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--surface-2)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{resize:vertical;min-height:100px}.form-select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2394a3b8' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);background:#0009;animation:.2s ease-out modalBackdropIn;position:fixed;inset:0}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-lg);z-index:var(--z-modal);width:90%;max-width:560px;max-height:85vh;animation:modalSlideIn .3s var(--transition-spring);position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-48%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:var(--text-lg);color:var(--text-primary);font-weight:600}.modal-close{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--border-radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-md);justify-content:center;align-items:center;display:flex}.modal-close:hover{background:var(--error-bg);color:var(--error);border-color:#e170554d}.modal-body{padding:var(--space-6)}.modal-footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-subtle);display:flex}.kanban-board{gap:var(--space-5);padding-bottom:var(--space-4);min-height:500px;display:flex;overflow-x:auto}.kanban-column{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--border-radius-lg);flex-direction:column;flex:0 0 300px;max-height:calc(100vh - 260px);display:flex}.kanban-column-header{padding:var(--space-4);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.kanban-column-title{font-size:var(--text-sm);color:var(--text-primary);align-items:center;gap:var(--space-2);font-weight:600;display:flex}.kanban-column-count{font-size:var(--text-xs);border-radius:var(--border-radius-full);background:var(--surface-3);color:var(--text-secondary);padding:2px 8px;font-weight:600}.kanban-column-body{padding:var(--space-3);gap:var(--space-3);flex-direction:column;flex:1;display:flex;overflow-y:auto}.kanban-card{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--border-radius);padding:var(--space-4);cursor:grab;transition:all var(--transition-fast)}.kanban-card:hover{border-color:var(--border-default);box-shadow:var(--shadow-md);transform:translateY(-2px)}.kanban-card:active{cursor:grabbing;box-shadow:var(--shadow-lg);z-index:10;transform:rotate(2deg)scale(1.02)}.kanban-card-title{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:600}.kanban-card-desc{font-size:var(--text-xs);color:var(--text-muted);margin-bottom:var(--space-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kanban-card-footer{justify-content:space-between;align-items:center;display:flex}.kanban-card-avatar{border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:flex}.tabs{gap:var(--space-1);padding:var(--space-1);background:var(--surface-1);border-radius:var(--border-radius);margin-bottom:var(--space-6);border:1px solid var(--border-subtle);display:flex;overflow-x:auto}.tab{padding:var(--space-2) var(--space-5);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;border-radius:var(--border-radius-sm);transition:all var(--transition-fast);white-space:nowrap;font-weight:500;font-family:var(--font-sans);background:0 0;border:none}.tab:hover{color:var(--text-primary);background:var(--surface-2)}.tab.active{color:#fff;background:var(--primary);box-shadow:0 2px 8px var(--primary-glow)}.chart-container{width:100%;padding:var(--space-4);position:relative}.chart-bar-group{align-items:flex-end;gap:var(--space-2);height:200px;padding-top:var(--space-4);display:flex}.chart-bar-wrapper{align-items:center;gap:var(--space-2);flex-direction:column;flex:1;justify-content:flex-end;height:100%;display:flex}.chart-bar{border-radius:var(--border-radius-sm) var(--border-radius-sm) 0 0;width:100%;max-width:40px;transition:all var(--transition-base);min-height:4px;animation:.8s ease-out backwards barGrow;position:relative}.chart-bar.primary{background:var(--primary-gradient)}.chart-bar.accent{background:var(--accent-gradient)}.chart-bar:hover{filter:brightness(1.2);transform:scaleY(1.02)}@keyframes barGrow{0%{transform:scaleY(0)}to{transform:scaleY(1)}}.chart-bar-label{font-size:var(--text-xs);color:var(--text-muted);text-align:center}.chart-line{border-bottom:1px dashed var(--border-subtle);position:absolute;left:0;right:0}.timeline{flex-direction:column;display:flex}.timeline-item{gap:var(--space-4);padding:var(--space-4) 0;animation:.3s ease-out backwards timelineSlideIn;display:flex;position:relative}@keyframes timelineSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.timeline-item:before{content:"";background:var(--border-subtle);width:1px;position:absolute;top:44px;bottom:0;left:15px}.timeline-item:last-child:before{display:none}.timeline-dot{width:32px;height:32px;font-size:var(--text-sm);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline-dot.primary{color:var(--primary-light);background:#6c5ce726}.timeline-dot.accent{color:var(--accent-light);background:#00cec926}.timeline-dot.success{background:var(--success-bg);color:var(--success)}.timeline-dot.warning{background:var(--warning-bg);color:var(--warning)}.timeline-content{flex:1;min-width:0}.timeline-title{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.timeline-time{font-size:var(--text-xs);color:var(--text-muted);margin-top:var(--space-1)}.empty-state{padding:var(--space-16) var(--space-8);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-4);opacity:.5;font-size:4rem}.empty-state-title{font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-2);font-weight:600}.empty-state-desc{font-size:var(--text-sm);color:var(--text-muted);max-width:400px;margin-bottom:var(--space-6)}.toast-container{top:var(--space-6);right:var(--space-6);z-index:var(--z-toast);gap:var(--space-3);flex-direction:column;display:flex;position:fixed}.toast{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--border-radius);padding:var(--space-4) var(--space-5);min-width:300px;max-width:420px;box-shadow:var(--shadow-lg);animation:toastSlideIn .3s var(--transition-spring);align-items:center;gap:var(--space-3);display:flex}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--error)}.toast.warning{border-left:3px solid var(--warning)}.toast.info{border-left:3px solid var(--info)}.progress-bar{background:var(--surface-2);border-radius:var(--border-radius-full);height:6px;overflow:hidden}.progress-bar-fill{border-radius:var(--border-radius-full);height:100%;transition:width 1s ease-out;position:relative}.progress-bar-fill.primary{background:var(--primary-gradient)}.progress-bar-fill.accent{background:var(--accent-gradient)}.progress-bar-fill.success{background:linear-gradient(135deg,#00b894,#55efc4)}.progress-bar-fill.warning{background:linear-gradient(135deg,#fdcb6e,#ffeaa7)}.progress-bar-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:2s ease-in-out infinite progressShine;position:absolute;inset:0}@keyframes progressShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.avatar-group{display:flex}.avatar-group .avatar{border:2px solid var(--bg-primary);margin-left:-8px}.avatar-group .avatar:first-child{margin-left:0}.avatar{width:32px;height:32px;font-size:var(--text-xs);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.avatar-sm{width:24px;height:24px;font-size:10px}.avatar-lg{width:40px;height:40px;font-size:var(--text-sm)}.avatar-xl{width:56px;height:56px;font-size:var(--text-lg)}.grid-2{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}.bento-grid{gap:var(--space-6);grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(200px,auto);display:grid}.bento-span-2{grid-column:span 2}.bento-span-3{grid-column:span 3}.bento-row-2{grid-row:span 2}.skeleton{background:linear-gradient(90deg, var(--surface-1) 25%, var(--surface-3) 50%, var(--surface-1) 75%);border-radius:var(--border-radius);background-size:200% 100%;animation:1.5s ease-in-out infinite skeletonShimmer}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-text:last-child{width:60%}.skeleton-circle{border-radius:50%}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-default);border-radius:var(--border-radius-sm);font-size:var(--text-xs);color:var(--text-primary);white-space:nowrap;opacity:0;pointer-events:none;transition:all var(--transition-fast);z-index:var(--z-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.tooltip:hover:after{opacity:1;transform:translate(-50%)translateY(0)}@media (max-width:1200px){.bento-grid,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.main-area{margin-left:0!important}.topbar{left:0!important}.main-content{padding:var(--space-4);padding-top:calc(var(--topbar-height) + var(--space-4))}.bento-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.bento-span-2,.bento-span-3{grid-column:span 1}.stats-grid{grid-template-columns:repeat(2,1fr)}.kanban-board{flex-direction:column}.kanban-column{flex:none;width:100%}.page-header{flex-direction:column;align-items:flex-start}.topbar-search{width:200px}.topbar-search:focus-within{width:240px}.topbar-user-info{display:none}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.topbar-search{display:none}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--text-muted)}.text-primary{color:var(--primary-light)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.font-mono{font-family:var(--font-mono)}.font-semibold{font-weight:600}.font-bold{font-weight:700}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sr-only{clip:rect(0,0,0,0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.w-full{width:100%}.fade-in{animation:.4s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:.4s ease-out slideUp}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scale-in{animation:scaleIn .3s var(--transition-spring)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.counter-animate{animation:.6s ease-out counterBounce;display:inline-block}@keyframes counterBounce{0%{opacity:0;transform:scale(.5)}60%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.stagger-children>*{animation:.4s ease-out backwards slideUp}.stagger-children>:first-child{animation-delay:50ms}.stagger-children>:nth-child(2){animation-delay:.1s}.stagger-children>:nth-child(3){animation-delay:.15s}.stagger-children>:nth-child(4){animation-delay:.2s}.stagger-children>:nth-child(5){animation-delay:.25s}.stagger-children>:nth-child(6){animation-delay:.3s}.stagger-children>:nth-child(7){animation-delay:.35s}.stagger-children>:nth-child(8){animation-delay:.4s}
