/* PowerOTA SoftStay Guest Portal
 * Source of truth: POWEROTA_SOFTSTAY_UI_DESIGN_LANGUAGE.md §10.
 * Friendly Minimal UI, theme-aware surfaces, clay empty states, large actions.
 */
.guest-portal-bg,.guest-auth-bg{
  background:
    radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--color-primary) 8%,transparent),transparent 30rem),
    linear-gradient(180deg,var(--color-background),color-mix(in srgb,var(--color-background) 88%,var(--color-surface)));
  color:var(--color-text);
}
.guest-portal-card,.guest-auth-card,.guest-portal-sidebar-card{
  border:1px solid var(--color-border);
  border-radius:var(--radius-card);
  background:var(--color-surface);
  box-shadow:var(--shadow-card);
  color:var(--color-text);
}
.guest-portal-card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.guest-portal-card:hover{border-color:color-mix(in srgb,var(--color-primary) 18%,var(--color-border));box-shadow:0 16px 42px rgba(15,23,42,.09)}
.guest-auth-card{box-shadow:0 18px 48px rgba(15,23,42,.09)}
.guest-auth-mark{
  display:flex;align-items:center;justify-content:center;width:3.75rem;height:3.75rem;margin-inline:auto;
  border-radius:var(--radius-button);color:#fff;background:var(--color-primary);box-shadow:var(--shadow-button)
}
.guest-portal-muted-card,.clay-empty-state{
  border:1px solid color-mix(in srgb,var(--color-primary) 13%,var(--color-border));
  border-radius:var(--radius-card);
  background:linear-gradient(145deg,color-mix(in srgb,var(--color-primary) 6%,var(--color-surface)),var(--color-surface));
  box-shadow:inset 3px 3px 8px rgba(15,23,42,.035),inset -3px -3px 8px rgba(255,255,255,.8),0 10px 26px rgba(15,23,42,.05);
  color:var(--color-muted)
}
.guest-empty-icon{
  display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin:0 auto .9rem;
  border-radius:var(--radius-button);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-primary)
}
.guest-portal-action-link{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:.55rem .8rem;
  border:1px solid transparent;border-radius:var(--radius-button);color:var(--color-muted);font-size:.78rem;font-weight:700;
  transition:background .18s ease,border-color .18s ease,color .18s ease
}
.guest-portal-action-link:hover{border-color:var(--color-border);background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));color:var(--color-text)}
.guest-portal-nav-link{border-radius:var(--radius-button);color:var(--color-muted)}
.guest-portal-nav-link:hover{background:color-mix(in srgb,var(--color-primary) 6%,var(--color-surface));color:var(--color-text)}
.guest-portal-nav-link.is-active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-button)}
.guest-mobile-nav{background:linear-gradient(180deg,var(--color-background) 78%,transparent)}
.guest-mobile-nav-chip{border-radius:var(--radius-button);border-color:var(--color-border);background:var(--color-surface);color:var(--color-muted)}
.guest-mobile-nav-chip.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff;box-shadow:var(--shadow-button)}
.guest-portal-shell :is(.theme-input,.theme-select,.theme-textarea),.guest-auth-card :is(.theme-input,.theme-select,.theme-textarea){min-height:3rem}
.guest-portal-shell :is(.theme-button-primary,.theme-button-secondary,.theme-button-outline,.theme-button-danger),.guest-auth-card :is(.theme-button-primary,.theme-button-secondary,.theme-button-outline,.theme-button-danger){min-height:2.875rem}
.guest-auth-card .theme-button-primary{width:100%;justify-content:center}
.guest-auth-card .guest-step-card:hover,.guest-portal-shell form.guest-step-card:hover{transform:none}
.guest-page-heading{color:var(--color-text)}
.guest-page-subtitle,.guest-helper-text{color:var(--color-muted)}
.guest-portal-shell :is(.text-slate-950,.text-slate-900,.text-slate-800){color:var(--color-text)!important}
.guest-portal-shell :is(.text-slate-700,.text-slate-600,.text-slate-500,.text-slate-400),.guest-auth-bg :is(.text-slate-700,.text-slate-600,.text-slate-500,.text-slate-400){color:var(--color-muted)!important}
.guest-portal-shell :is(.border-slate-100,.border-slate-200),.guest-auth-bg :is(.border-slate-100,.border-slate-200){border-color:var(--color-border)!important}
.guest-portal-shell .bg-white,.guest-auth-bg .bg-white{background:var(--color-surface)!important}
.guest-portal-shell .bg-slate-50,.guest-auth-bg .bg-slate-50{background:color-mix(in srgb,var(--color-background) 72%,var(--color-surface))!important}
@media(max-width:768px){
  .guest-auth-main{padding:2rem var(--mobile-page-gutter)}
  .guest-auth-card{padding:var(--mobile-card-padding);border-radius:var(--mobile-radius-card)}
  .guest-portal-card{border-radius:var(--mobile-radius-card)}
  .guest-portal-action-link{min-height:2.75rem}
  .guest-portal-shell :is(.theme-button-primary,.theme-button-secondary,.theme-button-outline,.theme-button-danger),.guest-auth-card :is(.theme-button-primary,.theme-button-secondary,.theme-button-outline,.theme-button-danger){min-height:3rem}
}
@media(prefers-reduced-motion:reduce){.guest-portal-card,.guest-portal-action-link{transition:none}.guest-portal-card:hover{transform:none}}
