This commit is contained in:
2026-06-06 09:17:34 -04:00
parent 895d2676ad
commit c92478ebe5

View File

@@ -1,57 +1,166 @@
/* assoc_profile — v0.1.0 */
/* assoc_profile — v0.2.0
All colors via --civicinfra-* tokens.
All structural classes via civicinfra primitives. */
/* ============================================================
PROFILE VIEW
============================================================ */
/* --- Profile view --- */
.assoc-profile-view {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid #dee2e6;
margin-top: var(--civicinfra-space-6, 1.5rem);
padding-top: var(--civicinfra-space-4, 1rem);
border-top: 2px solid var(--civicinfra-rule, #b7ad9d);
}
.assoc-profile-heading {
font-size: 1.1rem;
font-weight: 600;
margin-bottom: 1rem;
}
/* --- Field groups --- */
.assoc-profile-group {
margin-bottom: 1.25rem;
margin-bottom: var(--civicinfra-space-6, 1.5rem);
}
.assoc-group-label {
font-size: 0.85rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: #6c757d;
margin-bottom: 0.5rem;
padding-bottom: 0.25rem;
border-bottom: 1px solid #f0f0f0;
}
/* --- Field labels and values --- */
.assoc-profile-field {
display: flex;
gap: 0.5rem;
padding: 0.2rem 0;
font-size: 0.9rem;
line-height: 1.4;
display: grid;
grid-template-columns: 12rem 1fr;
gap: var(--civicinfra-space-2, 0.5rem);
padding: var(--civicinfra-space-1, 0.25rem) 0;
font-size: var(--civicinfra-fs-sm, 0.875rem);
line-height: 1.5;
border-bottom: 1px solid var(--civicinfra-surface-muted, #e7e1d6);
}
.assoc-profile-field:last-child {
border-bottom: none;
}
.assoc-field-label {
font-weight: 600;
color: #495057;
min-width: 11rem;
flex-shrink: 0;
color: var(--civicinfra-muted, #5f655d);
font-size: var(--civicinfra-fs-xs, 0.75rem);
text-transform: uppercase;
letter-spacing: 0.04em;
padding-top: 0.1rem;
}
.assoc-field-value {
color: #212529;
color: var(--civicinfra-text, #24231f);
}
/* --- Profile edit form --- */
.assoc-profile-edit {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid #dee2e6;
/* ============================================================
MANAGE INTERFACE
============================================================ */
.assoc-manage {
max-width: 72rem;
}
/* Search and filter bar */
.assoc-search-bar {
display: flex;
gap: var(--civicinfra-space-2, 0.5rem);
flex-wrap: wrap;
align-items: flex-end;
padding: var(--civicinfra-space-3, 0.75rem) var(--civicinfra-space-4, 1rem);
background: var(--civicinfra-surface, #f2efe8);
border: 1px solid var(--civicinfra-border, #cfc6b6);
border-radius: var(--civicinfra-radius, 3px);
margin-bottom: var(--civicinfra-space-4, 1rem);
}
.assoc-search-bar .form-control,
.assoc-search-bar .form-select {
font-size: var(--civicinfra-fs-sm, 0.875rem);
}
/* Bulk actions bar */
.assoc-bulk-bar {
display: flex;
gap: var(--civicinfra-space-2, 0.5rem);
align-items: center;
padding: var(--civicinfra-space-2, 0.5rem) var(--civicinfra-space-3, 0.75rem);
background: var(--civicinfra-accent-muted, #d8c4a2);
border: 1px solid var(--civicinfra-accent, #8a673c);
border-radius: var(--civicinfra-radius, 3px);
margin-bottom: var(--civicinfra-space-3, 0.75rem);
font-size: var(--civicinfra-fs-sm, 0.875rem);
font-weight: 600;
}
/* Pagination */
.assoc-pagination {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: var(--civicinfra-space-3, 0.75rem);
font-size: var(--civicinfra-fs-sm, 0.875rem);
color: var(--civicinfra-muted, #5f655d);
border-top: 1px solid var(--civicinfra-surface-muted, #e7e1d6);
}
/* Delete confirmation */
.assoc-delete-confirm {
border: 1px solid var(--civicinfra-danger, #7a342c);
border-left: 0.35rem solid var(--civicinfra-danger, #7a342c);
background: color-mix(in srgb, var(--civicinfra-danger, #7a342c) 6%, var(--civicinfra-bg, #faf9f6));
padding: var(--civicinfra-space-4, 1rem);
border-radius: 0 var(--civicinfra-radius, 3px) var(--civicinfra-radius, 3px) 0;
margin-top: var(--civicinfra-space-6, 1.5rem);
}
.assoc-delete-confirm h5 {
color: var(--civicinfra-danger, #7a342c);
margin-bottom: var(--civicinfra-space-3, 0.75rem);
}
/* Diff view */
.assoc-diff-entry {
margin-bottom: var(--civicinfra-space-4, 1rem);
border: 1px solid var(--civicinfra-border, #cfc6b6);
border-radius: var(--civicinfra-radius, 3px);
overflow: hidden;
}
.assoc-diff-entry-header {
background: var(--civicinfra-surface, #f2efe8);
padding: var(--civicinfra-space-2, 0.5rem) var(--civicinfra-space-4, 1rem);
font-weight: 700;
font-size: var(--civicinfra-fs-sm, 0.875rem);
border-bottom: 1px solid var(--civicinfra-border, #cfc6b6);
display: flex;
align-items: center;
gap: var(--civicinfra-space-3, 0.75rem);
}
.assoc-diff-entry-new {
border-left: 0.25rem solid var(--civicinfra-primary, #243f3b);
}
.assoc-diff-entry-changed {
border-left: 0.25rem solid var(--civicinfra-accent, #8a673c);
}
/* Edit form profile link */
.assoc-profile-edit-link {
padding-top: var(--civicinfra-space-3, 0.75rem);
}
/* ============================================================
RESPONSIVE
============================================================ */
@media (max-width: 767.98px) {
.assoc-profile-field {
grid-template-columns: 1fr;
gap: var(--civicinfra-space-1, 0.25rem);
}
.assoc-field-label {
border-bottom: none;
padding-bottom: 0;
}
.assoc-search-bar {
flex-direction: column;
}
.assoc-manage {
max-width: 100%;
}
}