/* Only CandiBase additions. Colours and typography come from the active Civi theme. */
.candibase-civi-ui { color: inherit; font-family: inherit; min-width: 0; }
.candibase-civi-ui.block-from { padding: 24px 32px; border: 1px solid var(--civi-color-border, currentColor); border-radius: 8px; }
.candibase-civi-ui.form-dashboard > h2 { font-size: 20px; margin-block-end: 24px; color: var(--civi-color-primary, inherit); }
.candibase-civi-ui .candibase-civi-form { margin-block: 24px; }
.candibase-civi-ui label { font-family: inherit; }
.candibase-civi-ui label:has(input:not([type=checkbox]):not([type=hidden])),
.candibase-civi-ui label:has(select),
.candibase-civi-ui label:has(textarea) { display: block; margin-block-end: 8px; }
.candibase-civi-ui input:not([type=checkbox]):not([type=hidden]),
.candibase-civi-ui select,
.candibase-civi-ui textarea { box-sizing: border-box; display: block; width: 100%; max-width: 100%; margin-block-start: 8px; font: inherit; color: var(--civi-color-text, inherit); border: 1px solid var(--civi-color-border, currentColor); border-radius: 8px; padding: 12px 16px; background: transparent; }
.candibase-civi-ui input[type=file] { padding: 12px; }
.candibase-civi-ui input[type=checkbox] { accent-color: var(--civi-color-accent, auto); }
.candibase-civi-ui :is(input,select,textarea):focus-visible { outline: 2px solid var(--civi-color-accent, currentColor); outline-offset: 2px; }
.candibase-civi-ui .civi-button { margin-block: 8px; max-width: 100%; white-space: normal; }
.candibase-civi-ui details { margin-block: 16px; padding-block: 16px; border-block-start: 1px solid var(--civi-color-border, currentColor); }
.candibase-civi-ui summary { cursor: pointer; font-weight: 500; color: var(--civi-color-primary, inherit); }
.candibase-civi-ui summary:focus-visible { outline: 2px solid var(--civi-color-accent, currentColor); outline-offset: 4px; }
.candibase-civi-ui .candibase-cv-fields { padding-block-start: 16px; }
.candibase-civi-ui .candibase-people-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,240px),1fr)); gap: 24px; margin-block-end: 24px; }
.candibase-civi-ui .candibase-admin-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,160px),1fr)); }
.candibase-civi-ui .candibase-person-card { min-width: 0; padding: 24px; border: 1px solid var(--civi-color-border, currentColor); border-radius: 8px; overflow-wrap: anywhere; }
.candibase-civi-ui .candibase-person-heading { text-align: center; }
.candibase-civi-ui .candibase-person-avatar { display: inline-block; width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.candibase-civi-ui .candibase-avatar-placeholder { line-height: 64px; background: transparent; border: 1px solid var(--civi-color-border, currentColor); color: var(--civi-color-secondary, inherit); font-size: 24px; }
.candibase-civi-ui .candibase-avatar-wrap { position: relative; display: inline-block; width: 64px; height: 64px; }
.candibase-civi-ui .candibase-admin-badge { position: absolute; inset-block-end: 0; inset-inline-end: -4px; border: 2px solid var(--civi-color-border, currentColor); border-radius: 50%; padding: 2px 5px; color: var(--civi-color-accent, inherit); background: var(--civi-color-border, transparent); }
.candibase-civi-ui .candibase-person-verification { margin-block-start: 16px; }
.candibase-civi-ui .candibase-verification-label { color: var(--civi-color-accent, inherit); }

@media (max-width: 575px) { .candibase-civi-ui.block-from { padding: 24px 16px; } }

.candibase-civi-ui .candibase-import-current { white-space: pre-wrap; overflow-wrap: anywhere; }
