/* VYSHKA App Shell 2030 — shared visual contract for authenticated surfaces. */
:root{
  --vy-action:#2563eb;
  --vy-action-hover:#1d4ed8;
  --vy-action-soft:rgba(37,99,235,.10);
  --vy-live:#16a66a;
  --vy-danger:#dc2626;
  --vy-bg:#f4f7fb;
  --vy-surface:#fff;
  --vy-surface-soft:#f7f9fc;
  --vy-line:#dde5ef;
  --vy-text:#121926;
  --vy-sub:#46566d;
  --vy-mute:#748196;
  --vy-r-sm:12px;
  --vy-r:16px;
  --vy-r-lg:20px;
}
body[data-page]{
  --acc:var(--vy-action);
  --acc-hover:var(--vy-action-hover);
  --acc-soft:var(--vy-action-soft);
  --voice:var(--vy-live);
  --err:var(--vy-danger);
  accent-color:var(--vy-action);
}
[data-theme="light"] body[data-page]{
  --bg:var(--vy-bg);
  --bg-elev:var(--vy-surface);
  --panel:var(--vy-surface);
  --panel-2:var(--vy-surface-soft);
  --panel-3:#eef3f9;
  --bd:var(--vy-line);
  --bd-strong:#c7d4e4;
  --txt:var(--vy-text);
  --sub:var(--vy-sub);
  --mute:var(--vy-mute);
}
body[data-page] :where(button,a,input,textarea,select):focus-visible{
  outline:2px solid var(--vy-action)!important;
  outline-offset:2px;
}
body[data-page] :where(.btn,.b,.ctl,.cbtn,.vm-cb-btn){
  border-radius:var(--vy-r-sm);
}
body[data-page] :where(.btn.grad,.b.grad,.btn.primary,.send):not(.danger):not(.leave){
  background-color:var(--vy-action);
  background-image:none;
}
body[data-page] :where(.presence.on,.presence.voice,.status.voice,.led.voice){
  background-color:var(--vy-live);
}
/* Profile is part of the same product, not a separate purple microsite. */
body[data-page="profile"] .pf-cover,
body[data-page="profile"] .pf-identity-card .pf-cover{
  background:var(--vy-action)!important;
  background-image:none!important;
}
body[data-page="profile"] .pf-cover::after,
body[data-page="profile"] .pf-identity-card .pf-cover::after,
body[data-page="profile"] .pf-identity-card .pf-cover::before{display:none!important}
body[data-page="profile"] :where(.pf-identity-card,.pf-hero,.content .card,.pf-card-tile){
  border-color:var(--bd,var(--vy-line))!important;
  box-shadow:0 10px 30px -26px rgba(15,23,42,.55)!important;
}
body[data-page="profile"] .pf-card-tile span{color:var(--vy-action)!important;background:var(--vy-action-soft)!important}
body[data-page="profile"] .pf-tabs button.active{color:var(--vy-action)!important}
body[data-page="profile"] .pf-tabs button.active::after{background:var(--vy-action)!important}
/* Keep app rails and primary actions on the same color semantics. */
body[data-page] .vshell-rail :where(.it.active,.sp.activeSpace){
  background:var(--vy-action)!important;
  background-image:none!important;
  color:#fff!important;
}
@media(prefers-reduced-motion:reduce){
  body[data-page] *,body[data-page] *::before,body[data-page] *::after{scroll-behavior:auto!important}
}
