/* Schedule workspace visual system: glass shell, solid engineering data surfaces. */
:root {
  --schedule-bg: #edf3f9;
  --schedule-surface: #ffffff;
  --schedule-surface-soft: #f7f9fc;
  --schedule-glass: rgba(255, 255, 255, 0.82);
  --schedule-glass-strong: rgba(255, 255, 255, 0.92);
  --schedule-line: #d4deea;
  --schedule-line-strong: #bccbdd;
  --schedule-text: #102033;
  --schedule-muted: #52657c;
  --schedule-blue: #1262e8;
  --schedule-blue-hover: #0c4fc4;
  --schedule-purple: #7446d7;
  --schedule-purple-hover: #6035bd;
  --schedule-cyan: #087f9b;
  --schedule-cyan-hover: #06677e;
  --schedule-green: #087b57;
  --schedule-green-hover: #056445;
  --schedule-charcoal: #243349;
  --schedule-charcoal-hover: #172438;
  --schedule-orange: #b84f0b;
  --schedule-orange-hover: #963f09;
  --schedule-red: #c42b34;
  --schedule-red-hover: #a91f28;
  --schedule-focus: rgba(18, 98, 232, 0.24);
  --schedule-shadow-sm: 0 8px 22px rgba(27, 49, 75, 0.08);
  --schedule-shadow-md: 0 18px 48px rgba(27, 49, 75, 0.13);
}

html,
body,
#root {
  background: var(--schedule-bg) !important;
  color: var(--schedule-text);
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

button,
input,
textarea,
select {
  letter-spacing: 0 !important;
}

button,
a,
[role="button"],
[role="tab"] {
  -webkit-tap-highlight-color: transparent;
}

/* Glass shell */
.app-sidebar {
  position: relative;
  isolation: isolate;
  border-right: 1px solid rgba(188, 203, 221, 0.88) !important;
  background: var(--schedule-glass-strong) !important;
  box-shadow: 8px 0 30px rgba(35, 58, 87, 0.08) !important;
  backdrop-filter: saturate(150%) blur(22px);
  -webkit-backdrop-filter: saturate(150%) blur(22px);
}

.app-sidebar::after {
  position: absolute;
  top: 50%;
  right: -9px;
  z-index: 4;
  display: grid;
  width: 18px;
  height: 34px;
  place-items: center;
  border: 1px solid var(--schedule-line);
  border-radius: 0 8px 8px 0;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 4px 0 12px rgba(27, 49, 75, 0.08);
  color: #6b7e95;
  content: ">";
  font-size: 12px;
  font-weight: 900;
  transform: translateY(-50%);
  transition: color 180ms ease, background 180ms ease;
}

.app-sidebar:hover::after {
  background: var(--schedule-blue);
  color: #ffffff;
}

.app-sidebar > div:first-of-type,
.app-sidebar > header {
  background: transparent !important;
}

.app-sidebar nav button {
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  color: #53677f !important;
}

.app-sidebar nav button:hover {
  border-color: #ccd9e8 !important;
  background: rgba(255, 255, 255, 0.9) !important;
  color: #15283f !important;
  box-shadow: 0 7px 18px rgba(27, 49, 75, 0.08) !important;
}

.app-sidebar nav button[class*="border-blue-200"] {
  border-color: #a9c8fa !important;
  background: #e8f1ff !important;
  color: #0c53c7 !important;
  box-shadow: inset 3px 0 0 var(--schedule-blue), 0 8px 18px rgba(18, 98, 232, 0.11) !important;
}

.app-sidebar nav button > span:first-child {
  border: 1px solid rgba(207, 219, 233, 0.7);
  background: #f1f5f9 !important;
  color: #60748b !important;
}

.app-sidebar nav button[class*="border-blue-200"] > span:first-child {
  border-color: transparent;
  background: var(--schedule-blue) !important;
  color: #ffffff !important;
}

#sidebarHomeButton {
  border: 1px solid #c8d8eb !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--schedule-blue) !important;
  box-shadow: 0 7px 18px rgba(18, 98, 232, 0.1) !important;
}

section[class*="flex min-w-0 flex-1 flex-col"] > header,
main[class*="bg-[#f8fafc]"] > header,
main > div[class*="flex h-full"][class*="flex-col"] > header,
form > header[class*="bg-white"] {
  border-color: rgba(188, 203, 221, 0.78) !important;
  background: var(--schedule-glass) !important;
  box-shadow: 0 7px 24px rgba(27, 49, 75, 0.07) !important;
  backdrop-filter: saturate(145%) blur(20px);
  -webkit-backdrop-filter: saturate(145%) blur(20px);
}

section[class*="flex min-w-0 flex-1 flex-col"] > div[class*="h-14"][class*="bg-white"] {
  border-color: rgba(188, 203, 221, 0.76) !important;
  background: rgba(248, 251, 255, 0.88) !important;
  backdrop-filter: saturate(135%) blur(16px);
  -webkit-backdrop-filter: saturate(135%) blur(16px);
}

#root > div > div[class*="h-screen"],
#root > div[class*="h-screen"] {
  background: var(--schedule-bg) !important;
}

main[class*="bg-[#f8fafc]"],
main[class*="min-h-0 flex-1"] {
  background: var(--schedule-bg) !important;
}

/* Headings and readable supporting text */
header h1,
header h2,
main h1,
main h2,
main h3,
main strong {
  color: var(--schedule-text);
}

header p,
main p,
main [class*="text-slate-500"],
main [class*="text-slate-600"] {
  color: var(--schedule-muted) !important;
}

/* Buttons: shared interaction and explicit semantic colors. */
button:not(:disabled),
[role="button"]:not([aria-disabled="true"]) {
  cursor: pointer;
}

button {
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease,
    box-shadow 160ms ease, transform 120ms ease !important;
}

button:hover:not(:disabled) {
  transform: translateY(-1px);
}

button:active:not(:disabled) {
  transform: translateY(0) scale(0.985);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[role="tab"]:focus-visible {
  outline: 3px solid var(--schedule-focus) !important;
  outline-offset: 2px !important;
}

button:disabled,
button[aria-disabled="true"] {
  cursor: not-allowed !important;
  filter: saturate(0.35);
  opacity: 0.48 !important;
  transform: none !important;
}

button[aria-busy="true"] {
  cursor: progress !important;
  opacity: 0.78;
}

button[data-ui-action] {
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 8px !important;
  font-weight: 800 !important;
}

button[data-ui-action="primary"] {
  border-color: var(--schedule-blue) !important;
  background: var(--schedule-blue) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(18, 98, 232, 0.2) !important;
}

button[data-ui-action="primary"]:hover:not(:disabled) {
  border-color: var(--schedule-blue-hover) !important;
  background: var(--schedule-blue-hover) !important;
}

button[data-ui-action="ai"] {
  border-color: #cbbdf0 !important;
  background: #f1edff !important;
  color: #432979 !important;
  box-shadow: 0 7px 17px rgba(93, 66, 158, 0.1) !important;
}

button[data-ui-action="ai"]:hover:not(:disabled) {
  border-color: #aa96df !important;
  background: #e6defa !important;
  color: #382166 !important;
}

button[data-ui-action="ai"] > div:first-child,
button[data-ui-action="ai"] strong {
  color: #382166 !important;
}

button[data-ui-action="ai"] > div:last-child,
button[data-ui-action="ai"] small,
button[data-ui-action="ai"] p {
  color: #5e5178 !important;
}

button[data-ui-action="ai"] svg {
  color: #6545b5 !important;
}

button[data-ui-action="import"] {
  border-color: #73bdd0 !important;
  background: #e4f7fb !important;
  color: #075f73 !important;
  box-shadow: 0 7px 17px rgba(8, 127, 155, 0.11) !important;
}

button[data-ui-action="import"]:hover:not(:disabled) {
  border-color: var(--schedule-cyan) !important;
  background: var(--schedule-cyan) !important;
  color: #ffffff !important;
}

button[data-ui-action="save"] {
  border-color: var(--schedule-green) !important;
  background: var(--schedule-green) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(8, 123, 87, 0.2) !important;
}

button[data-ui-action="save"]:hover:not(:disabled) {
  border-color: var(--schedule-green-hover) !important;
  background: var(--schedule-green-hover) !important;
}

button[data-ui-action="export"] {
  border-color: var(--schedule-charcoal) !important;
  background: var(--schedule-charcoal) !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(36, 51, 73, 0.18) !important;
}

button[data-ui-action="export"]:hover:not(:disabled) {
  border-color: var(--schedule-charcoal-hover) !important;
  background: var(--schedule-charcoal-hover) !important;
}

button[data-ui-action="review"] {
  border-color: #efaa67 !important;
  background: #fff3e5 !important;
  color: #963f09 !important;
  box-shadow: 0 7px 17px rgba(184, 79, 11, 0.11) !important;
}

button[data-ui-action="review"]:hover:not(:disabled) {
  border-color: var(--schedule-orange) !important;
  background: var(--schedule-orange) !important;
  color: #ffffff !important;
}

button[data-ui-action="danger"] {
  border-color: #f0a8ad !important;
  background: #fff0f1 !important;
  color: #a91f28 !important;
}

button[data-ui-action="danger"]:hover:not(:disabled) {
  border-color: var(--schedule-red) !important;
  background: var(--schedule-red) !important;
  color: #ffffff !important;
}

button[data-ui-action="secondary"] {
  border-color: var(--schedule-line-strong) !important;
  background: #ffffff !important;
  color: #334a64 !important;
  box-shadow: 0 5px 13px rgba(27, 49, 75, 0.07) !important;
}

button[data-ui-action="secondary"]:hover:not(:disabled) {
  border-color: #8fa5be !important;
  background: #edf3f8 !important;
  color: #1b314b !important;
}

.gq-csv-entry {
  border-color: #73bdd0 !important;
  background: #e4f7fb !important;
  color: #075f73 !important;
}

.gq-csv-entry > span {
  background: #bfeaf3 !important;
  color: #075f73 !important;
}

/* Desktop setup flow: a vertical rail beside the active form. */
.setup-step-layout {
  min-width: 0 !important;
}

@media (min-width: 1180px) {
  .setup-step-layout {
    display: grid !important;
    grid-template-columns: 232px minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 0 !important;
  }

  .setup-step-layout > .setup-step-strip {
    position: sticky !important;
    top: 14px !important;
    z-index: 4;
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    width: 232px !important;
    max-width: 232px !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    align-self: start !important;
    border-color: #c7d7ea !important;
    border-radius: 8px 0 0 8px !important;
    background: rgba(247, 250, 254, 0.96) !important;
    padding: 12px !important;
    box-shadow: 8px 0 24px rgba(27, 49, 75, 0.07) !important;
  }

  .setup-step-layout .setup-step-list {
    display: grid !important;
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: 1fr !important;
    grid-auto-flow: row !important;
    gap: 10px !important;
    align-items: stretch !important;
  }

  .setup-step-layout > :not(.setup-step-strip) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }
}

/* Every step keeps a distinct color even when React omits aria-selected=false. */
button.setup-step-card {
  display: grid !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  column-gap: 11px !important;
  align-items: center !important;
  min-height: 72px !important;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 8px !important;
  padding: 11px 12px !important;
  text-align: left !important;
  box-shadow: 0 5px 14px rgba(27, 49, 75, 0.06) !important;
}

button.setup-step-card > :not(.setup-step-icon) {
  display: block !important;
  min-width: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

button.setup-step-card[data-schedule-step="1"] {
  border-color: #9fc2f4 !important;
  background: #e9f2ff !important;
  color: #123f7d !important;
}

button.setup-step-card[data-schedule-step="2"] {
  border-color: #86c9d8 !important;
  background: #e5f6fa !important;
  color: #075e72 !important;
}

button.setup-step-card[data-schedule-step="3"] {
  border-color: #c1b0eb !important;
  background: #f0ebff !important;
  color: #472982 !important;
}

button.setup-step-card[data-schedule-step="4"] {
  border-color: #efad73 !important;
  background: #fff0e2 !important;
  color: #8b3b08 !important;
}

button.setup-step-card > :not(.setup-step-icon),
button.setup-step-card > :not(.setup-step-icon) *,
button.setup-step-card svg {
  color: inherit !important;
}

button.setup-step-card[data-schedule-step="1"] .setup-step-icon {
  background: #d8e8ff !important;
  color: #155eef !important;
}

button.setup-step-card[data-schedule-step="2"] .setup-step-icon {
  background: #ccecf3 !important;
  color: #08758d !important;
}

button.setup-step-card[data-schedule-step="3"] .setup-step-icon {
  background: #e2d9fb !important;
  color: #6545b5 !important;
}

button.setup-step-card[data-schedule-step="4"] .setup-step-icon {
  background: #ffe0c2 !important;
  color: #a54509 !important;
}

button.setup-step-card:is([aria-selected="true"], [class*="bg-blue"])[data-schedule-step="1"] {
  border-color: #155eef !important;
  background: #155eef !important;
  color: #ffffff !important;
  box-shadow: 0 9px 20px rgba(21, 94, 239, 0.22) !important;
}

button.setup-step-card:is([aria-selected="true"], [class*="bg-blue"])[data-schedule-step="2"] {
  border-color: #087f9b !important;
  background: #087f9b !important;
  color: #ffffff !important;
  box-shadow: 0 9px 20px rgba(8, 127, 155, 0.22) !important;
}

button.setup-step-card:is([aria-selected="true"], [class*="bg-blue"])[data-schedule-step="3"] {
  border-color: #7446d7 !important;
  background: #7446d7 !important;
  color: #ffffff !important;
  box-shadow: 0 9px 20px rgba(116, 70, 215, 0.22) !important;
}

button.setup-step-card:is([aria-selected="true"], [class*="bg-blue"])[data-schedule-step="4"] {
  border-color: #b84f0b !important;
  background: #b84f0b !important;
  color: #ffffff !important;
  box-shadow: 0 9px 20px rgba(184, 79, 11, 0.22) !important;
}

button.setup-step-card:is([aria-selected="true"], [class*="bg-blue"]) *,
button.setup-step-card:is([aria-selected="true"], [class*="bg-blue"]) svg {
  color: #ffffff !important;
}

button.setup-step-card:is([aria-selected="true"], [class*="bg-blue"]) .setup-step-icon {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
}

button.setup-step-card:hover:not(:disabled) {
  filter: brightness(0.97) saturate(1.04);
}

@media (max-width: 1179px) {
  .setup-step-layout {
    display: block !important;
  }

  .setup-step-layout > .setup-step-strip {
    position: static !important;
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .setup-step-layout .setup-step-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
}

@media (max-width: 640px) {
  .setup-step-layout > .setup-step-strip {
    display: flex !important;
    gap: 8px !important;
    overflow-x: auto !important;
    padding: 8px !important;
    scroll-snap-type: x proximity;
  }

  .setup-step-layout .setup-step-list {
    display: flex !important;
    width: max-content !important;
    grid-template-columns: none !important;
    gap: 8px !important;
  }

  .setup-step-layout .setup-step-list > button.setup-step-card {
    min-width: min(78vw, 260px) !important;
    flex: 0 0 min(78vw, 260px) !important;
    scroll-snap-align: start;
  }
}

/* Compact segmented controls and tabs. */
[role="tablist"],
nav[class*="rounded"],
div[class*="rounded-xl"][class*="bg-slate-100"]:has(> button) {
  border: 1px solid rgba(188, 203, 221, 0.76);
  border-radius: 8px !important;
  background: rgba(231, 238, 247, 0.82) !important;
  padding: 3px;
}

[role="tab"],
nav[class*="rounded"] > button {
  border-radius: 6px !important;
}

[role="tab"][aria-selected="true"],
[role="tab"][data-state="active"],
nav[class*="rounded"] > button[class*="bg-white"] {
  background: #ffffff !important;
  color: #0d4ea9 !important;
  box-shadow: 0 4px 12px rgba(27, 49, 75, 0.1) !important;
}

/* Data entry remains opaque and easy to scan. */
input,
textarea,
select {
  border-color: #c6d3e2 !important;
  border-radius: 7px !important;
  background: #ffffff !important;
  color: var(--schedule-text) !important;
}

input:hover,
textarea:hover,
select:hover {
  border-color: #96aac1 !important;
}

input:focus,
textarea:focus,
select:focus {
  border-color: var(--schedule-blue) !important;
  box-shadow: 0 0 0 3px var(--schedule-focus) !important;
}

/* Workspace panels use solid surfaces; glass is limited to navigation and tools. */
main section[class*="border"][class*="bg-white"],
main aside[class*="border"][class*="bg-white"],
main article[class*="border"][class*="bg-white"],
main div[class*="border"][class*="bg-white"] {
  border-color: var(--schedule-line) !important;
  border-radius: 8px !important;
  background: var(--schedule-surface) !important;
  box-shadow: 0 8px 24px rgba(27, 49, 75, 0.065);
}

main [class*="border-slate-100"],
main [class*="border-slate-200"] {
  border-color: #dce5ef !important;
}

main [class*="bg-slate-50"],
main [class*="bg-slate-100"] {
  background-color: #f3f6fa !important;
}

main [class*="bg-cyan-50"] {
  background: #e7f8fb !important;
  box-shadow: inset 3px 0 0 var(--schedule-cyan);
}

/* WBS and Gantt readability. */
main button[class*="grid h-11"][class*="grid-cols"] {
  border-radius: 0 !important;
  color: #253b54;
}

main button[class*="grid h-11"][class*="grid-cols"]:hover {
  background: #edf5ff !important;
  box-shadow: inset 3px 0 0 #75a9ef;
  transform: none;
}

main div[class*="grid h-10"][class*="bg-slate-100"] {
  background: #e8eef5 !important;
  color: #1f3854 !important;
}

main [class*="sticky"][class*="bg-white"],
main [class*="sticky"][class*="bg-slate"] {
  background: rgba(248, 251, 255, 0.96) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.gq-gantt-task-labeled,
button[class*="absolute top-2 h-4"] {
  border: 1px solid rgba(255, 255, 255, 0.55) !important;
  border-radius: 4px !important;
  box-shadow: 0 3px 8px rgba(27, 49, 75, 0.18) !important;
}

.gq-library-xbar {
  border-color: var(--schedule-line) !important;
  background: rgba(248, 251, 255, 0.92) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* Full graph viewer keeps the canvas solid and applies glass only to its controls. */
#graphViewerLite {
  background: #162438 !important;
}

#graphViewerLite .gv-head {
  border-color: rgba(207, 219, 233, 0.22) !important;
  background: rgba(20, 34, 53, 0.82) !important;
  box-shadow: 0 10px 30px rgba(3, 10, 20, 0.24) !important;
  backdrop-filter: saturate(140%) blur(20px);
  -webkit-backdrop-filter: saturate(140%) blur(20px);
}

#graphViewerLite .gv-head strong {
  color: #ffffff !important;
}

#graphViewerLite .gv-head span,
#graphViewerLite .gv-head b {
  color: #d7e2ef !important;
}

#graphViewerLite .gv-head button:not([data-ui-action]) {
  border-color: rgba(220, 231, 243, 0.3) !important;
  border-radius: 7px !important;
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}

#graphViewerLite .gv-head button:not([data-ui-action]):hover {
  border-color: rgba(255, 255, 255, 0.64) !important;
  background: rgba(255, 255, 255, 0.18) !important;
}

#graphViewerLite .gv-stage {
  background: #132033 !important;
}

#graphViewerLite .gv-canvas {
  border: 1px solid #d4deea;
  border-radius: 8px !important;
  background: #ffffff !important;
  box-shadow: 0 30px 90px rgba(2, 8, 18, 0.36) !important;
}

/* AI assistant is visually distinct without reducing text contrast. */
aside[class*="w-[340px]"] {
  border-color: #d5c8f1 !important;
  background: #fbfaff !important;
}

aside[class*="w-[340px]"] header,
aside[class*="w-[340px]"] > div:first-child {
  border-color: #e5ddf7 !important;
}

aside[class*="w-[340px]"] button:not([data-ui-action]) {
  border-color: #d9cef2 !important;
}

/* Status colors have text and borders as redundant signals. */
[class*="text-red-"],
[class*="text-rose-"] {
  color: #b4232d !important;
}

[class*="text-orange-"],
[class*="text-amber-"] {
  color: #98400b !important;
}

[class*="text-green-"],
[class*="text-emerald-"] {
  color: #067052 !important;
}

/* Dialogs and overlays. */
[role="dialog"],
.gq-csv-dialog,
.su-card {
  border-color: rgba(188, 203, 221, 0.9) !important;
  border-radius: 8px !important;
  background: var(--schedule-glass-strong) !important;
  box-shadow: 0 28px 90px rgba(18, 34, 54, 0.28) !important;
  backdrop-filter: saturate(145%) blur(24px);
  -webkit-backdrop-filter: saturate(145%) blur(24px);
}

#gqCsvImportModal,
#scheduleUtilityPanel,
.ai-access-dialog {
  background: rgba(15, 30, 48, 0.5) !important;
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}

/* Mobile navigation is installed by schedule-ui.js and hidden on larger screens. */
#scheduleMobileNav {
  display: none;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .app-sidebar,
  section[class*="flex min-w-0 flex-1 flex-col"] > header,
  main[class*="bg-[#f8fafc]"] > header,
  section[class*="flex min-w-0 flex-1 flex-col"] > div[class*="h-14"][class*="bg-white"],
  [role="dialog"],
  .gq-csv-dialog,
  .su-card {
    background: #ffffff !important;
  }
}

@media (max-width: 900px) {
  .app-sidebar::after {
    display: none;
  }

  section[class*="flex min-w-0 flex-1 flex-col"] > header {
    gap: 8px !important;
  }

  section[class*="flex min-w-0 flex-1 flex-col"] > header > div:last-child {
    scrollbar-width: thin;
  }

  section[class*="flex min-w-0 flex-1 flex-col"] > header > div:last-child button {
    flex: 0 0 auto;
  }
}

@media (max-width: 640px) {
  body {
    padding-bottom: 70px !important;
  }

  #scheduleMobileNav {
    position: fixed;
    right: 8px;
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: 8px;
    z-index: 19000;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3px;
    min-height: 58px;
    border: 1px solid rgba(188, 203, 221, 0.9);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.91);
    padding: 4px;
    box-shadow: 0 14px 42px rgba(18, 34, 54, 0.22);
    backdrop-filter: saturate(150%) blur(22px);
    -webkit-backdrop-filter: saturate(150%) blur(22px);
  }

  #scheduleMobileNav button {
    display: grid;
    min-width: 0;
    min-height: 48px;
    place-items: center;
    align-content: center;
    gap: 3px;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    color: #60748b !important;
    box-shadow: none !important;
    font-size: 10px;
    font-weight: 800;
  }

  #scheduleMobileNav button svg {
    width: 19px;
    height: 19px;
  }

  #scheduleMobileNav button[aria-current="page"] {
    background: #e7f0ff !important;
    color: #0c53c7 !important;
    box-shadow: inset 0 0 0 1px #bbd3f7 !important;
  }

  #root main > div[class*="flex h-full"][class*="flex-col"] > header,
  main[class*="flex h-full flex-col"] > header,
  main[class*="h-full flex-col"] > header {
    display: grid !important;
    height: auto !important;
    min-height: 116px !important;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    align-content: center !important;
    align-items: center !important;
    gap: 8px 10px !important;
    padding: 10px 12px !important;
  }

  #root main > div[class*="flex h-full"][class*="flex-col"] > header > .min-w-0,
  main[class*="flex h-full flex-col"] > header > .min-w-0,
  main[class*="h-full flex-col"] > header > .min-w-0 {
    grid-column: 1 / -1;
    grid-row: 1;
    width: 100% !important;
  }

  #root main > div[class*="flex h-full"][class*="flex-col"] > header h1,
  main[class*="flex h-full flex-col"] > header h1,
  main[class*="h-full flex-col"] > header h1 {
    max-width: 100% !important;
    overflow: visible !important;
    font-size: 19px !important;
    line-height: 1.35 !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }

  #root main > div[class*="flex h-full"][class*="flex-col"] > header p,
  main[class*="flex h-full flex-col"] > header p,
  main[class*="h-full flex-col"] > header p {
    display: -webkit-box;
    overflow: hidden;
    margin-top: 3px !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  #root main > div[class*="flex h-full"][class*="flex-col"] > header > div:last-child,
  main[class*="flex h-full flex-col"] > header > div:last-child,
  main[class*="h-full flex-col"] > header > div:last-child {
    grid-column: 1 / -1;
    grid-row: 2;
    display: flex !important;
    width: 100%;
    gap: 7px !important;
    overflow-x: auto;
  }

  #root main > div[class*="flex h-full"][class*="flex-col"] > header > .gq-csv-entry,
  main[class*="flex h-full flex-col"] > header > .gq-csv-entry,
  main[class*="h-full flex-col"] > header > .gq-csv-entry {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }

  #root main > div[class*="flex h-full"][class*="flex-col"] > header > .gq-csv-entry ~ button:last-child,
  main[class*="flex h-full flex-col"] > header > .gq-csv-entry ~ button:last-child,
  main[class*="h-full flex-col"] > header > .gq-csv-entry ~ button:last-child {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }

  section[class*="flex min-w-0 flex-1 flex-col"] > header {
    min-height: 112px !important;
  }

  section[class*="flex min-w-0 flex-1 flex-col"] > header > div:last-child {
    max-width: calc(100vw - 20px);
  }

  main[class*="min-h-0 flex-1"] {
    padding-bottom: 12px !important;
  }

  main section[class*="border"][class*="bg-white"],
  main aside[class*="border"][class*="bg-white"],
  main article[class*="border"][class*="bg-white"] {
    border-radius: 7px !important;
  }

  .gq-csv-entry,
  section[class*="flex min-w-0 flex-1 flex-col"] > header button {
    min-height: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
