/* HouseBoard V5 — complete premium experience layer.
   Keeps routes, forms, permissions and business logic intact while rebuilding
   hierarchy, spacing, navigation, tables, forms and responsive behaviour. */
:root{
  --hb5-bg:#f7f5f1;
  --hb5-surface:#fffdfa;
  --hb5-surface-2:#f1eee8;
  --hb5-ink:#201b16;
  --hb5-muted:#746b62;
  --hb5-line:#e7e0d7;
  --hb5-orange:#f36b21;
  --hb5-orange-2:#db5612;
  --hb5-success:#16835d;
  --hb5-danger:#c7443b;
  --hb5-radius:16px;
  --hb5-radius-lg:24px;
  --hb5-shadow:0 8px 28px rgba(67,49,35,.07);
  --hb5-shadow-lg:0 22px 70px rgba(67,49,35,.13);
}
[data-theme="dark"]{
  --hb5-bg:#17130f;--hb5-surface:#211b16;--hb5-surface-2:#2a231d;
  --hb5-ink:#fbf7f1;--hb5-muted:#b7aa9f;--hb5-line:#3c322a;
  --hb5-shadow:0 10px 30px rgba(0,0,0,.25);--hb5-shadow-lg:0 24px 72px rgba(0,0,0,.42);
}
html{background:var(--hb5-bg)}
body{
  background:var(--hb5-bg)!important;
  color:var(--hb5-ink)!important;
  letter-spacing:-.008em;
}
body::before{display:none!important}
a{color:var(--hb5-orange-2)}

/* App frame */
.hb-navbar{
  min-height:64px!important;
  background:color-mix(in srgb,var(--hb5-surface) 94%,transparent)!important;
  border-bottom:1px solid var(--hb5-line)!important;
  box-shadow:none!important;
  backdrop-filter:blur(18px) saturate(1.2);
}
.hb-navbar .container-fluid{max-width:1520px!important;padding-inline:clamp(16px,3vw,44px)!important}
.hb-logo{border-radius:12px!important;box-shadow:none!important}
.hb-wordmark{font-size:1.18rem!important;font-weight:900!important;letter-spacing:-.04em!important}
#mainNav{gap:.2rem!important}
#mainNav .nav-link,#mainNav .btn{
  min-height:38px!important;padding:.42rem .68rem!important;border-radius:10px!important;
  color:var(--hb5-muted)!important;font-size:.86rem!important;font-weight:740!important;
  border-color:transparent!important;background:transparent!important;box-shadow:none!important;
}
#mainNav .nav-link:hover,#mainNav .nav-link.active,#mainNav .btn:hover{
  color:var(--hb5-ink)!important;background:var(--hb5-surface-2)!important;transform:none!important;
}
.brand-chip{background:transparent!important;border:0!important;padding:.25rem .4rem!important}

body>.container-fluid,body>main,.hb-page-shell{max-width:1520px!important;margin-inline:auto!important;padding-inline:clamp(16px,3vw,44px)!important}
body>.container-fluid.py-4,body>.container.py-4{padding-top:clamp(22px,3vw,42px)!important;padding-bottom:52px!important}

/* Page hierarchy */
.page-title,h1{
  font-family:"Plus Jakarta Sans","Inter",sans-serif!important;
  font-size:clamp(1.75rem,2.8vw,2.7rem)!important;
  line-height:1.08!important;letter-spacing:-.055em!important;font-weight:800!important;
  margin-bottom:.35rem!important;color:var(--hb5-ink)!important;
}
h2{font-size:clamp(1.25rem,2vw,1.7rem)!important;font-weight:790!important;letter-spacing:-.038em!important}
h3,h4{font-weight:760!important;letter-spacing:-.026em!important}
.page-title + .soft,.page-title + .text-muted,h1 + .soft,h1 + .text-muted,
.page-title + p.soft,.page-title + p.text-muted{display:none!important}
.section-label{color:var(--hb5-muted)!important;font-size:.69rem!important;letter-spacing:.1em!important}
.soft,.text-muted{color:var(--hb5-muted)!important}

/* Surfaces */
.card,.accordion-item,.modal-content,.offcanvas,.list-group-item{
  background:var(--hb5-surface)!important;color:var(--hb5-ink)!important;
  border:1px solid var(--hb5-line)!important;border-radius:var(--hb5-radius-lg)!important;
  box-shadow:var(--hb5-shadow)!important;
}
.card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.card:hover{transform:none!important;border-color:color-mix(in srgb,var(--hb5-orange) 22%,var(--hb5-line))!important;box-shadow:var(--hb5-shadow)!important}
.card-header{background:transparent!important;border-bottom:1px solid var(--hb5-line)!important;padding:1rem 1.2rem!important}
.card-body{padding:1.2rem!important}
.quick-card{min-height:104px!important}
.quick-card::after{display:none!important}

/* Actions */
.btn{min-height:40px!important;border-radius:11px!important;font-weight:780!important;letter-spacing:-.015em!important;box-shadow:none!important}
.btn:hover{transform:translateY(-1px)!important}
.btn-primary,.btn-warning{
  background:var(--hb5-orange)!important;border-color:var(--hb5-orange)!important;color:#fff!important;
}
.btn-primary:hover,.btn-warning:hover{background:var(--hb5-orange-2)!important;border-color:var(--hb5-orange-2)!important}
.btn-outline-primary{color:var(--hb5-orange-2)!important;border-color:color-mix(in srgb,var(--hb5-orange) 45%,var(--hb5-line))!important;background:transparent!important}
.btn-outline-primary:hover{background:#fff0e7!important;color:var(--hb5-orange-2)!important}
.btn-outline-secondary{background:transparent!important;color:var(--hb5-muted)!important;border-color:var(--hb5-line)!important}

/* Forms */
.form-label{font-size:.78rem!important;color:var(--hb5-ink)!important;font-weight:760!important;margin-bottom:.4rem!important}
.form-control,.form-select,.input-group-text,textarea{
  background:var(--hb5-surface)!important;color:var(--hb5-ink)!important;border:1px solid var(--hb5-line)!important;
  border-radius:11px!important;min-height:43px!important;box-shadow:none!important;
}
.form-control:focus,.form-select:focus,textarea:focus{border-color:var(--hb5-orange)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--hb5-orange) 15%,transparent)!important}
.form-control::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--hb5-muted) 75%,transparent)!important}

/* Tables become premium data canvases rather than boxed spreadsheets. */
.table-responsive{background:var(--hb5-surface)!important;border:1px solid var(--hb5-line)!important;border-radius:18px!important;box-shadow:none!important}
.table{--bs-table-bg:transparent!important;--bs-table-color:var(--hb5-ink)!important;--bs-table-border-color:var(--hb5-line)!important}
.table thead th,.table>tbody>tr:first-child>th{
  background:var(--hb5-surface-2)!important;color:var(--hb5-muted)!important;font-size:.69rem!important;
  letter-spacing:.08em!important;font-weight:820!important;padding:.78rem .82rem!important;
}
.table td{padding:.82rem!important}.table tbody tr:hover{background:#fff8f3!important}
[data-theme="dark"] .table tbody tr:hover{background:#2b221c!important}
.badge,.status-pill{border-radius:999px!important;font-weight:790!important;padding:.38rem .62rem!important}

/* Drawers/modals feel focused */
.modal-backdrop.show{opacity:.38!important;backdrop-filter:blur(2px)}
.modal-content{box-shadow:var(--hb5-shadow-lg)!important}
.modal-header,.modal-footer{border-color:var(--hb5-line)!important}

/* Auth experience: calm, editorial, premium. */
body[data-hb-role="guest"] .hb-navbar{display:none!important}
body[data-hb-role="guest"]>.container-fluid,body[data-hb-role="guest"]>.container{max-width:none!important;padding:0!important}
body[data-hb-role="guest"]{background:var(--hb5-bg)!important}
.hb-login-shell{max-width:none!important;min-height:100vh!important;margin:0!important;grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr)!important;gap:0!important;align-items:stretch!important}
.hb-login-story{display:flex!important;flex-direction:column;justify-content:flex-end;padding:clamp(40px,6vw,88px)!important;background:linear-gradient(150deg,#2a170b,#5b2d12 55%,#1d120c)!important;color:#fff!important}
.hb-login-story h1{color:#fff!important;max-width:690px!important;font-size:clamp(3rem,6vw,6.2rem)!important;line-height:.91!important;margin:.75rem 0 1rem!important}
.hb-login-story h1 span{color:#ff7a2e!important;background:none!important;-webkit-text-fill-color:initial!important}
.hb-login-lead{color:rgba(255,255,255,.72)!important;max-width:590px!important;font-size:1.02rem!important}
.hb-login-features,.hb-login-trust{display:none!important}
.hb-login-kicker{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.14)!important;box-shadow:none!important;width:max-content!important}
.hb-login-panel{display:grid!important;place-items:center!important;padding:clamp(24px,5vw,72px)!important;background:var(--hb5-bg)!important}
.hb-login-panel:before{display:none!important}
.hb-login-card{width:min(100%,470px)!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.hb-login-card .security-lock-icon{display:none!important}
.hb-login-card .page-title{font-size:2rem!important}
.hb-login-new{background:transparent!important;border:0!important;border-top:1px solid var(--hb5-line)!important;border-radius:0!important;padding:1.1rem 0 0!important}
.hb-login-legal{text-align:left!important}

/* Calendar: one clean workspace */
body[data-hb-endpoint="house_calendar"] .card{box-shadow:none!important}
body[data-hb-endpoint="house_calendar"] [class*="calendar"]{border-color:var(--hb5-line)!important}
body[data-hb-endpoint="house_calendar"] [class*="event"]{border-radius:8px!important}

/* Member and messaging views */
.member-table-clean{min-width:1000px!important}
.member-table-clean .member-edit-form{gap:.65rem!important}
body[data-hb-endpoint="messenger"] .card{box-shadow:none!important}

/* Empty states */
.hb-v3-empty{background:transparent!important;border-color:var(--hb5-line)!important;min-height:120px!important}
.hb-v3-empty::before{background:#fff1e8!important;color:var(--hb5-orange)!important}

/* Mobile */
@media(max-width:991.98px){
  .hb-login-shell{grid-template-columns:1fr!important;min-height:100vh!important}
  .hb-login-story{display:none!important}
  .hb-login-panel{min-height:100vh!important;padding:24px!important}
  #mainNav{padding-top:.7rem!important;padding-bottom:.9rem!important}
}
@media(max-width:767.98px){
  body{padding-bottom:72px!important}
  .hb-navbar .container-fluid{padding-inline:12px!important}
  body>.container-fluid.py-4,body>.container.py-4{padding:16px 12px 34px!important}
  .card,.modal-content,.offcanvas{border-radius:18px!important}
  .card-body{padding:1rem!important}
  .page-title,h1{font-size:1.85rem!important}
  .table-responsive{border-radius:14px!important}
  .btn{min-height:43px!important}
}
