/**
 * Panel ERL — spójny z kalkulatorem (granat #002b3d, musztarda #d6ae5e).
 * Style z !important tam, gdzie motyw WP nadpisuje przyciski.
 */

.erl-portal-root {
	max-width: min(94vw, 54rem);
	margin: 1.5rem auto 2.5rem;
	padding-inline: var(--erl-content-pad-x);
	color: var(--erl-text);
	font-family: var(--erl-font);
	font-size: var(--erl-type-body);
	line-height: var(--erl-leading);
	box-sizing: border-box;
}

.erl-portal-root *,
.erl-portal-root *::before,
.erl-portal-root *::after {
	box-sizing: border-box;
}

/* ── Nagłówek ── */
.erl-portal-title {
	margin: 0 0 0.35rem;
	font-size: var(--erl-type-page);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--erl-navy);
	line-height: 1.2;
}

.erl-portal-lead {
	margin: 0 0 1.25rem;
	font-size: var(--erl-type-body);
	color: var(--erl-text-muted);
}

/* ── Przyciski (niezależne od motywu WP) ── */
.erl-portal-root .erl-portal-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0.65rem 1.25rem;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: var(--erl-gold) !important;
	color: var(--erl-navy) !important;
	font-family: inherit !important;
	font-size: var(--erl-type-body) !important;
	font-weight: 650 !important;
	letter-spacing: 0.08em !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.erl-portal-root .erl-portal-btn:hover,
.erl-portal-root .erl-portal-btn:focus {
	background: var(--erl-gold-hover) !important;
	color: var(--erl-navy) !important;
	opacity: 1 !important;
}

.erl-portal-root .erl-portal-btn:focus-visible {
	outline: 2px solid var(--erl-navy) !important;
	outline-offset: 2px;
}

.erl-portal-root .erl-portal-btn--secondary {
	background: transparent !important;
	color: var(--erl-navy) !important;
	border: 1px solid var(--erl-gold-border) !important;
	text-transform: none !important;
	letter-spacing: 0.02em !important;
	font-weight: 600 !important;
}

.erl-portal-root .erl-portal-btn--secondary:hover {
	background: var(--erl-gold-pale) !important;
}

.erl-portal-root .erl-portal-btn--ghost {
	background: transparent !important;
	color: var(--erl-navy) !important;
	border: 1px solid var(--erl-border) !important;
	text-transform: none !important;
	letter-spacing: 0.02em !important;
	font-weight: 600 !important;
	padding: 0.45rem 0.85rem !important;
	font-size: var(--erl-type-body) !important;
}

.erl-portal-root .erl-portal-btn--ghost:hover {
	background: var(--erl-surface-muted) !important;
	border-color: #c5cdd4 !important;
}

.erl-portal-root .erl-portal-btn--sm {
	padding: 0.45rem 0.85rem !important;
	font-size: var(--erl-type-body) !important;
	letter-spacing: 0.06em !important;
}

.erl-portal-root .erl-portal-btn--link {
	background: transparent !important;
	color: var(--erl-navy-soft) !important;
	border: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: var(--erl-type-body) !important;
	font-weight: 600 !important;
	padding: 0.25rem 0 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.erl-portal-root .erl-portal-btn--link:hover {
	color: var(--erl-gold-hover) !important;
	background: transparent !important;
}

.erl-portal-root .erl-portal-btn[hidden] {
	display: none !important;
}

/* ── Pasek użytkownika ── */
.erl-portal-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin: 0 0 1.25rem;
	padding: 1rem 1.15rem;
	background: var(--erl-surface);
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius);
	box-shadow: var(--erl-shadow);
}

.erl-portal-welcome {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
	margin: 0;
	font-size: var(--erl-type-body);
	color: var(--erl-text);
}

.erl-portal-welcome__name {
	font-weight: 650;
	color: var(--erl-navy);
}

.erl-portal-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.15rem;
}

.erl-portal-actions .erl-portal-btn {
	border-radius: var(--erl-radius-sm) !important;
	min-height: 2.75rem;
}

.erl-portal-actions .erl-portal-btn--secondary {
	padding: 0.65rem 1.15rem !important;
	font-size: var(--erl-type-body) !important;
	font-weight: 650 !important;
	letter-spacing: 0.04em !important;
}

/* ── Zakładki (segment control) ── */
.erl-portal-tabs {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.35rem;
	margin: 0 0 1.25rem;
	padding: 0.35rem;
	background: var(--erl-gold-pale);
	border: 1px solid var(--erl-gold-border);
	border-radius: var(--erl-radius);
}

.erl-portal-tab {
	flex: 1 1 0;
	min-width: 0;
	margin: 0 !important;
	padding: 0.7rem 0.85rem !important;
	border: none !important;
	border-radius: calc(var(--erl-radius-sm) + 2px) !important;
	box-shadow: none !important;
	background: transparent !important;
	color: var(--erl-navy) !important;
	font-family: inherit !important;
	font-size: var(--erl-type-body) !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-align: center !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.erl-portal-tab:hover:not(.is-active) {
	background: rgba(255, 255, 255, 0.55) !important;
	color: var(--erl-navy) !important;
}

.erl-portal-tab.is-active {
	background: var(--erl-navy) !important;
	color: var(--erl-gold-pale) !important;
	box-shadow: 0 2px 8px rgba(0, 43, 61, 0.18) !important;
	font-weight: 700 !important;
}

.erl-portal-tab:focus-visible {
	outline: 2px solid var(--erl-gold) !important;
	outline-offset: 2px;
}

@media (max-width: 520px) {
	.erl-portal-tabs {
		flex-direction: column;
	}
	.erl-portal-tab {
		flex: none;
		width: 100%;
	}
}

/* ── Karty / panele ── */
.erl-portal-panel {
	background: var(--erl-surface);
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius);
	box-shadow: var(--erl-shadow);
	padding: 1.15rem 1.25rem;
	margin-bottom: 1rem;
}

.erl-portal-subtitle {
	margin: 0 0 0.75rem;
	font-size: var(--erl-type-body);
	font-weight: 650;
	color: var(--erl-navy);
	letter-spacing: -0.01em;
}

.erl-portal-empty {
	margin: 1rem 0;
	padding: 1.25rem;
	text-align: center;
	color: var(--erl-text-muted);
	font-size: var(--erl-type-body);
	background: var(--erl-surface-muted);
	border-radius: var(--erl-radius-sm);
	border: 1px dashed var(--erl-border);
}

/* ── Tabela ── */
.erl-portal-table-wrap {
	overflow-x: auto;
	margin: 0 0 1rem;
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius);
	background: var(--erl-surface);
	box-shadow: var(--erl-shadow);
}

.erl-portal-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: var(--erl-type-body);
}

.erl-portal-table thead {
	background: var(--erl-navy);
	color: var(--erl-gold-pale);
}

.erl-portal-table th {
	padding: 0.7rem 0.85rem;
	text-align: left;
	font-weight: 650;
	font-size: var(--erl-type-body);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border: none;
}

.erl-portal-table td {
	padding: 0.75rem 0.85rem;
	border: none;
	border-top: 1px solid var(--erl-border);
	vertical-align: middle;
	color: var(--erl-text);
}

.erl-portal-table tbody tr:nth-child(even) {
	background: var(--erl-surface-muted);
}

.erl-portal-table tbody tr:hover {
	background: color-mix(in srgb, var(--erl-gold-pale) 45%, white);
}

/* ── Szczegóły zgłoszenia ── */
.erl-portal-detail {
	scroll-margin-top: 1.25rem;
	margin-top: 1.25rem;
	padding: 1.35rem 1.4rem;
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius);
	background: var(--erl-surface);
	box-shadow: var(--erl-shadow-lg);
}

.erl-portal-detail > h3 {
	margin: 0 0 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid var(--erl-border);
	font-size: var(--erl-type-heading);
	font-weight: 700;
	color: var(--erl-navy);
}

.erl-portal-detail > p {
	margin: 0.35rem 0 0.65rem;
	font-size: var(--erl-type-body);
}

.erl-portal-address {
	margin: 0.5rem 0 1rem;
	padding: 0.65rem 0.85rem;
	font-size: var(--erl-type-body);
	line-height: 1.45;
	color: var(--erl-text);
	background: var(--erl-surface-muted);
	border-radius: var(--erl-radius-sm);
	border-left: 3px solid var(--erl-gold);
}

.erl-portal-address strong {
	color: var(--erl-navy);
	margin-right: 0.35rem;
}

.erl-portal-property-details {
	margin: 1rem 0;
	padding: 0.85rem 1rem;
	background: var(--erl-surface-muted);
	border-radius: var(--erl-radius-sm);
}

.erl-portal-property-details h4 {
	margin: 0 0 0.5rem;
	font-size: var(--erl-type-body);
	color: var(--erl-navy);
}

.erl-portal-submission-descriptions {
	margin-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.erl-portal-sub-desc {
	padding: 0.85rem 1rem;
	background: var(--erl-surface-muted);
	border-radius: var(--erl-radius-sm);
}

.erl-portal-sub-desc h5 {
	margin: 0 0 0.45rem;
	font-size: var(--erl-type-body);
	color: var(--erl-navy);
}

.erl-portal-sub-desc p {
	margin: 0;
	font-size: var(--erl-type-body);
	line-height: 1.5;
	white-space: pre-wrap;
	word-break: break-word;
}

/* ── Błędy / lock / bank ── */
.erl-portal-error {
	background: #fdf0ef;
	border: 1px solid #e8b4b0;
	border-left: 4px solid #c0392b;
	padding: 0.85rem 1rem;
	margin: 0 0 1rem;
	border-radius: var(--erl-radius-sm);
	color: #7a2e28;
	font-size: var(--erl-type-body);
}

.erl-portal-error.erl-portal-ok {
	background: #edf7f0;
	border-color: #b8dcc4;
	border-left-color: #2d8a4e;
	color: #1f5c35;
}

.erl-auth-reset {
	max-width: 28rem;
	margin: 0 auto 1.25rem;
}

.erl-portal-lock {
	margin: 0 0 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid #e8c9a0;
	border-left: 4px solid var(--erl-gold);
	border-radius: var(--erl-radius-sm);
	background: var(--erl-gold-pale);
	color: var(--erl-navy);
	font-size: var(--erl-type-body);
	line-height: 1.5;
}

.erl-bank-box {
	background: var(--erl-surface-muted);
	border: 1px solid var(--erl-border);
	border-left: 4px solid var(--erl-navy);
	padding: 1rem 1.1rem;
	white-space: pre-wrap;
	font-size: var(--erl-type-body);
	margin: 0.75rem 0 1rem;
	border-radius: var(--erl-radius-sm);
	color: var(--erl-text);
	font-family: inherit;
}

/* ── Wiadomości ── */
.erl-portal-messages {
	margin: 1.25rem 0 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--erl-border);
}

.erl-portal-messages__compose {
	margin-top: 1.15rem;
	padding-top: 1rem;
	border-top: 1px solid var(--erl-border);
}

.erl-portal-messages__compose h4,
.erl-portal-thread__title {
	margin: 0 0 0.75rem;
	font-size: var(--erl-type-body);
	font-weight: 650;
	color: var(--erl-navy);
}

.erl-portal-thread__jump {
	margin: 0 0 0.75rem;
}

.erl-portal-thread__list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
	padding: 0;
}

.erl-portal-thread__empty {
	margin: 0.5rem 0 0;
	color: var(--erl-text-muted);
	font-size: var(--erl-type-body);
}

.erl-portal-msg {
	display: flex;
	flex-direction: column;
	gap: 6px;
	max-width: min(92%, 520px);
}

.erl-portal-msg--erl {
	align-self: flex-end;
	text-align: right;
}

.erl-portal-msg--staff {
	align-self: flex-start;
	text-align: left;
}

.erl-portal-msg__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 10px;
	font-size: var(--erl-type-body);
	color: var(--erl-text-muted);
}

.erl-portal-msg--erl .erl-portal-msg__meta {
	justify-content: flex-end;
}

.erl-portal-msg__author {
	font-size: var(--erl-type-body);
	font-weight: 650;
	color: var(--erl-navy);
}

.erl-portal-msg__time {
	font-size: var(--erl-type-body);
	color: var(--erl-text-muted);
}

.erl-portal-msg__card {
	padding: 0.75rem 0.9rem;
	border-radius: 10px;
	border: 1px solid var(--erl-border);
	background: var(--erl-surface);
	box-shadow: 0 1px 3px rgba(0, 43, 61, 0.05);
	text-align: left;
}

.erl-portal-msg--erl .erl-portal-msg__card {
	background: #e8f2f8;
	border-color: #b8d4e8;
}

.erl-portal-msg--staff .erl-portal-msg__card {
	background: var(--erl-surface-muted);
}

.erl-portal-msg__body {
	margin: 0;
	white-space: pre-wrap;
	word-break: break-word;
	font-size: var(--erl-type-body);
	line-height: 1.5;
	color: var(--erl-text);
}

.erl-portal-msg__attachments {
	margin: 0.5rem 0 0;
	padding: 0 0 0 1.1rem;
	font-size: var(--erl-type-body);
}

.erl-portal-msg__attachments a {
	color: var(--erl-navy);
	font-weight: 600;
}

.erl-portal-exec-chat-hint {
	margin: 0 0 0.75rem;
	max-width: 42rem;
	line-height: 1.45;
}

/* ── Pliki / budżet / kalkulacja ── */
.erl-portal-docs {
	margin: 1.25rem 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--erl-border);
}

.erl-portal-docs h4,
.erl-portal-files h4,
.erl-portal-budget h4,
#erl_d_calc_wrap h4 {
	margin: 0 0 0.65rem;
	font-size: var(--erl-type-body);
	font-weight: 650;
	color: var(--erl-navy);
}

.erl-portal-files {
	margin: 1.25rem 0 0;
	padding-top: 1.15rem;
	border-top: 1px solid var(--erl-border);
}

.erl-portal-files__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.erl-portal-files__list li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0.5rem 0;
	padding: 0.35rem 0;
}

.erl-portal-files__list li::before {
	content: "";
	flex-shrink: 0;
	width: 7px;
	height: 7px;
	margin-top: 0.55em;
	border-radius: 50%;
	background: var(--erl-gold);
	box-shadow: 0 0 0 2px rgba(214, 174, 94, 0.35);
}

.erl-portal-files__link {
	color: var(--erl-navy-soft);
	text-decoration: none;
	font-size: var(--erl-type-body);
	font-weight: 550;
}

.erl-portal-files__link:hover {
	text-decoration: underline;
	color: var(--erl-navy);
}

.erl-portal-files__empty {
	margin: 0.35rem 0 0;
	color: var(--erl-text-muted);
	font-size: var(--erl-type-body);
}

.erl-portal-budget {
	margin: 1.25rem 0;
	padding: 1rem 0 0;
	border-top: 1px solid var(--erl-border);
}

.erl-portal-budget__info {
	margin: 0 0 0.65rem;
	font-weight: 650;
	color: var(--erl-navy);
}

.erl-portal-budget.is-over .erl-portal-budget__info {
	color: #c0392b;
}

.erl-portal-budget__actions,
.erl-portal-calc-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.5rem 0 0;
}

.erl-portal-edit-btn {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--erl-gold-border);
	border-radius: 0;
	background: var(--erl-gold-pale);
	color: var(--erl-navy);
	font-size: var(--erl-type-body);
	font-weight: 650;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.erl-portal-edit-btn:hover {
	background: #e8d4a8;
}

.erl-portal-edit-btn[hidden],
.erl-portal-calc-actions[hidden] {
	display: none !important;
}

.erl-portal-calc-source {
	margin: 0 0 0.65rem;
	color: var(--erl-text-muted);
	font-size: var(--erl-type-body);
}

#erl_d_close {
	display: inline-block;
	margin-top: 1rem;
	font-size: var(--erl-type-body);
	font-weight: 600;
	color: var(--erl-text-muted);
	text-decoration: none;
}

#erl_d_close:hover {
	color: var(--erl-navy);
	text-decoration: underline;
}

/* ── Realizacja — układ z menu bocznym ── */
.erl-portal-root:has(.erl-portal-exec-detail:not([hidden])),
.erl-portal-root:has(.erl-portal-sub-detail:not([hidden])) {
	max-width: min(96vw, 68rem);
}

.erl-portal-exec-detail,
.erl-portal-sub-detail {
	padding: 1.1rem 1.15rem 1.35rem;
}

.erl-portal-exec-header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	margin-bottom: 0.25rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--erl-border);
}

.erl-portal-exec-header h3 {
	margin: 0 0 0.35rem;
	font-size: var(--erl-type-heading);
	font-weight: 700;
	color: var(--erl-navy);
}

.erl-portal-exec-header__status {
	margin: 0;
	font-size: var(--erl-type-body);
}

.erl-portal-exec-header__address {
	margin: 0.5rem 0 0;
}

.erl-portal-exec-header__actions {
	margin: 0;
	flex-shrink: 0;
}

.erl-portal-exec-header__back {
	display: inline-block;
	font-size: var(--erl-type-body);
	font-weight: 650;
	color: var(--erl-text-muted);
	text-decoration: none;
	white-space: nowrap;
}

.erl-portal-exec-header__back:hover {
	color: var(--erl-navy);
	text-decoration: underline;
}

.erl-portal-exec-layout {
	display: grid;
	grid-template-columns: 10.75rem minmax(0, 1fr);
	gap: 1.15rem 1.35rem;
	margin-top: 1rem;
	align-items: start;
}

.erl-portal-exec-nav {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	position: sticky;
	top: 0.75rem;
}

.erl-portal-exec-nav__item {
	display: block;
	width: 100%;
	padding: 0.55rem 0.7rem;
	border: 1px solid transparent;
	border-radius: var(--erl-radius-sm);
	background: transparent;
	color: var(--erl-text-muted);
	font-size: var(--erl-type-body);
	font-weight: 600;
	text-align: left;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.erl-portal-exec-nav__item:hover {
	background: var(--erl-surface-muted);
	color: var(--erl-navy);
}

.erl-portal-exec-nav__item.is-active {
	background: var(--erl-gold-pale);
	border-color: var(--erl-gold-border);
	color: var(--erl-navy);
}

.erl-portal-exec-nav__item[hidden] {
	display: none !important;
}

.erl-portal-exec-panels {
	min-width: 0;
}

.erl-portal-exec-panel__title {
	margin: 0 0 0.85rem;
	font-size: var(--erl-type-heading);
	font-weight: 650;
	color: var(--erl-navy);
}

.erl-portal-exec-panel .erl-portal-messages h4.erl-portal-exec-panel__title {
	margin-bottom: 0.5rem;
}

.erl-portal-exec-overview-list {
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}

.erl-portal-exec-overview-list li {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 0.75rem;
	padding: 0.65rem 1rem 0.65rem 0.8rem;
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius-sm);
	background: var(--erl-surface-muted);
	font-size: var(--erl-type-body);
}

.erl-portal-exec-overview-list li span {
	color: var(--erl-text-muted);
}

.erl-portal-exec-overview-list li strong {
	color: var(--erl-navy);
	font-weight: 700;
}

.erl-portal-exec-overview-list__warn {
	border-color: #e8c4c4;
	background: #fdf5f5;
}

@media (max-width: 720px) {
	.erl-portal-exec-layout {
		grid-template-columns: 1fr;
	}

	.erl-portal-exec-nav {
		flex-direction: row;
		flex-wrap: nowrap;
		overflow-x: auto;
		position: static;
		padding-bottom: 0.15rem;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: thin;
	}

	.erl-portal-exec-nav__item {
		width: auto;
		flex: 0 0 auto;
		white-space: nowrap;
	}
}

.erl-portal-collapsed {
	margin: 1rem 0;
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius-sm);
	padding: 0.65rem 0.85rem;
	background: var(--erl-surface-muted);
}

.erl-portal-collapsed > summary {
	cursor: pointer;
	font-weight: 650;
	color: var(--erl-navy);
	list-style: none;
}

.erl-portal-collapsed > summary::-webkit-details-marker {
	display: none;
}

.erl-portal-collapsed > summary::before {
	content: "▸ ";
	color: var(--erl-gold);
}

.erl-portal-collapsed[open] > summary::before {
	content: "▾ ";
}

.erl-portal-exec-contract {
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius-sm);
	padding: 1rem 1.1rem;
	margin-bottom: 1rem;
	background: var(--erl-surface);
}

.erl-portal-exec-contract h4 {
	margin: 0 0 0.5rem;
	color: var(--erl-navy);
}

.erl-portal-exec-contract__body {
	padding-top: 0.65rem;
}

.erl-portal-exec-contract--add {
	margin-top: 1rem;
}

.erl-portal-reno-toolbar {
	margin: 0 0 1rem;
}

.erl-reno-dashboard-host {
	margin: 0 0 1.25rem;
}

.erl-reno-dashboard {
	margin: 0 0 1.25rem;
	padding: 1rem 1.15rem;
	border: 1px solid var(--erl-border, #dde3e8);
	border-radius: 10px;
	background: linear-gradient(180deg, var(--erl-surface, #fff) 0%, var(--erl-bg-soft, #f7f9fb) 100%);
}

.erl-reno-dashboard__title {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--erl-navy, #002b3d);
}

.erl-reno-dashboard__section {
	margin-bottom: 1rem;
}

.erl-reno-dashboard__section:last-child {
	margin-bottom: 0;
}

.erl-reno-dashboard__section--settlement {
	padding-top: 0.85rem;
	border-top: 1px dashed var(--erl-border, #dde3e8);
}

.erl-reno-dashboard__heading {
	margin: 0 0 0.65rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--erl-muted, #5c6b7a);
}

.erl-reno-dashboard__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
	gap: 0.65rem;
}

.erl-reno-dashboard__breakdown {
	margin-top: 0.85rem;
	padding-top: 0.65rem;
	border-top: 1px dashed var(--erl-border, #dde3e8);
}

.erl-reno-dashboard__subheading {
	margin: 0 0 0.5rem;
	font-size: 0.76rem;
	font-weight: 600;
	color: var(--erl-muted, #5c6b7a);
}

.erl-portal-amendment-history__body {
	padding: 0.35rem 0;
	font-size: 0.9rem;
}

.erl-portal-amendment-form {
	margin-top: 0.75rem;
	padding: 0.85rem;
	border: 1px dashed var(--erl-border, #dde3e8);
	border-radius: 8px;
}

.erl-reno-dashboard__stat {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.65rem 0.75rem;
	border-radius: 8px;
	background: var(--erl-surface, #fff);
	border: 1px solid var(--erl-border, #e8edf2);
	min-height: 4.5rem;
}

.erl-reno-dashboard__stat--highlight {
	border-color: var(--erl-gold, #d6ae5e);
	background: #fffdf8;
}

.erl-reno-dashboard__stat--warn .erl-reno-dashboard__stat-value {
	color: #b32d2e;
}

.erl-reno-dashboard__stat-label {
	font-size: 0.8rem;
	color: var(--erl-muted, #5c6b7a);
	line-height: 1.3;
}

.erl-reno-dashboard__stat-value {
	font-size: 1rem;
	font-weight: 700;
	color: var(--erl-navy, #002b3d);
	line-height: 1.25;
}

.erl-reno-dashboard__stat-hint {
	font-size: 0.72rem;
	color: var(--erl-muted, #5c6b7a);
	line-height: 1.25;
}

.erl-reno-dashboard__advances-block {
	margin-top: 1rem;
}

.erl-reno-dashboard__advances-block .erl-reno-dashboard__subheading {
	margin: 0 0 0.35rem;
}

.erl-reno-dashboard__advances {
	margin: 0;
	padding-left: 1.1rem;
	font-size: 0.88rem;
	color: var(--erl-text, #1a2b33);
}

.erl-reno-dashboard__advances li {
	margin: 0.2rem 0;
}

.erl-reno-dashboard__adv-note {
	color: var(--erl-muted, #5c6b7a);
}

.erl-cost-settlement {
	margin: 1rem 0;
	padding: 1rem;
	border: 1px solid var(--erl-border, #dde3e8);
	border-radius: 8px;
	background: var(--erl-surface, #fff);
}

.erl-cost-settlement__stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
	gap: 0.75rem 1rem;
	margin-bottom: 0.75rem;
}

.erl-cost-settlement__stats > div {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.erl-cost-settlement__stats span {
	font-size: 0.85rem;
	color: var(--erl-muted, #5c6b7a);
}

.erl-cost-settlement__advances {
	margin: 0.5rem 0 0.75rem;
	padding-left: 1.25rem;
}

.erl-cost-settlement__remaining--over {
	color: #b32d2e;
}

.erl-cost-settlement__table-wrap {
	overflow-x: auto;
}

.erl-cost-accepted {
	color: #1e7a3a;
	font-weight: 700;
}

.erl-cost-accept {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	white-space: nowrap;
}

.erl-cost-accept--yes {
	color: #1a7f4b;
}

.erl-cost-accept--pending {
	color: #9a6700;
}

.erl-cost-accept--no {
	color: #6b7280;
}

/* Modal — zestawienie kosztów (95% szerokości ekranu) */
.erl-cost-settlement-modal {
	position: fixed;
	inset: 0;
	z-index: 100002;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem;
}

.erl-cost-settlement-modal[hidden] {
	display: none !important;
}

body.erl-cost-settlement-modal-open {
	overflow: hidden;
}

.erl-cost-settlement-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 43, 61, 0.55);
}

.erl-cost-settlement-modal__dialog {
	position: relative;
	z-index: 1;
	width: 95vw;
	max-width: 95vw;
	max-height: 92vh;
	display: flex;
	flex-direction: column;
	background: var(--erl-surface, #fff);
	border-radius: var(--erl-radius, 8px);
	box-shadow: var(--erl-shadow-lg, 0 8px 32px rgba(0, 0, 0, 0.18));
	overflow: hidden;
}

.erl-cost-settlement-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem 1.25rem;
	background: var(--erl-navy, #002b3d);
	color: #fff;
	flex-shrink: 0;
}

.erl-cost-settlement-modal__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
}

.erl-cost-settlement-modal__close {
	background: transparent;
	border: 0;
	color: #fff;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	padding: 0 0.25rem;
}

.erl-cost-settlement-modal__body {
	overflow: auto;
	padding: 1rem 1.25rem 1.25rem;
	flex: 1;
	min-height: 0;
}

.erl-cost-settlement-modal__body .erl-cost-settlement__table {
	width: 100%;
	min-width: 1100px;
}

.erl-cost-settlement-modal__body .erl-cost-settlement__table th,
.erl-cost-settlement-modal__body .erl-cost-settlement__table td {
	padding: 0.5rem 0.65rem;
	vertical-align: top;
}

.erl-cost-settlement-modal__body .erl-input {
	min-width: 0;
	width: 100%;
	box-sizing: border-box;
}

.erl-cost-settlement-modal__body .erl-cost-settlement__table-wrap {
	overflow-x: auto;
	margin-top: 0.75rem;
}

/* ── Logowanie ── */
.erl-auth-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.25rem;
	margin-top: 0.5rem;
}

.erl-auth-card {
	border: 1px solid var(--erl-border);
	padding: 1.25rem 1.35rem;
	border-radius: var(--erl-radius);
	background: var(--erl-surface);
	box-shadow: var(--erl-shadow);
}

.erl-auth-card h3 {
	margin: 0 0 1rem;
	padding-bottom: 0.6rem;
	border-bottom: 1px solid var(--erl-border);
	font-size: var(--erl-type-heading);
	font-weight: 700;
	color: var(--erl-navy);
}

.erl-auth-form label {
	display: block;
	margin-bottom: 0.85rem;
	font-size: var(--erl-type-body);
	font-weight: 600;
	color: var(--erl-navy);
}

.erl-auth-form input.regular-text,
.erl-portal-root .erl-input,
.erl-portal-root textarea.large-text {
	display: block;
	width: 100%;
	margin-top: 0.35rem;
	padding: 0.55rem 0.7rem;
	border: 1px solid var(--erl-border);
	border-radius: var(--erl-radius-sm);
	background: #fff;
	color: var(--erl-text);
	font: inherit;
	font-size: var(--erl-type-body);
}

.erl-portal-root textarea.large-text {
	min-height: 5rem;
	resize: vertical;
}

.erl-auth-form input:focus-visible,
.erl-portal-root .erl-input:focus-visible,
.erl-portal-root textarea.large-text:focus-visible {
	outline: 2px solid var(--erl-gold);
	outline-offset: 1px;
	border-color: var(--erl-gold-border);
}

.erl-portal-docs__form .erl-field {
	margin-bottom: 1rem;
}

.erl-portal-docs__form .erl-req {
	color: #c0392b;
}

/* ── Modal kalkulacji ── */
.erl-portal-calc-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}

.erl-portal-calc-modal[hidden] {
	display: none !important;
}

.erl-portal-calc-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 43, 61, 0.55);
}

.erl-portal-calc-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(1100px, 100%);
	height: min(90vh, 900px);
	background: #fff;
	border-radius: var(--erl-radius);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	box-shadow: var(--erl-shadow-lg);
}

.erl-portal-calc-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.75rem 1rem;
	border-bottom: 1px solid var(--erl-border);
	background: var(--erl-navy);
	color: var(--erl-gold-pale);
}

.erl-portal-calc-modal__close {
	border: none;
	background: transparent;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
	color: var(--erl-gold-pale);
}

.erl-portal-calc-modal__frame {
	flex: 1;
	width: 100%;
	border: 0;
}

body.erl-portal-noscroll {
	overflow: hidden;
}

.erl-portal-checklist-inline {
	margin-top: 0.75rem;
}

.erl-portal-checklist-inline .erl-tx-checklist {
	margin: 0;
}

.erl-portal-checklist-actions {
	margin: 1rem 0 0;
}

.erl-portal-checklist-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}

.erl-portal-checklist-modal[hidden] {
	display: none !important;
}

.erl-portal-checklist-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 43, 61, 0.55);
}

.erl-portal-checklist-modal__dialog {
	position: relative;
	z-index: 1;
	width: min(96vw, 56rem);
	max-height: min(92vh, 900px);
	display: flex;
	flex-direction: column;
	background: var(--erl-surface);
	border-radius: var(--erl-radius);
	box-shadow: var(--erl-shadow-lg);
	overflow: hidden;
}

body.erl-chromeless-page .erl-portal-checklist-modal {
	align-items: flex-start;
	padding-top: var(--erl-modal-nav-offset, 5rem);
	padding-bottom: 1rem;
}

body.erl-chromeless-page .erl-portal-checklist-modal__dialog {
	max-height: calc(100vh - var(--erl-modal-nav-offset, 5rem) - 1rem);
}

.erl-portal-checklist-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.85rem 1rem;
	background: var(--erl-navy);
	color: #fff;
}

.erl-portal-checklist-modal__title {
	margin: 0;
	font-size: var(--erl-type-heading);
	font-weight: 600;
}

.erl-portal-checklist-modal__close {
	border: none;
	background: transparent;
	color: inherit;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.erl-portal-checklist-modal__body {
	overflow: auto;
	padding: 1rem;
}

.erl-portal-checklist-modal__body .erl-tx-checklist {
	max-width: none;
	margin: 0;
}

.erl-tx-checklist--portal-preview .erl-tx-checklist__portal-status {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin-top: 0.35rem;
}

.erl-tx-checklist__pill--dostarczone {
	background: #e8f0fd;
	border: 1px solid #a8c4f0;
	color: #1f3d7a;
}

.erl-tx-checklist--portal-preview .erl-tx-checklist__comment--portal {
	margin-top: 0.35rem;
}

.erl-tx-checklist--portal-preview .erl-tx-checklist__comment-label {
	display: block;
	font-size: 0.78rem;
	font-weight: 600;
	color: #5a5a73;
	margin-bottom: 0.25rem;
}

.erl-tx-checklist--portal-preview .erl-tx-checklist__comment-body {
	font-size: 0.9rem;
	line-height: 1.45;
	color: #1a1a2e;
	padding: 0.45rem 0.55rem;
	border: 1px solid #e2e2ea;
	border-radius: 6px;
	background: #f8f8fb;
	min-height: 2rem;
}

.erl-tx-checklist--portal-preview .erl-tx-checklist__comment-body--empty {
	color: #9a9ab0;
}

.erl-tx-checklist--portal-preview .erl-tx-checklist__status-radio,
.erl-tx-checklist--portal-preview .erl-tx-checklist__comment-editor,
.erl-tx-checklist--portal-preview .erl-tx-checklist__file-delete {
	display: none !important;
}

.erl-tx-checklist__preview-lead {
	margin: 0 0 1rem;
	color: #5a5a73;
	font-size: var(--erl-type-body);
}

.erl-portal-account-section {
	margin: 0 0 2rem;
	padding: 1.25rem;
	border: 1px solid var(--erl-border, #e2e2ea);
	border-radius: 8px;
	background: #fff;
}

.erl-portal-account-section h4 {
	margin: 0 0 1rem;
	font-size: var(--erl-type-body);
	font-weight: 600;
	color: var(--erl-navy, #1a1a2e);
}

.erl-portal-account-form .erl-field {
	margin-bottom: 0.85rem;
}

.erl-portal-account-form__row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
	gap: 0.75rem 1rem;
}

.erl-portal-account-form .erl-radio-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
}

.erl-portal-account-form .erl-choice {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: var(--erl-type-body);
	cursor: pointer;
}

#erl_portal_account_panel .description {
	margin: 0 0 1rem;
	color: #5a5a73;
	font-size: var(--erl-type-body);
}

@media (prefers-reduced-motion: reduce) {
	.erl-portal-tab,
	.erl-portal-btn,
	.erl-portal-edit-btn {
		transition: none !important;
	}
}

.erl-dropbox-badge {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.05rem 0.4rem;
	border-radius: 999px;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.5;
	background: #eef1f4;
	color: #4a5560;
	vertical-align: middle;
}
.erl-dropbox-badge--synced {
	background: #e2f5e9;
	color: #1a7f43;
}
.erl-dropbox-badge--failed {
	background: #fbe5e5;
	color: #b32d2e;
}
.erl-dropbox-badge--queued,
.erl-dropbox-badge--uploading {
	background: #fff4e0;
	color: #9a6a12;
}
