/* Card Container */ .cardContainer { padding: 1.25rem; border-radius: 0.75rem; border: 1px solid #e4e4e7; background-color: #ffffff; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); transition: all 0.2s ease-in-out; } .archiving { opacity: 0.5; } @media (prefers-color-scheme: dark) { .cardContainer { background-color: #18181b; border-color: #27272a; } } /* Header Section */ .header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; } .title { font-weight: 600; font-size: 1.125rem; color: #18181b; margin: 0; } @media (prefers-color-scheme: dark) { .title { color: #f4f4f5; } } /* Status Badges */ .badge { font-size: 0.75rem; padding: 0.25rem 0.625rem; border-radius: 9999px; font-weight: 500; } .statusComplete { background-color: #d1fae5; color: #065f46; } .statusInProgress { background-color: #fef3c7; color: #92400e; } .statusTodo { background-color: #dbeafe; color: #1e40af; } @media (prefers-color-scheme: dark) { .statusComplete { background-color: #022c22; color: #6ee7b7; } .statusInProgress { background-color: #451a03; color: #fcd34d; } .statusTodo { background-color: #172554; color: #93c5fd; } } /* Description */ .description { margin-top: 0.5rem; font-size: 0.875rem; color: #52525b; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } @media (prefers-color-scheme: dark) { .description { color: #a1a1aa; } } /* Footer Section */ .footer { margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; font-size: 0.75rem; color: #71717a; border-top: 1px solid #f4f4f5; padding-top: 0.75rem; } @media (prefers-color-scheme: dark) { .footer { border-color: #27272a; color: #a1a1aa; } } .metaGroup { display: flex; align-items: center; gap: 0.5rem; } .topicTag { background-color: #f4f4f5; padding: 0.125rem 0.5rem; border-radius: 0.25rem; font-family: monospace; color: #3f3f46; } @media (prefers-color-scheme: dark) { .topicTag { background-color: #27272a; color: #d4d4d8; } } /* Overdue Badge */ .overdueBadge { background-color: #fee2e2; color: #b91c1c; padding: 0.125rem 0.5rem; border-radius: 0.25rem; font-weight: 600; animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; } @media (prefers-color-scheme: dark) { .overdueBadge { background-color: #450a0a; color: #fca5a5; } } @keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .5; } } /* Actions Section */ .actions { margin-top: 1rem; display: flex; justify-content: flex-end; gap: 0.5rem; font-size: 0.75rem; } .btnEdit { padding: 0.375rem 0.75rem; border-radius: 0.25rem; background-color: #f4f4f5; color: #27272a; font-weight: 500; border: none; cursor: pointer; transition: background-color 0.2s; } .btnEdit:hover { background-color: #e4e4e7; } .btnArchive { padding: 0.375rem 0.75rem; border-radius: 0.25rem; background-color: #fef2f2; color: #dc2626; font-weight: 500; border: none; cursor: pointer; transition: background-color 0.2s; } .btnArchive:hover { background-color: #fee2e2; } .btnArchive:disabled { opacity: 0.5; cursor: not-allowed; } @media (prefers-color-scheme: dark) { .btnEdit { background-color: #27272a; color: #e4e4e7; } .btnEdit:hover { background-color: #3f3f46; } .btnArchive { background-color: rgba(69, 10, 10, 0.5); color: #f87171; } .btnArchive:hover { background-color: rgba(127, 29, 29, 0.5); } }