.am-card { /* Remove extra bottom margin to let cs-stack gap control spacing uniformly */ margin-bottom: 0; } .am-card-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.25rem; } .am-card-header-left { display: flex; align-items: center; gap: 0.75rem; } .am-card-icon { font-size: 1.5rem; } .am-card-title { margin: 0; font-size: 1.125rem; font-weight: 600; color: var(--color-text); } /* Messages */ .am-message { padding: 0.75rem 1rem; border-radius: 0.5rem; margin-bottom: 1rem; display: flex; justify-content: space-between; align-items: center; font-size: 0.9rem; } .am-message--success { background-color: var(--green-20); color: var(--cta-text); border: 0.0625rem solid var(--green-20); } .am-message--error { background-color: var(--color-danger-bg); color: var(--color-danger); border: 0.0625rem solid var(--color-danger-border); } /* Form Section */ .am-form-section { padding: 1rem; border: 0.0625rem solid var(--color-border); border-radius: 0.5rem; margin-bottom: 1.25rem; background: var(--color-bg); } .am-section-title { margin: 0 0 0.75rem 0; font-size: 0.875rem; font-weight: 600; color: var(--color-text); text-transform: uppercase; letter-spacing: 0.0313rem; } /* Create Form */ .am-form { display: flex; gap: 0.5rem; align-items: center; margin-bottom: 1%; } .am-input { width: 100%; background: var(--surface-2); border: 0.0625rem solid var(--color-border); color: var(--color-text); padding: 0.625rem 0.75rem; border-radius: 0.5rem; outline: none; transition: border-color 0.2s ease; font-size: 0.875rem; line-height: 1.2; box-sizing: border-box; } .am-input:focus { border-color: var(--green); } .am-input--small { flex: 1; padding: 0.4375rem 0.625rem; font-size: 0.8125rem; border-radius: 0.4375rem; } /* Small Buttons - list/edit/delete actions */ .am-button--small { padding: 0.3125rem 0.625rem; font-size: 0.75rem; border-radius: 0.375rem; } /* Create button in the form: larger, matches input height and stands out */ .am-button--create { padding: 10px 14px; font-size: 14px; min-width: 140px; } .am-button--create:disabled { opacity: 0.6; cursor: not-allowed; transform: none; box-shadow: none; } /* List Section */ .am-list-section { padding: 1rem; border: 0.0625rem solid var(--color-border); border-radius: 0.5rem; background: var(--color-bg); } .am-loading, .am-empty { color: var(--color-muted); font-size: 0.875rem; text-align: center; padding: 1.25rem; } .am-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.375rem; } .am-list-item { padding: 0.5625rem 0.6875rem; border: 0.0625rem solid var(--color-border); border-radius: 0.5rem; background: var(--surface-2); } .am-item-content { display: flex; justify-content: space-between; align-items: center; gap: 0.625rem; } .am-item-name { flex: 1; font-weight: 500; color: var(--color-text); } .am-item-actions { display: flex; gap: 0.3125rem; position: relative; } /* Edit Form */ .am-edit-form { display: flex; gap: 0.4375rem; flex-wrap: wrap; align-items: center; justify-content: space-between; /* input left, actions right */ } .am-edit-actions { display: flex; gap: 0.3125rem; flex: 0 0 auto; /* keep actions compact on the right */ } /* Delete Confirmation */ .am-delete-confirm { position: absolute; top: 100%; right: 0; margin-top: 0.25rem; background: var(--color-surface); border: 0.0625rem solid var(--color-border); border-radius: 0.5rem; padding: 0.75rem; min-width: 17.5rem; box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15); z-index: 10; } .am-delete-confirm p { margin: 0 0 0.625rem 0; font-size: 0.8125rem; color: var(--color-text); } .am-confirm-actions { display: flex; gap: 0.3125rem; } .am-confirm-actions { flex: 1; } /* Responsive */ @media (max-width: 48rem) { .am-form { flex-direction: column; align-items: stretch; } .am-delete-confirm { position: fixed; top: 50%; left: 50%; right: auto; bottom: auto; transform: translate(-50%, -50%); min-width: 90%; max-width: 25rem; } }