/* Tenanta design system: shared public, owner, tenant and admin components. */
body[data-tenanta-area] {
  --primary: #132b34 !important; --primary-dark: #10262e !important; --primary-light: #284854 !important;
  --secondary: #a38153 !important; --accent: #a38153 !important; --accent-dark: #86643b !important;
  --dark: #132b34 !important; --light: #f8f7f3 !important; --gray: #657378 !important;
  --border: #e1e5df !important; --radius: 5px !important; --radius-lg: 6px !important;
  --shadow: 0 3px 18px #132b3408 !important; --sidebar-width: 244px !important;
  --tg-ink: #132b34; --tg-muted: #657378; --tg-paper: #f8f7f3; --tg-bronze: #a38153; --tg-line: #e1e5df;
  margin: 0 !important; color: var(--tg-ink) !important; background: var(--tg-paper) !important;
  font-family: Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: 14px; line-height: 1.6; min-height: 100vh; overflow-x: visible !important;
}
body[data-tenanta-area] *, body[data-tenanta-area] *::before, body[data-tenanta-area] *::after { box-sizing: border-box; }
body[data-tenanta-area] a { text-underline-offset: 4px; }
body[data-tenanta-area] :focus-visible { outline: 3px solid #b48c58 !important; outline-offset: 4px; }
body[data-tenanta-area] :is(input,select,textarea,button) { font-family: inherit !important; }
body[data-tenanta-area] :is(h1,h2) { letter-spacing: -.8px !important; }
body[data-tenanta-area] :is(h3,h4) { letter-spacing: -.2px !important; }
body[data-tenanta-area] :is(.btn,.btn-premium,.btn-primary,.btn-primary-premium,.search-submit-btn,.btn-submit,.btn-generate-premium,.submit-btn) {
  border-radius: 4px !important; box-shadow: none !important; background-image: none !important;
  min-height: 42px; padding: 11px 19px; font-size: 12px !important; font-weight: 600 !important; text-decoration: none !important;
  transition: background-color .18s, border-color .18s !important; transform: none !important;
}
body[data-tenanta-area] :is(.btn-primary,.btn-primary-premium,.btn-submit,.btn-generate-premium,.search-submit-btn,.submit-btn) { background: #132b34 !important; color: #fff !important; border-color: #132b34 !important; }
body[data-tenanta-area] :where(.btn,.btn-premium) { background-color:#132b34 !important; color:#fff !important; }
body[data-tenanta-area] :is(.btn-outline,.btn-premium-outline,.btn-secondary,.btn-outline-premium) { background: transparent !important; color: #132b34 !important; border: 1px solid #cfd7d1 !important; }
body[data-tenanta-area] :is(.btn-success,.btn-premium-success) { background: #38634a !important; color: white !important; }
body[data-tenanta-area] :is(.btn-danger,.btn-premium-danger) { background: #a44237 !important; color: white !important; }
body[data-tenanta-area] :is(.btn-sm,.btn-premium-sm,.btn-sm-premium) { min-height: 32px; padding: 6px 11px; font-size: 11px !important; }
body[data-tenanta-area] :is(.btn:hover,.btn-premium:hover) { transform: none !important; filter: brightness(.96); }
body[data-tenanta-area] :is(.form-control,.form-control-premium,.form-select,.form-select-premium,.filter-select,.filter-input,.search-input) {
  border: 1px solid #cfd7d1 !important; background: #fff !important; color: #132b34 !important; border-radius: 4px !important;
  min-height: 44px; padding: 11px 13px !important; box-shadow: none !important; font-size: 13px !important; max-width: 100%;
}
body[data-tenanta-area] :is(.form-label,.form-label-premium) { color: #354f58 !important; font-size: 12px !important; font-weight: 600 !important; }
body[data-tenanta-area] :is(.card,.card-premium,.stat-card,.stat-card-premium,.property-card,.property-card-premium,.unit-card,.unit-card-premium,.info-card-premium,.filter-card-premium,.filters-card-premium,.chart-card,.chart-card-premium,.section-card,.section-card-premium,.service-card,.pricing-card,.tenant-card,.owner-card) {
  border: 1px solid #e1e5df !important; border-radius: 6px !important; box-shadow: none !important; background-image: none !important;
  transform: none !important; overflow: hidden;
}
body[data-tenanta-area] :is(.card-header,.card-header-premium,.section-header-premium) { background-image: none !important; border-bottom: 1px solid #e1e5df !important; }
body[data-tenanta-area] :is(.stat-card,.stat-card-premium) { background: white !important; border-left: 1px solid #e1e5df !important; padding: 22px !important; }
body[data-tenanta-area] :is(.stat-card,.stat-card-premium)::before { display: none !important; }
body[data-tenanta-area] :is(.stat-icon,.stat-icon-premium) { border-radius: 5px !important; box-shadow: none !important; width: 44px; height: 44px; font-size: 19px !important; }
body[data-tenanta-area] :is(.table,.table-premium,.data-table,.data-table-premium) { border-collapse: collapse; width: 100%; font-size: 12px !important; }
body[data-tenanta-area] :is(table th,table td) { padding: 14px 15px !important; vertical-align: middle; }
body[data-tenanta-area] table th { background: #f3f4ef !important; color: #607078 !important; font-size: 10px !important; font-weight: 650 !important; letter-spacing: .5px; border-bottom: 1px solid #e1e5df !important; }
body[data-tenanta-area] table td { border-bottom: 1px solid #edf0e9 !important; }
body[data-tenanta-area] tbody tr:hover { background: #f8f9f5 !important; }
body[data-tenanta-area] :is(.table-responsive,.table-responsive-premium,.tg-table-scroll) { width: 100%; overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
body[data-tenanta-area] :is(.badge,.badge-premium) { border-radius: 3px !important; font-size: 10px !important; font-weight: 550 !important; padding: 4px 8px !important; background-image: none !important; }
body[data-tenanta-area] :is(.alert,.alert-premium) { border-radius: 5px !important; box-shadow: none !important; }
body[data-tenanta-area] :is(.modal-content,.modal-content-premium) { border-radius: 7px !important; box-shadow: 0 20px 70px #10262e30 !important; max-width: calc(100vw - 32px); max-height: calc(100dvh - 40px); overflow-y: auto; }
body[data-tenanta-area] :is(.modal-header,.modal-header-premium) { background-image: none !important; }
body[data-tenanta-area] :is(.pagination,.pagination-premium) a { border-radius: 4px !important; box-shadow: none !important; }
body[data-tenanta-area] :is(.empty-state,.empty-state-premium,.no-results) { background: #fafaf7 !important; border: 1px dashed #d8ded7 !important; border-radius: 6px !important; padding: 40px 25px !important; }
.tg-shell { width: min(1240px,calc(100% - 80px)); margin: auto; }
.tg-brand { display: inline-block; font-family: Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif !important; color: #132b34 !important; text-decoration: none !important; font-size: 26px !important; font-weight: 750 !important; letter-spacing: -1px !important; line-height: 1.2 !important; }
.tg-brand span { color: #a38153 !important; font-weight: 500; }
.tg-brand small { display: block; font-size: 7px; font-weight: 600; letter-spacing: 1.8px; color: #657378; margin-top: 8px; }
body[data-tenanta-area] .tg-public-header { position: sticky !important; top: 0 !important; z-index: 1000 !important; background: #fffffff8 !important; border-bottom: 1px solid #e1e5df !important; box-shadow: none !important; width: 100%; padding: 0 !important; }
.tg-public-nav { min-height: 94px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.tg-public-nav nav { display: flex; align-items: center; gap: 30px; }
body[data-tenanta-area] .tg-public-nav nav a { text-decoration: none !important; font-size: 12px !important; color: #132b34 !important; font-weight: 600 !important; }
body[data-tenanta-area] .tg-public-nav nav a:hover,body[data-tenanta-area] .tg-public-nav nav a[aria-current] { color: #86643b !important; }
.tg-portal-link { border-left: 1px solid #e1e5df; padding-left: 25px; display: flex; gap: 20px; }
.tg-menu-toggle { display: none; }
.tg-skip { position: fixed; top: -100px; left: 20px; padding: 14px; background: #fff; z-index: 1100; }
.tg-skip:focus { top: 10px; }
.tg-eyebrow { color: #a38153; font-size: 9px; letter-spacing: 1.8px; font-weight: 650; }
body[data-tenanta-area="public"] :is(h1,.section-title h2,.section-heading h2) { font-family: Georgia,'Times New Roman',serif !important; font-weight: 400 !important; letter-spacing: -1.4px !important; }
body[data-tenanta-area="public"] h1 { font-size: clamp(36px,4.5vw,64px) !important; line-height: 1.12 !important; }
body[data-tenanta-area="public"] :is(.container,.container-premium) { width: min(1240px,calc(100% - 80px)) !important; max-width: 1240px !important; padding-inline: 0 !important; }
body[data-tenanta-area="public"] :is(.hero,.hero-section,.hero-with-search,.about-intro,.contact-hero,.page-hero) { background: #f1efe8 !important; color: #132b34 !important; padding-top: 64px !important; padding-bottom: 56px !important; margin-top: 0 !important; min-height: auto !important; }
body[data-tenanta-area="public"] :is(.hero,.hero-section,.hero-with-search,.contact-hero,.page-hero) :is(h1,h2,p) { color: #132b34 !important; text-shadow: none !important; }
body[data-tenanta-area="public"] :is(.hero,.hero-section,.hero-with-search)::before { display: none !important; }
body[data-tenanta-area="public"] :is(.property-card,.unit-card) { background: white !important; }
body[data-tenanta-area="public"] :is(.property-image,.unit-image) { border-radius: 0 !important; }
body[data-tenanta-area="public"] :is(.property-price,.unit-price) { color: #132b34 !important; font-size: 25px !important; font-weight: 650 !important; }
body[data-tenanta-area="public"] :is(.search-container,.search-box,.filter-sidebar) { border: 1px solid #e1e5df !important; box-shadow: none !important; border-radius: 6px !important; background: white !important; }
body[data-tenanta-area="public"] :is(.section-title h2,.section-heading h2) { font-size: 38px !important; }
body[data-tenanta-area="public"] section { scroll-margin-top: 105px; }
body[data-tenanta-area="public"] .legal-disclaimer { border-radius: 0 !important; font-size: 11px !important; line-height: 1.7; }
body[data-tenanta-area="public"] .tg-public-footer { background: #10262e !important; color: #fff !important; padding: 58px 0 0 !important; margin: 0 !important; }
.tg-footer-grid { display: grid; grid-template-columns: 1.7fr 1.2fr 1.2fr 1fr; gap: 35px; padding-bottom: 35px; }
.tg-public-footer .tg-brand { color: #fff !important; }
.tg-public-footer .tg-brand small { color: #aebcc0; }
.tg-footer-grid h2 { color: #fff !important; font-family: inherit !important; font-size: 12px !important; font-weight: 600 !important; margin-bottom: 20px !important; }
.tg-footer-grid a:not(.tg-brand) { display: block; color: #bdc8cb !important; font-size: 11px; margin-bottom: 11px; text-decoration: none !important; }
.tg-footer-grid p { color: #bdc8cb; font-size: 12px; margin-top: 20px; line-height: 1.9; }
.tg-footer-disclosure { color: #aebcc0 !important; font-size: 10px !important; padding: 23px 0; border-top: 1px solid #ffffff18; }
.tg-footer-bottom { display: flex; justify-content: space-between; border-top: 1px solid #ffffff18; padding: 22px 0; font-size: 10px; color: #bdc8cb; }
.tg-footer-bottom a { color: #bdc8cb !important; }
/* Workspace layout: familiar workflows with a quieter, consistent hierarchy. */
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.sidebar,.sidebar-premium) { top: 0 !important; left: 0 !important; width: 244px !important; background: #132b34 !important; box-shadow: none !important; border-right: 1px solid #ffffff12; height: 100dvh !important; overflow-y: auto !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.main-content,.main-content-premium) { margin-left: 244px !important; width: calc(100% - 244px) !important; min-width: 0; padding: 0 !important; background: #f8f7f3 !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.content-area,.content-area-premium) { padding: 30px !important; max-width: 1800px; margin: auto; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.top-nav,.top-nav-premium,.top-navbar) { background: #fff !important; box-shadow: none !important; border-bottom: 1px solid #e1e5df !important; padding: 18px 30px !important; min-height: 74px; position: relative !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.page-title,.page-title-premium) { color: #132b34 !important; font-size: 22px !important; font-family: Georgia,'Times New Roman',serif !important; font-weight: 400 !important; margin-bottom: 0 !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .sidebar :is(.menu-item,.nav-link,.menu-item-premium) { color: #c3d0d2 !important; font-size: 12px !important; padding-block: 11px !important; border-radius: 4px !important; background-image: none !important; box-shadow: none !important; transform: none !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .sidebar :is(.menu-item.active,.nav-link.active,.menu-item-premium.active) { background: #ffffff12 !important; color: #e6c395 !important; border-color: #b48c58 !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .sidebar :is(.menu-item:hover,.nav-link:hover) { background: #ffffff0b !important; color: #fff !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.sidebar-header,.owner-info) { border-bottom: 1px solid #ffffff14 !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .sidebar-header h2 { font-size: 25px !important; letter-spacing: -1px !important; color: white !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .sidebar-header span { color: #cfaa7a !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.owner-avatar,.user-avatar) { background: #e9dece !important; color: #132b34 !important; border: 0 !important; box-shadow: none !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.welcome-banner,.welcome-banner-premium) { background: #132b34 !important; border-radius: 6px !important; box-shadow: none !important; }
body[data-tenanta-area] .tg-workspace-toggle { display: none; border: 1px solid #d2d9d2; border-radius: 4px; background: white; color: #132b34; width: 39px; height: 39px; align-items: center; justify-content: center; font-size: 18px; margin-right: 12px; }
body[data-tenanta-area] .tg-workspace-overlay { display: none; }
/* Login and account selection use the same brand without sidebar chrome. */
body:is([data-tenanta-area="admin-auth"],[data-tenanta-area="portal-auth"]) { background: #f1efe8 !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 30px 20px !important; }
body:is([data-tenanta-area="admin-auth"],[data-tenanta-area="portal-auth"]) :is(.login-card,.login-box,.portal-card) { background: white !important; border: 1px solid #dce1d9 !important; border-radius: 6px !important; box-shadow: 0 15px 50px #132b340c !important; }
body:is([data-tenanta-area="admin-auth"],[data-tenanta-area="portal-auth"]) :is(.login-header,.portal-header) { background: #132b34 !important; padding: 35px 30px !important; }
body:is([data-tenanta-area="admin-auth"],[data-tenanta-area="portal-auth"]) h1 { font-family: Georgia,'Times New Roman',serif !important; font-size: 32px !important; font-weight: 400 !important; }
body:is([data-tenanta-area="admin-auth"],[data-tenanta-area="portal-auth"]) :is(.login-body,.portal-body) { padding: 30px !important; }
body:is([data-tenanta-area="admin-auth"],[data-tenanta-area="portal-auth"]) :is(.portal-option,.portal-button,.login-btn) { background-image: none !important; border-radius: 4px !important; box-shadow: none !important; }
.tg-page-heading { padding: 32px 0 24px; }
.tg-page-heading h1 { font-size: 32px; font-family: Georgia,'Times New Roman',serif; font-weight: 400; margin: 10px 0; }
.tg-page-heading>p:last-child { color: #657378; font-size: 13px; }
@media(max-width:1100px) {
  body[data-tenanta-area] :is(.stats-grid,.stats-grid-premium) { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  .tg-public-nav nav { gap: 20px; }
  body[data-tenanta-area] :is(.stat-card,.stat-card-premium) { padding: 18px !important; }
}
@media(max-width:768px) {
  .tg-shell { width: calc(100% - 40px); }
  .tg-public-nav { min-height: 76px; }
  .tg-brand { font-size: 24px !important; }
  .tg-menu-toggle { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 1px solid #e1e5df; border-radius: 4px; background: white; color: #132b34; }
  .tg-public-nav nav { display: none; position: absolute; top: 76px; left: 0; right: 0; padding: 20px; background: white; flex-direction: column; align-items: stretch; gap: 0; border-bottom: 1px solid #e1e5df; }
  .tg-public-nav nav.tg-open { display: flex; }
  .tg-public-nav nav a { padding: 13px 5px; }
  .tg-portal-link { border-left: 0; border-top: 1px solid #e1e5df; justify-content: space-between; margin-top: 7px; }
  body[data-tenanta-area="public"] :is(.container,.container-premium) { width: calc(100% - 40px) !important; }
  body[data-tenanta-area="public"] :is(.hero,.hero-section,.hero-with-search,.about-intro,.contact-hero,.page-hero) { padding: 42px 0 !important; }
  body[data-tenanta-area="public"] :is(.section-title h2,.section-heading h2) { font-size: 32px !important; }
  body[data-tenanta-area="public"] :is(.property-grid,.properties-grid,.unit-grid,.services-grid,.contact-grid,.pricing-grid,.benefits-grid) { grid-template-columns: 1fr !important; }
  body[data-tenanta-area="public"] :is(.form-row,.form-row-premium) { grid-template-columns: 1fr !important; gap: 15px !important; }
  .tg-footer-grid { grid-template-columns: 1fr 1fr; gap: 30px 20px; }
  .tg-footer-grid>div:first-child { grid-column: 1/-1; }
  body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.sidebar,.sidebar-premium) { transform: translateX(-100%) !important; z-index: 1200 !important; transition: transform .2s; }
  body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .sidebar.tg-open { transform: translateX(0) !important; }
  body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.main-content,.main-content-premium) { margin-left: 0 !important; width: 100% !important; }
  body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.content-area,.content-area-premium) { padding: 20px !important; }
  body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.top-nav,.top-nav-premium,.top-navbar) { padding: 15px 20px !important; flex-wrap: wrap; gap: 10px; }
  body[data-tenanta-area] .tg-workspace-toggle { display: inline-flex; }
  body[data-tenanta-area] .tg-workspace-overlay.tg-open { display: block; position: fixed; inset: 0; background: #10262e70; z-index: 1100; }
  body[data-tenanta-area] :is(.sidebar-toggle-btn,.mobile-menu-btn-premium) { display: none !important; }
  body[data-tenanta-area] :is(.form-control,.form-control-premium,.form-select,.form-select-premium) { font-size: 16px !important; }
  body[data-tenanta-area] :is(.form-row,.form-row-premium,.two-column,.two-column-premium) { grid-template-columns: 1fr !important; }
  body[data-tenanta-area] :is(.chart-grid,.charts-grid,.charts-grid-premium,.dashboard-grid,.dashboard-grid-premium) { grid-template-columns: 1fr !important; }
  body[data-tenanta-area] .tg-table-scroll table { min-width: 650px; }
}
@media(max-width:440px) {
  body[data-tenanta-area] :is(.stats-grid,.stats-grid-premium) { grid-template-columns: 1fr !important; }
  .tg-brand small { font-size: 6px; }
  body[data-tenanta-area] :is(.modal-content,.modal-content-premium) { margin: 16px auto !important; }
}
@media(prefers-reduced-motion:reduce) {
  body[data-tenanta-area] *,body[data-tenanta-area] *::before,body[data-tenanta-area] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
@media print {
  body[data-tenanta-area] { background: white !important; }
  body[data-tenanta-area] :is(.sidebar,.tg-public-header,.tg-public-footer,.top-nav,.tg-workspace-toggle,.tg-workspace-overlay) { display: none !important; }
  body[data-tenanta-area] .main-content { margin: 0 !important; width: 100% !important; }
  body[data-tenanta-area] :is(table th,table td) { padding: 8px !important; }
  body[data-tenanta-area] .tg-table-scroll { overflow: visible !important; }
}
/* Shared foundations also cover pages without the legacy admin stylesheet. */
body[data-tenanta-area] .btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; border:1px solid transparent; line-height:1.3; }
body[data-tenanta-area] .card { background:#fff; margin-bottom:24px; }
body[data-tenanta-area] .card-body { padding:26px; }
body[data-tenanta-area] .form-group { margin-bottom:20px; min-width:0; }
body[data-tenanta-area] .form-group>label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
body[data-tenanta-area] .form-control { display:block; width:100%; }
body[data-tenanta-area] .form-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
body[data-tenanta-area] .alert { padding:16px; margin:16px 0; border:1px solid #d8ded7; }
body[data-tenanta-area] .alert-success { background:#edf5ee; color:#38634a; }
body[data-tenanta-area] .alert-danger { background:#fff2ef; color:#943f35; }
body[data-tenanta-area] .alert-info { background:#f0f5f6; color:#294d5b; }
body[data-tenanta-area] .badge { display:inline-block; background:#f0eee6; color:#5c644f; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .main-content:not(:has(>.content-area,>.content-area-premium)) { padding:30px !important; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .main-wrapper { margin-left:0 !important; width:100% !important; }
body[data-tenanta-area] img { max-width:100%; }
body[data-tenanta-area] .stats-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.tg-public-main { padding-bottom:90px; }
.tg-public-main h2 { font:400 36px/1.2 Georgia,'Times New Roman',serif; margin:14px 0 20px; }
.tg-public-main h3 { font-size:18px; margin:18px 0 10px; }
.tg-public-main p { color:#657378; }
.tg-public-main a { color:#132b34; }
.tg-public-main .tg-eyebrow { color:#a38153; }
.tg-page-intro { padding:64px 0 48px; max-width:1240px; }
.tg-page-intro h1 { max-width:930px; margin:20px 0; }
.tg-page-intro>p:last-child { max-width:650px; font-size:15px; }
.tg-contact-grid { display:grid; grid-template-columns:1fr 1.1fr; gap:90px; }
.tg-contact-grid>div:first-child { padding:25px 0; }
.tg-contact-grid .card>h2 { font-size:30px; margin-top:0; }
.tg-note { padding:30px; background:#efeee6; border:1px solid #e1e5df; margin-top:35px; border-radius:5px; }
.tg-note h2 { font-size:26px; }.tg-note h3 { margin-top:0; }
.tg-editorial-hero { display:grid; grid-template-columns:1.1fr 1fr; gap:70px; align-items:center; padding:60px 0; }
.tg-editorial-hero h1 { margin:20px 0; }
.tg-editorial-hero p { max-width:470px; margin-bottom:28px; font-size:15px; }
.tg-editorial-hero img { width:100%; height:520px; object-fit:cover; border-radius:5px; }
.tg-editorial-hero .btn { margin:0 10px 10px 0; }
.tg-section { padding-top:90px; padding-bottom:70px; }
.tg-section-intro { max-width:600px; margin-bottom:38px; }
.tg-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.tg-service-grid .card { margin:0; padding:30px; }
.tg-service-grid .card h3 { font-size:21px; }
.tg-service-icon { color:#a38153; font-size:24px; margin-bottom:14px; }
.tg-pricing-section { background:#efece3; padding:65px 0; }
body[data-tenanta-area] .tg-featured-plan { border-top:4px solid #a38153 !important; }
.tg-public-main .tg-price { font-size:36px; color:#132b34; font-weight:650; margin:24px 0; }
.tg-price small { font-size:12px; color:#657378; display:block; font-weight:400; }
.tg-process { list-style:none; counter-reset:steps; padding:0; }
.tg-process li { counter-increment:steps; padding:22px 0 22px 55px; position:relative; border-bottom:1px solid #e1e5df; }
.tg-process li::before { content:'0' counter(steps); position:absolute; left:0; top:20px; color:#a38153; font-size:20px; }
.tg-process strong,.tg-process span { display:block; }.tg-process span { color:#657378; margin-top:5px; }
.tg-portal-choice { display:grid; grid-template-columns:1fr 1fr; max-width:950px; gap:30px; }
.tg-portal-choice>a { text-decoration:none; padding:35px; }.tg-portal-choice>a .btn { margin-top:25px; }
.tg-selection-help { margin-top:25px; }.tg-selection-help a { text-decoration:underline; }
.tg-auth-layout { width:min(430px,100%); padding:30px 0; }
.tg-auth-layout>.tg-brand { margin-bottom:35px; }.tg-auth-layout>a:last-child { display:block; font-size:12px; color:#657378; margin:25px 0; }
.tg-auth-card { padding:35px; background:#fff; border:1px solid #dce1d9; border-radius:6px; box-shadow:0 15px 50px #132b340c; }
.tg-auth-card h1 { margin:14px 0; line-height:1.12; }.tg-auth-card>p { color:#657378; }.tg-auth-card>.tg-eyebrow { color:#a38153; }
.tg-auth-card form { margin-top:28px; }.tg-auth-card .btn { width:100%; }.tg-auth-help { font-size:11px; margin-top:22px; }.tg-auth-help a { color:#132b34; }
.tg-catalog { display:grid; grid-template-columns:270px minmax(0,1fr); gap:35px; align-items:start; }
.tg-catalog-filters { border:1px solid #e1e5df; border-radius:5px; background:#fff; padding:25px; }
.tg-catalog-filters h2 { font-size:26px; margin:0 0 24px; }.tg-catalog-filters .form-row { gap:10px; }.tg-catalog-filters .form-control { font-size:12px !important; }
.tg-catalog-filters .btn { width:100%; margin:20px 0 10px; }.tg-reset { display:block; font-size:11px; text-align:center; }
.tg-kind-switch { display:flex; border:1px solid #e1e5df; border-radius:4px; margin:0 0 24px; overflow:hidden; }
.tg-kind-switch a { flex:1; padding:9px; text-align:center; text-decoration:none; font-size:12px; }.tg-kind-switch a[aria-current] { background:#132b34; color:white; }
.tg-results-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:12px; margin-bottom:24px; }.tg-results-heading p { margin:0; }
.tg-listings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.tg-listing-card { background:#fff; border:1px solid #e1e5df; border-radius:5px; overflow:hidden; }
.tg-listing-photo { display:block; position:relative; overflow:hidden; aspect-ratio:1.4; background:#e9e6db; }.tg-listing-photo img { width:100%; height:100%; object-fit:cover; transition:transform .25s; }.tg-listing-photo:hover img { transform:scale(1.03); }
.tg-listing-tag { position:absolute; top:16px; left:16px; background:#ffffffef; color:#132b34; padding:6px 10px; font-size:10px; border-radius:3px; }
.tg-listing-details { padding:23px; }.tg-public-main .tg-listing-price { color:#132b34; font-size:25px; font-weight:650; margin:0 0 12px; }.tg-listing-price small { font-size:10px; font-weight:400; color:#657378; margin-left:5px; }
.tg-listing-details h2 { font:600 15px/1.4 Inter,-apple-system,sans-serif; margin:0; }.tg-listing-details h2 a { text-decoration:none; }.tg-listing-details>p { font-size:12px; }
.tg-listing-specs { display:flex; align-items:center; gap:18px; padding-top:16px; border-top:1px solid #e1e5df; font-size:11px; color:#657378; }.tg-listing-specs span { display:flex; align-items:center; gap:6px; }.tg-listing-specs svg { width:17px; height:17px; }.tg-listing-specs a { margin-left:auto; }
.tg-feature-options { display:grid; gap:10px; padding:15px 0; font-size:12px; }.tg-feature-options label { display:flex; gap:8px; align-items:center; }
.tg-pagination { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:35px 0; font-size:12px; }
.tg-empty { padding:50px 35px; border:1px dashed #cfd7d1; text-align:center; }.tg-empty h2 { font-size:28px; }
@media(min-width:1600px) { .tg-listings-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:1000px) { .tg-editorial-hero,.tg-contact-grid { gap:40px; }.tg-catalog { grid-template-columns:240px minmax(0,1fr); gap:25px; }.tg-listings-grid { grid-template-columns:1fr; }.tg-service-grid { grid-template-columns:1fr 1fr; } }
@media(max-width:768px) {
 body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) .main-content:not(:has(>.content-area,>.content-area-premium)) { padding:20px !important; }
 .tg-page-intro { padding:40px 0 30px; }.tg-contact-grid,.tg-editorial-hero,.tg-portal-choice,.tg-service-grid,.tg-catalog { grid-template-columns:1fr; gap:25px; }
 .tg-editorial-hero { padding:35px 0; }.tg-editorial-hero img { height:330px; }.tg-section { padding-top:50px; padding-bottom:35px; }
 .tg-catalog-filters { padding:20px; }.tg-catalog-filters .form-control { font-size:16px !important; }.tg-catalog-filters .form-row { grid-template-columns:1fr 1fr !important; }
 .tg-auth-card { padding:27px; }.tg-public-main { padding-bottom:50px; }.tg-contact-grid>div:first-child { padding-top:0; }.tg-public-main h2 { font-size:30px; }
 .tg-results-heading { flex-wrap:wrap; }.tg-pagination { gap:8px; }.tg-pagination .btn { padding:10px !important; }.tg-auth-layout { padding:0; }
}
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"]) :is(.welcome-banner,.welcome-banner-premium) :is(.btn-outline,.btn-outline-premium,.btn-premium-outline) { color:#fff !important; border-color:#ffffff80 !important; }
body[data-tenanta-area] :is(.application-container,.info-grid-premium) > * { min-width:0; }
body[data-tenanta-area] :is(.detail-value,.detail-value-premium) { overflow-wrap:anywhere; min-width:0; }
@media(max-width:768px) {
 body[data-tenanta-area="public"] :is(.application-container,.management-options,.features-grid) { grid-template-columns:minmax(0,1fr) !important; }
 body[data-tenanta-area="public"] :is(.application-form,.application-sidebar) { min-width:0; max-width:100%; }
 body[data-tenanta-area="portal"] .info-grid-premium { grid-template-columns:minmax(0,1fr) !important; }
 body[data-tenanta-area="portal"] .action-btn-premium { white-space:normal; min-width:0; }
}
body[data-tenanta-area] :is(.table-responsive,.table-responsive-premium,.tg-table-scroll) { max-width:100%; min-width:0; overflow-x:auto; }
body[data-tenanta-area] :is([class*="grid"],.two-column,.two-column-premium,.content-area,.content-area-premium) > * { min-width:0; }
@media(max-width:768px) {
 body[data-tenanta-area] :is(.two-column,.two-column-premium,.info-grid-premium,.units-grid-premium,[style*="grid-template-columns"]) { grid-template-columns:minmax(0,1fr) !important; }
 body[data-tenanta-area] :is(.summary-grid,.summary-grid-premium,.details-grid,.detail-grid,.detail-grid-premium) { grid-template-columns:minmax(0,1fr) !important; }
 body[data-tenanta-area] :is(.info-value,.info-value-premium) { overflow-wrap:anywhere; }
}
body[data-tenanta-area] .two-column-layout-premium > * { min-width:0; }
@media(max-width:768px) { body[data-tenanta-area] .two-column-layout-premium { grid-template-columns:minmax(0,1fr) !important; } }
body[data-tenanta-area] :is(.stat-card,.stat-card-premium,.card,.card-premium) { animation:none !important; opacity:1 !important; }
@media(prefers-reduced-motion:reduce) { body[data-tenanta-area] *, body[data-tenanta-area] *::before, body[data-tenanta-area] *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }

/* Keep financial forms and action controls usable on touch devices. */
[hidden] { display:none !important; }
body[data-tenanta-area] button, body[data-tenanta-area] input[type="submit"] { min-height:32px; }
body[data-tenanta-area] button:focus-visible, body[data-tenanta-area] a:focus-visible, body[data-tenanta-area] input:focus-visible, body[data-tenanta-area] select:focus-visible, body[data-tenanta-area] textarea:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
@media (max-width:768px) {
 body[data-tenanta-area] button, body[data-tenanta-area] input[type="submit"], body[data-tenanta-area] .btn { min-height:44px; }
 .main-content form { max-width:100%; }
 .main-content input, .main-content select, .main-content textarea { max-width:100%; }
}

/* Legacy financial forms need a visible field layout, not inline native controls. */
body[data-tenanta-area] .tg-plain-field { display:block; margin:0 0 14px; font-weight:500; }
body[data-tenanta-area] .tg-plain-control { display:block; width:100%; box-sizing:border-box; min-height:44px; margin-top:6px; padding:10px 12px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#172f35; font:inherit; }
body[data-tenanta-area] form button:not([class]) { padding:10px 16px; border:1px solid #173c42; border-radius:8px; background:#173c42; color:#fff; font:inherit; cursor:pointer; margin:6px 0 12px; }

.tg-catalog{grid-template-columns:minmax(0,1fr)}
.tg-catalog-filters{padding:0;min-width:0}
.tg-catalog-filters>summary{cursor:pointer;padding:16px 20px;min-height:44px;font-weight:600}
.tg-catalog-filters>form{padding:20px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.tg-catalog-filters>form h2{display:none}
@media(max-width:600px){.tg-catalog-filters>form{display:block}.tg-catalog-filters .form-group{margin-bottom:16px}}

[hidden]{display:none!important}
.tg-area-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin:24px 0}.tg-area-card{border:1px solid #e1e5df;background:#fff;border-radius:6px;overflow:hidden;padding-bottom:20px}.tg-area-card img{width:100%;height:190px;object-fit:cover}.tg-area-card h3,.tg-area-card p,.tg-area-card>a:last-child{margin:16px 20px;display:block}.tg-area-trail,.tg-area-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.tg-location-suggestions{clear:both;max-height:280px;overflow:auto;width:100%;text-align:left;background:#fff;color:#132b34;padding:8px;border:1px solid #ddd;box-sizing:border-box}.tg-location-suggestions[hidden]{display:none}.tg-location-suggestions button{display:block;width:100%;text-align:left;white-space:normal;padding:12px;background:#fff;border:0;border-bottom:1px solid #ddd;color:#132b34;cursor:pointer}.tg-location-suggestions button:hover,.tg-location-suggestions button:focus{background:#f3eee6}.tg-location-suggestions p{font-size:14px;margin:8px}.search-location{flex-wrap:wrap}.search-location .tg-location-suggestions{flex-basis:100%}
.search-field>.tg-location-suggestions{display:block}.search-field>.tg-location-suggestions[hidden]{display:none}

.tg-location-directory{padding:28px 0}.tg-location-country{padding:24px 0;border-top:1px solid #e1e5df}.tg-location-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:24px;margin:20px 0}.tg-location-columns ul{list-style:none;padding:0;margin:12px 0}.tg-location-columns li{margin:8px 0}.tg-location-columns h4{font-size:17px}.tg-area-card{padding:20px}.tg-area-card h3,.tg-area-card p,.tg-area-card>a:last-child{margin:0 0 12px}

.tg-seller-intro{border-bottom:1px solid #e1e5df}.tg-seller-intro>p:not(.eyebrow){max-width:740px;line-height:1.8;margin:24px 0}.tg-seller-intro h2{font-size:clamp(30px,4vw,48px)}

body[data-tenanta-area="portal"] .tg-owner-nav-heading { list-style:none; padding:20px 20px 6px; font-size:10px; font-weight:700; letter-spacing:.7px; color:#aebfbd; }
body[data-tenanta-area="portal"] .actions-grid { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
body[data-tenanta-area="portal"] .tg-owner-overview .stats-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr)); gap:14px; }

body[data-tenanta-area="portal"] .tg-owner-context { margin:24px 24px 0 calc(var(--sidebar-width) + 24px); padding:20px; border:1px solid #e1e5df; border-radius:6px; background:#fff; display:flex; flex-wrap:wrap; align-items:start; gap:16px; }
body[data-tenanta-area="portal"] .tg-owner-context>div { flex:1 1 280px; min-width:0; overflow-wrap:anywhere; }
body[data-tenanta-area="portal"] .tg-owner-context h2 { font-size:18px; margin:8px 0; }
body[data-tenanta-area="portal"] .tg-owner-context form { flex:0 1 300px; max-width:100%; }
body[data-tenanta-area="portal"] .tg-owner-context nav { flex-basis:100%; }
@media(max-width:992px){body[data-tenanta-area="portal"] .tg-owner-context { margin:16px; }}

/* Property controls sit on the dark owner sidebar, not a white content card. */
body[data-tenanta-area="portal"] .sidebar-service form { display:grid; gap:10px; }
body[data-tenanta-area="portal"] .sidebar-service .btn-outline { display:block; width:100%; background:transparent !important; color:#fff !important; border:1px solid #b6c8c7 !important; padding:10px 14px; cursor:pointer; }
body[data-tenanta-area="portal"] .sidebar-service .btn-outline:hover { background:#ffffff18 !important; }
body[data-tenanta-area="portal"] .sidebar-service>a,
body[data-tenanta-area="portal"] .sidebar-service>a:visited { display:inline-block; color:#f1d2a5 !important; text-decoration:underline; text-underline-offset:3px; padding:8px 0; }
body[data-tenanta-area="portal"] .sidebar-service>a:hover { color:#fff !important; }
body[data-tenanta-area="portal"] .sidebar-service p { margin:12px 0 4px; line-height:1.5; }

.tg-language-bar { display:flex; flex-wrap:wrap; justify-content:flex-end; align-items:center; gap:8px; padding:8px 20px; box-sizing:border-box; background:#f5f3ef; color:#132b34; border-bottom:1px solid #e1e5df; font-size:12px; }
.tg-language-bar label { margin:0; font-weight:600; }
.tg-language-bar select { width:auto; max-width:100%; min-height:36px; padding:5px 28px 5px 10px; color:#132b34; border:1px solid #b4c0bd; border-radius:4px; background:#fff; font-size:14px; }
.tg-language-status:empty { display:none; }
body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"])>.tg-language-bar { margin-left:var(--sidebar-width); }
body:is([data-tenanta-area="admin-auth"],[data-tenanta-area="portal-auth"])>.tg-language-bar { position:absolute; top:0; left:0; right:0; }
@media(max-width:992px){body:is([data-tenanta-area="admin"],[data-tenanta-area="portal"])>.tg-language-bar { margin-left:0; }}
@media(max-width:480px){.tg-language-bar {padding:8px 12px;}.tg-language-bar select {min-height:44px;}}
@media print{.tg-language-bar{display:none!important;}}
.tg-french-field { margin:16px 0; min-width:0; }
.tg-french-field label { display:block; margin-bottom:6px; font-weight:600; }
.tg-french-field textarea { width:100%; max-width:100%; box-sizing:border-box; }
.tg-french-field small { display:block; margin-top:6px; line-height:1.5; }
.tg-bilingual-description { overflow-wrap:anywhere; }
.tg-alert-header{display:flex;justify-content:flex-end;margin-left:var(--sidebar-width);padding:12px 24px;background:#fff;border-bottom:1px solid #e1e5df}.tg-alert-bell{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding:8px 10px;border-radius:8px;background:#143e52;color:#fff!important;text-decoration:none;max-width:100%;font-size:.8rem;box-sizing:border-box}.tg-alert-count{display:inline-flex;align-items:center;gap:4px}.tg-alert-bell strong{background:#fff;color:#143e52;border-radius:14px;padding:1px 6px}.top-bar .notifications[onclick*="toggleNotifications"],.top-nav .notification-btn{display:none!important}@media(max-width:768px){.tg-alert-header{margin-left:0;padding:12px 16px 12px 66px}}@media print{.tg-alert-bell,.tg-alert-header{display:none!important}}
.tg-alert-bell:focus-visible{outline:3px solid #20d8b4;outline-offset:3px}.tg-alert-bell strong{background:#fff;color:#143e52;border-radius:14px;padding:1px 7px}.tg-attention article{border-bottom:1px solid #e4e9ec;padding:12px 0}.tg-billing-nav{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.tg-billing-nav a{padding:10px 16px;border:1px solid #b3c6cc;border-radius:8px}.tg-account-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.tg-account-summary article{padding:16px;background:#eef5f5;border-radius:10px}.tg-account-summary strong{display:block;font-size:1.3rem}.tg-billing-panel{scroll-margin-top:70px}.tg-billing-panel textarea,.tg-billing-panel input:not([type=checkbox]),.tg-billing-panel select{max-width:100%;box-sizing:border-box}

body[data-tenanta-area] .top-bar .user-menu,body[data-tenanta-area] .top-nav .nav-right{flex-wrap:wrap;gap:8px;min-width:0}

/* Owner room editing remains readable on narrow screens. */
.tg-owner-room-form {display:grid;gap:16px;max-width:760px;min-width:0;}
.tg-owner-room-form label {display:block;min-width:0;}
.tg-owner-room-form :is(input:not([type=checkbox]),select,textarea) {max-width:100%;box-sizing:border-box;}
.tg-owner-room-form textarea {min-height:110px;}

.tg-alert-header{gap:8px;flex-wrap:wrap}.tg-attention h3{margin:0 0 8px}.tg-attention .btn{margin-top:8px}
