/* Dashboard Layout */ .dashboard-container { display: flex; min-height: 100vh; background: var(--color-background); } /* Navigation Rail - Material Design 3 */ .dashboard-sidebar { width: 80px; background: color-mix(in srgb, var(--color-card) 50%, transparent); display: flex; flex-direction: column; align-items: center; padding-top: 1rem; padding-bottom: 1rem; gap: 1rem; } .dashboard-avatar-container { margin-bottom: 0.5rem; } .dashboard-avatar { width: 3.5rem; height: 3.5rem; border-radius: 1rem; } .dashboard-avatar-fallback { border-radius: 1rem; } /* Main Content Area */ .dashboard-main { flex: 1; padding: 1.5rem; background: var(--color-background); display: flex; flex-direction: column; } .dashboard-content { max-width: 90rem; margin-left: auto; margin-right: auto; width: 100%; display: flex; flex: 1; flex-direction: column; gap: 1.5rem; } /* Header */ .dashboard-header { font-size: 1.875rem; font-weight: bold; } /* Material Design 3 Cards Grid */ .dashboard-cards-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; } @media (min-width: 768px) { .dashboard-cards-grid { grid-template-columns: repeat(2, 1fr); } } @media (min-width: 1024px) { .dashboard-cards-grid { grid-template-columns: repeat(3, 1fr); } } /* M3 Card Variants */ .dashboard-card-filled { background: var(--color-card); padding: 1.5rem; border-radius: 1.5rem; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); } .dashboard-card-elevated { background: var(--color-card); padding: 1.5rem; border-radius: 1.5rem; box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1); transition: box-shadow 0.3s; } .dashboard-card-elevated:hover { box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1); } .dashboard-card-outlined { background: var(--color-background); border: 2px solid var(--color-border); padding: 1.5rem; border-radius: 1.5rem; } .dashboard-card-title { font-size: 1.125rem; font-weight: 600; margin-bottom: 0.5rem; } .dashboard-card-text { color: var(--color-muted-foreground); font-size: 0.875rem; } /* Surface Container */ .dashboard-surface-container { background: color-mix(in srgb, var(--color-card) 30%, transparent); padding: 1.5rem; border-radius: 1.5rem; flex: 3; } .dashboard-surface-title { font-size: 1.25rem; font-weight: 600; margin-bottom: 1rem; } .dashboard-surface-text { color: var(--color-muted-foreground); } /* Spacer */ .dashboard-spacer { flex: 0.5; } /* Weekly View */ .dashboard-week-grid { display: flex; gap: 1rem; height: 100%; overflow-x: auto; padding: 0.6rem; } .dashboard-day-column { flex: 1; min-width: 180px; display: flex; flex-direction: column; background: var(--color-background); border-radius: 1rem; padding: 1rem; transition: all 0.3s ease; } .dashboard-day-column.today { background: color-mix(in srgb, var(--color-primary) 10%, transparent); border: 2px solid var(--color-primary); } .dashboard-day-header { text-align: center; padding-bottom: 0.75rem; border-bottom: 1px solid var(--color-border); margin-bottom: 0.75rem; } .dashboard-day-title { font-size: 1rem; font-weight: 600; margin: 0 0 0.25rem 0; } .dashboard-day-date { font-size: 0.875rem; color: var(--color-muted-foreground); margin: 0; } .dashboard-day-column.today .dashboard-day-title { color: var(--color-primary); } .dashboard-day-column.today .dashboard-day-date { color: var(--color-primary); font-weight: 600; } .dashboard-tasks-container { flex: 1; display: flex; flex-direction: column; gap: 0.5rem; overflow-y: auto; padding-top: 4px; } .dashboard-task-card { background: var(--color-card); padding: 0.75rem; border-radius: 0.625rem; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); font-size: 0.875rem; transition: transform 0.2s; } .dashboard-task-card:hover { transform: translateY(-2px); box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1); } .dashboard-task-card.completed { opacity: 0.6; text-decoration: line-through; } .dashboard-task-header { display: flex; align-items: center; gap: 0.5rem; } .dashboard-task-priority { width: 4px; height: 4px; border-radius: 50%; flex-shrink: 0; } .dashboard-task-priority.low { background: #10b981; /* green */ } .dashboard-task-priority.medium { background: #f59e0b; /* orange */ } .dashboard-task-priority.high { background: #ef4444; /* red */ } .dashboard-task-priority.critical { background: #a90404; /* red */ } .dashboard-task-title { margin: 0; font-size: 0.875rem; color: var(--color-foreground); flex: 1; } .dashboard-no-tasks { color: var(--color-muted-foreground); font-size: 0.875rem; text-align: center; padding: 2rem 0; font-style: italic; }