/** * TASKMATE - Dashboard Styles * =========================== * Dashboard, Stats, Charts - Modernes Light Theme */ /* ======================================== DASHBOARD VIEW ======================================== */ .view-dashboard { padding: var(--spacing-6); gap: var(--spacing-6); overflow-y: auto; background: var(--bg-main); } /* Stats Grid */ .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--spacing-5); } .stat-card { display: flex; align-items: center; gap: var(--spacing-4); padding: var(--spacing-5); background: var(--bg-card); border: 1px solid var(--border-light); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); transition: all var(--transition-default); } .stat-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); border-color: var(--border-default); } .stat-card.stat-danger { border-left: 4px solid var(--error); } .stat-icon { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: var(--radius-xl); } .stat-icon svg { width: 26px; height: 26px; } .stat-icon.stat-open { background: var(--primary-light); color: var(--primary); } .stat-icon.stat-progress { background: var(--warning-bg); color: var(--warning); } .stat-icon.stat-done { background: var(--success-bg); color: var(--success); } .stat-icon.stat-overdue { background: var(--error-bg); color: var(--error); } .stat-info { display: flex; flex-direction: column; } .stat-value { font-family: var(--font-primary); font-size: var(--text-2xl); font-weight: var(--font-bold); color: var(--text-primary); line-height: 1; } .stat-label { font-size: var(--text-sm); color: var(--text-tertiary); margin-top: var(--spacing-1); } /* Dashboard Row */ .dashboard-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--spacing-5); } /* Dashboard Card */ .dashboard-card { padding: var(--spacing-5); background: var(--bg-card); border: 1px solid var(--border-light); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); } .dashboard-card h3 { font-size: var(--text-base); font-weight: var(--font-semibold); margin-bottom: var(--spacing-4); color: var(--text-primary); } /* Chart Container */ .chart-container { height: 200px; position: relative; } /* Simple Bar Chart */ .bar-chart { display: flex; align-items: flex-end; justify-content: space-around; height: 100%; padding-top: var(--spacing-4); } .bar-item { display: flex; flex-direction: column; align-items: center; gap: var(--spacing-1); flex: 1; } .bar { width: 36px; background: var(--primary); border-radius: var(--radius-md) var(--radius-md) 0 0; transition: all var(--transition-default); min-height: 4px; } .bar:hover { background: var(--primary-hover); transform: scaleY(1.05); } .bar-label { font-size: var(--text-xs); color: var(--text-muted); } .bar-value { font-size: var(--text-sm); font-weight: var(--font-semibold); color: var(--text-primary); } /* Horizontal Bar Chart */ .horizontal-bar-chart { display: flex; flex-direction: column; gap: var(--spacing-4); } .horizontal-bar-item { display: flex; flex-direction: column; gap: var(--spacing-1); } .horizontal-bar-header { display: flex; justify-content: space-between; font-size: var(--text-sm); } .horizontal-bar-label { color: var(--text-primary); font-weight: var(--font-medium); } .horizontal-bar-value { color: var(--text-muted); } .horizontal-bar { height: 20px; background: var(--bg-tertiary); border-radius: var(--radius-full); overflow: hidden; } .horizontal-bar-fill { height: 100%; background: var(--primary); border-radius: var(--radius-full); transition: width var(--transition-default); } /* Due Today List */ .due-today-list { display: flex; flex-direction: column; gap: var(--spacing-3); } .due-today-item { display: flex; align-items: center; gap: var(--spacing-4); padding: var(--spacing-4); background: var(--bg-tertiary); border-radius: var(--radius-xl); cursor: pointer; transition: all var(--transition-fast); } .due-today-item:hover { background: var(--bg-hover); transform: translateX(4px); } .due-today-priority { width: 10px; height: 10px; border-radius: var(--radius-full); flex-shrink: 0; } .due-today-priority.high { background: var(--priority-high); } .due-today-priority.medium { background: var(--priority-medium); } .due-today-priority.low { background: var(--priority-low); } .due-today-title { flex: 1; font-weight: var(--font-medium); color: var(--text-primary); } .due-today-assignee { display: flex; align-items: center; gap: var(--spacing-2); font-size: var(--text-sm); color: var(--text-tertiary); } /* ======================================== LIST VIEW ======================================== */ .view-list { padding: var(--spacing-6); background: var(--bg-main); } .list-container { background: var(--bg-card); border: 1px solid var(--border-light); border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); overflow: hidden; } /* Bulk Actions */ .bulk-actions { display: flex; align-items: center; gap: var(--spacing-4); padding: var(--spacing-4) var(--spacing-5); background: var(--primary-light); border-top: 1px solid var(--border-default); } .selected-count { font-size: var(--text-sm); font-weight: var(--font-semibold); color: var(--primary); }