.flash { padding: 0.75rem 1rem; border-radius: 6px; margin-bottom: 1rem; }
.flash-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.flash-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.flash ul { margin: 0; padding-left: 1.2rem; }
.req { color: var(--pico-color-red-500); }
.btn-sm { padding: 0.25rem 0.5rem; font-size: 0.8rem; margin: 0 0.1rem; }
.actions { white-space: nowrap; }
.actions form { margin: 0; }

/* Tag input */
.tag-input-wrap { border: 1px solid var(--pico-form-element-border-color); border-radius: var(--pico-border-radius); padding: 0.3rem 0.5rem; display: flex; flex-wrap: wrap; gap: 0.3rem; min-height: 2.5rem; align-items: center; cursor: text; }
.tag-input-wrap:focus-within { border-color: var(--pico-form-element-active-border-color); }
.tag-input { border: none !important; outline: none !important; padding: 0.2rem !important; margin: 0 !important; flex: 1; min-width: 100px; background: transparent !important; box-shadow: none !important; }
.tag-item { background: var(--pico-primary-background); color: var(--pico-primary-inverse); padding: 0.15rem 0.5rem; border-radius: 4px; font-size: 0.85rem; display: flex; align-items: center; gap: 0.3rem; }
.tag-remove { cursor: pointer; font-weight: bold; opacity: 0.7; }
.tag-remove:hover { opacity: 1; }

table { font-size: 0.9rem; }
td, th { padding: 0.4rem 0.5rem !important; }
