@import "https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--bg-primary:#f8fafc;--bg-secondary:#fff;--bg-sidebar:#fff;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-input:#fff;--border-color:#e2e8f0;--border-highlight:#818cf8;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#4f46e5;--accent-primary-hover:#4338ca;--accent-secondary:#ec4899;--color-blue:#2563eb;--color-green:#059669;--color-purple:#7c3aed;--color-amber:#d97706;--color-red:#dc2626;--gradient-brand:linear-gradient(135deg, #4f46e5 0%, #7c3aed 50%, #ec4899 100%);--gradient-card:linear-gradient(135deg, #fff 0%, #f8fafc 100%);--gradient-active:linear-gradient(135deg, #4f46e5 0%, #6366f1 100%);--shadow-sm:0 1px 3px #0f172a0f, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a0f;--shadow-lg:0 12px 28px #0f172a1f;--shadow-glow:0 0 20px #4f46e52e;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--font-main:"Kanit", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--transition-fast:all .15s cubic-bezier(.4, 0, .2, 1);--transition-normal:all .25s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-main);background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 10% 10%,#6366f10a 0,#0000 50%),linear-gradient(#f8fafc 0%,#f1f5f9 100%);background-attachment:fixed;min-height:100vh;line-height:1.5}.app-layout{min-height:100vh;display:flex}.main-wrapper{flex-direction:column;flex:1;min-width:0;display:flex}.main-viewport{flex:1;width:100%;max-width:1440px;margin:0 auto;padding:24px 24px 48px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--border-color);z-index:120;flex-direction:column;width:260px;height:100vh;transition:width .25s cubic-bezier(.4,0,.2,1);display:flex;position:sticky;top:0;box-shadow:2px 0 10px #0f172a05}.sidebar.collapsed{width:76px}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;height:64px;padding:16px;display:flex}.sidebar-brand{align-items:center;gap:12px;display:flex;overflow:hidden}.sidebar-logo{border-radius:var(--radius-md);background:var(--gradient-brand);width:38px;height:38px;box-shadow:var(--shadow-glow);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar-brand-title{background:linear-gradient(135deg,#1e1b4b 0%,#312e81 100%);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;font-size:1.1rem;font-weight:700;line-height:1.2}.sidebar-brand-sub{color:var(--text-muted);white-space:nowrap;font-size:.7rem}.collapse-toggle-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:var(--transition-fast);background:#f1f5f9;flex-shrink:0;justify-content:center;align-items:center;display:flex}.collapse-toggle-btn:hover{color:var(--text-primary);background:#e2e8f0}.sidebar-nav{flex-direction:column;flex:1;gap:12px;padding:16px 10px;display:flex;overflow-y:auto}.menu-group{flex-direction:column;gap:4px;display:flex}.group-header-btn{width:100%;color:var(--text-muted);font-family:var(--font-main);text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 10px;font-size:.78rem;font-weight:600;display:flex}.group-header-btn:hover{color:var(--text-secondary)}.group-title-left{align-items:center;gap:8px;display:flex}.group-icon{color:var(--text-secondary)}.group-arrow{align-items:center;display:flex}.submenu-list{flex-direction:column;gap:2px;padding-left:6px;display:flex}.sidebar.collapsed .submenu-list{padding-left:0}.submenu-item{border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;background:0 0;border:none;align-items:center;gap:10px;padding:9px 12px;font-size:.88rem;font-weight:500;display:flex}.submenu-item:hover{color:var(--text-primary);background:#f1f5f9}.submenu-item.active{color:var(--accent-primary);background:#eef2ff;font-weight:600}.sidebar-footer{border-top:1px solid var(--border-color);padding:14px 16px}.sys-status-badge{color:var(--text-secondary);align-items:center;gap:8px;font-size:.75rem;display:flex}.status-dot{border-radius:var(--radius-full);background:var(--color-green);width:8px;height:8px;box-shadow:0 0 8px #05966966}.top-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);z-index:100;background:#ffffffe6;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #0f172a05}.top-header-left{align-items:center;gap:16px;display:flex}.mobile-menu-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;display:none}.breadcrumb{align-items:center;gap:8px;display:flex}.breadcrumb-group{color:var(--text-secondary);font-size:.88rem}.breadcrumb-separator{color:var(--text-muted)}.breadcrumb-current{color:var(--text-primary);font-size:1.05rem;font-weight:700}.top-header-right{align-items:center;gap:12px;display:flex}.top-role-toggle{border-radius:var(--radius-full);border:1px solid var(--border-color);background:#f1f5f9;padding:3px;display:flex}.top-role-btn{border-radius:var(--radius-full);color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:500;display:flex}.top-role-btn.active{background:var(--accent-primary);color:#fff}.btn{border-radius:var(--radius-md);font-family:var(--font-main);cursor:pointer;transition:var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:.9rem;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent-primary);color:#fff;box-shadow:0 4px 12px #4f46e540}.btn-primary:hover{background:var(--accent-primary-hover);transform:translateY(-1px)}.btn-secondary{color:#1e293b;background:#e2e8f0}.btn-secondary:hover{background:#cbd5e1}.btn-outline{border:1px solid var(--border-color);color:var(--text-primary);box-shadow:var(--shadow-sm);background:#fff}.btn-outline:hover{background:#f8fafc;border-color:#cbd5e1}.btn-full{width:100%}.btn-lg{padding:12px 24px;font-size:1rem}.page-header-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;padding:24px 28px;display:flex}.page-title{color:var(--text-primary);align-items:center;gap:10px;font-size:1.5rem;font-weight:700;display:flex}.page-subtitle{color:var(--text-secondary);margin-top:4px;font-size:.88rem}.page-header-actions{align-items:center;gap:12px;display:flex}.overview-dashboard{flex-direction:column;gap:24px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dashboard-header-banner{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:28px 32px;display:flex}.banner-badge{color:#4338ca;border-radius:var(--radius-full);background:#4f46e51a;align-items:center;gap:6px;margin-bottom:8px;padding:4px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:var(--transition-normal);align-items:center;gap:16px;padding:20px;display:flex}.metric-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.metric-card.alert-card{background:linear-gradient(135deg,#fff 0%,#fef2f2 100%);border-color:#fca5a5}.metric-icon-box{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.icon-purple{color:#7c3aed;background:#7c3aed1a}.icon-green{color:#059669;background:#0596691a}.icon-blue{color:#2563eb;background:#2563eb1a}.icon-red{color:#dc2626;background:#dc26261a}.metric-title{color:var(--text-secondary);font-size:.85rem}.metric-value{color:var(--text-primary);font-size:1.8rem;font-weight:700;line-height:1.2}.metric-subtext{color:var(--text-muted);font-size:.75rem}.global-progress-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:20px;display:flex}.progress-card-header{justify-content:space-between;align-items:center;display:flex}.progress-card-title{color:var(--text-primary);align-items:center;gap:8px;font-size:1rem;font-weight:600;display:flex}.progress-card-percent{color:var(--accent-primary);font-size:1.1rem;font-weight:700}.global-progress-track{border-radius:var(--radius-full);background:#e2e8f0;height:10px;overflow:hidden}.global-progress-fill{background:var(--gradient-brand);border-radius:var(--radius-full);height:100%;transition:width .5s}.section-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:20px;padding:24px;display:flex}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-title{color:var(--text-primary);align-items:center;gap:8px;font-size:1.2rem;font-weight:600;display:flex}.section-subtitle{color:var(--text-secondary);font-size:.85rem}.team-workload-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.workload-card{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:14px;padding:18px;display:flex}.workload-card:hover{border-color:var(--accent-primary);transform:translateY(-3px);box-shadow:0 8px 20px #4f46e51f}.workload-card-top{align-items:center;gap:12px;display:flex}.member-avatar-lg{border-radius:var(--radius-full);color:#fff;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.2rem;font-weight:700;display:flex;box-shadow:0 4px 10px #0000001f}.workload-member-info h3{color:var(--text-primary);font-size:1rem;font-weight:600}.workload-role{color:var(--text-secondary);font-size:.78rem}.workload-progress-area{flex-direction:column;gap:6px;display:flex}.workload-progress-label{color:var(--text-secondary);justify-content:space-between;font-size:.8rem;display:flex}.workload-percent{color:var(--text-primary);font-weight:600}.workload-progress-track{border-radius:var(--radius-full);background:#e2e8f0;height:6px;overflow:hidden}.workload-progress-fill{background:var(--color-green);border-radius:var(--radius-full);height:100%}.workload-status-chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border-radius:var(--radius-sm);background:#f1f5f9;padding:3px 8px;font-size:.72rem;font-weight:500}.chip-todo{color:var(--text-secondary);background:#f1f5f9}.chip-progress{color:#1d4ed8;background:#2563eb1a}.chip-review{color:#6b21a8;background:#7c3aed1a}.chip-done{color:#047857;background:#0596691a}.workload-card-footer{color:var(--accent-primary);border-top:1px dashed var(--border-color);justify-content:space-between;align-items:center;margin-top:4px;padding-top:8px;font-size:.82rem;font-weight:600;display:flex}.task-matrix-page{flex-direction:column;gap:20px;animation:.3s fadeIn;display:flex}.matrix-filter-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.matrix-table-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;padding:20px}.search-input-wrapper{flex:1;min-width:240px;position:relative}.search-icon{color:var(--text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-input-wrapper input{background:var(--bg-input);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-main);border:1px solid #cbd5e1;padding:9px 12px 9px 38px;font-size:.88rem}.filter-select-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.filter-item{color:var(--text-secondary);align-items:center;gap:8px;font-size:.82rem;display:flex}.filter-item select{background:var(--bg-input);color:var(--text-primary);border-radius:var(--radius-md);font-family:var(--font-main);border:1px solid #cbd5e1;padding:8px 12px}.table-responsive{width:100%;overflow-x:auto}.task-matrix-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem}.task-matrix-table th{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border-color);background:#f1f5f9;padding:12px 16px;font-size:.82rem;font-weight:600}.task-matrix-table td{border-bottom:1px solid var(--border-color);vertical-align:middle;padding:14px 16px}.task-table-row:hover{background:#f8fafc}.table-task-title{color:var(--text-primary);cursor:pointer;font-weight:600}.table-task-title:hover{color:var(--accent-primary)}.table-task-desc{color:var(--text-secondary);margin-top:2px;font-size:.78rem}.table-assignee{align-items:center;gap:8px;display:flex}.assignee-avatar-sm{border-radius:var(--radius-full);color:#fff;justify-content:center;align-items:center;width:28px;height:28px;font-size:.78rem;font-weight:600;display:flex}.table-status-select{color:var(--text-primary);border-radius:var(--radius-sm);font-family:var(--font-main);background:#fff;border:1px solid #cbd5e1;padding:6px 10px}.priority-badge{border-radius:var(--radius-full);padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-block}.priority-high{color:#dc2626;background:#fef2f2;border:1px solid #fca5a5}.priority-medium{color:#d97706;background:#fffbeb;border:1px solid #fcd34d}.priority-low{color:#2563eb;background:#eff6ff;border:1px solid #93c5fd}.deadline-badge{border-radius:var(--radius-sm);align-items:center;gap:5px;padding:3px 8px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-danger{color:#dc2626;background:#fef2f2}.badge-warning{color:#d97706;background:#fffbeb}.badge-info{color:#2563eb;background:#eff6ff}.badge-secondary{color:var(--text-secondary);background:#f1f5f9}.team-members-page{flex-direction:column;gap:20px;animation:.3s fadeIn;display:flex}.add-member-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:16px;padding:24px;display:flex}.add-member-card h3{align-items:center;gap:8px;font-size:1.1rem;font-weight:600;display:flex}.add-member-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:16px;display:grid}.btn-submit-group{justify-content:flex-end;display:flex}.members-directory-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;display:grid}.member-directory-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:var(--transition-normal);background:#fff;flex-direction:column;gap:16px;padding:20px;display:flex}.member-directory-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.member-card-header{align-items:center;gap:14px;display:flex;position:relative}.member-card-avatar{border-radius:var(--radius-full);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:1.3rem;font-weight:700;display:flex;box-shadow:0 4px 10px #0000001a}.member-card-info{flex:1}.member-card-info h3{color:var(--text-primary);font-size:1.05rem;font-weight:700}.member-card-role{color:var(--accent-primary);font-size:.8rem;font-weight:600;display:block}.member-card-email{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:.75rem;display:flex}.member-card-body{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#f8fafc;flex-direction:column;gap:10px;padding:14px;display:flex}.member-stat-row{text-align:center;justify-content:space-around;display:flex}.stat-pill{flex-direction:column;display:flex}.stat-num{color:var(--text-primary);font-size:1.1rem;font-weight:700}.stat-name{color:var(--text-secondary);font-size:.72rem}.cloud-settings-page{flex-direction:column;gap:20px;animation:.3s fadeIn;display:flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;display:grid}.settings-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:18px;padding:24px;display:flex}.settings-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.settings-card-header h3{color:var(--text-primary);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}.badge-online{color:#047857;border-radius:var(--radius-full);background:#d1fae5;padding:2px 10px;font-size:.75rem;font-weight:600}.badge-offline{color:#b45309;border-radius:var(--radius-full);background:#fef3c7;padding:2px 10px;font-size:.75rem;font-weight:600}.settings-card-body{flex-direction:column;gap:16px;display:flex}.sync-status-row{border-radius:var(--radius-md);border:1px solid var(--border-color);background:#f8fafc;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.status-label{color:var(--text-secondary);font-size:.85rem}.status-val{color:var(--text-primary);margin-left:6px;font-size:.85rem;font-weight:600}.form-hint{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.sync-actions-group{flex-wrap:wrap;gap:10px;display:flex}.sync-error-banner{color:#b91c1c;border-radius:var(--radius-md);background:#fef2f2;border:1px solid #fecaca;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;display:flex}.settings-divider{border:none;border-top:1px dashed var(--border-color);margin:4px 0}.backup-actions-row{flex-wrap:wrap;gap:12px;display:flex}.file-input-btn{cursor:pointer}.permissions-table{border-collapse:collapse;width:100%;font-size:.88rem}.permissions-table th{color:var(--text-secondary);border-bottom:1px solid var(--border-color);background:#f1f5f9;padding:10px 14px;font-size:.82rem;font-weight:600}.permissions-table td{border-bottom:1px solid var(--border-color);padding:12px 14px}.member-kanban-view{flex-direction:column;gap:20px;animation:.3s fadeIn;display:flex}.member-selector-bar{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);align-items:center;gap:16px;padding:14px 20px;display:flex;overflow-x:auto}.selector-label{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:6px;font-size:.88rem;font-weight:600;display:flex}.member-tabs{align-items:center;gap:10px;display:flex;overflow-x:auto}.member-tab{border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;background:#f8fafc;align-items:center;gap:10px;padding:8px 14px;display:flex}.member-tab:hover{color:var(--text-primary);background:#fff;border-color:#cbd5e1}.member-tab.active{border-color:var(--accent-primary);color:var(--accent-primary);background:#eef2ff;font-weight:600}.member-tab-avatar{border-radius:var(--radius-full);color:#fff;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:600;display:flex}.member-tab-info{text-align:left;flex-direction:column;display:flex}.member-tab-name{font-size:.85rem;font-weight:600;line-height:1.2}.member-tab-role{color:var(--text-muted);font-size:.72rem}.member-tab-badge{color:var(--text-secondary);border-radius:var(--radius-full);background:#e2e8f0;padding:2px 7px;font-size:.72rem;font-weight:600}.member-tab.active .member-tab-badge{background:var(--accent-primary);color:#fff}.member-profile-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;display:flex}.member-profile-main{align-items:center;gap:18px;display:flex}.member-profile-avatar{border-radius:var(--radius-full);color:#fff;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;font-weight:700;display:flex;box-shadow:0 4px 14px #0000001f}.member-name-row{align-items:center;gap:12px;margin-bottom:2px;display:flex}.member-name-row h2{color:var(--text-primary);font-size:1.35rem;font-weight:700}.member-role-badge{color:#4338ca;border-radius:var(--radius-full);background:#eef2ff;padding:3px 10px;font-size:.75rem;font-weight:600}.member-email{color:var(--text-secondary);font-size:.85rem}.member-progress-section{flex-direction:column;gap:10px;min-width:280px;display:flex}.progress-stats-row{gap:18px;display:flex}.p-stat{flex-direction:column;display:flex}.p-stat-value{font-size:1.25rem;font-weight:700;line-height:1.1}.p-stat-label{color:var(--text-secondary);font-size:.72rem}.progress-bar-wrapper{flex-direction:column;gap:4px;display:flex}.progress-bar-info{color:var(--text-secondary);justify-content:space-between;font-size:.78rem;display:flex}.progress-percent{color:var(--text-primary);font-weight:700}.progress-track{border-radius:var(--radius-full);background:#e2e8f0;height:8px;overflow:hidden}.progress-fill{background:var(--color-green);border-radius:var(--radius-full);height:100%;transition:width .4s}.kanban-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.kanban-board-grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:16px;display:grid}@media (width<=1200px){.kanban-board-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.kanban-board-grid{grid-template-columns:1fr}}.kanban-column{border:1px solid var(--border-color);border-radius:var(--radius-lg);min-height:500px;transition:var(--transition-fast);background:#f8fafc;flex-direction:column;gap:14px;padding:16px;display:flex}.kanban-column.drag-over{border-color:var(--accent-primary);box-shadow:var(--shadow-glow);background:#eef2ff}.column-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.column-title-wrapper{align-items:center;gap:10px;display:flex}.column-title{color:var(--text-primary);font-size:.95rem;font-weight:700;line-height:1.2}.column-subtitle{color:var(--text-secondary);font-size:.72rem;display:block}.task-count-badge{border-radius:var(--radius-full);padding:2px 9px;font-size:.78rem;font-weight:700}.column-body{flex-direction:column;flex:1;gap:12px;display:flex}.empty-column-state{text-align:center;border-radius:var(--radius-md);color:var(--text-muted);border:2px dashed #cbd5e1;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-top:10px;padding:40px 16px;font-size:.85rem;display:flex}.column-footer-add-btn{border-radius:var(--radius-md);width:100%;color:var(--text-secondary);font-family:var(--font-main);cursor:pointer;transition:var(--transition-fast);background:#fff;border:1px dashed #cbd5e1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.85rem;display:flex}.column-footer-add-btn:hover{color:var(--text-primary);background:#f1f5f9;border-color:#94a3b8}.task-card{border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:grab;transition:var(--transition-normal);box-shadow:var(--shadow-sm);background:#fff;flex-direction:column;gap:10px;padding:14px;display:flex}.task-card:hover{box-shadow:var(--shadow-md);border-color:#cbd5e1;transform:translateY(-2px)}.task-card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-card-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-card-actions{opacity:.6;align-items:center;gap:4px;display:flex}.task-card:hover .task-card-actions{opacity:1}.card-action-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px}.card-action-btn:hover{color:var(--text-primary);background:#f1f5f9}.delete-btn:hover{color:var(--color-red)}.task-title{color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.3}.task-description{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;display:-webkit-box;overflow:hidden}.task-card-footer{border-top:1px solid #f1f5f9;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.assignee-tag{align-items:center;gap:6px;display:flex}.assignee-avatar{border-radius:var(--radius-full);color:#fff;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:600;display:flex}.assignee-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100px;font-size:.78rem;overflow:hidden}.status-quick-select{color:var(--text-secondary);font-family:var(--font-main);border-radius:var(--radius-sm);cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;padding:2px 6px;font-size:.72rem}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;background:#0f172a66;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:90vh;box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;display:flex;overflow-y:auto}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal-header h3{color:var(--text-primary);align-items:center;gap:8px;font-size:1.15rem;font-weight:700;display:flex}.close-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.close-btn:hover{color:var(--text-primary)}.modal-body{flex-direction:column;gap:16px;padding:24px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.form-input,.form-select,.form-textarea{border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-main);background:#f8fafc;border:1px solid #cbd5e1;padding:10px 14px;font-size:.9rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.form-row-2{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-3{grid-template-columns:1fr 1fr auto;gap:10px;display:grid}.modal-footer{border-top:1px solid var(--border-color);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.text-red{color:#dc2626}.text-green{color:#059669}.text-primary{color:var(--accent-primary)}.text-right{text-align:right}.text-center{text-align:center}.py-8{padding-top:2rem;padding-bottom:2rem}.text-muted{color:var(--text-muted)}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=900px){.sidebar{position:fixed;left:-260px}.sidebar.mobile-open{left:0}.mobile-menu-btn{display:flex}.settings-grid{grid-template-columns:1fr}}
