.base-content { width: 100%; } .base-view { width: 100%; overflow-x: auto; } .base-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; th, td { padding: 0.5rem 0.75rem; text-align: left; border-bottom: 1px solid var(--lightgray); } th { font-weight: 600; color: var(--darkgray); background: var(--light); position: sticky; top: 0; } tbody tr:hover { background: var(--light); } a.internal { color: var(--secondary); text-decoration: none; &:hover { text-decoration: underline; } } } .base-group-header td { font-weight: 600; background: var(--light); color: var(--dark); padding-top: 1rem; } .base-summary-row { background: var(--light); font-weight: 500; .base-summary-cell { border-top: 2px solid var(--lightgray); color: var(--darkgray); } } .base-checkbox { pointer-events: none; width: 1rem; height: 1rem; accent-color: var(--secondary); } .base-list { list-style: none; padding: 0; margin: 0; li { padding: 0.375rem 0; border-bottom: 1px solid var(--lightgray); &:last-child { border-bottom: none; } } a.internal { color: var(--secondary); text-decoration: none; &:hover { text-decoration: underline; } } } .base-list-container { display: flex; flex-direction: column; gap: 1.5rem; } .base-list-group { .base-list-group-header { font-size: 1rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--dark); } } .base-list-nested { list-style: none; padding-left: 1rem; margin-top: 0.25rem; font-size: 0.8125rem; color: var(--darkgray); } .base-list-meta-label { font-weight: 500; } .base-card-grid { --base-card-min: 200px; --base-card-aspect: 1.4; display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--base-card-min), 1fr)); gap: 1rem; } .base-card-container { display: flex; flex-direction: column; gap: 1.5rem; } .base-card-group { .base-card-group-header { font-size: 1rem; font-weight: 600; margin-bottom: 0.75rem; color: var(--dark); } } .base-card { display: flex; flex-direction: column; border: 1px solid var(--lightgray); border-radius: 8px; overflow: hidden; background: var(--light); transition: box-shadow 0.15s ease; &:hover { box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); } } .base-card-image-link { display: block; aspect-ratio: var(--base-card-aspect); background-position: center; background-repeat: no-repeat; } .base-card-content { padding: 0.75rem; display: flex; flex-direction: column; gap: 0.5rem; } .base-card-title-link { text-decoration: none; color: inherit; &:hover .base-card-title { color: var(--secondary); } } .base-card-title { font-size: 0.9375rem; font-weight: 600; margin: 0; line-height: 1.3; transition: color 0.15s ease; } .base-card-meta { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.8125rem; color: var(--darkgray); } .base-card-meta-item { display: flex; gap: 0.25rem; } .base-card-meta-label { font-weight: 500; &::after { content: ":"; } } .base-calendar-container { display: flex; flex-direction: column; gap: 1.5rem; } .base-calendar-group { .base-calendar-group-header { font-size: 0.9375rem; font-weight: 600; margin-bottom: 0.5rem; color: var(--dark); font-variant-numeric: tabular-nums; } } .base-map { width: 100%; min-height: 400px; background: var(--light); border: 1px solid var(--lightgray); border-radius: 8px; display: flex; align-items: center; justify-content: center; color: var(--darkgray); &::before { content: "Map view requires client-side JavaScript"; font-size: 0.875rem; } } .base-diagnostics { background: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; padding: 1rem; margin-bottom: 1rem; font-size: 0.875rem; } .base-diagnostics-title { font-weight: 600; margin-bottom: 0.5rem; color: #856404; } .base-diagnostics-meta { display: flex; gap: 0.5rem; margin-bottom: 0.75rem; color: #856404; } .base-diagnostics-page { font-family: var(--codeFont); } .base-diagnostics-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.5rem; } .base-diagnostics-item { background: white; padding: 0.5rem; border-radius: 4px; } .base-diagnostics-label { font-weight: 500; color: #856404; } .base-diagnostics-message { color: #664d03; margin: 0.25rem 0; } .base-diagnostics-source { display: block; font-size: 0.8125rem; color: #6c757d; white-space: pre-wrap; word-break: break-all; }