.my-decks-container { max-width: 1200px; margin: 0 auto; padding: 1.5rem; } .my-decks-header { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1.5rem; gap: 1rem; } .my-decks-header h1 { margin-bottom: 0.25rem; } .my-decks-header p { font-size: 0.9rem; margin: 0; } .decks-loading { color: var(--text-muted); padding: 2rem; display: flex; align-items: center; } .decks-empty { text-align: center; padding: 4rem 1rem; color: var(--text-muted); display: flex; flex-direction: column; align-items: center; gap: 1rem; } .decks-empty i { font-size: 3rem; display: block; } .decks-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 1rem; } .deck-card { background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1rem; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; display: flex; flex-direction: column; gap: 0.6rem; } .deck-card:hover { transform: translateY(-3px); box-shadow: 0 6px 24px rgba(108, 99, 255, 0.15); border-color: rgba(108, 99, 255, 0.3); } .deck-card-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 0.5rem; } .deck-name { font-size: 1rem; font-weight: 700; color: var(--text-primary); flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .deck-valid-badge { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.72rem; font-weight: 600; padding: 0.2rem 0.55rem; border-radius: 100px; white-space: nowrap; flex-shrink: 0; } .deck-valid-badge.valid { background: rgba(102, 187, 106, 0.15); color: #66bb6a; border: 1px solid rgba(102, 187, 106, 0.3); } .deck-valid-badge.invalid { background: rgba(255, 171, 64, 0.12); color: #ffab40; border: 1px solid rgba(255, 171, 64, 0.3); } .deck-season { font-size: 0.78rem; color: var(--text-muted); display: flex; align-items: center; gap: 0.3rem; } .deck-meta { display: flex; gap: 0.75rem; font-size: 0.8rem; color: var(--text-secondary); flex-wrap: wrap; } .deck-meta span { display: flex; align-items: center; gap: 0.25rem; } .deck-divers { display: flex; gap: 0.4rem; flex-wrap: wrap; } .diver-chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.75rem; padding: 0.2rem 0.55rem; background: var(--bg-elevated); border: 1px solid var(--border); border-radius: 100px; color: var(--text-secondary); } .deck-notes-preview { font-size: 0.8rem; color: var(--text-muted); font-style: italic; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; background: var(--bg-elevated); padding: 0.4rem 0.6rem; border-radius: var(--radius-sm); border-left: 2px solid var(--border); } .deck-footer { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 0.4rem; border-top: 1px solid var(--border); } .deck-updated { font-size: 0.75rem; color: var(--text-muted); display: flex; align-items: center; gap: 0.3rem; } .deck-delete { opacity: 0; transition: opacity 0.15s ease; } .deck-card:hover .deck-delete { opacity: 1; } /* ── Confirm Modal ── */ .confirm-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1050; background: var(--bg-surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; width: 380px; max-width: 92vw; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6); animation: detail-enter 0.2s ease-out; } .confirm-modal h5 { margin: 0 0 0.75rem; font-size: 1rem; } .confirm-modal p { font-size: 0.9rem; color: var(--text-secondary); margin-bottom: 1.25rem; }