 :root {
	 --totlali-green-deep: #1c4a2a;
	 --totlali-green: #2e7d32;
	 --totlali-moss: #7aa44b;
	 --totlali-sand: #f3efe4;
	 --totlali-ink: #233123;
	 --totlali-muted: #607060;
 }

 body {
	 margin: 0;
	 background-color: #f8f9fa;
	 color: var(--totlali-ink);
 }

 .main-content {
	 min-height: 80vh;
	 padding: 2rem;
 }

 .footer {
	 background: #1f2d1f;
	 color: white;
	 padding: 20px;
	 text-align: center;
 }

 .footer-tech-copy {
	 color: #bbb;
	 font-size: 0.8em;
 }

.site-header-shell {
	 background:
		 linear-gradient(180deg, rgba(20, 54, 30, 0.96), rgba(27, 71, 39, 0.94)),
		 radial-gradient(circle at top left, rgba(165, 200, 90, 0.22), transparent 34%);
	 border: 1px solid rgba(255, 255, 255, 0.08);
	 border-radius: 28px;
	 box-shadow: 0 24px 60px rgba(20, 54, 30, 0.22);
	 margin: 1.25rem 2rem 0;
	 overflow: hidden;
}

.site-header-bar {
	 align-items: center;
	 display: flex;
	 gap: 1.2rem;
	 padding: 0.95rem 1rem;
}

.site-header-brand {
	 align-items: center;
	 display: flex;
	 flex: 0 0 auto;
	 gap: 0.55rem;
}


.site-brand-link {
	 align-items: center;
	 background: transparent !important;
	 color: #ffffff;
	 display: inline-flex;
	 gap: 0.55rem;
	 text-decoration: none;
}


.site-brand-link--wordmark {
	 align-items: center;
	 display: flex;
	 font-size: 1.15rem;
	 font-weight: 800;
	 letter-spacing: 0.04em;
	 padding: 0.4rem 0.7rem;
	 text-transform: uppercase;
}

.site-brand-link--wordmark i {
	 font-size: 1rem;
}

.site-brand-link--wordmark:hover,
.site-brand-link--wordmark:focus {
	 background: rgba(255, 255, 255, 0.14);
	 border-radius: 999px;
}


.public-section-nav--header {
	 align-items: center;
	 display: flex;
	 flex: 1 1 auto;
	 flex-wrap: wrap;
	 gap: 0.75rem;
	 justify-content: center;
	 margin: 0;
	 min-width: 0;
	 padding: 0;
}

.site-header-actions {
	 align-items: center;
	 display: flex;
	 flex: 0 0 auto;
	 justify-content: flex-end;
	 margin-left: auto;
}

.site-header-actions .ui-button,
.site-header-actions .ui-menubutton .ui-button {
	 margin: 0;
}

.site-menubar-user {
	 align-items: center;
	 display: flex;
	 gap: 0.7rem;
}

.private-panel-button .ui-button {
	 background: rgba(255, 255, 255, 0.12) !important;
	 border: 1px solid rgba(255, 255, 255, 0.14) !important;
	 border-radius: 999px !important;
	 box-shadow: none !important;
	 color: #ffffff !important;
	 font-weight: 700;
	 padding: 0.75rem 1rem !important;
}

.private-panel-button .ui-button .ui-button-text,
.private-panel-button .ui-button .ui-button-icon-left,
.private-panel-button .ui-button .ui-button-icon-right {
	 color: #ffffff !important;
}

.private-panel-button .ui-button:hover,
.private-panel-button .ui-button:focus {
	 background: rgba(255, 255, 255, 0.2) !important;
	 border-color: rgba(255, 255, 255, 0.26) !important;
}

 .ui-dialog.ui-widget-content.custom-filter-dialog {
	 background: none !important;
	 border: none !important;
	 box-shadow: none !important;
 }

.ui-dialog:not(.custom-filter-dialog):not(.ui-hidden-container) {
	 display: flex;
	 flex-direction: column;
	 max-height: calc(100vh - 2rem);
}

.ui-dialog:not(.custom-filter-dialog) .ui-dialog-content {
	 box-sizing: border-box;
	 max-height: calc(100vh - 9rem);
	 overflow-x: hidden;
	 overflow-y: auto;
	 overscroll-behavior: contain;
}

 .ui-widget-overlay {
	 background: rgba(0, 0, 0, 0.7) !important;
	 opacity: 1 !important;
 }

 .ui-menu .ui-menuitem-link.ui-state-hover {
	 background: #f8f9fa !important;
	 box-shadow: none !important;
	 border-radius: 4px;
 }

 .ui-menu .ui-menuitem-link.ui-state-hover .ui-menuitem-text,
 .ui-menu .ui-menuitem-link.ui-state-hover .ui-menuitem-icon,
 .ui-menu .ui-menuitem-link.ui-state-hover .ui-submenu-icon {
	 color: #1b5e20 !important;
	 font-weight: bold !important;
	 transition: color 0.2s ease-in-out;
 }

 .ui-menu.ui-widget.ui-widget-content.ui-corner-all.ui-helper-clearfix.ui-menu-child.ui-shadow,
 .ui-menu-child.ui-widget-content {
	 background-color: #2e7d32 !important;
	 border: 1px solid #1b5e20 !important;
 }

.menu-login-button {
	 border: 1px solid white;
	 color: white;
	 background: #ffffff !important;
	 box-shadow: none;
	 border-radius: 999px;
 }

.menu-login-button .ui-button-text,
.menu-login-button .ui-button-icon {
	 color: var(--totlali-green-deep) !important;
}

.menu-login-button:hover,
.menu-login-button:focus {
	 background: rgba(255, 255, 255, 0.92) !important;
	 border-color: #ffffff !important;
}

 .menu-user-greeting {
	 color: white;
	 margin-right: 10px;
 }

.public-section-nav-link {
	 background: rgba(255, 255, 255, 0.12);
	 border: 1px solid rgba(255, 255, 255, 0.14);
	 border-radius: 999px;
	 color: #ffffff;
	 display: inline-flex;
	 font-weight: 700;
	 padding: 0.6rem 1rem;
	 text-decoration: none;
	 transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.public-section-nav-link:hover,
.public-section-nav-link:focus {
	 background: rgba(255, 255, 255, 0.2);
	 border-color: rgba(255, 255, 255, 0.26);
	 transform: translateY(-1px);
}

.public-section-nav-link--contact {
	 background: rgba(255, 255, 255, 0.2);
	 border-color: rgba(255, 255, 255, 0.24);
}

 .social-strip {
	 display: flex;
	 gap: 12px;
	 justify-content: center;
	 margin-top: 10px;
 }

 .social-strip a {
	 width: 40px;
	 height: 40px;
	 border-radius: 50%;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 background: rgba(255, 255, 255, 0.1);
	 color: white;
	 text-decoration: none;
 }

 .public-hero {
	 background: linear-gradient(135deg, #204c2a 0%, #4d7f36 60%, #a5c85a 100%);
	 border-radius: 20px;
	 box-shadow: 0 20px 50px rgba(32, 76, 42, 0.2);
	 color: white;
	 margin-bottom: 2rem;
	 padding: 3rem 2rem;
 }

 .public-hero-title {
	 font-size: 2.8rem;
	 margin: 0 0 0.5rem;
 }

 .public-hero-copy {
	 font-size: 1.1rem;
	 line-height: 1.7;
	 margin: 0 0 1rem;
	 max-width: 820px;
 }

 .public-hero-subcopy {
	 color: rgba(255, 255, 255, 0.88);
	 margin: 0;
	 max-width: 760px;
 }

 .section-grid-spaced {
	 margin-bottom: 2rem;
 }

.section-kicker {
	 color: var(--totlali-green);
	 display: inline-block;
	 font-size: 0.82rem;
	 font-weight: 700;
	 letter-spacing: 0.12em;
	 margin-bottom: 0.55rem;
	 text-transform: uppercase;
}

.section-heading-row--home {
	 margin-bottom: 1.5rem;
}

.home-sections-block {
	 background:
		 radial-gradient(circle at top left, rgba(165, 200, 90, 0.24), transparent 30%),
		 linear-gradient(180deg, #fbfaf5 0%, #eef4e8 100%);
	 border: 1px solid rgba(28, 74, 42, 0.08);
	 border-radius: 32px;
	 box-shadow: 0 28px 70px rgba(28, 74, 42, 0.1);
	 margin-bottom: 2.8rem;
	 overflow: hidden;
	 padding: 1.4rem;
}

.home-sections-intro {
	 background:
		 linear-gradient(135deg, rgba(28, 74, 42, 0.96), rgba(53, 108, 49, 0.92)),
		 linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent);
	 border-radius: 24px;
	 color: #ffffff;
	 margin-bottom: 1.5rem;
	 padding: 1.5rem;
}

.home-sections-intro .section-kicker,
.home-sections-intro .section-heading-title,
.home-sections-intro .section-heading-copy {
	 color: #ffffff;
}

.home-sections-intro .section-heading-copy {
	 max-width: 820px;
}

.home-sections-highlights {
	 display: grid;
	 gap: 0.9rem;
	 grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-sections-highlight {
	 background: rgba(255, 255, 255, 0.12);
	 backdrop-filter: blur(6px);
	 border: 1px solid rgba(255, 255, 255, 0.12);
	 border-radius: 18px;
	 display: grid;
	 gap: 0.3rem;
	 padding: 1rem 1.05rem;
}

.home-sections-highlight strong {
	 font-size: 1rem;
}

.home-sections-highlight span {
	 color: rgba(255, 255, 255, 0.84);
	 line-height: 1.55;
}

.home-section-grid {
	 display: grid;
	 gap: 1.35rem;
	 grid-template-columns: repeat(12, minmax(0, 1fr));
	 margin-bottom: 0.4rem;
}

.home-section-card {
	 background:
		 radial-gradient(circle at top right, rgba(122, 164, 75, 0.16), transparent 32%),
		 linear-gradient(180deg, #ffffff 0%, #f6f4ed 100%);
	 border: 1px solid rgba(28, 74, 42, 0.08);
	 border-radius: 26px;
	 box-shadow: 0 18px 45px rgba(28, 74, 42, 0.11);
	 display: flex;
	 flex-direction: column;
	 grid-column: span 4;
	 min-height: 100%;
	 overflow: hidden;
	 position: relative;
	 transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.home-section-card--feature {
	 grid-column: span 8;
}

.home-section-card--earth {
	 background:
		 radial-gradient(circle at top right, rgba(207, 167, 94, 0.2), transparent 34%),
		 linear-gradient(180deg, #fffefb 0%, #f4ede0 100%);
}

.home-section-card--forest {
	 background:
		 radial-gradient(circle at top right, rgba(122, 164, 75, 0.18), transparent 34%),
		 linear-gradient(180deg, #fbfdf9 0%, #edf5e8 100%);
}

.home-section-card--sun {
	 background:
		 radial-gradient(circle at top right, rgba(240, 191, 92, 0.18), transparent 34%),
		 linear-gradient(180deg, #fffdf7 0%, #f7f1df 100%);
}

.home-section-card:hover {
	 box-shadow: 0 24px 54px rgba(28, 74, 42, 0.16);
	 transform: translateY(-4px);
}

.home-section-media {
	 aspect-ratio: 4 / 3;
	 background: linear-gradient(135deg, rgba(32, 76, 42, 0.9), rgba(122, 164, 75, 0.7));
	 overflow: hidden;
	 position: relative;
}

.home-section-card--feature .home-section-media {
	 aspect-ratio: 16 / 8;
}

.home-section-overlay {
	 background: linear-gradient(180deg, rgba(9, 27, 12, 0.02) 0%, rgba(9, 27, 12, 0.35) 100%);
	 inset: 0;
	 position: absolute;
	 z-index: 1;
}

.home-section-order {
	 align-items: center;
	 backdrop-filter: blur(6px);
	 background: rgba(255, 255, 255, 0.18);
	 border: 1px solid rgba(255, 255, 255, 0.35);
	 border-radius: 999px;
	 color: #ffffff;
	 display: inline-flex;
	 font-size: 0.86rem;
	 font-weight: 700;
	 height: 2.4rem;
	 justify-content: center;
	 left: 1rem;
	 letter-spacing: 0.08em;
	 position: absolute;
	 text-indent: 0.08em;
	 top: 1rem;
	 width: 2.4rem;
	 z-index: 2;
}

.home-section-image {
	 display: block;
	 height: 100%;
	 object-fit: cover;
	 width: 100%;
}

.home-section-image--placeholder {
	 align-items: center;
	 color: #ffffff;
	 display: flex;
	 font-size: 1.35rem;
	 font-weight: 700;
	 justify-content: center;
	 letter-spacing: 0.08em;
	 text-transform: uppercase;
}

.home-section-card-body {
	 display: flex;
	 flex: 1;
	 flex-direction: column;
	 gap: 1rem;
	 padding: 1.35rem;
}

.home-section-copy-block {
	 display: grid;
	 gap: 0.75rem;
}

.home-section-chip {
	 align-self: flex-start;
	 background: rgba(46, 125, 50, 0.11);
	 border-radius: 999px;
	 color: var(--totlali-green-deep);
	 font-size: 0.78rem;
	 font-weight: 700;
	 padding: 0.35rem 0.7rem;
	 text-transform: uppercase;
}

.home-section-title {
	 color: var(--totlali-green-deep);
	 font-size: 1.4rem;
	 margin: 0;
}

.home-section-card--feature .home-section-title {
	 font-size: 1.85rem;
}

.home-section-summary {
	 color: #445344;
	 flex: 1;
	 line-height: 1.7;
	 margin: 0;
}

.home-section-actions {
	 display: flex;
	 justify-content: flex-start;
}

.home-section-button {
	 align-items: center;
	 background: linear-gradient(135deg, var(--totlali-green-deep), var(--totlali-green));
	 border-radius: 999px;
	 box-shadow: 0 12px 24px rgba(28, 74, 42, 0.18);
	 color: #ffffff;
	 display: inline-flex;
	 font-weight: 700;
	 gap: 0.45rem;
	 justify-content: center;
	 min-height: 2.9rem;
	 padding: 0.8rem 1.15rem;
	 text-decoration: none;
}

.home-section-button::after {
	 content: '→';
	 transition: transform 0.18s ease;
}

.home-section-button:hover,
.home-section-button:focus {
	 box-shadow: 0 16px 28px rgba(28, 74, 42, 0.24);
	 transform: translateY(-1px);
}

.home-section-button:hover::after,
.home-section-button:focus::after {
	 transform: translateX(3px);
}

.section-breadcrumb {
	 align-items: center;
	 color: #5d6f5c;
	 display: flex;
	 flex-wrap: wrap;
	 font-size: 0.92rem;
	 gap: 0.45rem;
	 margin: 0 0 1rem;
}

.section-breadcrumb-link {
	 color: var(--totlali-green);
	 font-weight: 700;
	 text-decoration: none;
}

.section-breadcrumb-current {
	 color: var(--totlali-green-deep);
	 font-weight: 700;
}

.section-breadcrumb-separator {
	 color: #90a18a;
}

.section-detail-shell {
	 display: grid;
	 gap: 1.8rem;
	 grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.9fr);
	 margin-bottom: 2rem;
	 align-items: start;
}

.section-detail-panel,
.section-detail-aside {
	 background:
		 radial-gradient(circle at top right, rgba(122, 164, 75, 0.12), transparent 32%),
		 linear-gradient(180deg, #ffffff 0%, #f6f4ed 100%);
	 border: 1px solid rgba(28, 74, 42, 0.08);
	 border-radius: 24px;
	 box-shadow: 0 20px 50px rgba(28, 74, 42, 0.1);
	 padding: 1.5rem;
}

.section-detail-back {
	 color: var(--totlali-green);
	 font-weight: 700;
	 text-decoration: none;
}

.section-detail-title {
	 color: var(--totlali-green-deep);
	 font-size: 2.4rem;
	 margin: 0.55rem 0 0.8rem;
}

.section-detail-subtitle {
	 color: #597057;
	 font-size: 1.02rem;
	 line-height: 1.7;
	 margin: 0;
}

.section-detail-summary {
	 color: #445344;
	 font-size: 1.05rem;
	 line-height: 1.8;
	 margin: 0 0 1.4rem;
}

.section-detail-content {
	 display: grid;
	 gap: 1rem;
}

.section-detail-paragraph {
	 color: var(--totlali-ink);
	 line-height: 1.85;
	 margin: 0;
	 white-space: pre-line;
}

.section-detail-media {
	 display: grid;
	 gap: 1rem;
	 margin-bottom: 1rem;
}

.section-detail-image-frame {
	 background: #edf3e6;
	 border-radius: 18px;
	 overflow: hidden;
	 width: 100%;
}

.section-detail-image {
	 display: block;
	 height: auto;
	 max-height: 360px;
	 object-fit: cover;
	 width: 100%;
}

.section-detail-aside-title {
	 color: var(--totlali-green-deep);
	 margin: 0 0 0.75rem;
}

.section-detail-aside-copy {
	 color: #4d5f4d;
	 line-height: 1.7;
	 margin: 0;
}

.section-detail-empty {
	 background: #ffffff;
	 border-radius: 22px;
	 box-shadow: 0 18px 40px rgba(28, 74, 42, 0.1);
	 margin: 0 auto 2rem;
	 max-width: 720px;
	 padding: 2rem;
	 text-align: center;
}

.section-children-block {
	 background:
		 radial-gradient(circle at top left, rgba(122, 164, 75, 0.14), transparent 24%),
		 linear-gradient(180deg, #fbfaf5 0%, #f1f5ea 100%);
	 border: 1px solid rgba(28, 74, 42, 0.08);
	 border-radius: 28px;
	 box-shadow: 0 22px 56px rgba(28, 74, 42, 0.08);
	 margin-bottom: 2rem;
	 padding: 1.4rem;
}

.ecoteca-explorer-block,
.home-ecoteca-teaser {
	 background:
		 radial-gradient(circle at top left, rgba(122, 164, 75, 0.14), transparent 24%),
		 linear-gradient(180deg, #fbfaf5 0%, #f1f5ea 100%);
	 border: 1px solid rgba(28, 74, 42, 0.08);
	 border-radius: 28px;
	 box-shadow: 0 22px 56px rgba(28, 74, 42, 0.08);
	 margin-bottom: 2rem;
	 padding: 1.4rem;
}

.ecoteca-explorer-filter-card,
.ecoteca-explorer-empty {
	 margin-bottom: 1.2rem;
}

.section-child-grid {
	 display: grid;
	 gap: 1.2rem;
	 grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}

.section-child-card {
	 border: 1px solid rgba(28, 74, 42, 0.08);
	 border-radius: 24px;
	 box-shadow: 0 18px 42px rgba(28, 74, 42, 0.08);
	 display: flex;
	 flex-direction: column;
	 overflow: hidden;
	 transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.section-child-card:hover {
	 box-shadow: 0 22px 50px rgba(28, 74, 42, 0.12);
	 transform: translateY(-3px);
}

.section-child-card--forest {
	 background:
		 radial-gradient(circle at top right, rgba(122, 164, 75, 0.16), transparent 32%),
		 linear-gradient(180deg, #ffffff 0%, #eef6ea 100%);
}

.section-child-card--sand {
	 background:
		 radial-gradient(circle at top right, rgba(220, 182, 104, 0.16), transparent 32%),
		 linear-gradient(180deg, #fffefb 0%, #f5eee1 100%);
}

.section-child-media {
	 aspect-ratio: 16 / 10;
	 background: linear-gradient(135deg, rgba(32, 76, 42, 0.9), rgba(122, 164, 75, 0.7));
	 overflow: hidden;
}

.section-child-image {
	 display: block;
	 height: 100%;
	 object-fit: cover;
	 width: 100%;
}

.section-child-image--placeholder {
	 align-items: center;
	 color: #ffffff;
	 display: flex;
	 font-size: 1.2rem;
	 font-weight: 700;
	 height: 100%;
	 justify-content: center;
	 letter-spacing: 0.08em;
	 text-transform: uppercase;
}

.section-child-body {
	 display: flex;
	 flex: 1;
	 flex-direction: column;
	 gap: 0.85rem;
	 padding: 1.2rem;
}

.section-child-title {
	 color: var(--totlali-green-deep);
	 font-size: 1.35rem;
	 margin: 0;
}

.section-child-summary {
	 color: #4b5c4a;
	 flex: 1;
	 line-height: 1.7;
	 margin: 0;
}

 .feature-card {
	 border-radius: 16px;
	 height: 100%;
 }

 .feature-copy {
	 line-height: 1.7;
 }

 .section-heading-row {
	 align-items: center;
	 display: flex;
	 flex-wrap: wrap;
	 gap: 12px;
	 justify-content: space-between;
	 margin-bottom: 1rem;
 }

 .section-heading-title {
	 color: #1b5e20;
	 margin: 0;
 }

 .section-heading-copy {
	 color: var(--totlali-muted);
	 margin: 0.4rem 0 0;
 }

 .filter-card {
	 border-radius: 16px;
	 margin-bottom: 1.5rem;
 }

.catalog-empty-state {
	 border-radius: 16px;
	 margin-bottom: 1.5rem;
	 text-align: center;
}

.catalog-empty-state-title {
	 color: var(--totlali-green-deep);
	 margin: 0 0 0.5rem;
}

.catalog-empty-state-copy {
	 color: var(--totlali-muted);
	 margin: 0 auto;
	 max-width: 640px;
}

 .filter-actions {
	 align-items: end;
	 display: flex;
	 gap: 8px;
 }

 .catalog-card {
	 border-radius: 12px;
	 height: 100%;
	 margin: 10px;
	 overflow: hidden;
 }

.catalog-results .ui-g > div {
	 display: flex;
}

.catalog-card-shell {
	 display: flex;
	 height: 100%;
	 max-width: 24rem;
	 margin: 0 auto;
	 width: 100%;
}

.catalog-card.ui-card {
	 display: flex;
	 flex-direction: column;
	 min-height: 39rem;
	 width: 100%;
}

.catalog-card .ui-card-body {
	 display: flex;
	 flex: 1;
	 flex-direction: column;
	 height: 100%;
}

.catalog-card .ui-card-title {
	 line-height: 1.3;
	 min-height: 3.2rem;
}

.catalog-card .ui-card-subtitle {
	 min-height: 1.5rem;
}

.catalog-card .ui-card-content {
	 display: flex;
	 flex: 1;
	 flex-direction: column;
	 gap: 0.85rem;
}

.catalog-card .ui-card-footer {
	 margin-top: auto;
}

 .catalog-card-header {
	 height: 10px;
 }

 .catalog-card-header--planta {
	 background: #8bc34a;
 }

 .catalog-card-header--otro {
	 background: #ffb74d;
 }

 .catalog-family {
	 color: #757575;
	 font-style: italic;
 }

 .catalog-tag-row {
	 margin: 1rem 0;
 }

.catalog-meta,
.catalog-description,
.catalog-photo-credit {
	 margin: 0;
}

.catalog-description {
	 flex: 1;
	 display: block;
	 line-height: 1.65;
	 max-width: 100%;
	 overflow-wrap: break-word;
	 min-height: 8.5rem;
	 white-space: normal !important;
	 word-break: normal;
}

.catalog-description-label {
	 display: block;
	 margin-bottom: 0.2rem;
}

.catalog-description-text {
	 display: block;
	 line-height: 1.65;
	 max-width: 100%;
	 overflow-wrap: break-word;
	 text-align: justify;
	 text-justify: inter-word;
	 white-space: normal !important;
	 word-break: normal;
}

.catalog-media {
	 align-items: center;
	 display: flex;
	 justify-content: center;
	 min-height: 170px;
	 justify-content: center;
	 width: 100%;
}

.catalog-media-frame {
	 align-items: center;
	 background: #f5f7f2;
	 border: 1px solid #d8dfd1;
	 border-radius: 12px;
	 display: flex;
	 height: 170px;
	 justify-content: center;
	 overflow: hidden;
	 padding: 0.65rem;
	 width: 100%;
	 max-width: 240px;
	 margin: 0 auto;
}

.catalog-media-frame--placeholder {
	 border-style: dashed;
	 border-color: #c6d3bb;
}

.catalog-media--placeholder {
	 padding: 0;
	 text-align: center;
}

 .catalog-image {
	 display: block;
	 border-radius: 10px;
	 height: 100%;
	 max-height: 100%;
	 max-width: 100%;
	 min-height: 0;
	 object-fit: contain;
	 width: 100%;
 }

 .catalog-image-link,
 .catalog-thumb-link {
	 align-items: center;
	 display: flex;
	 height: 100%;
	 justify-content: center;
	 text-decoration: none;
	 width: 100%;
 }

.catalog-image-placeholder {
	 color: var(--totlali-muted);
	 margin: 0;
}

 .catalog-thumb {
	 border: 1px solid #d8dfd1;
	 border-radius: 50%;
	 box-shadow: 0 8px 20px rgba(28, 74, 42, 0.12);
	 height: 70px;
	 object-fit: cover;
	 transition: transform 0.18s ease, box-shadow 0.18s ease;
	 width: 70px;
 }

 .catalog-image-link:hover .catalog-image,
 .catalog-thumb-link:hover .catalog-thumb {
	 box-shadow: 0 12px 24px rgba(28, 74, 42, 0.18);
	 transform: scale(1.03);
 }

 .catalog-thumb--admin {
	 background: #f5f7f2;
	 padding: 2px;
 }

@media (max-width: 768px) {
	 .ui-dialog:not(.custom-filter-dialog):not(.ui-hidden-container) {
		 max-height: calc(100vh - 1rem);
		 max-width: calc(100vw - 1rem) !important;
	 }

	 .ui-dialog:not(.custom-filter-dialog) .ui-dialog-content {
		 max-height: calc(100vh - 7.5rem);
	 }

	 .home-sections-block {
		 border-radius: 24px;
		 padding: 1rem;
	 }

	 .home-sections-intro {
		 padding: 1.1rem;
	 }

	 .home-sections-highlights {
		 grid-template-columns: 1fr;
	 }

	 .home-section-grid {
		 grid-template-columns: 1fr;
	 }

	 .home-section-card,
	 .home-section-card--feature {
		 grid-column: auto;
	 }

	 .home-section-card--feature .home-section-media,
	 .home-section-media {
		 aspect-ratio: 4 / 3;
	 }

	 .home-section-card--feature .home-section-title {
		 font-size: 1.45rem;
	 }

	 .catalog-card.ui-card {
		 min-height: 0;
	 }

	 .catalog-description {
		 min-height: 0;
	 }

	 .catalog-media {
		 height: 170px;
	 }

	 .catalog-media-frame {
		 max-width: none;
	 }
}

 .page-intro {
	 margin-bottom: 2rem;
 }

 .page-intro-title {
	 color: #1b5e20;
	 margin: 0;
 }

 .page-intro-copy {
	 color: var(--totlali-muted);
	 margin-top: 0.5rem;
 }

.dashboard-hero {
	 align-items: center;
	 background:
		radial-gradient(circle at top right, rgba(165, 200, 90, 0.22), transparent 28%),
		linear-gradient(135deg, rgba(20, 54, 30, 0.98), rgba(37, 89, 47, 0.94), rgba(122, 164, 75, 0.9));
	 border-radius: 28px;
	 box-shadow: 0 24px 56px rgba(20, 54, 30, 0.18);
	 color: #ffffff;
	 display: grid;
	 gap: 1.5rem;
	 grid-template-columns: minmax(0, 1.7fr) minmax(280px, 1fr);
	 margin-bottom: 1.5rem;
	 padding: 1.8rem;
}

.dashboard-kicker {
	 color: rgba(255, 255, 255, 0.78);
	 display: inline-block;
	 font-size: 0.82rem;
	 font-weight: 800;
	 letter-spacing: 0.14em;
	 margin-bottom: 0.65rem;
	 text-transform: uppercase;
}

.dashboard-hero-title {
	 font-size: clamp(2rem, 4vw, 3rem);
	 line-height: 1.02;
	 margin: 0;
}

.dashboard-hero-text {
	 color: rgba(255, 255, 255, 0.84);
	 font-size: 1.02rem;
	 line-height: 1.7;
	 margin: 0.85rem 0 0;
	 max-width: 46rem;
}

.dashboard-hero-visual {
	 align-items: center;
	 background: rgba(255, 255, 255, 0.08);
	 border: 1px solid rgba(255, 255, 255, 0.1);
	 border-radius: 24px;
	 display: grid;
	 gap: 1rem;
	 justify-items: center;
	 padding: 1.25rem;
}

.dashboard-donut-card {
	 display: grid;
	 place-items: center;
	 position: relative;
}

.dashboard-donut-chart {
	 height: 170px;
	 overflow: visible;
	 transform: rotate(-90deg);
	 width: 170px;
}

.dashboard-donut-track,
.dashboard-donut-public {
	 fill: none;
	 stroke-linecap: round;
	 stroke-width: 16;
}

.dashboard-donut-track {
	 stroke: rgba(255, 255, 255, 0.14);
}

.dashboard-donut-public {
	 stroke: #f5f1df;
}

.dashboard-donut-center {
	 align-items: center;
	 background: rgba(17, 46, 26, 0.92);
	 border-radius: 50%;
	 display: flex;
	 flex-direction: column;
	 height: 112px;
	 justify-content: center;
	 position: absolute;
	 text-align: center;
	 width: 112px;
}

.dashboard-donut-center strong {
	 font-size: 2rem;
	 line-height: 1;
}

.dashboard-donut-center span {
	 color: rgba(255, 255, 255, 0.78);
	 font-size: 0.9rem;
	 margin-top: 0.35rem;
}

.dashboard-hero-meta {
	 display: grid;
	 gap: 0.45rem;
	 text-align: center;
}

.dashboard-hero-meta span {
	 color: rgba(255, 255, 255, 0.82);
	 font-size: 0.95rem;
}

.dashboard-donut-legend {
	 color: rgba(255, 255, 255, 0.86);
	 display: flex;
	 flex-wrap: wrap;
	 gap: 0.75rem 1rem;
	 justify-content: center;
	 margin-top: 0.35rem;
}

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

.dashboard-metric-card {
	 backdrop-filter: blur(8px);
	 background: linear-gradient(180deg, #ffffff, #f5f2e9);
	 border: 1px solid rgba(34, 65, 39, 0.08);
	 border-radius: 22px;
	 box-shadow: 0 18px 34px rgba(32, 76, 42, 0.08);
	 display: grid;
	 gap: 0.45rem;
	 min-height: 150px;
	 padding: 1.25rem;
	 position: relative;
	 overflow: hidden;
}

.dashboard-metric-card::after {
	 border-radius: 999px;
	 content: '';
	 height: 110px;
	 position: absolute;
	 right: -18px;
	 top: -18px;
	 width: 110px;
	 opacity: 0.16;
}

.dashboard-metric-card--total::after {
	 background: #a7cf64;
}

.dashboard-metric-card--public::after {
	 background: #5da567;
}

.dashboard-metric-card--own::after {
	 background: #2f7d4f;
}

.dashboard-metric-card--alerts::after {
	 background: #cc8a4c;
}

.dashboard-metric-label {
	 color: var(--totlali-muted);
	 font-size: 0.88rem;
	 font-weight: 700;
	 letter-spacing: 0.03em;
	 text-transform: uppercase;
}

.dashboard-metric-value {
	 color: var(--totlali-green-deep);
	 font-size: clamp(2rem, 4vw, 2.8rem);
	 line-height: 1;
}

.dashboard-metric-note {
	 color: #596b58;
	 font-size: 0.94rem;
	 line-height: 1.5;
	 max-width: 18rem;
}

.dashboard-layout-grid {
	 align-items: stretch;
}

.dashboard-panel {
	 background: linear-gradient(180deg, #fdfcf8, #f2ede1);
	 border: 1px solid rgba(34, 65, 39, 0.08);
	 border-radius: 24px;
	 box-shadow: 0 20px 38px rgba(32, 76, 42, 0.08);
	 height: 100%;
	 padding: 1.25rem;
}

.dashboard-panel-head h2 {
	 color: var(--totlali-green-deep);
	 font-size: 1.2rem;
	 margin: 0;
}

.dashboard-panel-head p {
	 color: var(--totlali-muted);
	 line-height: 1.6;
	 margin: 0.35rem 0 0;
}

.dashboard-quick-actions {
	 margin-top: 1rem;
}

.dashboard-shortcut-grid {
	 display: grid;
	 gap: 0.85rem;
	 grid-template-columns: repeat(2, minmax(0, 1fr));
	 margin-top: 1rem;
}

.dashboard-shortcut-card {
	 background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(240, 236, 226, 0.9));
	 border: 1px solid rgba(34, 65, 39, 0.08);
	 border-radius: 20px;
	 box-shadow: 0 14px 28px rgba(32, 76, 42, 0.08);
	 color: var(--totlali-ink);
	 display: grid;
	 gap: 0.35rem;
	 min-height: 138px;
	 padding: 1rem;
	 text-decoration: none;
	 transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.dashboard-shortcut-card i {
	 align-items: center;
	 border-radius: 16px;
	 color: #ffffff;
	 display: inline-flex;
	 font-size: 1.25rem;
	 height: 2.9rem;
	 justify-content: center;
	 margin-bottom: 0.25rem;
	 width: 2.9rem;
}

.dashboard-shortcut-card strong {
	 color: var(--totlali-green-deep);
	 font-size: 1rem;
}

.dashboard-shortcut-card span {
	 color: var(--totlali-muted);
	 font-size: 0.9rem;
	 line-height: 1.45;
}

.dashboard-shortcut-card:hover,
.dashboard-shortcut-card:focus {
	 border-color: rgba(46, 125, 50, 0.16);
	 box-shadow: 0 18px 32px rgba(32, 76, 42, 0.12);
	 transform: translateY(-2px);
}

.dashboard-shortcut-card--species i {
	 background: linear-gradient(135deg, #2e7d32, #5b9a50);
}

.dashboard-shortcut-card--messages i {
	 background: linear-gradient(135deg, #9f5e27, #c57b3e);
}

.dashboard-shortcut-card--users i {
	 background: linear-gradient(135deg, #6c8f4b, #9fbc67);
}

.dashboard-shortcut-card--content i {
	 background: linear-gradient(135deg, #356c4a, #5f9b7a);
}

.dashboard-stack-chart {
	 margin-top: 1.4rem;
	 padding-top: 1rem;
	 border-top: 1px solid rgba(34, 65, 39, 0.08);
}

.dashboard-stack-track {
	 background: rgba(28, 74, 42, 0.08);
	 border-radius: 999px;
	 display: flex;
	 height: 16px;
	 overflow: hidden;
}

.dashboard-stack-fill {
	 display: block;
	 height: 100%;
}

.dashboard-stack-fill--public {
	 background: linear-gradient(135deg, #2e7d32, #7aa44b);
}

.dashboard-stack-fill--private {
	 background: linear-gradient(135deg, #d6c29c, #b79d6a);
}

.dashboard-stack-legend {
	 color: var(--totlali-muted);
	 display: flex;
	 gap: 1rem;
	 flex-wrap: wrap;
	 margin-top: 0.65rem;
}

.dashboard-dot {
	 border-radius: 50%;
	 display: inline-block;
	 height: 10px;
	 margin-right: 0.35rem;
	 width: 10px;
}

.dashboard-dot--public {
	 background: #4c964f;
}

.dashboard-dot--private {
	 background: #b79d6a;
}

.dashboard-operational-list {
	 display: grid;
	 gap: 0.8rem;
	 margin-top: 1rem;
}

.dashboard-operational-item {
	 align-items: center;
	 background: rgba(255, 255, 255, 0.72);
	 border: 1px solid rgba(34, 65, 39, 0.08);
	 border-radius: 18px;
	 display: grid;
	 gap: 0.75rem;
	 grid-template-columns: minmax(0, 1fr) auto;
	 padding: 1rem;
}

.dashboard-operational-item strong {
	 color: var(--totlali-green-deep);
	 display: block;
	 font-size: 0.98rem;
	 margin-bottom: 0.2rem;
}

.dashboard-operational-item span {
	 color: var(--totlali-muted);
	 display: block;
	 font-size: 0.9rem;
	 line-height: 1.5;
}

.dashboard-operational-item b {
	 color: var(--totlali-green-deep);
	 font-size: 1.55rem;
	 line-height: 1;
	 white-space: nowrap;
}

.dashboard-table-wrap {
	 margin-top: 1rem;
}

.dashboard-recent-table .ui-datatable-tablewrapper {
	 border-radius: 16px;
	 overflow: hidden;
}

.dashboard-recent-table table {
	 font-size: 0.92rem;
}

.dashboard-recent-table thead th {
	 background: rgba(34, 65, 39, 0.06);
	 color: var(--totlali-green-deep);
	 font-weight: 700;
}

.dashboard-recent-table tbody td {
	 vertical-align: top;
}

.dashboard-recent-scientific {
	 color: var(--totlali-muted);
	 font-size: 0.88rem;
}

.dashboard-recent-type {
	 color: #7a5d2f;
	 font-weight: 700;
	 text-transform: capitalize;
}

 .dashboard-actions-row {
	 margin-top: 1rem;
 }

 .dashboard-action-button {
	 margin-bottom: 0.7rem;
	 width: 100%;
 }

.ui-button.ui-widget,
.ui-button.ui-widget.ui-state-default,
a.ui-button.ui-widget,
button.ui-button.ui-widget {
	 background: linear-gradient(135deg, var(--totlali-green-deep), var(--totlali-green)) !important;
	 border: 1px solid rgba(28, 74, 42, 0.22) !important;
	 border-radius: 999px !important;
	 box-shadow: 0 12px 24px rgba(28, 74, 42, 0.16) !important;
	 color: #ffffff !important;
	 font-weight: 700;
	 transition: box-shadow 0.18s ease, transform 0.18s ease, filter 0.18s ease, background 0.18s ease;
}

.ui-button.ui-widget .ui-button-text,
.ui-button.ui-widget .ui-button-icon-left,
.ui-button.ui-widget .ui-button-icon-right,
a.ui-button.ui-widget .ui-button-text,
a.ui-button.ui-widget .ui-button-icon-left,
a.ui-button.ui-widget .ui-button-icon-right {
	 color: inherit !important;
}

.ui-button.ui-widget:hover,
.ui-button.ui-widget:focus,
.ui-button.ui-widget.ui-state-hover,
.ui-button.ui-widget.ui-state-focus,
.ui-button.ui-widget.ui-state-active,
a.ui-button.ui-widget:hover,
a.ui-button.ui-widget:focus {
	 background: linear-gradient(135deg, #163a21, #276c2b) !important;
	 box-shadow: 0 16px 28px rgba(28, 74, 42, 0.22) !important;
	 filter: saturate(1.05);
	 transform: translateY(-1px);
}

.ui-button.ui-widget.ui-button-secondary,
.ui-button.ui-widget.ui-button-secondary.ui-state-default,
a.ui-button.ui-widget.ui-button-secondary {
	 background: linear-gradient(135deg, #efe1c8, #e2cfaf) !important;
	 border-color: rgba(117, 94, 59, 0.18) !important;
	 box-shadow: 0 10px 22px rgba(130, 110, 74, 0.12) !important;
	 color: #6e5837 !important;
}

.ui-button.ui-widget.ui-button-secondary:hover,
.ui-button.ui-widget.ui-button-secondary:focus,
.ui-button.ui-widget.ui-button-secondary.ui-state-hover,
.ui-button.ui-widget.ui-button-secondary.ui-state-focus,
.ui-button.ui-widget.ui-button-secondary.ui-state-active,
a.ui-button.ui-widget.ui-button-secondary:hover,
a.ui-button.ui-widget.ui-button-secondary:focus {
	 background: linear-gradient(135deg, #e4d2b5, #d8c19a) !important;
	 box-shadow: 0 14px 24px rgba(130, 110, 74, 0.16) !important;
	 filter: none;
}

.ui-button.ui-widget.ui-button-warning,
.ui-button.ui-widget.ui-button-warning.ui-state-default,
.ui-button.ui-widget.ui-confirmdialog-yes,
.ui-button.ui-widget.ui-confirmdialog-yes.ui-state-default {
	 background: linear-gradient(135deg, #9f5e27, #be7334) !important;
	 border-color: rgba(120, 60, 18, 0.2) !important;
	 box-shadow: 0 12px 24px rgba(144, 84, 24, 0.18) !important;
	 color: #ffffff !important;
}

.ui-button.ui-widget.ui-button-warning:hover,
.ui-button.ui-widget.ui-button-warning:focus,
.ui-button.ui-widget.ui-button-warning.ui-state-hover,
.ui-button.ui-widget.ui-button-warning.ui-state-focus,
.ui-button.ui-widget.ui-button-warning.ui-state-active,
.ui-button.ui-widget.ui-confirmdialog-yes:hover,
.ui-button.ui-widget.ui-confirmdialog-yes:focus,
.ui-button.ui-widget.ui-confirmdialog-yes.ui-state-hover,
.ui-button.ui-widget.ui-confirmdialog-yes.ui-state-focus,
.ui-button.ui-widget.ui-confirmdialog-yes.ui-state-active {
	 background: linear-gradient(135deg, #8d5120, #ad642c) !important;
	 filter: none;
}

.ui-button.ui-widget.ui-button-danger,
.ui-button.ui-widget.ui-button-danger.ui-state-default {
	 background: linear-gradient(135deg, #7e332f, #a7463f) !important;
	 border-color: rgba(98, 31, 31, 0.24) !important;
	 box-shadow: 0 12px 24px rgba(126, 51, 47, 0.18) !important;
	 color: #ffffff !important;
}

.ui-button.ui-widget.ui-button-danger:hover,
.ui-button.ui-widget.ui-button-danger:focus,
.ui-button.ui-widget.ui-button-danger.ui-state-hover,
.ui-button.ui-widget.ui-button-danger.ui-state-focus,
.ui-button.ui-widget.ui-button-danger.ui-state-active {
	 background: linear-gradient(135deg, #6d2925, #973b35) !important;
	 filter: none;
}

.ui-button.ui-widget.ui-button-flat,
.ui-button.ui-widget.ui-button-flat.ui-state-default,
.ui-button.ui-widget.ui-confirmdialog-no,
.ui-button.ui-widget.ui-confirmdialog-no.ui-state-default {
	 background: rgba(243, 239, 228, 0.82) !important;
	 border-color: rgba(96, 112, 96, 0.16) !important;
	 box-shadow: none !important;
	 color: var(--totlali-green-deep) !important;
}

.ui-button.ui-widget.ui-button-flat:hover,
.ui-button.ui-widget.ui-button-flat:focus,
.ui-button.ui-widget.ui-button-flat.ui-state-hover,
.ui-button.ui-widget.ui-button-flat.ui-state-focus,
.ui-button.ui-widget.ui-button-flat.ui-state-active,
.ui-button.ui-widget.ui-confirmdialog-no:hover,
.ui-button.ui-widget.ui-confirmdialog-no:focus,
.ui-button.ui-widget.ui-confirmdialog-no.ui-state-hover,
.ui-button.ui-widget.ui-confirmdialog-no.ui-state-focus,
.ui-button.ui-widget.ui-confirmdialog-no.ui-state-active {
	 background: rgba(232, 226, 211, 0.95) !important;
	 box-shadow: 0 8px 18px rgba(96, 112, 96, 0.1) !important;
	 filter: none;
}

 .contact-title {
	 color: #2e7d32;
	 text-align: center;
 }

 .contact-title-icon {
	 font-size: 2rem;
	 margin-right: 10px;
	 vertical-align: middle;
 }

 .contact-field {
	 margin-bottom: 1rem;
 }

 .contact-map {
	 border: 0;
	 border-radius: 8px;
	 height: 300px;
	 width: 100%;
 }

 .contact-map-wrap {
	 border-radius: 8px;
	 overflow: hidden;
	 width: 100%;
 }

 .contact-details {
	 margin-top: 20px;
 }

 .contact-detail-icon {
	 color: #2e7d32;
	 margin-right: 10px;
 }

 .contact-submit-button {
	 min-width: 14rem;
 }

 .login-dialog.ui-dialog {
	 border: none;
	 border-radius: 24px;
	 box-shadow: 0 28px 80px rgba(17, 47, 27, 0.32);
	 overflow: hidden;
 }

 .login-dialog .ui-dialog-titlebar {
	 background:
		 radial-gradient(circle at top left, rgba(255, 255, 255, 0.22), transparent 36%),
		 linear-gradient(135deg, var(--totlali-green-deep), var(--totlali-green), var(--totlali-moss));
	 border: none;
	 padding: 1.2rem 1.4rem;
 }

 .login-dialog .ui-dialog-title {
	 color: #ffffff;
	 font-size: 1.15rem;
	 letter-spacing: 0.02em;
 }

 .login-dialog .ui-dialog-titlebar-icon,
 .login-dialog .ui-dialog-titlebar-icon .ui-icon {
	 color: #ffffff !important;
 }

.login-dialog .ui-dialog-titlebar-close {
	 background: var(--totlali-green) !important;
	 border: 1px solid rgba(255, 255, 255, 0.35) !important;
	 border-radius: 999px;
	 height: 2rem;
	 width: 2rem;
}

.login-dialog .ui-dialog-titlebar-close:hover,
.login-dialog .ui-dialog-titlebar-close:focus {
	 background: var(--totlali-green-deep) !important;
	 border-color: #ffffff !important;
}

 .login-dialog .ui-dialog-content {
	 background:
		 radial-gradient(circle at top right, rgba(122, 164, 75, 0.18), transparent 28%),
		 linear-gradient(180deg, #fdfcf7 0%, var(--totlali-sand) 100%);
	 padding: 0;
 }

 .login-dialog-panel {
	 padding: 1.5rem 1.5rem 1.35rem;
 }

 .login-dialog-badge {
	 width: 52px;
	 height: 52px;
	 border-radius: 16px;
	 display: inline-flex;
	 align-items: center;
	 justify-content: center;
	 background: linear-gradient(135deg, rgba(46, 125, 50, 0.14), rgba(122, 164, 75, 0.2));
	 color: var(--totlali-green);
	 font-size: 1.4rem;
	 margin-bottom: 1rem;
 }

 .login-dialog-kicker {
	 color: var(--totlali-green);
	 display: block;
	 font-size: 0.78rem;
	 font-weight: 700;
	 letter-spacing: 0.1em;
	 margin-bottom: 0.35rem;
	 text-transform: uppercase;
 }

 .login-dialog-heading {
	 color: var(--totlali-ink);
	 font-size: 1.55rem;
	 font-weight: 700;
	 margin: 0 0 0.55rem;
 }

 .login-dialog-copy {
	 color: #50624f;
	 line-height: 1.65;
	 margin: 0 0 1.2rem;
 }

 .login-dialog-form .field {
	 margin-bottom: 1rem;
 }

 .login-dialog-form .ui-outputlabel,
 .login-dialog-form label {
	 color: var(--totlali-ink);
	 display: inline-block;
	 font-weight: 600;
	 margin-bottom: 0.35rem;
 }

 .login-dialog-form .ui-inputfield {
	 border: 1px solid rgba(28, 74, 42, 0.16);
	 border-radius: 14px;
	 box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.03);
	 padding: 0.85rem 0.95rem;
	 transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
 }

 .login-dialog-form .ui-inputfield:enabled:focus {
	 border-color: rgba(46, 125, 50, 0.55);
	 box-shadow: 0 0 0 4px rgba(122, 164, 75, 0.18);
	 transform: translateY(-1px);
 }

 .login-dialog-note {
	 align-items: center;
	 background: rgba(46, 125, 50, 0.06);
	 border: 1px solid rgba(46, 125, 50, 0.12);
	 border-radius: 14px;
	 color: #476045;
	 display: flex;
	 gap: 0.6rem;
	 margin-top: 1rem;
	 padding: 0.85rem 0.95rem;
 }

 .login-dialog-note i {
	 color: var(--totlali-green);
 }

 .login-dialog-actions {
	 display: flex;
	 justify-content: flex-end;
	 margin-top: 1rem;
 }

 .login-dialog-actions .ui-button {
	 border-radius: 999px;
	 padding-left: 1.15rem;
	 padding-right: 1.15rem;
 }

.totlali-dialog .ui-dialog-titlebar {
	 background:
		 linear-gradient(135deg, rgba(28, 74, 42, 0.96), rgba(46, 125, 50, 0.94), rgba(122, 164, 75, 0.9)) !important;
	 border: none !important;
	 border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
	 color: #ffffff !important;
}

.totlali-dialog .ui-dialog-title,
.totlali-dialog .ui-dialog-titlebar-icon,
.totlali-dialog .ui-dialog-titlebar-icon .ui-icon {
	 color: #ffffff !important;
}

.totlali-dialog .ui-dialog-titlebar-close {
	 background: rgba(255, 255, 255, 0.14) !important;
	 border: 1px solid rgba(255, 255, 255, 0.22) !important;
	 border-radius: 999px !important;
	 transition: transform 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

.totlali-dialog .ui-dialog-titlebar-close:hover,
.totlali-dialog .ui-dialog-titlebar-close:focus {
	 background: rgba(255, 255, 255, 0.24) !important;
	 box-shadow: 0 10px 18px rgba(14, 36, 20, 0.2) !important;
	 transform: translateY(-1px);
}

.totlali-dialog .ui-dialog-content,
.totlali-dialog .ui-dialog-footer {
	 background: linear-gradient(180deg, #fdfcf7 0%, var(--totlali-sand) 100%) !important;
	 color: var(--totlali-ink);
}

.totlali-dialog .ui-dialog-footer {
	 display: flex;
	 gap: 0.75rem;
	 justify-content: flex-end;
	 border-top: 1px solid rgba(46, 125, 50, 0.08);
	 padding-top: 1rem;
}

.totlali-dialog .totlali-action-button.ui-button,
.totlali-dialog .totlali-action-button.ui-button.ui-state-default {
	 background: linear-gradient(135deg, var(--totlali-green-deep), var(--totlali-green)) !important;
	 border: 1px solid rgba(28, 74, 42, 0.24) !important;
	 border-radius: 999px !important;
	 box-shadow: 0 12px 24px rgba(28, 74, 42, 0.18) !important;
	 color: #ffffff !important;
	 transition: box-shadow 0.18s ease, transform 0.18s ease, filter 0.18s ease;
}

.totlali-dialog .totlali-action-button.ui-button:hover,
.totlali-dialog .totlali-action-button.ui-button:focus,
.totlali-dialog .totlali-action-button.ui-button.ui-state-hover,
.totlali-dialog .totlali-action-button.ui-button.ui-state-focus,
.totlali-dialog .totlali-action-button.ui-button.ui-state-active {
	 background: linear-gradient(135deg, #163a21, #276c2b) !important;
	 box-shadow: 0 16px 28px rgba(28, 74, 42, 0.24) !important;
	 filter: saturate(1.06);
	 transform: translateY(-1px);
}

.totlali-dialog .totlali-action-button.ui-button .ui-button-text,
.totlali-dialog .totlali-action-button.ui-button .ui-button-icon-left {
	 color: inherit !important;
}

.totlali-dialog .totlali-action-button--secondary.ui-button,
.totlali-dialog .totlali-action-button--secondary.ui-button.ui-state-default {
	 background: #f7f1e6 !important;
	 border-color: rgba(117, 94, 59, 0.18) !important;
	 box-shadow: 0 10px 22px rgba(130, 110, 74, 0.12) !important;
	 color: #6e5837 !important;
}

.totlali-dialog .totlali-action-button--secondary.ui-button:hover,
.totlali-dialog .totlali-action-button--secondary.ui-button:focus,
.totlali-dialog .totlali-action-button--secondary.ui-button.ui-state-hover,
.totlali-dialog .totlali-action-button--secondary.ui-button.ui-state-focus,
.totlali-dialog .totlali-action-button--secondary.ui-button.ui-state-active {
	 background: #efe4d3 !important;
	 box-shadow: 0 14px 24px rgba(130, 110, 74, 0.16) !important;
	 filter: none;
}

.totlali-dialog .totlali-action-button--warning.ui-button,
.totlali-dialog .totlali-action-button--warning.ui-button.ui-state-default {
	 background: linear-gradient(135deg, #9f5e27, #be7334) !important;
	 border-color: rgba(120, 60, 18, 0.2) !important;
	 box-shadow: 0 12px 24px rgba(144, 84, 24, 0.18) !important;
	 color: #ffffff !important;
}

.totlali-dialog .totlali-action-button--warning.ui-button:hover,
.totlali-dialog .totlali-action-button--warning.ui-button:focus,
.totlali-dialog .totlali-action-button--warning.ui-button.ui-state-hover,
.totlali-dialog .totlali-action-button--warning.ui-button.ui-state-focus,
.totlali-dialog .totlali-action-button--warning.ui-button.ui-state-active {
	 background: linear-gradient(135deg, #8d5120, #ad642c) !important;
}

@media (max-width: 960px) {
	 .dashboard-hero {
		 grid-template-columns: 1fr;
	 }

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

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

	 .dashboard-operational-item {
		 grid-template-columns: 1fr;
	 }

	 .site-header-shell {
		 border-radius: 24px;
		 margin: 1rem 1rem 0;
	 }

	 .site-header-bar {
		 align-items: stretch;
		 flex-wrap: wrap;
		 gap: 0.85rem;
		 padding: 0.9rem;
	 }

	 .public-section-nav--header {
		 justify-content: flex-start;
		 order: 3;
		 width: 100%;
	 }

	 .site-header-actions {
		 justify-content: flex-start;
		 margin-left: 0;
	 }

	 .site-menubar-user {
		 flex-wrap: wrap;
	 }

	 .section-detail-shell {
		 grid-template-columns: 1fr;
	 }

	 .section-children-block {
		 padding: 1rem;
	 }
}

@media (max-width: 640px) {
	 .dashboard-metric-grid,
	 .dashboard-shortcut-grid {
		 grid-template-columns: 1fr;
	 }
}

 @media (max-width: 640px) {
	 .site-header-shell {
		 border-radius: 20px;
		 margin-top: 0.75rem;
	 }

	 .site-header-brand {
		 width: 100%;
	 }

	 .site-brand-link--wordmark {
		 justify-content: flex-start;
		 width: 100%;
	 }

	 .public-section-nav--header {
		 width: 100%;
	 }

	 .site-header-actions,
	 .site-menubar-user {
		 flex-direction: column;
		 align-items: stretch;
	 }

	 .public-section-nav-link {
		 justify-content: center;
		 width: 100%;
	 }

	 .site-header-actions .ui-button,
	 .site-header-actions .ui-menubutton,
	 .site-menubar-user .ui-button {
		 width: 100%;
	 }

	 .main-content {
		 padding: 1rem;
	 }

	 .section-breadcrumb {
		 font-size: 0.86rem;
	 }

	 .login-dialog-panel {
		 padding: 1.15rem;
	 }

	 .login-dialog-heading {
		 font-size: 1.35rem;
	 }

	 .public-hero-title {
		 font-size: 2.2rem;
	 }

	 .section-detail-title {
		 font-size: 1.9rem;
	 }
 }
