.app-shell { display:grid; min-height:100vh; grid-template-rows:var(--hva-shell-topbar-height) 1fr; }
.app-shell__topbar { position:sticky; top:0; z-index:var(--hva-z-sticky); display:flex; align-items:center; gap:1rem; height:var(--hva-shell-topbar-height); padding:0 1.4rem; background:rgb(255 255 255 / .92); backdrop-filter:blur(18px); border-bottom:1px solid var(--hva-color-border); }
.app-shell__brand { display:flex; align-items:center; gap:.7rem; color:var(--hva-color-text); text-decoration:none; font-weight:750; letter-spacing:-.02em; font-size:1.08rem; }
.app-shell__brand-mark,.brand-symbol { display:inline-flex; align-items:center; justify-content:center; width:2.15rem; height:2.15rem; border-radius:.75rem; background:var(--hva-color-primary); color:white; box-shadow:0 7px 18px rgb(23 79 74 / .2); }
.app-shell__body { display:grid; min-width:0; }
.app-shell__nav { display:none; flex-direction:column; gap:.25rem; padding:1.25rem 1rem; background:#fbfcf9; border-right:1px solid var(--hva-color-border); }
.app-shell__nav.is-open { display:flex; }
.app-shell__nav-section { margin:1.15rem .75rem .35rem; font-size:.68rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; color:var(--hva-color-text-subtle); }
.app-shell__main { min-width:0; padding:1.5rem; }
.app-shell__menu-toggle { display:inline-flex; }
.app-shell__user-name { font-size:.875rem; }
@media (min-width:56rem) {
  .app-shell { grid-template-columns:var(--hva-shell-sidebar-width) 1fr; }
  .app-shell__topbar,.app-shell__body { grid-column:1/-1; }
  .app-shell__body { grid-template-columns:var(--hva-shell-sidebar-width) 1fr; }
  .app-shell__nav { position:sticky; top:var(--hva-shell-topbar-height); display:flex; align-self:start; height:calc(100vh - var(--hva-shell-topbar-height)); overflow:auto; }
  .app-shell__menu-toggle { display:none; }
  .app-shell__main { padding:2.25rem clamp(2rem,4vw,4rem); }
}
.page { width:100%; max-width:var(--hva-content-max); margin-inline:auto; display:flex; flex-direction:column; gap:1.4rem; }
.page-header { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem; padding-bottom:.2rem; }
.page-header__title { font-size:clamp(1.65rem,3vw,2.15rem); letter-spacing:-.035em; }
.page-header__subtitle { margin-top:.4rem; color:var(--hva-color-text-muted); }
.page-header__actions,.form-actions,.toolbar,.cluster { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; }
.grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr)); }
.stack { display:flex; flex-direction:column; gap:1rem; }.stack--sm { gap:.55rem; }
.metrics-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.metrics-grid--three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.dashboard-columns,.detail-grid,.admin-columns { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(19rem,.85fr); gap:1rem; align-items:start; }
.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.15rem; }
.form-card { padding:clamp(1.2rem,3vw,2rem); max-width:58rem; width:100%; }
.form-actions { justify-content:flex-end; margin-top:1.2rem; padding-top:1.2rem; border-top:1px solid var(--hva-color-border); }
@media (max-width:52rem) { .metrics-grid,.metrics-grid--three { grid-template-columns:repeat(2,minmax(0,1fr)); }.dashboard-columns,.detail-grid,.admin-columns { grid-template-columns:1fr; }.form-grid { grid-template-columns:1fr; } }
@media (max-width:35rem) { .app-shell__main { padding:1rem; }.app-shell__user { display:none; }.page-header__actions { width:100%; }.page-header__actions .btn { flex:1; }.metrics-grid { grid-template-columns:1fr; } }

/* Public landing page */
.landing { min-height:100vh; background:#fbfaf6; overflow:hidden; }
.landing-nav { position:relative; z-index:5; max-width:78rem; margin:auto; height:5.25rem; display:flex; align-items:center; gap:2rem; padding:0 1.5rem; }
.landing-brand { display:flex; align-items:center; gap:.7rem; color:var(--hva-color-text); font-weight:800; font-size:1.15rem; text-decoration:none; }
.landing-nav__links { display:flex; gap:1.8rem; margin-left:auto; }.landing-text-link { border:0;background:transparent;padding:.4rem 0;color:var(--hva-color-text-muted);font-weight:600;font-size:.9rem; }.landing-text-link:hover { color:var(--hva-color-primary); }
.landing-nav__actions { display:flex; gap:.55rem; }
.landing-hero { max-width:82rem; margin:0 auto; display:grid; grid-template-columns:minmax(0,.88fr) minmax(34rem,1.12fr); align-items:center; gap:clamp(2rem,5vw,5rem); padding:4.5rem 2rem 4.5rem; }
.landing-hero__copy h1 { max-width:13ch; margin:.9rem 0 1.3rem; font-size:clamp(2.9rem,5.5vw,4.9rem); letter-spacing:-.06em; line-height:.98; }
.landing-lead { max-width:38rem; font-size:clamp(1.05rem,2vw,1.25rem); line-height:1.65; color:var(--hva-color-text-muted); }
.audience-pills { display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.25rem; }.audience-pills span { padding:.45rem .75rem;border:1px solid var(--hva-color-border);border-radius:999px;background:white;color:var(--hva-color-text-muted);font-size:.78rem;font-weight:700; }
.landing-cta { display:flex; flex-wrap:wrap; gap:.8rem; margin:2rem 0 1.3rem; }.trust-row { display:flex; flex-wrap:wrap; gap:1rem; color:var(--hva-color-text-muted); font-size:.8rem; }.trust-row span { display:flex; gap:.3rem; align-items:center; }
.landing-hero__visual { position:relative; min-width:0; }.landing-hero__visual::before { content:""; position:absolute; inset:-3rem -5rem auto auto; width:18rem; height:18rem; border-radius:50%; background:#e5b88f; opacity:.22; filter:blur(3px); }
.hero-float { position:absolute; display:flex; gap:.7rem; align-items:center; padding:.85rem 1rem; border:1px solid rgb(255 255 255 / .7); border-radius:1rem; background:rgb(255 255 255 / .92); box-shadow:var(--hva-shadow-md); backdrop-filter:blur(12px); }.hero-float strong,.hero-float small { display:block; }.hero-float small { color:var(--hva-color-text-muted); }.hero-float--top { top:2rem; left:-2.5rem; flex-direction:column; align-items:flex-start; }.hero-float--bottom { right:-1.5rem; bottom:2.2rem; }
.product-cockpit { position:relative;z-index:1;overflow:hidden;border:1px solid rgb(255 255 255 / .8);border-radius:1.55rem;background:white;box-shadow:0 30px 80px rgb(24 50 46 / .2);transform:rotate(.4deg); }
.product-cockpit__bar { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid var(--hva-color-border);background:rgb(255 255 255 / .96); }.product-cockpit__brand { display:flex;align-items:center;gap:.45rem;font-weight:800; }
.product-cockpit__body { display:grid;grid-template-columns:9.5rem 1fr;min-height:27rem; }.product-cockpit__nav { display:flex;flex-direction:column;gap:.35rem;padding:1rem .75rem;background:#f7f9f6;border-right:1px solid var(--hva-color-border); }.product-cockpit__nav span { padding:.6rem .65rem;border-radius:.55rem;color:var(--hva-color-text-muted);font-size:.68rem;font-weight:650; }.product-cockpit__nav span.is-active { color:var(--hva-color-primary);background:var(--hva-color-primary-soft); }
.product-cockpit__content { min-width:0;padding:1.4rem;background:#fbfcfa; }.cockpit-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:1rem; }.cockpit-heading small,.cockpit-heading strong { display:block; }.cockpit-heading small { color:var(--hva-color-text-muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em; }.cockpit-heading strong { margin-top:.3rem;font-size:1.15rem; }
.cockpit-stats { display:grid;grid-template-columns:repeat(4,1fr);gap:.55rem;margin:1.2rem 0; }.cockpit-stats div { padding:.75rem;border:1px solid var(--hva-color-border);border-radius:.75rem;background:white; }.cockpit-stats strong,.cockpit-stats small { display:block; }.cockpit-stats strong { font-size:1rem; }.cockpit-stats small { margin-top:.25rem;color:var(--hva-color-text-muted);font-size:.62rem; }
.cockpit-work { display:flex;flex-direction:column;gap:.55rem;padding:1rem;border:1px solid var(--hva-color-border);border-radius:.9rem;background:white; }.cockpit-work>strong { font-size:.85rem;margin-bottom:.1rem; }.cockpit-work>span { display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.55rem;padding:.55rem 0;border-top:1px solid var(--hva-color-border);font-size:.7rem; }
.product-caption { position:relative;z-index:1;margin:.9rem 0 0;text-align:center;color:var(--hva-color-text-muted);font-size:.75rem; }
.landing-proof { max-width:78rem;margin:0 auto 1.5rem;padding:0 1.5rem;display:grid;grid-template-columns:repeat(4,1fr); }.landing-proof>div { display:flex;align-items:center;justify-content:center;gap:.55rem;padding:1rem;border-block:1px solid var(--hva-color-border);color:var(--hva-color-text-muted);font-size:.78rem; }.landing-proof svg { color:var(--hva-color-primary); }
.landing-section { max-width:78rem; margin:auto; padding:6rem 1.5rem; }.section-heading { max-width:42rem; text-align:center; margin:0 auto 3rem; }.section-heading h2,.workflow-showcase h2 { font-size:clamp(2rem,4vw,3.25rem); letter-spacing:-.05em; margin:.7rem 0 1rem; }.section-heading p,.workflow-showcase p { color:var(--hva-color-text-muted); font-size:1.05rem; }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }.feature-card { padding:2rem; border:1px solid var(--hva-color-border); border-radius:1.5rem; background:white; box-shadow:var(--hva-shadow-sm); }.feature-card h3 { margin:1.4rem 0 .75rem; font-size:1.3rem; }.feature-card p { color:var(--hva-color-text-muted); line-height:1.65; }.feature-icon { display:inline-flex; padding:.8rem; border-radius:.9rem; color:var(--hva-color-primary); background:var(--hva-color-primary-soft); }
.feature-grid--six .feature-card { min-height:15rem; }
.audience-section { padding-top:3rem; }.audience-grid { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-width:62rem;margin:auto; }.audience-grid article { display:flex;gap:1rem;padding:1.35rem;border:1px solid var(--hva-color-border);border-radius:1.15rem;background:white; }.audience-grid article>span { display:grid;place-items:center;flex:0 0 2.2rem;height:2.2rem;border-radius:.7rem;background:var(--hva-color-primary-soft);color:var(--hva-color-primary); }.audience-grid h3 { margin-bottom:.35rem; }.audience-grid p { color:var(--hva-color-text-muted);line-height:1.55; }
.workflow-showcase { display:grid; grid-template-columns:1fr 1fr; gap:5rem; background:#173f3b; color:white; max-width:74rem; border-radius:2rem; margin-bottom:6rem; padding:4rem; }.workflow-showcase h2,.workflow-showcase p { color:white; }.workflow-showcase p { opacity:.72; }.workflow-steps { list-style:none; display:flex; flex-direction:column; gap:.75rem; padding:0; }.workflow-steps li { display:flex; align-items:center; gap:1rem; padding:1rem; border-radius:1rem; background:rgb(255 255 255 / .08); }.workflow-steps li span { display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; background:#e0a36f; color:#173f3b; font-weight:800; }
.security-section { display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;align-items:center;padding-top:2rem; }.security-copy h2,.landing-final h2 { font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.05em;margin:.7rem 0 1rem; }.security-copy p { color:var(--hva-color-text-muted);font-size:1.05rem;line-height:1.7;margin-bottom:1.5rem; }.security-list { display:grid;grid-template-columns:repeat(2,1fr);gap:1rem; }.security-list article { display:flex;gap:.8rem;padding:1.15rem;border:1px solid var(--hva-color-border);border-radius:1rem;background:white; }.security-list article>span { color:var(--hva-color-primary); }.security-list p { margin-top:.3rem;color:var(--hva-color-text-muted);font-size:.85rem;line-height:1.45; }
.faq-section { max-width:60rem; }.faq-list { display:flex;flex-direction:column;border-top:1px solid var(--hva-color-border); }.faq-list details { border-bottom:1px solid var(--hva-color-border); }.faq-list summary { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem .2rem;cursor:pointer;font-weight:750;list-style:none; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list details[open] summary svg { transform:rotate(180deg); }.faq-list p { max-width:52rem;padding:0 .2rem 1.35rem;color:var(--hva-color-text-muted);line-height:1.65; }
.landing-final { max-width:74rem;margin:0 auto 5rem;padding:3.5rem 4rem;display:flex;align-items:center;justify-content:space-between;gap:3rem;border-radius:2rem;background:#173f3b;color:white; }.landing-final h2,.landing-final p { color:white; }.landing-final p { max-width:42rem;opacity:.72; }.landing-final .btn { flex-shrink:0;background:#e0a36f;color:#173f3b; }
.landing-footer { max-width:78rem; margin:auto; padding:2rem 1.5rem 4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border-top:1px solid var(--hva-color-border); }.landing-footer p { color:var(--hva-color-text-muted); margin-top:.25rem; }
.landing-footer__links { display:flex;align-items:center;gap:.8rem; }.landing-footer__links>button:not(.btn) { border:0;background:transparent;color:var(--hva-color-text-muted); }
.auth-layout { min-height:100vh; display:grid; grid-template-columns:1.1fr .9fr; background:white; position:relative; }.auth-layout__visual { display:grid; place-items:end start; padding:clamp(2rem,7vw,7rem); color:white; background:linear-gradient(140deg,rgba(14,52,48,.88),rgba(14,52,48,.45)),url('/assets/hero-property-management.png') center/cover; }.auth-layout__visual h1 { color:white; font-size:clamp(2.5rem,5vw,4rem); max-width:10ch; margin:.8rem 0 1rem; }.auth-layout__visual p { max-width:30rem; font-size:1.1rem; opacity:.8; }.auth-layout__panel { width:min(28rem,calc(100% - 3rem)); margin:auto; }.auth-back { position:absolute; top:1rem; left:1rem; z-index:2; color:white; }.demo-login { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid var(--hva-color-border); display:flex; flex-direction:column; gap:.7rem; text-align:center; }
@media (max-width:55rem) { .landing-nav__links { display:none; }.landing-hero { grid-template-columns:1fr; padding-top:3rem; }.landing-proof { grid-template-columns:repeat(2,1fr); }.feature-grid { grid-template-columns:repeat(2,1fr); }.workflow-showcase,.security-section { grid-template-columns:1fr; gap:2rem; }.workflow-showcase { border-radius:0; }.landing-final { margin-inline:1rem;padding:3rem 2rem;align-items:flex-start;flex-direction:column; }.auth-layout { grid-template-columns:1fr; }.auth-layout__visual { display:none; }.auth-layout__panel { padding:5rem 0; }.auth-back { color:var(--hva-color-primary); } }
@media (max-width:36rem) { .landing-nav { height:4.5rem; padding:0 1rem; }.landing-nav__actions .btn--ghost { display:none; }.landing-hero { padding:2rem 1rem 4rem; }.landing-hero__copy h1 { font-size:2.7rem; }.landing-cta .btn { width:100%; }.trust-row { flex-direction:column; }.landing-section { padding:4rem 1rem; }.landing-proof,.feature-grid,.audience-grid,.security-list { grid-template-columns:1fr; }.landing-proof>div { justify-content:flex-start; }.product-cockpit__body { grid-template-columns:1fr; }.product-cockpit__nav { display:none; }.product-cockpit__content { padding:1rem; }.cockpit-stats { grid-template-columns:repeat(2,1fr); }.workflow-showcase { padding:3rem 1.25rem; }.landing-footer { padding-inline:1rem;align-items:flex-start;flex-direction:column; }.landing-footer__links { flex-wrap:wrap; }.landing-final { padding:2.5rem 1.5rem;border-radius:1.25rem; } }
