:root {
  --ui-font: "Avenir Next", "Trebuchet MS", "Segoe UI", sans-serif;
  --ui-focus: #9fd2ff;
  --ui-text: #f2f8ff;
  --ui-header-bg: linear-gradient(180deg, #21395c 0%, #182b46 100%);
  --ui-header-border: #7fb8ff;
  --ui-header-divider: #3c5f8e;
  --ui-row-border: #1e304d;
}

body,
button,
input,
select,
textarea {
  font-family: var(--ui-font);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 2px solid var(--ui-focus);
  outline-offset: 2px;
}

#runBtn,
.nav-btn,
.btn,
#refreshBtn,
.controls button,
.pager button,
.view-toggle .toggle-btn {
  border-radius: 999px;
  min-height: 38px;
  padding: 10px 16px;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.1px;
}

button:disabled,
.btn:disabled,
#runBtn:disabled,
#refreshBtn:disabled,
.controls button:disabled,
.pager button:disabled,
.view-toggle .toggle-btn:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.dashboard-table th,
.workbook-grid thead th,
.table-wrap table th {
  background: var(--ui-header-bg);
  color: var(--ui-text);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  border-bottom: 2px solid var(--ui-header-border);
  box-shadow: inset -1px 0 0 var(--ui-header-divider);
}

.dashboard-table th,
.dashboard-table td,
.table-wrap table th,
.table-wrap table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--ui-row-border);
}

.dashboard-table thead th:first-child,
.workbook-grid thead th:first-child,
.table-wrap table thead th:first-child {
  box-shadow: inset -1px 0 0 var(--ui-header-divider), inset 0 3px 0 rgba(145, 208, 255, 0.45);
}

@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}
