/* Turnli TIDE 4.7.30 — surface-aware approved brand identity foundation. */
:root{
  --turnli-primary:#8B5CF6;
  --turnli-violet:#6D28D9;
  --turnli-navy:#0F172A;
  --turnli-neutral:#F3F4F6;
  --turnli-brand-gradient:linear-gradient(135deg,var(--turnli-primary),var(--turnli-violet));
  --turnli-brand-soft:rgba(139,92,246,.10);
  --turnli-brand-line:rgba(109,40,217,.18);
  --turnli-text:#152033;
  --turnli-text-secondary:#586579;
  --turnli-border:#dce1e9;
  --turnli-canvas:#f6f7fa;
  --turnli-focus:#6d28d9;
}

/* Canonical Turnli lockup. Markup remains readable/accessibility-safe while the exact approved raster lockup is rendered. */
a.brand,
span.brand:not(.badge),
.public-state-brand,
.mobile-brand,
.reset-brand,
.sidebar-brand>.brand,
.turnli-entry-brand,
.auth-brand{
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  background-image:var(--turnli-lockup-image,url("turnli-logo-primary.png"));
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  color:transparent!important;
  text-shadow:none!important;
}
a.brand,span.brand:not(.badge),.sidebar-brand>.brand{width:112px;height:34px;min-width:112px;gap:0!important}
.public-state-brand{width:118px;height:36px;min-width:118px;gap:0!important}
.mobile-brand{width:98px;height:30px;min-width:98px;gap:0!important}
.reset-brand{width:122px;height:36px;min-width:122px;gap:0!important}
.turnli-entry-brand{width:124px;height:36px;gap:0!important}
.auth-brand{width:116px;height:34px;gap:0!important}
a.brand>img,a.brand>span,span.brand:not(.badge)>img,span.brand:not(.badge)>span,
.public-state-brand>img,.public-state-brand>span,.mobile-brand>img,.mobile-brand>span,.reset-brand>*,
.sidebar-brand>.brand>img,.sidebar-brand>.brand>span,
.turnli-entry-brand>img,.turnli-entry-brand>span,
.auth-brand>img,.auth-brand>span{
  position:absolute!important;
  width:1px!important;height:1px!important;
  margin:-1px!important;padding:0!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;
  white-space:nowrap!important;border:0!important;
}


/* Surface-aware Turnli lockup contract.
   Light surfaces use the approved navy wordmark; dark surfaces use the approved white wordmark.
   Explicit data attributes are the canonical source of truth. Class fallbacks protect older shells. */
[data-turnli-brand-surface="light"]{--turnli-lockup-image:url("turnli-logo-primary.png")}
[data-turnli-brand-surface="dark"]{--turnli-lockup-image:url("turnli-logo-light.png")}
.rail:not([data-turnli-brand-surface]),
.tv-body-v145:not([data-turnli-brand-surface]),
.virtual-line-status,
.branding-preview-device-v19.tv{
  --turnli-lockup-image:url("turnli-logo-light.png");
}

/* Product showcase canvases keep the exact approved mark and never synthesize a legacy wordmark. */
.brand-canvas-wordmark{display:none!important}
.brand-canvas-logo>span{gap:0!important}

/* Approved mark for icon-only brand moments. */
.auth-brand-mark img,
.reset-brand-mark img,
.turnli-entry-core img,
.turnli-powered-brand-v19 img,
.tv-powered-fallback-v19 img{
  object-fit:contain;
}
.auth-brand-mark,.reset-brand-mark,.turnli-entry-core{
  background:linear-gradient(145deg,rgba(139,92,246,.10),rgba(109,40,217,.06))!important;
  border-color:rgba(109,40,217,.16)!important;
}

/* Powered-by uses the approved compact lockup rather than a legacy mark + system word. */
.turnli-powered-brand-v19{
  position:relative;
  width:76px;height:22px;min-width:76px;
  display:inline-flex!important;
  background:var(--turnli-lockup-image,url("turnli-logo-primary.png")) center/contain no-repeat;
  color:transparent!important;
}
.turnli-powered-brand-v19>img,.turnli-powered-brand-v19>strong{
  position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;
}
.tv-powered-v19,.display-shell{
  --turnli-lockup-image:url("turnli-logo-light.png");
}

/* New corporate palette. Tenant/business accents still override through their own --business-* tokens. */
.btn-brand,.mobile-add,.nav-cta.brand-cta{
  background:var(--turnli-violet)!important;
  background-image:none!important;
}
:where(.text-link,.text-button,.eyebrow,.view-kicker){--turnli-accent-current:var(--turnli-primary)}

/* Corporate controls, not customer website composition. One shared touch/focus
   contract across marketing, workspace, demo, authentication and Command Center. */
:is(.public-site,.app-body,.auth-page,.command-workbench-v2) :is(.btn,.button,.t2-button,.nav-cta,.menu-button){
  min-height:44px;
  line-height:1.3;
  font-size:.875rem;
  white-space:normal;
  text-align:center;
}
:is(.public-site,.app-body,.auth-page,.command-workbench-v2) :is(button,a,input,select,textarea,summary):focus-visible{
  outline:3px solid var(--turnli-focus);
  outline-offset:3px;
}
:is(.public-site,.app-body,.auth-page,.command-workbench-v2) :is(input,select,textarea){scroll-margin-block:100px}
:is(.app-body,.auth-page,.command-workbench-v2) :is(.field>label,.form-field>label,.setting-row-v2 label,.settings-field>label){font-size:.8125rem;line-height:1.5;color:var(--turnli-text-secondary)}
@media(max-width:760px){
 :is(.app-body,.auth-page,.command-workbench-v2) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){font-size:16px}
 :is(.public-site,.app-body,.auth-page,.command-workbench-v2) :is(.btn-sm,.icon-btn){min-height:44px;min-width:44px}
}
@media(prefers-reduced-motion:reduce){
 :is(.public-site,.app-body,.auth-page,.command-workbench-v2) *,
 :is(.public-site,.app-body,.auth-page,.command-workbench-v2) *::before,
 :is(.public-site,.app-body,.auth-page,.command-workbench-v2) *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

@media(max-width:940px){
  a.side-brand-v2.brand{width:38px;min-width:38px;height:38px;background-image:url("turnli-mark.png")}
}
@media(max-width:430px){
  a.brand,span.brand:not(.badge),.public-state-brand{width:104px;min-width:104px;height:31px}
  .mobile-brand{width:92px;min-width:92px;height:28px}
  .reset-brand{width:112px;min-width:112px;height:33px}
}
@media(prefers-reduced-motion:reduce){a.brand,span.brand:not(.badge),.public-state-brand,.mobile-brand,.reset-brand,.sidebar-brand>.brand,.turnli-entry-brand,.auth-brand{transition:none!important}}
