*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html, body, #root { height: 100%; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #111; color: #e0e0e0; font-size: 14px; -webkit-font-smoothing: antialiased; } /* Card row — :hover can't be done with inline styles */ .card-row-header:hover { background: #1a1a1a !important; } /* Filter chips */ .filter-chip { padding: 3px 12px; border-radius: 20px; border: 1px solid #333; background: transparent; color: #666; font-size: 12px; cursor: pointer; transition: border-color 0.15s, color 0.15s; } .filter-chip:hover { border-color: #555; color: #bbb; } .filter-chip.active { background: #e0e0e0; color: #111; border-color: #e0e0e0; } .filter-chip.active-m { background: #c07020; color: #fff; border-color: #c07020; } .filter-chip.active-s { background: #1a7a5e; color: #fff; border-color: #1a7a5e; } .filter-chip.active-t { background: #7a2060; color: #fff; border-color: #7a2060; } /* Amount +/− buttons */ .icon-btn { width: 22px; height: 22px; border-radius: 4px; border: 1px solid #333; background: #222; color: #aaa; cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 14px; line-height: 1; } .icon-btn:hover:not(:disabled) { background: #2e2e2e; border-color: #444; } .icon-btn:disabled { opacity: 0.4; cursor: default; } /* Import modal */ .modal-backdrop { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(2px); z-index: 1000; animation: fadeIn 0.15s ease; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .import-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: #1e1e1e; color: #e0e0e0; padding: 2rem 2.5rem; border-radius: 12px; border: 1px solid #333; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.7); z-index: 1001; max-width: 90%; min-width: 300px; text-align: center; animation: popIn 0.2s cubic-bezier(0.34, 1.56, 0.64, 1); } @keyframes popIn { from { opacity: 0; transform: translate(-50%, -48%) scale(0.92); } to { opacity: 1; transform: translate(-50%, -50%) scale(1); } } .import-modal button { margin-top: 1.25rem; padding: 0.4rem 1.4rem; cursor: pointer; background: #2a2a2a; color: #e0e0e0; border: 1px solid #444; border-radius: 6px; font-size: 0.9rem; transition: background 0.15s; } .import-modal button:hover { background: #333; }