.volunteers-list-page { --volunteer-surface: var(--ictus-surface); --volunteer-soft: var(--ictus-screen); --volunteer-line: var(--ictus-border); --volunteer-ink: var(--ictus-blue); --volunteer-muted: var(--ictus-lead); }
body.theme-dark .volunteers-list-page { --volunteer-surface: var(--ictus-dark-surface); --volunteer-soft: var(--ictus-midnight); --volunteer-line: var(--ictus-dark-border); --volunteer-ink: var(--ictus-white); --volunteer-muted: var(--ictus-dark-muted); }
/* The form inherits the standard fixed heading and content spacing, like project/create. */
.volunteer-field-label { display: flex; align-items: baseline; gap: 6px; position: relative; }
.volunteer-area-form .volunteer-field-help { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--volunteer-muted); cursor: help; }
.volunteer-area-form .volunteer-field-help:hover, .volunteer-area-form .volunteer-field-help:focus-visible { color: var(--volunteer-ink); background: var(--volunteer-soft); }
.volunteer-area-detail .volunteer-members > .entity-list { border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.volunteer-area-detail #area-panel-volunteers { padding-left: 0; padding-right: 0; }
.volunteer-members__toolbar { justify-content: space-between; flex-wrap: wrap; }
.volunteer-members__actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex: 0 1 600px; min-width: min(100%, 440px); }
.volunteer-members__create { flex-shrink: 0; white-space: nowrap; min-height: 40px; }
.volunteer-members__segmented { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; grid-column: 1 / -1; }
.volunteer-members__toolbar .entity-list__search { flex: 1 1 380px; min-width: 0; margin: 0; }
@media (max-width: 767.98px) {
  .volunteer-members__actions { flex: 0 0 auto; min-width: 0; width: 100%; flex-wrap: wrap; }
  .volunteer-members__toolbar .entity-list__search { flex: 1 1 280px; width: auto; min-width: 0; }
  .volunteer-members__toolbar .entity-list__summary { flex-direction: column; }
  .volunteer-members .volunteer-members__segmented { flex-direction: row; width: 100%; }
}
.volunteer-members__table { overflow-x: auto; }
.volunteer-members .volunteer-members__grid { display: grid; grid-template-columns: minmax(220px, 1.4fr) minmax(200px, 1.2fr) minmax(150px, 1fr) 100px 110px 104px; gap: 16px; min-width: 960px; align-items: center; }
.volunteer-members__row-actions { display: flex; align-items: center; gap: 8px; }
.volunteer-members__grid > * { min-width: 0; overflow-wrap: anywhere; }
.volunteer-members__person { display: flex; gap: 10px; align-items: center; min-width: 0; }
.volunteer-members__person strong { font-size: .86rem; }
.volunteer-members__person small, .volunteer-members__contact small { display: block; color: var(--volunteer-muted); font-size: .75rem; }
.volunteer-member-avatar { position: relative; display: inline-flex; align-items: center; justify-content: center; overflow: hidden; color: var(--volunteer-ink); font-size: .75rem; font-weight: 700; }
.volunteer-member-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.volunteer-member-status { display: inline-block; padding: 4px 10px; border-radius: 20px; background: var(--volunteer-soft); color: var(--volunteer-muted); font-size: .75rem; }
.volunteer-member-status.is-active { color: var(--ictus-healthy-text); background: rgba(var(--ictus-healthy-fill-rgb), .12); }
body.theme-dark .volunteer-member-status.is-active { color: var(--ictus-healthy-on-dark); }
.volunteer-members__pagination { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px; padding: 16px 20px; }
.volunteer-member-dialog__form { display: flex; flex-direction: column; min-height: 0; }
.volunteer-member-selected { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid var(--volunteer-line); border-radius: 10px; padding: 12px; }
.volunteer-field-help:focus-visible { outline: 2px solid var(--ictus-cyan); outline-offset: 2px; }
.volunteer-field-tooltip { position: absolute; right: 0; top: 100%; z-index: 20; width: min(260px, calc(100vw - 64px)); padding: 12px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; background: var(--ictus-blue); color: #fff; box-shadow: 0 8px 24px rgba(0,25,52,.2); font-size: .78rem; font-weight: 400; line-height: 1.5; }
.volunteer-tabs-toolbar { display: flex; align-items: center; gap: 12px; min-width: 0; border-bottom: 1px solid var(--volunteer-line); background: var(--volunteer-surface); }
.volunteer-tabs-toolbar > .visitors-list-page__tabs { flex: 1; min-width: 0; border-bottom: 0; overflow-x: auto; }
.volunteer-tabs-toolbar .visitors-list-page__tab { flex-shrink: 0; white-space: nowrap; }
.volunteer-area-count { flex-shrink: 0; margin-right: 20px; white-space: nowrap; color: var(--volunteer-muted); border-color: var(--volunteer-line); }
.volunteer-registration-tab-actions { display: flex; align-items: center; flex-shrink: 0; gap: 10px; margin-right: 20px; }
.volunteer-registration-tab-actions .volunteer-area-count { margin-right: 0; }
@media (max-width: 767px) { .volunteer-registration-tab-actions { gap: 8px; margin-right: 14px; } }
.volunteer-area-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.volunteer-area-tab-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-left: auto; padding-right: 18px; flex-wrap: wrap; }
.volunteer-area-tab-actions .volunteer-area-count { margin-right: 0; }
.volunteer-area-view-toggle .btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 38px; }
.volunteer-area-view-toggle .bi { display: inline-flex; align-items: center; justify-content: center; line-height: 1; }
.volunteers-list-page .volunteer-area-view-toggle .btn[aria-pressed="false"] { background: transparent; color: var(--volunteer-muted); border-color: var(--volunteer-line); }
.volunteers-list-page .volunteer-area-view-toggle .btn[aria-pressed="true"] { background: var(--ictus-blue); color: white; border-color: var(--ictus-blue); }
body.theme-dark .volunteers-list-page .volunteer-area-view-toggle .btn[aria-pressed="true"] { background: var(--ictus-cyan-mist); color: var(--ictus-blue); border-color: var(--ictus-cyan); }
.volunteer-area-list .entity-list__columns, .volunteer-area-list .entity-list__row { grid-template-columns: minmax(180px, 2fr) minmax(130px, 1fr) minmax(140px, 1.3fr) minmax(130px, 1fr) 60px 24px; }
.volunteer-area-list__row, .volunteer-area-list__row:hover { color: inherit; text-decoration: none; }
.volunteer-area-list .entity-list__row { padding-top: 16px; padding-bottom: 16px; }
.volunteers-list-page .volunteer-area-list .entity-list__row { background: var(--volunteer-surface); color: var(--volunteer-ink); }
.volunteers-list-page .volunteer-area-list .entity-list__row:hover { background: var(--volunteer-soft); }
.volunteer-area-list .entity-list__cell { min-width: 0; }
.volunteer-area-list__identity { min-width: 0; }
.volunteer-area-list__photo { position: relative; width: 48px; height: 48px; flex: 0 0 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 12px; overflow: hidden; color: white; font-size: 1.3rem; }
.volunteer-area-list__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.volunteer-area-list__managers { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.volunteer-area-list__manager { display: flex; align-items: center; gap: 8px; min-width: 0; font-size: .85rem; }
.volunteer-area-list__manager > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.volunteer-area-list__manager .volunteer-area-avatar { flex: 0 0 28px; width: 28px; height: 28px; }
.volunteer-area-list__capacity { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.volunteer-area-list__capacity small { color: var(--volunteer-muted); font-size: .75rem; }
.volunteer-area-list__progress { height: 6px; width: 100%; max-width: 150px; border-radius: 8px; overflow: hidden; background: var(--volunteer-line); }
.volunteer-area-list__progress > span { height: 100%; display: block; border-radius: inherit; }
.volunteer-area-list .volunteer-area-list__status { color: var(--volunteer-muted); background: var(--volunteer-surface); border: 1px solid var(--volunteer-line); }
.volunteer-area-list .volunteer-area-list__status.is-open { color: var(--ictus-healthy-text, #086347); background: rgba(25, 158, 112, .09); }
body.theme-dark .volunteer-area-list .volunteer-area-list__status.is-open { color: var(--ictus-healthy-on-dark, #70dfb7); }
@media (max-width: 1199px) {
  .volunteer-area-list .entity-list__columns { display: none; }
  .volunteer-area-list .entity-list__row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; position: relative; }
  .volunteer-area-list__identity { grid-column: 1 / -1; padding-right: 20px; }
  .volunteer-area-list .entity-list__cell { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; grid-column: auto; }
  .volunteer-area-list .entity-list__mobile-label { display: block; flex: 0 0 auto; }
  .volunteer-area-list__open { position: absolute; right: 18px; top: 32px; }
}
.volunteer-area-card { background: var(--volunteer-surface); border: 1px solid var(--volunteer-line); border-top: 4px solid var(--ictus-cyan); border-radius: 16px; padding: 22px; min-width: 0; box-shadow: var(--ictus-shadow-sm); }
.volunteer-area-card, .volunteer-area-card:hover { display: block; color: inherit; text-decoration: none; }
/* Same interaction pattern as the project portfolio cards. */
.volunteer-area-card { transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.volunteer-area-card:hover, .volunteer-area-card:focus-visible { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(0, 35, 75, .12); border-color: var(--ictus-cyan); }
.volunteer-area-card:focus-visible { outline: 3px solid var(--ictus-cyan); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { .volunteer-area-card { transition: none; } .volunteer-area-card:hover, .volunteer-area-card:focus-visible { transform: none; } }
.volunteer-area-card__status { border: 1px solid var(--volunteer-line); border-radius: 20px; padding: 5px 9px; font-size: .65rem; font-weight: 700; color: var(--volunteer-muted); }
.volunteer-area-card__status.is-complete { color: var(--ictus-healthy-fill); }
.volunteer-area-hero { position: relative; isolation: isolate; min-height: 178px; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 18px 22px; border-radius: 12px 12px 0 0; margin: -22px -22px 22px; background-color: var(--ictus-cyan); }
.volunteer-area-hero::before { content: ''; position: absolute; width: 240px; height: 240px; border: 40px solid rgba(255,255,255,.13); border-radius: 50%; right: -60px; top: -90px; z-index: -1; }
.volunteer-area-hero__image, .volunteer-area-hero__blend, .volunteer-area-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; }
.volunteer-area-hero__image { object-fit: cover; object-position: center; }
.volunteer-area-hero__blend { opacity: .4; mix-blend-mode: multiply; }
.volunteer-area-hero__shade { background: linear-gradient(180deg, rgba(0,25,52,.12), rgba(0,25,52,.2) 25%, rgba(0,25,52,.88) 100%); }
.volunteer-area-hero__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.volunteer-area-hero__icon { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 10px; background: rgba(0,25,52,.3); color: #fff; border: 1px solid rgba(255,255,255,.25); }
.volunteer-area-hero .volunteer-area-card__status { background: #fff; color: var(--ictus-lead); border-color: rgba(255,255,255,.6); }
.volunteer-area-hero .volunteer-area-card__status.is-complete { color: #086347; }
.volunteer-area-hero__content { margin-top: 28px; min-width: 0; }
.volunteer-area-hero__eyebrow { display: block; text-transform: uppercase; letter-spacing: .09em; font-size: .58rem; font-weight: 700; color: rgba(255,255,255,.86); }
.volunteers-list-page .volunteer-area-hero h4, .volunteers-list-page .volunteer-area-hero__content > strong { display: block; color: #fff; font-size: 1.22rem; line-height: 1.3; margin: 6px 0 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.volunteer-photo-editor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 22px; border: 1px solid var(--volunteer-line); padding: 16px; border-radius: 12px; }
.volunteer-area-hero--preview { margin: 0; border-radius: 10px; min-height: 210px; justify-content: flex-end; }
.volunteer-photo-editor__controls { align-self: center; min-width: 0; color: var(--volunteer-muted); }
.volunteer-photo-editor__controls > strong { color: var(--volunteer-ink); }
.volunteer-photo-editor__controls p { font-size: .85rem; margin: 8px 0; }
.volunteer-photo-editor__controls small { font-size: .75rem; }
.volunteer-photo-editor .progress { height: 6px; }
.volunteer-area-detail .breadcrumb-item { overflow-wrap: anywhere; }
.volunteer-area-detail .entity-list > .visitors-list-page__tabs { border-top-left-radius: inherit; border-top-right-radius: inherit; }
.volunteer-area-detail__hero > .volunteer-area-hero__top { flex-wrap: wrap; }
.volunteer-area-detail__actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.volunteer-area-detail .volunteer-area-detail__edit { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; white-space: nowrap; }
.volunteer-area-hero.volunteer-area-detail__hero { margin: 0 0 20px; border-radius: 16px; padding: 24px; min-height: 250px; }
.volunteers-list-page .volunteer-area-detail__hero h4 { white-space: normal; overflow-wrap: anywhere; font-size: clamp(1.5rem, 2.6vw, 2.1rem); }
.volunteer-area-detail__description { white-space: pre-line; overflow-wrap: anywhere; color: rgba(255,255,255,.92); margin: 12px 0 0; font-size: .9rem; max-width: 850px; }
.volunteer-area-detail__meta { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 18px; font-size: .8rem; color: #fff; }
.volunteer-area-detail__meta > span { display: inline-flex; align-items: center; gap: 8px; }
.volunteer-area-detail .volunteer-area-detail__back { display: inline-flex; justify-content: center; align-items: center; width: 40px; height: 40px; flex-shrink: 0; }
.volunteer-area-detail .volunteer-area-detail__actions > .btn { border: 1px solid rgba(255,255,255,.5); background: rgba(0,25,52,.35); color: #fff; box-shadow: none; }
.volunteer-area-detail .volunteer-area-detail__actions > .btn:hover { background: rgba(0,25,52,.65); }
.volunteer-area-detail .volunteer-area-detail__actions > .btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 767px) { .volunteer-area-hero.volunteer-area-detail__hero { padding: 18px; min-height: 220px; } .volunteer-area-detail__meta { gap: 12px; } }
.volunteer-area-card__capacity { display: flex; align-items: center; gap: 14px; }
.volunteer-area-card__ring { width: 74px; height: 74px; flex: 0 0 74px; padding: 6px; border-radius: 50%; background: var(--volunteer-line); }
.volunteer-area-card__ring > span { border-radius: 50%; display: flex; align-items: baseline; justify-content: center; padding-top: 17px; background: var(--volunteer-surface); width: 100%; height: 100%; color: var(--volunteer-ink); }
.volunteer-area-card__ring strong { font-size: 1.2rem; }
.volunteer-area-card__ring small { font-size: .65rem; }
.volunteer-area-card__capacity > div:last-child { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.volunteer-area-card__capacity > div:last-child > span, .volunteer-area-card__capacity small { font-size: .66rem; color: var(--volunteer-muted); }
.volunteer-area-card__capacity > div:last-child > strong { font-size: .86rem; color: var(--volunteer-ink); }
.volunteer-area-card__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 24px 0; }
.volunteer-area-card__metrics > div { display: flex; flex-direction: column; text-align: center; gap: 4px; border-right: 1px solid var(--volunteer-line); }
.volunteer-area-card__metrics > div:last-child { border: 0; }
.volunteer-area-card__metrics strong { color: var(--volunteer-ink); font-size: 1.25rem; }
.volunteer-area-card__metrics span { color: var(--volunteer-muted); font-size: .65rem; }
.volunteer-area-card__footer { border-top: 1px solid var(--volunteer-line); padding-top: 16px; display: flex; align-items: center; gap: 12px; color: var(--volunteer-muted); font-size: .72rem; }
.volunteer-area-card__avatars { display: flex; }
.volunteer-area-avatar { display: inline-flex; position: relative; align-items: center; justify-content: center; border-radius: 50%; width: 32px; height: 32px; flex: 0 0 32px; border: 2px solid var(--volunteer-surface); background: var(--volunteer-soft); color: var(--volunteer-ink); font-size: .7rem; overflow: hidden; }
.volunteer-area-avatar img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.volunteer-area-card__avatars .volunteer-area-avatar + .volunteer-area-avatar { margin-left: -8px; }
.volunteer-areas-note { color: var(--volunteer-muted); font-size: .75rem; margin: 20px 0 0; }
.volunteer-area-managers { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; border: 1px solid var(--volunteer-line); border-radius: 8px; padding: 10px; }
.volunteer-area-manager { display: inline-flex; align-items: center; gap: 7px; padding: 3px 7px 3px 3px; border-radius: 24px; background: var(--volunteer-soft); color: var(--volunteer-ink); max-width: 100%; }
.volunteer-area-manager > span:nth-child(2) { overflow-wrap: anywhere; }
@media (max-width: 1450px) { .volunteer-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .volunteer-area-grid { grid-template-columns: minmax(0, 1fr); } .volunteer-area-card { padding: 18px; } .volunteer-area-count { margin-right: 14px; } .volunteer-area-card > .volunteer-area-hero { margin: -18px -18px 20px; padding: 16px 18px; } .volunteer-photo-editor { grid-template-columns: minmax(0, 1fr); gap: 16px; } }
.volunteer-public-link-dialog { width: min(600px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; padding: 0; }
.volunteer-public-link-dialog .modal-body, .volunteer-public-link-dialog .modal-header, .volunteer-public-link-dialog .modal-footer { padding: 20px; }
.volunteer-public-link-dialog .modal-footer { flex-wrap: wrap; gap: 8px; }
.volunteer-registrations-table { min-width: 1100px; margin-bottom: 0; }
.volunteer-registrations-table td, .volunteer-registrations-table th { padding: 14px 18px; }
.volunteer-registration-area { display: flex; align-items: center; gap: 6px; font-size: .8rem; margin-bottom: 4px; }
.volunteer-registration-area > i { flex: 0 0 7px; height: 7px; border-radius: 50%; }
.volunteer-registration-notes { white-space: pre-wrap; overflow-wrap: anywhere; }
.volunteer-recruitment-grid { overflow: auto; }
/* A grade de inscrições mantém rolagem horizontal no celular; o cabeçalho acompanha. */
#main.volunteers-list-page .volunteer-recruitment-grid .entity-list__columns--visitors { display: grid; }
.volunteer-recruitment-grid .volunteer-registration--unlinked:not(.visitor-row--overdue) { background-color: #f7f8fa; }
.volunteer-recruitment-grid .volunteer-registration--unlinked .volunteer-recruitment-person { color: #657080; }
.volunteer-conversion-summary { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 4px 12px; }
.volunteer-conversion-summary dd { overflow-wrap: anywhere; }
body.theme-dark .volunteer-recruitment-grid .volunteer-registration--unlinked:not(.visitor-row--overdue) { background-color: #152c42; }
body.theme-dark .volunteer-recruitment-grid .volunteer-registration--unlinked .volunteer-recruitment-person { color: #b3c0cf; }
.volunteer-recruitment-grid .volunteer-registration--blocked:not(.visitor-row--overdue) { background-color: #f7f8fa; }
.volunteer-recruitment-grid .volunteer-registration--blocked .volunteer-recruitment-person { color: #657080; }
body.theme-dark .volunteer-recruitment-grid .volunteer-registration--blocked:not(.visitor-row--overdue) { background-color: #152c42; }
body.theme-dark .volunteer-recruitment-grid .volunteer-registration--blocked .volunteer-recruitment-person { color: #b3c0cf; }
.volunteer-recruitment-grid .volunteer-recruitment-person { border: 0; padding: 0; background: transparent; color: inherit; text-align: left; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.volunteer-recruitment-person:hover { color: var(--ictus-ocean); }
.volunteer-recruitment-grid .volunteer-recruitment-areas { align-items: flex-start; flex-direction: column; justify-content: center; }
.volunteer-recruitment-grid .volunteer-birth-date { align-items: flex-start; flex-direction: column; gap: 2px; justify-content: center; }
.volunteer-recruitment-grid .volunteer-birth-date small { color: var(--ictus-lead); font-size: .72rem; font-weight: 700; line-height: 1.15; }
.volunteer-stage-header--dynamic .visitor-stage-header__badge-label { padding: 0 1.4rem 0 .15rem; font-size: .7rem; }
.volunteer-stage-area-heading { display: flex; align-items: center; justify-content: center; gap: 4px; font-size: .65rem; color: var(--ictus-lead); }
.volunteer-recruitment-grid .visitor-stage-cell { align-self: stretch; flex-direction: column; justify-content: flex-end; gap: 5px; }
.volunteer-recruitment-grid .visitor-stage-status { flex-shrink: 0; }
.volunteer-recruitment-grid .volunteer-stage-not-applicable { margin-block: auto; }
.volunteer-stage-cell-area { width: 100%; min-width: 0; text-align: center; }
.volunteer-stage-cell-area > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .72rem; }
.volunteer-recruitment-grid .visitor-row--overdue .visitor-stage-cell--overdue .volunteer-stage-cell-area > strong,
.volunteer-recruitment-grid .visitor-row--overdue .visitor-stage-cell--overdue .volunteer-stage-cell-managers small { color: #f0f4f8; }
.volunteer-stage-cell-managers { display: flex; align-items: center; justify-content: center; gap: 3px; min-height: 22px; margin-top: 3px; }
.volunteer-stage-cell-managers img { width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; object-fit: cover; border: 1px solid var(--ictus-border); }
.volunteer-stage-cell-managers small, .volunteer-stage-not-applicable { color: var(--ictus-lead); }
body.theme-dark .volunteer-stage-area-heading, body.theme-dark .volunteer-stage-cell-managers small, body.theme-dark .volunteer-stage-not-applicable { color: var(--ictus-dark-muted); }
.volunteer-recruitment-areas .volunteer-registration-area { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.volunteer-recruitment-menu { margin: 0; inset: auto; }
.volunteer-decision-badge { display: inline-flex; align-items: center; gap: 5px; align-self: flex-start; max-width: 100%; padding: 4px 7px; border-radius: 6px; font-size: .65rem; line-height: 1.3; white-space: normal; color: var(--ictus-lead); background: var(--ictus-surface); }
.volunteer-decision-badge--integrated { color: #087658; background: #e1f5ed; }
.volunteer-decision-badge--closed { color: #5b5879; background: #eeecf5; }
.volunteer-decision-badge--eligible { color: #0b5f86; background: #e2f1f8; }
.volunteer-decision-badge--blocked { color: #8a5300; background: #fcefda; }
.volunteer-decision-choices { display: grid; gap: 10px; }
.volunteer-decision-choices > label { display: flex; align-items: flex-start; gap: 10px; padding: 14px; border: 1px solid var(--ictus-border); border-radius: 10px; cursor: pointer; }
.volunteer-decision-choices > label:has(input:checked) { border-color: var(--ictus-ocean); background: var(--ictus-surface); }
.volunteer-decision-choices input { margin-top: 5px; accent-color: var(--ictus-ocean); }
.volunteer-decision-choices small { display: block; color: var(--ictus-lead); }
.volunteer-decision-choices > label.volunteer-decision-choice--blocked { cursor: not-allowed; opacity: .65; }
.volunteer-decision-person { display: flex; align-items: center; gap: 10px; }
.volunteer-decision-person img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; }
body.theme-dark .volunteer-decision-badge--integrated { color: #a5ead0; background: #123e3e; }
body.theme-dark .volunteer-decision-badge--closed { color: #ded5f5; background: #35304b; }
body.theme-dark .volunteer-decision-badge--eligible { color: #a9dcf2; background: #0f3547; }
body.theme-dark .volunteer-decision-badge--blocked { color: #f0cfa0; background: #4a3410; }
.volunteer-activities .entity-list__columns--activities, .volunteer-activities .entity-list__row--activities { min-width: 1368px; grid-template-columns: minmax(210px, 1.5fr) 110px minmax(130px, 1fr) minmax(190px, 1.1fr) minmax(180px, 1fr) 132px 136px 180px; }
.volunteer-activities .entity-list__body { min-height: 0; }
body.theme-dark .volunteer-activities .visitor-activities__sort.is-active { color: #8ddcef; }
body.theme-dark .volunteer-activities .visitor-activities__header .btn-outline-primary { color: #8ddcef; border-color: #477890; }
.volunteer-activities .volunteer-activities__managers { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.volunteer-activities__manager { display: flex; align-items: center; gap: 6px; width: 100%; min-width: 0; }
.volunteer-activities__manager img { width: 24px; height: 24px; flex: 0 0 24px; object-fit: cover; border-radius: 50%; }
.volunteer-activities__manager > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.volunteer-activities__pagination { display: flex; justify-content: flex-end; padding: 12px 16px; }
.volunteer-recruitment-dialog { width: min(680px, calc(100vw - 24px)); max-height: calc(100dvh - 32px); padding: 0; border: 1px solid var(--ictus-border); border-radius: 14px; color: var(--ictus-graphite); background: var(--ictus-surface, #fff); overflow-y: auto; }
.volunteer-recruitment-dialog::backdrop { background: rgba(0, 20, 44, .48); }
.volunteer-recruitment-edit-dialog { width: min(800px, calc(100vw - 24px)); }
.volunteer-recruitment-edit-dialog[open], .volunteer-recruitment-decision-dialog[open] { display: flex; flex-direction: column; overflow: hidden; }
.volunteer-recruitment-edit-dialog > form, .volunteer-recruitment-decision-dialog > form { display: flex; flex-direction: column; min-height: 0; }
.volunteer-recruitment-edit-dialog .modal-body, .volunteer-recruitment-decision-dialog .modal-body { overflow-y: auto; }
.volunteer-recruitment-edit-dialog .modal-header, .volunteer-recruitment-edit-dialog .modal-footer,
.volunteer-recruitment-decision-dialog .modal-header, .volunteer-recruitment-decision-dialog .modal-footer { flex-shrink: 0; }
.volunteer-recruitment-edit-areas { margin: 0 0 24px; }
.volunteer-recruitment-edit-areas legend { font-size: 1rem; font-weight: 700; }
.volunteer-recruitment-edit-areas .form-check-label { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
body.theme-dark .volunteer-recruitment-edit-dialog textarea.form-control { background-color: #082745; color: #eef7ff; }
body.theme-dark .volunteer-recruitment-edit-dialog .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
.volunteer-recruitment-dialog { --bs-modal-padding: 24px; --bs-modal-header-padding: 20px 24px; --bs-modal-header-padding-x: 24px; --bs-modal-header-padding-y: 20px; --bs-modal-header-border-width: 1px; --bs-modal-header-border-color: var(--ictus-border); --bs-modal-footer-gap: 8px; --bs-modal-footer-border-width: 1px; --bs-modal-footer-border-color: var(--ictus-border); }
.volunteer-recruitment-dialog .modal-body { padding: 24px; }
.volunteer-recruitment-dialog .badge { white-space: normal; text-align: left; line-height: 1.5; }
.volunteer-recruitment-history { list-style: none; padding: 0; margin: 16px 0 0; }
.volunteer-recruitment-history li { padding: 16px 0; border-top: 1px solid var(--ictus-border); }
body.theme-dark .volunteer-recruitment-dialog { background: #082745; color: #eef7ff; border-color: #31506d; }
#main.volunteers-list-page .volunteers-mobile-action { display: none; }
#main.volunteers-list-page .volunteers-tab-icon { display: none; }
#main.volunteer-area-detail .volunteer-area-mobile-actions { display: none; }

@media (max-width: 767.98px) {
  #main.volunteers-list-page .page-heading.fixed-top { height: 60px; padding: 10px 20px; border-bottom: 0; }
  #main.volunteers-list-page .visitors-list-page__title-row { gap: 6px; }
  #main.volunteers-list-page .visitors-list-page__title-copy { min-width: 0; gap: 6px; }
  #main.volunteers-list-page .visitors-list-page__header-actions { display: flex; flex-direction: row; gap: 0; margin: 0; }
  /* Mesmas células de ação de Eventos; não dimensionar o wrapper do dialog. */
  #main.volunteers-list-page .visitors-list-page__header-actions > .mobile-header__icon-button,
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown,
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > button {
    align-items: center;
    justify-content: center;
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    min-height: 40px;
    margin: 0;
    padding: 0;
  }
  #main.volunteers-list-page .visitors-list-page__header-actions > .mobile-header__icon-button > i,
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > button > i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    margin: 0;
    font-size: 20px;
    line-height: 1;
  }
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown { background: transparent; border: 0; box-shadow: none; }
  /* O menu não deve herdar o branco dos links do header legado. */
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu { background-color: var(--ictus-white); color: var(--ictus-graphite); }
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item { color: var(--ictus-graphite); }
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item:is(:hover, :focus) { background-color: var(--ictus-cyan-mist); color: var(--ictus-blue); }
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item:is(:active, .active) { background-color: var(--ictus-blue); color: var(--ictus-white); }
  #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item i { color: inherit; }
  body.theme-dark #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu { background-color: var(--ictus-dark-surface); color: var(--ictus-screen); }
  body.theme-dark #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item { color: var(--ictus-screen); }
  body.theme-dark #main.volunteers-list-page .visitors-list-page__header-actions > .dropdown > .dropdown-menu .dropdown-item:is(:hover, :focus, :active, .active) { background-color: var(--ictus-dark-surface-hover); color: var(--ictus-cyan-light); }
  #main.volunteers-list-page .volunteers-public-link { display: contents; }
  #main.volunteers-list-page .volunteers-mobile-action { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; padding: 0; text-decoration: none; }
  #main.volunteers-list-page .volunteers-notifications { position: relative; }
  #main.volunteers-list-page .volunteers-notifications .badge { position: absolute; top: 1px; right: 1px; margin: 0; font-size: 10px; border-radius: 50%; border: 1px solid var(--ictus-white); padding: 2px 4px; }
  #main.volunteers-list-page #volunteers-search-panel { display: none; }
  #main.volunteers-list-page #volunteers-search-panel.is-open { display: flex; }

  /* Subheader mobile contínuo, no mesmo padrão da gestão de Eventos. */
  #main.volunteers-list-page .page-heading.fixed-top {
    z-index: 990;
    box-shadow: none !important;
  }
  #main.volunteers-list-page .page-content {
    margin-top: 120px;
    padding-top: 12px;
  }
  #main.volunteers-list-page .volunteer-tabs-toolbar {
    border: 0;
    background: transparent;
  }
  #main.volunteers-list-page .volunteer-tabs-toolbar > .visitors-list-page__tabs,
  #main.volunteers-list-page .volunteer-area-detail__tabs {
    position: fixed;
    top: 60px;
    left: 0;
    right: 0;
    z-index: 989;
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    height: 60px;
    min-height: 60px;
    gap: 0;
    margin: 0;
    padding: 0 4px;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
    background: var(--ictus-blue);
    border: 0;
    border-radius: 0;
    box-shadow: 0 4px 12px rgba(var(--ictus-midnight-rgb), .12);
  }
  body.theme-dark #main.volunteers-list-page .volunteer-tabs-toolbar > .visitors-list-page__tabs,
  body.theme-dark #main.volunteers-list-page .volunteer-area-detail__tabs {
    background: var(--ictus-midnight);
  }
  #main.volunteers-list-page .visitors-list-page__tabs::-webkit-scrollbar { display: none; }
  #main.volunteers-list-page .visitors-list-page__tabs > .visitors-list-page__tab {
    display: flex;
    flex: 1 0 60px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    min-width: 0;
    height: 60px;
    min-height: 60px;
    margin: 0;
    padding: 6px 5px;
    background: transparent;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    box-shadow: none;
    color: var(--ictus-white);
    opacity: .78;
  }
  #main.volunteers-list-page .visitors-list-page__tab .volunteers-tab-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    line-height: 1;
    margin: 0;
    color: inherit;
  }
  #main.volunteers-list-page .volunteers-tab-icon::before { line-height: 1; vertical-align: 0; }
  #main.volunteers-list-page .visitors-list-page__tabs > .visitors-list-page__tab > span {
    font-size: 10px;
    font-weight: 400;
    line-height: 1.2;
    white-space: nowrap;
    color: inherit;
  }
  #main.volunteers-list-page .visitors-list-page__tabs > .visitors-list-page__tab::after {
    content: none;
    display: none;
    box-shadow: none;
  }
  #main.volunteers-list-page .visitors-list-page__tabs > .visitors-list-page__tab.is-active {
    opacity: 1;
    border-bottom-color: var(--ictus-cyan-light);
  }
  #main.volunteers-list-page .visitors-list-page__tabs > .visitors-list-page__tab:not(.is-active):hover { opacity: 1; }
  #main.volunteers-list-page .visitors-list-page__tabs > .visitors-list-page__tab:focus-visible {
    outline: 2px solid var(--ictus-cyan-light);
    outline-offset: -4px;
  }
  #main.volunteers-list-page .volunteer-tabs-toolbar > :is(.volunteer-area-tab-actions, .volunteer-registration-tab-actions) {
    width: 100%;
    margin: 0;
    padding: 12px;
  }

  #main.volunteer-area-detail .volunteer-area-detail__hero,
  #main.volunteer-area-detail .volunteer-area-heading__breadcrumb { display: none; }
  #main.volunteer-area-detail .volunteer-area-heading__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-width: 0;
  }
  #main.volunteer-area-detail .volunteer-area-mobile-actions { display: flex; }
  #main.volunteer-area-detail .page-content { margin-top: 60px; }
  #main.volunteer-area-detail.volunteer-area-ready .page-content { margin-top: 120px; }
  #main.volunteer-area-detail #area-panel-volunteers { padding-top: 0; }
  #main.volunteer-area-detail #volunteer-area-search-panel { display: none; }
  #main.volunteer-area-detail.volunteer-area-search-open #volunteer-area-search-panel { display: flex; }
  #main.volunteer-area-detail .volunteer-members__search-label { display: none; }
  #main.volunteer-area-detail .volunteer-members__toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 12px;
  }
  #main.volunteer-area-detail .volunteer-members__toolbar > .entity-list__summary,
  #main.volunteer-area-detail .volunteer-members__actions { display: contents; }
  #main.volunteer-area-detail #volunteer-members-title { grid-column: 1; grid-row: 1; }
  #main.volunteer-area-detail .volunteer-members__toolbar .entity-list__summary-copy { grid-column: 1 / -1; grid-row: 2; }
  #main.volunteer-area-detail .volunteer-members__create {
    grid-column: 2;
    grid-row: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
  }
  #main.volunteer-area-detail .volunteer-members__create > span { display: none; }
  #main.volunteer-area-detail .volunteer-members__create > i {
    width: 20px;
    height: 20px;
    margin: 0;
    font-size: 20px;
    line-height: 1;
  }
  #main.volunteer-area-detail #volunteer-area-search-panel {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    min-width: 0;
  }
  #main.volunteer-area-detail #volunteer-area-search-panel > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    min-height: 44px;
    padding: 0;
  }
}

@media (max-width: 359.98px) {
  #main.volunteers-list-page .page-heading.fixed-top { padding-left: 12px; padding-right: 12px; }
}
