/* Shared, restrained surfaces for the portal and public campus pages. */
:root { --font-sans: Roboto, Inter, Arial, sans-serif; --font-display: Inter, Roboto, Arial, sans-serif; }
body { background: #fff; }
button, input, select, textarea { font-family: var(--font-sans); }
.app-shell { background: #fff; }
.sidebar { background: var(--green-dark); box-shadow: none; }
.topbar { background: #f7f9fa; box-shadow: none; backdrop-filter: none; }
.nav button.active { background: #ffffff1f; box-shadow: inset 2px 0 #fff; }
.primary-btn { background: var(--green-dark); box-shadow: none; }
.primary-btn:hover { background: var(--green); }
.secondary-btn { background: #edf1f3; box-shadow: none; }
.primary-btn:hover, .secondary-btn:hover, .ghost-btn:hover, .icon-btn:hover { transform: none; box-shadow: none; }
.workspace-content .view-title h1 { font-size: 24px; font-weight: 600; line-height: 1.3; }
.workspace-content h2, .workspace-content h3 { font-family: var(--font-display); font-weight: 600; }
.workspace-content :is(.panel, .dashboard-panel, .metric, .action-card, .audit-item, .notification-item,
  .tenant-usage-item, .context-line, .choice-item, .list-row, .stack-block, .question-card,
  .summary-strip, .mapping-card, .job-row, .document-card, .quality-row, .check-card,
  .risk-item, .broadcast-preview, .channel-check, .checkbox-grid, .tenant-config-card,
  .dashboard-status-row, .security-nudge, .tenant-billing-plan, .offline-panel) {
  border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none;
}
.workspace-content .dashboard-panel .panel-head { padding: 20px 0 12px; }
.workspace-content .dashboard-panel .panel-body { padding: 8px 0 20px; }
.workspace-content .dashboard-kpi-card { background: transparent; }
.workspace-content .dashboard-kpi-icon { box-shadow: none; border-radius: 4px; }
.workspace-content .dashboard-bar-track span { background: var(--chart-color); box-shadow: none; border-radius: 3px 3px 0 0; }
.workspace-content .panel-head .report-meta > strong { font-family: var(--font-display); font-weight: 600; }
.workspace-content .dashboard-bar-track { background: #f5f7f8; }
.workspace-content .dashboard-premium .action-card { padding: 12px 0; }
.workspace-content .action-card:hover, .workspace-content .dashboard-status-row:hover { background: #f4f6f7; }
.workspace-content .section-grid, .workspace-content .dashboard-premium-grid, .workspace-content .dashboard-bottom-grid { gap: 32px; }
.workspace-content :is(.field input, .field select, .field textarea, td input, td select),
.search-box input { background: #f3f5f7; box-shadow: none; }
.workspace-content input:focus-visible, .workspace-content select:focus-visible, .workspace-content textarea:focus-visible { box-shadow: none; }
.workspace-index, [data-tenant-update-form] > .form-action-bar { background: #fff; }
.workspace-index-links a[aria-current] { color: var(--green-dark); font-weight: 700; }
.workspace-content .tenant-brand-preview { box-shadow: none; }
.workspace-content .tenant-brand-preview, .workspace-content .tenant-preview-desktop { background: var(--tenant-preview-image) center / cover no-repeat; background-color: #45504d; background-blend-mode: multiply; }
.workspace-content .tenant-preview-mobile-screen { background: var(--tenant-login-preview) center / cover no-repeat; background-color: #45504d; background-blend-mode: multiply; }
.workspace-content .tenant-brand-preview b { background: var(--tenant-preview-primary); box-shadow: none; }
.workspace-content :is(.tenant-wizard-note, .hardening-card, .program-stage) { background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.workspace-content .mobile-screen { background: var(--green-dark); }
.workspace-content .mobile-screen.lecturer { background: var(--blue); }
.login-page { background: var(--tenant-login-image) center / cover no-repeat; background-color: #34413e; background-blend-mode: multiply; }
.login-panel, .login-panel.platform-login { background: transparent; box-shadow: none; backdrop-filter: none; }
.login-stack { background: #fff; box-shadow: none; backdrop-filter: none; border-radius: 4px; }
.login-copy h1 { font-size: 40px; line-height: 1.15; font-weight: 600; }
.login-form .field input { background: #f3f5f7; box-shadow: none; }
.brand-mark, .brand-dot { box-shadow: none; }

.page { background: #fff; }
.page .nav { background: #fff; box-shadow: none; backdrop-filter: none; }
.page :is(.btn, .nav-menu summary) { box-shadow: none; border-radius: 4px; }
.page .btn.primary, .page .nav-menu summary { background: var(--primary); }
.page .btn.accent { background: #8c5d17; }
.page .btn:hover { transform: none; box-shadow: none; }
body .page .hero { grid-template-columns: minmax(0, 1fr); padding-top: 64px; padding-bottom: 40px; min-height: 580px; }
body .page .hero::before { background: var(--hero-image) center / cover no-repeat; background-color: #45504d; background-blend-mode: multiply; }
.page .hero::after { display: none; }
.page .hero h1 { font-size: 52px; line-height: 1.12; font-weight: 600; max-width: 850px; }
.page h2 { font-family: var(--font-display); font-size: 28px; font-weight: 600; line-height: 1.25; }
.page h3 { font-family: var(--font-display); font-size: 16px; font-weight: 600; }
.page .hero-content { max-width: 900px; }
.page .hero-panel { background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none; padding: 20px 0 0; max-width: 900px; }
.page .hero-panel-list { display: flex; flex-wrap: wrap; gap: 12px 32px; }
.page .hero-panel-row { display: flex; gap: 12px; padding: 0; }
.page .hero-panel .btn { width: fit-content; }
.page .hero-panel h2 { font-size: 18px; }
.page .hero-kpis { max-width: 780px; }
.page :is(.eyebrow, .section-kicker) { letter-spacing: 0; font-weight: 600; }
.page :is(.program-card, .path-card, .form-panel, .highlight-panel, .mini-stat, .card, .story-panel) {
  background: transparent; border: 0; border-radius: 0; box-shadow: none; backdrop-filter: none;
}
.page .program-card, .page .path-card { padding: 16px 0; }
.page .mini-stat { padding: 6px 0; }
.page .highlight-panel { padding: 16px 0; }
.page .highlight-panel h2 { color: var(--ink); }
.page .highlight-panel p { color: var(--muted); }
.page .campus-visual { border-radius: 0; box-shadow: none; }
.page .band.soft { background: #f4f6f7; }
.page .band:has(> .cta-band) { background: var(--primary); }
.page .cta-band { background: transparent; border-radius: 0; padding: 0; }
.page .form-panel input, .page .form-panel select, .page .form-panel textarea { background: #f3f5f7; border-radius: 4px; box-shadow: none; }
.page :is(input, select, textarea, button, a, summary):focus-visible { outline: 2px solid var(--primary); outline-offset: 3px; }
.page .timeline-item::before { background: transparent; color: var(--primary); font-size: 20px; font-weight: 600; justify-content: flex-start; }
.page footer { background: #f4f6f7; }
@media (max-width: 780px) {
  .workspace-content .view-title h1 { font-size: 21px; }
  .login-copy h1 { font-size: 28px; }
  body .page .hero { min-height: 0; padding-top: 40px; padding-bottom: 32px; gap: 24px; }
  .page .hero h1 { font-size: 34px; overflow-wrap: anywhere; }
  .page h2 { font-size: 23px; }
  .page .hero-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page .hero-panel-list { display: grid; grid-template-columns: minmax(0, 1fr); }
  .page .hero-panel-row { justify-content: space-between; }
}
