diff --git a/app/static/css/cassandra.css b/app/static/css/cassandra.css index a8a75eb..7d5cb55 100644 --- a/app/static/css/cassandra.css +++ b/app/static/css/cassandra.css @@ -2299,3 +2299,116 @@ a.btn-secondary:hover { color: var(--accent); border-color: var(--accent); } color: var(--accent); outline: none; } + +/* ---------- Dashboard portfolio edit mode ----------------------------- */ + +/* The EDIT button — same shape as .settings-icon-btn but smaller. */ +.pf-edit-btn, +.pf-done-btn { + display: inline-flex; + align-items: center; + gap: 4px; + background: transparent; + border: 1px solid var(--neu-dim, #444); + color: var(--text, #ccc); + padding: 2px 8px; + border-radius: 4px; + cursor: pointer; + font-size: 12px; + margin-left: auto; +} +.pf-edit-btn:hover, .pf-done-btn:hover { + background: var(--surface-2, #2a2a2a); + border-color: var(--accent, #5af); +} + +/* × button on each row — hidden by default, visible only in edit mode. */ +.pf-row-del-cell { width: 24px; text-align: center; } +.pf-row-del { + display: none; + background: transparent; + border: none; + color: var(--neu-dim, #888); + cursor: pointer; + font-size: 14px; + padding: 0 4px; +} +#portfolio-panel.pf-editing .pf-row-del { display: inline; } +#portfolio-panel.pf-editing .pf-row-del:hover { color: var(--err, #f55); } + +/* Add-position form. */ +.pf-add-form { + border: 1px solid var(--neu-dim, #333); + border-radius: 6px; + padding: 12px; + margin-bottom: 12px; + background: var(--surface-2, #1a1a1a); +} +.pf-add-row { + display: flex; + gap: 10px; + margin-bottom: 8px; + flex-wrap: wrap; + align-items: flex-end; +} +.pf-add-field { + display: flex; + flex-direction: column; + flex: 1 1 140px; + font-size: 12px; +} +.pf-add-label { + color: var(--neu-dim, #888); + margin-bottom: 2px; +} +.pf-add-field input[type="text"], +.pf-add-field input[type="number"], +.pf-add-field input[type="date"] { + background: var(--surface, #111); + border: 1px solid var(--neu-dim, #444); + color: var(--text, #ccc); + padding: 4px 6px; + border-radius: 3px; + font-family: inherit; + font-size: 13px; +} +.pf-add-cost-mode { gap: 16px; } +.pf-add-radio { + display: inline-flex; + gap: 4px; + align-items: center; + font-size: 12px; + cursor: pointer; +} +.pf-add-currency { + color: var(--neu-dim, #888); + font-size: 11px; + margin-top: 2px; +} +.pf-add-submit { + background: var(--accent, #5af); + color: var(--bg, #000); + border: none; + padding: 6px 14px; + border-radius: 3px; + cursor: pointer; + font-weight: 600; + align-self: flex-end; +} +.pf-add-submit:disabled { + background: var(--neu-dim, #444); + cursor: not-allowed; +} +.pf-add-status { + font-size: 11px; + margin-top: 2px; + min-height: 14px; +} +.pf-add-status--pending { color: var(--neu-dim, #888); } +.pf-add-status--ok { color: var(--ok, #6c6); } +.pf-add-status--err { color: var(--err, #f55); } +.pf-add-warning { + color: var(--warn, #fb3); + font-size: 11px; + margin-top: 8px; +}