/*
Theme Name: Building
Theme URI: https://neo200.local
Author: Neo200
Description: A full-site editing block theme for the Neo200 building project.
Requires at least: 6.4
Tested up to: 7.0
Requires PHP: 7.4
Version: 1.4.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: building
Tags: full-site-editing, block-patterns, custom-colors, custom-menu, editor-style, featured-images, wide-blocks
*/

html {
	overflow-x: clip;
	scroll-behavior: smooth;
}

.site-header {
	border-bottom: none;
	max-width: 100%;
}

.site-header-wrap {
	max-width: 100%;
	margin-bottom: 0;
}

.home-page,
.contact-page-wrap,
.error-page-wrap,
.login-page-wrap,
.dashboard-page-wrap {
	margin-top: 0;
	margin-bottom: 0;
	width: 100%;
	max-width: none;
	overflow-x: clip;
}

.home-page > footer,
.home-page > .wp-block-template-part,
.contact-page-wrap > footer,
.contact-page-wrap > .wp-block-template-part,
.error-page-wrap > footer,
.error-page-wrap > .wp-block-template-part,
.login-page-wrap > footer,
.login-page-wrap > .wp-block-template-part,
.dashboard-page-wrap > footer,
.dashboard-page-wrap > .wp-block-template-part {
	margin-top: 0;
}

.home-intro,
.contact-page__content,
.book-move-page__content,
.error-page__content,
.login-page__content,
.dashboard-page__content {
	margin-top: 0;
	margin-bottom: 0;
}

.home-intro > header,
.home-intro > section,
.contact-page__content > header,
.contact-page__content > section,
.book-move-page__content > header,
.book-move-page__content > section,
.error-page__content > header,
.error-page__content > main,
.error-page__content > section,
.login-page__content > header,
.login-page__content > section,
.dashboard-page__content > header,
.dashboard-page__content > section {
	margin-top: 0;
	margin-bottom: 0;
}

.home-intro .map-section,
.contact-page__content .map-section,
.dashboard-page__content .map-section {
	margin-top: 0;
}

.site-hero {
	position: relative;
	line-height: 0;
	overflow: hidden;
}

.site-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(30, 30, 30, 0.62);
	pointer-events: none;
	z-index: 1;
}

.site-hero__image {
	margin: 0;
	width: 100%;
}

.site-hero__image img {
	display: block;
	width: 100%;
	height: 50vh;
	min-height: 320px;
	max-height: 520px;
	object-fit: cover;
	object-position: center 12%;
}

.site-hero__content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem 1.5rem;
	line-height: 1.5;
	max-width: none;
}

.site-hero__heading {
	color: #ffffff;
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 1rem;
}

.site-hero__gold {
	color: var(--wp--preset--color--gold);
}

.site-hero__subheading {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	max-width: 42rem;
	margin: 0 auto 1.75rem;
	line-height: 1.6;
}

.site-hero__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	margin: 0;
}

.site-hero__btn-login .wp-block-button__link {
	background-color: var(--wp--preset--color--gold);
	color: #ffffff;
	border: 2px solid var(--wp--preset--color--gold);
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.site-hero__btn-login .wp-block-button__link:hover {
	background-color: #ffffff;
	color: var(--wp--preset--color--contrast);
	border-color: #ffffff;
}

.site-hero__btn-move .wp-block-button__link {
	background-color: transparent;
	color: #ffffff;
	border: 2px solid #ffffff;
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.site-hero__btn-move .wp-block-button__link:hover {
	background-color: #ffffff;
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 781px) {
	.site-hero__buttons {
		flex-direction: column;
		align-items: center;
		width: 100%;
	}

	.site-hero__buttons .wp-block-button {
		width: 100%;
		max-width: 280px;
	}

	.site-hero__buttons .wp-block-button__link {
		width: 100%;
		text-align: center;
	}
}

.site-header__inner {
	min-height: 4.5rem;
	padding-top: 0.875rem;
	padding-bottom: 0.875rem;
}

.site-header__inner > .neo200-logo,
.site-header__inner > .site-header__nav {
	margin-block: 0;
}

.neo200-logo a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: inherit;
}

.neo200-logo__neo {
	color: var(--wp--preset--color--contrast);
}

.neo200-logo__gold {
	color: var(--wp--preset--color--gold);
}

.site-header__nav .wp-block-navigation__container,
.site-header__nav .wp-block-navigation-item {
	margin: 0;
}

.site-header__nav .wp-block-navigation-item__content {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
	line-height: 1.2;
	text-decoration: none;
}

.site-header__nav .wp-block-navigation-item__content:hover {
	text-decoration: underline;
}

.site-header__nav .site-header__login .wp-block-navigation-item__content {
	background-color: var(--wp--preset--color--gold);
	color: #ffffff;
	padding: 0.5rem 1.25rem;
	border-radius: 4px;
	text-decoration: none;
	font-weight: 600;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.site-header__nav .site-header__login .wp-block-navigation-item__content:hover {
	background-color: var(--wp--preset--color--contrast);
	color: #ffffff;
	text-decoration: none;
}

.site-nav-wrap .site-nav__cta:hover {
	background-color: var(--wp--preset--color--contrast);
	color: #ffffff;
}

@media (max-width: 781px) {
	.site-header__inner {
		min-height: 4rem;
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
		row-gap: 0.75rem;
	}
}

.site-footer {
	background-color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
	width: 100%;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-top: 3px solid var(--wp--preset--color--gold);
	color: #ffffff;
	padding-left: var(--wp--preset--spacing--40) !important;
	padding-right: var(--wp--preset--spacing--40) !important;
}

.site-footer__inner,
.site-footer .site-footer__inner,
.site-footer > .alignwide {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-top: 3rem;
	padding-bottom: 2rem;
	box-sizing: border-box;
}

.site-footer__inner > * {
	margin-block-start: 0;
}

.site-footer__inner > * + * {
	margin-block-start: 0;
}

.site-footer__grid {
	display: grid !important;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 3rem !important;
	width: 100% !important;
	margin-bottom: 2.5rem !important;
	text-align: left;
	align-items: start;
}

.site-footer__logo {
	margin: 0 0 0.75rem;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	color: #ffffff;
}

.site-footer__tagline {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72);
	max-width: 20rem;
}

.site-footer__heading {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 600;
	color: #ffffff !important;
}

.site-footer__link-list,
.site-footer__social-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__link-list li,
.site-footer__social-list li {
	margin: 0 0 0.65rem;
	padding: 0;
}

.site-footer__link-list li:last-child,
.site-footer__social-list li:last-child {
	margin-bottom: 0;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.82);
	text-decoration: none;
	transition: color 0.2s ease;
}

.site-footer a:hover {
	color: var(--wp--preset--color--gold);
}

.site-footer__link-list a,
.site-footer__social-link {
	font-size: 0.95rem;
	font-weight: 500;
}

.site-footer__social-link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
}

.site-footer__social-link i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background-color: rgba(201, 162, 39, 0.15);
	color: var(--wp--preset--color--gold);
	font-size: 0.9rem;
	flex-shrink: 0;
}

.site-footer__copyright {
	color: rgba(255, 255, 255, 0.75) !important;
	margin: 0 !important;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	text-align: center;
	font-size: 0.875rem;
	line-height: 1.5;
}

.site-footer__neo {
	color: #ffffff;
	font-weight: 500;
}

.site-footer__gold {
	color: var(--wp--preset--color--gold);
	font-weight: 500;
}

.site-footer__link-list--portal {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 2rem;
	row-gap: 0;
}

.site-footer__link-list--portal li {
	margin-bottom: 0.75rem;
}

.site-footer--portal .site-footer__inner {
	padding-top: 3.5rem;
	padding-bottom: 2.5rem;
}

.site-footer--portal .site-footer__grid {
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.45fr) minmax(0, 0.85fr) !important;
	gap: 2.5rem 3.5rem !important;
	margin-bottom: 2rem !important;
}

.site-footer--portal .site-footer__logo {
	margin-bottom: 1rem;
}

.site-footer--portal .site-footer__tagline {
	max-width: 17rem;
	line-height: 1.65;
}

.site-footer--portal .site-footer__heading {
	margin-bottom: 1.15rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.site-footer--portal .site-footer__links,
.site-footer--portal .site-footer__social {
	min-width: 0;
}

.site-footer--portal .site-footer__link-list--portal {
	column-gap: 2.5rem;
}

.site-footer--portal .site-footer__link-list--portal li {
	margin-bottom: 0.8rem;
}

.site-footer--portal .site-footer__link-list a,
.site-footer--portal .site-footer__social-link {
	display: inline-block;
	padding: 0.1rem 0;
	line-height: 1.45;
}

.site-footer--portal .site-footer__social-list li {
	margin-bottom: 0.5rem;
}

.site-footer--portal .site-footer__copyright {
	padding-top: 2rem;
	margin-top: 0.5rem !important;
}

@media (max-width: 900px) {
	.site-footer--portal .site-footer__grid {
		grid-template-columns: 1fr 1fr !important;
		gap: 2.25rem 2rem !important;
	}

	.site-footer--portal .site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer--portal .site-footer__tagline {
		max-width: 24rem;
	}
}

@media (max-width: 600px) {
	.site-footer__link-list--portal,
	.site-footer--portal .site-footer__link-list--portal {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.site-footer--portal .site-footer__grid {
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}

	.site-footer--portal .site-footer__inner {
		padding-top: 2.5rem;
		padding-bottom: 2rem;
	}

	.site-footer--portal .site-footer__heading {
		margin-bottom: 1rem;
	}

	.site-footer--portal .site-footer__link-list--portal li {
		margin-bottom: 0.7rem;
	}
}

.welcome-section {
	background-color: var(--wp--preset--color--tertiary);
	margin-top: 0;
	scroll-margin-top: 5rem;
}

.welcome-section__inner {
	gap: 3rem;
}

.welcome-section__content {
	flex: 1 1 28rem;
	max-width: 36rem;
}

.welcome-section__heading {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	margin: 0 0 1.25rem;
	color: var(--wp--preset--color--contrast);
}

.welcome-section__content p {
	margin-top: 0;
	margin-bottom: 1rem;
	line-height: 1.7;
	color: var(--wp--preset--color--contrast);
}

.welcome-section__content p:last-child {
	margin-bottom: 0;
}

.welcome-section__content a {
	color: var(--wp--preset--color--secondary);
	font-weight: 500;
}

.welcome-section__gold {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}

.welcome-section__image {
	flex: 1 1 20rem;
	max-width: 28rem;
	margin: 0;
}

.welcome-section__image img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12);
}

@media (max-width: 781px) {
	.welcome-section__inner {
		flex-direction: column;
	}

	.welcome-section__content,
	.welcome-section__image {
		max-width: 100%;
	}
}

.map-section {
	width: 100%;
	max-width: 100%;
	margin: 0;
	line-height: 0;
}

.map-section__embed-wrap {
	width: 100%;
	overflow: hidden;
}

.map-section__embed {
	display: block;
	width: 100%;
	height: 420px;
	border: 0;
}

@media (max-width: 781px) {
	.map-section__embed {
		height: 320px;
	}
}

.amenities-section {
	background-color: var(--wp--preset--color--base);
	margin-top: 0;
	margin-bottom: 0;
}

.amenities-section__inner {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-left: auto;
	margin-right: auto;
}

.amenities-section__heading {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	margin: 0 0 1rem;
	color: var(--wp--preset--color--contrast);
}

.amenities-section__intro,
.amenities-section__closing {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.7;
	color: var(--wp--preset--color--contrast);
}

.amenities-section__intro {
	margin-top: 0;
	margin-bottom: 2.5rem;
}

.amenities-section__closing {
	margin-top: 2.5rem;
	margin-bottom: 0;
	font-size: 1.05rem;
}

.amenities-section__gold {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}

.amenities-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.5rem;
}

.amenity-card {
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	padding: 2rem 1.5rem;
	text-align: center;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.amenity-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.1);
}

.amenity-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4.5rem;
	height: 4.5rem;
	margin: 0 auto 1.25rem;
	background: linear-gradient(135deg, rgba(201, 162, 39, 0.18), rgba(201, 162, 39, 0.08));
	border: 2px solid rgba(201, 162, 39, 0.35);
	border-radius: 50%;
}

.amenity-card__icon i {
	font-size: 1.75rem;
	line-height: 1;
	color: var(--wp--preset--color--gold);
}

.amenity-card__title {
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.amenity-card__description {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(26, 26, 26, 0.78);
}

@media (max-width: 1024px) {
	.amenities-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.amenities-grid {
		grid-template-columns: 1fr;
	}

	.amenity-card {
		padding: 1.5rem 1.25rem;
	}
}

@media (max-width: 900px) {
	.site-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: 2rem;
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.site-footer__inner {
		padding-top: 2.5rem;
		padding-bottom: 1.5rem;
	}
}

.site-header--nav-only {
	border-bottom: 1px solid var(--wp--preset--color--tertiary);
}

.contact-page__hero {
	position: relative;
	line-height: 0;
	overflow: hidden;
}

.contact-page__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(30, 30, 30, 0.62);
	pointer-events: none;
	z-index: 1;
}

.contact-page__hero-image {
	margin: 0;
	width: 100%;
}

.contact-page__hero-image img {
	display: block;
	width: 100%;
	height: 50vh;
	min-height: 320px;
	max-height: 520px;
	object-fit: cover;
	object-position: center 12%;
}

.contact-page__hero-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem 1.5rem;
	line-height: 1.5;
	max-width: none;
}

.contact-page__hero-title {
	color: #ffffff;
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 1rem;
}

.contact-page__hero-lead {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	max-width: 42rem;
	margin: 0 auto;
	line-height: 1.6;
}

.contact-page__title {
	font-size: clamp(2rem, 4vw, 2.75rem);
	font-weight: 600;
	margin: 0 0 1rem;
	color: var(--wp--preset--color--contrast);
}

.contact-page__gold,
.contact-page .contact-page__gold {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}

.book-move-page__gold,
.book-move-page .book-move-page__gold {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}

.book-move-page__hero {
	position: relative;
	line-height: 0;
	overflow: hidden;
}

.book-move-page__hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(30, 30, 30, 0.62);
	pointer-events: none;
	z-index: 1;
}

.book-move-page__hero-image {
	margin: 0;
	width: 100%;
}

.book-move-page__hero-image img {
	display: block;
	width: 100%;
	height: 50vh;
	min-height: 320px;
	max-height: 520px;
	object-fit: cover;
	object-position: center 12%;
}

.book-move-page__hero-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem 1.5rem;
	line-height: 1.5;
	max-width: none;
}

.book-move-page__hero-title {
	color: #ffffff;
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 1rem;
}

.book-move-page__hero-lead {
	color: rgba(255, 255, 255, 0.92);
	font-size: clamp(1rem, 2.2vw, 1.125rem);
	max-width: 42rem;
	margin: 0 auto;
	line-height: 1.6;
}

.book-move-page__form-section {
	background: var(--wp--preset--color--base);
}

.book-move-page__form-inner {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
}

.public-move-booking__layout {
	margin-top: 0;
}

.public-move-booking__resident-note {
	margin: 1.5rem 0 0;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
	font-size: 0.95rem;
	color: rgba(26, 26, 26, 0.72);
	text-align: center;
}

.public-move-booking__resident-note a {
	color: var(--wp--preset--color--secondary);
	font-weight: 600;
	text-decoration: none;
}

.public-move-booking__resident-note a:hover {
	color: var(--wp--preset--color--gold);
}

.contact-page__details {
	background-color: var(--wp--preset--color--base);
}

.contact-page__details-inner {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-left: auto;
	margin-right: auto;
}

.contact-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-bottom: 2rem;
}

.contact-card,
.contact-info-block {
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	padding: 2rem;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

.contact-card__title,
.contact-info-block__title {
	margin: 0 0 1rem;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.contact-card__name {
	margin: 0 0 1rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

.contact-card__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.contact-card__list li {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.contact-card__list li:last-child {
	margin-bottom: 0;
}

.contact-card__list i {
	width: 1.25rem;
	color: var(--wp--preset--color--gold);
	text-align: center;
}

.contact-card__list a {
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
	font-weight: 500;
}

.contact-card__list a:hover {
	color: var(--wp--preset--color--contrast);
}

.contact-info-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}

.contact-info-block__address {
	font-style: normal;
	line-height: 1.7;
	color: rgba(26, 26, 26, 0.85);
}

.contact-page__form-section {
	background-color: var(--wp--preset--color--tertiary);
	margin: 0;
}

.contact-page__form-inner {
	width: 100%;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

.contact-page__form-inner .wp-block-shortcode {
	margin: 0;
}

.contact-form-wrap {
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 10px;
	padding: 1.75rem 1.5rem;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
	margin: 0;
}

.contact-form {
	margin: 0;
}

.contact-form__title {
	margin: 0 0 0.5rem;
	padding: 0;
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
	text-align: center;
}

.contact-form__intro {
	margin: 0 0 1.25rem;
	text-align: center;
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.72);
}

.contact-form__notice {
	margin: 0 0 1rem;
	padding: 0.75rem 0.875rem;
	border-radius: 6px;
	font-size: 0.875rem;
}

.contact-form__notice--success {
	background: rgba(45, 74, 62, 0.12);
	color: var(--wp--preset--color--secondary);
}

.contact-form__notice--error {
	background: rgba(160, 45, 45, 0.12);
	color: #8b2f2f;
}

.contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.875rem 1rem;
	margin: 0 0 1.25rem;
}

.contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
}

.contact-form__field--full {
	grid-column: 1 / -1;
}

.contact-form__field label {
	display: block;
	margin: 0;
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

.contact-form__field input,
.contact-form__field textarea {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.6rem 0.75rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 5px;
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
	background: #ffffff;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.contact-form__field textarea {
	min-height: 6rem;
	resize: vertical;
}

.contact-form__field input:focus,
.contact-form__field textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.2);
}

.contact-form__actions {
	display: flex;
	justify-content: center;
	margin: 0;
	padding-top: 0;
}

.contact-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 9rem;
	margin: 0;
	padding: 0.65rem 1.25rem;
	background-color: var(--wp--preset--color--gold);
	color: #ffffff;
	border: 2px solid var(--wp--preset--color--gold);
	border-radius: 4px;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.contact-form__submit:hover {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: #ffffff;
}

@media (max-width: 781px) {
	.contact-cards,
	.contact-info-grid,
	.contact-form__grid {
		grid-template-columns: 1fr;
	}

	.contact-card,
	.contact-info-block,
	.contact-form-wrap {
		padding: 1.25rem 1rem;
	}

	.contact-form__grid {
		gap: 0.75rem;
		margin-bottom: 1rem;
	}

	.contact-form__actions {
		justify-content: stretch;
	}

	.contact-form__submit {
		width: 100%;
		min-width: 0;
	}
}

footer.site-footer,
.wp-block-template-part footer,
.wp-block-template-part > .site-footer {
	margin-top: 0 !important;
	width: 100%;
	max-width: none;
}

.error-404 {
	background-color: var(--wp--preset--color--tertiary);
	margin: 0;
}

.error-404__inner {
	width: 100%;
	max-width: 40rem;
	margin-left: auto;
	margin-right: auto;
}

.error-404__panel {
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	padding: 2.5rem 2rem;
	text-align: center;
}

.error-404__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1.5rem;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.error-404__badge i {
	color: var(--wp--preset--color--gold);
	font-size: 0.85rem;
}

.error-404__code {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	margin: 0 0 1.25rem;
	font-size: clamp(4rem, 14vw, 6.5rem);
	font-weight: 700;
	line-height: 1;
	color: var(--wp--preset--color--contrast);
}

.error-404__digit {
	display: inline-block;
}

.error-404__digit--gold {
	color: var(--wp--preset--color--gold);
	transform: scale(1.08);
}

.error-404__title {
	margin: 0 0 0.85rem;
	font-size: clamp(1.35rem, 3vw, 1.75rem);
	font-weight: 600;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
}

.error-404__message {
	margin: 0 auto 1.75rem;
	max-width: 32rem;
	font-size: 0.98rem;
	line-height: 1.65;
	color: rgba(26, 26, 26, 0.72);
}

.error-404__actions {
	display: flex;
	justify-content: center;
	margin: 0 0 2rem;
}

.error-404__home-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	min-width: 11rem;
	padding: 0.75rem 1.5rem;
	background-color: var(--wp--preset--color--gold);
	border: 2px solid var(--wp--preset--color--gold);
	border-radius: 4px;
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.error-404__home-btn:hover {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: #ffffff;
}

.error-404__paths {
	padding-top: 1.75rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.error-404__paths-title {
	margin: 0 0 1rem;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.55);
}

.error-404__path-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: left;
}

.error-404__path-list li {
	margin: 0;
	padding: 0;
}

.error-404__path-link {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 8px;
	background: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--contrast);
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.error-404__path-link i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: rgba(201, 162, 39, 0.15);
	color: var(--wp--preset--color--gold);
	font-size: 0.8rem;
	flex-shrink: 0;
}

.error-404__path-link:hover {
	border-color: var(--wp--preset--color--gold);
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 600px) {
	.error-404__panel {
		padding: 2rem 1.25rem;
	}

	.error-404__path-list {
		grid-template-columns: 1fr;
	}

	.error-404__home-btn {
		width: 100%;
	}
}

.login-page {
	background-color: var(--wp--preset--color--tertiary);
	margin: 0;
}

.dashboard-page {
	background-color: var(--wp--preset--color--tertiary);
	margin: 0;
	box-sizing: border-box;
}

.dashboard-page__inner,
.dashboard-page .dashboard-page__inner,
.dashboard-page > .alignwide {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.dashboard-page__inner.is-layout-flow > *,
.dashboard-page__inner > .wp-block-html,
.dashboard-page__inner > .wp-block-html > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

.login-page__inner,
.login-page .login-page__inner,
.login-page > .alignwide {
	width: 100% !important;
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.login-panel {
	max-width: 28rem;
	margin-left: auto;
	margin-right: auto;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	padding: 2.5rem 2rem;
	text-align: center;
}

.login-panel__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.login-panel__badge i {
	color: var(--wp--preset--color--gold);
	font-size: 0.85rem;
}

.login-panel__title {
	margin: 0 0 0.5rem;
	font-size: clamp(1.5rem, 3vw, 1.875rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.login-panel__gold {
	color: var(--wp--preset--color--gold);
}

.login-panel__intro {
	margin: 0 auto 1.75rem;
	max-width: 22rem;
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(26, 26, 26, 0.72);
}

.login-panel__notice {
	margin: 0 0 1rem;
	padding: 0.75rem 0.875rem;
	border-radius: 6px;
	font-size: 0.875rem;
	text-align: left;
}

.login-panel__notice--error {
	background: rgba(160, 45, 45, 0.12);
	color: #8b2f2f;
}

.login-panel__notice--success {
	background: rgba(45, 74, 62, 0.12);
	color: var(--wp--preset--color--secondary);
}

.login-form {
	margin: 0;
	text-align: left;
}

.login-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0 0 1rem;
}

.login-form__field label {
	font-size: 0.8rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

.login-form__field input[type="text"],
.login-form__field input[type="password"],
.login-form__field input[type="email"] {
	width: 100%;
	margin: 0;
	padding: 0.65rem 0.75rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 5px;
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.4;
	color: var(--wp--preset--color--contrast);
	background: #ffffff;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-form__field input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 2px rgba(201, 162, 39, 0.2);
}

.login-form__remember {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1.25rem;
	font-size: 0.85rem;
	color: rgba(26, 26, 26, 0.78);
}

.login-form__remember input {
	margin: 0;
}

.login-form__actions {
	display: flex;
	justify-content: center;
	margin: 0;
}

.login-form__submit,
.login-panel__logout-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	min-width: 11rem;
	padding: 0.75rem 1.5rem;
	background-color: var(--wp--preset--color--gold);
	border: 2px solid var(--wp--preset--color--gold);
	border-radius: 4px;
	color: #ffffff;
	font-family: inherit;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.login-form__submit:hover,
.login-panel__logout-btn:hover {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	color: #ffffff;
}

.login-panel__help {
	margin: 1.5rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
	font-size: 0.85rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.68);
}

.login-panel__help a {
	color: var(--wp--preset--color--contrast);
	font-weight: 500;
	text-decoration: none;
}

.login-panel__help a:hover {
	color: var(--wp--preset--color--gold);
}

.login-panel--signed-in .login-panel__intro {
	margin-bottom: 1.25rem;
}

.login-panel__welcome-name {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}

@media (max-width: 600px) {
	.login-panel {
		padding: 2rem 1.25rem;
	}

	.login-form__submit,
	.login-panel__logout-btn {
		width: 100%;
		min-width: 0;
	}
}

.portal-dashboard {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 0;
}

.portal-dashboard > .portal-dashboard__header {
	margin: 0 0 2rem;
}

.portal-dashboard__cards {
	display: block;
	width: 100%;
	margin: 0;
	overflow: visible;
}

.portal-dashboard > .portal-dashboard__account {
	display: block;
	position: relative;
	z-index: 1;
	margin: 0;
}

.portal-dashboard :where(h1, h2, h3, p) {
	margin-block-start: 0;
}

.portal-dashboard__header {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	gap: 1.5rem;
	margin: 0;
	padding: 2rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-dashboard__welcome {
	flex: 1 1 auto;
	min-width: 0;
}

.portal-dashboard__aside {
	display: flex;
	align-items: stretch;
	gap: 1rem;
	flex: 0 0 auto;
	min-width: 0;
}

.portal-dashboard__profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	align-self: stretch;
	gap: 0.65rem;
	flex: 0 0 auto;
	min-width: 10.5rem;
	max-width: 12rem;
	min-height: 100%;
	padding: 1rem 1.1rem;
	text-align: center;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	box-sizing: border-box;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04);
}

.portal-dashboard__profile-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.portal-dashboard__profile-avatar-image {
	display: block;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(201, 162, 39, 0.35);
}

.portal-dashboard__profile-details {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
	min-width: 0;
	width: 100%;
	text-align: center;
}

.portal-dashboard__profile-name {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
	word-break: break-word;
}

.portal-dashboard__profile-last-login {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.05rem;
	margin: 0;
}

.portal-dashboard__profile-last-login-label {
	font-size: 0.625rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.5);
}

.portal-dashboard__profile-last-login-value {
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.3;
	color: rgba(26, 26, 26, 0.78);
}

.portal-dashboard__profile-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	margin: 0.65rem 0 0;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
	transition: color 0.2s ease;
}

.portal-dashboard__profile-link:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.portal-dashboard__back {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.85rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
	transition: color 0.2s ease;
}

.portal-dashboard__back:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.portal-dashboard__stats {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	width: 100%;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-dashboard__stats-title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.5);
}

.portal-dashboard__stats-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
	width: 100%;
}

.portal-dashboard__stats-grid--resident {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.portal-dashboard__stats-grid--resident .portal-dashboard__stat-tile {
	padding: 0.85rem 0.9rem;
}

.portal-dashboard__stats-grid--resident .portal-dashboard__stat-value {
	font-size: 1.35rem;
}

.portal-dashboard__stats-grid--resident .portal-dashboard__stat-label {
	font-size: 0.75rem;
	line-height: 1.3;
}

.portal-dashboard__stat-tile {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	padding: 1rem 1.1rem;
	background: rgba(26, 26, 26, 0.02);
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

a.portal-dashboard__stat-tile:hover {
	border-color: rgba(201, 162, 39, 0.45);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
}

.portal-dashboard__stat-value {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--wp--preset--color--gold);
}

a.portal-dashboard__stat-tile:hover .portal-dashboard__stat-value {
	color: var(--wp--preset--color--contrast);
}

.portal-dashboard__stat-label {
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.35;
	color: rgba(26, 26, 26, 0.72);
}

.portal-dashboard--admin > .portal-admin__sections {
	margin-top: 0;
}

.portal-dashboard__info {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	flex: 0 0 auto;
	align-self: stretch;
	gap: 0;
	min-width: 0;
	max-width: 22rem;
	padding: 1.15rem 1.25rem;
	background: linear-gradient(135deg, rgba(201, 162, 39, 0.1), rgba(201, 162, 39, 0.04));
	border: 1px solid rgba(201, 162, 39, 0.22);
	border-radius: 12px;
	box-sizing: border-box;
}

.portal-dashboard__datetime {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.portal-dashboard__location {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.15rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.55);
}

.portal-dashboard__location i {
	color: var(--wp--preset--color--gold);
	font-size: 0.7rem;
}

.portal-dashboard__date,
.portal-dashboard__time {
	margin: 0;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.portal-dashboard__date {
	font-size: 0.875rem;
	font-weight: 500;
}

.portal-dashboard__time {
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--wp--preset--color--gold);
}

.portal-dashboard__weather {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 0.65rem;
	padding-top: 0.65rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-dashboard__weather-now {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.portal-dashboard__weather-forecast {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 0.45rem;
}

.portal-dashboard__forecast-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	padding: 0.55rem 0.35rem;
	border-radius: 10px;
	background: rgba(255, 255, 255, 0.55);
	text-align: center;
}

.portal-dashboard__forecast-day-label {
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.55);
}

.portal-dashboard__forecast-day-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	color: var(--wp--preset--color--gold);
	font-size: 0.95rem;
}

.portal-dashboard__forecast-day-temps {
	display: flex;
	flex-direction: column;
	gap: 0.05rem;
	line-height: 1.2;
}

.portal-dashboard__forecast-day-high {
	font-size: 0.78rem;
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
}

.portal-dashboard__forecast-day-low {
	font-size: 0.72rem;
	font-weight: 500;
	color: rgba(26, 26, 26, 0.55);
}

.portal-dashboard__weather-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.75);
	color: var(--wp--preset--color--gold);
	font-size: 1.1rem;
}

.portal-dashboard__weather-details {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.portal-dashboard__weather-temp {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.portal-dashboard__weather-label {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.3;
	color: rgba(26, 26, 26, 0.68);
}

.portal-dashboard__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 0.85rem;
	padding: 0.45rem 0.9rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.portal-dashboard__badge i {
	color: var(--wp--preset--color--gold);
	font-size: 0.85rem;
}

.portal-dashboard__title {
	margin: 0 0 0.5rem !important;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.portal-dashboard__name,
.portal-dashboard__gold {
	color: var(--wp--preset--color--gold);
}

.portal-dashboard__intro {
	margin: 0;
	max-width: none;
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(26, 26, 26, 0.72);
	white-space: nowrap;
}

.portal-dashboard__logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.7rem 1.25rem;
	background-color: var(--wp--preset--color--contrast);
	border: 2px solid var(--wp--preset--color--contrast);
	border-radius: 4px;
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.portal-dashboard__logout:hover {
	background-color: var(--wp--preset--color--gold);
	border-color: var(--wp--preset--color--gold);
	color: #ffffff;
}

.portal-dashboard__grid {
	display: grid !important;
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
	grid-auto-rows: minmax(min-content, auto);
	align-items: stretch;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: visible;
}

.portal-dashboard__grid > * {
	display: flex !important;
	flex-direction: column;
	margin: 0 !important;
	min-width: 0;
	min-height: 0;
	position: relative;
	isolation: isolate;
}

.portal-card {
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.75rem;
	height: auto;
	min-height: 100%;
	padding: 1.15rem 1rem;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
	color: inherit;
	text-decoration: none;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.portal-card:hover {
	border-color: rgba(201, 162, 39, 0.45);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

.portal-card--disabled {
	cursor: default;
	opacity: 0.88;
}

.portal-card--disabled:hover {
	border-color: rgba(26, 26, 26, 0.08);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.04);
	transform: none;
}

.portal-card__header {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 0;
}

.portal-card__icon {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	border-radius: 50%;
	background: rgba(201, 162, 39, 0.15);
	color: var(--wp--preset--color--gold);
	font-size: 0.9rem;
}

.portal-card__title {
	margin: 0 !important;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.portal-card__description {
	margin: 0;
	flex: 1 1 auto;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.72);
}

.portal-card__status,
.portal-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: 0;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.portal-card__status {
	color: rgba(26, 26, 26, 0.45);
}

.portal-card__link {
	color: var(--wp--preset--color--gold);
}

.portal-dashboard__account {
	clear: both;
	margin: 0;
	padding: 2rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-dashboard__account-title {
	margin: 0 0 1.5rem !important;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-dashboard__account-list {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 1.5rem;
	margin: 0;
}

.portal-dashboard__account-item {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	margin: 0;
}

.portal-dashboard__account-label {
	margin: 0;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.5);
}

.portal-dashboard__account-value {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 1200px) {
	.portal-dashboard__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1024px) {
	.portal-dashboard__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 781px) {
	.portal-dashboard > .portal-dashboard__header {
		margin-bottom: 1.5rem;
	}

	.portal-dashboard__cards {
		margin-bottom: 2rem;
	}

	.portal-dashboard__account-list {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.portal-dashboard__account {
		padding: 1.5rem 1.25rem;
	}
}

.portal-profile {
	display: block;
	width: 100%;
}

.portal-profile__header {
	margin: 0 0 1.5rem;
}

.portal-profile__back {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.85rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
	transition: color 0.2s ease;
}

.portal-profile__back:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.portal-profile__title {
	margin: 0 0 0.45rem !important;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.portal-profile__intro {
	margin: 0;
	max-width: 42rem;
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(26, 26, 26, 0.72);
}

.portal-profile__layout {
	display: grid;
	grid-template-columns: minmax(0, 16rem) minmax(0, 1fr);
	gap: 1.5rem;
	align-items: start;
}

.portal-profile__sidebar {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.portal-profile__summary,
.portal-profile__links,
.portal-profile__panel {
	padding: 1.5rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.portal-profile__links-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.portal-profile__links-item {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.7rem 0.85rem;
	border-radius: 8px;
	text-decoration: none;
	color: rgba(26, 26, 26, 0.78);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.3;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-profile__links-item:hover {
	background: rgba(26, 26, 26, 0.04);
	color: var(--wp--preset--color--contrast);
}

.portal-profile__links-item.is-active {
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
}

.portal-profile__links-item i {
	width: 1rem;
	text-align: center;
	font-size: 0.9rem;
}

.portal-profile__links--records {
	margin-top: 0.25rem;
}

.portal-profile__links-title {
	margin: 0 0 0.65rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.5);
}

.portal-profile__links-item--external {
	justify-content: flex-start;
}

.portal-profile__links-external {
	margin-left: auto;
	width: auto !important;
	font-size: 0.72rem !important;
	color: rgba(26, 26, 26, 0.4);
}

.portal-profile__links-item--external:hover .portal-profile__links-external {
	color: var(--wp--preset--color--gold);
}

.portal-profile__placeholder {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1.25rem;
	border: 1px dashed rgba(26, 26, 26, 0.12);
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-profile__placeholder i {
	font-size: 1.35rem;
	color: var(--wp--preset--color--gold);
}

.portal-profile__placeholder p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: rgba(26, 26, 26, 0.72);
}

.portal-profile__placeholder--wrap-icon {
	flex-direction: row;
	align-items: flex-start;
}

.portal-profile__placeholder--wrap-icon i {
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.portal-profile__placeholder--wrap-icon p {
	flex: 1;
	min-width: 0;
}

.portal-profile__roles-primary {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	margin: 0 0 1rem;
}

.portal-profile__roles-primary-label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.48);
}

.portal-profile__roles-primary-value {
	font-size: 0.95rem;
	font-weight: 600;
	color: rgba(26, 26, 26, 0.88);
}

.portal-profile__roles-empty {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.portal-profile__role-options {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.portal-profile__role-option {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.9rem 1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 10px;
	background: #ffffff;
	font-size: 0.95rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.88);
	cursor: pointer;
}

.portal-profile__role-option input {
	margin-top: 0.2rem;
	flex-shrink: 0;
}

.portal-profile__role-option-text {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.portal-profile__role-option-label {
	font-weight: 600;
	color: rgba(26, 26, 26, 0.9);
}

.portal-profile__role-option-description {
	font-size: 0.85rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.62);
}

.portal-profile__field.portal-profile__field--wide > .portal-profile__roles-primary-label {
	display: block;
	margin-bottom: 0.75rem;
}

.portal-profile__field-help {
	margin: 0.45rem 0 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.62);
}

.portal-profile__field--wide {
	grid-column: 1 / -1;
}

.portal-pets__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1.25rem;
	border: 1px dashed rgba(26, 26, 26, 0.12);
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-pets__empty i {
	font-size: 1.35rem;
	color: var(--wp--preset--color--gold);
}

.portal-pets__empty p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: rgba(26, 26, 26, 0.72);
}

.portal-pets__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: 1rem;
}

.portal-pets__card {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-pets__photo-image,
.portal-pets__photo-fallback {
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 12px;
	object-fit: cover;
}

.portal-pets__photo-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
	font-size: 1.25rem;
}

.portal-pets__details {
	min-width: 0;
}

.portal-pets__name {
	margin: 0 0 0.2rem;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.portal-pets__type {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.68);
}

.portal-pets__remove-form {
	grid-column: 1 / -1;
}

.portal-pets__remove {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.8rem;
	border: 1px solid rgba(26, 26, 26, 0.12);
	border-radius: 6px;
	background: #ffffff;
	color: rgba(26, 26, 26, 0.72);
	font-family: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.portal-pets__remove:hover {
	border-color: rgba(196, 92, 38, 0.35);
	color: #a9441f;
	background: rgba(196, 92, 38, 0.06);
}

.portal-pets__photo-preview {
	margin-top: 0.85rem;
}

.portal-pets__photo-preview-image {
	display: block;
	width: 6rem;
	height: 6rem;
	border-radius: 12px;
	object-fit: cover;
	border: 2px solid rgba(201, 162, 39, 0.35);
}

.portal-vehicles__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 1.25rem;
	border: 1px dashed rgba(26, 26, 26, 0.12);
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-vehicles__empty i {
	font-size: 1.35rem;
	color: var(--wp--preset--color--gold);
}

.portal-vehicles__empty p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.55;
	color: rgba(26, 26, 26, 0.72);
}

.portal-vehicles__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	gap: 1rem;
}

.portal-vehicles__card {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr);
	gap: 0.85rem;
	align-items: center;
	padding: 1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-vehicles__photo-image,
.portal-vehicles__photo-fallback {
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	border-radius: 12px;
	object-fit: cover;
}

.portal-vehicles__photo-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
	font-size: 1.25rem;
}

.portal-vehicles__details {
	min-width: 0;
}

.portal-vehicles__registration {
	margin: 0 0 0.2rem;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast);
}

.portal-vehicles__model,
.portal-vehicles__space {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.68);
}

.portal-vehicles__space {
	margin-top: 0.15rem;
}

.portal-vehicles__remove-form {
	grid-column: 1 / -1;
}

.portal-vehicles__remove {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.55rem 0.8rem;
	border: 1px solid rgba(26, 26, 26, 0.12);
	border-radius: 6px;
	background: #ffffff;
	color: rgba(26, 26, 26, 0.72);
	font-family: inherit;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.portal-vehicles__remove:hover {
	border-color: rgba(196, 92, 38, 0.35);
	color: #a9441f;
	background: rgba(196, 92, 38, 0.06);
}

.portal-vehicles__photo-preview {
	margin-top: 0.85rem;
}

.portal-vehicles__photo-preview-image {
	display: block;
	width: 6rem;
	height: 6rem;
	border-radius: 12px;
	object-fit: cover;
	border: 2px solid rgba(201, 162, 39, 0.35);
}

.portal-profile__panel {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.portal-profile__summary {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.55rem;
}

.portal-profile__avatar-image {
	display: block;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(201, 162, 39, 0.35);
}

.portal-profile__name {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast);
	word-break: break-word;
}

.portal-profile__role {
	margin: 0;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}

.portal-profile__meta {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	margin: 0.35rem 0 0;
}

.portal-profile__meta-label {
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.5);
}

.portal-profile__meta-value {
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.35;
	color: rgba(26, 26, 26, 0.78);
}

.portal-profile__notice {
	margin: 0 0 1rem;
	padding: 0.75rem 0.9rem;
	border-radius: 8px;
	font-size: 0.875rem;
	line-height: 1.45;
}

.portal-profile__notice--success {
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
}

.portal-profile__notice--error {
	background: rgba(176, 39, 39, 0.1);
	color: #8f1f1f;
}

.portal-profile__form {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.portal-profile__section {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	border: 0;
}

.portal-profile__section--readonly {
	padding-bottom: 0;
}

.portal-profile__form {
	margin-top: 1.35rem;
	padding-top: 1.35rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-profile__form > .portal-profile__section + .portal-profile__section {
	margin-top: 1.35rem;
	padding-top: 1.35rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-profile__details-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.75rem;
}

.portal-profile__field-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 1rem;
}

.portal-profile__detail {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
	padding: 0.8rem 0.9rem;
	background: rgba(26, 26, 26, 0.03);
	border: 1px solid rgba(26, 26, 26, 0.06);
	border-radius: 8px;
}

.portal-profile__detail--wide {
	grid-column: auto;
}

.portal-profile__detail-label {
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.5);
}

.portal-profile__detail-value {
	font-size: 0.9rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--wp--preset--color--contrast);
	word-break: break-word;
	white-space: pre-line;
}

.portal-profile__section-title {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-profile__section-intro {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.65);
}

.portal-profile__field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.portal-profile__field label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-profile__optional {
	font-weight: 500;
	color: rgba(26, 26, 26, 0.5);
}

.portal-profile__field input[type="text"],
.portal-profile__field input[type="email"],
.portal-profile__field input[type="password"],
.portal-profile__field input[type="tel"],
.portal-profile__field input[type="number"],
.portal-profile__field input[type="file"],
.portal-profile__field input[type="date"],
.portal-profile__field input[type="datetime-local"],
.portal-profile__field input[type="time"],
.portal-profile__field select,
.portal-profile__field textarea,
.portal-move-schedule__day-field input[type="text"] {
	width: 100%;
	padding: 0.7rem 0.85rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 0.9375rem;
	line-height: 1.4;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.portal-profile__field select {
	appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, rgba(26, 26, 26, 0.55) 50%), linear-gradient(135deg, rgba(26, 26, 26, 0.55) 50%, transparent 50%);
	background-position: calc(100% - 1.1rem) calc(50% + 0.1rem), calc(100% - 0.8rem) calc(50% + 0.1rem);
	background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
	background-repeat: no-repeat;
	padding-right: 2.25rem;
}

.portal-profile__field input:focus,
.portal-profile__field select:focus,
.portal-profile__field textarea:focus,
.portal-move-schedule__day-field input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-profile__photo {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
}

.portal-profile__photo-preview-image {
	display: block;
	width: 5rem;
	height: 5rem;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid rgba(201, 162, 39, 0.35);
}

.portal-profile__photo-fields {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	min-width: min(100%, 18rem);
	flex: 1;
}

.portal-profile__photo-remove {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: rgba(26, 26, 26, 0.72);
	cursor: pointer;
}

.portal-profile__photo-remove input {
	margin: 0;
}

.portal-profile__field--readonly input {
	background: rgba(26, 26, 26, 0.04);
	color: rgba(26, 26, 26, 0.65);
}

.portal-profile__actions {
	display: flex;
	justify-content: flex-start;
	margin-top: 1.35rem;
	padding-top: 1.35rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-profile__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.25rem;
	border: 0;
	border-radius: 4px;
	background-color: var(--wp--preset--color--contrast);
	color: #ffffff;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-profile__submit:hover {
	background-color: var(--wp--preset--color--gold);
	color: #ffffff;
}

.portal-contacts {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.portal-contacts__header {
	margin: 0;
}

.portal-contacts__header .portal-profile__intro {
	max-width: none;
	white-space: nowrap;
}

.portal-contacts__gold {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}

.portal-contacts__panel {
	padding: 1.5rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.portal-contacts__panel-heading {
	margin-bottom: 1.25rem;
}

.portal-contacts__section-title {
	margin: 0 0 0.4rem;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-contacts__section-intro {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.6;
	color: rgba(26, 26, 26, 0.72);
}

.portal-contacts__details .contact-cards,
.portal-contacts__details .contact-info-grid {
	gap: 1rem;
}

.portal-contacts__details .contact-cards {
	margin-bottom: 1rem;
}

.portal-contacts__details .contact-card,
.portal-contacts__details .contact-info-block {
	padding: 1.25rem;
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.02);
	box-shadow: none;
}

.portal-contacts__details .contact-card__title,
.portal-contacts__details .contact-info-block__title {
	margin-bottom: 0.75rem;
	font-size: 1rem;
}

.portal-contacts__details .contact-card__name {
	margin-bottom: 0.75rem;
	font-size: 0.9375rem;
}

.portal-contacts__details .contact-card__list li {
	margin-bottom: 0.55rem;
	font-size: 0.9rem;
}

.portal-contacts__form .contact-form-wrap {
	padding: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.portal-contacts__form .contact-form__title,
.portal-contacts__form .contact-form__intro {
	text-align: left;
}

.portal-contacts__form .contact-form__title {
	font-size: 1rem;
}

.portal-contacts__form .contact-form__intro {
	margin-bottom: 1rem;
	font-size: 0.9rem;
}

.portal-contacts__form .contact-form__submit {
	background-color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
}

.portal-contacts__form .contact-form__submit:hover {
	background-color: var(--wp--preset--color--gold);
	border-color: var(--wp--preset--color--gold);
}

.portal-contacts__map .map-section__embed-wrap {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-contacts__map .map-section__embed {
	height: 360px;
}

@media (max-width: 781px) {
	.portal-contacts__header .portal-profile__intro {
		white-space: normal;
	}

	.portal-contacts__details .contact-cards,
	.portal-contacts__details .contact-info-grid {
		grid-template-columns: 1fr;
	}

	.portal-contacts__map .map-section__embed {
		height: 280px;
	}
}

@media (max-width: 600px) {
	.portal-contacts__panel {
		padding: 1.15rem;
	}
}

@media (max-width: 781px) {
	.portal-profile__layout {
		grid-template-columns: 1fr;
	}

	.portal-profile__field-grid {
		grid-template-columns: 1fr;
	}

	.portal-profile__summary {
		flex-direction: row;
		align-items: center;
		text-align: left;
		gap: 1rem;
	}

	.portal-profile__summary .portal-profile__meta {
		margin-top: 0;
	}
}

@media (max-width: 600px) {
	.portal-profile__summary {
		flex-direction: column;
		text-align: center;
	}

	.portal-profile__summary .portal-profile__meta {
		align-items: center;
	}

	.portal-profile__submit {
		width: 100%;
	}
}

/* Resident portal navigation */
.site-header--portal {
	border-bottom: 1px solid rgba(26, 26, 26, 0.08);
	background: #ffffff;
}

.site-header__inner--portal {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin-left: auto;
	margin-right: auto;
	padding-top: 0.875rem;
	padding-bottom: 0.875rem;
}

.site-header__brand-row {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0.35rem;
	width: 100%;
	text-align: left;
}

.site-header--portal .neo200-logo {
	width: 100%;
	margin: 0 !important;
	text-align: left !important;
}

.site-header--portal .neo200-logo a {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
}

.portal-header__welcome-row {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.75rem;
	width: 100%;
}

.portal-header__welcome {
	margin: 0;
	flex: 0 1 auto;
	min-width: 0;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.3;
	color: rgba(26, 26, 26, 0.78);
	text-align: right;
}

.portal-header__notifications {
	position: relative;
	flex-shrink: 0;
}

.portal-header__notifications--mobile {
	display: none;
}

.portal-header__notifications-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border: 1px solid rgba(26, 26, 26, 0.12);
	border-radius: 999px;
	background: #ffffff;
	color: rgba(26, 26, 26, 0.72);
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.portal-header__notifications-toggle:hover,
.portal-header__notifications.is-open .portal-header__notifications-toggle {
	background: rgba(201, 162, 39, 0.12);
	border-color: rgba(201, 162, 39, 0.25);
	color: var(--wp--preset--color--contrast);
}

.portal-header__notifications-badge {
	position: absolute;
	top: -0.2rem;
	right: -0.2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.1rem;
	height: 1.1rem;
	padding: 0 0.25rem;
	border-radius: 999px;
	background: #c45c26;
	color: #ffffff;
	font-size: 0.62rem;
	font-weight: 700;
	line-height: 1;
}

.portal-header__notifications-menu {
	position: absolute;
	top: calc(100% + 0.55rem);
	left: 0;
	right: auto;
	z-index: 60;
	width: min(22rem, calc(100vw - 2rem));
	max-width: 22rem;
	padding: 0.85rem;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.12);
	box-sizing: border-box;
}

.portal-header__notifications-menu[hidden] {
	display: none;
}

.portal-header__notifications-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-bottom: 0.65rem;
}

.portal-header__notifications-title {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-header__notifications-mark-read {
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--gold);
	font-size: 0.75rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
}

.portal-header__notifications-empty {
	padding: 0.85rem 0.35rem;
	color: rgba(26, 26, 26, 0.62);
	font-size: 0.84rem;
}

.portal-header__notifications-empty p {
	margin: 0;
}

.portal-header__notifications-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	max-height: 18rem;
	overflow-y: auto;
}

.portal-header__notifications-link {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 0.65rem;
	padding: 0.7rem 0.55rem;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
	transition: background-color 0.2s ease;
}

.portal-header__notifications-link:hover {
	background: rgba(26, 26, 26, 0.04);
}

.portal-header__notifications-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
	font-size: 0.82rem;
}

.portal-header__notifications-copy {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: 0;
}

.portal-header__notifications-item-title {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-header__notifications-item-message,
.portal-header__notifications-item-time {
	font-size: 0.76rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.62);
}

.portal-header__name {
	color: var(--wp--preset--color--gold);
	font-weight: 600;
}

.portal-nav-wrap {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	min-width: 0;
}

.portal-nav__mobile-actions {
	display: contents;
}

.site-header__inner--portal .portal-nav-wrap {
	width: 100%;
	justify-content: flex-start;
}

:root {
	--portal-drawer-peek: 2.75rem;
}

.portal-nav__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-left: auto;
	padding: 0.55rem 0.9rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 4px;
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
}

.portal-nav__drawer-head,
.portal-nav__backdrop,
.portal-nav__peek,
.portal-nav__footer {
	display: none;
}

.portal-nav {
	flex: 0 1 auto;
	width: auto;
}

.portal-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.25rem;
	margin: 0;
	padding: 0;
	list-style: none;
	width: auto;
}

.portal-nav__item {
	position: relative;
	margin: 0;
}

.portal-nav__link,
.portal-nav__dropdown-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.5rem 0.75rem;
	border: 0;
	border-radius: 4px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-nav__link:hover,
.portal-nav__dropdown-toggle:hover,
.portal-nav__item.is-active > .portal-nav__link,
.portal-nav__item.is-active > .portal-nav__dropdown-toggle {
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
}

.site-nav-wrap .portal-nav__item.is-active > .portal-nav__link,
.site-nav-wrap .portal-nav__item.is-active > .portal-nav__dropdown-toggle,
.site-nav-wrap .portal-nav__item.is-active > .site-nav__cta {
	background: transparent;
	color: var(--wp--preset--color--contrast);
}

.site-nav-wrap .portal-nav__item--login.is-active > .site-nav__cta {
	background-color: var(--wp--preset--color--gold);
	color: #ffffff;
}

.portal-nav__dropdown-toggle i {
	font-size: 0.65rem;
	transition: transform 0.2s ease;
}

.portal-nav__item--dropdown.is-open .portal-nav__dropdown-toggle i,
.portal-nav__item--dropdown:hover .portal-nav__dropdown-toggle i,
.portal-nav__item--dropdown:focus-within .portal-nav__dropdown-toggle i {
	transform: rotate(180deg);
}

.portal-nav__dropdown {
	position: absolute;
	top: calc(100% + 0.35rem);
	left: 0;
	z-index: 30;
	display: none;
	min-width: 14.5rem;
	margin: 0;
	padding: 0.4rem;
	list-style: none;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.1);
}

.portal-nav__item--dropdown.is-open .portal-nav__dropdown,
.portal-nav__item--dropdown:hover .portal-nav__dropdown,
.portal-nav__item--dropdown:focus-within .portal-nav__dropdown {
	display: block;
}

.portal-nav__dropdown-item {
	margin: 0;
}

.portal-nav__dropdown-group {
	margin: 0;
	padding: 0.15rem 0;
	list-style: none;
}

.portal-nav__dropdown-group + .portal-nav__dropdown-group,
.portal-nav__dropdown-item + .portal-nav__dropdown-group,
.portal-nav__dropdown-group + .portal-nav__dropdown-item {
	margin-top: 0.2rem;
	padding-top: 0.35rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-nav__dropdown-heading {
	display: block;
	padding: 0.35rem 0.75rem 0.2rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.48);
}

.portal-nav__dropdown-group-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.portal-nav__dropdown-link {
	display: block;
	padding: 0.55rem 0.75rem;
	border-radius: 4px;
	color: var(--wp--preset--color--contrast);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-nav__dropdown-link:hover,
.portal-nav__dropdown-item.is-active .portal-nav__dropdown-link {
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
}

.portal-nav__item--logout {
	margin-left: auto;
}

.portal-nav__item--desktop-actions {
	margin-left: auto;
}

.portal-nav__desktop-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
}

.portal-nav__logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	padding: 0.5rem 1rem;
	border-radius: 4px;
	background-color: var(--wp--preset--color--contrast);
	color: #ffffff;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-nav__logout:hover {
	background-color: var(--wp--preset--color--gold);
	color: #ffffff;
}

@media (min-width: 1101px) {
	.site-header__inner:not(.site-header__inner--portal) {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: space-between;
		gap: 1.5rem;
	}

	.site-header__inner:not(.site-header__inner--portal) > .neo200-logo {
		flex: 0 0 auto;
		width: auto;
	}

	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap {
		width: auto;
		flex: 1 1 auto;
		justify-content: flex-end;
		margin-left: auto;
	}

	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap .portal-nav,
	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap .portal-nav__list {
		width: auto;
		flex: 0 1 auto;
	}

	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap .portal-nav__list {
		justify-content: flex-end;
		gap: 0.35rem 1.75rem;
	}

	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap .portal-nav__link {
		display: inline-flex;
		width: auto;
		padding: 0.25rem 0;
		font-size: 0.9375rem;
		font-weight: 500;
		white-space: nowrap;
	}

	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap .portal-nav__item--login {
		margin-left: 0.25rem;
	}

	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap .site-nav__cta {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.45rem;
		padding: 0.5rem 1.25rem;
		border-radius: 4px;
		background-color: var(--wp--preset--color--gold);
		color: #ffffff;
		font-size: 0.9375rem;
		font-weight: 600;
		line-height: 1.2;
		text-decoration: none;
		white-space: nowrap;
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.site-header__inner:not(.site-header__inner--portal) .site-nav-wrap .site-nav__cta:hover {
		background-color: var(--wp--preset--color--contrast);
		color: #ffffff;
	}

	.site-header--portal .site-header__brand-row {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
	}

	.site-header--portal .neo200-logo {
		width: auto;
	}

	.site-header--portal .portal-header__welcome-row {
		width: auto;
	}

	.site-header--portal .portal-header__welcome {
		text-align: right;
	}

	.site-header__inner--portal .portal-nav {
		flex: 1 1 100%;
		width: 100%;
	}

	.site-header__inner--portal .portal-nav__list {
		width: 100%;
	}

	.portal-nav__item--desktop-actions {
		display: list-item;
		margin-left: auto;
		margin-top: 0;
		padding-top: 0;
		border-top: 0;
		width: auto;
		max-width: none;
	}

	.portal-header__notifications--desktop .portal-header__notifications-menu {
		left: auto;
		right: 0;
	}
}

@media (max-width: 1100px) {
	.site-header__inner:not(.site-header__inner--portal) {
		display: grid;
		grid-template-columns: 1fr auto;
		align-items: start;
		column-gap: 0.75rem;
		row-gap: 0;
	}

	.site-header__inner:not(.site-header__inner--portal) > .neo200-logo {
		grid-column: 1;
		grid-row: 1;
		max-width: calc(100% - 3.25rem);
		min-width: 0;
	}

	.site-header__inner--portal {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-rows: auto;
		align-items: center;
		column-gap: 0.75rem;
		row-gap: 0;
	}

	.site-header__brand-row {
		grid-column: 1;
		grid-row: 1;
		align-items: flex-start;
		justify-content: flex-start;
		gap: 0 !important;
		row-gap: 0 !important;
		--wp--style--block-gap: 0;
		max-width: calc(100% - 8.5rem);
		min-width: 0;
	}

	.site-header--portal .site-header__brand-row {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.1rem !important;
		align-self: center;
	}

	.site-header--portal .neo200-logo {
		display: block;
		align-self: auto;
		min-height: 0;
		max-width: 100%;
		line-height: 1 !important;
	}

	.site-header--portal .neo200-logo,
	.site-header--portal .portal-header__welcome-row {
		margin: 0 !important;
		padding: 0;
	}

	.portal-header__welcome {
		margin-top: 0 !important;
		width: 100%;
		text-align: left !important;
		font-size: 0.8125rem;
		line-height: 1.1;
		word-break: break-word;
	}

	.portal-header__welcome-row {
		align-items: flex-start;
		justify-content: flex-start;
		width: 100%;
		max-width: 100%;
		gap: 0;
	}

	.portal-header__notifications--desktop {
		display: none;
	}

	.portal-header__notifications--mobile {
		display: block;
	}

	.portal-nav-wrap {
		display: block;
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		align-self: center;
		position: relative;
		z-index: 1003;
	}

	.portal-nav__mobile-actions {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
	}

	.portal-header__notifications--mobile .portal-header__notifications-menu {
		position: absolute;
		top: calc(100% + 0.45rem);
		right: 0;
		left: auto;
		width: min(20rem, calc(100vw - 1.25rem));
		max-width: none;
	}

	.portal-header__notifications-toggle {
		width: 2.1rem;
		height: 2.1rem;
	}

	.portal-header__notifications.is-open {
		z-index: 70;
	}

	.portal-nav__toggle {
		display: inline-flex;
		position: relative;
		z-index: 1;
		grid-column: auto;
		grid-row: auto;
		justify-self: auto;
		align-self: auto;
		margin-left: 0;
		min-height: 2.75rem;
		padding: 0.6rem 1rem;
		background-color: var(--wp--preset--color--contrast);
		border: 0;
		border-radius: 6px;
		color: #ffffff;
		font-size: 0.875rem;
		font-weight: 600;
	}

	.portal-nav__backdrop {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: var(--portal-drawer-peek, 2.75rem);
		z-index: 1000;
		background: rgba(26, 26, 26, 0.42);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.28s ease, visibility 0.28s ease;
	}

	.portal-nav__backdrop.is-visible {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.portal-nav__peek {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: var(--portal-drawer-peek, 2.75rem);
		z-index: 1002;
		cursor: pointer;
	}

	.portal-nav__peek.is-visible {
		display: block;
	}

	.portal-nav__toggle:hover {
		background-color: var(--wp--preset--color--gold);
		color: #ffffff;
	}

	.portal-nav__toggle[aria-expanded="true"] {
		background-color: var(--wp--preset--color--gold);
		visibility: hidden;
		pointer-events: none;
	}

	.portal-nav {
		position: fixed;
		top: 0;
		left: var(--portal-drawer-peek, 2.75rem);
		right: 0;
		bottom: 0;
		z-index: 1001;
		display: flex;
		flex-direction: column;
		width: auto;
		max-width: none;
		height: 100dvh;
		margin: 0;
		padding: 0;
		background: #ffffff;
		border-top: 0;
		border-radius: 0;
		box-shadow: none;
		transform: translateX(100%);
		visibility: hidden;
		overflow: hidden;
		box-sizing: border-box;
		transition: transform 0.28s ease, visibility 0.28s ease;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.site-header__inner--portal .portal-nav,
	.site-nav-wrap .portal-nav {
		flex: 1 1 auto;
		width: auto;
		max-width: none;
	}

	.portal-nav.is-open {
		transform: translateX(0);
		visibility: visible;
	}

	.portal-nav__drawer-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-shrink: 0;
		gap: 1rem;
		min-width: 0;
		min-height: 3.5rem;
		padding: max(1rem, env(safe-area-inset-top, 0px)) 1rem 1.25rem;
		border-bottom: 1px solid rgba(26, 26, 26, 0.08);
		background: linear-gradient(135deg, rgba(201, 162, 39, 0.08), rgba(255, 255, 255, 0));
		box-sizing: border-box;
	}

	.portal-nav__drawer-title {
		margin: 0;
		font-size: 1rem;
		font-weight: 600;
		color: var(--wp--preset--color--contrast);
	}

	.portal-nav__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		padding: 0;
		border: 0;
		border-radius: 6px;
		background: rgba(26, 26, 26, 0.06);
		color: var(--wp--preset--color--contrast);
		font-size: 1rem;
		cursor: pointer;
		transition: background-color 0.2s ease, color 0.2s ease;
	}

	.portal-nav__close:hover {
		background: rgba(201, 162, 39, 0.15);
		color: var(--wp--preset--color--contrast);
	}

	.portal-nav__list {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: stretch;
		gap: 0.25rem;
		min-width: 0;
		min-height: 0;
		margin: 0;
		padding: 1.25rem 1rem 0.75rem;
		overflow-x: hidden;
		overflow-y: auto;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
	}

	.site-header__inner--portal .portal-nav__list,
	.site-nav-wrap .portal-nav__list {
		width: 100%;
		max-width: 100%;
		align-items: stretch;
		justify-content: flex-start;
	}

	.portal-nav__footer {
		display: block;
		flex-shrink: 0;
		padding: 0.75rem 1rem max(1rem, env(safe-area-inset-bottom, 0px));
		border-top: 1px solid rgba(26, 26, 26, 0.1);
		background: #ffffff;
		box-sizing: border-box;
	}

	.portal-nav__footer .portal-nav__logout {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 2.75rem;
		padding: 0.75rem 1rem;
		font-size: 0.9rem;
		white-space: normal;
	}

	.portal-nav__item {
		display: block;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		flex: 0 0 auto;
		box-sizing: border-box;
	}

	.portal-nav__item--dropdown {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		overflow: visible;
	}

	.portal-nav__item--logout,
	.portal-nav__item--login {
		margin-left: 0;
		margin-top: 0.65rem;
		padding-top: 0.65rem;
		border-top: 1px solid rgba(26, 26, 26, 0.1);
		width: 100%;
		max-width: 100%;
	}

	.portal-nav__item--desktop-actions {
		display: none;
	}

	.portal-nav__logout,
	.site-nav-wrap .site-nav__cta {
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 2.75rem;
		padding: 0.75rem 1rem;
		font-size: 0.9rem;
		white-space: normal;
	}

	.site-nav-wrap .site-nav__cta {
		background-color: var(--wp--preset--color--contrast);
		color: #ffffff;
	}

	.site-nav-wrap .site-nav__cta:hover {
		background-color: var(--wp--preset--color--gold);
		color: #ffffff;
	}

	.portal-nav__link,
	.portal-nav__dropdown-toggle {
		display: flex;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		justify-content: space-between;
		white-space: normal;
		overflow-wrap: anywhere;
		min-height: 2.75rem;
		padding: 0.75rem 1rem;
		font-size: 0.9rem;
		border-radius: 6px;
		text-align: left;
	}

	.portal-nav__dropdown {
		position: static;
		display: none;
		flex: 0 0 auto;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		margin: 0;
		padding: 0.35rem 0 0.5rem 0.75rem;
		list-style: none;
		box-shadow: none;
		border: 0;
		border-left: 2px solid rgba(201, 162, 39, 0.35);
		background: rgba(26, 26, 26, 0.04);
		border-radius: 0;
		box-sizing: border-box;
		overflow: visible;
	}

	.portal-nav__item--dropdown.is-open .portal-nav__dropdown {
		display: flex;
		flex-direction: column;
	}

	.portal-nav__dropdown-item {
		display: block;
		width: 100%;
		margin: 0;
	}

	.portal-nav__dropdown-group {
		display: block;
		width: 100%;
		margin: 0;
		padding: 0.15rem 0;
	}

	.portal-nav__dropdown-group + .portal-nav__dropdown-group,
	.portal-nav__dropdown-item + .portal-nav__dropdown-group {
		margin-top: 0.35rem;
		padding-top: 0.45rem;
		border-top: 1px solid rgba(26, 26, 26, 0.08);
	}

	.portal-nav__dropdown-heading {
		display: block;
		padding: 0.45rem 0.9rem 0.25rem;
		font-size: 0.68rem;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: rgba(26, 26, 26, 0.48);
	}

	.portal-nav__dropdown-group-list {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.portal-nav__dropdown-link {
		display: block;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		min-height: 2.5rem;
		padding: 0.65rem 0.9rem;
		font-size: 0.875rem;
		line-height: 1.35;
		overflow-wrap: anywhere;
		white-space: normal;
	}

	.portal-nav__item--dropdown:hover .portal-nav__dropdown,
	.portal-nav__item--dropdown:focus-within .portal-nav__dropdown {
		display: none;
	}

	.portal-nav__item--dropdown.is-open:hover .portal-nav__dropdown,
	.portal-nav__item--dropdown.is-open:focus-within .portal-nav__dropdown {
		display: flex;
		flex-direction: column;
	}
}

body.portal-nav-open {
	overflow: hidden;
	touch-action: none;
}

html.portal-nav-open {
	overflow: hidden;
}

@media (max-width: 600px) {
	:root {
		--portal-drawer-peek: 2.5rem;
	}

	.portal-nav {
		border-radius: 0;
	}

	.portal-nav__toggle {
		min-width: 2.75rem;
		padding: 0.6rem 0.85rem;
	}

	.portal-nav__toggle-label {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

@media (max-width: 781px) {
	.dashboard-page.alignfull {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.site-header.site-header--portal.alignfull {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.site-footer.site-footer--portal.alignfull {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	.site-footer--portal .site-footer__inner {
		padding-top: 2.25rem;
		padding-bottom: 1.75rem;
	}

	.portal-dashboard > .portal-dashboard__header {
		margin-bottom: 1.25rem;
	}

	.portal-dashboard__header {
		flex-direction: column;
		gap: 1rem;
		padding: 1.35rem 1.15rem;
	}

	.portal-dashboard__aside {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 0.75rem;
	}

	.portal-dashboard__profile {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		align-self: stretch;
		min-height: 0;
		gap: 0.75rem;
		width: 100%;
		max-width: none;
		min-width: 0;
		padding: 0.85rem 1rem;
		text-align: left;
	}

	.portal-dashboard__info {
		align-self: stretch;
		max-width: none;
		width: 100%;
	}

	.portal-dashboard__profile-details {
		align-items: flex-start;
		text-align: left;
	}

	.portal-dashboard__profile-last-login {
		align-items: flex-start;
	}

	.portal-dashboard__profile-link {
		align-self: flex-start;
	}

	.portal-dashboard__stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.portal-dashboard__stats-grid--resident {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0.55rem;
	}

	.portal-dashboard__stats-grid--resident .portal-dashboard__stat-tile {
		padding: 0.75rem 0.65rem;
	}

	.portal-dashboard__stats-grid--resident .portal-dashboard__stat-value {
		font-size: 1.15rem;
	}

	.portal-dashboard__stats-grid--resident .portal-dashboard__stat-label {
		font-size: 0.68rem;
	}

	.portal-dashboard__stats {
		margin-top: 1rem;
		padding-top: 1rem;
	}

	.portal-dashboard__profile-avatar-image {
		width: 2.75rem;
		height: 2.75rem;
	}

	.portal-dashboard__title {
		font-size: 1.35rem;
	}

	.portal-dashboard__intro {
		white-space: normal;
		font-size: 0.875rem;
		line-height: 1.55;
	}

	.portal-dashboard__info {
		width: 100%;
		max-width: none;
		min-width: 0;
		padding: 1rem 1.15rem;
	}

	.portal-dashboard__datetime {
		min-width: 0;
	}

	.portal-dashboard__date {
		font-size: 0.8125rem;
		line-height: 1.4;
	}

	.portal-dashboard__time {
		font-size: 1.35rem;
		margin-top: 0.15rem;
	}

	.portal-dashboard__weather-forecast {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.portal-dashboard__grid {
		grid-template-columns: 1fr !important;
		gap: 0.75rem;
	}
}

@media (max-width: 600px) {
	.portal-dashboard__header {
		padding: 1.15rem 1rem;
	}

	.portal-dashboard__badge {
		font-size: 0.72rem;
		padding: 0.4rem 0.75rem;
	}

	.portal-dashboard__title {
		font-size: 1.2rem;
	}

	.portal-dashboard__info {
		padding: 0.95rem 1rem;
	}

	.portal-dashboard__weather-forecast {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.portal-dashboard__date {
		font-size: 0.8rem;
	}

	.portal-dashboard__time {
		font-size: 1.2rem;
	}

	.portal-dashboard__weather-icon {
		width: 2.25rem;
		height: 2.25rem;
		font-size: 1rem;
	}

	.portal-dashboard__weather-temp {
		font-size: 1rem;
	}

	.portal-dashboard__weather-label {
		font-size: 0.78rem;
	}

	.portal-card {
		padding: 1rem 0.9rem;
	}

	.portal-card__title {
		font-size: 0.875rem;
	}

	.neo200-logo {
		font-size: 1.25rem !important;
	}

	.portal-nav__toggle {
		min-height: 2.75rem;
		padding: 0.5rem 0.85rem;
	}
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.portal-admin__header {
	margin: 0 0 1.5rem;
}

.portal-admin__back {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.85rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
	transition: color 0.2s ease;
}

.portal-admin__back:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration: underline;
}

.portal-admin__heading-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.portal-admin__title {
	margin: 0 0 0.45rem !important;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.portal-admin__intro {
	margin: 0;
	max-width: 42rem;
	font-size: 0.95rem;
	line-height: 1.6;
	color: rgba(26, 26, 26, 0.72);
}

.portal-admin__action,
.portal-residents__edit {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.7rem 1rem;
	border-radius: 6px;
	background: var(--wp--preset--color--contrast);
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.portal-admin__action:hover,
.portal-residents__edit:hover {
	background: var(--wp--preset--color--gold);
	color: #ffffff;
}

.portal-residents__edit {
	padding: 0.45rem 0.75rem;
	font-size: 0.8rem;
}

.portal-admin__cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	gap: 1rem;
}

.portal-admin__sections {
	display: flex;
	flex-direction: column;
	gap: 1.75rem;
}

.portal-admin__section {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}

.portal-admin__section-title {
	margin: 0;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.5);
}

.portal-admin__card {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	padding: 1.25rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	text-decoration: none;
	transition: border-color 0.2s ease, transform 0.2s ease;
}

.portal-admin__card:hover {
	border-color: rgba(201, 162, 39, 0.45);
	transform: translateY(-2px);
}

.portal-admin__card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 10px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
	font-size: 1.1rem;
}

.portal-admin__card-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-admin__card-text {
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.68);
}

.portal-admin__panel,
.portal-admin__empty {
	padding: 1.5rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-admin__panel .portal-profile__notice {
	margin-bottom: 1rem;
}

.portal-admin__resident-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1rem;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(201, 162, 39, 0.22);
	border-radius: 10px;
	background: rgba(201, 162, 39, 0.08);
}

.portal-admin__resident-filter-text {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.78);
}

.portal-admin__resident-filter-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem 1rem;
}

.portal-admin__resident-filter-link {
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	color: var(--wp--preset--color--gold);
}

.portal-admin__resident-filter-link:hover {
	text-decoration: underline;
}

.portal-admin__panel > .portal-profile__form {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.portal-admin__panel > .portal-profile__form > .portal-profile__section:first-child {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.portal-admin__empty {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.portal-admin__empty i {
	font-size: 1.35rem;
	color: var(--wp--preset--color--gold);
}

.portal-admin__empty p {
	margin: 0;
	color: rgba(26, 26, 26, 0.72);
}

.portal-residents__table-wrap {
	overflow-x: auto;
}

.portal-residents__table {
	width: 100%;
	min-width: 52rem;
	border-collapse: collapse;
	font-size: 0.875rem;
}

.portal-residents__table th,
.portal-residents__table td {
	padding: 0.85rem 0.75rem;
	border-bottom: 1px solid rgba(26, 26, 26, 0.08);
	text-align: left;
	vertical-align: middle;
}

.portal-residents__table th {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.55);
}

.portal-residents__sort {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}

.portal-residents__sort:hover,
.portal-residents__sort.is-active {
	color: var(--wp--preset--color--contrast);
}

.portal-residents__sort-icon {
	opacity: 0.35;
	font-size: 0.7rem;
}

.portal-residents__sort.is-active .fa-arrow-up,
.portal-residents__sort.is-active .fa-arrow-down {
	color: var(--wp--preset--color--gold);
	font-size: 0.7rem;
}

.portal-residents__pagination {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-residents__pagination-meta {
	margin: 0;
	font-size: 0.82rem;
	color: rgba(26, 26, 26, 0.62);
}

.portal-residents__pagination-links {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	flex-wrap: wrap;
}

.portal-residents__pagination-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25rem;
	padding: 0.45rem 0.7rem;
	border: 1px solid rgba(26, 26, 26, 0.12);
	border-radius: 6px;
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.portal-residents__pagination-link:hover {
	border-color: rgba(201, 162, 39, 0.45);
	color: var(--wp--preset--color--contrast);
}

.portal-residents__pagination-link.is-active {
	border-color: var(--wp--preset--color--gold);
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
}

.portal-residents__pagination-link.is-disabled {
	opacity: 0.45;
	cursor: default;
}

.portal-residents__table tbody tr:last-child td {
	border-bottom: 0;
}

.portal-residents__resident {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	min-width: 10rem;
}

.portal-residents__avatar {
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	object-fit: cover;
}

.portal-residents__name {
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-residents__search {
	margin: 0 0 1rem;
	padding: 1.25rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-residents__search-label {
	display: block;
	margin: 0 0 0.65rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-residents__search-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.portal-residents__search-field {
	position: relative;
	flex: 1 1 16rem;
}

.portal-residents__search-field i {
	position: absolute;
	top: 50%;
	left: 0.9rem;
	transform: translateY(-50%);
	color: rgba(26, 26, 26, 0.45);
	font-size: 0.9rem;
	pointer-events: none;
}

.portal-residents__search-field input {
	width: 100%;
	padding: 0.75rem 0.9rem 0.75rem 2.4rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 0.9375rem;
	line-height: 1.4;
	box-sizing: border-box;
}

.portal-residents__search-field input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-residents__search-submit,
.portal-residents__search-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1rem;
	border-radius: 6px;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.portal-residents__search-submit {
	border: 0;
	background: var(--wp--preset--color--contrast);
	color: #ffffff;
	transition: background-color 0.2s ease;
}

.portal-residents__search-submit:hover {
	background: var(--wp--preset--color--gold);
}

.portal-residents__search-clear {
	border: 1px solid rgba(26, 26, 26, 0.12);
	background: #ffffff;
	color: rgba(26, 26, 26, 0.72);
}

.portal-residents__search-clear:hover {
	border-color: rgba(201, 162, 39, 0.45);
	color: var(--wp--preset--color--contrast);
}

.portal-residents__search-meta {
	margin: 0.75rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.62);
}

.portal-resident-search__control {
	position: relative;
}

.portal-resident-search__input-wrap {
	position: relative;
}

.portal-resident-search__input-wrap i {
	position: absolute;
	top: 50%;
	left: 0.9rem;
	transform: translateY(-50%);
	color: rgba(26, 26, 26, 0.45);
	font-size: 0.9rem;
	pointer-events: none;
}

.portal-resident-search__input {
	width: 100%;
	padding: 0.75rem 2.5rem 0.75rem 2.4rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 0.9375rem;
	line-height: 1.4;
}

.portal-resident-search__input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-resident-search__clear {
	position: absolute;
	top: 50%;
	right: 0.55rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(26, 26, 26, 0.06);
	color: rgba(26, 26, 26, 0.62);
	cursor: pointer;
	transform: translateY(-50%);
}

.portal-resident-search__clear:hover {
	background: rgba(201, 162, 39, 0.15);
	color: var(--wp--preset--color--contrast);
}

.portal-resident-search__list {
	position: absolute;
	top: calc(100% + 0.35rem);
	left: 0;
	right: 0;
	z-index: 20;
	display: none;
	flex-direction: column;
	max-height: 16rem;
	overflow-y: auto;
	margin: 0;
	padding: 0.35rem;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 14px 30px rgba(0, 0, 0, 0.08);
}

.portal-resident-search__list.is-open {
	display: flex;
}

.portal-resident-search__list[hidden] {
	display: none !important;
}

.portal-resident-search__option {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.15rem;
	width: 100%;
	padding: 0.7rem 0.8rem;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	text-align: left;
	cursor: pointer;
}

.portal-resident-search__option[hidden] {
	display: none !important;
}

.portal-resident-search__option:hover,
.portal-resident-search__option.is-active {
	background: rgba(201, 162, 39, 0.1);
}

.portal-resident-search__option-name {
	font-size: 0.92rem;
	font-weight: 600;
}

.portal-resident-search__option-address {
	font-size: 0.82rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.62);
}

.portal-resident-search__hint,
.portal-resident-search__empty {
	margin: 0.55rem 0 0;
	font-size: 0.82rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.62);
}

.portal-resident-search.is-selected .portal-resident-search__input {
	background: rgba(201, 162, 39, 0.06);
}

.portal-maintenance-admin__search-toolbar {
	display: grid;
	grid-template-columns: minmax(12rem, 1.6fr) minmax(9rem, 0.8fr) minmax(9rem, 0.8fr) auto;
	gap: 0.75rem;
	align-items: end;
}

.portal-maintenance-admin__search-input {
	min-width: 0;
}

.portal-maintenance-admin__filter {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.portal-maintenance-admin__filter label {
	font-size: 0.75rem;
	font-weight: 600;
	color: rgba(26, 26, 26, 0.65);
}

.portal-maintenance-admin__filter select {
	width: 100%;
	min-height: 2.75rem;
	padding: 0.7rem 0.9rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 0.9375rem;
	line-height: 1.4;
	box-sizing: border-box;
}

.portal-maintenance-admin__filter select:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-maintenance-admin__search-actions {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.portal-maintenance__summary-form .portal-profile__section-title {
	margin-bottom: 0.15rem;
}

.portal-maintenance__summary-form .portal-profile__details-grid {
	margin-top: 0.15rem;
}

.portal-maintenance__summary-form .portal-profile__detail-value .portal-maintenance__photo-grid {
	margin-top: 0.35rem;
}

.portal-maintenance-admin__search + .portal-residents__empty {
	margin-top: 1.25rem;
}

@media (max-width: 900px) {
	.portal-maintenance-admin__search-toolbar {
		grid-template-columns: 1fr 1fr;
	}

	.portal-maintenance-admin__search-input {
		grid-column: 1 / -1;
	}

	.portal-maintenance-admin__search-actions {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.portal-maintenance-admin__search-toolbar {
		grid-template-columns: 1fr;
	}
}

.portal-contact-request {
	padding: 0;
}

.portal-contact-request__header {
	margin-bottom: 1.5rem;
}

.portal-contact-request__title {
	margin: 0.75rem 0 0.35rem;
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-contact-request__meta {
	margin: 0;
	font-size: 0.875rem;
	color: rgba(26, 26, 26, 0.62);
}

.portal-contact-request__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.5rem;
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.portal-contact-request__detail {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.portal-contact-request__detail-label {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(26, 26, 26, 0.55);
}

.portal-contact-request__detail-value {
	font-size: 0.9375rem;
	color: var(--wp--preset--color--contrast);
}

.portal-contact-request__detail-value a {
	color: inherit;
}

.portal-contact-request__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.55rem;
	border-radius: 999px;
	font-size: 0.75rem;
	font-weight: 600;
}

.portal-contact-request__badge--success {
	background: rgba(46, 125, 50, 0.12);
	color: #2e7d32;
}

.portal-contact-request__badge--pending {
	background: rgba(196, 92, 38, 0.12);
	color: #a34a12;
}

.portal-contact-request__badge--declined {
	background: rgba(26, 26, 26, 0.08);
	color: rgba(26, 26, 26, 0.62);
}

.portal-profile__detail-value .portal-contact-request__badge,
.portal-contact-request__detail-value .portal-contact-request__badge {
	display: inline-flex;
	width: fit-content;
	max-width: 100%;
	white-space: nowrap;
}

.portal-profile__detail-value:has(.portal-contact-request__badge) {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	white-space: normal;
}

.portal-parcels__item-top .portal-contact-request__badge {
	flex-shrink: 0;
}

.portal-contact-request__message {
	padding: 1.25rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.portal-contact-request__message-title {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-contact-request__message-body {
	margin: 0;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: rgba(26, 26, 26, 0.82);
	white-space: normal;
}

.portal-contact-request .portal-profile__notice {
	margin-bottom: 1rem;
}

.portal-move-booking__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
	margin-bottom: 1.5rem;
	padding: 0;
	border: 0;
	background: transparent;
}

.portal-move-booking__details .portal-profile__detail--wide {
	grid-column: 1 / -1;
}

.portal-contact-request__status-form {
	margin-top: 0;
	padding: 1.25rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.portal-contact-request__status-title {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-contact-request__status-field {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	max-width: 20rem;
}

.portal-contact-request__status-field label {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-contact-request__status-field select {
	width: 100%;
	padding: 0.7rem 0.85rem;
	padding-right: 2.25rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background-color: #ffffff;
	background-image: linear-gradient(45deg, transparent 50%, rgba(26, 26, 26, 0.55) 50%), linear-gradient(135deg, rgba(26, 26, 26, 0.55) 50%, transparent 50%);
	background-position: calc(100% - 1.1rem) calc(50% + 0.1rem), calc(100% - 0.8rem) calc(50% + 0.1rem);
	background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
	background-repeat: no-repeat;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: 0.9375rem;
	line-height: 1.4;
	box-sizing: border-box;
	appearance: none;
}

.portal-contact-request__status-field select:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-contact-request__status-actions {
	display: flex;
	justify-content: flex-start;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-parcels__collect-form {
	margin-top: 1.5rem;
}

.portal-parcels__collect-form .portal-contact-request__status-title {
	margin-bottom: 0.5rem;
}

.portal-parcels__collect-form .portal-profile__section-intro {
	margin-bottom: 1.25rem;
}

.portal-parcels__collect-form .portal-profile__field-grid {
	margin: 0;
}

.portal-parcels__collect-form .portal-profile__field input,
.portal-parcels__collect-form .portal-profile__field select {
	width: 100%;
}

.portal-parcels__collect-form .portal-contact-request__status-actions {
	margin-top: 1.25rem;
}

.portal-parcels__collect-actions {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

@media (max-width: 781px) {
	.portal-contact-request__details {
		grid-template-columns: 1fr;
	}

	.portal-move-booking__details {
		grid-template-columns: 1fr;
	}

	.portal-residents__table {
		min-width: 0;
	}

	.portal-residents__table thead {
		display: none;
	}

	.portal-residents__table tr {
		display: block;
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		border-bottom: 1px solid rgba(26, 26, 26, 0.08);
	}

	.portal-residents__table td {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.45rem 0;
		border-bottom: 0;
	}

	.portal-residents__table td::before {
		content: attr(data-label);
		font-size: 0.72rem;
		font-weight: 600;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: rgba(26, 26, 26, 0.55);
	}
}

.portal-profile__links--steps .portal-profile__links-item {
	cursor: default;
}

.portal-profile__links--steps .portal-profile__links-item.is-complete {
	color: rgba(26, 26, 26, 0.72);
}

.portal-profile__actions--split {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.portal-profile__secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1rem;
	border: 1px solid rgba(26, 26, 26, 0.12);
	border-radius: 6px;
	background: #ffffff;
	color: rgba(26, 26, 26, 0.78);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.portal-profile__secondary:hover {
	border-color: rgba(201, 162, 39, 0.45);
	color: var(--wp--preset--color--contrast);
}

.portal-profile__field textarea {
	min-height: 6rem;
	resize: vertical;
}

.portal-profile__field input[readonly] {
	background: rgba(26, 26, 26, 0.04);
	color: rgba(26, 26, 26, 0.65);
}

.portal-move-booking__service-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.portal-move-booking__service-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 1.25rem;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 12px;
	background: #ffffff;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.portal-move-booking__service-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.portal-move-booking__service-card.is-selected,
.portal-move-booking__service-card:has(input:checked) {
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 10px 24px rgba(201, 162, 39, 0.12);
}

.portal-move-booking__service-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
	font-size: 1rem;
}

.portal-move-booking__service-title {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-move-booking__service-meta {
	font-size: 0.875rem;
	color: rgba(26, 26, 26, 0.62);
}

.portal-move-booking__calendar-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.portal-move-booking__calendar-nav-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

.portal-move-booking__calendar-nav-btn:hover {
	color: var(--wp--preset--color--contrast);
}

.portal-move-booking__calendar-title {
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-move-booking__calendar {
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	overflow: hidden;
	background: #ffffff;
}

.portal-move-booking__calendar-weekdays,
.portal-move-booking__calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.portal-move-booking__calendar-weekdays span {
	padding: 0.75rem 0.35rem;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 600;
	color: rgba(26, 26, 26, 0.55);
	background: rgba(26, 26, 26, 0.03);
}

.portal-move-booking__calendar-day {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.35rem;
	border: 0;
	border-top: 1px solid rgba(26, 26, 26, 0.06);
	border-right: 1px solid rgba(26, 26, 26, 0.06);
	background: #ffffff;
	color: var(--wp--preset--color--contrast);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
}

.portal-move-booking__calendar-day:nth-child(7n) {
	border-right: 0;
}

.portal-move-booking__calendar-day--empty {
	background: rgba(26, 26, 26, 0.02);
}

.portal-move-booking__calendar-day.is-disabled {
	color: rgba(26, 26, 26, 0.28);
	background: rgba(26, 26, 26, 0.02);
}

.portal-move-booking__calendar-day.is-selected,
.portal-move-booking__calendar-day[aria-current="date"] {
	background: var(--wp--preset--color--gold);
	color: #ffffff;
}

.portal-move-booking__slots {
	margin-top: 1.25rem;
}

.portal-move-booking__slots.is-hidden {
	display: none;
}

.portal-move-booking__slots-title {
	margin: 0 0 0.75rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-move-booking__slots-empty {
	margin: 0;
	color: rgba(26, 26, 26, 0.65);
}

.portal-move-booking__slot-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
	gap: 0.75rem;
}

.portal-move-booking__slot {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.8rem 1rem;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 8px;
	background: #ffffff;
	cursor: pointer;
}

.portal-move-booking__slot input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.portal-move-booking__slot.is-selected,
.portal-move-booking__slot:has(input:checked) {
	border-color: var(--wp--preset--color--gold);
	background: rgba(201, 162, 39, 0.08);
}

.portal-move-booking__slot.is-full {
	border-color: rgba(201, 162, 39, 0.45);
	background: rgba(201, 162, 39, 0.06);
}

.portal-move-booking__slot-capacity {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: rgba(26, 26, 26, 0.65);
}

.portal-move-booking__slots-intro {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	color: rgba(26, 26, 26, 0.7);
}

.portal-visitor-parking__history .portal-profile__section-intro {
	margin-bottom: 1.25rem;
}

.portal-visitor-parking__landing {
	margin-bottom: 1.5rem;
}

.portal-visitor-parking__landing-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.5rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.portal-visitor-parking__landing-card .portal-profile__section-intro {
	margin-bottom: 1.5rem;
}

.portal-visitor-parking__history-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.portal-visitor-parking__history-item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.9rem;
	padding: 1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.portal-visitor-parking__history-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
}

.portal-visitor-parking__history-content {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.portal-visitor-parking__history-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.portal-visitor-parking__history-meta,
.portal-visitor-parking__history-actions {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.62);
}

.portal-visitor-parking__history-actions a {
	font-weight: 600;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

.portal-visitor-parking__history-actions a:hover {
	text-decoration: underline;
}

.portal-amenity-bookings__landing {
	margin-bottom: 1.5rem;
}

.portal-amenity-bookings__landing-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.5rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-amenity-bookings__landing-card .portal-profile__section-intro {
	margin-bottom: 1rem;
}

.portal-amenity-bookings__history-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.portal-amenity-bookings__history-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1rem;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-amenity-bookings__history-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
}

.portal-amenity-bookings__history-content {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.portal-amenity-bookings__history-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.portal-amenity-bookings__history-meta,
.portal-amenity-bookings__history-actions {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.62);
}

.portal-amenity-bookings__history-actions a {
	font-weight: 600;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

.portal-amenity-bookings__history-actions a:hover {
	text-decoration: underline;
}

.portal-admin-amenities {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.portal-admin-amenities__list-panel {
	margin-top: 0.5rem;
}

.portal-admin-amenities__list-panel .portal-profile__section-title {
	margin-top: 0;
}

.portal-admin-amenities__list-panel .portal-residents__empty {
	margin-top: 0.5rem;
}

.portal-admin-amenities__delete-form {
	display: inline;
	margin-left: 0.75rem;
}

.portal-admin-amenities__delete-form button {
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
}

.portal-move-booking__subsection {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-move-booking__subsection-title {
	margin: 0 0 0.85rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-move-booking__agent-fields.is-hidden {
	display: none;
}

.portal-move-booking__file-note {
	margin: 0.45rem 0 0;
	font-size: 0.8125rem;
	color: rgba(26, 26, 26, 0.62);
}

.portal-move-booking__summary-form {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.portal-move-booking__summary-form > .portal-profile__section {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.portal-move-schedule__week {
	display: grid;
	gap: 0.75rem;
}

.portal-move-schedule__day {
	display: grid;
	grid-template-columns: minmax(6.5rem, 8rem) minmax(0, 1fr);
	gap: 0.85rem 1rem;
	align-items: center;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-move-schedule__day-label {
	margin: 0;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-move-schedule__day-field {
	min-width: 0;
}

.portal-move-schedule__day-field input[type="text"] {
	margin: 0;
}

.portal-move-booking__main {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	min-width: 0;
}

.portal-move-booking__history {
	padding: 1.5rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.portal-move-booking__history .portal-profile__section-title {
	margin-top: 0;
}

.portal-move-booking__history-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.portal-move-booking__history-item {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-move-booking__history-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 10px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
	font-size: 1rem;
}

.portal-move-booking__history-content {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.portal-move-booking__history-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.portal-move-booking__history-type {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-move-booking__history-meta {
	margin: 0;
	font-size: 0.9rem;
	color: rgba(26, 26, 26, 0.78);
}

.portal-move-booking__history-separator {
	color: rgba(26, 26, 26, 0.35);
}

.portal-move-booking__history-submitted {
	margin: 0;
	font-size: 0.8rem;
	color: rgba(26, 26, 26, 0.55);
}

@media (max-width: 781px) {
	.portal-move-booking__service-grid {
		grid-template-columns: 1fr;
	}

	.portal-move-booking__calendar-nav {
		flex-direction: column;
		align-items: flex-start;
	}

	.portal-move-schedule__day {
		grid-template-columns: 1fr;
		gap: 0.5rem;
	}

	.portal-move-booking__history-item {
		grid-template-columns: 1fr;
	}

	.portal-move-booking__history-icon {
		width: 2.25rem;
		height: 2.25rem;
		font-size: 0.9rem;
	}
}

/* Maintenance requests */
.portal-maintenance__type-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem;
}

.portal-maintenance__type-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 1rem;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 12px;
	background: #ffffff;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.portal-maintenance__type-card input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.portal-maintenance__type-card:hover {
	border-color: rgba(26, 26, 26, 0.18);
	background: rgba(26, 26, 26, 0.02);
}

.portal-maintenance__type-card.is-selected {
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 1px rgba(201, 162, 39, 0.25);
	background: rgba(201, 162, 39, 0.05);
}

.portal-maintenance__type-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
}

.portal-maintenance__type-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-maintenance__landing {
	margin-bottom: 1.5rem;
}

.portal-maintenance__landing-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	padding: 1.5rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04);
}

.portal-maintenance__landing-card .portal-profile__section-title {
	margin-bottom: 0.5rem;
}

.portal-maintenance__landing-card .portal-profile__section-intro {
	margin-bottom: 1.5rem;
}

.portal-maintenance__landing-card .portal-profile__submit {
	margin-top: 0;
}

.portal-maintenance__photo-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));
	gap: 0.75rem;
}

.portal-maintenance__photo {
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
}

.portal-maintenance__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.portal-maintenance__history {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-maintenance__history .portal-profile__section-intro {
	margin-bottom: 1.25rem;
}

.portal-maintenance__history-list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.portal-maintenance__history-item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.9rem;
	padding: 1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.portal-maintenance__history-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
}

.portal-maintenance__history-content {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.portal-maintenance__history-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.portal-maintenance__history-type {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-maintenance__history-meta,
.portal-maintenance__history-submitted,
.portal-maintenance__history-actions {
	margin: 0;
	font-size: 0.85rem;
	color: rgba(26, 26, 26, 0.68);
}

.portal-maintenance__history-actions a {
	color: var(--wp--preset--color--contrast);
	font-weight: 600;
	text-decoration: none;
}

.portal-maintenance__history-actions a:hover {
	color: var(--wp--preset--color--gold);
}

.portal-maintenance__history-separator {
	opacity: 0.5;
}

@media (max-width: 781px) {
	.portal-maintenance__type-grid {
		grid-template-columns: 1fr;
	}

	.portal-maintenance__history-item {
		grid-template-columns: 1fr;
	}

	.portal-maintenance__history-icon {
		width: 2.25rem;
		height: 2.25rem;
		font-size: 0.9rem;
	}
}

.portal-parcels__section {
	margin-top: 0;
}

.portal-parcels__section + .portal-parcels__section {
	margin-top: 2rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-parcels__section .portal-profile__section-title {
	margin-bottom: 0.5rem;
}

.portal-parcels__section .portal-profile__section-intro {
	margin-bottom: 1.25rem;
}

.portal-parcels__list {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.portal-parcels__item {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.9rem;
	padding: 1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.portal-parcels__item-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
}

.portal-parcels__item-content {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.portal-parcels__item-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
}

.portal-parcels__item-type {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-parcels__item-meta,
.portal-parcels__item-actions {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.62);
}

.portal-parcels__item-actions a {
	font-weight: 600;
	color: var(--wp--preset--color--gold);
	text-decoration: none;
}

.portal-parcels__item-actions a:hover {
	text-decoration: underline;
}

.portal-parcels__item-separator {
	opacity: 0.5;
}

.portal-parcels__empty {
	margin-top: 0;
}

.portal-parcels__detail-sections {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.portal-parcels__detail-section {
	padding: 1.25rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: #ffffff;
}

.portal-parcels__detail-heading {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-parcels__details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.85rem 1rem;
}

.portal-parcels__details .portal-profile__detail {
	margin: 0;
}

.portal-parcels__register-form .portal-profile__section {
	margin-bottom: 1.5rem;
}

.portal-parcels__empty-admin {
	margin-top: 1.5rem;
}

@media (max-width: 781px) {
	.portal-parcels__item {
		grid-template-columns: 1fr;
	}

	.portal-parcels__item-icon {
		width: 2.25rem;
		height: 2.25rem;
		font-size: 0.9rem;
	}

	.portal-parcels__item-top {
		align-items: flex-start;
		flex-direction: column;
	}

	.portal-parcels__collect-form .portal-profile__field-grid {
		grid-template-columns: 1fr;
	}

	.portal-parcels__details {
		grid-template-columns: 1fr;
	}
}

.portal-documents {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.portal-documents__header {
	margin: 0;
}

.portal-documents__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
}

.portal-documents__intro {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.72);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.portal-documents__search {
	flex: 0 0 auto;
	width: min(100%, 16rem);
}

.portal-documents__search-field {
	position: relative;
}

.portal-documents__search-field i {
	position: absolute;
	top: 50%;
	left: 0.9rem;
	transform: translateY(-50%);
	color: rgba(26, 26, 26, 0.45);
	font-size: 0.9rem;
	pointer-events: none;
}

.portal-documents__search-field input {
	width: 100%;
	padding: 0.7rem 0.9rem 0.7rem 2.4rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background: #ffffff;
	font-size: 0.875rem;
	color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
}

.portal-documents__search-field input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-documents__no-results {
	padding: 1rem 1.1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: rgba(26, 26, 26, 0.02);
	color: rgba(26, 26, 26, 0.68);
}

.portal-documents__no-results p {
	margin: 0;
}

.portal-documents__panel {
	padding: 1.5rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
}

.portal-documents__panel-heading {
	margin-bottom: 1rem;
}

.portal-documents__section-title {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-documents__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.portal-documents__item {
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: center;
	padding: 1rem 1.1rem;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 12px;
	background: rgba(26, 26, 26, 0.02);
}

.portal-documents__item-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 10px;
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--gold);
	font-size: 1rem;
}

.portal-documents__item-content {
	min-width: 0;
}

.portal-documents__item-title {
	margin: 0 0 0.25rem;
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-documents__item-description {
	margin: 0 0 0.35rem;
	font-size: 0.875rem;
	line-height: 1.5;
	color: rgba(26, 26, 26, 0.72);
}

.portal-documents__item-meta {
	margin: 0;
	font-size: 0.8rem;
	color: rgba(26, 26, 26, 0.55);
}

.portal-documents__item-separator {
	color: rgba(26, 26, 26, 0.35);
}

.portal-documents__download {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 0.95rem;
	border-radius: 6px;
	background: var(--wp--preset--color--contrast);
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.2s ease;
}

.portal-documents__download:hover {
	background: var(--wp--preset--color--gold);
	color: #ffffff;
}

.portal-admin-documents {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.portal-admin-documents__page-intro {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.72);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.portal-admin-documents__list-heading {
	margin-bottom: 1rem;
}

.portal-admin-documents__list-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
}

.portal-admin-documents__list-copy {
	flex: 1 1 auto;
	min-width: 0;
}

.portal-admin-documents__list-copy .portal-profile__section-title {
	margin: 0 0 0.35rem;
}

.portal-admin-documents__list-copy .portal-profile__section-intro {
	margin: 0;
}

.portal-admin-documents__search {
	flex: 0 0 auto;
	width: min(100%, 16rem);
}

.portal-admin-documents__search-field {
	position: relative;
}

.portal-admin-documents__search-field i {
	position: absolute;
	top: 50%;
	left: 0.9rem;
	transform: translateY(-50%);
	color: rgba(26, 26, 26, 0.45);
	font-size: 0.9rem;
	pointer-events: none;
}

.portal-admin-documents__search-field input {
	width: 100%;
	padding: 0.7rem 0.9rem 0.7rem 2.4rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background: #ffffff;
	font-size: 0.875rem;
	color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
}

.portal-admin-documents__search-field input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-admin-documents__no-results {
	margin-bottom: 1rem;
	color: rgba(26, 26, 26, 0.62);
}

.portal-admin-documents__no-results p {
	margin: 0;
}

.portal-admin-documents__empty {
	color: rgba(26, 26, 26, 0.62);
}

.portal-admin-documents__empty p {
	margin: 0;
}

.portal-admin-documents__description {
	display: block;
	margin-top: 0.25rem;
	font-size: 0.82rem;
	font-weight: 400;
	color: rgba(26, 26, 26, 0.62);
}

.portal-admin-documents__filesize {
	display: block;
	margin-top: 0.15rem;
	font-size: 0.78rem;
	color: rgba(26, 26, 26, 0.55);
}

.portal-admin-documents__delete {
	padding: 0.45rem 0.75rem;
	border: 1px solid rgba(196, 92, 38, 0.25);
	border-radius: 6px;
	background: rgba(196, 92, 38, 0.08);
	color: #a34a12;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.portal-admin-documents__delete:hover {
	background: rgba(196, 92, 38, 0.15);
	border-color: rgba(196, 92, 38, 0.4);
}

.portal-levies {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.portal-levies__header {
	margin: 0;
}

.portal-levies__intro {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.72);
}

.portal-levies__panel {
	padding: 1.5rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-levies__coming-soon {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.portal-levies__badge {
	display: inline-flex;
	align-self: flex-start;
	align-items: center;
	padding: 0.35rem 0.75rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.14);
	border: 1px solid rgba(201, 162, 39, 0.28);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}

.portal-levies__coming-soon .portal-profile__placeholder {
	width: 100%;
}

.portal-notices {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	width: 100%;
}

.portal-notices__header {
	margin: 0;
}

.portal-notices__intro {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.72);
}

.portal-notices__list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.portal-notices__item {
	padding: 1.35rem 1.5rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-notices__item-header {
	margin-bottom: 0.85rem;
}

.portal-notices__item-date {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 0.45rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--wp--preset--color--gold);
}

.portal-notices__item-title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-notices__item-content {
	font-size: 0.92rem;
	line-height: 1.65;
	color: rgba(26, 26, 26, 0.78);
}

.portal-notices__item-content p {
	margin: 0 0 0.75rem;
}

.portal-notices__item-content p:last-child {
	margin-bottom: 0;
}

.portal-admin-notices {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.portal-admin-notices__page-intro {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.72);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.portal-admin-notices__list-heading {
	margin-bottom: 1rem;
}

.portal-admin-notices__list-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
}

.portal-admin-notices__list-copy {
	flex: 1 1 auto;
	min-width: 0;
}

.portal-admin-notices__list-copy .portal-profile__section-title {
	margin: 0 0 0.35rem;
}

.portal-admin-notices__list-copy .portal-profile__section-intro {
	margin: 0;
}

.portal-admin-notices__search {
	flex: 0 0 auto;
	width: min(100%, 16rem);
}

.portal-admin-notices__search-field {
	position: relative;
}

.portal-admin-notices__search-field i {
	position: absolute;
	top: 50%;
	left: 0.9rem;
	transform: translateY(-50%);
	color: rgba(26, 26, 26, 0.45);
	font-size: 0.9rem;
	pointer-events: none;
}

.portal-admin-notices__search-field input {
	width: 100%;
	padding: 0.7rem 0.9rem 0.7rem 2.4rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 6px;
	background: #ffffff;
	font-size: 0.875rem;
	color: var(--wp--preset--color--contrast);
	box-sizing: border-box;
}

.portal-admin-notices__search-field input:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-admin-notices__no-results {
	margin-bottom: 1rem;
	color: rgba(26, 26, 26, 0.62);
}

.portal-admin-notices__no-results p {
	margin: 0;
}

.portal-admin-notices__empty {
	color: rgba(26, 26, 26, 0.62);
}

.portal-admin-notices__empty p {
	margin: 0;
}

.portal-admin-notices__excerpt {
	display: block;
	font-size: 0.85rem;
	color: rgba(26, 26, 26, 0.68);
}

.portal-admin-notices__delete {
	padding: 0.45rem 0.75rem;
	border: 1px solid rgba(196, 92, 38, 0.25);
	border-radius: 6px;
	background: rgba(196, 92, 38, 0.08);
	color: #a34a12;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.portal-admin-notices__delete:hover {
	background: rgba(196, 92, 38, 0.15);
	border-color: rgba(196, 92, 38, 0.4);
}

@media (max-width: 781px) {
	.portal-admin-notices__page-intro {
		white-space: normal;
		overflow: visible;
		text-overflow: unset;
	}

	.portal-admin-notices__list-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.portal-admin-notices__search {
		width: 100%;
	}

	.portal-admin-documents__page-intro {
		white-space: normal;
		overflow: visible;
		text-overflow: unset;
	}

	.portal-admin-documents__list-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.portal-admin-documents__search {
		width: 100%;
	}

	.portal-documents__toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.portal-documents__intro {
		white-space: normal;
		overflow: visible;
		text-overflow: unset;
	}

	.portal-documents__search {
		width: 100%;
	}

	.portal-documents__item {
		grid-template-columns: 2.25rem minmax(0, 1fr);
	}

	.portal-documents__download {
		grid-column: 1 / -1;
		justify-content: center;
	}

	.portal-community-board__post-header {
		align-items: flex-start;
	}

	.portal-community-board__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.portal-community-board__sidebar {
		position: static;
		order: -1;
	}

	.portal-community-board__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.portal-community-board__submit,
	.portal-community-board__photo-button {
		justify-content: center;
	}
}

.portal-community-board {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	width: 100%;
}

.portal-community-board__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 16rem);
	gap: 1.5rem;
	align-items: start;
}

.portal-community-board__main {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	min-width: 0;
}

.portal-community-board__sidebar {
	position: sticky;
	top: 1.5rem;
}

.portal-community-board__sidebar-panel {
	padding: 1.25rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-community-board__sidebar-title {
	margin: 0 0 0.35rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__sidebar-intro {
	margin: 0 0 0.85rem;
	font-size: 0.8rem;
	line-height: 1.45;
	color: rgba(26, 26, 26, 0.62);
}

.portal-community-board__topics {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.portal-community-board__topic-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.7rem 0.8rem;
	border-radius: 8px;
	text-decoration: none;
	color: rgba(26, 26, 26, 0.78);
	font-size: 0.84rem;
	font-weight: 500;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.portal-community-board__topic-link:hover,
.portal-community-board__topic-link.is-active {
	background: rgba(201, 162, 39, 0.12);
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__topic-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.5rem;
	padding: 0.1rem 0.45rem;
	border-radius: 999px;
	background: rgba(26, 26, 26, 0.06);
	font-size: 0.72rem;
	font-weight: 600;
	color: rgba(26, 26, 26, 0.62);
}

.portal-community-board__topic-link.is-active .portal-community-board__topic-count {
	background: rgba(201, 162, 39, 0.18);
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__composer-grid {
	margin-bottom: 0.85rem;
}

.portal-community-board__header {
	margin: 0;
}

.portal-community-board__intro {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	color: rgba(26, 26, 26, 0.72);
}

.portal-community-board__composer,
.portal-community-board__post {
	padding: 1.25rem 1.35rem;
	background: #ffffff;
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.portal-community-board__composer-header {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	margin-bottom: 1rem;
}

.portal-community-board__composer-avatar,
.portal-community-board__post-avatar {
	flex-shrink: 0;
	width: 3rem;
	height: 3rem;
	overflow: hidden;
	border-radius: 999px;
}

.portal-community-board__composer-avatar-image,
.portal-community-board__post-avatar-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
}

.portal-community-board__composer-label {
	margin: 0 0 0.15rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__composer-hint {
	margin: 0;
	font-size: 0.82rem;
	color: rgba(26, 26, 26, 0.62);
}

.portal-community-board__field textarea {
	width: 100%;
	min-height: 6.5rem;
	padding: 0.9rem 1rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.02);
	font-size: 0.92rem;
	line-height: 1.55;
	color: var(--wp--preset--color--contrast);
	resize: vertical;
	box-sizing: border-box;
}

.portal-community-board__field textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-community-board__photo-preview {
	position: relative;
	margin-top: 0.85rem;
	overflow: hidden;
	border-radius: 12px;
}

.portal-community-board__photo-preview img {
	display: block;
	width: 100%;
	max-height: 20rem;
	object-fit: cover;
}

.portal-community-board__photo-clear {
	position: absolute;
	top: 0.65rem;
	right: 0.65rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 999px;
	background: rgba(26, 26, 26, 0.72);
	color: #ffffff;
	cursor: pointer;
}

.portal-community-board__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.9rem;
}

.portal-community-board__photo-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.portal-community-board__photo-button,
.portal-community-board__submit,
.portal-community-board__delete {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.65rem 0.95rem;
	border-radius: 6px;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.portal-community-board__photo-button {
	border: 1px solid rgba(26, 26, 26, 0.12);
	background: rgba(26, 26, 26, 0.03);
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__photo-button:hover {
	background: rgba(26, 26, 26, 0.06);
}

.portal-community-board__submit {
	margin-left: auto;
	border: 0;
	background: var(--wp--preset--color--contrast);
	color: #ffffff;
}

.portal-community-board__submit:hover {
	background: var(--wp--preset--color--gold);
}

.portal-community-board__feed {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.portal-community-board__post-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.85rem;
}

.portal-community-board__post-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-width: 0;
}

.portal-community-board__post-name {
	margin: 0 0 0.1rem;
	font-size: 0.92rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__post-time {
	margin: 0;
	font-size: 0.78rem;
	color: rgba(26, 26, 26, 0.55);
}

.portal-community-board__post-content {
	font-size: 0.92rem;
	line-height: 1.65;
	color: rgba(26, 26, 26, 0.78);
}

.portal-community-board__post-content p {
	margin: 0 0 0.75rem;
}

.portal-community-board__post-content p:last-child {
	margin-bottom: 0;
}

.portal-community-board__post-media {
	margin-top: 0.85rem;
	overflow: hidden;
	border-radius: 12px;
}

.portal-community-board__post-image {
	display: block;
	width: 100%;
	height: auto;
}

.portal-community-board__delete-form {
	flex-shrink: 0;
}

.portal-community-board__delete {
	border: 1px solid rgba(196, 92, 38, 0.25);
	background: rgba(196, 92, 38, 0.08);
	color: #a34a12;
}

.portal-community-board__delete:hover {
	background: rgba(196, 92, 38, 0.15);
	border-color: rgba(196, 92, 38, 0.4);
}

.portal-community-board__post-submeta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.45rem;
}

.portal-community-board__post-topic {
	display: inline-flex;
	align-items: center;
	padding: 0.15rem 0.5rem;
	border-radius: 999px;
	background: rgba(201, 162, 39, 0.12);
	font-size: 0.72rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__post-actions {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: 0.9rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-community-board__like-form {
	margin: 0;
}

.portal-community-board__action {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.45rem 0.75rem;
	border: 1px solid rgba(26, 26, 26, 0.1);
	border-radius: 6px;
	background: rgba(26, 26, 26, 0.03);
	color: rgba(26, 26, 26, 0.72);
	font-size: 0.82rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.portal-community-board__action:hover,
.portal-community-board__action.is-active {
	background: rgba(201, 162, 39, 0.12);
	border-color: rgba(201, 162, 39, 0.25);
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__action-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.35rem;
	padding: 0.05rem 0.35rem;
	border-radius: 999px;
	background: rgba(26, 26, 26, 0.08);
	font-size: 0.72rem;
}

.portal-community-board__comments {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px solid rgba(26, 26, 26, 0.08);
}

.portal-community-board__comments[hidden] {
	display: none;
}

.portal-community-board__comments-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-bottom: 0.85rem;
}

.portal-community-board__comment {
	display: grid;
	grid-template-columns: 2rem minmax(0, 1fr);
	gap: 0.65rem;
}

.portal-community-board__comment-avatar {
	width: 2rem;
	height: 2rem;
	overflow: hidden;
	border-radius: 999px;
}

.portal-community-board__comment-avatar-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 999px;
}

.portal-community-board__comment-body {
	padding: 0.75rem 0.85rem;
	border-radius: 10px;
	background: rgba(26, 26, 26, 0.03);
}

.portal-community-board__comment-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.5rem;
	margin-bottom: 0.35rem;
}

.portal-community-board__comment-name {
	margin: 0;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast);
}

.portal-community-board__comment-time {
	margin: 0;
	font-size: 0.72rem;
	color: rgba(26, 26, 26, 0.55);
}

.portal-community-board__comment-content {
	font-size: 0.84rem;
	line-height: 1.55;
	color: rgba(26, 26, 26, 0.78);
}

.portal-community-board__comment-content p {
	margin: 0;
}

.portal-community-board__comment-delete {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: rgba(26, 26, 26, 0.45);
	cursor: pointer;
}

.portal-community-board__comment-delete:hover {
	background: rgba(196, 92, 38, 0.1);
	color: #a34a12;
}

.portal-community-board__comment-form {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.portal-community-board__comment-form textarea {
	width: 100%;
	padding: 0.75rem 0.85rem;
	border: 1px solid rgba(26, 26, 26, 0.15);
	border-radius: 8px;
	background: #ffffff;
	font-size: 0.84rem;
	line-height: 1.5;
	resize: vertical;
	box-sizing: border-box;
}

.portal-community-board__comment-form textarea:focus {
	outline: none;
	border-color: var(--wp--preset--color--gold);
	box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.15);
}

.portal-community-board__comment-submit {
	align-self: flex-start;
	padding: 0.55rem 0.85rem;
	border: 0;
	border-radius: 6px;
	background: var(--wp--preset--color--contrast);
	color: #ffffff;
	font-size: 0.8rem;
	font-weight: 600;
	cursor: pointer;
}

.portal-community-board__comment-submit:hover {
	background: var(--wp--preset--color--gold);
}
