:root{--primary: #4F6BED;--primary-light: #6B83F2;--primary-dark: #3A52D4;--primary-glow: rgba(79, 107, 237, .35);--bg-primary: #070913;--bg-secondary: #0C0F1E;--bg-card: rgba(22, 30, 53, .75);--bg-card-hover: rgba(30, 41, 71, .85);--bg-popover: #161e35;--bg-sidebar: #060812;--bg-input: rgba(30, 41, 71, .6);--bg-modal: rgba(3, 4, 9, .85);--text-primary: #F8FAFC;--text-secondary: #94A3B8;--text-muted: #64748B;--text-accent: #60A5FA;--green: #10B981;--green-bg: rgba(16, 185, 129, .15);--yellow: #F59E0B;--yellow-bg: rgba(245, 158, 11, .15);--red: #EF4444;--red-bg: rgba(239, 68, 68, .15);--blue: #3B82F6;--blue-bg: rgba(59, 130, 246, .15);--purple: #8B5CF6;--purple-bg: rgba(139, 92, 246, .15);--pink: #EC4899;--orange: #F97316;--cyan: #06B6D4;--border: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .04);--border-focus: #4F6BED;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 36px rgba(0, 0, 0, .7);--shadow-glow: 0 0 25px rgba(79, 107, 237, .25);--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-theme=light]{--bg-primary: #F8FAFC;--bg-secondary: #FFFFFF;--bg-card: rgba(255, 255, 255, .9);--bg-card-hover: #F1F5F9;--bg-popover: #ffffff;--bg-sidebar: #FFFFFF;--bg-input: #F1F5F9;--bg-modal: rgba(0, 0, 0, .4);--text-primary: #0F172A;--text-secondary: #475569;--text-muted: #64748B;--text-accent: #3B5BDB;--border: #E2E8F0;--border-light: #CBD5E1;--primary: #4F6BED;--primary-glow: rgba(79, 107, 237, .15);--primary-dark: #3A52D4;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-glow: 0 0 15px rgba(79, 107, 237, .12);--green-bg: rgba(16, 185, 129, .1);--yellow-bg: rgba(245, 158, 11, .1);--red-bg: rgba(239, 68, 68, .1);--blue-bg: rgba(59, 130, 246, .1);--purple-bg: rgba(139, 92, 246, .1)}[data-theme=light] body{background:linear-gradient(135deg,#f8fafc,#eef2ff,#f0f9ff)}[data-theme=light] .sidebar{background:linear-gradient(180deg,#fff,#f8fafc);border-right-color:#e2e8f0}[data-theme=light] .sidebar-item.active{background:linear-gradient(135deg,#4f6bed,#6b83f2);color:#fff;box-shadow:0 4px 12px #4f6bed4d}[data-theme=light] .sidebar-item.active:before{background:#3b82f6;box-shadow:0 0 6px #3b82f6}[data-theme=light] .sidebar-item:not(.active):hover{background:#f1f5f9}[data-theme=light] .header{background:#ffffffd9;border-bottom-color:#e2e8f0}[data-theme=light] .progress-bar{background:#e2e8f0;border-color:#cbd5e1;box-shadow:none}[data-theme=light] .progress-bar-fill{box-shadow:0 0 4px #4f6bed40}[data-theme=light] .progress-bar-fill.green{box-shadow:0 0 4px #10b98140}[data-theme=light] .progress-bar-fill.yellow{box-shadow:0 0 4px #f59e0b40}[data-theme=light] .progress-bar-fill.red{box-shadow:0 0 4px #ef444440}[data-theme=light] .btn-primary{box-shadow:0 2px 8px #4f6bed40}[data-theme=light] .btn-primary:hover{box-shadow:0 4px 12px #4f6bed59}[data-theme=light] .btn-secondary{background:#fff;border-color:#e2e8f0;color:#475569}[data-theme=light] .btn-secondary:hover{background:#f1f5f9;border-color:#cbd5e1}[data-theme=light] .form-input,[data-theme=light] .form-select{background:#fff;border-color:#e2e8f0;color:#0f172a}[data-theme=light] .form-input:focus,[data-theme=light] .form-select:focus{border-color:#4f6bed;box-shadow:0 0 0 3px #4f6bed1a}[data-theme=light] .modal{background:#fff;border-color:#e2e8f0;box-shadow:0 20px 60px #0000001f}[data-theme=light] .modal-header{border-bottom-color:#e2e8f0}[data-theme=light] .modal-footer{border-top-color:#e2e8f0}[data-theme=light] .data-table thead tr{background:#f8fafc}[data-theme=light] .data-table tbody tr:hover{background:#f1f5f9}[data-theme=light] .data-table th{color:#475569}[data-theme=light] .kanban-column{background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] .kanban-card{background:#fff;border-color:#e2e8f0}[data-theme=light] .kanban-card:hover{box-shadow:0 4px 12px #00000014}[data-theme=light] .user-avatar{background:linear-gradient(135deg,#4f6bed,#6b83f2)}[data-theme=light] .filter-chip{background:#fff;border-color:#e2e8f0;color:#475569}[data-theme=light] .filter-chip.active{background:#4f6bed;color:#fff;border-color:#4f6bed}[data-theme=light] .header-search{background:#f1f5f9;border-color:#e2e8f0}[data-theme=light] ::-webkit-scrollbar-thumb{background:#cbd5e1}[data-theme=light] ::-webkit-scrollbar-thumb:hover{background:#94a3b8}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);background:radial-gradient(circle at 10% 20%,rgba(79,107,237,.15) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(139,92,246,.15) 0%,transparent 45%),radial-gradient(circle at 50% 50%,rgba(6,182,212,.08) 0%,transparent 50%),var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-light)}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer;border:none;outline:none}input,textarea,select{font-family:inherit;outline:none;border:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-layout{display:flex;width:100%;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);display:flex;flex-direction:column;min-height:100vh;transition:margin-left var(--transition-normal)}.main-content.sidebar-collapsed{margin-left:var(--sidebar-collapsed)}.page-content{flex:1;padding:24px;overflow-y:auto}.sidebar{width:var(--sidebar-width);height:100vh;background:linear-gradient(180deg,var(--bg-sidebar),#070B14);border-right:1px solid var(--border);position:fixed;left:0;top:0;z-index:100;display:flex;flex-direction:column;transition:width var(--transition-normal),transform var(--transition-normal);overflow:hidden}.sidebar.collapsed{width:var(--sidebar-collapsed)}.sidebar-brand{padding:20px 16px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);min-height:72px}.sidebar-brand-icon{width:40px;height:40px;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--primary),var(--purple));display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;color:#fff;flex-shrink:0}.sidebar-brand-text{display:flex;flex-direction:column;overflow:hidden}.sidebar-brand-text h1{font-size:16px;font-weight:700;color:var(--text-primary);white-space:nowrap}.sidebar-brand-text span{font-size:11px;color:var(--text-muted);white-space:nowrap}.sidebar-nav{flex:1;overflow-y:auto;padding:12px 8px}.sidebar-section{margin-bottom:8px}.sidebar-section-title{padding:8px 12px 4px;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);margin:2px 0;font-size:13.5px;font-weight:500;position:relative;white-space:nowrap}.sidebar-item:not(.active):hover{background:var(--bg-card);color:var(--text-primary)}.sidebar-item.active{background:linear-gradient(135deg,#4f6bed,#8b5cf6);color:#fff;box-shadow:0 4px 15px #8b5cf666;font-weight:600}.sidebar-item.active:before{content:"";position:absolute;left:0;top:25%;height:50%;width:4px;background:#60a5fa;border-radius:0 4px 4px 0;box-shadow:0 0 8px #60a5fa}.sidebar-item .icon{width:20px;height:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.sidebar-item .badge{margin-left:auto;padding:2px 7px;border-radius:var(--radius-full);font-size:10px;font-weight:600;background:var(--primary);color:#fff}.sidebar-item.active .badge{background:#ffffff40}.sidebar-toggle{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;gap:12px;cursor:pointer;color:var(--text-muted);font-size:13px;transition:color var(--transition-fast)}.sidebar-toggle:hover{color:var(--text-primary)}.header{height:var(--header-height);background:#0b1120b3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 24px;gap:16px;position:sticky;top:0;z-index:50}.header-greeting{flex:1}.header-greeting h2{font-size:18px;font-weight:700}.header-greeting p{font-size:12px;color:var(--text-muted)}.header-search{display:flex;align-items:center;gap:10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);padding:8px 18px;width:320px;transition:all var(--transition-normal);box-shadow:inset 0 2px 4px #0000000d}.header-search:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:var(--bg-card)}.header-search input{flex:1;background:transparent;color:var(--text-primary);font-size:14px;outline:none;border:none}.header-search input::placeholder{color:var(--text-muted);font-weight:400}.header-search kbd{background:var(--bg-secondary);padding:3px 8px;border-radius:6px;font-size:11px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-light);box-shadow:0 1px 2px #0000001a;letter-spacing:.5px}.header-actions{display:flex;align-items:center;gap:8px}.header-btn{width:40px;height:40px;border-radius:var(--radius-md);background:var(--bg-card);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all var(--transition-fast);position:relative}.header-btn:hover{background:var(--bg-card-hover);color:var(--text-primary)}.header-btn .notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--red);border:2px solid var(--bg-secondary)}.header-btn .badge-count{position:absolute;top:4px;right:4px;min-width:18px;height:18px;border-radius:var(--radius-full);background:var(--red);color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--bg-secondary);padding:0 4px}.user-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--purple));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;cursor:pointer;overflow:hidden;flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-info{display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px;border-radius:var(--radius-md);transition:background var(--transition-fast)}.user-info:hover{background:var(--bg-card)}.user-info-text{text-align:right}.user-info-text .name{font-size:13px;font-weight:600;color:var(--text-primary)}.user-info-text .role{font-size:11px;color:var(--text-muted)}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px) saturate(120%);backdrop-filter:blur(16px) saturate(120%);border-radius:var(--radius-lg);border:1px solid var(--border);padding:22px;transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.card:hover{border-color:#4f6bed66;box-shadow:var(--shadow-lg),0 0 20px #4f6bed33;transform:translateY(-3px)}[data-theme=light] .card{background:#ffffffd9;border-color:#0000000f}[data-theme=light] .card:hover{border-color:#4f6bed59;box-shadow:0 10px 25px #0000000f,0 0 15px #4f6bed1a}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.card-header h3{font-size:15px;font-weight:600}.card-header .view-all{font-size:12px;color:var(--primary);cursor:pointer;font-weight:500}.card-header .view-all:hover{color:var(--primary-light)}.stat-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border);padding:20px;display:flex;align-items:center;gap:16px;transition:all var(--transition-normal)}.stat-card:hover{border-color:var(--border-light);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-card-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.stat-card-icon.blue{background:var(--blue-bg);color:var(--blue)}.stat-card-icon.green{background:var(--green-bg);color:var(--green)}.stat-card-icon.yellow{background:var(--yellow-bg);color:var(--yellow)}.stat-card-icon.red{background:var(--red-bg);color:var(--red)}.stat-card-icon.purple{background:var(--purple-bg);color:var(--purple)}.stat-card-info h4{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:4px}.stat-card-info .value{font-size:28px;font-weight:800;line-height:1}.stat-card-info .trend{font-size:11px;margin-top:6px;display:flex;align-items:center;gap:4px}.stat-card-info .trend.up{color:var(--green)}.stat-card-info .trend.down{color:var(--red)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:24px}.dashboard-grid-2{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.progress-donut-container{display:flex;align-items:center;gap:24px}.progress-donut{width:140px;height:140px;position:relative}.progress-donut svg{width:100%;height:100%;transform:rotate(-90deg)}.progress-donut .track{fill:none;stroke:var(--border-light);stroke-width:10}.progress-donut .fill{fill:none;stroke:var(--primary);stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1s ease}.progress-donut .center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}.progress-donut .center-text .percent{font-size:32px;font-weight:800;color:var(--text-primary)}.progress-donut .center-text .label{font-size:11px;color:var(--text-muted)}.progress-legend{display:flex;flex-direction:column;gap:10px}.progress-legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary)}.progress-legend-item .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.progress-legend-item .count{margin-left:auto;font-weight:600;color:var(--text-primary)}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;padding:12px 16px;font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.data-table td{padding:14px 16px;font-size:13px;border-bottom:1px solid var(--border);vertical-align:middle}.data-table tr{transition:background var(--transition-fast)}.data-table tbody tr:hover{background:var(--bg-card-hover)}.progress-bar{height:8px;background:#1e293b66;border-radius:4px;overflow:hidden;width:100%;border:1px solid var(--border);box-shadow:inset 0 1px 3px #0003}.progress-bar-fill{height:100%;border-radius:4px;transition:width .5s cubic-bezier(.4,0,.2,1);background:linear-gradient(90deg,#4f6bed,#8b5cf6);box-shadow:0 0 10px #4f6bed99}.progress-bar-fill.green{background:linear-gradient(90deg,#10b981,#06b6d4);box-shadow:0 0 10px #10b98199}.progress-bar-fill.yellow{background:linear-gradient(90deg,#f59e0b,#f97316);box-shadow:0 0 10px #f59e0b99}.progress-bar-fill.red{background:linear-gradient(90deg,#ef4444,#ec4899);box-shadow:0 0 10px #ef444499}.badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--radius-full);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;border:1px solid transparent;box-shadow:0 2px 4px #0000001a}.badge.priority-urgent{background:var(--red-bg);color:var(--red);border-color:#ef44444d}.badge.priority-high{background:#f9731626;color:var(--orange);border-color:#f973164d}.badge.priority-medium{background:var(--yellow-bg);color:var(--yellow);border-color:#f59e0b4d}.badge.priority-low{background:var(--green-bg);color:var(--green);border-color:#10b9814d}.badge.status-todo{background:var(--bg-input);color:var(--text-secondary);border-color:var(--border-light)}.badge.status-doing{background:var(--blue-bg);color:var(--blue);border-color:#3b82f64d}.badge.status-review{background:var(--yellow-bg);color:var(--yellow);border-color:#f59e0b4d}.badge.status-done{background:var(--green-bg);color:var(--green);border-color:#10b9814d}.badge.status-paused{background:var(--purple-bg);color:var(--purple);border-color:#8b5cf64d}.badge.status-active{background:var(--blue-bg);color:var(--blue);border-color:#3b82f64d}.badge.status-completed{background:var(--green-bg);color:var(--green);border-color:#10b9814d}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:var(--radius-md);font-size:13px;font-weight:600;transition:all var(--transition-normal);cursor:pointer;border:1px solid transparent}.btn-primary{background:linear-gradient(135deg,#4f6bed,#3b82f6);color:#fff;box-shadow:0 4px 14px #4f6bed66;border:1px solid rgba(255,255,255,.15)}.btn-primary:hover{background:linear-gradient(135deg,#6b83f2,#4f6bed);box-shadow:0 6px 20px #4f6bed99;transform:translateY(-2px)}.btn-secondary{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:#ffffff26;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 4px 14px #ef444466;border:1px solid rgba(255,255,255,.15)}.btn-danger:hover{background:linear-gradient(135deg,#f87171,#ef4444);box-shadow:0 6px 20px #ef444499;transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-card-hover);color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:12px}.btn-icon{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);transition:all var(--transition-fast)}.btn-icon:hover{background:var(--bg-card-hover);color:var(--text-primary)}.kanban-board{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;min-height:500px}.kanban-column{background:#11182766;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg);padding:18px;border:1px solid rgba(255,255,255,.02);box-shadow:0 4px 20px #0000001a;min-height:300px}.kanban-column-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:2px solid var(--border)}.kanban-column-header h3{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}.kanban-column-header .count{background:var(--bg-card);padding:2px 8px;border-radius:var(--radius-full);font-size:12px;font-weight:600;color:var(--text-muted)}.kanban-column.todo .kanban-column-header{border-bottom-color:var(--text-muted)}.kanban-column.doing .kanban-column-header{border-bottom-color:var(--blue)}.kanban-column.review .kanban-column-header{border-bottom-color:var(--yellow)}.kanban-column.done .kanban-column-header{border-bottom-color:var(--green)}.kanban-cards{display:flex;flex-direction:column;gap:10px;min-height:200px}.kanban-card{background:var(--bg-card);border-radius:var(--radius-md);padding:14px;border:1px solid var(--border);border-left:4px solid var(--text-muted);cursor:grab;transition:all var(--transition-fast)}.kanban-card.status-todo{border-left-color:var(--text-muted)!important}.kanban-card.status-doing{border-left-color:var(--blue)!important}.kanban-card.status-review{border-left-color:var(--yellow)!important}.kanban-card.status-done{border-left-color:var(--green)!important}.kanban-card.status-paused{border-left-color:var(--orange)!important}.kanban-card.status-cancelled{border-left-color:var(--red)!important}.kanban-card:hover{border-color:var(--border-light);transform:translateY(-1px);box-shadow:var(--shadow-md)}.kanban-card:hover.status-todo{box-shadow:0 6px 16px #64748b40,0 0 10px #64748b33;border-color:#64748b80}.kanban-card:hover.status-doing{box-shadow:0 6px 16px #3b82f64d,0 0 10px #3b82f640;border-color:#3b82f680}.kanban-card:hover.status-review{box-shadow:0 6px 16px #f59e0b4d,0 0 10px #f59e0b40;border-color:#f59e0b80}.kanban-card:hover.status-done{box-shadow:0 6px 16px #10b9814d,0 0 10px #10b98140;border-color:#10b98180}.kanban-card:hover.status-paused{box-shadow:0 6px 16px #f973164d,0 0 10px #f9731640;border-color:#f9731680}.kanban-card:hover.status-cancelled{box-shadow:0 6px 16px #ef44444d,0 0 10px #ef444440;border-color:#ef444480}.kanban-card.dragging{opacity:.5;transform:rotate(3deg)}.kanban-card-title{font-size:13px;font-weight:600;margin-bottom:8px;color:var(--text-primary)}.kanban-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.kanban-card-assignee{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.kanban-card-date{font-size:11px;color:var(--text-muted);display:flex;align-items:center;gap:4px}.kanban-add-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border-radius:var(--radius-md);background:transparent;border:1px dashed var(--border-light);color:var(--text-muted);font-size:12px;cursor:pointer;transition:all var(--transition-fast);width:100%;margin-top:8px}.kanban-add-btn:hover{background:var(--bg-card);border-color:var(--primary);color:var(--primary)}.notification-list{display:flex;flex-direction:column;gap:2px}.notification-item{display:flex;gap:12px;padding:12px;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.notification-item:hover{background:var(--bg-card-hover)}.notification-item.unread{background:#4f6bed0d}.notification-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.notification-icon.task{background:var(--blue-bg);color:var(--blue)}.notification-icon.comment{background:var(--green-bg);color:var(--green)}.notification-icon.deadline{background:var(--yellow-bg);color:var(--yellow)}.notification-icon.system{background:var(--purple-bg);color:var(--purple)}.notification-content h4{font-size:13px;font-weight:600;margin-bottom:2px}.notification-content p{font-size:12px;color:var(--text-muted)}.notification-time{font-size:11px;color:var(--text-muted);margin-left:auto;white-space:nowrap;flex-shrink:0}.team-item{display:flex;align-items:center;gap:12px;padding:10px 0}.team-rank{font-size:14px;font-weight:700;color:var(--text-muted);width:24px;text-align:center}.team-info{flex:1;min-width:0}.team-info .name{font-size:13px;font-weight:600}.team-info .detail{font-size:12px;color:var(--text-muted)}.team-score{font-size:15px;font-weight:700;color:var(--green)}.upcoming-item{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.upcoming-item:last-child{border-bottom:none}.upcoming-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.upcoming-info{flex:1;min-width:0}.upcoming-info h4{font-size:13px;font-weight:600;margin-bottom:2px}.upcoming-info p{font-size:12px;color:var(--text-muted)}.upcoming-meta{display:flex;align-items:center;gap:8px;flex-shrink:0}.upcoming-date{font-size:12px;color:var(--text-muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-modal);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal{background:var(--bg-popover);border-radius:var(--radius-xl);border:1px solid var(--border);width:100%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;animation:slideUp .3s ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h2{font-size:18px;font-weight:700}.modal-body{padding:24px;flex:1;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid var(--border);flex-shrink:0}.excel-preview-table-container{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:12px;box-shadow:var(--shadow-sm)}.excel-preview-wrapper{width:100%;height:100%;overflow:auto;background:var(--bg-secondary)}.excel-preview-wrapper table{width:max-content;min-width:100%;border-collapse:collapse;font-family:var(--font-family);font-size:13px;background:var(--bg-secondary);color:var(--text-primary)}.excel-preview-wrapper th,.excel-preview-wrapper td{padding:10px 16px;border:1px solid rgba(255,255,255,.12);color:var(--text-primary);vertical-align:middle;text-align:left;min-width:120px;max-width:320px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-theme=light] .excel-preview-wrapper th,[data-theme=light] .excel-preview-wrapper td{border:1px solid rgba(15,23,42,.12)}.excel-preview-wrapper th,.excel-preview-wrapper tr:first-child td{background:#ffffff0d;font-weight:600;color:var(--text-primary);border-bottom:2px solid var(--border)}[data-theme=light] .excel-preview-wrapper th,[data-theme=light] .excel-preview-wrapper tr:first-child td{background:#0f172a0a}.excel-preview-wrapper tr:nth-child(2n) td{background-color:#ffffff04}[data-theme=light] .excel-preview-wrapper tr:nth-child(2n) td{background-color:#00000003}.excel-preview-wrapper tr:hover td{background-color:#4f6bed14!important}[data-theme=light] .excel-preview-wrapper tr:hover td{background-color:#4f6bed0d!important}.sheet-tab-button{padding:8px 16px;font-size:13px;font-weight:500;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.sheet-tab-button:hover{background:var(--bg-card-hover);color:var(--text-primary);border-color:var(--text-muted)}.sheet-tab-button.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 0 12px var(--primary-glow)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.form-input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;transition:border-color var(--transition-fast)}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f6bed1a}.form-input::placeholder{color:var(--text-muted)}textarea.form-input{min-height:100px;resize:vertical}.form-select{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394A3B8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.chat-container{display:flex;flex-direction:column;height:400px}.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.chat-message{display:flex;gap:10px}.chat-message-content{flex:1}.chat-message-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.chat-message-header .name{font-size:13px;font-weight:600}.chat-message-header .time{font-size:11px;color:var(--text-muted)}.chat-message-text{font-size:13px;color:var(--text-secondary);line-height:1.5}.chat-message-file{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-input);border-radius:var(--radius-md);margin-top:6px;font-size:12px;color:var(--text-secondary)}.chat-input{display:flex;align-items:center;gap:8px;padding:12px 16px;border-top:1px solid var(--border)}.chat-input input{flex:1;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);font-size:13px}.chat-input input:focus{border-color:var(--primary)}.tabs{display:flex;gap:2px;background:var(--bg-secondary);padding:4px;border-radius:var(--radius-md);margin-bottom:20px}.tab{padding:8px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast)}.tab:hover{color:var(--text-primary)}.tab.active{background:var(--bg-card);color:var(--text-primary);font-weight:600}.tabs-underline{display:flex;gap:24px;border-bottom:1px solid var(--border);margin-bottom:20px;padding:0 4px}.tab-underline{padding:12px 4px;font-size:13.5px;font-weight:500;color:var(--text-muted);cursor:pointer;position:relative;transition:all var(--transition-fast)}.tab-underline:hover{color:var(--text-primary)}.tab-underline.active{color:var(--primary);font-weight:600}.tab-underline.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--primary);border-radius:2px}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--border);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.calendar-header-cell{padding:10px;text-align:center;font-size:12px;font-weight:600;color:var(--text-muted);background:var(--bg-secondary)}.calendar-cell{background:var(--bg-card);padding:8px;min-height:100px;cursor:pointer;transition:background var(--transition-fast)}.calendar-cell:hover{background:var(--bg-card-hover)}.calendar-cell.today{background:#4f6bed14}.calendar-cell.other-month{opacity:.3}.calendar-day{font-size:13px;font-weight:600;margin-bottom:4px}.calendar-day.today{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center}.calendar-event{padding:2px 6px;border-radius:4px;font-size:11px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.login-page{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,#1a1f3d 50%,var(--bg-primary) 100%)}.login-card{background:var(--bg-card);border-radius:var(--radius-xl);border:1px solid var(--border);padding:48px 40px;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.login-logo{text-align:center;margin-bottom:32px}.login-logo-icon{width:64px;height:64px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--primary),var(--purple));display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;color:#fff;margin-bottom:16px}.login-logo h2{font-size:24px;font-weight:800}.login-logo p{color:var(--text-muted);font-size:13px;margin-top:4px}.task-detail-grid{display:grid;grid-template-columns:1fr 340px;gap:24px}.task-detail-main{display:flex;flex-direction:column;gap:20px}.task-detail-sidebar{display:flex;flex-direction:column;gap:16px}.task-meta-row{display:flex;align-items:center;gap:12px;padding:8px 0}.task-meta-label{width:120px;font-size:13px;color:var(--text-muted);flex-shrink:0}.task-meta-value{font-size:13px;color:var(--text-primary);font-weight:500}.avatar-group{display:flex}.avatar-group .user-avatar{margin-left:-8px;border:2px solid var(--bg-card)}.avatar-group .user-avatar:first-child{margin-left:0}.avatar-group .overflow{width:32px;height:32px;border-radius:50%;background:var(--bg-input);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--text-muted);margin-left:-8px;border:2px solid var(--bg-card)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease}.animate-slide-up{animation:slideUp .3s ease}.animate-slide-in{animation:slideIn .3s ease}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;color:var(--text-muted)}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.5}.empty-state h3{font-size:16px;font-weight:600;margin-bottom:4px}.empty-state p{font-size:13px}.filters-bar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}.filter-chip{padding:6px 14px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;transition:all var(--transition-fast)}.filter-chip:hover{border-color:var(--primary);color:var(--primary)}.filter-chip.active{background:var(--primary);color:#fff;border-color:var(--primary)}.page-header-container{position:sticky;top:-24px;background:#070913bf;z-index:99;margin:-24px -24px 24px;padding:16px 24px;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 4px 20px #0003}[data-theme=light] .page-header-container{background:#f8fafce6;box-shadow:0 2px 12px #0000000f;border-bottom-color:#e2e8f0}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}.page-header h1{font-size:22px;font-weight:800;margin:0;background:linear-gradient(135deg,#fff 30%,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent}[data-theme=light] .page-header h1{background:linear-gradient(135deg,#0f172a,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.page-header p{font-size:13px;color:var(--text-muted);margin-top:4px;margin-bottom:0}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);margin-bottom:8px}.breadcrumb a{color:var(--text-muted)}.breadcrumb a:hover{color:var(--primary)}.breadcrumb .separator{color:var(--text-muted)}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--bg-sidebar);border-top:1px solid var(--border);padding:8px 0;padding-bottom:env(safe-area-inset-bottom,8px);z-index:100}.mobile-nav-items{display:flex;justify-content:space-around}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;gap:4px;padding:4px 12px;color:var(--text-muted);font-size:10px;font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.mobile-nav-item.active{color:var(--primary)}.mobile-nav-item .icon{font-size:20px}@media(max-width:1200px){.stat-cards{grid-template-columns:repeat(3,1fr)}.dashboard-grid,.dashboard-grid-2{grid-template-columns:1fr 1fr}.task-detail-grid{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{transform:translate(-100%);z-index:200}.sidebar.mobile-open{transform:translate(0)}.main-content{margin-left:0!important;padding-bottom:70px}.page-content{padding:16px}.header{padding:0 16px}.header-search{display:none}.stat-cards{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px}.stat-card-icon{width:42px;height:42px;font-size:18px}.stat-card-info .value{font-size:22px}.dashboard-grid,.dashboard-grid-2{grid-template-columns:1fr}.kanban-board{grid-template-columns:1fr;gap:12px}.calendar-grid{font-size:11px}.calendar-cell{min-height:60px;padding:4px}.mobile-nav{display:block}.user-info-text{display:none}.modal{margin:10px;max-height:90vh}.filters-bar{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px}}@media(max-width:480px){.stat-cards{grid-template-columns:1fr}.stat-card{gap:12px}.progress-donut-container{flex-direction:column}.header-greeting h2{font-size:16px}}.skeleton{background:linear-gradient(90deg,var(--bg-card) 25%,var(--bg-card-hover) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.menu-toggle{display:none;background:none;color:var(--text-primary);font-size:24px;cursor:pointer}@media(max-width:768px){.menu-toggle{display:flex}}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:199}.sidebar-overlay.show{display:block}.swal2-popup{background:var(--bg-card)!important;color:var(--text-primary)!important;border:1px solid var(--border)!important;font-family:var(--font-family)!important;border-radius:var(--radius-lg)!important;box-shadow:var(--shadow-lg)!important}.swal2-title{color:var(--text-primary)!important}.swal2-html-container{color:var(--text-secondary)!important}.swal2-confirm{background-color:var(--primary)!important;color:#fff!important;border-radius:var(--radius-md)!important;font-size:14px!important;padding:8px 20px!important}.swal2-cancel{background-color:var(--bg-input)!important;color:var(--text-secondary)!important;border-radius:var(--radius-md)!important;border:1px solid var(--border-light)!important;font-size:14px!important;padding:8px 20px!important}.swal2-icon{border-color:currentColor!important}.swal2-icon.swal2-warning{color:var(--yellow)!important;border-color:var(--yellow)!important}.swal2-icon.swal2-error{color:var(--red)!important;border-color:var(--red)!important}.swal2-icon.swal2-success{color:var(--green)!important;border-color:var(--green)!important}.swal2-icon.swal2-info{color:var(--blue)!important;border-color:var(--blue)!important}.rich-text-editor-content[contenteditable=true]:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;display:block}.rich-text-editor-content ul,.rich-text-content ul{list-style-type:disc!important;margin-left:20px!important;margin-top:6px!important;margin-bottom:6px!important}.rich-text-editor-content ol,.rich-text-content ol{list-style-type:decimal!important;margin-left:20px!important;margin-top:6px!important;margin-bottom:6px!important}.rich-text-editor-content li,.rich-text-content li{margin-bottom:4px!important}.rich-text-editor-content strong,.rich-text-editor-content b,.rich-text-content strong,.rich-text-content b{font-weight:700!important}.rich-text-editor-content em,.rich-text-editor-content i,.rich-text-content em,.rich-text-content i{font-style:italic!important}.rich-text-editor-content u,.rich-text-content u{text-decoration:underline!important}.rich-text-editor-content font[size="1"],.rich-text-content font[size="1"]{font-size:11px!important}.rich-text-editor-content font[size="2"],.rich-text-content font[size="2"]{font-size:13px!important}.rich-text-editor-content font[size="3"],.rich-text-content font[size="3"]{font-size:15px!important}.rich-text-editor-content font[size="4"],.rich-text-content font[size="4"]{font-size:18px!important}.rich-text-editor-content font[size="5"],.rich-text-content font[size="5"]{font-size:24px!important}.rich-text-editor-content font[size="6"],.rich-text-content font[size="6"]{font-size:32px!important}.pipeline-node{transition:all var(--transition-fast)!important}.pipeline-node:hover{border-color:var(--primary)!important;transform:translateY(-2px);box-shadow:0 4px 12px #4f6bed40!important}[data-theme=light] .swal2-popup{background:#fff!important;color:#0f172a!important;border:1px solid #E2E8F0;box-shadow:0 20px 60px #0000001f!important}[data-theme=light] .swal2-title{color:#0f172a!important}[data-theme=light] .swal2-html-container,[data-theme=light] .swal2-content{color:#475569!important}[data-theme=light] .swal2-input,[data-theme=light] .swal2-textarea,[data-theme=light] .swal2-select{background:#f8fafc!important;color:#0f172a!important;border-color:#e2e8f0!important}[data-theme=light] .swal2-confirm{background:#4f6bed!important;box-shadow:0 2px 8px #4f6bed4d!important}[data-theme=light] .swal2-cancel{background:#f1f5f9!important;color:#475569!important}[data-theme=dark] .swal2-popup{background:#1e293b!important;color:#f1f5f9!important;border:1px solid rgba(255,255,255,.05)}[data-theme=dark] .swal2-title{color:#f1f5f9!important}[data-theme=dark] .swal2-html-container,[data-theme=dark] .swal2-content{color:#94a3b8!important}[data-theme=light] .task-detail-sidebar .card{background:#fff}[data-theme=light] .task-meta-row{border-bottom-color:#f1f5f9}[data-theme=light] .empty-state{color:#94a3b8}[data-theme=light] .chat-input{border-top-color:#e2e8f0!important}[data-theme=light] .badge{border-color:transparent}[data-theme=light] .stat-card{background:#fff;border-color:#e2e8f0}[data-theme=light] .stat-card:hover{box-shadow:0 8px 24px #00000014}[data-theme=light] .workflow-step-card{background:#fff;border-color:#e2e8f0}[data-theme=light] .workflow-step-card:hover{border-color:#4f6bed;box-shadow:0 4px 16px #4f6bed1f}[data-theme=light] .notification-panel{background:#fff;border-color:#e2e8f0}[data-theme=light] .multi-select-dropdown{background:#fff;border-color:#e2e8f0;box-shadow:0 8px 24px #00000014}[data-theme=light] .multi-select-option:hover{background:#f1f5f9}[data-theme=light] .rich-text-editor-toolbar{background:#f8fafc;border-color:#e2e8f0}[data-theme=light] .rich-text-editor-content{background:#fff;color:#0f172a}
