.login-page{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.login-background{position:absolute;inset:0;z-index:0;overflow:hidden}.login-gradient-1{position:absolute;width:600px;height:600px;background:radial-gradient(circle,var(--color-primary-500) 0%,transparent 70%);opacity:.15;top:-200px;left:-200px;animation:float 20s ease-in-out infinite}.login-gradient-2{position:absolute;width:800px;height:800px;background:radial-gradient(circle,var(--color-accent-pink) 0%,transparent 70%);opacity:.1;bottom:-300px;right:-300px;animation:float 25s ease-in-out infinite reverse}.login-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border-primary) 1px,transparent 1px),linear-gradient(90deg,var(--border-primary) 1px,transparent 1px);background-size:60px 60px;opacity:.3;mask-image:radial-gradient(ellipse at center,black 20%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,black 20%,transparent 80%)}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,30px)}}.login-content{flex:1;display:grid;grid-template-columns:1fr 450px;gap:var(--space-16);align-items:center;max-width:1400px;margin:0 auto;padding:var(--space-8);position:relative;z-index:1}.login-hero{animation:fadeInUp var(--duration-slower) var(--ease-out)}.login-logo{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8)}.login-logo-icon{width:40px;height:40px;color:var(--color-primary-500)}.login-logo-text{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-primary-400),var(--color-accent-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-title{font-size:3.5rem;font-weight:var(--font-weight-bold);line-height:1.1;margin-bottom:var(--space-6)}.login-title-gradient{display:block;background:linear-gradient(135deg,var(--color-primary-400),var(--color-accent-cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);max-width:500px;margin-bottom:var(--space-10)}.login-features{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.login-feature{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);transition:all var(--duration-normal) var(--ease-in-out)}.login-feature:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.login-feature-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border-radius:var(--radius-lg);color:#fff}.login-feature-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-1)}.login-feature-desc{font-size:var(--font-size-xs);color:var(--text-tertiary)}.login-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(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-2xl);animation:fadeInUp var(--duration-slower) var(--ease-out) .2s both}.login-card-content{padding:var(--space-10)}.login-card-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);text-align:center;margin-bottom:var(--space-2)}.login-card-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary);text-align:center;margin-bottom:var(--space-8)}.login-error{padding:var(--space-3);background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-lg);color:var(--color-error);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--space-4)}.login-google-btn{width:100%;height:52px;font-size:var(--font-size-base)}.login-terms{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;margin-top:var(--space-6)}.login-terms a{color:var(--color-primary-500)}.login-terms a:hover{text-decoration:underline}.login-card-footer{padding:var(--space-4);background:var(--bg-tertiary);border-top:1px solid var(--border-primary);text-align:center}.login-card-footer p{font-size:var(--font-size-sm);color:var(--text-tertiary)}.login-footer{padding:var(--space-6);text-align:center;position:relative;z-index:1}.login-footer p{font-size:var(--font-size-sm);color:var(--text-muted)}@media(max-width:1024px){.login-content{grid-template-columns:1fr;max-width:500px;gap:var(--space-8)}.login-hero{text-align:center}.login-title{font-size:2.5rem}.login-subtitle{margin-left:auto;margin-right:auto}.login-features{grid-template-columns:1fr;max-width:400px;margin:0 auto}}@media(max-width:640px){.login-title{font-size:2rem}.login-features{display:none}.login-card-content{padding:var(--space-6)}}.notifications-container{position:relative}.notifications-trigger{position:relative;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast)}.notifications-trigger:hover,.notifications-trigger.active{background:var(--bg-hover);color:var(--text-primary)}.notifications-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-error);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-elevated)}.notifications-popover{position:absolute;bottom:100%;left:0;width:320px;max-height:480px;background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;z-index:50;overflow:hidden;margin-bottom:var(--space-2)}.notifications-header-area{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.notifications-header-area h3{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.mark-all-read{display:flex;align-items:center;gap:var(--space-1);background:none;border:none;font-size:var(--font-size-xs);color:var(--color-primary-500);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm)}.mark-all-read:hover{background:var(--color-primary-50)}.notifications-list{overflow-y:auto;max-height:400px;display:flex;flex-direction:column}.notifications-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8);color:var(--text-disabled);gap:var(--space-2)}.notifications-empty p{margin:0;font-size:var(--font-size-sm)}.notification-item{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-secondary);cursor:pointer;transition:background-color var(--duration-fast);position:relative}.notification-item:hover{background:var(--bg-hover)}.notification-item.unread{background:rgba(var(--color-primary-rgb),.05)}.notification-item:last-child{border-bottom:none}.notification-icon{flex-shrink:0;margin-top:2px}.notification-content{flex:1;min-width:0}.notification-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2px}.notification-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.notification-time{font-size:10px;color:var(--text-muted);flex-shrink:0;margin-left:var(--space-2)}.notification-message{margin:0;font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-dot{position:absolute;top:var(--space-3);right:var(--space-2);width:6px;height:6px;border-radius:50%;background:var(--color-primary-500)}.notification-settings{display:flex;flex-direction:column;height:100%}.notification-settings-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.notification-settings-header h3{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast)}.close-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.notification-settings-list{padding:var(--space-4);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.setting-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.setting-info{display:flex;flex-direction:column;gap:2px}.setting-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.setting-description{font-size:var(--font-size-xs);color:var(--text-tertiary)}.notification-settings-footer{padding:var(--space-4);border-top:1px solid var(--border-primary);background:var(--bg-elevated)}.switch{position:relative;display:inline-block;width:36px;height:20px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--border-secondary);transition:.4s;border-radius:34px}.slider:before{position:absolute;content:"";height:16px;width:16px;left:2px;bottom:2px;background-color:#fff;transition:.4s;border-radius:50%;box-shadow:var(--shadow-sm)}input:checked+.slider{background-color:var(--color-primary-500)}input:focus+.slider{box-shadow:0 0 1px var(--color-primary-500)}input:checked+.slider:before{transform:translate(16px)}.sidebar{display:flex;flex-direction:column;width:280px;height:100vh;background:var(--surface-sidebar);border-right:1px solid var(--border-primary);transition:width var(--duration-slow) var(--ease-in-out);flex-shrink:0;position:sticky;top:0;z-index:var(--z-sticky)}.sidebar.collapsed{width:72px}.sidebar-header{display:flex;align-items:center;justify-content:center;padding:var(--space-4);border-bottom:1px solid var(--border-primary);flex-shrink:0}.sidebar-logo{display:flex;align-items:center;gap:var(--space-2)}.sidebar-logo-icon{width:32px;height:32px;color:var(--color-primary-500)}.sidebar-logo-text{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);background:linear-gradient(135deg,var(--color-primary-400),var(--color-accent-pink));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-search{padding:var(--space-3) var(--space-4)}.sidebar-search .form-group{margin-bottom:0}.sidebar-nav{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3)}.sidebar-nav-item{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);text-align:left}.sidebar-nav-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-nav-item.active{background:#6366f11a;color:var(--color-primary-500)}.sidebar.collapsed .sidebar-nav-item{justify-content:center;padding:var(--space-3)}.sidebar-section{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:var(--space-2) var(--space-3)}.sidebar-section-header{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.sidebar-section-header:hover{background:var(--bg-tertiary)}.sidebar-section-add{margin-left:auto;opacity:0;transition:opacity var(--duration-fast) var(--ease-in-out)}.sidebar-section-header:hover .sidebar-section-add{opacity:1}.sidebar-boards{display:flex;flex-direction:column;gap:var(--space-1);padding-left:var(--space-2);overflow-y:auto;flex:1}.sidebar-board-wrapper{position:relative;display:flex;align-items:center;width:100%;padding-right:var(--space-1)}.sidebar-board-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);text-align:left;margin-right:-24px}.sidebar-board-action{opacity:0;margin-left:-var(--space-8);position:absolute;right:8px;background:var(--surface-sidebar);box-shadow:-4px 0 8px var(--surface-sidebar);transition:all var(--duration-fast)}.sidebar-board-wrapper:hover .sidebar-board-action{opacity:1}.sidebar-board-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-board-item.active{background:#6366f11a;color:var(--color-primary-500)}.sidebar-board-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-boards-empty{padding:var(--space-4);font-size:var(--font-size-sm);color:var(--text-muted);text-align:center}.sidebar-footer{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border-primary);flex-shrink:0}.sidebar-theme-toggle{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);text-align:left}.sidebar-theme-toggle:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sidebar-user{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.sidebar-user:hover{background:var(--bg-tertiary)}.sidebar-user-info{display:flex;flex-direction:column;overflow:hidden}.sidebar-user-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{font-size:var(--font-size-xs);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.create-board-form{display:flex;flex-direction:column;gap:var(--space-4)}.template-description{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:4px;margin-left:2px}.sidebar-boards::-webkit-scrollbar{width:4px}.sidebar-boards::-webkit-scrollbar-track{background:transparent}.sidebar-boards::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--radius-full)}@media(max-width:1024px){.sidebar{position:fixed;left:0;top:0;z-index:var(--z-modal);transform:translate(-100%);transition:transform var(--duration-slow) var(--ease-in-out)}.sidebar-board-wrapper{position:relative;display:flex;align-items:center;width:100%;padding-right:var(--space-1)}.sidebar-board-wrapper .sidebar-board-item{flex:1}.sidebar-board-action{opacity:0;margin-left:-var(--space-8);position:absolute;right:8px;background:var(--surface-sidebar);box-shadow:-4px 0 8px var(--surface-sidebar);transition:all var(--duration-fast)}.sidebar-board-wrapper:hover .sidebar-board-action{opacity:1}.sidebar-archived-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);margin-top:var(--space-2);font-size:var(--font-size-xs);color:var(--text-tertiary);background:transparent;border:1px dashed var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast)}.sidebar-archived-trigger:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-secondary)}.archived-boards-list{display:flex;flex-direction:column;gap:var(--space-3)}.archived-board-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-secondary)}.archived-board-info{display:flex;flex-direction:column;gap:2px}.archived-board-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.archived-board-date{font-size:var(--font-size-xs);color:var(--text-muted)}.archived-board-actions{display:flex;align-items:center;gap:var(--space-2)}}.card-item{padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);cursor:grab;transition:all var(--duration-normal) var(--ease-in-out);-webkit-user-select:none;user-select:none}.card-item:hover{border-color:var(--border-secondary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-item:active{cursor:grabbing}.card-dragging{opacity:.8;box-shadow:var(--shadow-xl);transform:rotate(3deg) scale(1.02);border-color:var(--color-primary-500)}.card-labels{display:flex;gap:var(--space-1);margin-bottom:var(--space-2);flex-wrap:wrap}.card-label-dot{width:32px;height:6px;border-radius:var(--radius-full)}.card-labels-more{font-size:var(--font-size-xs);color:var(--text-muted)}.card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-2)}.card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);line-height:var(--line-height-normal);flex:1;word-break:break-word}.card-menu-btn{opacity:1;color:var(--text-tertiary);flex-shrink:0;transition:opacity var(--duration-fast) var(--ease-in-out)}.card-item:hover .card-menu-btn{opacity:1}.card-badges{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.card-meta{display:flex;flex-wrap:wrap;gap:var(--space-2);font-size:var(--font-size-xs);color:var(--text-tertiary)}.card-due-date,.card-story-points,.card-subtasks,.card-attachments,.card-time{display:flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.card-due-date.overdue{background:#ef444426;color:var(--color-error)}.card-due-date.today{background:#f59e0b26;color:var(--color-warning)}.card-due-date.tomorrow{background:#3b82f626;color:var(--color-info)}.card-story-points{background:var(--color-primary-100);color:var(--color-primary-700);font-weight:var(--font-weight-semibold);min-width:24px;justify-content:center}[data-theme=dark] .card-story-points{background:#6366f133;color:var(--color-primary-300)}.card-subtasks.completed{background:#10b98126;color:var(--color-success)}.card-footer{display:flex;justify-content:flex-end;margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px solid var(--border-primary)}.quick-add-card{padding:var(--space-2);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg)}.quick-add-card textarea{resize:none;margin-bottom:var(--space-2)}.quick-add-actions{display:flex;gap:var(--space-2)}.column{flex-shrink:0;width:320px;max-height:100%;display:flex;flex-direction:column;background:var(--surface-column);border-radius:var(--radius-xl);border:1px solid var(--border-primary);transition:all var(--duration-normal) var(--ease-in-out)}.column-over{background:var(--bg-tertiary);border-color:var(--color-primary-400);box-shadow:0 0 0 2px #6366f133}.column-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-primary);flex-shrink:0}.column-header-left{display:flex;align-items:center;gap:var(--space-2)}.column-color-indicator{width:4px;height:16px;border-radius:var(--radius-full)}.column-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.column-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-full)}.column-header-actions{display:flex;gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-in-out)}.column:hover .column-header-actions{opacity:1}.column-cards{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.column-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.column-empty p{font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:var(--space-3)}.column-empty-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-tertiary);background:transparent;border:1px dashed var(--border-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.column-empty-btn:hover{color:var(--color-primary-500);border-color:var(--color-primary-500);background:#6366f10d}.column-add-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3);font-size:var(--font-size-sm);color:var(--text-tertiary);background:transparent;border:none;border-top:1px solid var(--border-primary);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.column-add-btn:hover{color:var(--text-primary);background:var(--bg-tertiary)}.column-cards::-webkit-scrollbar{width:6px}.column-cards::-webkit-scrollbar-track{background:transparent}.column-cards::-webkit-scrollbar-thumb{background:var(--border-primary);border-radius:var(--radius-full)}.column-cards::-webkit-scrollbar-thumb:hover{background:var(--border-secondary)}.rich-text-editor{display:flex;flex-direction:column;border:1px solid var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-primary);overflow:hidden}.editor-toolbar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary);flex-wrap:wrap}.toolbar-group{display:flex;align-items:center;gap:var(--space-1)}.toolbar-divider{width:1px;height:20px;background:var(--border-primary);margin:0 var(--space-1)}.toolbar-spacer{flex:1}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.toolbar-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-btn.active{background:var(--color-primary-500);color:#fff}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.editor-content{min-height:150px;max-height:400px;overflow-y:auto}.editor-content .ProseMirror{padding:var(--space-4);outline:none;min-height:150px}.editor-content .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--text-muted);pointer-events:none;height:0}.editor-content .ProseMirror{font-size:var(--font-size-sm);line-height:1.6;color:var(--text-primary)}.editor-content .ProseMirror h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:var(--space-4) 0 var(--space-2)}.editor-content .ProseMirror h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:var(--space-3) 0 var(--space-2)}.editor-content .ProseMirror h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:var(--space-3) 0 var(--space-2)}.editor-content .ProseMirror p{margin:var(--space-2) 0}.editor-content .ProseMirror ul,.editor-content .ProseMirror ol{padding-left:var(--space-6);margin:var(--space-2) 0}.editor-content .ProseMirror li{margin:var(--space-1) 0}.editor-content .ProseMirror blockquote{border-left:3px solid var(--color-primary-500);padding-left:var(--space-4);margin:var(--space-3) 0;color:var(--text-secondary);font-style:italic}.editor-content .ProseMirror pre{background:var(--bg-tertiary);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0;overflow-x:auto}.editor-content .ProseMirror code{font-family:SF Mono,Monaco,Inconsolata,monospace;font-size:.9em;background:var(--bg-tertiary);padding:.1em .3em;border-radius:var(--radius-sm)}.editor-content .ProseMirror pre code{background:none;padding:0}.editor-content .ProseMirror a,.editor-content .ProseMirror .editor-link{color:var(--color-primary-400);text-decoration:underline;cursor:pointer}.editor-content .ProseMirror a:hover{color:var(--color-primary-300)}.editor-content .ProseMirror mark{background:#facc1566;padding:.1em .2em;border-radius:2px}.editor-content .ProseMirror strong{font-weight:var(--font-weight-bold)}.editor-content .ProseMirror em{font-style:italic}.editor-content .ProseMirror u{text-decoration:underline}.editor-content .ProseMirror s{text-decoration:line-through}.editor-content .ProseMirror [style*="text-align: center"]{text-align:center}.editor-content .ProseMirror [style*="text-align: right"]{text-align:right}.editor-content .ProseMirror ::selection{background:#6366f14d}.attachments-section{display:flex;flex-direction:column;gap:var(--space-3)}.attachments-header{display:flex;align-items:center;justify-content:space-between}.attachments-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.attachments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.attachment-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-in-out)}.attachment-item:hover{border-color:var(--color-primary-500);background:var(--bg-tertiary)}.attachment-preview{width:40px;height:40px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-icon{color:var(--text-muted)}.attachment-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.attachment-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-name:hover{color:var(--color-primary-400);text-decoration:underline}.attachment-meta{font-size:var(--font-size-xs);color:var(--text-muted)}.attachment-actions{display:flex;flex-direction:column;gap:2px;opacity:0;transition:opacity var(--duration-fast)}.attachment-item:hover .attachment-actions{opacity:1}.attachment-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-sm);color:var(--text-muted);background:transparent;border:none;cursor:pointer}.attachment-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.attachment-action-btn.delete:hover{background:#ef44441a;color:var(--color-error)}.upload-zone{display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:var(--bg-secondary);border:1px dashed var(--border-primary);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.upload-zone:hover,.upload-zone.active{border-color:var(--color-primary-500);background:#6366f10d}.upload-zone.uploading{cursor:default;border-style:solid}.upload-prompt{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.upload-icon{font-size:var(--font-size-lg);font-weight:var(--font-weight-light)}.upload-progress{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;max-width:200px}.upload-progress span{font-size:var(--font-size-sm);color:var(--text-primary)}.progress-bar{width:100%;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.progress-fill{height:100%;background:var(--color-primary-500);transition:width .2s ease-in-out}.comments-section{display:flex;flex-direction:column;gap:var(--space-4)}.comments-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.comments-loading,.comments-empty{padding:var(--space-6);text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.comment-form{display:flex;gap:var(--space-3);align-items:flex-start}.comment-input-wrapper{flex:1;display:flex;align-items:center;gap:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);transition:border-color var(--duration-fast) var(--ease-in-out)}.comment-input-wrapper:focus-within{border-color:var(--color-primary-500)}.comment-input{flex:1;background:transparent;border:none;outline:none;font-size:var(--font-size-sm);color:var(--text-primary);resize:none;min-height:24px;max-height:100px}.comment-input::placeholder{color:var(--text-muted)}.comment-send-btn{color:var(--color-primary-500)}.comment-send-btn:disabled{color:var(--text-muted);cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:var(--space-4)}.comment{display:flex;gap:var(--space-3);position:relative}.comment-reply{margin-left:var(--space-8);padding-top:var(--space-3);border-top:1px solid var(--border-secondary)}.comment-content{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.comment-header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.comment-author{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.comment-time{font-size:var(--font-size-xs);color:var(--text-muted)}.comment-edited{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.comment-text{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5;white-space:pre-wrap;word-break:break-word}.comment-actions{display:flex;gap:var(--space-2);margin-top:var(--space-1)}.comment-action-btn{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.comment-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.comment-edit{display:flex;flex-direction:column;gap:var(--space-2)}.comment-edit-input{width:100%;padding:var(--space-2);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--text-primary);resize:vertical;min-height:60px}.comment-edit-input:focus{outline:none;border-color:var(--color-primary-500)}.comment-edit-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.comment-reply-form{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border-radius:var(--radius-md)}.comment-reply-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.comment-replies{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-3);padding-left:var(--space-4);border-left:2px solid var(--border-secondary)}.card-detail-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:var(--z-modal-backdrop);animation:fadeIn var(--duration-fast) var(--ease-out)}.card-detail{position:fixed;top:0;right:0;bottom:0;width:800px;max-width:100vw;background:var(--bg-elevated);border-left:1px solid var(--border-primary);box-shadow:var(--shadow-2xl);z-index:var(--z-modal);display:flex;flex-direction:column;animation:slideInRight var(--duration-slow) var(--ease-out)}.card-detail-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-primary);flex-shrink:0}.card-detail-header-left,.card-detail-header-right{display:flex;align-items:center;gap:var(--space-2)}.card-detail-saving{font-size:var(--font-size-xs);color:var(--text-muted);padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-md);animation:pulse 1s ease-in-out infinite}.card-detail-body{display:grid;grid-template-columns:1fr 280px;flex:1;overflow:hidden}.card-detail-main{padding:var(--space-6);overflow-y:auto}.card-detail-title{width:100%;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary);background:transparent;border:none;outline:none;margin-bottom:var(--space-6);padding:0}.card-detail-title::placeholder{color:var(--text-muted)}.card-detail-section{margin-bottom:var(--space-6)}.card-detail-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary);margin-bottom:var(--space-3)}.card-detail-section-count{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);color:var(--text-muted);margin-left:auto}.subtasks-progress{height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);margin-bottom:var(--space-3);overflow:hidden}.subtasks-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary-500),var(--color-primary-400));border-radius:var(--radius-full);transition:width var(--duration-slow) var(--ease-out)}.subtasks-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-3)}.subtask-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md)}.subtask-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary-500)}.subtask-title{flex:1;font-size:var(--font-size-sm);color:var(--text-primary)}.subtask-title.completed{text-decoration:line-through;color:var(--text-muted)}.subtask-delete{opacity:0;transition:opacity var(--duration-fast) var(--ease-in-out)}.subtask-item:hover .subtask-delete{opacity:1}.subtask-add{display:flex;gap:var(--space-2)}.subtask-add .form-group{flex:1;margin-bottom:0}.card-detail-activity-placeholder{padding:var(--space-6);background:var(--bg-tertiary);border-radius:var(--radius-lg);text-align:center}.card-detail-activity-placeholder p{font-size:var(--font-size-sm);color:var(--text-muted)}.card-detail-sidebar{padding:var(--space-6);background:var(--bg-secondary);border-left:1px solid var(--border-primary);overflow-y:auto}.card-detail-field{margin-bottom:var(--space-4)}.card-detail-field-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.card-detail-field .form-group{margin-bottom:0}.card-detail-labels{display:flex;flex-direction:column;gap:var(--space-1)}.card-detail-label-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--bg-tertiary);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);text-align:left}.card-detail-label-btn:hover{background:var(--bg-primary)}.card-detail-label-btn.selected{background:color-mix(in srgb,var(--label-color) 15%,transparent)}.card-detail-label-color{width:12px;height:12px;border-radius:var(--radius-sm);flex-shrink:0}.card-detail-assignees-placeholder{padding:var(--space-3);background:var(--bg-tertiary);border:1px dashed var(--border-secondary);border-radius:var(--radius-lg);text-align:center}.card-detail-meta{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.card-detail-meta p{font-size:var(--font-size-xs);color:var(--text-muted)}@media(max-width:768px){.card-detail{width:100vw}.card-detail-body{grid-template-columns:1fr}.card-detail-sidebar{border-left:none;border-top:1px solid var(--border-primary)}}.skeleton{background-color:var(--bg-secondary);border-radius:var(--radius-md);animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-text{border-radius:var(--radius-sm);height:1em;width:100%}.skeleton-rectangular{border-radius:var(--radius-md)}.skeleton-circular{border-radius:50%}@keyframes skeleton-pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.board-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.board-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:var(--surface-header);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border-primary);flex-shrink:0}.board-header-left{display:flex;align-items:center;gap:var(--space-4)}.board-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.board-meta{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--text-tertiary)}.board-header-right{display:flex;align-items:center;gap:var(--space-2)}.board-search{width:250px}.board-search .form-group{margin-bottom:0}.board-columns{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-6);overflow-x:auto;overflow-y:hidden;flex:1;align-items:flex-start}.board-columns::-webkit-scrollbar{height:10px}.board-columns::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-full)}.board-columns::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}.board-columns::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.add-column-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);min-width:280px;height:120px;padding:var(--space-6);background:transparent;border:2px dashed var(--border-secondary);border-radius:var(--radius-xl);color:var(--text-tertiary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-in-out);flex-shrink:0}.add-column-btn:hover{border-color:var(--color-primary-500);color:var(--color-primary-500);background:#6366f10d}.add-column-form{display:flex;flex-direction:column;gap:var(--space-3);min-width:280px;padding:var(--space-4);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);flex-shrink:0}.add-column-form .form-group{margin-bottom:0}.add-column-actions{display:flex;gap:var(--space-2)}.board-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-12);text-align:center}.board-empty-icon{color:var(--text-muted);margin-bottom:var(--space-6)}.board-empty-state h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.board-empty-state p{color:var(--text-tertiary);max-width:400px}@media(max-width:768px){.board-header{flex-direction:column;gap:var(--space-4);align-items:flex-start;padding:var(--space-4)}.board-header-right{width:100%}.board-search{flex:1}.board-columns{padding:var(--space-4);gap:var(--space-3)}.column{width:280px}}.dashboard{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);overflow-y:auto;height:100%}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);text-align:center}.dashboard-empty-icon{color:var(--text-muted);opacity:.5}.dashboard-empty h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.dashboard-empty p{font-size:var(--font-size-lg);color:var(--text-tertiary)}.dashboard-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.dashboard-header-left{display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-title{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.dashboard-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary)}.dashboard-date{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.stat-card{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);position:relative}.stat-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg)}.stat-content{display:flex;flex-direction:column;gap:var(--space-1)}.stat-value{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--text-primary);line-height:1}.stat-label{font-size:var(--font-size-sm);color:var(--text-tertiary)}.stat-trend{display:flex;align-items:center;gap:var(--space-1);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);position:absolute;top:var(--space-4);right:var(--space-4)}.stat-trend.positive{background:#10b9811a;color:var(--color-success)}.stat-trend.negative{background:#ef44441a;color:var(--color-error)}.stat-secondary{font-size:var(--font-size-xs);color:var(--text-muted)}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.chart-container{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5);background:var(--surface-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl)}.chart-header{display:flex;align-items:center;justify-content:space-between}.chart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.chart-stats{display:flex;gap:var(--space-4)}.chart-stat{display:flex;align-items:baseline;gap:var(--space-1)}.chart-stat-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.chart-stat-label{font-size:var(--font-size-sm);color:var(--text-tertiary)}.chart-wrapper{flex:1;min-height:200px}.chart-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:var(--space-2);color:var(--text-muted)}.chart-legend{display:flex;gap:var(--space-4);justify-content:center}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--text-secondary)}.legend-line{width:20px;height:3px;border-radius:var(--radius-full)}.workload-list{display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-primary)}.workload-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);transition:background var(--duration-fast) var(--ease-in-out)}.workload-item:hover{background:var(--bg-tertiary)}.workload-item-info{flex:1;display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.workload-item-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workload-item-stats{font-size:var(--font-size-xs);color:var(--text-muted)}.workload-item-points{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-primary-400)}.activity-container{grid-column:span 2}.activity-list{display:flex;flex-direction:column;gap:var(--space-3)}.activity-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:150px;gap:var(--space-3);color:var(--text-muted)}.activity-empty p{font-size:var(--font-size-sm)}.dashboard-content-empty{display:flex;flex-direction:column;gap:var(--space-8);max-width:1200px;margin:0 auto;width:100%}.empty-state-header{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.boards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4);width:100%}.board-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);text-align:left}.board-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-primary-300)}.new-board-card{border-style:dashed;background:transparent}.new-board-card:hover{background:var(--bg-tertiary);border-color:var(--color-primary-500)}.board-card-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--bg-tertiary);border-radius:var(--radius-lg);color:var(--color-primary-500);flex-shrink:0}.new-board-card .board-card-icon{background:var(--bg-tertiary);color:var(--text-secondary)}.board-card-info{display:flex;flex-direction:column;gap:4px;flex:1;overflow:hidden}.board-card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-card-meta{font-size:var(--font-size-xs);color:var(--text-tertiary)}.board-card-arrow{color:var(--text-tertiary);transition:transform var(--duration-fast)}.board-card:hover .board-card-arrow{transform:translate(4px);color:var(--color-primary-500)}.dashboard-title-wrapper{display:flex;align-items:center;gap:var(--space-4)}@media(max-width:1200px){.charts-grid{grid-template-columns:1fr}.activity-container{grid-column:span 1}}@media(max-width:768px){.dashboard{padding:var(--space-4)}.stats-grid{grid-template-columns:repeat(2,1fr)}.dashboard-header{flex-direction:column}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}}.calendar-view{display:flex;flex-direction:column;gap:var(--space-6);padding:var(--space-6);height:100%;overflow-y:auto}.calendar-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-4);color:var(--text-muted)}.calendar-empty h2{color:var(--text-primary)}.calendar-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.calendar-header-left{display:flex;flex-direction:column;gap:var(--space-1)}.calendar-title{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.calendar-subtitle{font-size:var(--font-size-sm);color:var(--text-tertiary)}.calendar-nav{display:flex;align-items:center;gap:var(--space-2)}.calendar-month{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);min-width:180px;text-align:center}.calendar-today-btn{padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out)}.calendar-today-btn:hover{background:var(--color-primary-500);color:#fff;border-color:var(--color-primary-500)}.calendar-content{display:grid;grid-template-columns:1fr 320px;gap:var(--space-4);flex:1;min-height:0}.calendar-grid-container{display:flex;flex-direction:column;background:var(--surface-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.calendar-weekday{padding:var(--space-3);text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-tertiary)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);flex:1}.calendar-day{min-height:100px;padding:var(--space-2);border-right:1px solid var(--border-secondary);border-bottom:1px solid var(--border-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-in-out)}.calendar-day:nth-child(7n){border-right:none}.calendar-day:hover{background:var(--bg-tertiary)}.calendar-day.other-month{background:var(--bg-secondary);opacity:.5}.calendar-day.today{background:#6366f11a}.calendar-day.today .calendar-day-number{background:var(--color-primary-500);color:#fff;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-day.selected{background:#6366f126;box-shadow:inset 0 0 0 2px var(--color-primary-500)}.calendar-day-number{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary);margin-bottom:var(--space-1)}.calendar-day-cards{display:flex;flex-direction:column;gap:2px}.calendar-day-card{display:flex;align-items:center;gap:var(--space-1);padding:2px var(--space-1);background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);overflow:hidden}.calendar-day-card.overdue{background:#ef44441a}.calendar-card-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.calendar-card-dot.priority-critical{background:#ef4444}.calendar-card-dot.priority-high{background:#f97316}.calendar-card-dot.priority-medium{background:#eab308}.calendar-card-dot.priority-low{background:#22c55e}.calendar-card-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.calendar-day-more{font-size:var(--font-size-xs);color:var(--text-muted);padding-left:var(--space-2)}.calendar-panel{display:flex;flex-direction:column;background:var(--surface-glass);border:1px solid var(--border-primary);border-radius:var(--radius-xl);overflow:hidden}.calendar-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--bg-secondary);border-bottom:1px solid var(--border-primary)}.calendar-panel-header h3{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--text-primary)}.calendar-panel-count{font-size:var(--font-size-sm);color:var(--text-muted)}.calendar-panel-content{flex:1;overflow-y:auto;padding:var(--space-4)}.calendar-panel-empty{text-align:center;color:var(--text-muted);padding:var(--space-6)}.calendar-panel-cards{display:flex;flex-direction:column;gap:var(--space-3)}.calendar-panel-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:border-color var(--duration-fast) var(--ease-in-out)}.calendar-panel-card:hover{border-color:var(--color-primary-500)}.calendar-panel-card-header{display:flex;gap:var(--space-2);flex-wrap:wrap}.calendar-panel-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.calendar-panel-card-desc{font-size:var(--font-size-xs);color:var(--text-tertiary);line-height:1.4}.calendar-panel-card-meta{display:flex;gap:var(--space-2)}.calendar-panel-points{font-size:var(--font-size-xs);color:var(--color-primary-400);font-weight:var(--font-weight-medium)}@media(max-width:1024px){.calendar-content{grid-template-columns:1fr}.calendar-panel{max-height:300px}}@media(max-width:768px){.calendar-view{padding:var(--space-4)}.calendar-header{flex-direction:column;align-items:flex-start}.calendar-day{min-height:60px;padding:var(--space-1)}.calendar-day-cards{display:none}}.backlog-view{padding:var(--space-6);height:100%;overflow-y:auto;background:var(--bg-primary)}.backlog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-6)}.backlog-header h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--text-primary)}.sprints-list{display:flex;flex-direction:column;gap:var(--space-4)}.sprint-container{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary);overflow:hidden}.sprint-container.active-sprint{background:var(--bg-secondary);border-color:var(--color-primary-300);box-shadow:0 0 0 1px var(--color-primary-300)}.sprint-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none}.sprint-header-left{display:flex;align-items:center;gap:var(--space-3)}.sprint-toggle{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-secondary);cursor:pointer;padding:0}.sprint-info{display:flex;flex-direction:column;gap:2px}.sprint-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.sprint-badge{font-size:var(--font-size-xs);padding:2px 6px;border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.sprint-badge.active{background:var(--color-primary-100);color:var(--color-primary-700)}.sprint-meta{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--text-tertiary)}.sprint-date{display:flex;align-items:center;gap:4px}.sprint-goal{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-xs);color:var(--text-secondary);border-bottom:1px solid var(--border-primary);background:var(--bg-secondary)}.sprint-cards{padding:var(--space-2);min-height:40px}.empty-sprint-dropzone{padding:var(--space-4);text-align:center;font-size:var(--font-size-sm);color:var(--text-muted);border:1px dashed var(--border-secondary);border-radius:var(--radius-md);margin:var(--space-2)}.backlog-container{margin-top:var(--space-4);background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-primary);overflow:hidden}.backlog-section-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.backlog-section-header h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--text-secondary)}.backlog-list{padding:var(--space-2);min-height:100px}.backlog-card-wrapper{margin-bottom:var(--space-2)}.backlog-card{padding:var(--space-3);background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:grab}.backlog-card:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-md)}.backlog-card-title{font-size:var(--font-size-sm);color:var(--text-primary)}.dashboard-board-switcher{position:relative;display:flex;align-items:center}.board-select{appearance:none;-webkit-appearance:none;background:var(--surface-card);border:1px solid var(--border-primary);padding:var(--space-2) var(--space-8) var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-primary);cursor:pointer;min-width:150px;transition:all var(--duration-fast)}.board-select:hover{border-color:var(--border-secondary);background:var(--bg-secondary)}.board-select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 2px #6366f133}.board-select-icon{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}:root{--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-accent-cyan: #22d3ee;--color-accent-pink: #f472b6;--color-accent-orange: #fb923c;--color-accent-emerald: #34d399;--color-accent-violet: #a78bfa;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-priority-critical: #dc2626;--color-priority-high: #f97316;--color-priority-medium: #eab308;--color-priority-low: #22c55e;--color-type-feature: #6366f1;--color-type-bug: #ef4444;--color-type-design: #ec4899;--color-type-marketing: #8b5cf6;--color-type-finance: #14b8a6;--color-type-research: #f59e0b;--color-type-documentation: #64748b;--color-type-other: #78716c;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--gray-950: #030712;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", Consolas, monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--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;--space-20: 5rem;--space-24: 6rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05);--shadow-glow: 0 0 20px rgb(99 102 241 / .3);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 300;--z-modal: 400;--z-popover: 500;--z-tooltip: 600;--z-toast: 700;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-elevated: #ffffff;--bg-overlay: rgba(0, 0, 0, .5);--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-muted: #9ca3af;--text-inverse: #ffffff;--border-primary: #e5e7eb;--border-secondary: #d1d5db;--border-focus: #6366f1;--surface-card: #ffffff;--surface-column: #f3f4f6;--surface-sidebar: #ffffff;--surface-header: rgba(255, 255, 255, .8);--glass-bg: rgba(255, 255, 255, .7);--glass-border: rgba(255, 255, 255, .3);--glass-blur: blur(12px)}[data-theme=dark]{--bg-primary: #0f0f1a;--bg-secondary: #16162a;--bg-tertiary: #1e1e35;--bg-elevated: #1e1e35;--bg-overlay: rgba(0, 0, 0, .7);--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--text-muted: #6b7280;--text-inverse: #111827;--border-primary: #2d2d4a;--border-secondary: #3d3d5c;--border-focus: #818cf8;--surface-card: #1e1e35;--surface-column: #16162a;--surface-sidebar: #16162a;--surface-header: rgba(15, 15, 26, .8);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .3);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .3);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .5);--shadow-glow: 0 0 30px rgb(99 102 241 / .4);--glass-bg: rgba(30, 30, 53, .7);--glass-border: rgba(255, 255, 255, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--text-primary);background:var(--bg-primary);min-height:100vh;transition:background-color var(--duration-slow) var(--ease-in-out),color var(--duration-slow) var(--ease-in-out)}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--text-secondary);line-height:var(--line-height-relaxed)}a{color:var(--color-primary-500);text-decoration:none;transition:color var(--duration-fast) var(--ease-in-out)}a:hover{color:var(--color-primary-400)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--duration-normal) var(--ease-in-out);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:#fff;box-shadow:var(--shadow-md),0 0 #6366f100}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));box-shadow:var(--shadow-lg),0 0 20px #6366f14d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-primary)}.btn-secondary:hover:not(:disabled){background:var(--border-primary);border-color:var(--border-secondary)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-danger{background:linear-gradient(135deg,var(--color-error),#dc2626);color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#f87171,var(--color-error));box-shadow:var(--shadow-lg),0 0 20px #ef44444d}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);border-radius:var(--radius-md)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base);border-radius:var(--radius-xl)}.btn-icon{padding:var(--space-2);border-radius:var(--radius-lg)}.input{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);outline:none;transition:all var(--duration-normal) var(--ease-in-out)}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f11a}.input:disabled{opacity:.5;cursor:not-allowed}.textarea{min-height:100px;resize:vertical}.label{display:block;margin-bottom:var(--space-1);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-secondary)}.form-group{margin-bottom:var(--space-4)}.card{background:var(--surface-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--ease-in-out)}.card:hover{box-shadow:var(--shadow-md)}.card-glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap}.badge-priority-critical{background:#dc262626;color:var(--color-priority-critical)}.badge-priority-high{background:#f9731626;color:var(--color-priority-high)}.badge-priority-medium{background:#eab30826;color:var(--color-priority-medium)}.badge-priority-low{background:#22c55e26;color:var(--color-priority-low)}.badge-type-feature{background:#6366f126;color:var(--color-type-feature)}.badge-type-bug{background:#ef444426;color:var(--color-type-bug)}.badge-type-design{background:#ec489926;color:var(--color-type-design)}.badge-type-marketing{background:#8b5cf626;color:var(--color-type-marketing)}.badge-type-finance{background:#14b8a626;color:var(--color-type-finance)}.badge-type-research{background:#f59e0b26;color:var(--color-type-research)}.badge-type-documentation{background:#64748b26;color:var(--color-type-documentation)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-600));color:#fff;font-weight:var(--font-weight-medium);overflow:hidden;flex-shrink:0}.avatar-sm{width:24px;height:24px;font-size:var(--font-size-xs)}.avatar-md{width:32px;height:32px;font-size:var(--font-size-sm)}.avatar-lg{width:40px;height:40px;font-size:var(--font-size-base)}.avatar-xl{width:56px;height:56px;font-size:var(--font-size-xl)}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-group{display:flex;flex-direction:row-reverse}.avatar-group .avatar{margin-left:-8px;border:2px solid var(--bg-primary)}.avatar-group .avatar:last-child{margin-left:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-secondary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--border-secondary) transparent}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.animate-fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out)}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-spring)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 0%,var(--border-primary) 50%,var(--bg-tertiary) 100%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--radius-md)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.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)}.gap-8{gap:var(--space-8)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grid{display:grid}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-2{padding-left:var(--space-2);padding-right:var(--space-2)}.px-3{padding-left:var(--space-3);padding-right:var(--space-3)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-2{padding-top:var(--space-2);padding-bottom:var(--space-2)}.py-3{padding-top:var(--space-3);padding-bottom:var(--space-3)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.m-0{margin:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.ml-2{margin-left:var(--space-2)}.ml-auto{margin-left:auto}.mr-2{margin-right:var(--space-2)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.text-right{text-align:right}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{inset:0}.hidden{display:none}.invisible{visibility:hidden}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.border{border:1px solid var(--border-primary)}.border-t{border-top:1px solid var(--border-primary)}.border-b{border-bottom:1px solid var(--border-primary)}.border-l{border-left:1px solid var(--border-primary)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-tertiary{background:var(--bg-tertiary)}.transition-all{transition:all var(--duration-normal) var(--ease-in-out)}.transition-colors{transition:color var(--duration-normal) var(--ease-in-out),background-color var(--duration-normal) var(--ease-in-out),border-color var(--duration-normal) var(--ease-in-out)}.transition-transform{transition:transform var(--duration-normal) var(--ease-in-out)}.transition-opacity{transition:opacity var(--duration-normal) var(--ease-in-out)}.hover\:scale-102:hover{transform:scale(1.02)}.hover\:shadow-lg:hover{box-shadow:var(--shadow-lg)}.focus-ring:focus{outline:none;box-shadow:0 0 0 3px #6366f14d}.focus-ring:focus-visible{outline:none;box-shadow:0 0 0 3px #6366f14d}::selection{background:var(--color-primary-200);color:var(--color-primary-900)}[data-theme=dark] ::selection{background:var(--color-primary-800);color:var(--color-primary-100)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--text-inverse);background:var(--gray-800);border-radius:var(--radius-md);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--duration-fast) var(--ease-out);z-index:var(--z-tooltip);pointer-events:none}[data-tooltip]:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-8px)}.spinner{width:20px;height:20px;border:2px solid var(--border-primary);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin .8s linear infinite}.spinner-lg{width:40px;height:40px;border-width:3px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.empty-state-icon{width:64px;height:64px;color:var(--text-muted);margin-bottom:var(--space-4)}.empty-state-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--font-size-sm);color:var(--text-tertiary);max-width:300px}.dropdown-menu{position:absolute;top:100%;right:0;min-width:180px;padding:var(--space-1);background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:var(--z-dropdown);animation:fadeInDown var(--duration-fast) var(--ease-out)}.dropdown-item{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);color:var(--text-secondary);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-in-out);text-align:left}.dropdown-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.dropdown-item-danger{color:var(--color-error)}.dropdown-item-danger:hover{background:#ef44441a;color:var(--color-error)}.dropdown-divider{height:1px;margin:var(--space-1) 0;background:var(--border-primary)}.modal-overlay{position:fixed;inset:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);animation:fadeIn var(--duration-fast) var(--ease-out)}.modal-content{background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow:hidden;animation:scaleIn var(--duration-normal) var(--ease-spring)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-primary)}.modal-body{padding:var(--space-6);overflow-y:auto}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-primary)}.drawer-overlay{position:fixed;inset:0;background:var(--bg-overlay);z-index:var(--z-modal-backdrop);animation:fadeIn var(--duration-fast) var(--ease-out)}.drawer-content{position:fixed;top:0;right:0;bottom:0;width:600px;max-width:100vw;background:var(--bg-elevated);border-left:1px solid var(--border-primary);box-shadow:var(--shadow-2xl);z-index:var(--z-modal);overflow-y:auto;animation:slideInRight var(--duration-slow) var(--ease-out)}.toast-container{position:fixed;top:var(--space-4);right:var(--space-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2)}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:slideInRight var(--duration-slow) var(--ease-spring);max-width:400px}.toast-success{border-left:3px solid var(--color-success)}.toast-error{border-left:3px solid var(--color-error)}.toast-warning{border-left:3px solid var(--color-warning)}.toast-info{border-left:3px solid var(--color-info)}@media(max-width:1280px){.drawer-content{width:500px}}@media(max-width:768px){html{font-size:15px}.drawer-content{width:100vw;border-left:none}.modal-content{max-width:95vw;margin:var(--space-4)}.toast-container{left:var(--space-4);right:var(--space-4)}.toast{max-width:100%}}@media print{.no-print{display:none!important}body{background:#fff;color:#000}.card{box-shadow:none;border:1px solid #ccc}}.app-layout{display:flex;min-height:100vh;background:var(--bg-primary)}.app-main{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100vh}.dashboard-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:var(--space-12);text-align:center}.dashboard-placeholder h1{font-size:var(--font-size-3xl);margin-bottom:var(--space-4)}.dashboard-placeholder p{font-size:var(--font-size-lg);color:var(--text-tertiary)}
