/* v5.4.12 — Structural Pass / Workspace Architecture
   Goal: primary product areas behave like pages, not giant modal sheets.
   Business DOM and RPC logic remain untouched. */

:root{
  --ui2-workspace-top:66px;
  --ui2-workspace-accent:#365f87;
  --ui2-workspace-accent-strong:#284e72;
  --ui2-workspace-accent-soft:#edf4f9;
}

body.ui2-workspace-assignment-v5412{
  --ui2-workspace-accent:#3f7465;
  --ui2-workspace-accent-strong:#315e52;
  --ui2-workspace-accent-soft:#edf6f2;
}
body.ui2-workspace-class-v5412{
  --ui2-workspace-accent:#456b8d;
  --ui2-workspace-accent-strong:#355674;
  --ui2-workspace-accent-soft:#eef4f8;
}
body.ui2-workspace-data-v5412{
  --ui2-workspace-accent:#92651e;
  --ui2-workspace-accent-strong:#755018;
  --ui2-workspace-accent-soft:#fff7e9;
}
body.ui2-workspace-account-v5412{
  --ui2-workspace-accent:#665a88;
  --ui2-workspace-accent-strong:#50466d;
  --ui2-workspace-accent-soft:#f4f1f8;
}

/* Primary workspaces are full product areas beneath the global header. */
.ui2-workspace-backdrop-v5412{
  position:fixed!important;
  left:0!important;right:0!important;bottom:0!important;
  top:calc(var(--jx-visual-top,0px) + var(--ui2-workspace-top))!important;
  height:calc(var(--jx-visual-viewport,100dvh) - var(--ui2-workspace-top))!important;max-height:none!important;
  z-index:55!important;
  display:block!important;
  padding:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  background:var(--ui2-page,#f6f8fb)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.ui2-workspace-surface-v5412{
  width:min(1160px,calc(100% - 32px))!important;
  max-width:none!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0 auto!important;
  overflow:visible!important;
  color:var(--ui2-text,#172033)!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.ui2-workspace-head-v5412{
  position:sticky!important;
  top:0!important;
  z-index:12!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:start!important;
  gap:14px!important;
  min-height:82px!important;
  padding:17px 0 16px!important;
  color:var(--ui2-text,#172033)!important;
  background:rgba(246,248,251,.985)!important;
  border:0!important;
  border-bottom:1px solid var(--ui2-border,#dde3ea)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.ui2-workspace-titlewrap-v5412{grid-column:2;min-width:0}
.ui2-workspace-eyebrow-v5412{
  display:block;
  margin:0 0 3px!important;
  color:var(--ui2-workspace-accent-strong)!important;
  font-size:10px!important;
  line-height:1.2!important;
  font-weight:820!important;
  letter-spacing:.08em!important;
}
.ui2-workspace-head-v5412 h2{
  margin:0!important;
  color:var(--ui2-text,#172033)!important;
  font-size:25px!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
.ui2-workspace-head-v5412 p{
  display:block!important;
  margin:5px 0 0!important;
  color:var(--ui2-text-3,#7a8495)!important;
  font-size:12px!important;
  line-height:1.5!important;
}
.ui2-workspace-hide-kicker-v5412{display:none!important}
.ui2-workspace-back-v5412{
  grid-column:1!important;grid-row:1!important;
  order:-1!important;
  width:auto!important;height:38px!important;min-width:0!important;
  align-self:center!important;
  padding:0 10px!important;
  border:1px solid var(--ui2-border,#dde3ea)!important;
  border-radius:8px!important;
  color:var(--ui2-text-2,#4a5568)!important;
  background:var(--ui2-surface,#fff)!important;
  box-shadow:none!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:760!important;
  white-space:nowrap!important;
}

/* Body spacing: no giant white sheet around the entire feature. */
.ui2-workspace-surface-v5412 .v53-body,
.ui2-workspace-surface-v5412 .v54-body,
.ui2-workspace-surface-v5412 .v49-body,
.ui2-workspace-surface-v5412 .v50-auth-body{
  padding:26px 0 48px!important;
}
.ui2-workspace-surface-v5412 .v49-tabs{
  position:sticky!important;
  top:82px!important;
  z-index:9!important;
  width:100%!important;
  padding:12px 0!important;
  background:rgba(246,248,251,.985)!important;
  border-bottom:1px solid var(--ui2-border,#dde3ea)!important;
}

/* Reduce container-inside-container density on class + assignment workspaces. */
.ui2-workspace-surface-class-v5412 .ui2-v546-primary-panel,
.ui2-workspace-surface-assignment-v5412 .ui2-v546-primary-panel{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
}
.ui2-workspace-surface-class-v5412 .ui2-v546-secondary-panel,
.ui2-workspace-surface-assignment-v5412 .ui2-v546-secondary-panel{
  margin-top:22px!important;
  padding:18px!important;
  border:1px solid var(--ui2-border,#dde3ea)!important;
  border-radius:10px!important;
  background:var(--ui2-workspace-accent-soft)!important;
}
.ui2-workspace-surface-v5412 .v53-members,
.ui2-workspace-surface-v5412 .v54-detail{
  margin-top:24px!important;
  padding:18px 0!important;
  border:0!important;
  border-top:1px solid var(--ui2-border,#dde3ea)!important;
  border-radius:0!important;
  background:transparent!important;
}
.ui2-workspace-surface-v5412 .v53-section-title,
.ui2-workspace-surface-v5412 .v54-section-title{
  padding-bottom:12px!important;
  border-bottom:1px solid var(--ui2-border,#dde3ea)!important;
}

/* Data & documents is a normal utility workspace, not a centered dialog. */
.ui2-workspace-surface-data-v5412{width:min(1040px,calc(100% - 32px))!important}
.ui2-workspace-surface-data-v5412 .v49-tabs{grid-template-columns:repeat(3,minmax(0,180px))!important;justify-content:start!important;gap:6px!important}
.ui2-workspace-surface-data-v5412 .v49-tab{
  min-height:38px!important;
  background:transparent!important;
  border:1px solid transparent!important;
}
.ui2-workspace-surface-data-v5412 .v49-tab.active{
  color:var(--ui2-workspace-accent-strong)!important;
  background:var(--ui2-workspace-accent-soft)!important;
  border-color:color-mix(in srgb,var(--ui2-workspace-accent) 24%,transparent)!important;
}
.ui2-workspace-surface-data-v5412 .v49-panel{gap:16px!important}
.ui2-workspace-surface-data-v5412 .v49-info:not(.v49-warning){
  border-left:3px solid color-mix(in srgb,var(--ui2-workspace-accent) 45%,transparent)!important;
  background:transparent!important;
}

/* Account workspace can stay narrower while still being page-like. */
.ui2-workspace-surface-account-v5412{width:min(860px,calc(100% - 32px))!important}
.ui2-workspace-surface-account-v5412 .v50-auth-tabs{
  max-width:420px!important;
  background:var(--ui2-surface-muted,#f1f4f8)!important;
}
.ui2-workspace-surface-account-v5412 .v50-auth-tabs button.active{
  color:var(--ui2-workspace-accent-strong)!important;
  background:var(--ui2-workspace-accent-soft)!important;
}
.ui2-workspace-surface-account-v5412 .ui2-sync-v548{
  border:0!important;
  border-top:1px solid var(--ui2-border,#dde3ea)!important;
  border-radius:0!important;
  padding:18px 0 0!important;
  background:transparent!important;
}

/* Contextual accent is deliberately sparse: active state, progress, primary action. */
.ui2-workspace-surface-v5412 .v53-btn.primary,
.ui2-workspace-surface-v5412 .v54-btn.primary,
.ui2-workspace-surface-v5412 .v54-card-actions .primary,
.ui2-workspace-surface-v5412 .v49-action.primary,
.ui2-workspace-surface-v5412 .v50-btn.primary,
.ui2-workspace-surface-v5412 .v51-sync-actions button.primary,
.ui2-workspace-surface-v5412 .v51-sync-actions .v52-smart{
  color:#fff!important;
  background:var(--ui2-workspace-accent)!important;
  border-color:var(--ui2-workspace-accent)!important;
  box-shadow:none!important;
  background-image:none!important;
}
.ui2-workspace-surface-v5412 .v54-scoreline,
.ui2-workspace-surface-v5412 .v53-invite{
  background:var(--ui2-workspace-accent-soft)!important;
}
.ui2-workspace-surface-v5412 .v54-scoreline b,
.ui2-workspace-surface-v5412 .v53-invite strong,
.ui2-workspace-surface-v5412 .v53-member-avatar,
.ui2-workspace-surface-v5412 .v54-avatar{
  color:var(--ui2-workspace-accent-strong)!important;
}

/* Quiet motion: immediate press response + short spatial entry, no bouncy ornament. */
.ui2-workspace-surface-v5412 button:not(:disabled),
.ui2-workspace-surface-v5412 a{
  transition:transform 90ms ease-out,background-color 140ms ease,color 140ms ease,border-color 140ms ease!important;
}
.ui2-workspace-surface-v5412 button:not(:disabled):active,
.ui2-workspace-surface-v5412 a:active{transform:scale(.985)!important}
.ui2-workspace-enter-v5412 .ui2-workspace-surface-v5412{animation:ui2WorkspaceEnter5410 180ms cubic-bezier(.2,.8,.2,1) both}
.ui2-workspace-leaving-v5412 .ui2-workspace-surface-v5412{animation:ui2WorkspaceLeave5410 120ms ease-in both}
@keyframes ui2WorkspaceEnter5410{from{opacity:.01;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes ui2WorkspaceLeave5410{from{opacity:1;transform:translateY(0)}to{opacity:.01;transform:translateY(4px)}}

body.ui2-workspace-open-v5412 .ui2-more-backdrop,
body.ui2-workspace-open-v5412 .ui2-more-menu{display:none!important}

@media(max-width:760px){
  body.ui2-workspace-open-v5412{padding-bottom:0!important}
  body.ui2-workspace-open-v5412:not(.ui2-practice-active) .nav-tabs{display:none!important}
  .ui2-workspace-backdrop-v5412{
    top:calc(var(--jx-visual-top,0px) + var(--ui2-workspace-top))!important;
    align-items:flex-start!important;
    padding:0!important;
  }
  .ui2-workspace-surface-v5412,
  .ui2-workspace-surface-data-v5412,
  .ui2-workspace-surface-account-v5412{
    width:100%!important;
    margin:0!important;
    min-height:100%!important;
    border:0!important;
    border-radius:0!important;
  }
  .ui2-workspace-head-v5412{
    min-height:72px!important;
    gap:10px!important;
    padding:12px 16px!important;
    background:rgba(246,248,251,.99)!important;
  }
  .ui2-workspace-head-v5412 h2{font-size:21px!important}
  .ui2-workspace-head-v5412 p{font-size:11px!important}
  .ui2-workspace-back-v5412{height:36px!important;padding:0 9px!important}
  .ui2-workspace-surface-v5412 .v53-body,
  .ui2-workspace-surface-v5412 .v54-body,
  .ui2-workspace-surface-v5412 .v49-body,
  .ui2-workspace-surface-v5412 .v50-auth-body{padding:18px 16px calc(28px + env(safe-area-inset-bottom))!important}
  .ui2-workspace-surface-v5412 .v49-tabs{
    top:72px!important;
    padding:10px 16px!important;
    grid-template-columns:repeat(3,1fr)!important;
  }
  .ui2-workspace-surface-class-v5412 .ui2-v546-secondary-panel,
  .ui2-workspace-surface-assignment-v5412 .ui2-v546-secondary-panel{margin-top:18px!important;padding:14px!important}
  .ui2-workspace-surface-account-v5412 .v50-auth-tabs{max-width:none!important}
}

@media(max-width:430px){
  .ui2-workspace-head-v5412{grid-template-columns:auto minmax(0,1fr)!important}
  .ui2-workspace-head-v5412 p{white-space:normal!important}
  .ui2-workspace-surface-data-v5412 .v49-tabs{gap:4px!important}
  .ui2-workspace-surface-data-v5412 .v49-tab{padding:7px 5px!important;font-size:12px!important}
}

@media(prefers-reduced-motion:reduce){
  .ui2-workspace-surface-v5412,
  .ui2-workspace-surface-v5412 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

.ui2-workspace-head-v5412 h2:focus{outline:none!important}

body.ui2-workspace-open-v5412:not(.ui2-practice-active) .nav-tabs > .ui2-workspace-nav-active-v5412{
  color:var(--ui2-workspace-accent-strong)!important;
  background:var(--ui2-workspace-accent-soft)!important;
}

/* Specificity shield: historical modal layers use !important heavily. */
body.ui2-workspace-open-v5412 .ui2-workspace-backdrop-v5412{
  display:block!important;
  position:fixed!important;
  left:0!important;right:0!important;bottom:auto!important;top:calc(var(--jx-visual-top,0px) + var(--ui2-workspace-top))!important;
  width:auto!important;height:calc(var(--jx-visual-viewport,100dvh) - var(--ui2-workspace-top))!important;max-height:none!important;
  padding:0!important;
  background:var(--ui2-page,#f6f8fb)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  overflow-x:hidden!important;overflow-y:auto!important;
}
body.ui2-workspace-open-v5412 .ui2-workspace-backdrop-v5412 .ui2-workspace-surface-v5412{
  width:min(1160px,calc(100% - 32px))!important;
  max-width:none!important;min-height:100%!important;max-height:none!important;
  margin:0 auto!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;border-radius:0!important;box-shadow:none!important;
}
body.ui2-workspace-data-v5412 .ui2-workspace-backdrop-v5412 .ui2-workspace-surface-v5412{width:min(1040px,calc(100% - 32px))!important}
body.ui2-workspace-account-v5412 .ui2-workspace-backdrop-v5412 .ui2-workspace-surface-v5412{width:min(860px,calc(100% - 32px))!important}
body.ui2-workspace-open-v5412 .ui2-workspace-surface-v5412 .ui2-workspace-head-v5412{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  align-items:center!important;
  padding:17px 0 16px!important;
  background:rgba(246,248,251,.985)!important;
  border:0!important;border-bottom:1px solid var(--ui2-border,#dde3ea)!important;
  border-radius:0!important;box-shadow:none!important;
}
body.ui2-workspace-open-v5412 .ui2-workspace-surface-v5412 .ui2-workspace-back-v5412{
  width:auto!important;height:38px!important;min-width:max-content!important;
  padding:0 10px!important;border-radius:8px!important;
  font-size:12px!important;line-height:1!important;
}
@media(max-width:760px){
  body.ui2-workspace-open-v5412 .ui2-workspace-backdrop-v5412 .ui2-workspace-surface-v5412{width:100%!important;margin:0!important}
  body.ui2-workspace-open-v5412 .ui2-workspace-surface-v5412 .ui2-workspace-head-v5412{padding:12px 16px!important}
  body.ui2-workspace-open-v5412 .ui2-workspace-surface-v5412 .ui2-workspace-back-v5412{height:36px!important}
}

.ui2-workspace-enter-v5412 .ui2-workspace-surface-v5412{animation:ui2WorkspaceEnter5412 300ms cubic-bezier(.2,.82,.22,1) both!important}
.ui2-workspace-leaving-v5412 .ui2-workspace-surface-v5412{animation:ui2WorkspaceLeave5412 190ms ease-in both!important}
@keyframes ui2WorkspaceEnter5412{from{opacity:.02;transform:translateX(20px) translateY(8px)}to{opacity:1;transform:none}}
@keyframes ui2WorkspaceLeave5412{from{opacity:1;transform:none}to{opacity:.02;transform:translateX(-12px)}}
@media(max-width:760px){.ui2-workspace-enter-v5412 .ui2-workspace-surface-v5412{animation-name:ui2WorkspaceEnterMobile5412!important}@keyframes ui2WorkspaceEnterMobile5412{from{opacity:.02;transform:translateY(22px)}to{opacity:1;transform:none}}}
@media(prefers-reduced-motion:reduce){.ui2-workspace-enter-v5412 .ui2-workspace-surface-v5412,.ui2-workspace-leaving-v5412 .ui2-workspace-surface-v5412{animation:none!important}}
