/* Shared UX helpers for card-first inline editing and inline tables */

/* Card-first inline editing */
.ov-input { display: none; }
.ov-editing .ov-display { display: none !important; }
.ov-editing .ov-input { display: initial !important; }

/* Save bar shown during editing on overview cards */
.overviewSaveBar { display: none; position: sticky; top: 60px; z-index: 998; box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.ov-editing .overviewSaveBar { display: block; }

/* Minor utilities */
.cursor-pointer { cursor: pointer; }
.hidden { display: none !important; }

/* Inline editing table cues */
.table.inline-edit td.editing,
.inline-edit input.editing,
.inline-edit select.editing,
.inline-edit textarea.editing { background: #fff9e6; }

.inline-edit input.updating,
.inline-edit select.updating,
.inline-edit textarea.updating { background-image: linear-gradient(90deg, rgba(65,84,241,0.15), rgba(65,84,241,0)); background-size: 200% 100%; animation: ux-shimmer 1.2s linear infinite; }

.inline-edit input.error,
.inline-edit select.error,
.inline-edit textarea.error { background-color: #ffe5e5; border-color: #dc3545; }

.inline-edit input.saved,
.inline-edit select.saved,
.inline-edit textarea.saved { background-color: #e6ffec; border-color: #28a745; }

@keyframes ux-shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
