.igreja-portal-area-page,
.igreja-portal-area-page #page,
.igreja-portal-area-page .site {
	margin: 0;
	min-height: 100%;
	background: #f4f5fb;
}

/* Portal operacional dos ministérios — versão 2.1 */
.area-acting-banner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 18px 0 0;
	padding: 12px 16px;
	border: 1px solid color-mix(in srgb, var(--area-primary) 25%, var(--area-border));
	border-radius: 14px;
	background: color-mix(in srgb, var(--area-primary) 8%, var(--area-surface));
	color: var(--area-text);
	font-size: 13px;
}
.area-acting-banner a { color: var(--area-primary); font-weight: 850; text-decoration: none; }
.area-manager-badge { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 9px; padding: 11px 14px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.1); color: #fff; font-size: 13px; font-weight: 850; }
.area-manager-badge svg { width: 18px; height: 18px; }

.area-mode-intro,
.area-workspace-welcome {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 18px;
	padding: clamp(22px, 4vw, 34px);
	border: 1px solid var(--area-border);
	border-radius: var(--area-radius-xl);
	background: linear-gradient(135deg, var(--area-surface), var(--area-primary-soft));
	box-shadow: var(--area-shadow-soft);
}
.area-mode-intro span,
.area-workspace-welcome span { color: var(--area-primary); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.area-mode-intro h2,
.area-workspace-welcome h2 { margin: 7px 0; font-size: clamp(24px, 3vw, 34px); }
.area-mode-intro p,
.area-workspace-welcome p { max-width: 720px; margin: 0; color: var(--area-muted); }
.area-mode-intro > strong,
.area-workspace-welcome > strong { flex: 0 0 auto; padding: 10px 14px; border-radius: 999px; background: var(--area-primary); color: #fff; font-size: 12px; }
.area-mode-form { margin-bottom: 22px; }
.area-mode-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.area-mode-card { position: relative; display: block !important; cursor: pointer; }
.area-mode-card input { position: absolute; opacity: 0; pointer-events: none; }
.area-mode-card > span { display: block; height: 100%; padding: 18px; border: 1px solid var(--area-border); border-radius: 16px; background: var(--area-surface-soft); transition: .18s ease; }
.area-mode-card b,
.area-mode-card small { display: block; }
.area-mode-card b { margin-bottom: 6px; font-size: 15px; }
.area-mode-card small { color: var(--area-muted); font-size: 12px; line-height: 1.55; }
.area-mode-card input:checked + span { border-color: var(--area-primary); background: var(--area-primary-soft); box-shadow: 0 0 0 3px color-mix(in srgb, var(--area-primary) 12%, transparent); }
.area-security-warning { margin: 16px 0; padding: 14px 16px; border: 1px solid color-mix(in srgb, #e49a10 35%, var(--area-border)); border-radius: 14px; background: color-mix(in srgb, #fbbf24 10%, var(--area-surface)); color: var(--area-text); font-size: 13px; line-height: 1.6; }
.area-site-admin-actions { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: center; }
.area-inline-admin-form { display: flex; gap: 10px; }
.area-inline-admin-form select { flex: 1; min-width: 220px; }
.area-admin-list { display: grid; gap: 9px; margin-top: 18px; }
.area-admin-list article { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 15px; border: 1px solid var(--area-border); border-radius: 14px; background: var(--area-surface-soft); }
.area-admin-list strong,
.area-admin-list small { display: block; }
.area-admin-list small { margin-top: 2px; color: var(--area-muted); }
.area-admin-list button,
.area-link-danger { border: 0; background: transparent; color: #dc4c64; font-weight: 800; cursor: pointer; }

.area-workspace-tabs { position: sticky; z-index: 12; top: 16px; display: flex; gap: 7px; overflow-x: auto; margin: 20px 0; padding: 8px; border: 1px solid var(--area-border); border-radius: 17px; background: color-mix(in srgb, var(--area-surface) 92%, transparent); box-shadow: var(--area-shadow-soft); backdrop-filter: blur(14px); scrollbar-width: thin; }
.area-workspace-tabs a { flex: 0 0 auto; padding: 11px 14px; border-radius: 11px; color: var(--area-muted); font-size: 13px; font-weight: 800; text-decoration: none; white-space: nowrap; }
.area-workspace-tabs a:hover { color: var(--area-primary); background: var(--area-primary-soft); }
.area-workspace-tabs a.is-active { background: var(--area-primary); color: #fff; box-shadow: 0 8px 20px color-mix(in srgb, var(--area-primary) 24%, transparent); }
.area-workspace-panel { display: grid; gap: 20px; }
.area-workspace-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.area-workspace-stats a { display: grid; gap: 4px; min-height: 142px; padding: 20px; border: 1px solid var(--area-border); border-radius: 18px; background: var(--area-surface); color: var(--area-text); text-decoration: none; box-shadow: var(--area-shadow-soft); transition: transform .18s ease, border-color .18s ease; }
.area-workspace-stats a:hover { transform: translateY(-2px); border-color: var(--area-primary); }
.area-workspace-stats span { color: var(--area-primary); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.area-workspace-stats strong { align-self: end; font-size: 34px; }
.area-workspace-stats small { color: var(--area-muted); }
.area-workspace-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.area-workspace-card { padding: 22px; border: 1px solid var(--area-border); border-radius: 19px; background: var(--area-surface); box-shadow: var(--area-shadow-soft); }
.area-workspace-card-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.area-workspace-card-head span { color: var(--area-primary); font-size: 10px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.area-workspace-card-head h3 { margin: 3px 0 0; font-size: 20px; }
.area-workspace-card-head a,
.area-workspace-card-head button { border: 0; background: transparent; color: var(--area-primary); font-weight: 850; text-decoration: none; cursor: pointer; }
.area-compact-list { display: grid; gap: 9px; }
.area-compact-list article { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-top: 1px solid var(--area-border); }
.area-compact-list article:first-child { border-top: 0; }
.area-compact-list time,
.area-compact-list > article > b { flex: 0 0 auto; min-width: 66px; color: var(--area-primary); font-size: 11px; font-weight: 850; }
.area-compact-list div { min-width: 0; }
.area-compact-list strong,
.area-compact-list small { display: block; }
.area-compact-list small { margin-top: 2px; color: var(--area-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.area-empty-copy { margin: 0; padding: 24px; border: 1px dashed var(--area-border); border-radius: 15px; color: var(--area-muted); text-align: center; }

.area-list-search { display: grid; gap: 6px; max-width: 520px; margin-bottom: 18px; font-size: 13px; font-weight: 800; }
.area-team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.area-team-grid article { display: grid; grid-template-columns: 52px 1fr; gap: 12px; padding: 16px; border: 1px solid var(--area-border); border-radius: 17px; background: var(--area-surface-soft); }
.area-team-grid article[hidden] { display: none; }
.area-team-grid img,
.area-team-avatar { grid-row: 1 / span 2; width: 52px; height: 52px; border-radius: 15px; object-fit: cover; }
.area-team-avatar { display: grid; place-items: center; background: var(--area-primary-soft); color: var(--area-primary); font-size: 19px; font-weight: 900; }
.area-team-grid strong,
.area-team-grid small,
.area-team-grid b { display: block; }
.area-team-grid small { margin-top: 2px; color: var(--area-muted); }
.area-team-grid b { width: max-content; margin-top: 7px; padding: 4px 7px; border-radius: 999px; background: var(--area-primary-soft); color: var(--area-primary); font-size: 9px; text-transform: uppercase; }
.area-team-grid nav { grid-column: 1 / -1; display: flex; gap: 8px; }
.area-team-grid nav a { flex: 1; padding: 8px; border: 1px solid var(--area-border); border-radius: 10px; color: var(--area-primary); font-size: 11px; font-weight: 800; text-align: center; text-decoration: none; }

.area-simple-records { display: grid; gap: 11px; }
.area-simple-records > article { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, auto); gap: 18px; padding: 18px; border: 1px solid var(--area-border); border-radius: 17px; background: var(--area-surface-soft); }
.area-simple-records h3 { margin: 4px 0; font-size: 18px; }
.area-simple-records p { margin: 0; color: var(--area-muted); }
.area-simple-records small { display: block; margin-top: 7px; color: var(--area-muted); }
.area-simple-records > article > div:first-child > span { color: var(--area-primary); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.area-simple-records form { display: grid; gap: 7px; margin-top: 8px; }
.area-simple-records form button { padding: 8px 10px; border: 0; border-radius: 9px; background: var(--area-primary-soft); color: var(--area-primary); font-size: 11px; font-weight: 800; cursor: pointer; }

.area-manager-form { margin: 18px 0; border: 1px solid var(--area-border); border-radius: 18px; background: var(--area-surface-soft); overflow: hidden; }
.area-manager-form summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; cursor: pointer; list-style: none; }
.area-manager-form summary::-webkit-details-marker { display: none; }
.area-manager-form summary strong,
.area-manager-form summary span { display: block; }
.area-manager-form summary span { color: var(--area-muted); font-size: 12px; }
.area-manager-form[open] summary { border-bottom: 1px solid var(--area-border); }
.area-manager-form > form { padding: 22px; }
.area-manager-inline-form { margin: 18px 0; padding: 20px; border: 1px solid var(--area-border); border-radius: 17px; background: var(--area-surface-soft); }
.area-check { display: flex !important; align-items: flex-start; gap: 9px; font-size: 13px; }
.area-choice-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; min-width: 0; margin: 0; padding: 14px; border: 1px solid var(--area-border); border-radius: 14px; }
.area-choice-grid[hidden] { display: none; }
.area-choice-grid legend { padding: 0 7px; color: var(--area-muted); font-size: 12px; font-weight: 800; }
.area-choice-grid label { display: flex !important; align-items: center; gap: 9px; padding: 9px; border-radius: 10px; background: var(--area-surface); cursor: pointer; }
.area-choice-grid label span { min-width: 0; }
.area-choice-grid label small { display: block; overflow: hidden; color: var(--area-muted); text-overflow: ellipsis; white-space: nowrap; }

.area-record-table { overflow-x: auto; margin-top: 18px; border: 1px solid var(--area-border); border-radius: 16px; }
.area-record-row { display: grid; align-items: center; gap: 14px; min-width: 900px; padding: 14px 16px; border-top: 1px solid var(--area-border); background: var(--area-surface); font-size: 12px; }
.area-record-row:first-child { border-top: 0; }
.area-record-head { background: var(--area-surface-soft); color: var(--area-muted); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.area-record-row strong,
.area-record-row small { display: block; }
.area-record-row small { margin-top: 3px; color: var(--area-muted); }
.area-record-row > b { width: max-content; padding: 6px 9px; border-radius: 999px; background: var(--area-primary-soft); color: var(--area-primary); font-size: 10px; }
.area-record-row a { color: var(--area-primary); font-weight: 850; text-decoration: none; }
.area-record-row.is-inactive { opacity: .58; }
.area-scales-table .area-record-row { grid-template-columns: 1.5fr .8fr 1.1fr .6fr .35fr; }
.area-notices-table .area-record-row { grid-template-columns: 1.4fr .7fr 1.1fr .55fr .35fr; }
.area-scale-toolbar { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.area-scale-toolbar form,
.area-record-row form { display: flex; gap: 7px; align-items: center; }
.area-scale-toolbar select,
.area-record-row select { min-height: 38px; padding: 6px 9px; border: 1px solid var(--area-border); border-radius: 9px; background: var(--area-surface); color: var(--area-text); }
.area-scale-toolbar button,
.area-record-row form button { min-height: 38px; padding: 7px 10px; border: 0; border-radius: 9px; background: var(--area-primary); color: #fff; font-weight: 800; cursor: pointer; }

.area-task-board,
.area-request-board,
.area-count-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 18px; }
.area-task-card,
.area-request-card,
.area-count-list > article { padding: 19px; border: 1px solid var(--area-border); border-radius: 18px; background: var(--area-surface-soft); }
.area-task-card-top,
.area-request-head,
.area-count-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.area-task-card-top span,
.area-task-card-top b,
.area-request-head b,
.area-count-head b { padding: 5px 8px; border-radius: 999px; background: var(--area-primary-soft); color: var(--area-primary); font-size: 9px; font-weight: 900; text-transform: uppercase; }
.area-task-card h3,
.area-request-card h3,
.area-count-list h3 { margin: 12px 0 7px; font-size: 19px; }
.area-task-card p,
.area-request-card p { color: var(--area-muted); font-size: 13px; line-height: 1.6; }
.area-task-card > small,
.area-request-card > small { display: block; color: var(--area-muted); font-size: 11px; }
.area-task-progress { display: flex; flex-wrap: wrap; gap: 6px; margin: 13px 0; }
.area-task-progress span { padding: 5px 8px; border-radius: 8px; background: var(--area-surface); color: var(--area-muted); font-size: 10px; }
.area-task-update { display: grid; grid-template-columns: .7fr 1fr auto; gap: 7px; margin-top: 14px; }
.area-task-update select,
.area-task-update input { min-width: 0; min-height: 40px; padding: 8px 10px; border: 1px solid var(--area-border); border-radius: 10px; background: var(--area-surface); color: var(--area-text); }
.area-task-update button { border: 0; border-radius: 10px; background: var(--area-primary); color: #fff; font-weight: 800; cursor: pointer; }
.area-cancel-note,
.area-request-answer { margin-top: 12px; padding: 11px 12px; border-radius: 11px; background: var(--area-surface); color: var(--area-muted); font-size: 12px; }
.area-subsection-title { margin: 26px 0 4px; }
.area-request-head > span { color: var(--area-muted); font-size: 10px; }
.area-request-card > a { display: inline-block; margin-top: 9px; color: var(--area-primary); font-weight: 800; }
.area-request-decision { margin-top: 15px; }
.area-request-decision > div { display: flex; gap: 8px; }
.area-request-decision > div button { min-height: 40px; padding: 8px 12px; border: 0; border-radius: 10px; background: var(--area-primary); color: #fff; font-weight: 800; cursor: pointer; }
.area-request-decision > div .area-link-danger { background: color-mix(in srgb, #dc4c64 10%, transparent); color: #dc4c64; }

.area-month-filter { display: flex; align-items: end; gap: 9px; margin-bottom: 14px; }
.area-month-filter label { display: grid; gap: 5px; color: var(--area-muted); font-size: 11px; font-weight: 850; }
.area-month-filter input { min-height: 42px; padding: 8px 10px; border: 1px solid var(--area-border); border-radius: 10px; background: var(--area-surface); color: var(--area-text); }
.area-month-filter button { min-height: 42px; padding: 8px 14px; border: 0; border-radius: 10px; background: var(--area-primary); color: #fff; font-weight: 800; }
.area-finance-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.area-finance-stats article { display: grid; gap: 8px; min-height: 105px; padding: 17px; border: 1px solid var(--area-border); border-radius: 15px; background: var(--area-surface-soft); }
.area-finance-stats span { color: var(--area-muted); font-size: 11px; }
.area-finance-stats strong { align-self: end; font-size: 21px; }
.area-finance-table .area-record-row { grid-template-columns: 1.4fr .45fr 1fr .55fr .9fr; }
.finance-entrada { color: #07946a !important; background: rgba(7,148,106,.1) !important; }
.finance-saida { color: #dc4c64 !important; background: rgba(220,76,100,.1) !important; }

.area-tithe-editor { grid-column: 1 / -1; padding: 17px; border: 1px solid var(--area-border); border-radius: 15px; background: var(--area-surface); }
.area-tithe-row { display: grid; grid-template-columns: 1.5fr .6fr .7fr 38px; gap: 7px; margin-top: 8px; }
.area-tithe-row select,
.area-tithe-row input { min-width: 0; min-height: 42px; padding: 8px 9px; border: 1px solid var(--area-border); border-radius: 10px; background: var(--area-surface-soft); color: var(--area-text); }
.area-tithe-row button { border: 0; border-radius: 10px; background: rgba(220,76,100,.1); color: #dc4c64; font-size: 20px; cursor: pointer; }
.area-count-total { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.area-count-total span { display: grid; gap: 5px; padding: 14px; border-radius: 13px; background: var(--area-primary-soft); color: var(--area-muted); font-size: 11px; }
.area-count-total strong { color: var(--area-text); font-size: 20px; }
.area-count-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin: 14px 0; }
.area-count-values span { padding: 11px; border-radius: 11px; background: var(--area-surface); color: var(--area-muted); font-size: 10px; }
.area-count-values strong { display: block; margin-top: 3px; color: var(--area-text); font-size: 16px; }
.area-signatures { display: grid; gap: 6px; }
.area-signatures > span { display: flex; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid var(--area-border); border-radius: 10px; color: var(--area-text); font-size: 11px; }
.area-signatures > span.is-signed { border-color: rgba(7,148,106,.3); background: rgba(7,148,106,.07); }
.area-signatures small { color: var(--area-muted); }
.area-count-actions { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 13px; }
.area-count-actions a { color: var(--area-primary); font-size: 12px; font-weight: 800; }
.area-count-actions button { padding: 9px 11px; border: 0; border-radius: 10px; background: var(--area-primary); color: #fff; font-size: 11px; font-weight: 800; cursor: pointer; }
.area-count-details { margin-top: 18px; }
.area-count-details .area-record-row { grid-template-columns: 1fr .6fr 1fr .5fr; min-width: 700px; }

@media (max-width: 980px) {
	.area-mode-grid,
	.area-team-grid,
	.area-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.area-workspace-stats,
	.area-finance-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.area-task-board,
	.area-request-board,
	.area-count-list { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
	.area-acting-banner,
	.area-mode-intro,
	.area-workspace-welcome,
	.area-site-admin-actions,
	.area-inline-admin-form { align-items: stretch; flex-direction: column; }
	.area-site-admin-actions { display: grid; grid-template-columns: 1fr; }
	.area-inline-admin-form { display: grid; }
	.area-mode-grid,
	.area-workspace-columns,
	.area-team-grid,
	.area-choice-grid,
	.area-finance-stats,
	.area-count-total { grid-template-columns: 1fr; }
	.area-workspace-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.area-workspace-stats a { min-height: 115px; padding: 15px; }
	.area-simple-records > article { grid-template-columns: 1fr; }
	.area-task-update { grid-template-columns: 1fr; }
	.area-tithe-row { grid-template-columns: 1fr 1fr; }
	.area-tithe-row select:first-child { grid-column: 1 / -1; }
	.area-workspace-tabs { top: 8px; margin-inline: -8px; }
}

@media (max-width: 430px) {
	.area-workspace-stats { grid-template-columns: 1fr; }
	.area-tithe-row { grid-template-columns: 1fr 42px; }
	.area-tithe-row select:first-child,
	.area-tithe-row input { grid-column: 1 / -1; }
	.area-tithe-row select:not(:first-child) { grid-column: 1; }
}

.igreja-area,
.igreja-area * {
	box-sizing: border-box;
}

.igreja-area {
	--area-primary: #6d28d9;
	--area-accent: #22d3ee;
	--area-bg: #f4f5fb;
	--area-surface: #ffffff;
	--area-surface-soft: #f8f7fc;
	--area-surface-strong: #111326;
	--area-text: #1c1d2d;
	--area-muted: #65677a;
	--area-border: rgba(37, 39, 66, .11);
	--area-primary-soft: color-mix(in srgb, var(--area-primary) 10%, white);
	--area-shadow: 0 20px 60px rgba(33, 27, 70, .10);
	--area-shadow-soft: 0 10px 35px rgba(33, 27, 70, .07);
	--area-radius-xl: 30px;
	--area-radius-lg: 22px;
	--area-radius-md: 16px;
	position: relative;
	min-height: 100vh;
	overflow: clip;
	background: var(--area-bg);
	color: var(--area-text);
	font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.55;
	transition: background .25s ease, color .25s ease;
}

.igreja-area[data-theme="dark"] {
	--area-bg: #090b17;
	--area-surface: #131627;
	--area-surface-soft: #191c30;
	--area-surface-strong: #05060d;
	--area-text: #f3f4fb;
	--area-muted: #a8abc2;
	--area-border: rgba(255, 255, 255, .10);
	--area-primary-soft: color-mix(in srgb, var(--area-primary) 25%, #131627);
	--area-shadow: 0 24px 70px rgba(0, 0, 0, .33);
	--area-shadow-soft: 0 12px 38px rgba(0, 0, 0, .24);
}

.igreja-area a { color: inherit; }
.igreja-area button,
.igreja-area input,
.igreja-area select,
.igreja-area textarea { font: inherit; }
.igreja-area svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.igreja-area h1,
.igreja-area h2,
.igreja-area h3,
.igreja-area p { margin-top: 0; }
.igreja-area h1,
.igreja-area h2,
.igreja-area h3 { color: var(--area-text); letter-spacing: -.035em; }
.igreja-area .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.area-skip-link {
	position: fixed;
	left: 18px;
	top: -80px;
	z-index: 100000;
	padding: 12px 18px;
	border-radius: 12px;
	background: #fff;
	color: #111 !important;
	font-weight: 800;
	transition: top .2s;
}
.area-skip-link:focus { top: 18px; }

.area-ambient { position: fixed; z-index: 0; width: 480px; height: 480px; border-radius: 50%; filter: blur(110px); pointer-events: none; opacity: .12; }
.area-ambient-one { top: -250px; right: -150px; background: var(--area-primary); }
.area-ambient-two { bottom: -300px; left: -180px; background: var(--area-accent); }

.area-container { position: relative; z-index: 1; width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.igreja-area.is-wide .area-container { width: min(1320px, calc(100% - 40px)); }

.area-header {
	position: sticky;
	top: 0;
	z-index: 80;
	border-bottom: 1px solid var(--area-border);
	background: color-mix(in srgb, var(--area-bg) 84%, transparent);
	backdrop-filter: blur(22px) saturate(150%);
}
.area-header-inner { display: flex; align-items: center; min-height: 82px; gap: 26px; }
.area-brand { display: inline-flex; align-items: center; gap: 12px; min-width: 0; text-decoration: none !important; }
.area-brand img,
.area-brand > span { width: 48px; height: 48px; flex: 0 0 48px; border-radius: 15px; object-fit: contain; background: #fff; box-shadow: 0 8px 25px rgba(0, 0, 0, .10); }
.area-brand > span { display: grid; place-items: center; background: linear-gradient(135deg, var(--area-primary), var(--area-accent)); color: #fff; font-weight: 900; }
.area-brand strong { max-width: 290px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--area-text); font-size: 17px; }
.area-navigation { display: flex; align-items: center; justify-content: flex-end; gap: 4px; margin-left: auto; }
.area-navigation a { padding: 10px 13px; border-radius: 12px; color: var(--area-muted); font-size: 14px; font-weight: 720; text-decoration: none !important; transition: .2s ease; }
.area-navigation a:hover { background: var(--area-surface); color: var(--area-text); }
.area-navigation a.is-primary { margin-left: 6px; padding-inline: 18px; background: var(--area-primary); color: #fff; box-shadow: 0 10px 24px color-mix(in srgb, var(--area-primary) 28%, transparent); }
.area-theme-toggle,
.area-menu-toggle { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; height: 44px; padding: 0; border: 1px solid var(--area-border); border-radius: 14px; background: var(--area-surface); color: var(--area-text); cursor: pointer; }
.area-theme-toggle { gap: 2px; font-size: 16px; }
.area-theme-toggle span:last-child { display: none; }
[data-theme="dark"] .area-theme-toggle span:first-child { display: none; }
[data-theme="dark"] .area-theme-toggle span:last-child { display: inline; }
.area-menu-toggle { display: none; flex-direction: column; gap: 4px; margin-left: auto; }
.area-menu-toggle > span { width: 19px; height: 2px; border-radius: 4px; background: currentColor; }

.area-main { position: relative; z-index: 1; min-height: calc(100vh - 160px); padding: 58px 0 90px; }
.area-page-heading { max-width: 830px; margin-bottom: 34px; }
.area-page-heading h1 { margin: 10px 0 12px; font-size: clamp(36px, 5vw, 64px); line-height: 1.02; }
.area-page-heading > p { max-width: 720px; margin-bottom: 0; color: var(--area-muted); font-size: clamp(17px, 2vw, 20px); }
.area-eyebrow { display: inline-flex; align-items: center; gap: 9px; color: var(--area-primary); font-size: 13px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.area-eyebrow i { width: 22px; height: 3px; border-radius: 9px; background: linear-gradient(90deg, var(--area-primary), var(--area-accent)); }

.area-footer { position: relative; z-index: 1; border-top: 1px solid var(--area-border); background: var(--area-surface); }
.area-footer .area-container { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 94px; }
.area-footer p { margin: 0; color: var(--area-muted); font-size: 14px; }
.area-footer nav { display: flex; gap: 20px; }
.area-footer nav a { color: var(--area-muted); font-size: 14px; font-weight: 700; text-decoration: none; }

.area-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 21px; border: 1px solid transparent; border-radius: 14px; font-weight: 800; text-align: center; text-decoration: none !important; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.area-button:hover { transform: translateY(-2px); }
.area-button-primary { border-color: var(--area-primary); background: linear-gradient(135deg, var(--area-primary), color-mix(in srgb, var(--area-primary) 70%, var(--area-accent))); color: #fff !important; box-shadow: 0 13px 30px color-mix(in srgb, var(--area-primary) 25%, transparent); }
.area-button-secondary { border-color: var(--area-border); background: var(--area-surface); color: var(--area-text) !important; }
.area-button-light { border-color: rgba(255,255,255,.5); background: #fff; color: #15162a !important; }
.area-button-ghost-light { border-color: rgba(255,255,255,.32); background: rgba(255,255,255,.08); color: #fff !important; }
.area-button-full { width: 100%; }
.area-button svg { width: 18px; height: 18px; }
.area-button-stack { display: grid; gap: 10px; }

.area-glass-card,
.area-form-card,
.area-form-section,
.area-dashboard-section,
.area-profile-summary {
	border: 1px solid var(--area-border);
	border-radius: var(--area-radius-lg);
	background: var(--area-surface);
	box-shadow: var(--area-shadow-soft);
}
.area-form-card { padding: clamp(24px, 4vw, 42px); }
.area-card-heading { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.area-card-heading > span { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 15px; background: var(--area-primary-soft); color: var(--area-primary); }
.area-card-heading h2 { margin: 0 0 3px; font-size: 25px; }
.area-card-heading p { margin: 0; color: var(--area-muted); font-size: 14px; }

.area-access-layout { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(360px, .82fr); align-items: stretch; gap: 24px; }
.area-access-intro { position: relative; overflow: hidden; padding: clamp(30px, 5vw, 58px); background: linear-gradient(145deg, var(--area-surface-strong), color-mix(in srgb, var(--area-primary) 45%, #0c1020)); color: #fff; }
.area-access-intro::after { content: ""; position: absolute; right: -80px; bottom: -110px; width: 300px; height: 300px; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.035), 0 0 0 90px rgba(255,255,255,.02); }
.area-access-intro h2 { position: relative; z-index: 1; max-width: 560px; margin: 25px 0 15px; color: #fff; font-size: clamp(30px, 4vw, 48px); line-height: 1.06; }
.area-access-intro > p { position: relative; z-index: 1; max-width: 580px; color: rgba(255,255,255,.75); font-size: 17px; }
.area-orb-icon { display: grid; place-items: center; width: 60px; height: 60px; border: 1px solid rgba(255,255,255,.22); border-radius: 20px; background: rgba(255,255,255,.10); color: #fff; backdrop-filter: blur(12px); }
.area-orb-icon svg { width: 28px; height: 28px; }
.area-feature-list { position: relative; z-index: 1; display: grid; gap: 12px; margin-top: 34px; }
.area-feature-list > div { display: flex; gap: 13px; padding: 15px; border: 1px solid rgba(255,255,255,.10); border-radius: 16px; background: rgba(255,255,255,.06); }
.area-feature-list > div > svg { flex: 0 0 22px; color: var(--area-accent); }
.area-feature-list strong,
.area-feature-list small { display: block; }
.area-feature-list small { margin-top: 3px; color: rgba(255,255,255,.65); }

.area-form { display: grid; gap: 18px; }
.area-form label:not(.area-check) { display: grid; gap: 7px; color: var(--area-text); font-size: 14px; font-weight: 750; }
.area-form input:not([type="checkbox"]):not([type="radio"]),
.area-form select,
.area-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	border: 1px solid var(--area-border);
	border-radius: 13px;
	outline: none;
	background: var(--area-surface-soft);
	color: var(--area-text);
	font-size: 16px;
	transition: border-color .18s, box-shadow .18s, background .18s;
}
.area-form textarea { min-height: 120px; resize: vertical; }
.area-form input:focus,
.area-form select:focus,
.area-form textarea:focus { border-color: var(--area-primary); background: var(--area-surface); box-shadow: 0 0 0 4px color-mix(in srgb, var(--area-primary) 14%, transparent); }
.area-form label small { color: var(--area-muted); font-size: 12px; font-weight: 500; }
.area-input-wrap { position: relative; display: flex; align-items: center; }
.area-input-wrap > svg { position: absolute; left: 14px; width: 19px; color: var(--area-muted); pointer-events: none; }
.area-input-wrap > svg + input { padding-left: 43px !important; }
.area-password-toggle { position: absolute; right: 8px; min-height: 36px; padding: 6px 10px; border: 0; border-radius: 9px; background: var(--area-surface); color: var(--area-primary); font-size: 12px; font-weight: 800; cursor: pointer; }
.area-check { display: flex; align-items: flex-start; gap: 10px; color: var(--area-muted); font-size: 14px; cursor: pointer; }
.area-check input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--area-primary); }
.area-form-links { display: flex; justify-content: space-between; gap: 16px; margin-top: 20px; }
.area-form-links a { color: var(--area-primary); font-size: 14px; font-weight: 750; }
.area-privacy-note,
.area-compliance-note { display: flex; align-items: flex-start; gap: 8px; margin: 20px 0 0; color: var(--area-muted); font-size: 12px; }
.area-privacy-note svg { flex: 0 0 17px; width: 17px; height: 17px; }
.area-connected-card { display: flex; gap: 12px; align-items: center; margin-bottom: 20px; padding: 16px; border-radius: 15px; background: rgba(16, 185, 129, .10); color: #087a55; }
.area-connected-card > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: rgba(16,185,129,.14); }
.area-connected-card strong,
.area-connected-card small { display: block; }
.area-connected-card small { margin-top: 2px; opacity: .8; }

.area-alert { margin-bottom: 22px; padding: 16px 18px; border: 1px solid var(--area-border); border-left: 5px solid var(--area-primary); border-radius: 13px; background: var(--area-surface); color: var(--area-text); box-shadow: var(--area-shadow-soft); }
.area-alert.is-success { border-left-color: #10b981; background: color-mix(in srgb, #10b981 8%, var(--area-surface)); }
.area-alert.is-error { border-left-color: #ef4444; background: color-mix(in srgb, #ef4444 8%, var(--area-surface)); }
.area-alert.is-warning { border-left-color: #f59e0b; background: color-mix(in srgb, #f59e0b 8%, var(--area-surface)); }
.area-alert a { color: var(--area-primary); font-weight: 800; }
.area-protocol { display: flex; align-items: center; gap: 10px; margin: 13px 0; padding: 12px 14px; border-radius: 11px; background: var(--area-surface); }
.area-protocol span { color: var(--area-muted); font-size: 12px; }
.area-protocol strong { font-size: 18px; letter-spacing: .04em; }
.area-protocol button { margin-left: auto; border: 0; background: transparent; color: var(--area-primary); font-weight: 800; cursor: pointer; }

.area-form-sections { gap: 22px; }
.area-form-section { position: relative; display: grid; grid-template-columns: 62px 1fr; gap: 18px; padding: clamp(24px, 4vw, 38px); }
.area-section-number { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 17px; background: var(--area-primary-soft); color: var(--area-primary); font-size: 14px; font-weight: 900; }
.area-form-section-heading { margin-bottom: 21px; }
.area-form-section-heading h2 { margin: 0 0 4px; font-size: 26px; }
.area-form-section-heading p { margin: 0; color: var(--area-muted); }
.area-form-section > .area-form-grid { grid-column: 2; }
.area-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.area-form-grid .is-wide { grid-column: 1 / -1; }
.area-honeypot { position: absolute !important; left: -99999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.area-submit-bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 24px; border: 1px solid var(--area-border); border-radius: 18px; background: var(--area-surface-strong); color: #fff; }
.area-submit-bar > div { display: flex; align-items: center; gap: 12px; }
.area-submit-bar > div > svg { color: var(--area-accent); }
.area-submit-bar strong,
.area-submit-bar small { display: block; }
.area-submit-bar small { color: rgba(255,255,255,.65); }
.area-form-divider { position: relative; margin: 10px 0 0; text-align: center; }
.area-form-divider::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--area-border); }
.area-form-divider span { position: relative; padding: 0 12px; background: var(--area-surface); color: var(--area-muted); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.area-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 6px; }

.area-visit-layout,
.area-password-layout,
.area-feedback-layout { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.35fr); gap: 24px; align-items: start; }
.area-support-card { position: sticky; top: 108px; overflow: hidden; padding: clamp(28px, 4vw, 42px); border-radius: var(--area-radius-lg); background: linear-gradient(150deg, #111326, color-mix(in srgb, var(--area-primary) 48%, #111326)); color: #fff; box-shadow: var(--area-shadow); }
.area-support-card h2 { margin: 24px 0 12px; color: #fff; font-size: 31px; line-height: 1.1; }
.area-support-card p { color: rgba(255,255,255,.72); }
.area-support-card ul { display: grid; gap: 12px; margin: 25px 0; padding: 0; list-style: none; }
.area-support-card li { display: flex; gap: 9px; align-items: flex-start; color: rgba(255,255,255,.88); }
.area-support-card li svg { flex: 0 0 18px; width: 18px; color: var(--area-accent); }
.area-support-card > a { color: #fff; font-weight: 800; }

.area-track-layout { display: grid; grid-template-columns: minmax(340px, .7fr) minmax(0, 1.15fr); gap: 24px; align-items: start; }
.area-track-result { min-height: 420px; }
.area-state-visual { display: grid; place-items: center; min-height: 420px; padding: 40px; border: 1px dashed var(--area-border); border-radius: var(--area-radius-lg); background: var(--area-surface-soft); text-align: center; }
.area-state-visual > svg { width: 52px; height: 52px; color: var(--area-primary); }
.area-state-visual h2 { margin: 18px 0 7px; }
.area-state-visual p { max-width: 430px; margin: 0; color: var(--area-muted); }
.area-request-card { padding: clamp(25px, 4vw, 40px); border: 1px solid var(--area-border); border-radius: var(--area-radius-lg); background: var(--area-surface); box-shadow: var(--area-shadow-soft); }
.area-request-head { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3px 14px; }
.area-request-head > span { color: var(--area-muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.area-request-head > strong { grid-column: 1; font-size: 20px; }
.area-request-head > b { grid-column: 2; grid-row: 1 / span 2; }
.area-progress-steps { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; margin: 34px 0; }
.area-progress-steps::before { content: ""; position: absolute; left: 11%; right: 11%; top: 17px; height: 2px; background: var(--area-border); }
.area-progress-steps span { position: relative; z-index: 1; display: grid; justify-items: center; gap: 7px; color: var(--area-muted); font-size: 11px; text-align: center; }
.area-progress-steps i { display: grid; place-items: center; width: 35px; height: 35px; border: 2px solid var(--area-border); border-radius: 50%; background: var(--area-surface); font-style: normal; font-weight: 850; }
.area-progress-steps .is-complete { color: var(--area-primary); }
.area-progress-steps .is-complete i { border-color: var(--area-primary); background: var(--area-primary); color: #fff; }
.area-progress-steps i svg { width: 16px; height: 16px; }
.area-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; overflow: hidden; margin: 0; border: 1px solid var(--area-border); border-radius: 15px; background: var(--area-border); }
.area-detail-list > div { padding: 15px; background: var(--area-surface-soft); }
.area-detail-list .is-wide { grid-column: 1 / -1; }
.area-detail-list dt { color: var(--area-muted); font-size: 12px; }
.area-detail-list dd { margin: 4px 0 0; color: var(--area-text); font-weight: 750; }

.area-member-nav { position: sticky; top: 94px; z-index: 55; display: flex; gap: 7px; overflow-x: auto; margin: 0 0 28px; padding: 8px; border: 1px solid var(--area-border); border-radius: 18px; background: color-mix(in srgb, var(--area-surface) 92%, transparent); box-shadow: var(--area-shadow-soft); backdrop-filter: blur(18px); scrollbar-width: none; }
.area-member-nav::-webkit-scrollbar { display: none; }
.area-member-nav a { display: inline-flex; align-items: center; gap: 7px; flex: 0 0 auto; min-height: 43px; padding: 9px 13px; border-radius: 12px; color: var(--area-muted); font-size: 13px; font-weight: 800; text-decoration: none; }
.area-member-nav a:hover { background: var(--area-primary-soft); color: var(--area-primary); }
.area-member-nav svg { width: 17px; height: 17px; }

.area-member-hero,
.area-ministry-hero { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: clamp(26px, 4vw, 42px); border-radius: var(--area-radius-xl); background: linear-gradient(135deg, #111326, color-mix(in srgb, var(--area-primary) 60%, #17142c)); color: #fff; box-shadow: var(--area-shadow); }
.area-member-hero::after,
.area-ministry-hero::after { content: ""; position: absolute; right: -120px; top: -160px; width: 360px; height: 360px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.025), 0 0 0 90px rgba(255,255,255,.018); }
.area-profile-identity { position: relative; z-index: 1; display: flex; align-items: center; gap: 19px; }
.area-profile-identity > img,
.area-profile-identity > span { width: 86px; height: 86px; flex: 0 0 86px; border: 4px solid rgba(255,255,255,.18); border-radius: 26px; object-fit: cover; background: rgba(255,255,255,.10); }
.area-profile-identity > span { display: grid; place-items: center; color: #fff; font-size: 25px; font-weight: 900; }
.area-profile-identity h2 { margin: 8px 0 4px; color: #fff; font-size: clamp(27px, 4vw, 40px); }
.area-profile-identity p { margin: 0; color: rgba(255,255,255,.70); }
.area-online-pill { display: inline-flex; align-items: center; gap: 6px; color: #a7f3d0; font-size: 12px; font-weight: 800; }
.area-online-pill i { width: 8px; height: 8px; border-radius: 50%; background: #34d399; box-shadow: 0 0 0 5px rgba(52,211,153,.12); }
.area-member-hero-actions { position: relative; z-index: 1; display: flex; gap: 9px; }

.area-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 22px 0; }
.area-stat-grid a { display: flex; align-items: center; gap: 14px; min-width: 0; padding: 20px; border: 1px solid var(--area-border); border-radius: 19px; background: var(--area-surface); box-shadow: var(--area-shadow-soft); text-decoration: none; }
.area-stat-grid a > span { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 14px; background: var(--area-primary-soft); color: var(--area-primary); }
.area-stat-grid strong,
.area-stat-grid small { display: block; }
.area-stat-grid strong { font-size: 26px; line-height: 1; }
.area-stat-grid small { margin-top: 5px; overflow: hidden; color: var(--area-muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }

.area-dashboard-section { margin-top: 22px; padding: clamp(22px, 3vw, 34px); }
.area-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 22px; }
.area-section-heading span { color: var(--area-primary); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.area-section-heading h2 { margin: 3px 0 0; font-size: clamp(24px, 3vw, 32px); }
.area-section-heading > p { max-width: 470px; margin: 0; color: var(--area-muted); font-size: 14px; text-align: right; }
.area-section-heading > a { display: inline-flex; align-items: center; gap: 7px; color: var(--area-primary); font-size: 13px; font-weight: 800; text-decoration: none; }
.area-section-heading > a svg { width: 16px; height: 16px; }
.area-quick-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.area-quick-grid > a,
.area-ministry-grid > a { display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid var(--area-border); border-radius: 16px; background: var(--area-surface-soft); text-decoration: none; transition: transform .18s, border-color .18s, background .18s; }
.area-quick-grid > a:hover,
.area-ministry-grid > a:hover { transform: translateY(-2px); border-color: color-mix(in srgb, var(--area-primary) 50%, var(--area-border)); background: var(--area-primary-soft); }
.area-quick-grid > a > svg:first-child,
.area-ministry-grid > a > span { display: grid; place-items: center; flex: 0 0 43px; width: 43px; height: 43px; border-radius: 13px; background: var(--area-primary-soft); color: var(--area-primary); }
.area-quick-grid > a > span,
.area-ministry-grid > a > div { min-width: 0; flex: 1; }
.area-quick-grid strong,
.area-quick-grid small,
.area-ministry-grid strong,
.area-ministry-grid small { display: block; }
.area-quick-grid small,
.area-ministry-grid small { margin-top: 2px; color: var(--area-muted); font-size: 12px; }
.area-quick-grid > a > svg:last-child,
.area-ministry-grid > a > svg { flex: 0 0 17px; width: 17px; color: var(--area-muted); }

.area-item-list { display: grid; gap: 12px; }
.area-list-card,
.area-task-card { display: grid; grid-template-columns: 58px minmax(0, 1fr) minmax(220px, .55fr); align-items: center; gap: 17px; padding: 16px; border: 1px solid var(--area-border); border-radius: 17px; background: var(--area-surface-soft); }
.area-list-card.is-past { opacity: .68; }
.area-date-tile { display: grid; place-items: center; width: 58px; height: 64px; border-radius: 15px; background: var(--area-primary-soft); color: var(--area-primary); }
.area-date-tile strong { font-size: 24px; line-height: 1; }
.area-date-tile span { font-size: 10px; font-weight: 900; text-transform: uppercase; }
.area-list-copy { min-width: 0; }
.area-list-copy > span { color: var(--area-primary); font-size: 11px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.area-list-copy h3 { margin: 3px 0; font-size: 18px; }
.area-list-copy p { margin: 0; color: var(--area-muted); font-size: 13px; }
.area-list-copy small { display: block; margin-top: 5px; color: var(--area-muted); }
.area-list-response { justify-self: stretch; }
.area-list-response > b,
.area-request-head > b { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: var(--area-primary-soft); color: var(--area-primary); font-size: 10px; text-transform: uppercase; }
.area-list-response form { display: grid; gap: 7px; margin-top: 8px; }
.area-list-response form input,
.area-inline-response input { width: 100%; min-height: 36px; padding: 8px 10px; border: 1px solid var(--area-border); border-radius: 9px; background: var(--area-surface); color: var(--area-text); font-size: 12px; }
.area-list-response form div,
.area-inline-response div { display: flex; flex-wrap: wrap; gap: 5px; }
.area-list-response button,
.area-inline-response button { min-height: 32px; padding: 6px 9px; border: 1px solid var(--area-border); border-radius: 8px; background: var(--area-surface); color: var(--area-text); font-size: 10px; font-weight: 850; cursor: pointer; }
.area-list-response button:first-of-type,
.area-inline-response button:nth-of-type(2) { border-color: var(--area-primary); background: var(--area-primary); color: #fff; }
.status-confirmado,
.status-concluido,
.status-aprovado,
.status-agendada,
.status-realizada,
.status-encerrada { background: rgba(16,185,129,.12) !important; color: #07875c !important; }
.status-indisponivel,
.status-nao_participara,
.status-recusado,
.status-cancelada { background: rgba(239,68,68,.11) !important; color: #d52c3f !important; }

.area-notice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; }
.area-notice-card { position: relative; padding: 21px; border: 1px solid var(--area-border); border-left: 4px solid var(--area-primary); border-radius: 17px; background: var(--area-surface-soft); }
.area-notice-card.importance-importante { border-left-color: #f59e0b; }
.area-notice-card.importance-urgente { border-left-color: #ef4444; }
.area-notice-card.is-unread::after { content: ""; position: absolute; right: 16px; top: 16px; width: 9px; height: 9px; border-radius: 50%; background: var(--area-primary); box-shadow: 0 0 0 5px var(--area-primary-soft); }
.area-notice-top { display: flex; justify-content: space-between; gap: 10px; color: var(--area-muted); font-size: 10px; text-transform: uppercase; letter-spacing: .07em; }
.area-notice-top span { font-weight: 900; }
.area-notice-card h3 { margin: 8px 0; font-size: 19px; }
.area-notice-card > p { color: var(--area-muted); font-size: 13px; white-space: normal; }
.area-notice-date { display: flex; align-items: center; gap: 7px; margin: 13px 0; color: var(--area-primary); font-size: 12px; font-weight: 750; }
.area-notice-date svg { width: 16px; height: 16px; }
.area-inline-response { display: grid; gap: 7px; padding-top: 13px; border-top: 1px solid var(--area-border); }

.area-task-card { grid-template-columns: 55px minmax(0, 1fr) minmax(220px, .55fr); }
.area-task-status { display: grid; justify-items: center; gap: 4px; color: var(--area-primary); font-size: 8px; font-weight: 900; text-align: center; text-transform: uppercase; }
.area-task-status svg { width: 32px; height: 32px; padding: 7px; border-radius: 11px; background: var(--area-primary-soft); }
.area-ministry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.area-empty { display: flex; align-items: center; gap: 15px; padding: 24px; border: 1px dashed var(--area-border); border-radius: 17px; background: var(--area-surface-soft); }
.area-empty > span { display: grid; place-items: center; flex: 0 0 50px; width: 50px; height: 50px; border-radius: 15px; background: var(--area-primary-soft); color: var(--area-primary); }
.area-empty h3 { margin: 0 0 4px; }
.area-empty p { margin: 0; color: var(--area-muted); }

.area-profile-layout { display: grid; grid-template-columns: minmax(250px, .58fr) minmax(0, 1.42fr); align-items: start; gap: 24px; }
.area-profile-summary { position: sticky; top: 170px; padding: 28px; text-align: center; }
.area-profile-summary > img,
.area-profile-fallback { width: 132px; height: 132px; margin: 0 auto 18px; border: 5px solid var(--area-primary-soft); border-radius: 38px; object-fit: cover; }
.area-profile-fallback { display: grid; place-items: center; background: var(--area-primary-soft); color: var(--area-primary); font-size: 34px; font-weight: 900; }
.area-profile-summary h2 { margin-bottom: 5px; font-size: 24px; }
.area-profile-summary > p { color: var(--area-muted); }
.area-profile-badges { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.area-profile-badges span { padding: 6px 9px; border-radius: 999px; background: var(--area-primary-soft); color: var(--area-primary); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.area-profile-summary dl { display: grid; gap: 1px; overflow: hidden; margin: 22px 0 0; border-radius: 13px; background: var(--area-border); text-align: left; }
.area-profile-summary dl div { padding: 12px; background: var(--area-surface-soft); }
.area-profile-summary dt { color: var(--area-muted); font-size: 11px; }
.area-profile-summary dd { margin: 2px 0 0; font-weight: 700; }

.area-ministry-tabs { display: flex; gap: 10px; overflow-x: auto; margin-bottom: 20px; padding: 2px 1px 10px; scrollbar-width: thin; }
.area-ministry-tabs a { display: grid; grid-template-columns: 40px auto; column-gap: 10px; flex: 0 0 auto; min-width: 210px; padding: 14px; border: 1px solid var(--area-border); border-radius: 16px; background: var(--area-surface); text-decoration: none; }
.area-ministry-tabs a > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--area-primary-soft); color: var(--area-primary); }
.area-ministry-tabs strong { align-self: end; }
.area-ministry-tabs small { color: var(--area-muted); }
.area-ministry-tabs a.is-active { border-color: var(--area-primary); box-shadow: 0 0 0 3px var(--area-primary-soft); }
.area-ministry-hero { align-items: flex-end; }
.area-ministry-hero h2 { position: relative; z-index: 1; margin: 8px 0; color: #fff; font-size: clamp(31px, 4vw, 48px); }
.area-ministry-hero p { position: relative; z-index: 1; max-width: 720px; margin-bottom: 15px; color: rgba(255,255,255,.72); }
.area-ministry-meta { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 13px; }
.area-ministry-meta span,
.area-ministry-meta a { display: inline-flex; align-items: center; gap: 7px; color: rgba(255,255,255,.83); font-size: 13px; text-decoration: none; }
.area-ministry-meta svg { width: 16px; height: 16px; }

.area-state-card { display: flex; align-items: center; gap: 24px; padding: clamp(28px, 5vw, 55px); border: 1px solid var(--area-border); border-radius: var(--area-radius-xl); background: var(--area-surface); box-shadow: var(--area-shadow); }
.area-state-card > svg { flex: 0 0 76px; width: 76px; height: 76px; padding: 20px; border-radius: 24px; background: var(--area-primary-soft); color: var(--area-primary); }
.area-state-card h2 { margin-bottom: 7px; font-size: 30px; }
.area-state-card p { color: var(--area-muted); }

.area-validation-card { max-width: 720px; margin-inline: auto; padding: clamp(28px, 6vw, 56px); border: 1px solid var(--area-border); border-radius: var(--area-radius-xl); background: var(--area-surface); box-shadow: var(--area-shadow); text-align: center; }
.area-validation-seal,
.area-validation-card.is-invalid > svg { display: grid; place-items: center; width: 82px; height: 82px; margin: 0 auto 20px; padding: 20px; border-radius: 50%; background: rgba(16,185,129,.12); color: #0a9a68; }
.area-validation-card.is-invalid > svg { background: rgba(239,68,68,.11); color: #dc3549; }
.area-validation-card > span { color: #0a9a68; font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.area-validation-card.is-inactive > span,
.area-validation-card.is-invalid > span { color: #dc3549; }
.area-validation-card h2 { margin: 9px 0 5px; font-size: clamp(29px, 5vw, 45px); }
.area-member-code { color: var(--area-muted); }
.area-validation-ministries { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--area-border); text-align: left; }
.area-validation-ministries h3 { font-size: 17px; }
.area-validation-ministries > div { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
.area-validation-ministries > div > span { padding: 12px; border-radius: 12px; background: var(--area-surface-soft); }
.area-validation-ministries strong,
.area-validation-ministries small { display: block; }
.area-validation-ministries small { margin-top: 2px; color: var(--area-muted); }

.area-star-rating { margin: 0; padding: 20px; border: 1px solid var(--area-border); border-radius: 16px; background: var(--area-surface-soft); text-align: center; }
.area-star-rating legend { width: 100%; padding: 0 0 8px; color: var(--area-text); font-weight: 800; }
.area-star-rating > div { display: inline-flex; flex-direction: row-reverse; justify-content: center; gap: 4px; }
.area-star-rating input { position: absolute; opacity: 0; pointer-events: none; }
.area-star-rating label { color: color-mix(in srgb, var(--area-muted) 35%, transparent); cursor: pointer; transition: transform .15s, color .15s; }
.area-star-rating label svg { width: 38px; height: 38px; fill: currentColor; stroke-width: 1.4; }
.area-star-rating label:hover,
.area-star-rating label:hover ~ label,
.area-star-rating input:checked ~ label { color: #f7b928; transform: translateY(-2px); }
.area-star-rating input:focus-visible + label { outline: 3px solid var(--area-primary); outline-offset: 3px; border-radius: 7px; }
.area-star-rating output { display: block; min-height: 20px; margin-top: 7px; color: var(--area-muted); font-size: 12px; font-weight: 750; }
.area-feedback-success { max-width: 850px; margin-inline: auto; padding: clamp(30px, 6vw, 60px); border: 1px solid var(--area-border); border-radius: var(--area-radius-xl); background: var(--area-surface); box-shadow: var(--area-shadow); text-align: center; }
.area-feedback-success > span { display: grid; place-items: center; width: 80px; height: 80px; margin: 0 auto 20px; border-radius: 50%; background: rgba(16,185,129,.12); color: #08966a; }
.area-feedback-success > span svg { width: 38px; height: 38px; }
.area-feedback-success h2 { font-size: 36px; }
.area-feedback-success > p { color: var(--area-muted); }
.area-google-review { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 30px 0 15px; padding: 20px; border: 1px solid var(--area-border); border-radius: 18px; background: var(--area-surface-soft); text-align: left; }
.area-google-review > div { display: flex; align-items: center; gap: 13px; }
.area-google-review > div > svg { flex: 0 0 36px; width: 36px; height: 36px; color: #f7b928; fill: currentColor; }
.area-google-review strong,
.area-google-review small { display: block; }
.area-google-review small { margin-top: 3px; color: var(--area-muted); }

[data-reveal] { opacity: 0; transform: translateY(16px); transition: opacity .55s ease, transform .55s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	[data-reveal] { opacity: 1; transform: none; transition: none; }
	.area-button,
	.area-quick-grid > a,
	.area-ministry-grid > a { transition: none; }
}

@media (max-width: 1050px) {
	.area-navigation a:not(.is-primary) { display: none; }
	.area-access-layout,
	.area-visit-layout,
	.area-password-layout,
	.area-feedback-layout,
	.area-track-layout,
	.area-profile-layout { grid-template-columns: 1fr; }
	.area-support-card,
	.area-profile-summary { position: static; }
	.area-access-intro { min-height: 420px; }
	.area-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.area-ministry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.area-container,
	.igreja-area.is-wide .area-container { width: min(100% - 24px, 1320px); }
	.area-header-inner { min-height: 70px; gap: 8px; }
	.area-brand img,
	.area-brand > span { width: 42px; height: 42px; flex-basis: 42px; border-radius: 13px; }
	.area-brand strong { max-width: 175px; font-size: 14px; }
	.area-menu-toggle { display: flex; }
	.area-navigation { position: absolute; left: 12px; right: 12px; top: calc(100% + 8px); display: none; padding: 10px; border: 1px solid var(--area-border); border-radius: 16px; background: var(--area-surface); box-shadow: var(--area-shadow); }
	.area-navigation.is-open { display: grid; }
	.area-navigation a,
	.area-navigation a:not(.is-primary) { display: block; margin: 0; padding: 12px 14px; }
	.area-main { padding: 38px 0 65px; }
	.area-page-heading { margin-bottom: 25px; }
	.area-page-heading h1 { font-size: clamp(34px, 11vw, 48px); }
	.area-page-heading > p { font-size: 16px; }
	.area-footer .area-container { display: grid; justify-items: center; padding-block: 25px; text-align: center; }
	.area-member-nav { top: 78px; margin-inline: -4px; }
	.area-member-nav a { min-height: 50px; padding-inline: 14px; }
	.area-member-hero,
	.area-ministry-hero { align-items: flex-start; flex-direction: column; }
	.area-profile-identity { align-items: flex-start; }
	.area-profile-identity > img,
	.area-profile-identity > span { width: 70px; height: 70px; flex-basis: 70px; border-radius: 21px; }
	.area-member-hero-actions { width: 100%; flex-wrap: wrap; }
	.area-member-hero-actions .area-button { flex: 1; }
	.area-section-heading { align-items: flex-start; flex-direction: column; gap: 7px; }
	.area-section-heading > p { text-align: left; }
	.area-form-section { grid-template-columns: 1fr; }
	.area-form-section > .area-form-grid { grid-column: 1; }
	.area-form-grid,
	.area-quick-grid,
	.area-notice-grid,
	.area-ministry-grid { grid-template-columns: 1fr; }
	.area-form-grid .is-wide { grid-column: auto; }
	.area-submit-bar,
	.area-google-review { align-items: stretch; flex-direction: column; }
	.area-list-card,
	.area-task-card { grid-template-columns: 54px minmax(0, 1fr); align-items: start; }
	.area-list-response { grid-column: 1 / -1; justify-self: stretch; padding-top: 11px; border-top: 1px solid var(--area-border); }
	.area-list-response form div,
	.area-inline-response div { display: grid; grid-template-columns: repeat(3, 1fr); }
	.area-list-response button,
	.area-inline-response button { min-height: 39px; }
	.area-state-card { align-items: flex-start; flex-direction: column; }
	.area-validation-ministries > div { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
	.area-theme-toggle { flex-basis: 40px; width: 40px; height: 40px; }
	.area-brand strong { max-width: 130px; }
	.area-access-intro,
	.area-form-card,
	.area-form-section,
	.area-dashboard-section,
	.area-profile-summary { border-radius: 19px; }
	.area-access-intro { min-height: 380px; padding: 27px 22px; }
	.area-access-intro h2 { font-size: 32px; }
	.area-feature-list > div { padding: 12px; }
	.area-stat-grid { gap: 9px; }
	.area-stat-grid a { align-items: flex-start; flex-direction: column; padding: 15px; }
	.area-stat-grid small { white-space: normal; }
	.area-profile-identity { width: 100%; }
	.area-profile-identity h2 { font-size: 25px; }
	.area-form-links { align-items: flex-start; flex-direction: column; }
	.area-form-actions { align-items: stretch; flex-direction: column-reverse; }
	.area-form-actions .area-button { width: 100%; }
	.area-progress-steps b { font-size: 9px; }
	.area-detail-list { grid-template-columns: 1fr; }
	.area-detail-list .is-wide { grid-column: auto; }
	.area-protocol { align-items: flex-start; flex-direction: column; }
	.area-protocol button { margin-left: 0; padding: 0; }
	.area-list-response form div,
	.area-inline-response div { grid-template-columns: 1fr; }
	.area-footer nav { flex-direction: column; gap: 8px; }
}

/* Mantém os cartões operacionais isolados dos cartões da área pessoal. */
[data-mode-ministry][hidden] { display: none !important; }
.area-task-board .area-task-card {
	display: block;
	grid-template-columns: none;
	align-items: initial;
	gap: initial;
	padding: 19px;
}
.area-request-board .area-request-card {
	padding: 19px;
	background: var(--area-surface-soft);
	box-shadow: none;
}
