* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color: #e4e4e7; min-height: 100vh; padding: 24px; } .container { max-width: 1400px; margin: 0 auto; } header { text-align: center; margin-bottom: 32px; } header h1 { font-size: clamp(28px, 4vw, 42px); color: #ffffff; margin-bottom: 8px; } .subtitle { color: #a1a1aa; font-size: 16px; } .stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-bottom: 24px; } .stat-card { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 20px; text-align: center; backdrop-filter: blur(10px); } .stat-value { display: block; font-size: 36px; font-weight: 700; color: #ffffff; } .stat-value.new { color: #3b82f6; } .stat-value.in-progress { color: #f59e0b; } .stat-value.review { color: #8b5cf6; } .stat-value.done { color: #10b981; } .stat-label { color: #a1a1aa; font-size: 13px; margin-top: 4px; } .controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-bottom: 24px; } .search-box { flex: 1; min-width: 280px; } .search-box input { width: 100%; padding: 12px 16px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 8px; background: rgba(255, 255, 255, 0.05); color: #ffffff; font-size: 14px; } .search-box input::placeholder { color: #71717a; } .chips { display: flex; flex-wrap: wrap; gap: 8px; } .chip { padding: 8px 16px; border-radius: 20px; border: 1px solid rgba(255, 255, 255, 0.1); background: rgba(255, 255, 255, 0.05); color: #a1a1aa; font-size: 13px; cursor: pointer; transition: all 0.2s; } .chip:hover { background: rgba(255, 255, 255, 0.1); } .chip.active { background: #3b82f6; color: #ffffff; border-color: #3b82f6; } .btn { padding: 12px 20px; border-radius: 8px; border: none; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.2s; white-space: nowrap; } .btn-primary { background: #3b82f6; color: #ffffff; } .btn-primary:hover { background: #2563eb; } .btn-secondary { background: rgba(255, 255, 255, 0.1); color: #e4e4e7; } .btn-secondary:hover { background: rgba(255, 255, 255, 0.15); } .btn-danger { background: #ef4444; color: #ffffff; } .btn-danger:hover { background: #dc2626; } .btn-sm { padding: 6px 12px; font-size: 12px; } .table-wrapper { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; overflow: hidden; margin-bottom: 24px; } .task-table { width: 100%; border-collapse: collapse; } .task-table th { background: rgba(255, 255, 255, 0.05); padding: 14px 16px; text-align: left; font-size: 13px; color: #a1a1aa; font-weight: 600; border-bottom: 1px solid rgba(255, 255, 255, 0.1); } .task-table td { padding: 14px 16px; border-bottom: 1px solid rgba(255, 255, 255, 0.05); font-size: 14px; } .task-table tbody tr { transition: background 0.2s; } .task-table tbody tr:hover { background: rgba(255, 255, 255, 0.03); } .task-table tbody tr.overdue { background: rgba(239, 68, 68, 0.15); border-left: 3px solid #ef4444; } .priority-low { color: #10b981; } .priority-medium { color: #f59e0b; } .priority-high { color: #f97316; } .priority-critical { color: #ef4444; font-weight: 600; } .status-badge { padding: 4px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; } .status-new { background: rgba(59, 130, 246, 0.2); color: #60a5fa; } .status-progress { background: rgba(245, 158, 11, 0.2); color: #fbbf24; } .status-review { background: rgba(139, 92, 246, 0.2); color: #a78bfa; } .status-done { background: rgba(16, 185, 129, 0.2); color: #34d399; } .actions { display: flex; gap: 8px; } .log-section { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 20px; margin-bottom: 24px; } .log-section h2 { font-size: 18px; margin-bottom: 16px; color: #ffffff; } .log-container { max-height: 200px; overflow-y: auto; margin-bottom: 16px; } .log-entry { padding: 8px 12px; background: rgba(255, 255, 255, 0.03); border-radius: 6px; margin-bottom: 8px; font-size: 13px; color: #a1a1aa; } .log-entry span { color: #71717a; font-size: 12px; } .log-actions { display: flex; gap: 12px; } dialog { background: #1a1a2e; color: #e4e4e7; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 24px; max-width: 500px; width: 90%; } dialog::backdrop { background: rgba(0, 0, 0, 0.7); backdrop-filter: blur(4px); } .form-group { margin-bottom: 16px; } .form-group label { display: block; margin-bottom: 6px; font-size: 14px; color: #a1a1aa; } .form-group input, .form-group select { width: 100%; padding: 10px 12px; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; background: rgba(255, 255, 255, 0.05); color: #ffffff; font-size: 14px; } .form-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 24px; } .empty-state { text-align: center; padding: 40px; color: #71717a; }