/* Eleraa full-stack additions. The approved desktop hero remains untouched. */
.site-logo{display:block;object-fit:contain}.site-logo-header{width:42px;height:42px}.site-logo-footer{width:54px;height:54px}.brand-logo-link{gap:10px}.brand-logo-link>span{white-space:nowrap}
.form-status{min-height:20px;margin:14px 0 0;color:var(--muted);font-size:13px}.form-status.error{color:#b4233f}.form-status.success{color:#267b42}
.responsive-table{width:100%;overflow:auto}.responsive-table table{width:100%;border-collapse:collapse;min-width:680px}.responsive-table th,.responsive-table td{text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);font-size:13px;vertical-align:top}.responsive-table th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.table-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:var(--surface-2);font-size:11px;font-weight:800}.status-active,.status-approved,.status-paid,.status-confirmed{background:#e8f7ed;color:#267b42}.status-pending,.status-pending_payment,.status-new{background:#fff3d7;color:#8a5b00}.status-rejected,.status-cancelled{background:#fde9ed;color:#a52842}
.payment-option-card{display:grid!important;grid-template-columns:auto 1fr 96px;align-items:center!important;gap:14px!important}.payment-option-card img{width:96px;height:96px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}.payment-option-card p{grid-column:2/4;margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.site-footer .site-logo-footer{filter:none}.chat-back-link{font-size:24px;margin-right:2px}.full-chat>header>button{margin-left:auto;border:0;background:var(--surface-2);width:40px;height:40px;border-radius:50%;color:var(--rose)}.empty-chat{text-align:center;margin:auto;max-width:420px}.chat-attach{display:grid;place-items:center;margin:0;width:44px;height:44px;border-radius:50%;background:var(--surface-2);color:var(--rose);font-size:24px}.typing-indicator{display:none;font-size:12px;color:var(--muted);padding:0 18px 8px}.typing-indicator.is-active{display:block}
.message-meta{display:block;font-size:10px;opacity:.65;margin-top:4px}.message-image{max-width:240px;border-radius:14px;margin-top:6px}.bubble.system{text-align:center;font-size:12px;align-self:center}
.notification-permission-card{border-radius:18px;padding:15px;background:linear-gradient(135deg,#fff,#f7d9e3);border:1px solid var(--line);margin:8px 0}.notification-permission-card button{margin-top:10px}
.public-message-shell{max-width:1180px;margin:auto}
.mobile-message-cta{max-width:360px;margin-inline:auto}

@media(max-width:767px){
  .site-logo-header{width:42px;height:42px}.brand-logo-link>span{font-size:13px}
  .mobile-message-cta{width:min(86%,340px)!important;min-height:58px!important;border-radius:999px!important;margin-inline:auto!important;display:flex!important}
  .mobile-copy-inner{text-align:left}.hero-copy-mobile .hero-note{max-width:340px;margin-inline:auto!important;text-align:center!important}
  .about-grid{display:flex!important;flex-direction:column!important;gap:26px!important}.about-copy{order:1}.about-image{order:2!important}.mini-stats{order:3;display:flex!important;flex-wrap:wrap;gap:8px;border:0!important;margin-top:0!important}.mini-stats div{border:1px solid var(--line)!important;background:#fff;padding:10px 14px!important;border-radius:999px;flex:0 0 auto}.mini-stats span{display:none!important}.mini-stats strong{font-size:13px!important}
  .contact-float{right:14px!important;bottom:calc(92px + env(safe-area-inset-bottom))!important}.contact-circle{width:44px!important;height:44px!important}.message-capsule{width:52px!important;height:52px!important}
  .payment-option-card{grid-template-columns:auto 1fr 74px}.payment-option-card img{width:74px;height:74px}.payment-option-card p{grid-column:1/4}
  .messages-page{padding:0!important}.public-message-shell{height:100svh!important}.message-list{display:none}.full-chat{height:100svh}.full-chat-body{padding-bottom:110px}.full-chat-input{position:fixed;left:0;right:0;bottom:0;background:#fff;z-index:4}
  .dashboard-grid{padding-bottom:80px}.dashboard-nav{display:flex!important;overflow:auto;flex-direction:row!important}.dashboard-nav a,.dashboard-nav button{white-space:nowrap}
}


/* Mobile keyboard-safe full chat. The composer remains in the grid instead of
   being fixed to the layout viewport, so Android/iOS keyboards cannot cover it. */
@media(max-width:767px){
  :root{--eleraa-visual-height:100dvh;--eleraa-visual-top:0px}
  body.messages-body{height:var(--eleraa-visual-height);min-height:0;overflow:hidden;padding-bottom:0!important}
  .messages-body .messages-page{height:100%;min-height:0;overflow:hidden;padding:0!important}
  .messages-body .public-message-shell{height:100%!important;min-height:0!important;max-height:none!important}
  .messages-body .full-chat{height:100%!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr) auto!important;overflow:hidden}
  .messages-body .full-chat-body{min-height:0!important;overflow-y:auto!important;padding:18px!important;padding-bottom:18px!important;overscroll-behavior:contain}
  .messages-body .full-chat-input{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;z-index:5!important;padding:10px 10px max(10px,env(safe-area-inset-bottom))!important;background:#fff}
  .messages-body .contact-float,.messages-body .mobile-bottom-nav{display:none!important}
  body.eleraa-keyboard-open .contact-float,body.eleraa-keyboard-open .mobile-bottom-nav{display:none!important}
}
