/* Shared finishing layer for school, platform, category and public workspaces. */
:root { --workspace-ring: #369eaa; }
html { scroll-padding-top: 90px; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
[hidden] { display: none !important; }
button, input, select, textarea { font: inherit; }
button, summary, select { touch-action: manipulation; }
button:disabled { cursor: wait; opacity: .65; }
:where(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--workspace-ring); outline-offset: 3px; }
:where(input,select,textarea) { border-radius: 10px; min-height: 42px; }
textarea { resize: vertical; line-height: 1.6; }
.workspace-nav-group { border-bottom: 1px solid color-mix(in srgb, currentColor 10%, transparent); padding: 8px 0; }
.workspace-nav-group > summary { padding: 12px 10px; cursor: pointer; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.workspace-nav-group .side-nav-item { width: 100%; margin-block: 3px; border-radius: 9px; }
.workspace-nav-group[open] > summary { color: var(--accent, #4ab4bf); }
.category-search-toolbar { display: flex; align-items: end; gap: 20px; flex-wrap: wrap; margin-block: 20px; }
.category-search-toolbar label { display: grid; gap: 8px; flex: 1; min-width: 240px; font-weight: 650; }
.category-search-toolbar input { width: 100%; min-height: 46px; }
.category-search-toolbar p, .policy-explainer { color: var(--muted, #a7bbc8); line-height: 1.6; }
.category-card[hidden] { display: none !important; }
.policy-explainer { padding: 16px; border-inline-start: 3px solid var(--accent, #4ab4bf); background: color-mix(in srgb, currentColor 5%, transparent); border-radius: 8px; }
:where(.status-card,.trial-lead-card,.system-card,.metric-card,.panel) { border-radius: 16px; }
:where(.trial-lead-body,.trial-financial-grid,.summary-grid,.metric-grid) { gap: 18px; }
.trial-lead-card { margin-block: 12px; overflow: hidden; }
.trial-lead-card > summary { padding: 20px; cursor: pointer; }
.trial-lead-body { padding: 20px; border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
.trial-lead-form { display: grid; gap: 14px; align-content: start; }
.status-main { max-width: 1180px; }
.status-hero { border-radius: 24px; padding: clamp(24px, 4vw, 48px); }
.status-hero h1 { letter-spacing: -.035em; }
.status-card { padding: clamp(18px, 3vw, 30px); margin-block: 22px; }
.section-heading { gap: 16px; flex-wrap: wrap; }
:where(.table-wrap,.table-scroll) { overflow-x: auto; overscroll-behavior-x: contain; }
th { text-align: left; font-size: .8rem; letter-spacing: .025em; }
td,th { padding: 13px 16px; }
:where(.muted,small) { line-height: 1.5; }
body.is-login-portal .landing-page { background: radial-gradient(ellipse at top, #173944, #0c151c 70%); }
body.is-login-portal .login-portal-only { width: min(460px,100%); }
body.is-login-portal .login-portal-only .landing-signin { background: #14232d; color: #e8f1f5; border: 1px solid #354a56; border-radius: 20px; box-shadow: 0 24px 80px #0005; }
body.is-login-portal .login-portal-only h1,
body.is-login-portal .login-portal-only #landing-password-login label { color: #e8f1f5; }
body.is-login-portal .login-portal-only #landing-password-login input { background: #0d1a23; color: #f2f7fa; border: 1px solid #607580; min-height: 48px; }
body.is-login-portal .signin-consent { color: #b9ccd5; font-size: .8rem; line-height: 1.6; }
body.is-login-portal .signin-consent a,
body.is-login-portal .landing-signin > .eyebrow { color: #89ddd5; }
body.is-login-portal .custom-google-login { border: 1px solid #607580; border-radius: 10px; }
body.is-login-portal #landing-password-login { gap: 20px; }
@media (max-width: 760px) {
  .trial-lead-body, .trial-lead-card > summary { display: grid; grid-template-columns: 1fr; gap: 14px; }
  .summary-grid, .metric-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-header { flex-wrap: wrap; gap: 12px; }
  .site-header nav { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
