@import url('https://fonts.googleapis.com/css2?family=Caveat:wght@600&family=Dancing+Script:wght@600&family=Great+Vibes&family=Pacifico&display=swap');/** Route-line design tokens. Light is the default; names remain compatible. */
:root, [data-theme="light"] {
  --wp-color-bg: #F4F0E6;
  --wp-color-surface: #FBF9F3;
  --wp-color-surface-solid: #FBF9F3;
  --wp-color-border: #DDD6C4;
  --wp-color-border-subtle: #E8E3D3;
  --wp-color-hover: #E8E3D3;
  --wp-color-text: #17231E;
  --wp-color-text-muted: #55645C;
  --wp-color-text-dim: #55645C;
  --wp-color-primary: #0E4D3A;
  --wp-color-primary-deep: #0E4D3A;
  --wp-color-primary-hover: #123F32;
  --wp-color-primary-soft: #DDEBE3;
  --wp-color-primary-contrast: #FBF9F3;
  --wp-color-accent-cyan: #0E4D3A;
  --wp-color-accent-emerald: #0E4D3A;
  --wp-color-accent-gold: #805605;
  --wp-color-signal: #E8A317;
  --wp-color-future-stop: #B9B19A;
  --wp-color-error: #A8401F;
  --wp-color-error-bg: #F5E2D9;
  --wp-color-success: #0E4D3A;
  --wp-color-success-bg: #DDEBE3;
  /* Amber is a signal, not body text: use a darker ink for warning labels. */
  --wp-color-warning: #805605;
  --wp-color-warning-bg: #F7EACB;
  --wp-color-info: #0E4D3A;
  --wp-color-info-bg: #DDEBE3;
  --wp-color-neutral-bg: #E8E3D3;
}
:root {
  --wp-radius-sm: 8px;
  --wp-radius-md: 10px;
  --wp-radius-lg: 14px;
  --wp-radius-control: 10px;
  --wp-radius-card: 14px;
  --wp-radius-dialog: 14px;
  --wp-radius-pill: 999px;
  --wp-space-xs: 4px;
  --wp-space-sm: 8px;
  --wp-space-md: 16px;
  --wp-space-lg: 24px;
  --wp-space-xl: 32px;
  --wp-space-2xl: 48px;
  --wp-font-sans: 'Instrument Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --wp-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --wp-font-mono: ui-monospace, Consolas, monospace;
  --wp-font-size-sm: 0.8125rem;
  --wp-font-size-md: 0.9375rem;
  --wp-font-size-lg: 1.125rem;
  --wp-font-eyebrow-size: 11px;
  --wp-font-eyebrow-weight: 600;
  --wp-font-eyebrow-spacing: 0.14em;
  --wp-shadow-sm: none;
  --wp-shadow-md: none;
  --wp-shadow-lg: none;
  --wp-shadow-glow: none;
  --wp-transition-fast: 150ms ease;
  --wp-control-height: 44px;
  --myhr-page-inline: clamp(1rem, 4vw, 6rem);
  --myhr-page-block: clamp(1.25rem, 2.5vw, 2rem);
  --myhr-page-gap: var(--wp-space-md);
  --myhr-control-height: var(--wp-control-height);
  /* Legacy aliases also read the same tokens. */
  --text: var(--wp-color-text-muted);
  --text-h: var(--wp-color-text);
  --bg: var(--wp-color-bg);
  --border: var(--wp-color-border);
  --code-bg: var(--wp-color-hover);
  --accent: var(--wp-color-primary);
  --accent-bg: var(--wp-color-primary-soft);
  --accent-border: var(--wp-color-border);
  --social-bg: var(--wp-color-surface);
  --shadow: none;
  --sans: var(--wp-font-sans);
  --heading: var(--wp-font-display);
  --mono: var(--wp-font-mono);
  --ui-card-shadow: none;
  --ui-panel-padding: var(--wp-space-md);
  --ui-section-gap: var(--wp-space-md);
}
[data-theme="dark"] {
  --wp-color-bg: #0B1512;
  --wp-color-surface: #12201A;
  --wp-color-surface-solid: #12201A;
  --wp-color-border: #3F5147;
  --wp-color-border-subtle: #293C32;
  --wp-color-hover: #25392E;
  --wp-color-text: #EAF1ED;
  --wp-color-text-muted: #B3C2B9;
  --wp-color-text-dim: #B3C2B9;
  --wp-color-primary: #9ECDB3;
  --wp-color-primary-deep: #0E4D3A;
  --wp-color-primary-hover: #B8DCC8;
  --wp-color-primary-soft: #243C30;
  --wp-color-primary-contrast: #0B1512;
  --wp-color-accent-cyan: #9ECDB3;
  --wp-color-accent-emerald: #9ECDB3;
  --wp-color-accent-gold: #F0BB50;
  --wp-color-signal: #E8A317;
  --wp-color-future-stop: #8C9B8F;
  --wp-color-error: #EE967A;
  --wp-color-error-bg: #3B231B;
  --wp-color-success: #9ECDB3;
  --wp-color-success-bg: #243C30;
  --wp-color-warning: #F0BB50;
  --wp-color-warning-bg: #362A16;
  --wp-color-info: #9ECDB3;
  --wp-color-info-bg: #243C30;
  --wp-color-neutral-bg: #25392E;
}
.wp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp-space-sm);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-lg);
  font-weight: 600;
  padding: var(--wp-space-md) var(--wp-space-lg);
  border-radius: var(--wp-radius-control);
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color var(--wp-transition-fast), border-color var(--wp-transition-fast),
    opacity var(--wp-transition-fast), box-shadow var(--wp-transition-fast), transform var(--wp-transition-fast);
}

.wp-button--primary {
  background: linear-gradient(135deg, #0b624f, #10b981);
  color: #ffffff;
  border: 1px solid rgba(0, 255, 135, 0.3);
  box-shadow: 0 4px 14px rgba(11, 98, 79, 0.35);
}

.wp-button--primary:hover:not(:disabled) {
  background: linear-gradient(135deg, #0e7a63, #34d399);
  box-shadow: 0 6px 20px rgba(0, 255, 135, 0.4);
  transform: translateY(-1px);
}

.wp-button--secondary {
  background: rgba(255, 255, 255, 0.05);
  color: var(--wp-color-accent-cyan);
  border: 1px solid rgba(0, 255, 135, 0.35);
  backdrop-filter: blur(10px);
}

.wp-button--secondary:hover:not(:disabled) {
  background: rgba(0, 255, 135, 0.12);
  border-color: var(--wp-color-accent-cyan);
  color: #ffffff;
  box-shadow: 0 0 16px rgba(0, 255, 135, 0.25);
}

[data-theme="light"] .wp-button--primary {
  background: #0b624f;
  color: #ffffff;
  border: 1px solid #084437;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  font-weight: 650;
}

[data-theme="light"] .wp-button--primary:hover:not(:disabled) {
  background: #047857;
  border-color: #065f46;
  box-shadow: 0 4px 12px rgba(11, 98, 79, 0.25);
  transform: translateY(-1px);
}

[data-theme="light"] .wp-button--secondary {
  background: #ffffff;
  color: #0f172a;
  border: 1px solid #cbd5e1;
  font-weight: 650;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .wp-button--secondary:hover:not(:disabled) {
  background: #f1f5f9;
  color: #0b624f;
  border-color: #0b624f;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.wp-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.wp-button--danger {
  background: var(--wp-color-error);
  border-color: var(--wp-color-error);
  color: var(--wp-color-primary-contrast);
}

.wp-button--danger:hover:not(:disabled) {
  background: var(--wp-color-error-bg);
  color: var(--wp-color-error);
}

.wp-button--loading {
  opacity: 0.8;
  cursor: progress;
}

.wp-button--full-width {
  width: 100%;
}
.wp-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--wp-radius-pill);
  border: 1px solid transparent;
  background: transparent;
  cursor: pointer;
  color: var(--wp-color-text);
  transition: background-color var(--wp-transition-fast);
}

.wp-icon-button--sm {
  width: 28px;
  height: 28px;
}

.wp-icon-button--md {
  width: 36px;
  height: 36px;
}

.wp-icon-button--lg {
  width: 44px;
  height: 44px;
}

.wp-icon-button--ghost:hover:not(:disabled) {
  background-color: var(--wp-color-neutral-bg);
}

.wp-icon-button--filled {
  background-color: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
}

.wp-icon-button--filled:hover:not(:disabled) {
  background-color: var(--wp-color-primary-hover);
}

.wp-icon-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.wp-badge {
  display: inline-flex;
  align-items: center;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: var(--wp-radius-pill);
}

.wp-badge--neutral {
  background-color: var(--wp-color-neutral-bg);
  color: var(--wp-color-text);
}

.wp-badge--info {
  background-color: var(--wp-color-info-bg);
  color: var(--wp-color-info);
}

.wp-badge--success {
  background-color: var(--wp-color-success-bg);
  color: var(--wp-color-success);
}

.wp-badge--warning {
  background-color: var(--wp-color-warning-bg);
  color: var(--wp-color-warning);
}
.wp-status-tag {
  display: inline-flex;
  align-items: center;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  padding: 3px 10px;
  border-radius: var(--wp-radius-sm);
}

.wp-status-tag--neutral {
  background-color: var(--wp-color-neutral-bg);
  color: var(--wp-color-text);
}

.wp-status-tag--info {
  background-color: var(--wp-color-info-bg);
  color: var(--wp-color-info);
}

.wp-status-tag--success {
  background-color: var(--wp-color-success-bg);
  color: var(--wp-color-success);
}

.wp-status-tag--warning {
  background-color: var(--wp-color-warning-bg);
  color: var(--wp-color-warning);
}

.wp-status-tag--error {
  background-color: var(--wp-color-error-bg);
  color: var(--wp-color-error);
}

[data-theme="light"] .wp-status-tag {
  border: 1px solid transparent;
  font-weight: 700;
}

[data-theme="light"] .wp-status-tag--neutral {
  border-color: #cbd5e1;
  color: #334155;
}

[data-theme="light"] .wp-status-tag--success {
  border-color: #a7f3d0;
}

[data-theme="light"] .wp-status-tag--warning {
  border-color: #fde68a;
}

[data-theme="light"] .wp-status-tag--error {
  border-color: #fecaca;
}

[data-theme="light"] .wp-status-tag--info {
  border-color: #a7f3d0;
}
.wp-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--wp-space-xs);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 500;
  padding: 6px 12px;
  border-radius: var(--wp-radius-pill);
  border: 1px solid var(--wp-color-border);
  background-color: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.wp-chip--selectable {
  cursor: pointer;
  transition: background-color var(--wp-transition-fast), border-color var(--wp-transition-fast);
}

.wp-chip--selectable:hover {
  background-color: var(--wp-color-neutral-bg);
}

.wp-chip--selected {
  background-color: var(--wp-color-primary);
  border-color: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
}

.wp-chip__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  padding: 0;
}
.wp-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
  font-family: var(--wp-font-sans);
  font-weight: 700;
  object-fit: cover;
  flex-shrink: 0;
}

.wp-avatar--sm {
  width: 28px;
  height: 28px;
  font-size: var(--wp-font-size-sm);
}

.wp-avatar--md {
  width: 40px;
  height: 40px;
  font-size: var(--wp-font-size-md);
}

.wp-avatar--lg {
  width: 56px;
  height: 56px;
  font-size: var(--wp-font-size-lg);
}
.wp-divider {
  border: none;
  background-color: var(--wp-color-border);
  margin: 0;
}

.wp-divider--horizontal {
  width: 100%;
  height: 1px;
}

.wp-divider--vertical {
  width: 1px;
  height: 100%;
  display: inline-block;
}
.wp-accordion {
  border-bottom: 1px solid var(--wp-color-border);
}

.wp-accordion__header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-md);
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--wp-space-md) 0;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  font-weight: 600;
  color: var(--wp-color-text);
  text-align: left;
}

.wp-accordion__icon {
  transition: transform var(--wp-transition-fast);
  color: var(--wp-color-text-muted);
}

.wp-accordion__icon--open {
  transform: rotate(180deg);
}

.wp-accordion__content {
  padding: 0 0 var(--wp-space-md);
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-md);
  line-height: 1.5;
}
.wp-table-outer {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-sizing: border-box;
}

.wp-table-scroll-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 12px;
  background: rgba(8, 24, 18, 0.85);
  border: 1px solid var(--wp-color-border, rgba(0, 255, 135, 0.2));
  border-radius: var(--wp-radius-md, 12px);
  color: var(--wp-color-text-muted, #94a3b8);
  font-size: 0.78rem;
  font-weight: 600;
  backdrop-filter: blur(12px);
  box-sizing: border-box;
}

[data-theme="light"] .wp-table-scroll-hint {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #475569;
}

.wp-table-scroll-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 999px;
  border: 1px solid var(--wp-color-border, rgba(255, 255, 255, 0.15));
  background: rgba(255, 255, 255, 0.08);
  color: var(--wp-color-text, #ffffff);
  cursor: pointer;
  transition: all 0.15s ease;
  user-select: none;
  white-space: nowrap;
}

.wp-table-scroll-btn:hover:not(:disabled) {
  background: var(--wp-color-primary-soft, rgba(0, 255, 135, 0.15));
  border-color: var(--wp-color-accent-cyan, #00ff87);
  color: var(--wp-color-accent-cyan, #00ff87);
}

.wp-table-scroll-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  pointer-events: none;
}

[data-theme="light"] .wp-table-scroll-btn {
  background: #ffffff;
  border-color: #cbd5e1;
  color: #1e293b;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

[data-theme="light"] .wp-table-scroll-btn:hover:not(:disabled) {
  background: #ecfdf5;
  border-color: #0b624f;
  color: #0b624f;
}

.wp-table-scroll-indicator {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.76rem;
  letter-spacing: 0.02em;
  text-align: center;
  flex: 1;
  justify-content: center;
}

.wp-table-wrapper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  background: rgba(8, 24, 18, 0.75);
  backdrop-filter: blur(16px);
  box-sizing: border-box;
}

[data-theme="light"] .wp-table-wrapper {
  background: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}

.wp-table {
  width: 100%;
  min-width: max-content;
  border-collapse: collapse;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
}

.wp-table th {
  text-align: left;
  font-size: var(--wp-font-size-sm);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wp-color-accent-cyan);
  padding: var(--wp-space-sm) var(--wp-space-md);
  background-color: rgba(6, 18, 14, 0.94);
  border-bottom: 1px solid var(--wp-color-border);
  white-space: nowrap;
}

[data-theme="light"] .wp-table th {
  background-color: #f8fafc;
  color: #0b624f;
  border-bottom: 1px solid #e2e8f0;
  font-weight: 750;
}

.wp-table td {
  padding: var(--wp-space-sm) var(--wp-space-md);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  color: var(--wp-color-text);
  transition: background-color 0.15s ease;
  white-space: nowrap;
}

[data-theme="light"] .wp-table td {
  border-bottom-color: #f1f5f9;
  color: #0f172a;
}

.wp-table tbody tr:hover td {
  background-color: rgba(0, 255, 135, 0.05);
}

[data-theme="light"] .wp-table tbody tr:hover td {
  background-color: #f8fafc;
}

.wp-table tbody tr:last-child td {
  border-bottom: none;
}

.wp-table__empty {
  text-align: center;
  color: var(--wp-color-text-muted);
  padding: var(--wp-space-lg);
  white-space: normal;
}

[data-theme="light"] .wp-table__empty {
  color: #64748b;
}

/* Scrollbar styles for table scrolling */
.wp-table-wrapper::-webkit-scrollbar {
  height: 8px;
}

.wp-table-wrapper::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
  border-radius: 4px;
}

.wp-table-wrapper::-webkit-scrollbar-thumb {
  background: rgba(0, 255, 135, 0.25);
  border-radius: 4px;
}

[data-theme="light"] .wp-table-wrapper::-webkit-scrollbar-thumb {
  background: #cbd5e1;
}

.wp-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 255, 135, 0.45);
}

[data-theme="light"] .wp-table-wrapper::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

@media (max-width: 768px) {
  .wp-table-scroll-hint {
    padding: 6px 8px;
    font-size: 0.74rem;
  }

  .wp-table-scroll-btn {
    padding: 4px 9px;
    font-size: 0.72rem;
  }

  .wp-table-scroll-indicator {
    font-size: 0.72rem;
  }
}
.wp-doc-viewer-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(5, 12, 10, 0.88);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  animation: wpDocFadeIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes wpDocFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.wp-doc-viewer-header {
  height: 3.5rem;
  background: rgba(13, 22, 19, 0.95);
  border-bottom: 1px solid rgba(0, 255, 135, 0.2);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem;
  gap: 0.75rem;
  flex-shrink: 0;
}

.wp-doc-viewer-title-group {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-width: 0;
}

.wp-doc-viewer-icon {
  font-size: 1.25rem;
  flex-shrink: 0;
}

.wp-doc-viewer-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: #f1f5f9;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 240px;
}

@media (min-width: 640px) {
  .wp-doc-viewer-title {
    max-width: 450px;
  }
}

.wp-doc-viewer-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex-shrink: 0;
}

.wp-doc-zoom-toolbar {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(0, 255, 135, 0.25);
  border-radius: 8px;
  padding: 2px;
}

.wp-doc-zoom-btn {
  background: transparent;
  border: none;
  color: #e2e8f0;
  width: 2rem;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  cursor: pointer;
  border-radius: 6px;
  transition: all 0.15s ease;
}

.wp-doc-zoom-btn:hover:not(:disabled) {
  background: rgba(0, 255, 135, 0.2);
  color: #00ff87;
}

.wp-doc-zoom-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.wp-doc-zoom-level {
  background: transparent;
  border: none;
  color: #00ff87;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0 0.5rem;
  min-width: 3.2rem;
  text-align: center;
  cursor: pointer;
  border-radius: 4px;
}

.wp-doc-zoom-level:hover {
  background: rgba(0, 255, 135, 0.12);
}

.wp-doc-action-btn {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #cbd5e1;
  height: 2.1rem;
  padding: 0 0.65rem;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.wp-doc-action-btn:hover {
  background: rgba(255, 255, 255, 0.15);
  color: #f8fafc;
}

.wp-doc-close-btn {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 1.5rem;
  width: 2.2rem;
  height: 2.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 8px;
  transition: all 0.15s ease;
}

.wp-doc-close-btn:hover {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
}

.wp-doc-viewer-body {
  flex: 1;
  overflow: auto;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 1.5rem;
  -webkit-overflow-scrolling: touch;
}

.wp-doc-viewer-viewport {
  transition: transform 0.15s cubic-bezier(0.2, 0, 0, 1);
  transform-origin: top center;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 100%;
}

.wp-doc-viewer-img {
  max-width: 100%;
  height: auto;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  border-radius: 8px;
  background: #ffffff;
  user-select: none;
  -webkit-user-drag: none;
}

.wp-doc-viewer-iframe {
  width: 90vw;
  max-width: 900px;
  height: 80vh;
  border: none;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  background: #ffffff;
}

.wp-doc-viewer-docx-container {
  width: 90vw;
  max-width: 900px;
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
  padding: 1.5rem;
  color: #0f172a;
  min-height: 400px;
}

.wp-doc-viewer-text {
  width: 90vw;
  max-width: 900px;
  background: #111a16;
  border: 1px solid rgba(0, 255, 135, 0.2);
  border-radius: 8px;
  padding: 1.5rem;
  color: #e2e8f0;
  font-family: monospace;
  white-space: pre-wrap;
  word-break: break-word;
}

/* Floating zoom bar inside inline attachment views (e.g. Timesheets) */
.wp-inline-zoom-toolbar {
  display: inline-flex;
  align-items: center;
  background: rgba(13, 22, 19, 0.9);
  border: 1px solid rgba(0, 255, 135, 0.3);
  border-radius: 8px;
  padding: 3px 6px;
  gap: 0.25rem;
  margin-bottom: 0.75rem;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
}

.wp-inline-zoom-btn {
  background: transparent;
  border: none;
  color: #f1f5f9;
  width: 1.8rem;
  height: 1.8rem;
  font-size: 1.1rem;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
}

.wp-inline-zoom-btn:hover:not(:disabled) {
  background: rgba(0, 255, 135, 0.25);
  color: #00ff87;
}

.wp-inline-zoom-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.wp-inline-zoom-label {
  color: #00ff87;
  font-size: 0.78rem;
  font-weight: 700;
  min-width: 3.2rem;
  text-align: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0 4px;
}
.wp-theme-toggle { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text); font:500 .875rem var(--wp-font-sans); cursor:pointer; }
.wp-theme-toggle:hover { background:var(--wp-color-hover); color:var(--wp-color-primary); }
.wp-theme-toggle__icon { display:grid; place-items:center; width:24px; height:24px; }
.wp-theme-toggle--icon-only { width:44px; height:44px; padding:0; }
.wp-theme-toggle:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
.wp-route-line { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(0,1fr); list-style:none; padding:0; margin:0; gap:0; }
.wp-route-line__stop { position:relative; display:grid; align-content:start; gap:12px; min-width:0; padding-right:12px; }
.wp-route-line__stop:not(:last-child)::after { content:''; position:absolute; top:17px; left:36px; right:0; border-top:2px dashed var(--wp-color-future-stop); }
.wp-route-line__stop--done:not(:last-child)::after { border-top-style:solid; border-color:var(--wp-color-primary-deep); }
.wp-route-line__marker { display:grid; place-items:center; width:36px; height:36px; border:2px dashed var(--wp-color-future-stop); border-radius:50%; background:var(--wp-color-surface); z-index:1; }
.wp-route-line__stop--done .wp-route-line__marker { border:2px solid var(--wp-color-primary-deep); background:var(--wp-color-primary-deep); color:#FBF9F3; }
.wp-route-line__stop--current .wp-route-line__marker { border:3px solid var(--wp-color-signal); outline:1px solid var(--wp-color-warning); outline-offset:0; }
.wp-route-line__copy { display:grid; gap:4px; padding-right:8px; min-width:0; }
.wp-route-line__copy strong { color:var(--wp-color-text); font:600 .875rem/1.4 var(--wp-font-sans); overflow-wrap:anywhere; }
.wp-route-line__copy small,.wp-route-line__state { color:var(--wp-color-text-muted); font:.75rem/1.5 var(--wp-font-sans); overflow-wrap:anywhere; }
.wp-route-line__stop--current .wp-route-line__state { color:var(--wp-color-warning); font-weight:600; }
.wp-route-line--vertical { grid-auto-flow:row; grid-auto-columns:auto; gap:0; }
.wp-route-line--vertical .wp-route-line__stop { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; padding:0 0 24px; }
.wp-route-line--vertical .wp-route-line__stop:last-child { padding-bottom:0; }
.wp-route-line--vertical .wp-route-line__stop:not(:last-child)::after { left:17px; top:36px; bottom:0; right:auto; border-top:0; border-left:2px dashed var(--wp-color-future-stop); }
.wp-route-line--vertical .wp-route-line__stop--done:not(:last-child)::after { border-left-style:solid; border-left-color:var(--wp-color-primary-deep); }
@media(max-width:480px) { .wp-route-line__copy strong { font-size:.8rem; } .wp-route-line__copy { padding-right:4px; } .wp-route-line__stop { padding-right:6px; } }
.wp-filter-pills { display:flex; flex-wrap:wrap; gap:8px; }
.wp-filter-pills button { min-height:44px; padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-pill); display:inline-flex; align-items:center; gap:8px; font:500 .875rem/1.4 var(--wp-font-sans); background:var(--wp-color-surface); color:var(--wp-color-text); cursor:pointer; }
.wp-filter-pills button:hover:not(:disabled) { background:var(--wp-color-hover); }
.wp-filter-pills button[aria-pressed='true'] { background:var(--wp-color-primary-deep); color:#FBF9F3; border-color:var(--wp-color-primary-deep); }
.wp-filter-pills button[aria-pressed='true']:hover:not(:disabled) { background:var(--wp-color-primary-deep); color:#FBF9F3; border-color:var(--wp-color-primary-deep); filter:brightness(1.12); }
.wp-filter-pills button:disabled { cursor:not-allowed; opacity:.6; }
.wp-filter-pills__count { font-variant-numeric:tabular-nums; font-size:.8rem; }
.wp-filter-pills button:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
.wp-status-badge { display:inline-flex; align-items:center; gap:8px; padding:4px 8px; border-radius:var(--wp-radius-pill); color:var(--wp-color-text); background:var(--wp-color-neutral-bg); font:500 .8rem/1.4 var(--wp-font-sans); white-space:nowrap; }
.wp-status-badge__dot { display:inline-block; width:8px; height:8px; flex:0 0 8px; background:var(--wp-color-text-muted); border-radius:50%; }
.wp-status-badge--active,.wp-status-badge--approved { color:var(--wp-color-success); background:var(--wp-color-success-bg); }
.wp-status-badge--active .wp-status-badge__dot,.wp-status-badge--approved .wp-status-badge__dot { background:var(--wp-color-success); }
.wp-status-badge--pending { color:var(--wp-color-warning); background:var(--wp-color-warning-bg); }
.wp-status-badge--pending .wp-status-badge__dot { background:var(--wp-color-signal); }
.wp-status-badge--rejected,.wp-status-badge--overdue { color:var(--wp-color-error); background:var(--wp-color-error-bg); }
.wp-status-badge--rejected .wp-status-badge__dot,.wp-status-badge--overdue .wp-status-badge__dot { background:var(--wp-color-error); }
.wp-status-badge--inactive .wp-status-badge__dot { background:transparent; border:1px solid currentColor; }
.wp-status-badge--draft .wp-status-badge__dot { background:transparent; border:1px dashed currentColor; }
.wp-needs-you ul { list-style:none; margin:0; padding:0; }
.wp-needs-you li { display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid var(--wp-color-border); }
.wp-needs-you li:last-child { border-bottom:0; }
.wp-needs-you__count { display:grid; place-items:center; flex:0 0 auto; min-width:44px; min-height:44px; padding:8px; border-radius:50%; background:var(--wp-color-warning-bg); color:var(--wp-color-warning); font:600 .95rem/1 var(--wp-font-sans); font-variant-numeric:tabular-nums; }
.wp-needs-you__copy { flex:1; min-width:0; }
.wp-needs-you__copy strong { color:var(--wp-color-text); font:600 .95rem/1.4 var(--wp-font-sans); overflow-wrap:anywhere; }
.wp-needs-you__copy p,.wp-needs-you__empty { margin:4px 0 0; color:var(--wp-color-text-muted); font:.85rem/1.5 var(--wp-font-sans); }
.wp-needs-you__action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; flex-shrink:0; padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); color:var(--wp-color-primary); background:var(--wp-color-surface); font:600 .85rem/1.4 var(--wp-font-sans); cursor:pointer; text-decoration:none; }
.wp-needs-you__action:hover { background:var(--wp-color-hover); }
.wp-needs-you__action:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:480px) { .wp-needs-you li { flex-wrap:wrap; gap:8px; } .wp-needs-you__action { margin-left:auto; } }
.wp-data-table { border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-card); background: var(--wp-color-surface); color: var(--wp-color-text); min-width: 0; overflow: hidden; font-family: var(--wp-font-sans); }
.wp-data-table__scroll { overflow: auto; max-height: 65dvh; overscroll-behavior: contain; }
.wp-data-table table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: var(--wp-font-size-md); }
.wp-data-table th, .wp-data-table td { padding: 8px 16px; border-bottom: 1px solid var(--wp-color-border); vertical-align: middle; }
.wp-data-table th { position: sticky; top: 0; background: var(--wp-color-surface); font-weight: 600; text-align: left; z-index: 1; }
.wp-data-table tbody tr:hover { background: var(--wp-color-hover); }
.wp-data-table tbody tr.is-openable { cursor: pointer; }
.wp-data-table tbody tr.is-openable:focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: -2px; }
.wp-data-table tr.is-selected { background: var(--wp-color-primary-soft); }
.wp-data-table button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; min-width: 44px; background: transparent; border: 0; color: var(--wp-color-primary); font: inherit; cursor: pointer; border-radius: var(--wp-radius-control); }
.wp-data-table button:disabled { opacity: .5; cursor: default; }
.wp-data-table footer, .wp-data-table footer nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.wp-data-table footer { padding: 8px 16px; color: var(--wp-color-text-muted); font-size: var(--wp-font-size-sm); }
.wp-data-table__check { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; cursor: pointer; }
.wp-data-table input { accent-color: var(--wp-color-primary); width: 18px; height: 18px; }
.wp-data-table__person { display: flex; align-items: center; gap: 8px; min-width: 160px; }
.wp-data-table__person small { display: block; color: var(--wp-color-text-muted); }
.wp-data-table__avatar { display: grid; place-items: center; flex: 0 0 36px; height: 36px; border-radius: 50%; background: var(--wp-color-primary-soft); color: var(--wp-color-primary); overflow: hidden; }
.wp-data-table__avatar img { width: 100%; height: 100%; object-fit: cover; }
.wp-data-table :focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }
.wp-data-table__sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) { .wp-data-table th, .wp-data-table td { padding: 8px; white-space: nowrap; } }
.wp-form-label {
  display: inline-flex;
  align-items: baseline;
  gap: 0.25rem;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  font-weight: 600;
  color: var(--wp-color-text);
  margin-bottom: var(--wp-space-xs);
}

.wp-form-label__required {
  display: inline-block;
  line-height: 1;
  color: var(--wp-color-error);
}
.wp-validation-message {
  margin: var(--wp-space-xs) 0 0;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  line-height: 1.4;
}

.wp-validation-message--hint {
  color: var(--wp-color-text-muted);
}

.wp-validation-message--error {
  color: var(--wp-color-error);
}
/**
 * Shared base styling for form controls (inputs, textareas, selects).
 * Imported by individual field components to keep control appearance consistent.
 */
.wp-field {
  display: flex;
  flex-direction: column;
  margin-bottom: var(--wp-space-lg);
}

.wp-field__control {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  padding: var(--wp-space-md) var(--wp-space-md);
  transition: border-color var(--wp-transition-fast), background-color var(--wp-transition-fast);
  width: 100%;
  box-sizing: border-box;
}

.wp-field__control:focus {
  outline: 2px solid var(--wp-color-primary);
  outline-offset: 2px;
  border-color: var(--wp-color-primary);
  box-shadow: none;
  background-color: var(--wp-color-surface);
}

.wp-field__control::placeholder {
  color: var(--wp-color-text-muted);
  opacity: 1;
}

.wp-field__control:disabled {
  background-color: var(--wp-color-neutral-bg);
  cursor: not-allowed;
}

.wp-field__control--error {
  border-color: var(--wp-color-error);
}

.wp-field__row {
  display: flex;
  gap: var(--wp-space-md);
}

.wp-field__row .wp-field {
  flex: 1;
}

/* Hide spin buttons / stepper arrows on number inputs */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button,
.wp-field__control[type='number']::-webkit-inner-spin-button,
.wp-field__control[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  display: none !important;
  margin: 0 !important;
}

input[type='number'],
.wp-field__control[type='number'] {
  -moz-appearance: textfield;
  appearance: textfield;
}

.wp-field__control:disabled {
  color: var(--wp-color-text-muted);
}
.wp-password-input__wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.wp-password-input__wrapper .wp-field__control {
  padding-right: 56px;
}

.wp-password-input__toggle {
  position: absolute;
  right: 8px;
  background: none;
  border: none;
  color: var(--wp-color-primary);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  cursor: pointer;
  padding: 4px 6px;
}
.wp-phone-input__wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.wp-phone-input__prefix {
  background: #f4f7f5;
  border-right: 1px solid var(--wp-color-border, #d0d5dd);
  border-radius: var(--wp-radius-control) 0 0 var(--wp-radius-control);
  box-sizing: border-box;
  height: 100%;
  justify-content: center;
  left: 0;
  align-items: center;
  color: var(--wp-color-text);
  display: flex;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  pointer-events: none;
  user-select: none;
  width: 70px;
}

.wp-phone-input__wrapper .wp-phone-input__control {
  padding-left: 86px !important;
}

.wp-phone-input__wrapper--without-prefix .wp-phone-input__control {
  padding-left: var(--wp-space-md) !important;
}
.wp-multi-select {
  margin-bottom: var(--wp-space-lg);
}

.wp-multi-select__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-sm);
  margin-bottom: var(--wp-space-sm);
}

.wp-multi-select__combobox {
  position: relative;
}

.wp-multi-select__input {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  padding: var(--wp-space-md);
  width: 100%;
  box-sizing: border-box;
  transition: border-color var(--wp-transition-fast), box-shadow var(--wp-transition-fast);
}

.wp-multi-select__input:focus {
  outline: none;
  border-color: var(--wp-color-primary);
  box-shadow: 0 0 0 3px var(--wp-color-primary-soft);
}

.wp-multi-select__suggestions {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  z-index: 20;
  margin: 0;
  padding: var(--wp-space-xs) 0;
  list-style: none;
  max-height: 220px;
  overflow-y: auto;
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  box-shadow: var(--wp-shadow-md);
}

.wp-multi-select__suggestion {
  display: block;
  width: 100%;
  text-align: left;
  padding: var(--wp-space-sm) var(--wp-space-md);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
}

.wp-multi-select__suggestion:hover {
  background-color: var(--wp-color-neutral-bg);
}

.wp-multi-select__empty {
  padding: var(--wp-space-sm) var(--wp-space-md);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}
.wp-search-input {
  display: flex;
  flex: 1;
}

.wp-search-input__control {
  margin: 0;
}
.wp-file-upload {
  margin-bottom: var(--wp-space-md);
  min-width: 0;
  max-width: 100%;
}

.wp-file-upload__control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  min-width: 0;
  gap: var(--wp-space-md);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-sm);
  padding: 10px 12px;
  background-color: var(--wp-color-surface);
}

.wp-file-upload__filename {
  flex: 1 1 auto;
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wp-file-upload__filename--downloadable {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  font: inherit;
  cursor: pointer;
}

.wp-file-upload__filename--downloadable:hover,
.wp-file-upload__filename--downloadable:focus-visible {
  color: var(--wp-color-primary);
  text-decoration: underline;
  outline: none;
}

.wp-file-upload__placeholder {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text-muted);
}

.wp-file-upload__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  color: var(--wp-color-primary);
  cursor: pointer;
}

.wp-file-upload__actions {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: var(--wp-space-md);
  margin-left: auto;
}

.wp-file-upload__remove {
  border: 0;
  border-left: 1px solid var(--wp-color-border);
  background: transparent;
  color: var(--wp-color-error, #ff3b69);
  cursor: pointer;
  font: inherit;
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  padding: 0 0 0 var(--wp-space-md);
}

.wp-file-upload__remove:hover:not(:disabled) {
  text-decoration: underline;
}

.wp-file-upload__remove:disabled {
  color: var(--wp-color-text-muted);
  cursor: not-allowed;
}

.wp-file-upload--disabled {
  opacity: 0.7;
}

.wp-file-upload__button--disabled {
  color: var(--wp-color-text-muted);
  cursor: not-allowed;
}

.wp-file-upload__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.wp-file-upload__input:disabled {
  cursor: not-allowed;
}

.wp-file-upload__hint {
  margin: var(--wp-space-xs) 0 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-file-upload__control {
  background-color: #ffffff;
  border-color: #cbd5e1;
}

[data-theme="light"] .wp-file-upload__placeholder {
  color: #64748b;
}

[data-theme="light"] .wp-file-upload__filename {
  color: #0f172a;
  font-weight: 600;
}

[data-theme="light"] .wp-file-upload__button {
  color: #0b624f;
  font-weight: 700;
}

[data-theme="light"] .wp-file-upload__hint {
  color: #475569;
}

[data-theme="light"] .wp-file-upload__remove {
  color: #b91c1c;
}

@media (max-width: 460px) {
  .wp-file-upload__control {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .wp-file-upload__filename,
  .wp-file-upload__placeholder {
    flex-basis: 100%;
  }

  .wp-file-upload__actions {
    width: 100%;
    justify-content: flex-end;
  }
}
.wp-image-upload {
  margin-bottom: var(--wp-space-md);
}

.wp-image-upload__control {
  display: flex;
  align-items: center;
  gap: var(--wp-space-md);
}

.wp-image-upload__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  color: var(--wp-color-primary);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-sm);
  padding: 8px 14px;
  cursor: pointer;
}

.wp-image-upload__input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.wp-image-upload__remove {
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  color: var(--wp-color-text-muted);
  background: none;
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-sm);
  padding: 8px 14px;
  cursor: pointer;
}

.wp-image-upload__hint {
  margin: var(--wp-space-xs) 0 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}
.wp-checkbox {
  display: flex;
  align-items: flex-start;
  gap: var(--wp-space-sm);
  cursor: pointer;
  margin-bottom: var(--wp-space-md);
}

.wp-checkbox--disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.wp-checkbox__input {
  margin-top: 3px;
  accent-color: var(--wp-color-primary);
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.wp-checkbox__label {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
}

.wp-checkbox__required {
  color: var(--wp-color-error);
}
.wp-range-slider__values {
  display: flex;
  justify-content: space-between;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text);
  margin-bottom: var(--wp-space-sm);
}

.wp-range-slider__track-wrap {
  position: relative;
  height: 20px;
}

.wp-range-slider__track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  transform: translateY(-50%);
  background-color: var(--wp-color-neutral-bg);
  border-radius: var(--wp-radius-sm);
}

.wp-range-slider__track-fill {
  position: absolute;
  top: 50%;
  height: 4px;
  transform: translateY(-50%);
  background-color: var(--wp-color-primary);
  border-radius: var(--wp-radius-sm);
}

.wp-range-slider__input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 20px;
  margin: 0;
  background: transparent;
  appearance: none;
  -webkit-appearance: none;
  pointer-events: none;
}

.wp-range-slider__input::-webkit-slider-runnable-track {
  background: transparent;
}

.wp-range-slider__input::-moz-range-track {
  background: transparent;
}

.wp-range-slider__input::-webkit-slider-thumb {
  appearance: none;
  -webkit-appearance: none;
  pointer-events: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--wp-color-primary);
  border: 2px solid var(--wp-color-surface);
  box-shadow: var(--wp-shadow-md);
  cursor: pointer;
}

.wp-range-slider__input::-moz-range-thumb {
  pointer-events: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background-color: var(--wp-color-primary);
  border: 2px solid var(--wp-color-surface);
  box-shadow: var(--wp-shadow-md);
  cursor: pointer;
}
.wp-loader {
  display: inline-flex;
  align-items: center;
  gap: var(--wp-space-sm);
}

.wp-loader__spinner {
  border-radius: 50%;
  border: 3px solid var(--wp-color-neutral-bg);
  border-top-color: var(--wp-color-primary);
  animation: wp-loader-spin 0.8s linear infinite;
}

.wp-loader__spinner--sm {
  width: 16px;
  height: 16px;
  border-width: 2px;
}

.wp-loader__spinner--md {
  width: 24px;
  height: 24px;
}

.wp-loader__spinner--lg {
  width: 36px;
  height: 36px;
  border-width: 4px;
}

.wp-loader__label {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text-muted);
}

@keyframes wp-loader-spin {
  to {
    transform: rotate(360deg);
  }
}
.wp-empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: var(--wp-space-xl);
  gap: var(--wp-space-sm);
}

.wp-empty-state__icon {
  color: var(--wp-color-text-muted);
  font-size: 2rem;
}

.wp-empty-state__title {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-lg);
  font-weight: 600;
  color: var(--wp-color-text);
  margin: 0;
}

.wp-empty-state__description {
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text-muted);
  margin: 0;
  max-width: 32rem;
}

.wp-empty-state__action {
  margin-top: var(--wp-space-sm);
}
.wp-toast {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-md);
  min-width: 260px;
  max-width: 420px;
  padding: 12px 16px;
  border-radius: var(--wp-radius-md);
  box-shadow: var(--wp-shadow-md);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
}

.wp-toast--info {
  background-color: var(--wp-color-info-bg);
  color: var(--wp-color-info);
}

.wp-toast--success {
  background-color: var(--wp-color-success-bg);
  color: var(--wp-color-success);
}

.wp-toast--warning {
  background-color: var(--wp-color-warning-bg);
  color: var(--wp-color-warning);
}

.wp-toast--error {
  background-color: var(--wp-color-error-bg);
  color: var(--wp-color-error);
}

.wp-toast__close {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  padding: 0;
}
.wp-app-layout {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--wp-color-bg);
}

.wp-app-layout__content {
  flex: 1;
}

/* Authenticated job seeker and employer pages share one framed workspace. */
.job-seeker-shell > .wp-app-layout__content,
.employer-dashboard > .wp-app-layout__content {
  background: #e8f0ec;
  margin: 0 auto;
  width: min(1360px, calc(100% - 40px));
}

/* The four primary employer pages share the same inset green workspace. */
.employer-dashboard--primary-page > .wp-app-layout__content {
  background: transparent;
}

.job-seeker-shell > .wp-app-layout__content {
  background: transparent;
}

@media (max-width: 760px) {
  .job-seeker-shell > .wp-app-layout__content,
  .employer-dashboard > .wp-app-layout__content {
    width: 100%;
  }
}
.wp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-lg);
  padding: var(--wp-space-md) var(--wp-space-xl);
  background-color: var(--wp-color-surface);
  border-bottom: 1px solid var(--wp-color-border);
}

.wp-header__nav {
  display: flex;
  flex: 1;
  justify-content: center;
}

.wp-header__actions {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
}

/* Keep each role's three primary destinations centered in the viewport. */
@media (min-width: 961px) {
  .job-seeker-shell__header,
  .employer-dashboard__header {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(220px, 1fr);
  }

  .job-seeker-shell__header .wp-header__logo,
  .employer-dashboard__header .wp-header__logo {
    justify-self: start;
  }

  .job-seeker-shell__header .wp-header__nav,
  .employer-dashboard__header .wp-header__nav {
    justify-self: center;
  }

  .job-seeker-shell__header .wp-header__actions,
  .employer-dashboard__header .wp-header__actions {
    justify-self: end;
  }
}
.wp-footer {
  padding: var(--wp-space-lg) var(--wp-space-xl);
  text-align: center;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
  border-top: 1px solid var(--wp-color-border);
}
.wp-page-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:24px; color:var(--wp-color-text); }
.wp-page-header__text { min-width:0; }
.wp-page-header__title { margin:0; font-family:var(--wp-font-display); font-weight:500; font-size:clamp(1.75rem,3vw,2.25rem); line-height:1.2; }
.wp-page-header__eyebrow { margin:0 0 8px; font-family:var(--wp-font-sans); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.14em; color:var(--wp-color-text-muted); }
.wp-page-header__subtitle { margin:8px 0 0; font-size:var(--wp-font-size-md); color:var(--wp-color-text-muted); }
.wp-page-header__action { flex-shrink:0; }
.wp-breadcrumb__list {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: var(--wp-space-xs);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
}

.wp-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: var(--wp-space-xs);
}

.wp-breadcrumb__link {
  color: var(--wp-color-text-muted);
  text-decoration: none;
}

.wp-breadcrumb__link:hover {
  text-decoration: underline;
}

.wp-breadcrumb__current {
  color: var(--wp-color-text);
  font-weight: 600;
}

.wp-breadcrumb__separator {
  color: var(--wp-color-text-muted);
}
.wp-section-container {
  max-width: 1120px;
  margin: 0 auto;
  padding-left: var(--wp-space-xl);
  padding-right: var(--wp-space-xl);
}

.wp-section-container--sm {
  padding-top: var(--wp-space-md);
  padding-bottom: var(--wp-space-md);
}

.wp-section-container--md {
  padding-top: var(--wp-space-lg);
  padding-bottom: var(--wp-space-lg);
}

.wp-section-container--lg {
  padding-top: var(--wp-space-xl);
  padding-bottom: var(--wp-space-xl);
}
.wp-card {
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-card);
  box-shadow: var(--wp-shadow-md);
  padding: var(--wp-space-lg);
  margin-bottom: var(--wp-space-md);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
}

.wp-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--wp-space-sm);
}

.wp-card__title {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp-color-text-muted);
  margin: 0;
}
.wp-two-column {
  display: grid;
  gap: var(--wp-space-lg);
  align-items: start;
}

.wp-two-column--1-1 {
  grid-template-columns: 1fr 1fr;
}

.wp-two-column--2-1 {
  grid-template-columns: 2fr 1fr;
}

.wp-two-column--3-1 {
  grid-template-columns: 3fr 1fr;
}

@media (max-width: 768px) {
  .wp-two-column {
    grid-template-columns: 1fr;
  }
}
.wp-modal__backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(3, 7, 18, 0.78);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--wp-space-lg);
  z-index: 1000;
}

.wp-modal__panel {
  background-color: rgba(8, 24, 18, 0.96);
  border: 1px solid rgba(0, 255, 135, 0.25);
  border-radius: var(--wp-radius-dialog);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.7), 0 0 30px rgba(0, 255, 135, 0.15);
  backdrop-filter: blur(20px);
  width: 100%;
  max-width: 560px;
  max-height: 90vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  color: var(--wp-color-text, #ffffff);
}

[data-theme='light'] .wp-modal__panel {
  background-color: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.14), 0 2px 8px rgba(0, 0, 0, 0.06);
  color: #0f172a;
}

.wp-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--wp-space-lg) var(--wp-space-lg) var(--wp-space-md);
}

.wp-modal__title {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-lg);
  font-weight: 700;
  margin: 0;
  color: #ffffff;
}

[data-theme='light'] .wp-modal__title {
  color: #0f172a;
}

.wp-modal__close {
  background: none;
  border: none;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  color: #94a3b8;
  transition: color 0.15s ease;
}

.wp-modal__close:hover {
  color: #00ff87;
}

[data-theme='light'] .wp-modal__close {
  color: #64748b;
}

[data-theme='light'] .wp-modal__close:hover {
  color: #0f172a;
}

.wp-modal__body {
  padding: 0 var(--wp-space-lg);
  flex: 1;
}

.wp-modal__footer {
  display: flex;
  justify-content: flex-end;
  gap: var(--wp-space-sm);
  padding: var(--wp-space-md) var(--wp-space-lg) var(--wp-space-lg);
}
.wp-detail-panel-overlay { position: fixed; inset: 0; z-index: 2000; display: flex; justify-content: flex-end; }
.wp-detail-panel-backdrop { position: absolute; inset: 0; width: 100%; border: 0; border-radius: 0; background: rgb(11 21 18 / 55%); cursor: pointer; }
.wp-detail-panel { position: relative; width: min(480px, 100%); display: flex; flex-direction: column; background: var(--wp-color-surface); color: var(--wp-color-text); border-left: 1px solid var(--wp-color-border); font-family: var(--wp-font-sans); }
.wp-detail-panel.wp-detail-panel--full-screen { width: 100%; height: 100dvh; max-height: none; border: 0; border-radius: 0; }
.wp-detail-panel header, .wp-detail-panel footer { padding: 16px 24px; border-bottom: 1px solid var(--wp-color-border); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.wp-detail-panel h2 { font-family: var(--wp-font-display); font-weight: 500; font-size: 1.5rem; margin: 0; }
.wp-detail-panel header button { width: 44px; height: 44px; display: grid; place-items: center; flex-shrink: 0; border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-control); color: var(--wp-color-text); background: transparent; cursor: pointer; }
.wp-detail-panel__body { padding: 24px; overflow-y: auto; min-height: 0; flex: 1; }
.wp-detail-panel footer { border-top: 1px solid var(--wp-color-border); border-bottom: 0; padding-bottom: max(16px, env(safe-area-inset-bottom)); }
.wp-detail-panel :focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }
@media (max-width: 600px) { .wp-detail-panel-overlay { align-items: flex-end; } .wp-detail-panel { width: 100%; max-height: 90dvh; border: 1px solid var(--wp-color-border); border-radius: 14px 14px 0 0; padding-bottom: env(safe-area-inset-bottom); } }
.wp-waypoint-mark {
  align-items: center;
  background: var(--wp-color-primary);
  /* Brand geometry stays fixed when UI versions change control shapes. */
  border-radius: 50% 50% 50% 6px;
  color: var(--wp-color-primary-contrast);
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  height: 32px;
  justify-content: center;
  line-height: 1;
  transform: rotate(-8deg);
  width: 32px;
}

.wp-waypoint-mark__letter {
  display: inline-block;
  transform: rotate(8deg);
}

.wp-waypoint-mark--contrast {
  background: var(--wp-color-primary-contrast);
  color: var(--wp-color-primary);
}

.wp-waypoint-mark--outline {
  background: transparent;
  border: 2px solid currentColor;
  color: currentColor;
}
.wp-command-palette-backdrop { position:fixed; inset:0; z-index:1500; display:flex; align-items:flex-start; justify-content:center; padding:10dvh 16px 16px; }
.wp-command-palette__dismiss { position:absolute; inset:0; width:100%; height:100%; border:0; border-radius:0; background:rgb(11 21 18 / 55%); cursor:pointer; }
.wp-command-palette { position:relative; display:flex; flex-direction:column; width:100%; max-width:640px; max-height:80dvh; overflow:hidden; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); color:var(--wp-color-text); font-family:var(--wp-font-sans); }
.wp-command-palette__search-row { display:flex; align-items:center; gap:8px; padding:16px; border-bottom:1px solid var(--wp-color-border); }
.wp-command-palette__search-icon { display:grid; place-items:center; color:var(--wp-color-text-muted); }
.wp-command-palette__input { flex:1; min-width:0; min-height:44px; padding:8px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text); font:inherit; }
.wp-command-palette__input::placeholder { color:var(--wp-color-text-muted); }
.wp-command-palette__esc-badge { min-width:44px; min-height:44px; padding:8px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text-muted); font:500 .75rem var(--wp-font-sans); cursor:pointer; }
.wp-command-palette__body { min-height:0; overflow-y:auto; padding:8px; }
.wp-command-palette__section-title { display:block; padding:16px 8px 8px; font:600 11px/1.5 var(--wp-font-sans); text-transform:uppercase; letter-spacing:.14em; color:var(--wp-color-text-muted); }
.wp-command-palette__list { display:grid; gap:4px; }
.wp-command-palette__item { display:flex; align-items:center; gap:16px; width:100%; min-height:44px; padding:8px; border:1px solid transparent; border-radius:var(--wp-radius-control); background:transparent; color:var(--wp-color-text); font:inherit; text-align:left; cursor:pointer; }
.wp-command-palette__item:hover,.wp-command-palette__item.is-selected { border-color:var(--wp-color-border); background:var(--wp-color-primary-soft); }
.wp-command-palette__item-icon,.wp-command-palette__avatar { display:grid; place-items:center; width:36px; height:36px; flex-shrink:0; color:var(--wp-color-primary); }
.wp-command-palette__avatar { background:var(--wp-color-primary-soft); border-radius:50%; }
.wp-command-palette__item-info { flex:1; min-width:0; }
.wp-command-palette__item-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.wp-command-palette__item-title-row strong { font-size:.875rem; font-weight:600; }
.wp-command-palette__item-info small,.wp-command-palette__item-category { color:var(--wp-color-text-muted); font-size:.75rem; }
.wp-command-palette__id-pill,.wp-command-palette__role-pill { padding:4px 8px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-pill); font-size:.75rem; }
.wp-command-palette__empty { padding:24px; color:var(--wp-color-text-muted); }
.wp-command-palette__footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:16px; border-top:1px solid var(--wp-color-border); color:var(--wp-color-text-muted); font-size:.75rem; }
.wp-command-palette__shortcuts { display:flex; flex-wrap:wrap; gap:16px; }
.wp-command-palette__spinner { width:16px; height:16px; border:2px solid var(--wp-color-border); border-top-color:var(--wp-color-primary); border-radius:50%; animation:wpPaletteSpin .8s linear infinite; }
.wp-command-palette :focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@keyframes wpPaletteSpin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce) { .wp-command-palette__spinner { animation:none; } }
@media(max-width:480px) { .wp-command-palette-backdrop { padding-top:16px; } .wp-command-palette__input { font-size:16px; } .wp-command-palette__branding { display:none; } }
.wp-workspace { min-height:100dvh; background:var(--wp-color-bg); color:var(--wp-color-text); font-family:var(--wp-font-sans); }
.wp-workspace__header { position:sticky; top:0; z-index:100; display:flex; align-items:center; gap:24px; min-height:80px; padding:16px max(24px,env(safe-area-inset-right)) 16px max(24px,env(safe-area-inset-left)); border-bottom:1px solid var(--wp-color-border); background:var(--wp-color-surface); }
.wp-workspace__brand { display:flex; align-items:center; gap:8px; min-height:44px; color:var(--wp-color-text); text-decoration:none; flex-shrink:0; }
.wp-workspace__brand > .wp-waypoint-mark { width:36px; height:36px; }
.wp-workspace__brand > span:not(.wp-waypoint-mark) { display:grid; gap:2px; }
.wp-workspace__brand strong { font:600 1.125rem/1.2 var(--wp-font-sans); }
.wp-workspace__brand small { font-size:.75rem; color:var(--wp-color-text-muted); }
.wp-workspace__quick-jump { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 16px; width:min(300px,100%); border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-bg); color:var(--wp-color-text-muted); font:500 .875rem/1.4 var(--wp-font-sans); cursor:pointer; }
.wp-workspace__quick-jump svg { flex-shrink:0; }
.wp-workspace__quick-jump kbd { margin-left:auto; font:400 .75rem var(--wp-font-mono); white-space:nowrap; }
.wp-workspace__quick-jump:hover { background:var(--wp-color-hover); color:var(--wp-color-primary); }
.wp-workspace__account { display:flex; align-items:center; gap:8px; margin-left:auto; min-width:0; }
.wp-workspace__account :is(.wp-theme-toggle,.wp-notification-menu__trigger) { width:44px; height:44px; min-height:44px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); padding:0; color:var(--wp-color-text); background:var(--wp-color-surface); transform:none; }
.wp-workspace__account :is(.wp-theme-toggle,.wp-notification-menu__trigger):hover { background:var(--wp-color-hover); color:var(--wp-color-primary); }
.wp-workspace__body { display:grid; grid-template-columns:max-content minmax(0,1fr); align-items:start; gap:32px; max-width:1920px; margin:auto; padding:24px; }
.wp-workspace__main { min-width:0; padding:0 0 84px; }
@media(min-width:769px) { .wp-workspace:has(.wp-floating-assistant,.wp-chatbot-window) .wp-workspace__body { padding-right:max(84px,calc(68px + env(safe-area-inset-right))); } }
.wp-workspace__skip { position:fixed; left:16px; top:-100px; padding:8px 16px; min-height:44px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-primary); z-index:3000; }
.wp-workspace__skip:focus { top:8px; }
.wp-workspace :focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
.wp-workspace__account .wp-profile-menu__trigger { min-height:44px; max-width:280px; }
.wp-workspace__account .wp-profile-menu__name,.wp-workspace__account .wp-profile-menu__secondary { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.wp-workspace__account .wp-profile-menu__identity { min-width:0; }
@media(max-width:1000px) { .wp-workspace__header { gap:16px; padding-inline:16px; } .wp-workspace__body { gap:24px; padding:24px 16px; } .wp-workspace__quick-jump { width:auto; } .wp-workspace__quick-jump kbd { display:none; } }
@media(max-width:768px) {
  .wp-workspace__header { gap:8px; padding:calc(8px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left)); min-height:64px; }
  .wp-workspace__brand { gap:4px; } .wp-workspace__brand > .wp-waypoint-mark { width:28px; height:28px; }
  .wp-workspace__brand strong { font-size:1rem; } .wp-workspace__brand small { display:none; }
  .wp-workspace__quick-jump { width:44px; padding:0; justify-content:center; flex-shrink:0; } .wp-workspace__quick-jump > span { display:none; }
  .wp-workspace__account { gap:4px; } .wp-workspace__account .wp-profile-menu__trigger { padding:4px; }
  .wp-workspace__account .wp-profile-menu__identity { max-width:64px; } .wp-workspace__account .wp-profile-menu__name { font-size:.75rem; }
  .wp-workspace__body { display:block; padding:24px max(16px,env(safe-area-inset-right)) 24px max(16px,env(safe-area-inset-left)); }
  .wp-workspace__main { padding-bottom:calc(160px + env(safe-area-inset-bottom)); }
}
@media(max-width:360px) { .wp-workspace__account .wp-profile-menu__identity { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); } }
.wp-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp-space-sm);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
}

.wp-pagination__pages {
  display: flex;
  list-style: none;
  gap: var(--wp-space-xs);
  margin: 0;
  padding: 0;
}

.wp-pagination__page,
.wp-pagination__control {
  border: 1px solid var(--wp-color-border);
  background-color: var(--wp-color-surface);
  border-radius: var(--wp-radius-sm);
  padding: 6px 12px;
  cursor: pointer;
  color: var(--wp-color-text);
}

.wp-pagination__page--active {
  background-color: var(--wp-color-primary);
  border-color: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
}

.wp-pagination__control:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.wp-nav-menu__list {
  display: flex;
  list-style: none;
  gap: var(--wp-space-lg);
  margin: 0;
  padding: 0;
}

.wp-nav-menu__link {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  font-weight: 500;
  color: var(--wp-color-text-muted);
  text-decoration: none;
  padding: 6px 10px;
  border-radius: var(--wp-radius-sm);
  transition: background-color var(--wp-transition-fast), color var(--wp-transition-fast);
}

.wp-nav-menu__link:hover {
  color: var(--wp-color-text);
}

.wp-nav-menu__link--active {
  background-color: var(--wp-color-neutral-bg);
  color: var(--wp-color-text);
}

.wp-nav-menu__link--disabled {
  cursor: not-allowed;
  opacity: 0.45;
  pointer-events: none;
}
.wp-profile-menu {
  position: relative;
}

.wp-profile-menu__trigger {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--wp-font-sans);
  min-height: 44px;
  border-radius: var(--wp-radius-control);
}

.wp-profile-menu__name {
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  color: var(--wp-color-text);
}

.wp-profile-menu__panel {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 220px;
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  box-shadow: var(--wp-shadow-md);
  z-index: 100;
}

.wp-profile-menu__header {
  padding: var(--wp-space-md);
  border-bottom: 1px solid var(--wp-color-border);
}

.wp-profile-menu__title {
  margin: 0;
  font-size: var(--wp-font-size-md);
  font-weight: 700;
  color: var(--wp-color-text);
}

.wp-profile-menu__subtitle {
  margin: 2px 0 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

.wp-profile-menu__list {
  list-style: none;
  margin: 0;
  padding: var(--wp-space-xs) 0;
}

.wp-profile-menu__item {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--wp-space-sm) var(--wp-space-md);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  min-height: 44px;
}

.wp-profile-menu__item:hover {
  background-color: var(--wp-color-neutral-bg);
}

.wp-profile-menu__identity { display:grid; gap:2px; text-align:left; }
.wp-profile-menu__secondary { color:var(--wp-color-text-muted); font-size:.7rem; font-weight:400; }
.wp-profile-menu :focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:768px) { .wp-profile-menu__panel { position:fixed; top:calc(72px + env(safe-area-inset-top)); left:16px; right:16px; min-width:0; max-height:70dvh; overflow:auto; } }
.wp-notification-menu { position:relative; }
.wp-notification-menu__trigger { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; min-height:44px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text); cursor:pointer; }
.wp-notification-menu__trigger:hover { background:var(--wp-color-hover); color:var(--wp-color-primary); }
.wp-notification-menu__badge { position:absolute; top:-4px; right:-4px; min-width:20px; padding:2px 4px; border:1px solid var(--wp-color-surface); border-radius:var(--wp-radius-pill); background:var(--wp-color-warning-bg); color:var(--wp-color-warning); font:600 11px/1.4 var(--wp-font-sans); }
.wp-notification-menu__sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.wp-notification-menu__panel { position:absolute; right:0; top:calc(100% + 8px); width:min(430px,calc(100vw - 32px)); max-height:70dvh; overflow:auto; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); color:var(--wp-color-text); z-index:150; }
.wp-notification-menu__header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 16px; border-bottom:1px solid var(--wp-color-border); }
.wp-notification-menu__title { font-size:1rem; font-weight:600; }
.wp-notification-menu__mark-read,.wp-notification-menu__retry { min-height:44px; padding:8px; border:0; border-radius:var(--wp-radius-control); background:transparent; color:var(--wp-color-primary); font:500 .875rem var(--wp-font-sans); cursor:pointer; }
.wp-notification-menu__list { list-style:none; margin:0; padding:0; }
.wp-notification-menu__item { border-bottom:1px solid var(--wp-color-border); }
.wp-notification-menu__item:not(:has(button)) { padding:16px; }
.wp-notification-menu__item--unread { background:var(--wp-color-primary-soft); border-left:3px solid var(--wp-color-primary); }
.wp-notification-menu__item-button { display:block; width:100%; min-height:44px; padding:16px; border:0; background:transparent; color:inherit; text-align:left; font:inherit; cursor:pointer; }
.wp-notification-menu__item-button:hover { background:var(--wp-color-hover); }
.wp-notification-menu__item-title { margin:0; font-size:.875rem; font-weight:600; }
.wp-notification-menu__item-subtitle { margin:4px 0; color:var(--wp-color-text-muted); font-size:.875rem; }
.wp-notification-menu__item-timestamp { color:var(--wp-color-text-muted); font-size:.75rem; }
.wp-notification-menu__status,.wp-notification-menu__empty { padding:16px; color:var(--wp-color-text-muted); }
.wp-notification-menu__status--error { color:var(--wp-color-error); }
.wp-notification-menu :focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:768px) { .wp-notification-menu__panel { position:fixed; top:calc(72px + env(safe-area-inset-top)); left:16px; right:16px; width:auto; } }
.wp-segmented-control {
  display: inline-flex;
  background-color: var(--wp-color-neutral-bg);
  border-radius: var(--wp-radius-md);
  padding: 4px;
  gap: 4px;
}

.wp-segmented-control__option {
  border: none;
  background: transparent;
  padding: 8px 20px;
  border-radius: var(--wp-radius-sm);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  color: var(--wp-color-text-muted);
  cursor: pointer;
  transition: background-color var(--wp-transition-fast), color var(--wp-transition-fast);
}

.wp-segmented-control__option--active {
  background-color: var(--wp-color-surface);
  color: var(--wp-color-text);
  box-shadow: var(--wp-shadow-sm);
}
.wp-filter-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp-space-sm);
  margin-bottom: var(--wp-space-lg);
}
.wp-mobile-bottom-nav { display:none; position:fixed; bottom:0; left:0; right:0; z-index:120; padding:8px max(12px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left)); border-top:1px solid var(--wp-color-border); background:var(--wp-color-surface); }
.wp-mobile-bottom-nav__dock { display:flex; align-items:center; justify-content:space-around; gap:8px; max-width:600px; margin:auto; }
.wp-mobile-bottom-nav__item { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:52px; min-width:44px; padding:4px; border-radius:var(--wp-radius-control); color:var(--wp-color-text-muted); font:500 .75rem/1.4 var(--wp-font-sans); text-decoration:none; }
.wp-mobile-bottom-nav__item:hover { background:var(--wp-color-hover); }
.wp-mobile-bottom-nav__item[aria-current='page'] { background:var(--wp-color-primary-deep); color:#FBF9F3; font-weight:600; }
.wp-mobile-bottom-nav__item:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:768px) { .wp-mobile-bottom-nav { display:block; } }
.wp-workspace-sidebar { position:sticky; top:104px; width:220px; height:auto; align-self:start; padding:0 16px 16px 0; border-right:1px solid var(--wp-color-border); overflow:visible; }
.wp-workspace-sidebar__toggle { display:grid; place-items:center; width:44px; height:44px; margin-left:auto; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text-muted); cursor:pointer; }
.wp-workspace-sidebar nav { display:grid; gap:16px; }
.wp-workspace-sidebar__section { display:grid; gap:4px; }
.wp-workspace-sidebar__label { padding:8px 8px 4px; font:600 11px/1.5 var(--wp-font-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--wp-color-text-muted); }
.wp-workspace-sidebar nav a { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px; border-radius:var(--wp-radius-control); color:var(--wp-color-text-muted); text-decoration:none; font-size:.875rem; }
.wp-workspace-sidebar nav a svg { flex-shrink:0; }
.wp-workspace-sidebar nav a:hover { background:var(--wp-color-hover); color:var(--wp-color-primary); }
.wp-workspace-sidebar nav a[aria-current='page'] { background:var(--wp-color-primary-deep); color:#FBF9F3; font-weight:600; }
.wp-workspace-sidebar.is-collapsed { width:64px; padding-right:8px; }
.wp-workspace-sidebar.is-collapsed :is(.wp-workspace-sidebar__label,nav a span) { display:none; }
.wp-workspace-sidebar.is-collapsed nav a { justify-content:center; padding-inline:0; }
@media(max-width:768px) { .wp-workspace-sidebar { display:none; } }
.wp-welcome-banner {
  background-color: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
  border-radius: var(--wp-radius-lg);
  padding: var(--wp-space-xl);
}

.wp-welcome-banner__title {
  font-family: var(--wp-font-sans);
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 var(--wp-space-sm);
}

.wp-welcome-banner__subtitle {
  font-size: var(--wp-font-size-md);
  opacity: 0.85;
  margin: 0;
  max-width: 42rem;
}

.wp-welcome-banner__action {
  margin-top: var(--wp-space-md);
}

.wp-welcome-banner__stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-xl);
  margin-top: var(--wp-space-lg);
  padding-top: var(--wp-space-lg);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.wp-welcome-banner__stat {
  display: flex;
  flex-direction: column;
}

.wp-welcome-banner__stat-value {
  font-size: 1.5rem;
  font-weight: 700;
}

.wp-welcome-banner__stat-label {
  font-size: var(--wp-font-size-sm);
  opacity: 0.75;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.wp-stat-card {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-xs);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  padding: var(--wp-space-lg);
}

.wp-stat-card__icon {
  color: var(--wp-color-text-muted);
  font-size: 1.25rem;
}

.wp-stat-card__value {
  font-family: var(--wp-font-sans);
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--wp-color-text);
}

.wp-stat-card__label {
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}
.wp-action-card { align-items:flex-start; appearance:none; background:var(--wp-color-surface, #fff); border:1px solid var(--wp-color-border, #d9e3dd); border-radius:16px; box-shadow:0 2px 8px rgba(15,62,49,.04); color:var(--wp-color-text, #173d32); cursor:pointer; display:flex; flex-direction:column; gap:16px; min-height:184px; padding:22px; text-align:left; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; width:100%; }
.wp-action-card:hover:not(:disabled) { border-color:#78ad96; box-shadow:0 12px 26px rgba(13,76,57,.11); transform:translateY(-2px); }
.wp-action-card:focus-visible { box-shadow:0 0 0 4px rgba(11,98,79,.18),0 12px 26px rgba(13,76,57,.11); outline:0; }
.wp-action-card:disabled { cursor:not-allowed; opacity:.56; }
.wp-action-card--primary { background:linear-gradient(135deg,#f0f8f4 0%,#fff 80%); border-color:#8fc5ad; }
.wp-action-card__icon { align-items:center; background:#e8f5ee; border-radius:12px; color:#0b624f; display:inline-flex; flex:0 0 44px; height:44px; justify-content:center; width:44px; }
.wp-action-card__icon svg { fill:none; height:21px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; width:21px; }
.wp-action-card__content { display:grid; gap:7px; min-width:0; }
.wp-action-card__eyebrow { color:#587568; font-size:.69rem; font-weight:750; letter-spacing:.09em; text-transform:uppercase; }
.wp-action-card__title { color:inherit; font-size:1.05rem; line-height:1.35; }
.wp-action-card__description { color:var(--wp-color-text-muted, #637a70); font-size:.9rem; line-height:1.5; }
.wp-action-card__footer { align-items:center; color:#0b624f; display:inline-flex; font-size:.86rem; font-weight:750; gap:7px; margin-top:auto; }
:root:not([data-theme='light']) .wp-action-card,[data-theme='dark'] .wp-action-card { background:#11271f; border-color:#315548; box-shadow:0 2px 10px rgba(0,0,0,.2); color:#f2faf6; }
:root:not([data-theme='light']) .wp-action-card--primary,[data-theme='dark'] .wp-action-card--primary { background:linear-gradient(135deg,#173d31,#11271f); border-color:#4d8870; }
:root:not([data-theme='light']) .wp-action-card__icon,[data-theme='dark'] .wp-action-card__icon { background:#1c4435; color:#9ee6bf; }
:root:not([data-theme='light']) .wp-action-card__description,:root:not([data-theme='light']) .wp-action-card__eyebrow,[data-theme='dark'] .wp-action-card__description,[data-theme='dark'] .wp-action-card__eyebrow { color:#b5cabf; }
:root:not([data-theme='light']) .wp-action-card__footer,[data-theme='dark'] .wp-action-card__footer { color:#9ee6bf; }
@media (max-width:640px) { .wp-action-card { min-height:0; padding:18px; } }
@media (prefers-reduced-motion:reduce) { .wp-action-card { transition:none; } .wp-action-card:hover:not(:disabled) { transform:none; } }
.wp-feature-card {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-xs);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  padding: var(--wp-space-md);
}

.wp-feature-card__icon {
  color: var(--wp-color-primary);
  font-size: 1.25rem;
}

.wp-feature-card__title {
  margin: 0;
  font-family: var(--wp-font-sans);
  font-weight: 600;
  color: var(--wp-color-text);
}

.wp-feature-card__description {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}
.wp-process-step {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-xs);
}

.wp-process-step__number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: var(--wp-color-neutral-bg);
  color: var(--wp-color-text);
  font-weight: 700;
  font-size: var(--wp-font-size-sm);
}

.wp-process-step__title {
  margin: var(--wp-space-xs) 0 0;
  font-family: var(--wp-font-sans);
  font-weight: 600;
  color: var(--wp-color-text);
}

.wp-process-step__description {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}
.wp-activity-card {
  display: flex;
  align-items: center;
  gap: var(--wp-space-md);
  padding: var(--wp-space-sm) 0;
  border-bottom: 1px solid var(--wp-color-border);
}

.wp-activity-card:last-child {
  border-bottom: none;
}

.wp-activity-card__icon {
  color: var(--wp-color-text-muted);
  font-size: 1.1rem;
}

.wp-activity-card__text {
  flex: 1;
}

.wp-activity-card__title {
  margin: 0;
  font-family: var(--wp-font-sans);
  font-weight: 600;
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
}

.wp-activity-card__subtitle {
  margin: 2px 0 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

.wp-activity-card__date {
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
  white-space: nowrap;
}
.wp-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(var(--wp-dashboard-grid-columns, 3), 1fr);
  gap: var(--wp-space-md);
}

@media (max-width: 768px) {
  .wp-dashboard-grid {
    grid-template-columns: 1fr;
  }
}
.wp-hero-section {
  background: var(--wp-color-surface);
  color: var(--wp-color-primary-contrast);
  padding: var(--wp-space-2xl) var(--wp-space-xl);
}

.wp-hero-section__inner {
  max-width: 32rem;
}

.wp-hero-section__eyebrow {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.75;
  margin: 0 0 var(--wp-space-sm);
}

.wp-hero-section__headline {
  font-family: var(--wp-font-sans);
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 var(--wp-space-md);
}

.wp-hero-section__description {
  font-size: var(--wp-font-size-md);
  opacity: 0.85;
  line-height: 1.6;
  margin: 0;
}

.wp-hero-section { background: var(--wp-color-primary-soft); color: var(--wp-color-text); border-block-end: 1px solid var(--wp-color-border); }
.wp-hero-section__headline { font-family: var(--wp-font-display); font-weight: 500; }
.wp-hero-section__eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .14em; opacity: 1; }
.wp-hero-section__description { color: var(--wp-color-text-muted); opacity: 1; }
.wp-about-waypoint-section {
  padding: var(--wp-space-xl);
}

.wp-about-waypoint-section__eyebrow {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp-color-text-muted);
  margin: 0 0 var(--wp-space-md);
}

.wp-about-waypoint-section__grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: var(--wp-space-xl);
}

.wp-about-waypoint-section__headline {
  font-family: var(--wp-font-sans);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--wp-color-text);
  margin: 0 0 var(--wp-space-sm);
}

.wp-about-waypoint-section__paragraph {
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  line-height: 1.7;
  margin: 0 0 var(--wp-space-sm);
}

.wp-about-waypoint-section__paragraph:last-child {
  margin-bottom: 0;
}

.wp-about-waypoint-section__features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wp-space-sm);
  align-content: start;
}

@media (max-width: 768px) {
  .wp-about-waypoint-section__grid {
    grid-template-columns: 1fr;
  }
}
.wp-get-started-section {
  padding: var(--wp-space-xl);
}

.wp-get-started-section__eyebrow {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp-color-text-muted);
  margin: 0 0 var(--wp-space-md);
}

.wp-get-started-section__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--wp-space-md);
}

@media (max-width: 768px) {
  .wp-get-started-section__grid {
    grid-template-columns: 1fr;
  }
}
.wp-how-waypoint-works-section {
  padding: var(--wp-space-xl);
}

.wp-how-waypoint-works-section__eyebrow {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp-color-text-muted);
  margin: 0 0 var(--wp-space-md);
}

.wp-how-waypoint-works-section__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--wp-space-md);
}

@media (max-width: 768px) {
  .wp-how-waypoint-works-section__grid {
    grid-template-columns: 1fr;
  }
}
body .wp-floating-assistant { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(var(--wp-assistant-bottom-offset, 16px) + env(safe-area-inset-bottom)); z-index: 1100; display: grid; place-items: center; width: 52px; height: 52px; padding: 0; border: 1px solid var(--wp-color-border); border-radius: 50%; background: var(--wp-color-primary-deep); color: #FBF9F3; cursor: pointer; }
body .wp-floating-assistant:hover { background: var(--wp-color-primary-hover); color: var(--wp-color-primary-contrast); }
body .wp-floating-assistant:focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }
#root:has(.wp-floating-assistant, .wp-chatbot-window) { padding-bottom: calc(84px + var(--wp-assistant-bottom-offset, 16px) + env(safe-area-inset-bottom)); }
/* The mobile dock reserves a fifth slot so the launcher cannot cover content. */
@media (max-width: 768px) {
  body:has(.wp-mobile-bottom-nav) .wp-floating-assistant { --wp-assistant-bottom-offset: 8px; }
  body:has(.wp-floating-assistant, .wp-chatbot-window) .wp-mobile-bottom-nav__dock { padding-right: 68px; }
  #root:has(.wp-workspace .wp-floating-assistant, .wp-workspace .wp-chatbot-window) { padding-bottom: 0; }
}
body .wp-floating-assistant { width:56px; height:56px; border:1px solid #A7F3D0; background:radial-gradient(circle at 35% 20%,#17775c,#064E3B 75%); box-shadow:0 6px 20px #064e3b30; animation:wpAssistantFloat 4s ease-in-out infinite; transition:box-shadow .2s; }
body .wp-floating-assistant:hover,body .wp-floating-assistant:focus-visible { background:#064E3B; box-shadow:0 0 0 5px #a7f3d033,0 8px 28px #55dba765; }
body .wp-floating-assistant[aria-expanded="true"] { animation:none; }
.wp-floating-assistant > .wp-wavi-face { width:48px; height:48px; object-fit:contain; pointer-events:none; }
.wp-floating-assistant__tooltip { position:absolute; right:calc(100% + 12px); padding:9px 13px; border-radius:10px; background:#064E3B; color:#F5F1E8; font:500 12px/1.4 var(--wp-font-sans); white-space:nowrap; opacity:0; visibility:hidden; transform:translateX(4px); transition:opacity .18s,transform .18s,visibility .18s; pointer-events:none; }
.wp-floating-assistant:hover .wp-floating-assistant__tooltip,.wp-floating-assistant:focus-visible .wp-floating-assistant__tooltip { opacity:1; visibility:visible; transform:translateX(0); }
.wp-floating-assistant__notification { position:absolute; top:0; right:0; width:11px; height:11px; border:2px solid #F5F1E8; border-radius:50%; background:#34d399; }
.wp-assistant-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@keyframes wpAssistantFloat { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@media(prefers-reduced-motion:reduce) { body .wp-floating-assistant { animation:none; } .wp-floating-assistant__tooltip { transition:none; } }

/* A small companion: buoyant at rest, responsive on hover and press. */
body .wp-floating-assistant { isolation:isolate; animation:wpAssistantFloat 5s ease-in-out infinite; transition:box-shadow .25s,scale .25s; }
body .wp-floating-assistant:hover,body .wp-floating-assistant:focus-visible { scale:1.07; }
body .wp-floating-assistant:active { scale:.96; }
.wp-floating-assistant > .wp-wavi-face { position:relative; z-index:1; transform-origin:50% 80%; animation:wpAssistantHello 7s ease-in-out 1; transition:transform .35s cubic-bezier(.2,.8,.2,1); }
.wp-floating-assistant:hover > .wp-wavi-face,.wp-floating-assistant:focus-visible > .wp-wavi-face { animation:none; transform:translateY(-3px) rotate(-9deg) scale(1.08); }
.wp-floating-assistant__orbit { position:absolute; inset:-5px; border:1px solid #80d9b650; border-radius:50%; pointer-events:none; animation:wpAssistantOrbit 12s linear 3; }
.wp-floating-assistant__orbit::after { content:''; position:absolute; width:5px; height:5px; top:6px; left:5px; border-radius:50%; background:#A7F3D0; box-shadow:0 0 7px #6ce9b4; }
.wp-floating-assistant__spark { position:absolute; top:-12px; right:-3px; color:#218666; font-size:15px; pointer-events:none; animation:wpAssistantSpark 5s ease-in-out 3; }
.wp-floating-assistant__greeting { position:absolute; right:calc(100% + 17px); bottom:5px; display:flex; flex-direction:column; gap:7px; width:218px; padding:15px 17px; border:1px solid #064e3b20; border-radius:18px 18px 4px 18px; background:#fffdf7; color:#064E3B; box-shadow:0 8px 28px #064e3b14; text-align:left; font:500 13px/1.4 var(--wp-font-sans); pointer-events:none; opacity:0; visibility:hidden; animation:wpAssistantGreeting 8s ease 2s 1; }
.wp-floating-assistant__eyebrow { font-size:9px; font-weight:700; letter-spacing:.14em; color:#657b6e; }
.wp-floating-assistant__hint { display:flex; justify-content:space-between; align-items:center; font-size:11px; color:#287357; }
.wp-floating-assistant__hint > span { display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:#e3f4e9; font-size:14px; }
.wp-floating-assistant:hover .wp-floating-assistant__greeting,.wp-floating-assistant:focus-visible .wp-floating-assistant__greeting,.wp-floating-assistant[aria-expanded="true"] .wp-floating-assistant__greeting { display:none; }
.wp-floating-assistant[aria-expanded="true"] .wp-floating-assistant__orbit,.wp-floating-assistant[aria-expanded="true"] .wp-floating-assistant__spark { animation:none; opacity:0; }
.wp-floating-assistant[aria-expanded="true"] > .wp-wavi-face { animation:none; }
@keyframes wpAssistantFloat { 0%,100% { transform:translateY(0) rotate(0); } 50% { transform:translateY(-7px) rotate(2deg); } }
@keyframes wpAssistantHello { 0%,15%,45%,100% { transform:rotate(0); } 22%,36% { transform:rotate(-10deg); } 29% { transform:rotate(7deg); } }
@keyframes wpAssistantOrbit { to { transform:rotate(360deg); } }
@keyframes wpAssistantSpark { 0%,100% { opacity:.35; transform:scale(.8) rotate(0); } 50% { opacity:1; transform:scale(1.1) rotate(25deg); } }
@keyframes wpAssistantGreeting { 0%,100% { opacity:0; visibility:hidden; transform:translate(6px,4px); } 8%,90% { opacity:1; visibility:visible; transform:translate(0,0); } }
@media(max-width:480px) { .wp-floating-assistant__greeting { width:190px; padding:12px; font-size:12px; bottom:9px; } }
@media(prefers-reduced-motion:reduce) {
  body .wp-floating-assistant,.wp-floating-assistant > .wp-wavi-face,.wp-floating-assistant__orbit,.wp-floating-assistant__spark,.wp-floating-assistant__greeting { animation:none; transition:none; }
  body .wp-floating-assistant:hover,body .wp-floating-assistant:focus-visible,body .wp-floating-assistant:active { scale:1; }
  .wp-floating-assistant:hover > .wp-wavi-face,.wp-floating-assistant:focus-visible > .wp-wavi-face { transform:none; }
  .wp-floating-assistant__greeting { display:none; }
}

.wp-wavi-face { position:relative; display:inline-block; flex-shrink:0; width:36px; height:36px; }
.wp-wavi-face img { display:block; width:100%; height:100%; object-fit:contain; }
/* Eyelids sweep down quickly, pause closed, then reopen more gently. */
.wp-wavi-face__eyelid { position:absolute; top:55%; width:20%; height:16%; border-radius:45%; background:#0b3d32; clip-path:inset(0 0 100% 0); pointer-events:none; }
.wp-wavi-face__eyelid::after { content:''; position:absolute; left:16%; right:16%; bottom:22%; height:1px; border-radius:50%; background:#A7F3D0; opacity:.8; }
.wp-wavi-face__eyelid--left { left:24%; }
.wp-wavi-face__eyelid--right { right:24%; }
.wp-wavi-face.is-blinking .wp-wavi-face__eyelid { animation:wpWaviNaturalBlink 180ms ease-in-out both; }
@keyframes wpWaviNaturalBlink { 0%,100% { clip-path:inset(0 0 100% 0); } 35%,55% { clip-path:inset(0); } }
@media(prefers-reduced-motion:reduce) { .wp-wavi-face.is-blinking .wp-wavi-face__eyelid { animation:none; } }

/* Keep the companion present without competing with the conversation. */
body .wp-floating-assistant[hidden] { display:none; }
body .wp-floating-assistant { animation-iteration-count:3; }
.wp-auth-side-panel {
  position: relative;
  height: 100%;
  min-height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 4vw, 58px) clamp(28px, 4.5vw, 68px);
  background:
    radial-gradient(circle at 80% 20%, rgba(0, 255, 135, 0.15), transparent 22rem),
    radial-gradient(circle at 20% 80%, rgba(11, 98, 79, 0.25), transparent 24rem),
    linear-gradient(155deg, #091d15 0%, #040a08 100%);
  color: #ffffff;
  overflow: hidden;
  isolation: isolate;
  border-right: 1px solid var(--wp-color-border);
}

/* A large, quiet contour keeps the panel dimensional without turning it into
   another chart or data visualization. */
.wp-auth-side-panel::after {
  content: '';
  position: absolute;
  width: 34rem;
  height: 34rem;
  right: -17rem;
  bottom: -18rem;
  border: 1px solid rgba(0, 255, 135, 0.2);
  border-radius: 50%;
  box-shadow: 0 0 40px rgba(0, 255, 135, 0.1);
  pointer-events: none;
}

.wp-auth-side-panel__pattern {
  position: absolute;
  inset: 0;
  opacity: 0.7;
  background-image:
    radial-gradient(circle at 76% 34%, rgba(0, 255, 135, 0.08) 0, transparent 15rem),
    radial-gradient(circle at 22% 70%, rgba(11, 98, 79, 0.08) 0, transparent 14rem);
  pointer-events: none;
  z-index: -1;
}

.wp-auth-side-panel__zones {
  position: relative;
  z-index: 1;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}

/* Brand lockup */
.wp-auth-side-panel__logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  color: var(--wp-color-primary-contrast);
}

.wp-auth-side-panel__logo-mark {
  flex-shrink: 0;
}

.wp-auth-side-panel__logo-text {
  color: #ffffff;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-lg);
  font-weight: 800;
  letter-spacing: 0.04em;
  background: linear-gradient(90deg, #ffffff, #a5b4fc);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-auth-side-panel__workspace-label {
  align-self: flex-start;
  margin-top: 18px;
  padding: 5px 12px;
  background: rgba(0, 255, 135, 0.12);
  border: 1px solid rgba(0, 255, 135, 0.35);
  border-radius: var(--wp-radius-pill);
  color: var(--wp-color-accent-cyan);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 0 12px rgba(0, 255, 135, 0.2);
}

/* Headline and supporting copy */
.wp-auth-side-panel__content {
  max-width: 35rem;
  margin-top: clamp(54px, 9vh, 108px);
}

.wp-auth-side-panel__eyebrow {
  margin: 0 0 16px;
  color: var(--wp-color-accent-cyan);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.wp-auth-side-panel__heading {
  max-width: 31rem;
  margin: 0;
  color: var(--wp-color-primary-contrast);
  font-family: var(--wp-font-sans);
  font-size: clamp(2.5rem, 4.2vw, 3.8rem);
  font-weight: 750;
  letter-spacing: -0.055em;
  line-height: 1.04;
  text-align: left;
}

.wp-auth-side-panel__description {
  max-width: 30rem;
  margin: 24px 0 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.08rem;
  line-height: 1.65;
  text-align: left;
}

.wp-auth-side-panel__people {
  display: block;
  width: min(100%, 32rem);
  height: auto;
  margin-top: clamp(30px, 5vh, 56px);
  color: #dcefe1;
}

/* Oversized brand mark: a visual signature, not a graph or a metric. */
.wp-auth-side-panel__watermark {
  position: absolute;
  right: -42px;
  bottom: -58px;
  z-index: 0;
  width: clamp(260px, 28vw, 420px);
  height: clamp(260px, 28vw, 420px);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.085);
  pointer-events: none;
}

.wp-auth-side-panel__illustration {
  margin-top: 24px;
}

@media (max-width: 768px) {
  .wp-auth-side-panel {
    height: auto;
    min-height: 46vh;
    padding: 28px 24px 36px;
  }

  .wp-auth-side-panel__content {
    margin-top: 72px;
  }

  .wp-auth-side-panel__people {
    width: min(100%, 30rem);
    margin-top: 36px;
  }

  .wp-auth-side-panel__heading {
    max-width: 30rem;
    font-size: clamp(2.25rem, 8vw, 3.2rem);
  }

  .wp-auth-side-panel__watermark {
    right: -62px;
    bottom: -74px;
    width: 280px;
    height: 280px;
  }
}

[data-theme="light"] .wp-auth-side-panel {
  background:
    radial-gradient(circle at 80% 20%, rgba(16, 185, 129, 0.12), transparent 22rem),
    radial-gradient(circle at 20% 80%, rgba(11, 98, 79, 0.1), transparent 24rem),
    linear-gradient(155deg, #f0fdf4 0%, #e2e8f0 100%);
  color: #0f172a;
  border-right-color: #cbd5e1;
}

[data-theme="light"] .wp-auth-side-panel::after {
  border-color: rgba(11, 98, 79, 0.15);
  box-shadow: 0 0 40px rgba(11, 98, 79, 0.08);
}

[data-theme="light"] .wp-auth-side-panel__logo-text {
  background: linear-gradient(90deg, #0b624f, #047857);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

[data-theme="light"] .wp-auth-side-panel__workspace-label {
  background: #ecfdf5;
  border-color: #a7f3d0;
  color: #065f46;
  box-shadow: none;
}

[data-theme="light"] .wp-auth-side-panel__eyebrow {
  color: #059669;
}

[data-theme="light"] .wp-auth-side-panel__heading {
  color: #0f172a;
}

[data-theme="light"] .wp-auth-side-panel__description {
  color: #334155;
}

[data-theme="light"] .wp-auth-side-panel__people {
  color: #0b624f;
}

[data-theme="light"] .wp-auth-side-panel__watermark {
  color: rgba(11, 98, 79, 0.08);
}
.wp-workspace-explorer { color: var(--wp-color-text); background: var(--wp-color-surface-solid); border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-card); padding: 20px; box-shadow: var(--ui-card-shadow); text-align: left; width: 100%; box-sizing: border-box; }
.wp-workspace-explorer__label { display: block; margin-bottom: 14px; font-size: .8rem; font-weight: 700; color: var(--wp-color-accent-cyan); }
.wp-workspace-explorer p { font-size: .9rem; line-height: 1.6; color: var(--wp-color-text-muted); margin: 12px 0 0; }
.wp-workspace-explorer summary { cursor: pointer; padding: 10px 0; }
.wp-workspace-explorer details + details { border-top: 1px solid var(--wp-color-border); }
.wp-workspace-explorer details p { margin: 0 0 14px; }
.wp-workspace-explorer__choices { display: flex; gap: 10px; flex-wrap: wrap; }
.wp-workspace-explorer button { font: inherit; color: var(--wp-color-text); cursor: pointer; border: 1px solid var(--wp-color-border); background: var(--wp-color-surface); border-radius: var(--wp-radius-control); padding: 12px; }
.wp-workspace-explorer__choices button { flex: 1; display: grid; gap: 8px; min-width: 75px; }
.wp-workspace-explorer__choices button[aria-pressed='true'] { border-color: var(--wp-color-accent-cyan); background: var(--wp-color-primary-soft); }
.wp-workspace-explorer__choices button span { color: var(--wp-color-accent-cyan); font-size: 1.5rem; }
.wp-workspace-explorer__next { margin-top: 12px; }
.wp-workspace-explorer :is(button, summary):focus-visible { outline: 2px solid var(--wp-color-accent-cyan); outline-offset: 3px; }
[data-ui-variant='v2'] .wp-workspace-explorer { font-family: var(--wp-font-mono); }
[data-ui-variant='v3'] .wp-workspace-explorer__choices button { border-radius: 30px 30px 12px 12px; transition: transform .2s; }
[data-ui-variant='v3'] .wp-workspace-explorer__choices button:hover { transform: translateY(-3px); }
@media (prefers-reduced-motion: reduce) { [data-ui-variant='v3'] .wp-workspace-explorer__choices button:hover { transform: none; } }
.wp-employer-registration-form {
  display: flex;
  flex-direction: column;
}
.wp-employer-registration-page {
  min-height: 100vh;
  background-color: var(--wp-color-bg);
}

.wp-employer-registration-page__columns {
  min-height: 100vh;
  gap: 0;
  align-items: stretch;
}

.wp-employer-registration-page__columns .wp-two-column__side {
  display: flex;
  align-items: center;
  padding: var(--wp-space-xl);
}

.wp-employer-registration-page__form-panel {
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
}

.wp-employer-registration-page__toggle {
  margin-bottom: var(--wp-space-lg);
}
.wp-job-seeker-registration-form {
  display: flex;
  flex-direction: column;
}
.wp-job-seeker-registration-page {
  min-height: 100vh;
  background-color: var(--wp-color-bg);
}

.wp-job-seeker-registration-page__columns {
  min-height: 100vh;
  gap: 0;
  align-items: stretch;
}

.wp-job-seeker-registration-page__columns .wp-two-column__side {
  display: flex;
  align-items: center;
  padding: var(--wp-space-xl);
}

.wp-job-seeker-registration-page__form-panel {
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
}

.wp-job-seeker-registration-page__toggle {
  margin-bottom: var(--wp-space-lg);
}
.wp-verify-otp-form {
  display: flex;
  flex-direction: column;
}

.wp-verify-otp-form .wp-toast {
  width: 100%;
  box-sizing: border-box;
  max-width: none;
  margin-bottom: var(--wp-space-md);
}
.wp-verify-otp-page {
  min-height: 100vh;
  background-color: var(--wp-color-bg);
}

.wp-verify-otp-page__columns {
  min-height: 100vh;
  gap: 0;
  align-items: stretch;
}

.wp-verify-otp-page__columns .wp-two-column__side {
  display: flex;
  align-items: center;
  padding: var(--wp-space-xl);
}

.wp-verify-otp-page__form-panel {
  width: 100%;
  max-width: 28rem;
  margin: 0 auto;
}
/* MobileAppModal.css - Premium Glassmorphic Modal */
.wp-mobile-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 23, 42, 0.75);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: wpModalFadeIn 0.2s ease-out;
}

@keyframes wpModalFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.wp-mobile-modal-container {
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 25px 50px -12px rgba(15, 23, 42, 0.25), 0 0 0 1px rgba(226, 232, 240, 0.8);
  width: 100%;
  max-width: 540px;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  animation: wpModalSlideUp 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes wpModalSlideUp {
  from {
    transform: translateY(20px) scale(0.97);
    opacity: 0;
  }
  to {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
}

.wp-mobile-modal-header {
  padding: 1.5rem 1.5rem 1rem 1.5rem;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  border-bottom: 1px solid #f1f5f9;
}

.wp-mobile-modal-header-text h3 {
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  margin: 0 0 0.25rem 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.wp-mobile-modal-header-text p {
  font-size: 0.875rem;
  color: #475569;
  margin: 0;
}

.wp-mobile-modal-close-btn {
  background: #f1f5f9;
  border: none;
  border-radius: 50%;
  width: 34px;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #475569;
  font-size: 1.25rem;
  cursor: pointer;
  transition: all 0.15s ease;
}

.wp-mobile-modal-close-btn:hover {
  background: #e2e8f0;
  color: #0f172a;
}

/* Tabs */
.wp-mobile-tabs {
  display: flex;
  gap: 0.5rem;
  padding: 1rem 1.5rem 0 1.5rem;
  background: #f8fafc;
  border-bottom: 1px solid #e2e8f0;
}

.wp-mobile-tab-btn {
  flex: 1;
  padding: 0.65rem 0.5rem;
  border: none;
  background: none;
  font-size: 0.875rem;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  transition: all 0.15s ease;
}

.wp-mobile-tab-btn:hover {
  color: #2563eb;
}

.wp-mobile-tab-btn.active {
  color: #2563eb;
  border-bottom-color: #2563eb;
  background: #ffffff;
  border-radius: 8px 8px 0 0;
}

.wp-mobile-modal-body {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Platform Cards */
.wp-mobile-action-card {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border: 1px solid #bfdbfe;
  border-radius: 14px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.wp-mobile-action-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wp-mobile-badge {
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.5rem;
  border-radius: 9999px;
  background: #2563eb;
  color: #ffffff;
}

.wp-mobile-badge.secondary {
  background: #e2e8f0;
  color: #334155;
}

.wp-download-primary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  background: #2563eb;
  color: #ffffff !important;
  text-decoration: none;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.85rem 1.25rem;
  border-radius: 10px;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.25), 0 2px 4px -2px rgba(37, 99, 235, 0.2);
  transition: all 0.2s ease;
  width: 100%;
}

.wp-download-primary-btn:hover {
  background: #1d4ed8;
  transform: translateY(-1px);
  box-shadow: 0 6px 12px -2px rgba(37, 99, 235, 0.35);
}

.wp-download-primary-btn:active {
  transform: translateY(0);
}

/* Steps List */
.wp-mobile-steps-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wp-mobile-step-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.875rem;
  color: #334155;
  line-height: 1.4;
}

.wp-mobile-step-num {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #2563eb;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-mobile-step-highlight {
  font-weight: 600;
  color: #0f172a;
}

/* iOS Specific Styles */
.wp-ios-share-icon {
  display: inline-flex;
  padding: 0.15rem 0.4rem;
  background: #e2e8f0;
  border-radius: 6px;
  font-size: 0.85rem;
  font-weight: bold;
}

/* QR Code Section */
.wp-qr-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
  padding: 1rem;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 12px;
}

.wp-qr-svg-wrapper {
  background: #ffffff;
  padding: 0.75rem;
  border-radius: 12px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.wp-qr-url-hint {
  font-size: 0.8rem;
  color: #475569;
  word-break: break-all;
  max-width: 100%;
}

.wp-mobile-modal-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #f1f5f9;
  background: #fafafa;
  border-radius: 0 0 20px 20px;
  font-size: 0.8rem;
  color: #475569;
  text-align: center;
}

/* Dark Mode Overrides for MobileAppModal */
:root:not([data-theme="light"]) .wp-mobile-modal-container {
  background: #081812;
  border: 1px solid rgba(0, 255, 135, 0.25);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7), 0 0 30px rgba(0, 255, 135, 0.12);
}

:root:not([data-theme="light"]) .wp-mobile-modal-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

:root:not([data-theme="light"]) .wp-mobile-modal-header-text h3 {
  color: #ffffff;
}

:root:not([data-theme="light"]) .wp-mobile-modal-header-text p {
  color: #cbd5e1;
}

:root:not([data-theme="light"]) .wp-mobile-modal-close-btn {
  background: rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}

:root:not([data-theme="light"]) .wp-mobile-modal-close-btn:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

:root:not([data-theme="light"]) .wp-mobile-tabs {
  background: rgba(4, 10, 8, 0.7);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

:root:not([data-theme="light"]) .wp-mobile-tab-btn {
  color: #94a3b8;
}

:root:not([data-theme="light"]) .wp-mobile-tab-btn:hover {
  color: #60a5fa;
}

:root:not([data-theme="light"]) .wp-mobile-tab-btn.active {
  color: #60a5fa;
  border-bottom-color: #60a5fa;
  background: #081812;
}

:root:not([data-theme="light"]) .wp-mobile-action-card {
  background: linear-gradient(135deg, rgba(15, 23, 42, 0.8) 0%, rgba(30, 41, 59, 0.8) 100%);
  border-color: rgba(96, 165, 250, 0.3);
}

:root:not([data-theme="light"]) .wp-mobile-action-card-header strong {
  color: #ffffff;
}

:root:not([data-theme="light"]) .wp-mobile-action-card-header p {
  color: #cbd5e1;
}

:root:not([data-theme="light"]) .wp-mobile-step-item {
  color: #cbd5e1;
}

:root:not([data-theme="light"]) .wp-mobile-step-highlight {
  color: #ffffff;
}

:root:not([data-theme="light"]) .wp-qr-section {
  background: rgba(4, 10, 8, 0.5);
  border-color: rgba(255, 255, 255, 0.15);
}

:root:not([data-theme="light"]) .wp-qr-url-hint {
  color: #cbd5e1;
}

:root:not([data-theme="light"]) .wp-mobile-modal-footer {
  background: rgba(4, 10, 8, 0.8);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: #cbd5e1;
}
/* MobileAppBanner.css */
.wp-mobile-banner {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  color: #ffffff;
  padding: 0.65rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 0.875rem;
  position: relative;
  z-index: 100;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  animation: wpBannerSlideDown 0.25s ease-out;
}

@keyframes wpBannerSlideDown {
  from {
    transform: translateY(-100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}

.wp-mobile-banner-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex: 1;
  min-width: 0;
}

.wp-mobile-banner-icon {
  font-size: 1.35rem;
  flex-shrink: 0;
}

.wp-mobile-banner-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.wp-mobile-banner-title {
  font-weight: 600;
  color: #f8fafc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 0.85rem;
}

.wp-mobile-banner-subtitle {
  font-size: 0.75rem;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wp-mobile-banner-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.wp-mobile-banner-btn {
  background: #2563eb;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  transition: background 0.15s ease;
  white-space: nowrap;
}

.wp-mobile-banner-btn:hover {
  background: #1d4ed8;
}

.wp-mobile-banner-btn-secondary {
  background: rgba(255, 255, 255, 0.1);
  color: #f1f5f9;
}

.wp-mobile-banner-btn-secondary:hover {
  background: rgba(255, 255, 255, 0.2);
}

.wp-mobile-banner-close {
  background: transparent;
  border: none;
  color: #94a3b8;
  font-size: 1.15rem;
  cursor: pointer;
  padding: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}

.wp-mobile-banner-close:hover {
  color: #ffffff;
}

@media (max-width: 480px) {
  .wp-mobile-banner {
    padding: 0.5rem 0.75rem;
  }
  .wp-mobile-banner-subtitle {
    display: none;
  }
}
.wp-auth-layout {
  height: 100vh;
  width: 100%;
  background-color: var(--wp-color-bg);
}

.wp-auth-layout__columns {
  height: 100%;
  gap: 0;
  align-items: stretch;
}

/* Compound selector (higher specificity than TwoColumnLayout's own single-class
   rules) so this auth-specific 48/52 split reliably overrides the shared
   component's default ratio, regardless of CSS bundling/import order. */
.wp-auth-layout__columns.wp-two-column--1-1 {
  grid-template-columns: 48% 52%;
}

.wp-auth-layout__side {
  height: 100%;
}

.wp-auth-layout__main {
  height: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 4vw, 64px);
  background: radial-gradient(circle at 60% 30%, rgba(11, 98, 79, 0.18) 0%, rgba(6, 18, 14, 0.98) 75%);
}

.wp-auth-layout__card {
  width: 100%;
  max-width: 500px;
  padding: clamp(32px, 4vw, 48px);
  margin-bottom: 0;
  background: rgba(8, 24, 18, 0.78);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-dialog);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), 0 0 30px rgba(0, 255, 135, 0.08);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
}

[data-theme="light"] .wp-auth-layout {
  background-color: #f8fafc;
}

[data-theme="light"] .wp-auth-layout__main {
  background: radial-gradient(circle at 60% 30%, rgba(16, 185, 129, 0.08) 0%, #f1f5f9 75%);
}

[data-theme="light"] .wp-auth-layout__card {
  background: #ffffff;
  border-color: #e2e8f0;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.04);
}

@media (max-width: 1024px) {
  .wp-auth-layout__columns.wp-two-column--1-1 {
    grid-template-columns: 42% 58%;
  }

  .wp-auth-layout__card {
    padding: var(--wp-space-xl);
  }
}

@media (max-width: 768px) {
  .wp-auth-layout {
    height: auto;
    min-height: 100vh;
  }

  .wp-auth-layout__columns.wp-two-column--1-1 {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 100vh;
  }

  .wp-auth-layout__side {
    min-height: 45vh;
  }

  .wp-auth-layout__main {
    height: auto;
    padding: var(--wp-space-lg);
  }
}
.wp-login-form {
  display: flex;
  flex-direction: column;
}

.wp-login-form__links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--wp-space-sm);
  margin-top: var(--wp-space-lg);
  font-size: var(--wp-font-size-sm);
}

.wp-login-form__link {
  color: var(--wp-color-accent-cyan, #00ff87);
  text-decoration: none;
  font-weight: 600;
  transition: color var(--wp-transition-fast);
}

.wp-login-form__link:hover {
  color: #34d399;
  text-decoration: underline;
}

[data-theme="light"] .wp-login-form__link {
  color: #0b624f;
}

[data-theme="light"] .wp-login-form__link:hover {
  color: #047857;
}

.wp-login-form__divider {
  color: var(--wp-color-text-dim, #94a3b8);
}
/* Sign-in entry: a quiet split canvas, with authentication first. */
.wp-login-page.wp-auth-layout { height: auto; min-height: 100svh; }
.wp-login-page .wp-auth-layout__columns { min-height: 100svh; height: auto; }
.wp-login-page .wp-auth-layout__columns.wp-two-column--1-1 { grid-template-columns: 51% 49%; }
.wp-login-page .wp-auth-layout__main { position: relative; height: auto; min-height: 100svh; min-width: 0; padding: 88px clamp(24px, 4vw, 64px) 48px; background: var(--wp-color-bg); }
.wp-login-page .wp-auth-layout__card { max-width: 480px; padding: 32px; }
.wp-login-theme { position: absolute; top: max(24px, env(safe-area-inset-top)); right: max(24px, env(safe-area-inset-right)); }
.wp-login-page .wp-page-header { margin-bottom: 28px; padding: 0; }
.wp-login-page .wp-page-header__title { font-size: 36px; line-height: 1.15; letter-spacing: -.025em; }
.wp-login-page .wp-page-header__subtitle { margin-top: 8px; color: var(--wp-color-text-muted); }
.wp-login-page input:is([name='loginId'], [name='password']) { background-image: none; padding-left: 14px; color: var(--wp-color-text); min-height: 48px; }
.wp-login-page .wp-login-form > .wp-button { min-height: 48px; margin-top: 8px; }
.wp-login-page .wp-login-form__links { margin-top: 12px; }
.wp-login-page .wp-login-form__link { display: inline-flex; align-items: center; min-height: 44px; color: var(--wp-color-primary); }
.wp-login-destinations { display: grid; gap: 10px; border-top: 1px solid var(--wp-color-border); padding-top: 24px; margin-top: 20px; }
.wp-login-destination { display: grid; grid-template-columns: 32px minmax(0, 1fr) 18px; align-items: center; gap: 12px; min-height: 56px; padding: 10px 12px; border: 1px solid var(--wp-color-border); border-radius: 10px; color: var(--wp-color-text); text-decoration: none; font-size: 13px; font-weight: 500; line-height: 1.4; }
.wp-login-destination:hover { background: var(--wp-color-hover); border-color: var(--wp-color-primary); }
.wp-login-destination__icon { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 8px; background: var(--wp-color-primary-soft); color: var(--wp-color-primary); }
.wp-login-page .wp-auth-side-panel { min-height: 100%; height: 100%; padding: clamp(32px, 4vw, 64px); background: var(--wp-color-primary-soft); color: var(--wp-color-text); }
.wp-login-page .wp-auth-side-panel__zones { min-height: 100%; gap: 0; }
.wp-login-page .wp-auth-side-panel__logo { color: var(--wp-color-primary); }
.wp-login-page .wp-auth-side-panel__logo-text { color: var(--wp-color-text); -webkit-text-fill-color: currentColor; font-size: 24px; font-weight: 600; letter-spacing: -.03em; }
.wp-login-page .wp-auth-side-panel__workspace-label { margin-top: 20px; background: var(--wp-color-surface); color: var(--wp-color-primary); border-color: var(--wp-color-border); font-size: 11px; font-weight: 600; letter-spacing: .14em; }
.wp-login-page .wp-auth-side-panel__content { margin-top: clamp(48px, 10vh, 112px); }
.wp-login-page .wp-auth-side-panel__heading { color: var(--wp-color-text); font-size: clamp(36px, 3.65vw, 56px); line-height: 1.12; letter-spacing: -.035em; }
.wp-login-page .wp-auth-side-panel__description { max-width: 440px; color: var(--wp-color-text-muted); font-size: 16px; line-height: 1.65; margin-top: 24px; }
.wp-login-page .wp-auth-side-panel__watermark,
.wp-login-page .wp-auth-side-panel__pattern,
.wp-login-page .wp-auth-side-panel::after { display: none; }
.wp-login-page .wp-workspace-explorer { margin-top: auto; margin-bottom: 0; max-width: 480px; background: var(--wp-color-surface); padding: 24px; }
.wp-login-page .wp-auth-side-panel__content + .wp-workspace-explorer { margin-top: 48px; }
.wp-login-page .wp-workspace-explorer__label { color: var(--wp-color-text); font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.wp-login-page .wp-workspace-explorer summary { min-height: 44px; box-sizing: border-box; padding: 12px 0; font-size: 14px; }
@media (max-width: 900px) {
  .wp-login-page .wp-auth-layout__columns.wp-two-column--1-1 { grid-template-columns: 1fr; }
  .wp-login-page .wp-auth-layout__side { min-height: 0; }
  .wp-login-page .wp-auth-side-panel { height: auto; padding: 32px 24px; border-right: 0; border-bottom: 1px solid var(--wp-color-border); }
  .wp-login-page .wp-auth-side-panel__content { margin-top: 32px; }
  .wp-login-page .wp-auth-side-panel__heading { font-size: 36px; }
  .wp-login-page .wp-auth-side-panel__description { font-size: 15px; }
  .wp-login-page .wp-auth-side-panel__content + .wp-workspace-explorer { margin-top: 24px; max-width: none; padding: 16px; }
  .wp-login-page .wp-auth-layout__main { min-height: 0; padding: 80px 16px max(32px, env(safe-area-inset-bottom)); }
  .wp-login-page .wp-auth-layout__card { padding: 24px; }
}
.wp-forgot-password-form {
  display: flex;
  flex-direction: column;
}

.wp-forgot-password-form__help {
  margin: var(--wp-space-md) 0 0;
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-sm);
  line-height: 1.55;
  text-align: center;
}

.wp-forgot-password-form__link {
  align-self: center;
  margin-top: var(--wp-space-lg);
  color: var(--wp-color-accent-cyan, #00ff87);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--wp-transition-fast);
}

.wp-forgot-password-form__link:hover {
  color: #34d399;
  text-decoration: underline;
}

[data-theme="light"] .wp-forgot-password-form__link {
  color: #0b624f;
}

[data-theme="light"] .wp-forgot-password-form__link:hover {
  color: #047857;
}
.wp-reset-password-form {
  display: flex;
  flex-direction: column;
}

.wp-reset-password-form__code-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--wp-space-sm);
  align-items: start;
}

.wp-reset-password-form__code-row .wp-button {
  margin-top: 28px;
  min-width: 118px;
}

.wp-reset-password-form__verified {
  margin: calc(var(--wp-space-sm) * -1) 0 var(--wp-space-md);
  color: var(--wp-color-success, #287a5b);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
}

.wp-reset-password-form__links {
  display: flex;
  justify-content: center;
  gap: var(--wp-space-sm);
  margin-top: var(--wp-space-lg);
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-sm);
}

.wp-reset-password-form__links a {
  color: var(--wp-color-accent-cyan, #00ff87);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--wp-transition-fast);
}

.wp-reset-password-form__links a:hover {
  color: #34d399;
  text-decoration: underline;
}

[data-theme="light"] .wp-reset-password-form__links a {
  color: #0b624f;
}

[data-theme="light"] .wp-reset-password-form__links a:hover {
  color: #047857;
}

@media (max-width: 480px) {
  .wp-reset-password-form__code-row {
    grid-template-columns: 1fr;
  }

  .wp-reset-password-form__code-row .wp-button {
    margin-top: 0;
    margin-bottom: var(--wp-space-md);
  }
}
.wp-reset-password-page__missing-email {
  display: flex;
  flex-direction: column;
}

.wp-reset-password-page__link {
  align-self: flex-start;
  margin-top: var(--wp-space-lg);
  color: var(--wp-color-accent-cyan, #00ff87);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  text-decoration: none;
  transition: color var(--wp-transition-fast);
}

.wp-reset-password-page__link:hover {
  color: #34d399;
  text-decoration: underline;
}

[data-theme="light"] .wp-reset-password-page__link {
  color: #0b624f;
}

[data-theme="light"] .wp-reset-password-page__link:hover {
  color: #047857;
}
/* The conversation is the panel's only scrolling region. */
.wp-chatbot-window {
  --wp-color-primary:#064E3B; --wp-color-primary-deep:#064E3B;
  --wp-color-primary-soft:#e5f3e9; --wp-color-surface:#F5F1E8;
  --wp-color-text:#203e33; --wp-color-text-muted:#64756b; --wp-color-border:#064e3b20;
  position:fixed; right:max(16px,env(safe-area-inset-right)); bottom:calc(88px + env(safe-area-inset-bottom));
  width:min(400px,calc(100vw - 32px)); height:640px;
  max-height:calc(100dvh - 104px - env(safe-area-inset-bottom) - env(safe-area-inset-top));
  z-index:1100; display:flex; flex-direction:column; overflow:hidden;
  border:1px solid var(--wp-color-border); border-radius:22px; background:#F5F1E8; color:var(--wp-color-text);
  font-family:var(--wp-font-sans); box-shadow:0 16px 56px #063b2d26,0 3px 12px #063b2d10;
  opacity:0; visibility:hidden; transform:translateY(10px) scale(.98); transform-origin:bottom right;
  transition:opacity 200ms,transform 200ms,visibility 200ms;
}
.wp-chatbot-window.is-open { opacity:1; visibility:visible; transform:none; }
.wp-chatbot-window button { font-family:inherit; cursor:pointer; }
.wp-chatbot-window button:disabled { opacity:.5; cursor:wait; }
.wp-chatbot-window :focus-visible { outline:2px solid #218260; outline-offset:3px; }
.wp-chatbot-header { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; background:#064E3B; color:#fffdf7; }
.wp-chatbot-header__info { display:flex; align-items:center; gap:10px; min-width:0; }
.wp-chatbot-header__avatar { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:50%; background:#ffffff10; }
.wp-chatbot-header__avatar img { width:36px; height:36px; object-fit:contain; }
.wp-chatbot-header__title { display:flex; flex-direction:column; gap:4px; }
.wp-chatbot-header__title strong { font-size:14px; font-weight:600; }
.wp-chatbot-header__title small { display:flex; align-items:center; gap:5px; font-size:10px; color:#c1e8d3; }
.wp-chatbot-online { width:5px; height:5px; border-radius:50%; background:#A7F3D0; }
.wp-chatbot-header__actions { display:flex; gap:4px; }
.wp-chatbot-header__btn { display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:10px; background:transparent; color:#f5f1e8; font-size:25px; }
.wp-chatbot-header__btn:hover { background:#ffffff14; }
.wp-chatbot-header :focus-visible { outline-color:#A7F3D0; }
.wp-chatbot-menu { position:relative; }
.wp-chatbot-menu__popover { position:absolute; right:0; top:calc(100% + 8px); z-index:2; width:160px; padding:5px; border:1px solid #064e3b20; border-radius:12px; background:#fffdf7; box-shadow:0 6px 24px #064e3b26; }
.wp-chatbot-menu__popover button { display:flex; align-items:center; gap:8px; width:100%; min-height:42px; padding:10px; border:0; border-radius:8px; background:transparent; color:#064E3B; text-align:left; font-size:12px; }
.wp-chatbot-menu__popover button:hover { background:#e5f3e9; }
.wp-chatbot-suggestions { flex-shrink:0; display:flex; align-items:center; gap:6px; padding:10px 14px; border-bottom:1px solid var(--wp-color-border); background:#fbf9f3; }
.wp-chatbot-suggestion-chip { min-width:0; flex:1; min-height:36px; padding:7px 9px; border:1px solid #064e3b22; border-radius:10px; background:#fffdf8; color:#064E3B; font-size:11px; line-height:1.35; }
.wp-chatbot-suggestion-chip:hover { background:#e5f3e9; }
.wp-chatbot-feed { flex:1; min-height:0; overflow-y:auto; overflow-x:hidden; padding:18px 14px; display:flex; flex-direction:column; gap:18px; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#bac8bc transparent; }
.wp-chatbot-welcome { text-align:center; }
.wp-chatbot-welcome > span { font-size:9px; font-weight:600; letter-spacing:.12em; color:#64756b; }
.wp-chatbot-welcome h2 { margin:9px 0 7px; font-size:19px; line-height:1.35; font-weight:600; letter-spacing:-.025em; }
.wp-chatbot-welcome p { margin:0; font-size:12px; line-height:1.6; color:#64756b; }
.wp-chatbot-welcome img { display:block; width:142px; height:124px; object-fit:contain; }
.wp-chatbot-welcome-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:20px 0 16px; }
.wp-chatbot-welcome-cards button { display:flex; flex-direction:column; gap:7px; min-height:88px; padding:12px; border:1px solid #064e3b20; border-radius:13px; background:#fffdf8; color:#064E3B; text-align:left; transition:background 180ms,border-color 180ms; }
.wp-chatbot-welcome-cards button:hover { background:#eaf5eb; border-color:#76b99b; }
.wp-chatbot-welcome-cards strong { display:flex; align-items:start; justify-content:space-between; gap:5px; font-size:12px; line-height:1.4; font-weight:600; }
.wp-chatbot-welcome-cards strong > span { color:#388362; }
.wp-chatbot-welcome-cards button > span { font-size:10px; line-height:1.5; color:#64756b; }
.wp-chatbot-welcome .wp-chatbot-disclaimer { max-width:290px; margin:auto; font-size:10px; line-height:1.6; }
.wp-chatbot-message { display:flex; flex-direction:column; max-width:88%; min-width:0; }
.wp-chatbot-message--user { align-self:flex-end; }
.wp-chatbot-bubble { padding:12px 14px; border:1px solid #064e3b18; border-radius:16px 16px 16px 4px; background:#fffdf8; font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.wp-chatbot-message--user .wp-chatbot-bubble { background:#064E3B; color:#fffdf7; border-radius:16px 16px 4px 16px; }
.wp-chatbot-message__time { display:block; margin-top:5px; color:#64756b; font-size:9px; line-height:1.4; }
.wp-chatbot-message--user .wp-chatbot-message__time { align-self:flex-end; }
.wp-chatbot-actions { display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.wp-chatbot-action-btn { display:flex; justify-content:space-between; align-items:center; gap:8px; min-height:42px; padding:10px 12px; border:1px solid #064e3b20; border-radius:10px; background:#eaf3e9; color:#064E3B; font-size:11px; font-weight:600; text-align:left; }
.wp-chatbot-action-btn:hover { background:#dceee0; }
.wp-chatbot-action-btn svg { flex-shrink:0; }
.wp-chatbot-typing { display:flex; align-items:center; gap:6px; min-height:36px; }
.wp-chatbot-typing-dot { width:5px; height:5px; border-radius:50%; background:#388362; animation:wpTypingPulse 1.2s infinite ease-in-out; }
.wp-chatbot-typing-dot:nth-last-child(2) { animation-delay:.15s; }
.wp-chatbot-typing-dot:last-child { animation-delay:.3s; }
@keyframes wpTypingPulse { 0%,100% { opacity:.35; transform:translateY(0); } 50% { opacity:1; transform:translateY(-3px); } }
.wp-chatbot-input-form { flex-shrink:0; display:flex; align-items:center; gap:8px; padding:12px; border-top:1px solid #064e3b20; background:#fbf9f3; }
.wp-chatbot-input { flex:1; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #064e3b26; border-radius:12px; background:#fffdf8; color:#203e33; font:12px/1.5 var(--wp-font-sans); }
.wp-chatbot-input::placeholder { color:#6c7b70; }
.wp-chatbot-send-btn { display:grid; place-items:center; flex:0 0 42px; width:42px; height:42px; border:0; border-radius:12px; background:#064E3B; color:#fffdf7; }
.wp-chatbot-send-btn:hover:not(:disabled) { background:#106747; }
@media(max-width:640px) { .wp-chatbot-input { font-size:16px; } }
@media(max-height:600px) { .wp-chatbot-welcome .wp-assistant-mascot { display:none; } }
@media(prefers-reduced-motion:reduce) { .wp-chatbot-window,.wp-chatbot-welcome-cards button { transition:none; } .wp-chatbot-typing-dot { animation:none; } }

/* Interactive panel mascot: pointer tilt, a greeting, and conversation feedback. */
.wp-assistant-mascot { display:grid; justify-items:center; margin-bottom:12px; }
.wp-chatbot-window .wp-assistant-mascot__button { position:relative; display:grid; place-items:center; width:166px; height:134px; padding:0; border:0; border-radius:24px; background:transparent; cursor:pointer; perspective:500px; -webkit-tap-highlight-color:transparent; }
.wp-chatbot-window .wp-assistant-mascot__button:hover { background:transparent; }
.wp-assistant-mascot__character { position:relative; display:block; transform-origin:50% 80%; transition:transform .2s ease-out; }
.wp-assistant-mascot__character img { margin:0; pointer-events:none; user-select:none; }
.wp-assistant-mascot.is-active .wp-assistant-mascot__character { animation:wpMascotWelcome 1.2s ease-in-out; }
.wp-assistant-mascot__button:hover .wp-assistant-mascot__character { transform:rotateX(var(--mascot-y,0deg)) rotateY(var(--mascot-x,0deg)) translateY(-3px); }
.wp-assistant-mascot__button:focus-visible .wp-assistant-mascot__character { transform:translateY(-4px) rotate(-5deg); }
.wp-assistant-mascot.is-active .wp-assistant-mascot__character.is-waving { animation:wpMascotWave 1.3s ease-in-out; }
.wp-assistant-mascot__halo { position:absolute; inset:18px 26px 9px; border-radius:50%; background:radial-gradient(ellipse,#a7f3d070,transparent 70%); transition:box-shadow .25s; }
.wp-assistant-mascot__button:hover .wp-assistant-mascot__halo { box-shadow:0 0 22px #a7f3d040; }
.wp-assistant-mascot__hello { position:absolute; top:0; right:-12px; padding:6px 10px; border:1px solid #a7f3d0; border-radius:12px 12px 12px 2px; background:#fffdf7; color:#064e3b; font-size:10px; opacity:0; transform:translateY(4px); transition:opacity .18s,transform .18s; pointer-events:none; }
.wp-assistant-mascot__hello[data-visible="true"] { opacity:1; transform:translateY(0); }
.wp-assistant-mascot__status { font-size:10px; line-height:1.5; color:#586b60; }
.wp-assistant-mascot.is-active.is-thinking .wp-assistant-mascot__character { animation:wpMascotThink .8s ease-in-out infinite; }
.wp-assistant-mascot.is-active.is-thinking .wp-assistant-mascot__halo { animation:wpMascotGlow 1s ease-in-out infinite; }
.wp-assistant-mascot.is-listening .wp-assistant-mascot__status { color:#064e3b; }
.wp-assistant-mascot.is-listening .wp-assistant-mascot__halo { box-shadow:0 0 20px #a7f3d060; }
@keyframes wpMascotWelcome { 0% { opacity:0; transform:translateY(8px) scale(.94); } 45% { opacity:1; transform:translateY(-5px) rotate(-6deg); } 75% { transform:rotate(4deg); } 100% { transform:none; } }
@keyframes wpMascotWave { 0%,100% { transform:rotate(0); } 20%,60% { transform:translateY(-5px) rotate(-9deg); } 40%,80% { transform:translateY(-3px) rotate(7deg); } }
@keyframes wpMascotThink { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-4px) rotate(2deg); } }
@keyframes wpMascotGlow { 0%,100% { opacity:.5; } 50% { opacity:1; } }
@media(prefers-reduced-motion:reduce) {
  .wp-assistant-mascot .wp-assistant-mascot__character,.wp-assistant-mascot.is-active .wp-assistant-mascot__character,.wp-assistant-mascot.is-active.is-thinking .wp-assistant-mascot__halo { animation:none; transition:none; transform:none; }
  .wp-assistant-mascot__hello { transition:none; }
}
.wp-chatbot-header__avatar.is-thinking img { animation:wpMascotThink .8s ease-in-out infinite; }
@media(prefers-reduced-motion:reduce) { .wp-chatbot-header__avatar.is-thinking img { animation:none; } }

/* Each assistant reply is presented by the mascot, including long answers. */
.wp-chatbot-message--assistant { display:grid; grid-template-columns:44px minmax(0,1fr); align-items:start; column-gap:8px; row-gap:8px; max-width:100%; width:100%; }
.wp-chatbot-message__mascot { position:sticky; top:4px; grid-column:1; grid-row:1 / span 3; display:grid; place-items:center; width:44px; height:50px; border-radius:16px; background:radial-gradient(ellipse,#a7f3d060,transparent 75%); }
.wp-chatbot-message__mascot img { display:block; width:48px; height:48px; object-fit:contain; transform-origin:50% 85%; }
.wp-chatbot-message--assistant .wp-chatbot-bubble,.wp-chatbot-message--assistant .wp-chatbot-actions { grid-column:2; min-width:0; }
.wp-chatbot-message--assistant .wp-chatbot-actions { margin-top:0; }
.wp-chatbot-message__speaker { display:block; margin-bottom:5px; font-size:.65rem; font-weight:700; letter-spacing:.02em; color:#287357; }
.wp-chatbot-message.is-explaining .wp-chatbot-message__mascot img { animation:wpMascotExplain 1.4s ease-in-out 3; }
.wp-chatbot-typing__mascot { width:32px; height:32px; object-fit:contain; animation:wpMascotThink .8s ease-in-out infinite; }
@keyframes wpMascotExplain { 0%,100% { transform:translateY(0) rotate(0); } 30% { transform:translateY(-3px) rotate(-6deg); } 65% { transform:translateY(-1px) rotate(4deg); } }
@media(max-width:360px) { .wp-chatbot-message--assistant { grid-template-columns:34px minmax(0,1fr); column-gap:6px; } .wp-chatbot-message__mascot { width:34px; height:42px; } .wp-chatbot-message__mascot img { width:38px; height:38px; } }
@media(prefers-reduced-motion:reduce) { .wp-chatbot-message.is-explaining .wp-chatbot-message__mascot img,.wp-chatbot-typing__mascot { animation:none; } }

.wp-chatbot-message--assistant .wp-chatbot-message__time { grid-column:2; margin-top:-4px; }

/* Wavi: familiar Waypoint colors, a little more personality. */
.wp-chatbot-window { border-radius:26px; background:radial-gradient(ellipse at top right,#e4f3e5,#F5F1E8 65%); }
.wp-chatbot-brand { margin-left:4px; font-size:10px; font-weight:400; color:#b9dfca; }
.wp-chatbot-header__avatar { position:relative; }
.wp-chatbot-header__avatar.is-thinking .wp-wavi-face { animation:wpMascotThink .8s ease-in-out infinite; }
.wp-chatbot-header__avatar.is-success::after,.wp-chatbot-header__avatar.is-error::after { position:absolute; right:-3px; bottom:-2px; display:grid; place-items:center; width:16px; height:16px; border:2px solid #064E3B; border-radius:50%; font-size:10px; font-weight:700; }
.wp-chatbot-header__avatar.is-success::after { content:'\2713'; background:#A7F3D0; color:#064E3B; animation:wpWaviCelebrate .5s ease-out; }
.wp-chatbot-header__avatar.is-error::after { content:'!'; color:#755525; background:#f4dfb0; }
.wp-chatbot-menu-dots { display:flex; gap:3px; }
.wp-chatbot-menu-dots i { width:3px; height:3px; border-radius:50%; background:currentColor; }
.wp-chatbot-welcome h2 { max-width:285px; margin:8px auto; font-size:22px; line-height:1.35; }
.wp-chatbot-welcome-cards button { border-radius:17px; box-shadow:0 3px 10px #064e3b06; }
.wp-chatbot-welcome-cards button:hover { transform:translateY(-2px); box-shadow:0 6px 16px #064e3b10; }
.wp-chatbot-welcome-cards button { transition:transform 180ms,box-shadow 180ms,background 180ms; }
.wp-chatbot-message--assistant .wp-chatbot-bubble { border-radius:18px 18px 18px 5px; box-shadow:0 3px 10px #064e3b05; }
.wp-chatbot-message__mascot { grid-row:1 / span 5; }
.wp-chatbot-message__source,.wp-chatbot-followups { grid-column:2; font-size:9px; color:#64756b; line-height:1.5; }
.wp-chatbot-followups { display:flex; flex-wrap:wrap; gap:6px; }
.wp-chatbot-followups button { min-height:36px; padding:7px 10px; border:1px solid #85b49c; border-radius:999px; color:#064E3B; background:#edf7ee; font-size:10px; }
.wp-chatbot-message.has-error .wp-chatbot-bubble { border-color:#d7bc87; background:#fffaf0; }
.wp-chatbot-message.has-error .wp-chatbot-message__mascot img { animation:none; }
.wp-chatbot-feedback { flex-shrink:0; padding:0 16px; font-size:11px; line-height:1.5; color:#287357; }
.wp-chatbot-feedback:not(:empty) { padding:8px 16px; }
.wp-chatbot-feedback > span { display:inline-grid; place-items:center; width:19px; height:19px; margin-right:5px; border-radius:50%; background:#a7f3d0; animation:wpWaviCelebrate .5s ease-out; }
.wp-chatbot-window.has-error .wp-chatbot-feedback { color:#755525; }
@keyframes wpWaviCelebrate { 0% { transform:scale(.6) rotate(-15deg); } 65% { transform:scale(1.15) rotate(6deg); } 100% { transform:scale(1) rotate(0); } }
@media(max-width:640px) {
  .wp-chatbot-window { inset:0; width:100%; height:100dvh; max-height:100dvh; border:0; border-radius:0; z-index:1300; padding-top:env(safe-area-inset-top); }
  .wp-chatbot-header { padding:14px 16px; }
  .wp-chatbot-input-form { padding-bottom:max(12px,env(safe-area-inset-bottom)); }
  .wp-chatbot-welcome { max-width:400px; width:100%; margin:auto; }
  body .wp-floating-assistant[aria-expanded="true"] { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .wp-chatbot-welcome-cards button { transition:none; }
  .wp-chatbot-welcome-cards button:hover { transform:none; }
  .wp-chatbot-header__avatar.is-thinking .wp-wavi-face,.wp-chatbot-header__avatar.is-success::after,.wp-chatbot-feedback > span { animation:none; }
}
.wp-chatbot-window { bottom:calc(20px + env(safe-area-inset-bottom)); max-height:calc(100dvh - 40px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
.wp-chatbot-message { animation:wpWaviMessageIn 190ms ease-out; }
.wp-chatbot-bubble { padding:11px 13px; line-height:1.65; }
.wp-chatbot-feed { gap:15px; }
.wp-chatbot-message__mascot.is-greeting img { animation:wpMascotWave 1.3s ease-in-out 1; }
.wp-chatbot-window:not(.is-open) .wp-wavi-face__eyelid { animation:none; }
@keyframes wpWaviMessageIn { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:640px) { .wp-chatbot-window { inset:0; max-height:100dvh; } }
@media(prefers-reduced-motion:reduce) { .wp-chatbot-message,.wp-chatbot-message__mascot.is-greeting img { animation:none; } }
.wp-chatbot-message.is-explaining .wp-chatbot-message__mascot.is-greeting img { animation:wpMascotWave 1.3s ease-in-out 1; }
@media(prefers-reduced-motion:reduce) { .wp-chatbot-message.is-explaining .wp-chatbot-message__mascot.is-greeting img { animation:none; } }
/* ── Waypoint Next-Gen Interactive Experience (Awwwards Caliber) ─────── */

:root {
  --exp-void: var(--wp-color-bg);
  --exp-card-bg: var(--wp-color-surface);
  --exp-card-border: var(--wp-color-border);
  --exp-electric: var(--wp-color-primary);
  --exp-electric-glow: var(--wp-color-primary);
  --exp-cyan: var(--wp-color-primary);
  --exp-emerald: var(--wp-color-primary);
  --exp-amber: var(--wp-color-warning);
  --exp-text: var(--wp-color-text);
  --exp-text-dim: var(--wp-color-text-muted);
  --exp-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.wp-exp-root {
  background-color: var(--exp-void);
  color: var(--exp-text);
  min-height: 100vh;
  font-family: var(--wp-font-sans);
  overflow-x: hidden;
  position: relative;
  selection-background-color: var(--exp-cyan);
  selection-color: var(--exp-void);
}

.wp-exp-root * {
  box-sizing: border-box;
}

/* ── Top Navigation Bar ─────────────────────────────────────────────── */
.wp-exp-nav {
  /* Normal document flow: the header scrolls away with the page. */
  position: static;
  background: var(--wp-color-surface, var(--wp-color-surface));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-bottom: 1px solid var(--wp-color-border, var(--wp-color-border));
  height: 64px;
}

.wp-exp-nav-inner {
  max-width: 1480px;
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wp-exp-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--wp-color-text);
  flex-shrink: 0;
}

.wp-exp-brand-icon {
  width: 32px;
  height: 32px;
  background: var(--wp-color-primary);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--wp-color-primary-contrast);
  box-shadow: none;
}

.wp-exp-brand-name {
  font-weight: 800;
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  background: var(--wp-color-surface);
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

.wp-exp-brand-tag {
  font-size: 0.62rem;
  letter-spacing: 0.15em;
  padding: 2px 5px;
  border-radius: 4px;
  background: var(--wp-color-surface);
  color: var(--exp-cyan);
  border: 1px solid var(--wp-color-border);
  font-weight: 700;
}

.wp-exp-nav-links {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: nowrap;
}

.wp-exp-nav-link {
  color: var(--exp-text-dim);
  text-decoration: none;
  font-size: 0.8rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
  padding: 5px 8px;
  border-radius: 6px;
  border: 1px solid transparent;
  transition: all 0.15s ease;
}

.wp-exp-nav-link:hover {
  color: var(--exp-cyan);
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  transform: translateY(-1px);
}

.wp-exp-nav-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.wp-exp-sound-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 20px;
  padding: 5px 10px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--exp-text);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.wp-exp-sound-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

.wp-exp-theme-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 20px;
  padding: 5px 10px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--exp-text);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.wp-exp-theme-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

.wp-exp-sound-btn--active {
  background: var(--wp-color-surface);
  border-color: var(--exp-emerald);
  color: var(--exp-emerald);
}

.wp-exp-equalizer {
  display: flex;
  align-items: flex-end;
  gap: 2px;
  height: 12px;
}

.wp-exp-eq-bar {
  width: 2px;
  background: currentColor;
  border-radius: 1px;
  height: 4px;
}

.wp-exp-sound-btn--active .wp-exp-eq-bar:nth-child(1) {
  animation: eqBounce 0.7s infinite alternate ease-in-out;
}
.wp-exp-sound-btn--active .wp-exp-eq-bar:nth-child(2) {
  animation: eqBounce 0.5s infinite alternate ease-in-out 0.2s;
}
.wp-exp-sound-btn--active .wp-exp-eq-bar:nth-child(3) {
  animation: eqBounce 0.9s infinite alternate ease-in-out 0.4s;
}

@keyframes eqBounce {
  from { height: 3px; }
  to { height: 12px; }
}

.wp-exp-login-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
  flex-shrink: 0;
}

.wp-exp-login-btn--outline {
  background: transparent;
  color: inherit;
  border: 1px solid var(--exp-electric);
  box-shadow: none;
}

.wp-exp-login-btn:hover {
  transform: translateY(-1px);
  box-shadow: none;
}

/* ── Hero Section (Zero Overlap, Crystal-Clear Typography) ────────────── */
.wp-exp-hero {
  position: relative;
  min-height: 75vh;
  display: flex;
  align-items: center;
  justify-content: center;
  /* 130px minus the 64px header, which now takes its own space in the flow. */
  padding: 66px 24px 60px;
  background: var(--wp-color-primary-soft);
  border-bottom: 1px solid var(--wp-color-border);
}

.wp-exp-hero-content {
  position: relative;
  z-index: 2;
  max-width: 1040px;
  margin: 0 auto;
  text-align: center;
}

/* ── Dedicated 3D Constellation Card & Viewport ───────────────────────── */
.wp-exp-constellation-card {
  background: var(--exp-card-bg);
  border: 1px solid var(--exp-card-border);
  border-radius: 24px;
  overflow: hidden;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
  position: relative;
}

.wp-exp-constellation-hud {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  background: var(--wp-color-surface);
  border-bottom: 1px solid var(--wp-color-border);
  font-family: var(--exp-font-mono);
  font-size: 0.74rem;
  color: var(--exp-text-dim);
}

.wp-exp-constellation-hud-left {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--exp-cyan);
  font-weight: 700;
  letter-spacing: 0.1em;
}

.wp-exp-constellation-live-dot {
  width: 6px;
  height: 6px;
  background: var(--exp-emerald);
  border-radius: 50%;
  box-shadow: none;
  animation: pulseDot 1.5s infinite;
}

.wp-exp-constellation-hud-right {
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  color: var(--exp-text-dim);
}

/* ── Interactive Node Selector Pills Bar ── */
.wp-exp-constellation-pills {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px 18px;
  background: var(--wp-color-surface);
  border-bottom: 1px solid var(--wp-color-border);
}

.wp-exp-node-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--exp-text-dim);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.wp-exp-node-pill:hover {
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  transform: translateY(-1px);
}

.wp-exp-node-pill--active {
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border-color: var(--exp-cyan);
  box-shadow: none;
}

.wp-exp-node-pill-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--exp-cyan);
  box-shadow: none;
  transition: transform 0.2s ease;
}

.wp-exp-node-pill--active .wp-exp-node-pill-dot {
  background: var(--exp-emerald);
  box-shadow: none;
  transform: scale(1.3);
}

.wp-exp-constellation-viewport {
  width: 100%;
  height: 520px;
  position: relative;
  background: var(--wp-color-surface);
}

.wp-experience__canvas-wrap {
  width: 100%;
  height: 100%;
  position: relative;
}

.wp-experience__canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.wp-experience__canvas-hint {
  position: absolute;
  bottom: 14px;
  right: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--wp-color-surface);
  backdrop-filter: none;
  padding: 6px 14px;
  border-radius: 20px;
  font-size: 0.74rem;
  color: var(--exp-text-dim);
  border: 1px solid var(--wp-color-border);
  pointer-events: none;
}

.wp-experience__hint-dot {
  width: 6px;
  height: 6px;
  background: var(--exp-cyan);
  border-radius: 50%;
  box-shadow: none;
  animation: pulseDot 2s infinite ease-in-out;
}

/* Node Inspector Drawer */
.wp-exp-node-inspector {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 24px;
  background: var(--wp-color-surface);
  border-top: 1px solid var(--wp-color-border);
  animation: fadeIn 0.2s ease-out;
}

.wp-exp-node-inspector-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--wp-color-primary-soft);
  border: 1px solid var(--exp-cyan);
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 0.68rem;
  font-weight: 800;
  color: var(--exp-cyan);
  letter-spacing: 0.14em;
  white-space: nowrap;
}

.wp-exp-node-inspector-dot {
  width: 5px;
  height: 5px;
  background: var(--exp-emerald);
  border-radius: 50%;
}

.wp-exp-node-inspector-body {
  flex: 1;
}

.wp-exp-node-inspector-title {
  display: block;
  font-size: 1rem;
  color: var(--wp-color-text);
  margin-bottom: 2px;
}

.wp-exp-node-inspector-desc {
  font-size: 0.86rem;
  color: var(--exp-text-dim);
  margin: 0;
  line-height: 1.4;
}

.wp-exp-node-inspector-action {
  display: flex;
  align-items: center;
}

.wp-exp-node-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 8px 16px;
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--wp-color-text);
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.wp-exp-node-action-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--exp-cyan);
  box-shadow: none;
  transform: translateY(-1px);
}

.wp-exp-node-actions-group {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.wp-exp-node-action-btn--secondary {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.wp-exp-node-action-btn--secondary:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.wp-exp-node-inspector-dismiss {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  color: var(--wp-color-text);
  padding: 6px 12px;
  font-size: 0.8rem;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}

.wp-exp-node-inspector-dismiss:hover {
  background: var(--wp-color-surface);
  border-color: var(--exp-cyan);
}

.wp-exp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--wp-color-primary-soft);
  border: 1px solid var(--wp-color-border);
  padding: 6px 14px;
  border-radius: 30px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  color: var(--exp-cyan);
  margin-bottom: 24px;
  box-shadow: none;
}

.wp-exp-eyebrow-pulse {
  width: 6px;
  height: 6px;
  background: var(--exp-emerald);
  border-radius: 50%;
  box-shadow: none;
}

.wp-exp-title {
  font-size: clamp(2.4rem, 6.2vw, 5.2rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 24px;
  color: var(--wp-color-text);
  text-transform: uppercase;
}

.wp-exp-title-gradient {
  background: var(--wp-color-surface);
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
  display: inline-block;
  text-shadow: none;
}

.wp-exp-lead {
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  line-height: 1.6;
  color: var(--exp-text-dim);
  max-width: 760px;
  margin: 0 auto 36px;
}

.wp-exp-hero-ctas {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 56px;
}

.wp-exp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 30px;
  font-weight: 700;
  font-size: 0.94rem;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.wp-exp-btn--primary {
  background: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
  box-shadow: none;
  border: 1px solid var(--wp-color-border);
}

.wp-exp-btn--primary:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: none;
}

.wp-exp-btn--secondary {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
  backdrop-filter: none;
}

.wp-exp-btn--secondary:hover {
  background: var(--wp-color-surface);
  border-color: var(--exp-cyan);
  color: var(--exp-cyan);
  transform: translateY(-2px);
}

.wp-exp-selected-node-chip {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--wp-color-surface);
  border: 1px solid var(--exp-cyan);
  border-radius: 20px;
  padding: 6px 14px;
  font-size: 0.82rem;
  color: var(--exp-cyan);
  margin-bottom: 32px;
  box-shadow: none;
  animation: fadeIn 0.25s ease-out;
}

.wp-exp-selected-node-pulse {
  width: 7px;
  height: 7px;
  background: var(--exp-emerald);
  border-radius: 50%;
  box-shadow: none;
  animation: pulseDot 1.5s infinite;
}

.wp-exp-selected-node-close {
  background: none;
  border: none;
  color: var(--wp-color-text);
  font-size: 1.1rem;
  cursor: pointer;
  padding: 0 2px;
  line-height: 1;
  opacity: 0.7;
}

.wp-exp-selected-node-close:hover {
  opacity: 1;
}

/* Stats Strip */
.wp-exp-stats-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}

.wp-exp-stat-box {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 16px 12px;
  backdrop-filter: none;
}

.wp-exp-stat-num {
  display: block;
  font-size: 1.7rem;
  font-weight: 800;
  color: var(--exp-cyan);
  letter-spacing: -0.02em;
  font-family: var(--exp-font-mono);
}

.wp-exp-stat-label {
  font-size: 0.74rem;
  color: var(--exp-text-dim);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ── Kinetic Moving Banner / Ticker ──────────────────────────────────── */
.wp-exp-ticker {
  position: relative;
  width: 100%;
  overflow: hidden;
  white-space: nowrap;
  padding: 14px 0;
  background: var(--wp-color-surface);
  border-top: 1px solid var(--wp-color-border);
  border-bottom: 1px solid var(--wp-color-border);
  box-shadow: none;
  mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 3%, #000 97%, transparent 100%);
  user-select: none;
  z-index: 10;
}

.wp-exp-ticker:hover .wp-exp-ticker-track {
  animation-play-state: paused;
}

.wp-exp-ticker-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  width: max-content;
  align-items: center;
  gap: 24px;
  animation: tickerScroll 36s linear infinite !important;
  will-change: transform;
}

.wp-exp-ticker-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 6px 16px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.84rem;
  letter-spacing: 0.12em;
  color: var(--wp-color-text);
  text-transform: uppercase;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  cursor: default;
}

.wp-exp-ticker-item:hover {
  transform: translateY(-2px) scale(1.03);
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.wp-exp-ticker-spark {
  color: var(--wp-color-text);
  font-size: 0.85rem;
  line-height: 1;
  text-shadow: none;
  animation: sparkPulse 2s ease-in-out infinite alternate;
}

@keyframes sparkPulse {
  0% { transform: scale(0.9); opacity: 0.7; }
  100% { transform: scale(1.15); opacity: 1; filter: drop-shadow(0 0 4px #34d399); }
}

@keyframes tickerScroll {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(-50%, 0, 0);
  }
}

/* ── Common Section Structure ───────────────────────────────────────── */
.wp-exp-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 96px 24px;
  position: relative;
}

.wp-exp-section--alt {
  background: var(--wp-color-surface);
}

.wp-exp-section-header {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 52px;
}

.wp-exp-section-num {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  color: var(--exp-cyan);
  text-transform: uppercase;
  display: block;
  margin-bottom: 12px;
}

.wp-exp-section-title {
  font-size: clamp(1.8rem, 3.8vw, 2.8rem);
  font-weight: 800;
  color: var(--wp-color-text);
  letter-spacing: -0.02em;
  margin: 0 0 16px;
}

.wp-exp-section-desc {
  font-size: 1.05rem;
  line-height: 1.6;
  color: var(--exp-text-dim);
  margin: 0;
}

.wp-exp-section-card {
  background: var(--exp-card-bg);
  border: 1px solid var(--exp-card-border);
  border-radius: 24px;
  padding: 36px;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none;
}

/* ── 01. Timesheet Simulator Styling ────────────────────────────────── */
.wp-sim-card {
  position: relative;
}

.wp-sim-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 28px;
}

.wp-sim-badge {
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  background: var(--wp-color-primary-soft);
  color: var(--exp-cyan);
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 8px;
}

.wp-sim-title {
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--wp-color-text);
}

.wp-sim-desc {
  color: var(--exp-text-dim);
  font-size: 0.92rem;
  margin: 0;
  max-width: 640px;
}

.wp-sim-presets {
  display: flex;
  gap: 8px;
}

.wp-sim-preset-btn {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--exp-text);
  padding: 6px 12px;
  border-radius: 8px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.wp-sim-preset-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--exp-cyan);
  color: var(--exp-cyan);
}

.wp-sim-metrics-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 20px;
}

.wp-sim-metric {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 14px;
  text-align: center;
}

.wp-sim-metric-label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--exp-text-dim);
  margin-bottom: 4px;
}

.wp-sim-metric-value {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--wp-color-text);
  font-family: var(--exp-font-mono);
}

.wp-sim-metric-value small {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--exp-text-dim);
  margin-left: 2px;
}

.wp-sim-metric-value--cyan {
  color: var(--exp-cyan);
}

.wp-sim-metric-value--gold {
  color: var(--exp-amber);
  animation: pulseGold 1.5s infinite alternate ease-in-out;
}

.wp-sim-metric-value--emerald {
  color: var(--exp-emerald);
}

@keyframes pulseGold {
  from { opacity: 0.8; }
  to { opacity: 1; text-shadow: none; }
}

.wp-sim-bar-wrap {
  position: relative;
  height: 10px;
  background: var(--wp-color-surface);
  border-radius: 6px;
  margin-bottom: 28px;
  overflow: visible;
}

.wp-sim-bar-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.wp-sim-bar-marker {
  position: absolute;
  top: -20px;
  transform: translateX(-50%);
  font-size: 0.68rem;
  color: var(--exp-cyan);
  font-family: var(--exp-font-mono);
  display: flex;
  flex-direction: column;
  align-items: center;
}

.wp-sim-sliders-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 12px;
  margin-bottom: 28px;
}

.wp-sim-day-cell {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.15s ease;
}

.wp-sim-day-cell--ot {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
}

.wp-sim-day-header {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-bottom: 8px;
}

.wp-sim-day-name {
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--exp-text-dim);
}

.wp-sim-day-val {
  font-size: 0.88rem;
  font-weight: 800;
  font-family: var(--exp-font-mono);
  color: var(--exp-cyan);
}

.wp-sim-day-cell--ot .wp-sim-day-val {
  color: var(--exp-amber);
}

.wp-sim-slider {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--wp-color-surface);
  outline: none;
  cursor: pointer;
  margin: 6px 0 10px;
  accent-color: var(--exp-cyan);
}

.wp-sim-day-tag {
  font-size: 0.65rem;
  color: var(--exp-text-dim);
}

.wp-sim-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  padding-top: 20px;
  border-top: 1px solid var(--wp-color-border);
}

.wp-sim-audit-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.82rem;
  color: var(--exp-text);
  background: var(--wp-color-surface);
  padding: 6px 14px;
  border-radius: 20px;
  border: 1px solid var(--wp-color-border);
}

.wp-sim-audit-dot {
  width: 7px;
  height: 7px;
  background: var(--exp-emerald);
  border-radius: 50%;
  box-shadow: none;
}

.wp-sim-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wp-sim-approve-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-weight: 800;
  font-size: 0.88rem;
  padding: 10px 20px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  box-shadow: none;
  transition: all 0.2s ease;
}

.wp-sim-approve-btn:hover {
  transform: translateY(-2px);
  box-shadow: none;
}

.wp-sim-portal-link {
  color: var(--exp-cyan);
  text-decoration: none;
  font-size: 0.86rem;
  font-weight: 600;
  transition: opacity 0.15s ease;
}

.wp-sim-portal-link:hover {
  text-decoration: underline;
  opacity: 0.85;
}

/* Approval Wax Stamp Overlay */
.wp-sim-stamp-overlay {
  position: absolute;
  inset: 0;
  background: var(--wp-color-surface);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: stampFadeIn 0.25s ease-out;
  z-index: 20;
  padding: 24px;
  cursor: pointer;
}

@keyframes stampFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.wp-sim-stamp-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  cursor: default;
  max-width: 540px;
  width: 100%;
}

.wp-sim-stamp-close-btn {
  position: absolute;
  top: -14px;
  right: -10px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  z-index: 22;
  box-shadow: none;
}

.wp-sim-stamp-close-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
  transform: scale(1.12);
  box-shadow: none;
}

.wp-sim-stamp {
  border: 3px dashed var(--exp-emerald);
  border-radius: 16px;
  padding: 24px 36px;
  background: var(--wp-color-surface);
  box-shadow: none;
  text-align: center;
  transform: rotate(-3deg);
  animation: stampImpact 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes stampImpact {
  0% { transform: scale(2.2) rotate(15deg); opacity: 0; }
  100% { transform: scale(1) rotate(-3deg); opacity: 1; }
}

.wp-sim-stamp-ring {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wp-sim-stamp-text {
  font-size: 0.75rem;
  letter-spacing: 0.24em;
  color: var(--exp-emerald);
  font-weight: 800;
}

.wp-sim-stamp-badge {
  font-size: 2rem;
  font-weight: 900;
  color: var(--wp-color-text);
  letter-spacing: 0.04em;
}

.wp-sim-stamp-date {
  font-size: 0.75rem;
  color: var(--exp-text-dim);
  font-family: var(--exp-font-mono);
}

.wp-sim-stamp-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
  z-index: 21;
}

.wp-sim-stamp-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border: none;
  border-radius: 20px;
  padding: 9px 20px;
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: none;
  transition: all 0.2s ease;
}

.wp-sim-stamp-back-btn:hover {
  transform: translateY(-2px);
  box-shadow: none;
  background: var(--wp-color-surface);
}

.wp-sim-stamp-reset-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  border-radius: 20px;
  padding: 8px 18px;
  font-size: 0.84rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wp-sim-stamp-reset-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  transform: translateY(-1px);
}

.wp-sim-stamp-portal-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  text-decoration: none;
  border-radius: 20px;
  padding: 8px 18px;
  font-size: 0.84rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.wp-sim-stamp-portal-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--exp-cyan);
  box-shadow: none;
  transform: translateY(-1px);
}

.wp-sim-stamp-hint {
  font-size: 0.76rem;
  color: var(--exp-text-dim);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  opacity: 0.85;
}

.wp-sim-stamp-hint kbd {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 4px;
  padding: 1px 6px;
  font-size: 0.7rem;
  font-family: var(--exp-font-mono);
  color: var(--exp-cyan);
}

/* ── 02. Workforce Radar Styling ─────────────────────────────────────── */
.wp-radar-wrap {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.wp-radar-heading {
  text-align: left;
}

.wp-radar-badge {
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  background: var(--wp-color-primary-soft);
  color: var(--exp-cyan);
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 8px;
}

.wp-radar-title {
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--wp-color-text);
}

.wp-radar-desc {
  color: var(--exp-text-dim);
  font-size: 0.92rem;
  margin: 0;
}

.wp-radar-nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.wp-radar-tab {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 12px;
  text-align: left;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wp-radar-tab:hover {
  border-color: var(--wp-color-border);
}

.wp-radar-tab--active {
  background: var(--wp-color-surface);
  border-color: var(--tab-accent);
  box-shadow: none;
}

.wp-radar-tab-tag {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--exp-text-dim);
}

.wp-radar-tab--active .wp-radar-tab-tag {
  color: var(--tab-accent);
}

.wp-radar-tab-name {
  font-size: 0.92rem;
  font-weight: 800;
  color: var(--wp-color-text);
}

.wp-radar-stage {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 32px;
  align-items: center;
}

/* ── Role Governance & Access Boundary Architecture ────────────────── */
.wp-rbac-hierarchy {
  background: var(--exp-card-bg);
  border: 1px solid var(--exp-card-border);
  border-radius: 24px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: none;
}

.wp-rbac-hierarchy-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--exp-card-border);
  padding-bottom: 12px;
}

.wp-rbac-hierarchy-title {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: var(--exp-text-dim);
}

.wp-rbac-hierarchy-pill {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
}

.wp-rbac-tiers-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wp-rbac-tier-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  border-radius: 16px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}

.wp-rbac-tier-card:hover {
  background: var(--wp-color-surface);
  border-color: var(--tier-accent);
  transform: translateX(3px);
}

.wp-rbac-tier-card--active {
  background: var(--wp-color-surface);
  border: 1.5px solid var(--tier-accent);
  box-shadow: none;
}

.wp-rbac-tier-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wp-rbac-tier-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--tier-accent);
  box-shadow: none;
}

.wp-rbac-tier-name {
  font-size: 0.94rem;
  font-weight: 700;
  color: var(--wp-color-text);
  display: block;
}

.wp-rbac-tier-sub {
  font-size: 0.74rem;
  color: var(--exp-text-dim);
  display: block;
}

.wp-rbac-tier-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}

.wp-rbac-tier-scope {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--exp-text-dim);
}

.wp-rbac-tier-status {
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  background: var(--tier-accent);
  color: var(--wp-color-text);
  padding: 2px 6px;
  border-radius: 4px;
}

.wp-rbac-guarantee {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 12px 14px;
  font-size: 0.78rem;
  line-height: 1.45;
  color: var(--wp-color-text);
}

.wp-rbac-guarantee p {
  margin: 0;
}

.wp-rbac-lock-icon {
  font-size: 1rem;
  line-height: 1;
}

.wp-radar-details-badges {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.wp-radar-scope-badge {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--wp-color-primary-soft);
  border: 1px solid var(--wp-color-border);
  color: var(--exp-text-dim);
}

.wp-radar-details {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-left: 4px solid var(--card-accent);
  border-radius: 16px;
  padding: 24px;
}

.wp-radar-detail-badge {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  padding: 2px 8px;
  border: 1px solid currentColor;
  border-radius: 4px;
  display: inline-block;
  margin-bottom: 8px;
}

.wp-radar-detail-title {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--wp-color-text);
  margin: 0 0 6px;
}

.wp-radar-detail-desc {
  font-size: 0.9rem;
  color: var(--exp-text-dim);
  line-height: 1.5;
  margin: 0 0 20px;
}

.wp-radar-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.wp-radar-stat-item {
  background: var(--wp-color-surface);
  border-radius: 8px;
  padding: 10px;
}

.wp-radar-stat-val {
  display: block;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--wp-color-text);
  font-family: var(--exp-font-mono);
}

.wp-radar-stat-lbl {
  font-size: 0.7rem;
  color: var(--exp-text-dim);
}

.wp-radar-features {
  margin-bottom: 20px;
}

.wp-radar-features-title {
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  color: var(--exp-text-dim);
  font-weight: 700;
  display: block;
  margin-bottom: 8px;
}

.wp-radar-feature-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}

.wp-radar-feature-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.82rem;
  color: var(--exp-text);
}

.wp-radar-check {
  font-weight: 800;
}

.wp-radar-enter-btn {
  display: inline-block;
  color: var(--wp-color-text);
  font-weight: 800;
  font-size: 0.86rem;
  padding: 10px 20px;
  border-radius: 20px;
  text-decoration: none;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.wp-radar-enter-btn:hover {
  transform: translateY(-1px);
  opacity: 0.9;
}

/* ── 03. Document Scanner Widget Styling ─────────────────────────────── */
.wp-scanner-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.wp-scanner-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.wp-scanner-badge {
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  background: var(--wp-color-primary-soft);
  color: var(--exp-cyan);
  padding: 3px 8px;
  border-radius: 4px;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 8px;
}

.wp-scanner-title {
  font-size: 1.5rem;
  font-weight: 800;
  margin: 0 0 6px;
  color: var(--wp-color-text);
}

.wp-scanner-desc {
  color: var(--exp-text-dim);
  font-size: 0.92rem;
  margin: 0;
  max-width: 640px;
}

.wp-scanner-tabs {
  display: flex;
  gap: 8px;
}

.wp-scanner-tab {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--exp-text-dim);
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 0.78rem;
  font-family: var(--exp-font-mono);
  cursor: pointer;
  transition: all 0.15s ease;
}

.wp-scanner-tab--active {
  background: var(--wp-color-surface);
  border-color: var(--exp-cyan);
  color: var(--exp-cyan);
}

.wp-scanner-body {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 28px;
  align-items: center;
}

.wp-scanner-stage {
  perspective: 800px;
}

.wp-scanner-doc {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-radius: 8px;
  padding: 24px;
  box-shadow: none;
  position: relative;
  overflow: hidden;
  transform: rotateY(-3deg) rotateX(4deg);
  transition: transform 0.3s ease;
}

.wp-scanner-doc--scanning {
  box-shadow: none;
}

.wp-scanner-doc-header {
  display: flex;
  justify-content: space-between;
  border-bottom: 2px solid var(--wp-color-border);
  padding-bottom: 8px;
  margin-bottom: 14px;
  font-weight: 800;
  font-size: 0.75rem;
}

.wp-scanner-doc-num {
  font-family: var(--exp-font-mono);
  color: var(--wp-color-text);
}

.wp-scanner-doc-lines {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}

.wp-scanner-line {
  height: 6px;
  background: var(--wp-color-surface);
  border-radius: 3px;
}
.wp-scanner-line--long { width: 85%; }
.wp-scanner-line--med { width: 65%; }
.wp-scanner-line--short { width: 45%; }

.wp-scanner-doc-table {
  border: 1px solid var(--wp-color-border);
  border-radius: 4px;
  font-size: 0.72rem;
  margin-bottom: 16px;
}

.wp-scanner-doc-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: 4px 8px;
  border-bottom: 1px solid var(--wp-color-border);
}
.wp-scanner-doc-row:last-child {
  border-bottom: none;
}
.wp-scanner-doc-row--head {
  background: var(--wp-color-surface);
  font-weight: 700;
}

.wp-scanner-doc-sign {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  font-size: 0.72rem;
  color: var(--wp-color-text);
  border-top: 1px solid var(--wp-color-border);
  padding-top: 8px;
}

.wp-scanner-sig-script {
  font-family: var(--wp-font-sans);
  font-size: 1.2rem;
  color: var(--wp-color-text);
}

/* Luminous Laser Beam */
.wp-scanner-laser {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--wp-color-surface);
  box-shadow: none;
  animation: laserSweep 1.8s ease-in-out infinite;
}

@keyframes laserSweep {
  0% { top: 0%; opacity: 0; }
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

.wp-scanner-telemetry {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wp-scanner-hud {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 18px;
  font-family: var(--exp-font-mono);
  font-size: 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wp-scanner-hud-title {
  font-size: 0.7rem;
  letter-spacing: 0.16em;
  color: var(--exp-cyan);
  font-weight: 800;
  border-bottom: 1px solid var(--wp-color-border);
  padding-bottom: 6px;
}

.wp-scanner-hud-field {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.wp-scanner-hud-k {
  color: var(--exp-text-dim);
}

.wp-scanner-hud-v {
  color: var(--wp-color-text);
  font-weight: 600;
  text-align: right;
}

.wp-scanner-hud-v--cyan {
  color: var(--exp-cyan);
}

.wp-scanner-hud-v--mono {
  color: var(--exp-emerald);
}

.wp-scanner-action-row {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.wp-scanner-trigger-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-weight: 800;
  font-size: 0.92rem;
  padding: 12px 24px;
  border-radius: 20px;
  border: none;
  cursor: pointer;
  box-shadow: none;
  transition: all 0.2s ease;
}

.wp-scanner-trigger-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: none;
}

.wp-scanner-trigger-btn:disabled {
  opacity: 0.6;
  cursor: wait;
}

.wp-scanner-verified-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--wp-color-surface);
  border: 1px solid var(--exp-emerald);
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 0.8rem;
  color: var(--exp-emerald);
  animation: fadeIn 0.3s ease;
}

/* ── 04. 3D Tilt Cards ──────────────────────────────────────────────── */
.wp-exp-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.wp-exp-tilt-card {
  background: var(--exp-card-bg);
  border: 1px solid var(--exp-card-border);
  border-radius: 20px;
  padding: 30px;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease, box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.wp-exp-tilt-card:hover {
  transform: translateY(-6px);
  border-color: var(--exp-cyan);
  box-shadow: none;
}

.wp-exp-tilt-tag {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--exp-cyan);
  margin-bottom: 12px;
  display: block;
}

.wp-exp-tilt-title {
  font-size: 1.35rem;
  font-weight: 800;
  color: var(--wp-color-text);
  margin: 0 0 12px;
}

.wp-exp-tilt-desc {
  font-size: 0.92rem;
  line-height: 1.6;
  color: var(--exp-text-dim);
  margin: 0 0 24px;
}

.wp-exp-tilt-accent {
  font-size: 0.8rem;
  font-weight: 700;
  font-family: var(--exp-font-mono);
  color: var(--exp-emerald);
}

/* ── Final Call to Action ───────────────────────────────────────────── */
.wp-exp-cta-banner {
  max-width: 1280px;
  margin: 0 auto 96px;
  padding: 0 24px;
}

.wp-exp-cta-inner {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 28px;
  padding: 64px 36px;
  text-align: center;
  box-shadow: none;
}

.wp-exp-cta-badge {
  font-size: 0.74rem;
  letter-spacing: 0.2em;
  color: var(--exp-cyan);
  font-weight: 800;
  display: block;
  margin-bottom: 14px;
}

.wp-exp-cta-heading {
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 900;
  color: var(--wp-color-text);
  margin: 0 0 16px;
}

.wp-exp-cta-desc {
  font-size: 1.1rem;
  color: var(--exp-text-dim);
  max-width: 600px;
  margin: 0 auto 32px;
}

.wp-exp-cta-buttons {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* ── Footer ─────────────────────────────────────────────────────────── */
.wp-exp-footer {
  border-top: 1px solid var(--wp-color-border);
  padding: 40px 24px;
}

.wp-exp-footer-inner {
  max-width: 1380px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.wp-exp-footer-copy {
  margin: 6px 0 0;
  font-size: 0.84rem;
  color: var(--exp-text-dim);
}

.wp-exp-footer-links {
  display: flex;
  gap: 20px;
}

.wp-exp-footer-links a {
  color: var(--exp-text-dim);
  text-decoration: none;
  font-size: 0.88rem;
  transition: color 0.15s ease;
}

.wp-exp-footer-links a:hover {
  color: var(--exp-cyan);
}

/* ── Responsive Queries ─────────────────────────────────────────────── */
@media (max-width: 1160px) {
  .wp-exp-nav-links .wp-exp-nav-link:nth-last-child(-n+2) {
    display: none;
  }
}

@media (max-width: 960px) {
  .wp-exp-nav-links {
    display: none;
  }
  .wp-radar-stage,
  .wp-scanner-body {
    grid-template-columns: 1fr;
  }
  .wp-exp-grid-3 {
    grid-template-columns: 1fr;
  }
  .wp-sim-sliders-grid {
    grid-template-columns: repeat(4, 1fr);
  }
  .wp-radar-nav {
    grid-template-columns: repeat(2, 1fr);
  }
  .wp-exp-stats-strip {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .wp-sim-sliders-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .wp-sim-metrics-bar {
    grid-template-columns: repeat(2, 1fr);
  }
  .wp-radar-nav {
    grid-template-columns: 1fr;
  }
  .wp-exp-stats-strip {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Experience Page - Light Theme Overrides (High-Contrast WCAG AAA)
   ========================================================================== */

[data-theme="light"] .wp-exp-root {
  background-color: var(--wp-color-surface);
  color: var(--wp-color-text);
  color-scheme: light;
}

/* ── Top Navigation ── */
[data-theme="light"] .wp-exp-nav {
  background: var(--wp-color-surface);
  border-bottom: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-brand {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-brand-name {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-brand-tag {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
  font-weight: 750;
}

[data-theme="light"] .wp-exp-nav-link {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-nav-link:hover {
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .wp-exp-sound-btn,
[data-theme="light"] .wp-exp-theme-btn {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-sound-btn:hover,
[data-theme="light"] .wp-exp-theme-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-sound-btn--active {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-login-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: transparent;
  box-shadow: none;
}

[data-theme="light"] .wp-exp-login-btn:hover {
  box-shadow: none;
}

/* ── Hero Section ── */
[data-theme="light"] .wp-exp-hero {
  background: var(--wp-color-primary-soft);
  border-bottom: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-exp-eyebrow {
  background: var(--wp-color-primary-soft);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-title-gradient {
  background: var(--wp-color-surface);
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
  text-shadow: none;
}

[data-theme="light"] .wp-exp-lead {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-exp-btn--primary {
  background: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
  border-color: transparent;
  box-shadow: none;
}

[data-theme="light"] .wp-exp-btn--primary:hover {
  box-shadow: none;
}

[data-theme="light"] .wp-exp-btn--secondary {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-btn--secondary:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-stats-strip .wp-exp-stat-box {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-stat-num {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-stat-label {
  color: var(--wp-color-text);
  font-weight: 600;
}

/* ── Kinetic Ticker ── */
[data-theme="light"] .wp-exp-ticker {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-ticker-item {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-ticker-spark {
  color: var(--wp-color-text);
  text-shadow: none;
}

/* ── Section Headings & General Cards ── */
[data-theme="light"] .wp-exp-section--alt {
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-exp-section-num {
  color: var(--wp-color-text);
  font-weight: 800;
}

[data-theme="light"] .wp-exp-section-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-section-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-exp-section-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

/* ── 01. 3D Constellation Matrix Card ── */
[data-theme="light"] .wp-exp-constellation-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-constellation-hud {
  background: var(--wp-color-surface);
  border-bottom: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-constellation-hud-left {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-constellation-hud-right {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-constellation-pills {
  background: var(--wp-color-surface);
  border-bottom: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-exp-node-pill {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-pill:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-pill--active {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-constellation-viewport {
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-exp-node-inspector {
  background: var(--wp-color-surface);
  border-top: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-node-inspector-badge {
  background: var(--wp-color-primary-soft);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-inspector-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-inspector-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-exp-node-action-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-action-btn--secondary {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-action-btn--secondary:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-inspector-dismiss {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-node-inspector-dismiss:hover {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

/* ── 02. Timesheet Simulator ── */
[data-theme="light"] .wp-sim-badge {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-sim-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-sim-preset-btn {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-preset-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-metric {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-sim-metric-label {
  color: var(--wp-color-text);
  font-weight: 700;
}

[data-theme="light"] .wp-sim-metric-value {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-metric-value small {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-metric-value--cyan {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-metric-value--gold {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-metric-value--emerald {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-bar-wrap {
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-sim-bar-marker {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-day-cell {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-sim-day-cell--ot {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-sim-day-name {
  color: var(--wp-color-text);
  font-weight: 700;
}

[data-theme="light"] .wp-sim-day-val {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-day-cell--ot .wp-sim-day-val {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-slider {
  background: var(--wp-color-surface);
  accent-color: #0b624f;
}

[data-theme="light"] .wp-sim-day-tag {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-footer {
  border-top: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-sim-audit-pill {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-portal-link {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-approve-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-stamp-overlay {
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-sim-stamp-close-btn {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-stamp {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-sim-stamp-text {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-stamp-badge {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-sim-stamp-date {
  color: var(--wp-color-text);
}

/* ── 03. Workforce Radar ── */
[data-theme="light"] .wp-radar-badge {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-radar-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-radar-tab {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-radar-tab:hover {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-radar-tab--active {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-radar-tab-tag {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-tab--active .wp-radar-tab-tag {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-tab-name {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-ring {
  stroke: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-sweep {
  stroke: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-core-label {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-details {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-left: 4px solid var(--card-accent);
}

[data-theme="light"] .wp-radar-detail-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-detail-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-radar-stat-item {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-radar-stat-val {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-stat-lbl {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-features-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-feature-item {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-enter-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

/* ── 04. Document Scanner ── */
[data-theme="light"] .wp-scanner-badge {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-scanner-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-scanner-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-scanner-tab {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-scanner-tab--active {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
  font-weight: 700;
}

[data-theme="light"] .wp-scanner-doc {
  box-shadow: none;
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-scanner-hud {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-scanner-hud-title {
  color: var(--wp-color-text);
  border-bottom: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-scanner-hud-k {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-scanner-hud-v {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-scanner-hud-v--cyan {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-scanner-hud-v--mono {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-scanner-trigger-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-scanner-verified-pill {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

/* ── 05. 3D Tilt Architecture Cards ── */
[data-theme="light"] .wp-exp-tilt-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-tilt-card:hover {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-tilt-tag {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-tilt-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-tilt-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-exp-tilt-accent {
  color: var(--wp-color-text);
}

/* ── Final Call to Action ── */
[data-theme="light"] .wp-exp-cta-inner {
  background: var(--wp-color-surface);
  border: 1.5px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-cta-badge {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-cta-heading {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-cta-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-exp-cta-buttons .wp-exp-btn--primary {
  background: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
}

[data-theme="light"] .wp-exp-cta-buttons .wp-exp-btn--secondary {
  background: var(--wp-color-primary);
  color: var(--wp-color-primary-contrast);
  border-color: var(--wp-color-border);
}

/* ── Footer ── */
[data-theme="light"] .wp-exp-footer {
  border-top: 1px solid var(--wp-color-border);
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-exp-footer-inner .wp-exp-brand-name {
  background: none;
  -webkit-text-fill-color: currentColor;
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-footer-copy {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-footer-links a {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-footer-links a:hover {
  color: var(--wp-color-text);
}

/* ── Why Waypoint Comparison Grid ───────────────────────────────────── */
.wp-exp-comparison-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

@media (max-width: 1024px) {
  .wp-exp-comparison-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .wp-exp-comparison-grid {
    grid-template-columns: 1fr;
  }
}

.wp-exp-compare-card {
  background: var(--exp-card-bg);
  border: 1px solid var(--exp-card-border);
  border-radius: 28px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

.wp-exp-compare-card:hover {
  transform: translateY(-4px);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.wp-exp-compare-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.wp-exp-compare-icon {
  font-size: 1.8rem;
  line-height: 1;
}

.wp-exp-compare-badge {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
  text-transform: uppercase;
}

.wp-exp-compare-title {
  font-size: 1.2rem;
  font-weight: 700;
  margin: 0;
  color: var(--wp-color-text);
  line-height: 1.35;
}

.wp-exp-compare-comparison {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}

.wp-exp-compare-side {
  padding: 14px 16px;
  border-radius: 16px;
  font-size: 0.86rem;
  line-height: 1.5;
}

.wp-exp-compare-side p {
  margin: 0;
}

.wp-exp-compare-side--waypoint {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

.wp-exp-compare-side--legacy {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

.wp-exp-compare-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 6px;
}

.wp-exp-compare-side--waypoint .wp-exp-compare-label {
  color: var(--wp-color-text);
}

.wp-exp-compare-side--legacy .wp-exp-compare-label {
  color: var(--wp-color-text);
}

.wp-exp-compare-check {
  font-weight: 900;
}

.wp-exp-compare-cross {
  font-weight: 900;
}

.wp-exp-compare-benefit {
  background: var(--wp-color-surface);
  border-top: 1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 12px 14px;
  font-size: 0.82rem;
  line-height: 1.45;
}

.wp-exp-compare-benefit-label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--wp-color-text);
  display: block;
  margin-bottom: 2px;
}

.wp-exp-compare-benefit-text {
  margin: 0;
  color: var(--wp-color-text);
  font-weight: 600;
}

/* ── Full Feature Suite Matrix ───────────────────────────────────────── */
.wp-exp-suite-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}

@media (max-width: 860px) {
  .wp-exp-suite-grid {
    grid-template-columns: 1fr;
  }
}

/* An odd final card spans the row so the grid has no empty slot. */
.wp-exp-suite-grid > .wp-exp-suite-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.wp-exp-suite-card {
  background: var(--exp-card-bg);
  border: 1px solid var(--exp-card-border);
  border-radius: 28px;
  padding: 34px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  box-shadow: none;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

.wp-exp-suite-card:hover {
  transform: translateY(-3px);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.wp-exp-suite-badge {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  padding: 4px 10px;
  border-radius: 999px;
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
  margin-bottom: 12px;
  text-transform: uppercase;
}

.wp-exp-suite-title {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: var(--wp-color-text);
}

.wp-exp-suite-desc {
  font-size: 0.92rem;
  color: var(--exp-text-dim);
  margin: 0;
  line-height: 1.5;
}

.wp-exp-suite-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.wp-exp-suite-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--wp-color-text);
}

.wp-exp-suite-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-size: 0.75rem;
  font-weight: 900;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ── Light Mode Contrast Overrides for Comparison & Suite ───────────── */
[data-theme="light"] .wp-exp-compare-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-compare-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-compare-side--waypoint {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-compare-side--waypoint .wp-exp-compare-label {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-compare-side--legacy {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-compare-side--legacy .wp-exp-compare-label {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-compare-benefit {
  background: var(--wp-color-surface);
  border-top-color: var(--wp-color-border);
}

[data-theme="light"] .wp-exp-compare-benefit-label {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-compare-benefit-text {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-suite-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-exp-suite-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-suite-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-exp-suite-item {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-exp-suite-check {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

/* ── Light Mode Overrides for RBAC Hierarchy ───────────────────────── */
[data-theme="light"] .wp-rbac-hierarchy {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-rbac-hierarchy-header {
  border-bottom-color: var(--wp-color-border);
}

[data-theme="light"] .wp-rbac-hierarchy-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-rbac-hierarchy-pill {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .wp-rbac-tier-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-rbac-tier-card:hover {
  background: var(--wp-color-surface);
}

[data-theme="light"] .wp-rbac-tier-card--active {
  background: var(--wp-color-surface);
  border-color: var(--tier-accent);
  box-shadow: none;
}

[data-theme="light"] .wp-rbac-tier-name {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-rbac-tier-sub {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-rbac-tier-scope {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-rbac-tier-status {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-rbac-guarantee {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-scope-badge {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-details {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-radar-detail-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-detail-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-radar-features-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-feature-item {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-stat-item {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .wp-radar-stat-val {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-radar-stat-lbl {
  color: var(--wp-color-text);
}

/* Screen reader only utility */
.wp-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* ── 24/7 Contextual AI HR Assistant & Chatbot Showcase ────────────── */
.wp-chat-showcase-card {
  background: var(--exp-card-bg);
  border: 1px solid var(--exp-card-border);
  border-radius: 28px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  box-shadow: none;
}

.wp-chat-showcase-header {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wp-chat-showcase-badge {
  display: inline-block;
  padding: 4px 10px;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  border-radius: 999px;
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
  text-transform: uppercase;
  align-self: flex-start;
}

.wp-chat-showcase-title {
  font-family: var(--wp-font-sans);
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--wp-color-text);
  margin: 0;
}

.wp-chat-showcase-desc {
  font-size: 0.95rem;
  line-height: 1.6;
  color: var(--exp-text-dim);
  max-width: 820px;
  margin: 0;
}

.wp-chat-showcase-pills-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 6px;
}

.wp-chat-showcase-pills-label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--exp-text-dim);
}

.wp-chat-showcase-chips {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.wp-chat-showcase-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 999px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wp-chat-showcase-chip:hover {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  transform: translateY(-1px);
}

.wp-chat-showcase-chip-icon {
  font-size: 0.9rem;
}

.wp-chat-showcase-window {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.wp-chat-showcase-feed {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-height: 420px;
  overflow-y: auto;
}

.wp-chat-showcase-bubble {
  padding: 14px 18px;
  border-radius: 16px;
  max-width: 85%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.wp-chat-showcase-bubble--assistant {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  align-self: flex-start;
}

.wp-chat-showcase-bubble--user {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  align-self: flex-end;
}

.wp-chat-showcase-sender-tag {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--wp-color-text);
}

.wp-chat-showcase-body {
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--wp-color-text);
}

.wp-chat-showcase-p {
  margin: 0 0 6px 0;
}

.wp-chat-showcase-p:last-child {
  margin-bottom: 0;
}

.wp-chat-showcase-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
}

.wp-chat-showcase-action-btn {
  display: inline-flex;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  font-size: 0.76rem;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wp-chat-showcase-action-btn:hover {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  transform: translateY(-1px);
}

.wp-chat-showcase-input-bar {
  display: flex;
  gap: 12px;
  padding: 14px 18px;
  border-top: 1px solid var(--wp-color-border);
  background: var(--wp-color-surface);
}

.wp-chat-showcase-input {
  flex: 1;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 10px 16px;
  color: var(--wp-color-text);
  font-size: 0.88rem;
  outline: none;
  transition: border-color 0.2s ease;
}

.wp-chat-showcase-input:focus {
  border-color: var(--wp-color-border);
}

.wp-chat-showcase-send-btn {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border: none;
  border-radius: 12px;
  padding: 0 20px;
  font-weight: 700;
  font-size: 0.84rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wp-chat-showcase-send-btn:hover {
  background: var(--wp-color-surface);
}

.wp-chat-showcase-footer {
  display: flex;
  align-items: center;
}

.wp-chat-showcase-guarantee {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.8rem;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 10px 14px;
  width: 100%;
}

.wp-chat-showcase-lock {
  font-size: 0.95rem;
}

/* Light Theme Overrides for Chatbot Showcase */
[data-theme="light"] .wp-chat-showcase-card {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-chat-showcase-title {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-chat-showcase-desc {
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .wp-chat-showcase-chip {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-chat-showcase-chip:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-chat-showcase-window {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .wp-chat-showcase-bubble--assistant {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .wp-chat-showcase-bubble--user {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .wp-chat-showcase-sender-tag {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-chat-showcase-body {
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-chat-showcase-input-bar {
  background: var(--wp-color-surface);
  border-top-color: var(--wp-color-border);
}

[data-theme="light"] .wp-chat-showcase-input {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .wp-chat-showcase-input:focus {
  border-color: var(--wp-color-border);
}

[data-theme="light"] .wp-chat-showcase-guarantee {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

/* Route-line marketing surfaces retain the existing sections and interactions. */

.wp-exp-root { font-family: var(--wp-font-sans); }

.wp-exp-root h1, .wp-exp-root h2, .wp-exp-card h3, .wp-exp-compare-card h3 { font-family: var(--wp-font-display); font-weight: 500; }

.wp-exp-title-gradient, .wp-exp-brand-name { background: none; color: var(--wp-color-primary); -webkit-text-fill-color: currentColor; }

.wp-exp-root button, .wp-exp-root a.wp-exp-btn, .wp-exp-root .wp-exp-nav-link { min-height: 44px; }

.wp-exp-root :is(button, a, input, select):focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }

.wp-exp-root .wp-exp-eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .14em; }

[data-theme="light"] .wp-exp-title-gradient, [data-theme="light"] .wp-exp-brand-name { background: none; }

/* Mobile and dark-theme QA: real hit areas for header/footer links. */
.wp-exp-root :is(.wp-exp-brand, .wp-exp-login-btn, .wp-exp-footer-links a) { display: inline-flex; align-items: center; min-height: 44px; }
.wp-exp-nav-link { color: var(--wp-color-text-muted); }
.wp-exp-ticker-item { background: var(--wp-color-surface); color: var(--wp-color-text); }
@media (prefers-reduced-motion: reduce) {
  .wp-exp-root .wp-exp-ticker-track,
  .wp-exp-root .wp-exp-eq-bar { animation: none !important; }
}
.wp-primitive-preview { max-width:1200px; margin:auto; padding:32px 24px 120px; color:var(--wp-color-text); font-family:var(--wp-font-sans); }
.wp-primitive-preview > section { margin:24px 0; padding:24px; border:1px solid var(--wp-color-border); border-radius:14px; background:var(--wp-color-surface); }
.wp-primitive-preview h2 { font-family:var(--wp-font-display); font-weight:500; margin:0 0 16px; }
.wp-primitive-preview__badges { display:flex; flex-wrap:wrap; gap:16px; margin-top:16px; }
.wp-detail-panel input#preview-note { display:block; width:100%; box-sizing:border-box; min-height:44px; margin-top:8px; border:1px solid var(--wp-color-border); border-radius:10px; background:var(--wp-color-surface); color:var(--wp-color-text); font:inherit; padding:8px 16px; }
.wp-primitive-preview .wp-route-line + .wp-route-line { margin-top:24px; }
@media (max-width:600px) { .wp-primitive-preview { padding:16px 16px 160px; } .wp-primitive-preview > section { padding:16px; } }
/* MobileDownloadPage.css */
.wp-download-page {
  min-height: 100vh;
  background: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);
  color: #f8fafc;
  display: flex;
  flex-direction: column;
}

.wp-download-container {
  max-width: 960px;
  margin: 0 auto;
  padding: 3rem 1.5rem;
  width: 100%;
  box-sizing: border-box;
}

.wp-download-hero {
  text-align: center;
  margin-bottom: 3rem;
}

.wp-download-logo {
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
}

.wp-download-hero h1 {
  font-size: 2.25rem;
  font-weight: 800;
  margin: 0 0 0.75rem 0;
  background: linear-gradient(135deg, #ffffff 0%, #93c5fd 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.wp-download-hero p {
  font-size: 1.1rem;
  color: #94a3b8;
  max-width: 600px;
  margin: 0 auto;
}

.wp-download-detected-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(37, 99, 235, 0.15);
  border: 1px solid rgba(59, 130, 246, 0.3);
  color: #93c5fd;
  padding: 0.35rem 1rem;
  border-radius: 9999px;
  font-size: 0.85rem;
  font-weight: 500;
  margin-top: 1.25rem;
}

.wp-download-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 1.5rem;
  margin-bottom: 3rem;
}

.wp-download-card {
  background: rgba(30, 41, 59, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  padding: 2rem;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.wp-download-card:hover {
  transform: translateY(-2px);
  border-color: rgba(59, 130, 246, 0.4);
}

.wp-download-card.highlighted {
  border-color: #3b82f6;
  box-shadow: 0 0 25px rgba(37, 99, 235, 0.2);
}

.wp-download-card-badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  background: #2563eb;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 0.2rem 0.6rem;
  border-radius: 9999px;
}

.wp-download-card-icon {
  font-size: 2.5rem;
  margin-bottom: 1rem;
}

.wp-download-card h2 {
  font-size: 1.4rem;
  font-weight: 700;
  margin: 0 0 0.5rem 0;
  color: #ffffff;
}

.wp-download-card-desc {
  font-size: 0.9rem;
  color: #94a3b8;
  margin: 0 0 1.5rem 0;
  line-height: 1.5;
  flex-grow: 1;
}

.wp-download-card-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.25rem;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all 0.15s ease;
}

.wp-download-card-btn.primary {
  background: #2563eb;
  color: #ffffff !important;
}

.wp-download-card-btn.primary:hover {
  background: #1d4ed8;
}

.wp-download-card-btn.secondary {
  background: rgba(255, 255, 255, 0.1);
  color: #f1f5f9 !important;
}

.wp-download-card-btn.secondary:hover {
  background: rgba(255, 255, 255, 0.15);
}

.wp-download-meta {
  font-size: 0.8rem;
  color: #cbd5e1;
  margin-top: 0.75rem;
  text-align: center;
}

.wp-download-footer-nav {
  text-align: center;
  padding: 2rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.wp-download-back-link {
  color: #93c5fd;
  text-decoration: none;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.wp-download-back-link:hover {
  text-decoration: underline;
}
/* Page content is placed inside the shared frame. */
.employer-dashboard.wp-workspace .employer-dashboard__container { background:transparent; width:100%; max-width:none; min-height:0; padding:0; margin:0; }
.employer-dashboard.wp-workspace { font-size:1rem; line-height:1.5; }
.employer-dashboard__container {
  background: var(--wp-color-bg);
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1360px;
  min-height: calc(100vh - 76px);
  padding: 44px 54px 80px;
  width: calc(100% - 40px);
}

.employer-dashboard__greeting {
  align-items: center;
  display: flex;
  gap: var(--wp-space-lg);
  justify-content: space-between;
  margin-bottom: var(--wp-space-xl);
}

.employer-dashboard__greeting h1 {
  color: var(--wp-color-primary);
  font: 500 2.25rem/1.1 var(--wp-font-display);
  letter-spacing: -0.025em;
  margin: 0 0 6px;
}

.employer-dashboard__persona {
  color: var(--wp-color-primary);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

.employer-dashboard__greeting p {
  color: var(--wp-color-text-muted);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}

.employer-dashboard__new-posting {
  flex-shrink: 0;
  font-size: var(--wp-font-size-md);
  padding: 12px var(--wp-space-lg);
}

.employer-dashboard__quote {
  background: var(--wp-color-primary-deep);
  padding: clamp(var(--wp-space-lg), 4vw, var(--wp-space-xl));
}

.employer-dashboard__quote .wp-welcome-banner__title {
  font-size: clamp(1.35rem, 3vw, 1.8rem);
  line-height: 1.3;
  max-width: 48rem;
}

.employer-dashboard__section,
.employer-dashboard__feature-grid,
.employer-dashboard__details {
  margin-top: var(--wp-space-xl);
}

.employer-dashboard__feature-grid {
  display: grid;
  gap: var(--wp-space-md);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employer-dashboard__feature-card,
.employer-dashboard__recent-grid .wp-card {
  margin-bottom: 0;
}

.employer-dashboard__feature-card {
  padding: var(--wp-space-xl);
}

.employer-dashboard__feature-card .wp-card__header {
  border-bottom: 1px solid var(--wp-color-border);
  margin-bottom: 0;
  padding-bottom: var(--wp-space-md);
}

.employer-dashboard__action-list,
.employer-dashboard__steps {
  display: flex;
  flex-direction: column;
}

.employer-dashboard__action-list {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: var(--wp-space-md);
}

.employer-dashboard__action-list .wp-action-card { min-height: 166px; }

.employer-dashboard__action-item,
.employer-dashboard__step {
  align-items: center;
  border-bottom: 1px solid var(--wp-color-border);
  display: flex;
  gap: var(--wp-space-md);
  padding: var(--wp-space-lg) 0;
}

.employer-dashboard__action-item:last-child,
.employer-dashboard__step:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.employer-dashboard__item-number,
.employer-dashboard__step-number {
  align-items: center;
  background: var(--wp-color-primary-soft);
  border-radius: var(--wp-radius-pill);
  color: var(--wp-color-primary);
  display: inline-flex;
  flex: 0 0 32px;
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  height: 32px;
  justify-content: center;
}

.employer-dashboard__item-copy {
  flex: 1;
  min-width: 0;
}

.employer-dashboard__action-item h3,
.employer-dashboard__step h3 {
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-md);
  margin: 0 0 2px;
}

.employer-dashboard__action-item p,
.employer-dashboard__step p {
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-sm);
  line-height: 1.45;
}

.employer-dashboard__text-action {
  background: transparent;
  border: 0;
  color: var(--wp-color-primary);
  flex-shrink: 0;
  font-family: inherit;
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  padding: var(--wp-space-xs);
}

.employer-dashboard__text-action:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.employer-dashboard__details > h2 {
  color: var(--wp-color-text);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-lg);
  font-weight: 700;
  margin: 0 0 var(--wp-space-md);
}

.employer-dashboard__recent-grid {
  display: grid;
  gap: var(--wp-space-md);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.employer-dashboard__recent-grid .wp-empty-state {
  min-height: 9rem;
  padding: var(--wp-space-lg) var(--wp-space-sm);
}

.employer-dashboard__recent-list {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-sm);
  list-style: none;
  margin: 0;
  padding: var(--wp-space-sm) 0 0;
}

.employer-dashboard__recent-list li {
  border-bottom: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  padding: var(--wp-space-sm) 0;
}

.employer-dashboard__recent-list li:last-child {
  border-bottom: 0;
}

@media (max-width: 960px) {
  .employer-dashboard__feature-grid {
    grid-template-columns: 1fr;
  }

  .employer-dashboard__recent-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .employer-dashboard__action-list { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .employer-dashboard__container {
    padding: 30px 18px 60px;
    width: 100%;
  }

  .employer-dashboard__greeting {
    align-items: flex-start;
    flex-direction: column;
  }

  .employer-dashboard__new-posting {
    width: 100%;
  }

  .employer-dashboard__feature-card {
    padding: var(--wp-space-lg);
  }

  .employer-dashboard__action-item {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .employer-dashboard__text-action {
    margin-left: 48px;
  }

  .employer-dashboard__recent-grid {
    grid-template-columns: 1fr;
  }
}

/* Route-line workspace rhythm. */
.employer-dashboard__container { background: transparent; color: var(--wp-color-text); width: 100%; min-width: 0; padding: 32px 24px calc(104px + env(safe-area-inset-bottom, 0px)); }
.employer-dashboard__section > h2, .employer-dashboard__details > h2 { font: 500 1.5rem/1.3 var(--wp-font-display); margin: 0 0 16px; }
.employer-dashboard__recent-grid { display: flex; flex-direction: column; gap: 24px; }
.employer-dashboard__recent-grid .wp-card { border-radius: var(--wp-radius-card); }
.employer-dashboard__greeting h1 { font-family: var(--wp-font-display); color: var(--wp-color-text); }
.employer-dashboard__persona { font-size: 11px; font-weight: 600; letter-spacing: .14em; }
.employer-dashboard__greeting p { color: var(--wp-color-text-muted); }
.employer-dashboard__text-action { min-height: 44px; }
@media (max-width: 600px) { .employer-dashboard__container { padding-inline: 16px; } }
.employer-applicants__container {
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1200px;
  padding: var(--wp-space-2xl) var(--wp-space-xl);
  width: 100%;
}

.employer-applicants__back {
  padding: 0;
  color: var(--wp-color-primary);
  background: transparent;
  border: 0;
  font: inherit;
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  cursor: pointer;
}

.employer-applicants__back:hover,
.employer-applicants__back:focus-visible {
  text-decoration: underline;
}

.employer-applicants__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-xl);
  margin: var(--wp-space-xl) 0;
}

.employer-applicants__eyebrow {
  margin: 0 0 var(--wp-space-xs);
  color: var(--wp-color-primary);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.employer-applicants__header h1,
.employer-applicant-detail__hero h1 {
  margin: 0;
  color: var(--wp-color-text);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.employer-applicants__meta {
  margin: var(--wp-space-sm) 0 0;
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-md);
}

.employer-applicants__header-count {
  display: flex;
  min-width: 132px;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  padding: var(--wp-space-md) var(--wp-space-lg);
  color: var(--wp-color-primary);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  box-shadow: none;
  text-align: center;
}

.employer-applicants__header-count strong {
  color: var(--wp-color-primary);
  font-size: clamp(2rem, 4vw, 2.5rem);
  font-weight: 700;
  line-height: 1;
}

.employer-applicants__header-count span {
  margin-top: 6px;
  color: var(--wp-color-text-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.employer-applicants__panel,
.employer-applicant-detail__card {
  overflow: hidden;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-lg);
  box-shadow: none;
}

.employer-applicants__panel-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-lg);
  padding: var(--wp-space-xl);
  border-bottom: 1px solid var(--wp-color-border);
}

.employer-applicants__panel-header h2 {
  margin: 0 0 var(--wp-space-xs);
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-lg);
}

.employer-applicants__panel-header p {
  margin: 0;
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-sm);
}

@media (max-width: 640px) {
  .employer-applicants__panel-header {
    flex-direction: column;
  }
}

.employer-applicants__table {
  width: 100%;
}

.employer-applicants__table-header,
.employer-applicants__row {
  display: grid;
  align-items: center;
  column-gap: var(--wp-space-md);
  grid-template-columns: minmax(220px, 1.35fr) 120px 170px 24px;
  padding: var(--wp-space-md) var(--wp-space-xl);
  text-align: left;
}

.employer-applicants__table-header {
  color: var(--wp-color-text-muted);
  background: var(--wp-color-neutral-bg);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.employer-applicants__row {
  width: 100%;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border: 0;
  border-bottom: 1px solid var(--wp-color-border);
  font: inherit;
  cursor: pointer;
  transition: background-color var(--wp-transition-fast), box-shadow var(--wp-transition-fast);
}

.employer-applicants__row:last-child {
  border-bottom: 0;
}

.employer-applicants__row:hover,
.employer-applicants__row:focus-visible {
  background: var(--wp-color-surface);
  box-shadow: none;
  outline: 0;
}

.employer-applicants__candidate {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: var(--wp-space-sm);
}

.employer-applicants__candidate > span:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.employer-applicants__candidate strong {
  overflow: hidden;
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-md);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employer-applicants__candidate small,
.employer-applicants__status-wrap small {
  margin-top: 3px;
  color: var(--wp-color-text-muted);
  font-size: 0.75rem;
}

.employer-applicants__avatar,
.employer-applicant-detail__avatar {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  color: var(--wp-color-primary);
  background: var(--wp-color-primary-soft);
  border-radius: 50%;
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
}

.employer-applicants__date {
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-sm);
}

.employer-applicants__status-wrap {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.employer-applicants__status {
  display: inline-flex;
  width: fit-content;
  padding: 5px 9px;
  color: var(--wp-color-text);
  background: var(--wp-color-primary-soft);
  border-radius: var(--wp-radius-pill);
  font-size: 0.72rem;
  font-weight: 700;
  white-space: nowrap;
}

.employer-applicants__status--under_review {
  color: var(--wp-color-warning);
  background: var(--wp-color-warning-bg);
}

.employer-applicants__status--shortlisted,
.employer-applicants__status--selected {
  color: var(--wp-color-warning);
  background: var(--wp-color-warning-bg);
}

.employer-applicants__status--rejected,
.employer-applicants__status--withdrawn {
  color: var(--wp-color-error);
  background: var(--wp-color-error-bg);
}

.employer-applicants__arrow {
  color: var(--wp-color-primary);
  font-size: 1.2rem;
  font-weight: 700;
  text-align: right;
}

.employer-applicants__error {
  margin-top: var(--wp-space-xl);
  padding: var(--wp-space-xl);
  color: var(--wp-color-error);
  background: var(--wp-color-error-bg);
  border: 1px solid var(--wp-color-error);
  border-radius: var(--wp-radius-lg);
}

.employer-applicants__error h1 {
  margin: 0 0 var(--wp-space-sm);
  font-size: var(--wp-font-size-lg);
}

.employer-applicants__error p {
  margin: 0;
}

.employer-applicant-detail__hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-xl);
  margin: var(--wp-space-xl) 0;
  padding: var(--wp-space-xl);
  background: var(--wp-color-primary-deep);
  border-radius: var(--wp-radius-lg);
}

.employer-applicant-detail__identity {
  display: flex;
  align-items: center;
  gap: var(--wp-space-md);
}

.employer-applicant-detail__identity h1,
.employer-applicant-detail__identity p {
  color: var(--wp-color-primary-contrast);
}

.employer-applicant-detail__identity h1 {
  font-family: var(--wp-font-sans);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.2;
}

.employer-applicant-detail__identity > div > p:last-child {
  margin: var(--wp-space-xs) 0 0;
  color: var(--wp-color-text-muted);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  line-height: 1.45;
  opacity: 1;
}

.employer-applicant-detail__avatar {
  width: 64px;
  height: 64px;
  color: var(--wp-color-primary-deep);
  background: var(--wp-color-surface);
  font-size: var(--wp-font-size-lg);
}

.employer-applicant-detail__hero .employer-applicants__status {
  color: var(--wp-color-primary-deep);
  background: var(--wp-color-primary-soft);
}

.employer-applicant-detail__hero-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: var(--wp-space-sm);
}

.employer-applicant-detail__status-control {
  display: flex;
  min-width: 172px;
  flex-direction: column;
  gap: 5px;
}

.employer-applicant-detail__status-control label {
  color: var(--wp-color-text-muted);
  font-family: var(--wp-font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.employer-applicant-detail__status-control select {
  min-height: 44px;
  padding: 0 34px 0 12px;
  color: var(--wp-color-text);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  font-weight: 600;
  line-height: 1.3;
}

.employer-applicant-detail__status-control select:focus-visible {
  outline: 3px solid var(--wp-color-border);
  outline-offset: 2px;
}

.employer-applicant-detail__feedback {
  margin: 0 0 var(--wp-space-md);
  padding: var(--wp-space-md) var(--wp-space-lg);
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  font-size: var(--wp-font-size-sm);
}

.employer-applicant-detail__feedback--error {
  color: var(--wp-color-error);
  background: var(--wp-color-error-bg);
  border-color: var(--wp-color-error);
}

.employer-applicant-detail__grid {
  display: grid;
  gap: var(--wp-space-md);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.employer-applicant-detail__card {
  padding: var(--wp-space-xl);
}

.employer-applicant-detail__card--wide {
  grid-column: 1 / -1;
}

.employer-applicant-detail__card h2 {
  margin: 0 0 var(--wp-space-lg);
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-lg);
}

.employer-applicant-detail__resume {
  display: flex;
  align-items: center;
  gap: var(--wp-space-md);
}

.employer-applicant-detail__resume-icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: var(--wp-color-primary);
  background: var(--wp-color-primary-soft);
  border-radius: var(--wp-radius-md);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.employer-applicant-detail__resume-copy {
  min-width: 0;
  flex: 1;
}

.employer-applicant-detail__resume-copy h2 {
  margin-bottom: 3px;
}

.employer-applicant-detail__resume-copy p {
  overflow: hidden;
  margin: 0;
  color: var(--wp-color-text-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employer-applicant-detail__resume-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--wp-space-sm);
}

.employer-applicant-detail__resume-action {
  padding: 9px 13px;
  font-size: var(--wp-font-size-sm);
}

.employer-applicant-detail__resume-status {
  padding: 6px 10px;
  color: var(--wp-color-text);
  background: var(--wp-color-primary-soft);
  border-radius: var(--wp-radius-pill);
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.employer-applicant-detail__resume-status--empty {
  color: var(--wp-color-text-muted);
  background: var(--wp-color-neutral-bg);
}

.employer-applicant-detail__resume-error {
  margin: var(--wp-space-md) 0 0;
  color: var(--wp-color-error);
  font-size: var(--wp-font-size-sm);
}

.employer-applicant-detail__card dl {
  display: grid;
  gap: var(--wp-space-md);
  margin: 0;
}

.employer-applicant-detail__item dt {
  color: var(--wp-color-text-muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.employer-applicant-detail__item dd {
  margin: 3px 0 0;
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-md);
  line-height: 1.45;
}

.employer-applicant-detail__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-sm);
}

.employer-applicant-detail__chips span {
  padding: 7px 11px;
  color: var(--wp-color-primary);
  background: var(--wp-color-primary-soft);
  border-radius: var(--wp-radius-pill);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
}

.employer-applicant-detail__chips p {
  margin: 0;
  color: var(--wp-color-text-muted);
}

.employer-resume-modal {
  position: fixed;
  z-index: 20;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--wp-space-xl);
  background: var(--wp-color-surface);
}

.employer-resume-modal__panel {
  display: flex;
  width: min(980px, 100%);
  height: min(860px, 92vh);
  flex-direction: column;
  overflow: hidden;
  background: var(--wp-color-surface);
  border-radius: var(--wp-radius-lg);
  box-shadow: none;
}

.employer-resume-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-lg);
  padding: var(--wp-space-lg) var(--wp-space-xl);
  border-bottom: 1px solid var(--wp-color-border);
}

.employer-resume-modal__header h2 {
  margin: 0;
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-lg);
}

.employer-resume-modal__content {
  min-height: 0;
  flex: 1;
  overflow: auto;
  background: var(--wp-color-surface);
}

.employer-resume-modal__pdf {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 640px;
  border: 0;
}

.employer-resume-modal__docx {
  min-height: 100%;
  padding: var(--wp-space-xl);
}

.employer-resume-modal__docx .employer-resume-docx-preview {
  min-height: 100%;
}

.employer-resume-modal__unsupported {
  display: grid;
  min-height: 100%;
  place-content: center;
  justify-items: center;
  gap: var(--wp-space-sm);
  padding: var(--wp-space-xl);
  text-align: center;
}

.employer-resume-modal__unsupported h3,
.employer-resume-modal__unsupported p {
  margin: 0;
}

.employer-resume-modal__unsupported p {
  color: var(--wp-color-text-muted);
}

@media (max-width: 900px) {
  .employer-applicants__table-header,
  .employer-applicants__row {
    grid-template-columns: minmax(190px, 1.3fr) 100px 140px 20px;
    padding-inline: var(--wp-space-lg);
  }
}

@media (max-width: 720px) {
  .employer-applicants__container {
    padding: var(--wp-space-xl) var(--wp-space-md);
  }

  .employer-applicants__header,
  .employer-applicant-detail__hero {
    align-items: flex-start;
    flex-direction: column;
  }

  .employer-applicants__header-count {
    width: 100%;
    flex-direction: row;
    align-items: baseline;
    justify-content: flex-start;
    gap: var(--wp-space-sm);
    text-align: left;
  }

  .employer-applicants__header-count span {
    margin-top: 0;
  }

  .employer-applicants__table-header {
    display: none;
  }

  .employer-applicants__row {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: var(--wp-space-sm);
    padding: var(--wp-space-lg);
  }

  .employer-applicants__date,
  .employer-applicants__status-wrap {
    grid-column: 1 / -1;
  }

  .employer-applicants__arrow {
    grid-column: 2;
    grid-row: 1;
  }

  .employer-applicant-detail__grid {
    grid-template-columns: 1fr;
  }

  .employer-applicant-detail__hero-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .employer-applicant-detail__status-control {
    width: 100%;
  }

  .employer-applicant-detail__status-control select {
    width: 100%;
  }

  .employer-applicant-detail__resume {
    align-items: flex-start;
    flex-direction: column;
  }

  .employer-applicant-detail__resume-actions {
    justify-content: flex-start;
  }

  .employer-applicant-detail__card--wide {
    grid-column: auto;
  }

  .employer-resume-modal {
    padding: var(--wp-space-md);
  }

  .employer-resume-modal__panel {
    height: 94vh;
  }
}

.employer-applicants__container { min-width: 0; }
.employer-applicants__header h1, .employer-applicant-detail__identity h1, .employer-applicant-detail__card h2 { font-family: var(--wp-font-display); font-weight: 500; }
.employer-applicant-detail__hero { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); }
.employer-applicant-detail__identity h1, .employer-applicant-detail__identity p { color: var(--wp-color-text); }
.employer-applicant-detail__status-control label { color: var(--wp-color-text-muted); }
.employer-applicants__back { min-height: 44px; }
.employer-applicants__row:focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }
.wp-employer-notifications__list {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-sm);
}

.wp-employer-notifications__item-button {
  background: none;
  border: none;
  cursor: pointer;
  display: block;
  padding: 0;
  text-align: left;
  width: 100%;
}

.wp-employer-notifications__card--unread {
  background-color: var(--wp-color-info-bg);
}

.wp-employer-notifications__title {
  color: var(--wp-color-text);
  font-weight: 600;
  margin: 0;
}

.wp-employer-notifications__message {
  color: var(--wp-color-text-muted);
  margin: var(--wp-space-xs) 0 0;
}

.wp-employer-notifications__timestamp {
  color: var(--wp-color-text-muted);
  font-size: 0.75rem;
  margin: var(--wp-space-xs) 0 0;
}
.wp-employer-event-form {
  background: var(--wp-color-surface);
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 1060px;
  padding: var(--wp-space-2xl) var(--wp-space-xl);
  width: 100%;
}

.wp-employer-event-form__modal-backdrop {
  align-items: flex-start;
  background: rgb(23 35 30 / 50%);
  display: flex;
  inset: 0;
  justify-content: center;
  overflow-y: auto;
  padding: clamp(16px, 4vh, 40px) 16px;
  position: fixed;
  z-index: 1100;
}

.wp-employer-event-form--modal {
  background: transparent;
  box-sizing: border-box;
  margin: 0;
  max-width: 1060px;
  padding: 0;
  width: min(100%, 1060px);
}

.wp-employer-event-form--modal .wp-employer-event-form__card {
  max-height: calc(100vh - clamp(32px, 8vh, 80px));
  overflow-y: auto;
}

.wp-employer-event-form__card {
  border-radius: 14px;
  box-shadow: none;
  padding: clamp(24px, 4vw, 38px);
}

.wp-employer-event-form__heading {
  align-items: flex-start;
  display: flex;
  gap: var(--wp-space-lg);
  justify-content: space-between;
  margin-bottom: var(--wp-space-lg);
}

.wp-employer-event-form__heading h1 {
  color: var(--wp-color-primary);
  font: 500 1.65rem/1.1 var(--wp-font-display);
  margin: 0 0 5px;
}

.wp-employer-event-form__heading p {
  color: var(--wp-color-text-muted);
  font-size: 0.86rem;
  margin: 0;
}

.wp-employer-event-form__grid {
  display: grid;
  gap: var(--wp-space-lg);
  grid-template-columns: 1fr 1fr;
  margin-top: var(--wp-space-lg);
}

.wp-employer-event-form__wide {
  grid-column: 1 / -1;
}

.wp-employer-event-form__grid > label {
  color: var(--wp-color-text);
  display: flex;
  flex-direction: column;
  font-size: 0.875rem;
  gap: var(--wp-space-xs);
  min-width: 0;
}

.wp-employer-event-form__grid > label > span,
.wp-employer-event-form__grid .wp-form-label {
  align-items: center;
  align-self: flex-start;
  display: inline-flex;
  flex-direction: row;
  font-weight: 700;
  gap: 4px;
  line-height: 1.35;
  margin-bottom: 0;
}

.wp-employer-event-form__required,
.wp-employer-event-form__grid .wp-form-label__required {
  color: var(--wp-color-text-muted);
  font-style: normal;
  font-weight: 700;
  margin: 0;
}

.wp-employer-event-form__grid input,
.wp-employer-event-form__grid select,
.wp-employer-event-form__grid textarea {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  box-sizing: border-box;
  color: var(--wp-color-text);
  font: 1rem/1.35 var(--wp-font-sans);
  min-height: 50px;
  padding: var(--wp-space-sm) var(--wp-space-md);
  width: 100%;
}

.wp-employer-event-form__grid textarea {
  min-height: 108px;
  resize: vertical;
}

.wp-employer-event-form__grid input:focus,
.wp-employer-event-form__grid select:focus,
.wp-employer-event-form__grid textarea:focus {
  border-color: var(--wp-color-primary);
  outline: 2px solid var(--wp-color-primary-soft);
}

.wp-employer-event-form__grid .is-error {
  border-color: var(--wp-color-error);
}

.wp-employer-event-form__grid label small {
  color: var(--wp-color-error);
  font-size: 0.75rem;
}

/* DatePicker and the custom time <select> bring their own .wp-field
   wrapper/margin from fieldShared.css; neutralize that margin so they line
   up on the same grid rhythm as this form's other fields (spacing already
   comes from .wp-employer-event-form__grid's gap). */
.wp-employer-event-form__grid .wp-field {
  margin-bottom: 0;
}

.wp-employer-event-form__grid .wp-field__control {
  min-height: 50px;
}

.wp-employer-event-form__section-heading {
  border-bottom: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-lg);
  font-weight: 600;
  margin: var(--wp-space-xs) 0 0;
  padding-bottom: var(--wp-space-sm);
}

.wp-employer-event-form__loading {
  color: var(--wp-color-text-muted);
  padding: 48px 0;
  text-align: center;
}

.wp-employer-event-form__weather {
  background: var(--wp-color-bg);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  padding: var(--wp-space-lg);
}

.wp-employer-event-form__weather h2 {
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-lg);
  margin: 0 0 var(--wp-space-sm);
}

.wp-employer-event-form__weather-hint {
  color: var(--wp-color-text-muted);
  font-size: 0.875rem;
  margin: 0 0 var(--wp-space-md);
}

.wp-employer-event-form__weather .wp-validation-message {
  margin-top: var(--wp-space-sm);
}

.wp-employer-event-form__weather-result {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  box-shadow: none;
  margin-top: var(--wp-space-md);
  padding: var(--wp-space-lg);
}

.wp-employer-event-form__weather-result-title {
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-lg);
  font-weight: 700;
  margin: 0;
}

.wp-employer-event-form__weather-result-condition {
  color: var(--wp-color-text-muted);
  margin: var(--wp-space-xs) 0 var(--wp-space-md);
}

.wp-employer-event-form__weather-result-grid {
  display: grid;
  gap: var(--wp-space-md);
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  margin: 0;
}

.wp-employer-event-form__weather-result-grid dt {
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-sm);
}

.wp-employer-event-form__weather-result-grid dd {
  color: var(--wp-color-text);
  font-size: 1.125rem;
  font-weight: 700;
  margin: 2px 0 0;
}

.wp-employer-event-form__weather-result-time {
  border-top: 1px solid var(--wp-color-border);
  color: var(--wp-color-text-muted);
  font-size: 0.8125rem;
  margin: var(--wp-space-md) 0 0;
  padding-top: var(--wp-space-md);
}

.wp-employer-event-form__actions {
  border-top: 1px solid var(--wp-color-border);
  display: flex;
  gap: var(--wp-space-sm);
  justify-content: flex-end;
  margin-top: var(--wp-space-sm);
  padding-top: var(--wp-space-lg);
}

@media (max-width: 760px) {
  .wp-employer-event-form {
    padding: var(--wp-space-xl) var(--wp-space-md);
  }

  .wp-employer-event-form__modal-backdrop {
    padding: 0;
  }

  .wp-employer-event-form--modal {
    padding: 0;
    width: 100%;
  }

  .wp-employer-event-form--modal .wp-employer-event-form__card {
    border-radius: 0;
    min-height: 100vh;
  }

  .wp-employer-event-form__heading {
    align-items: stretch;
    flex-direction: column;
  }

  .wp-employer-event-form__grid {
    grid-template-columns: 1fr;
  }

  .wp-employer-event-form__wide {
    grid-column: auto;
  }
}

.wp-employer-event-form h1, .wp-employer-event-form h2 { font-family: var(--wp-font-display); font-weight: 500; color: var(--wp-color-text); }
.wp-employer-event-form button, .wp-employer-event-form select, .wp-employer-event-form input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }
.wp-prototype-events { background: transparent; color: var(--wp-color-text); }
.wp-prototype-events__main { background: var(--wp-color-bg); box-sizing: border-box; margin: 0 auto; min-height: calc(100vh - 76px); padding: 44px 54px 80px; width: min(1360px, calc(100% - 40px)); }
.wp-prototype-events__heading { align-items: center; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 28px; }
.wp-prototype-events__heading h1 { color: var(--wp-color-primary); font: 500 2.25rem/1.1 var(--wp-font-display); letter-spacing: -.025em; margin: 0 0 6px; }
.wp-prototype-events__heading p { color: var(--wp-color-text-muted); font-size: 1rem; line-height: 1.5; margin: 0; }
.wp-prototype-events__success, .wp-prototype-events__error { border-radius: 8px; margin-bottom: 18px; padding: 11px 14px; }
.wp-prototype-events__success { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); color: var(--wp-color-primary); font-size: .88rem; }
.wp-prototype-events__error { align-items: center; background: var(--wp-color-error-bg); border: 1px solid var(--wp-color-error); display: flex; justify-content: space-between; }
.wp-prototype-events__error .wp-validation-message { margin: 0; }
.wp-prototype-events__error button { background: var(--wp-color-error-bg); border: 1px solid var(--wp-color-error); border-radius: 6px; color: var(--wp-color-error); cursor: pointer; font: 600 .75rem/1 var(--wp-font-sans); padding: 7px 10px; }
.wp-prototype-events__panel { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: 12px; overflow: hidden; }
.wp-prototype-events__toolbar { align-items: center; display: flex; gap: 22px; justify-content: space-between; padding: 24px; }
.wp-prototype-events__toolbar h2 { color: var(--wp-color-primary); font: 500 1.25rem/1.2 var(--wp-font-display); margin: 0; }
.wp-prototype-events__toolbar > div { display: flex; gap: 8px; }
.wp-prototype-events__toolbar input, .wp-prototype-events__toolbar select { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: 8px; box-sizing: border-box; color: var(--wp-color-text); font: inherit; height: 48px; padding: 0 16px; }
.wp-prototype-events__toolbar input { width: 260px; }
.wp-prototype-events__toolbar input:focus, .wp-prototype-events__toolbar select:focus { border-color: var(--wp-color-primary); outline: 2px solid var(--wp-color-border); }
.wp-prototype-events__table-wrap { overflow-x: auto; }
.wp-prototype-events table { border-collapse: collapse; width: 100%; }
.wp-prototype-events th { background: var(--wp-color-surface); border-bottom: 1px solid var(--wp-color-border); border-top: 1px solid var(--wp-color-border); color: var(--wp-color-text-muted); font-size: .7rem; letter-spacing: .08em; padding: 14px 18px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.wp-prototype-events td { border-bottom: 1px solid var(--wp-color-border); padding: 20px 18px; vertical-align: middle; }
.wp-prototype-events th:first-child, .wp-prototype-events td:first-child { padding-left: 24px; }
.wp-prototype-events th:last-child, .wp-prototype-events td:last-child { padding-right: 24px; }
.wp-prototype-events tbody tr:last-child td { border-bottom: 0; }
.wp-prototype-events__event-row { cursor: pointer; }
.wp-prototype-events__event-row:hover, .wp-prototype-events__event-row:focus-visible { background: var(--wp-color-surface); box-shadow: none; outline: 0; }
.wp-prototype-events td > strong, .wp-prototype-events td > small, .wp-prototype-events td > span { display: block; }
.wp-prototype-events td > strong { color: var(--wp-color-primary); }
.wp-prototype-events td small { color: var(--wp-color-text-muted); font-size: .78rem; margin-top: 4px; }
.wp-prototype-events__date-location { max-width: 260px; min-width: 190px; }
.wp-prototype-events__date-location small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wp-prototype-events__empty { color: var(--wp-color-text-muted); padding: 52px !important; text-align: center; }
.wp-event-status { border-radius: 999px; display: inline-flex !important; font-size: .75rem; padding: 6px 10px; white-space: nowrap; }
.wp-event-status--published { background: var(--wp-color-primary-soft); color: var(--wp-color-primary); }
.wp-event-status--completed { background: var(--wp-color-primary-soft); color: var(--wp-color-text); }
.wp-event-status--cancelled { background: var(--wp-color-error-bg); color: var(--wp-color-error); }
.wp-event-status--draft { background: var(--wp-color-primary-soft); color: var(--wp-color-text-muted); }
.wp-prototype-events__actions { display: flex; gap: 8px; }
.wp-prototype-events__actions button { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: 6px; color: var(--wp-color-primary); cursor: pointer; font: 600 .75rem/1 var(--wp-font-sans); padding: 7px 10px; }
.wp-prototype-events__actions button:hover { background: var(--wp-color-surface); }
.wp-prototype-events__actions button:disabled { background: var(--wp-color-surface); color: var(--wp-color-text-muted); cursor: not-allowed; }
@media (max-width: 900px) { .wp-prototype-events__main { padding-inline: 30px; } .wp-prototype-events td, .wp-prototype-events th { padding-inline: 14px; } }
@media (max-width: 760px) { .wp-prototype-events__main { padding: 30px 18px 60px; width: 100%; } .wp-prototype-events__heading, .wp-prototype-events__toolbar { align-items: stretch; flex-direction: column; } .wp-prototype-events__heading .wp-button { width: 100%; } .wp-prototype-events__toolbar > div { flex-direction: column; } .wp-prototype-events__toolbar input, .wp-prototype-events__toolbar select { width: 100%; } }
.wp-prototype-events__pagination {
  padding: var(--wp-space-lg) var(--wp-space-md);
}

.wp-prototype-events { color: var(--wp-color-text); }
.wp-prototype-events__main { background: transparent; min-width: 0; width: 100%; padding: 32px 24px calc(104px + env(safe-area-inset-bottom, 0px)); }
.wp-prototype-events__heading h1, .wp-prototype-events__toolbar h2 { font-family: var(--wp-font-display); font-weight: 500; color: var(--wp-color-text); }
.wp-prototype-events__panel { border-radius: var(--wp-radius-card); }
.wp-prototype-events__table-wrap { max-width: 100%; overflow-x: auto; max-height: 65vh; }
.wp-prototype-events th { position: sticky; top: 0; z-index: 1; color: var(--wp-color-text-muted); font-size: 11px; letter-spacing: .14em; background: var(--wp-color-surface); }
.wp-prototype-events tbody tr:hover { background: var(--wp-color-hover); }
.wp-prototype-events button, .wp-prototype-events select, .wp-prototype-events input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }
.wp-prototype-events button:focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }
@media (max-width: 600px) { .wp-prototype-events__main { padding-inline: 16px; } .wp-prototype-events__toolbar { align-items: stretch; flex-direction: column; } .wp-prototype-events__toolbar > div { flex-wrap: wrap; } .wp-prototype-events__toolbar input { width: 100%; min-width: 0; } }

.wp-prototype-events__event-row td:first-child a { display: inline-flex; align-items: center; min-height: 44px; color: var(--wp-color-primary); }
.employer-event-registrants__container { box-sizing: border-box; margin: 0 auto; max-width: 1200px; padding: var(--wp-space-2xl) var(--wp-space-xl); width: 100%; }
.employer-event-registrants__back { background: transparent; border: 0; color: var(--wp-color-primary); cursor: pointer; font: inherit; font-size: var(--wp-font-size-sm); font-weight: 700; padding: 0; }
.employer-event-registrants__back:hover, .employer-event-registrants__back:focus-visible { text-decoration: underline; }
.employer-event-registrants__header { align-items: center; display: flex; gap: var(--wp-space-xl); justify-content: space-between; margin: var(--wp-space-xl) 0; }
.employer-event-registrants__eyebrow { color: var(--wp-color-primary); font-size: var(--wp-font-size-sm); font-weight: 700; letter-spacing: .08em; margin: 0 0 var(--wp-space-xs); text-transform: uppercase; }
.employer-event-registrants__header h1 { color: var(--wp-color-text); font-size: clamp(1.8rem, 4vw, 2.5rem); letter-spacing: -.035em; line-height: 1.15; margin: 0; }
.employer-event-registrants__meta { color: var(--wp-color-text-muted); font-size: var(--wp-font-size-md); margin: var(--wp-space-sm) 0 0; }
.employer-event-registrants__header-count { align-items: center; background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-md); box-shadow: none; box-sizing: border-box; color: var(--wp-color-primary); display: flex; flex-direction: column; min-width: 142px; padding: var(--wp-space-md) var(--wp-space-lg); text-align: center; }
.employer-event-registrants__header-count strong { color: var(--wp-color-primary); font-size: clamp(2rem, 4vw, 2.5rem); line-height: 1; }
.employer-event-registrants__header-count span { color: var(--wp-color-text-muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; margin-top: 6px; text-transform: uppercase; }
.employer-event-registrants__panel { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-lg); box-shadow: none; overflow: hidden; }
.employer-event-registrants__panel-header { border-bottom: 1px solid var(--wp-color-border); padding: var(--wp-space-xl); }
.employer-event-registrants__panel-header h2 { color: var(--wp-color-text); font-size: var(--wp-font-size-lg); margin: 0 0 var(--wp-space-xs); }
.employer-event-registrants__panel-header p { color: var(--wp-color-text-muted); font-size: var(--wp-font-size-sm); margin: 0; }
.employer-event-registrants__table-header, .employer-event-registrants__row { align-items: center; column-gap: var(--wp-space-md); display: grid; grid-template-columns: minmax(240px, 1.4fr) 130px 130px; padding: var(--wp-space-md) var(--wp-space-xl); }
.employer-event-registrants__table-header { background: var(--wp-color-neutral-bg); color: var(--wp-color-text-muted); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.employer-event-registrants__row { border-bottom: 1px solid var(--wp-color-border); color: var(--wp-color-text); }
.employer-event-registrants__row:last-child { border-bottom: 0; }
.employer-event-registrants__candidate { align-items: center; display: flex; gap: var(--wp-space-sm); min-width: 0; }
.employer-event-registrants__candidate > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.employer-event-registrants__candidate strong { color: var(--wp-color-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employer-event-registrants__candidate small { color: var(--wp-color-text-muted); font-size: .75rem; margin-top: 3px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.employer-event-registrants__avatar { align-items: center; background: var(--wp-color-primary-soft); border-radius: 50%; color: var(--wp-color-primary); display: inline-flex; flex: 0 0 38px; font-size: var(--wp-font-size-sm); font-weight: 700; height: 38px; justify-content: center; }
.employer-event-registrants__date { color: var(--wp-color-text-muted); font-size: var(--wp-font-size-sm); }
.employer-event-registrants__status { background: var(--wp-color-primary-soft); border-radius: var(--wp-radius-pill); color: var(--wp-color-text); display: inline-flex; font-size: .72rem; font-weight: 700; padding: 5px 9px; }
.employer-event-registrants__status--waitlisted { background: var(--wp-color-primary-soft); color: var(--wp-color-text-muted); }
.employer-event-registrants__status--cancelled { background: var(--wp-color-error-bg); color: var(--wp-color-error); }
.employer-event-registrants__error { background: var(--wp-color-error-bg); border: 1px solid var(--wp-color-error); border-radius: var(--wp-radius-lg); color: var(--wp-color-error); margin-top: var(--wp-space-xl); padding: var(--wp-space-xl); }
.employer-event-registrants__error h1 { font-size: var(--wp-font-size-lg); margin: 0 0 var(--wp-space-sm); }
.employer-event-registrants__error p { margin: 0; }
@media (max-width: 760px) { .employer-event-registrants__container { padding: var(--wp-space-xl) var(--wp-space-md); } .employer-event-registrants__header { align-items: flex-start; flex-direction: column; } .employer-event-registrants__header-count { align-self: stretch; } .employer-event-registrants__table { overflow-x: auto; } .employer-event-registrants__table-header, .employer-event-registrants__row { grid-template-columns: minmax(220px, 1.4fr) 120px 120px; min-width: 520px; } }

.employer-event-registrants__container { min-width: 0; }
.employer-event-registrants__header h1 { font-family: var(--wp-font-display); font-weight: 500; }
.employer-event-registrants__back { min-height: 44px; }
.wp-employer-profile { background: transparent; color: var(--wp-color-text); min-width: 0; }
.wp-employer-profile__workspace { background: var(--wp-color-surface); box-sizing: border-box; margin: 0 auto; max-width: 1360px; min-height: calc(100vh - 76px); padding: 44px 54px 80px; width: calc(100% - 40px); }
.wp-employer-profile__heading { margin-bottom: 24px; }
.wp-employer-profile__heading h1 { color: var(--wp-color-primary); font: 500 2.25rem/1.1 var(--wp-font-display); letter-spacing: -.025em; margin: 0 0 6px; }
.wp-employer-profile__heading p { color: var(--wp-color-text-muted); font-size: 1rem; line-height: 1.5; margin: 0; }
.wp-employer-profile__summary, .wp-employer-profile__details { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-card); box-shadow: none; }
.wp-employer-profile__summary { align-items: center; display: flex; gap: 22px; padding: 28px; }
.wp-employer-profile__logo-fallback { background: var(--wp-color-primary); border-radius: 10px; color: var(--wp-color-primary-contrast); display: grid; flex: 0 0 auto; font-family: var(--wp-font-sans); font-size: 1.45rem; font-weight: 600; height: 64px; place-items: center; width: 64px; }
.wp-employer-profile__logo { border: 1px solid var(--wp-color-border); border-radius: 10px; flex: 0 0 auto; height: 64px; object-fit: cover; width: 64px; }
.wp-employer-profile__summary-copy { flex: 1; min-width: 0; }
.wp-employer-profile__summary h2, .wp-employer-profile__details h2 { color: var(--wp-color-primary-deep); font: 700 1.45rem/1.2 var(--wp-font-sans); margin: 0 0 7px; }
.wp-employer-profile__summary p { color: var(--wp-color-text-muted); margin: 0; }
.wp-employer-profile__details { margin-top: 16px; overflow: hidden; }
.wp-employer-profile__form { background: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-card); box-shadow: none; margin-top: 24px; overflow: hidden; }
.wp-employer-profile__card-heading { align-items: center; border-bottom: 1px solid var(--wp-color-border); display: flex; gap: 20px; justify-content: space-between; padding: 26px 28px 20px; }
.wp-employer-profile__card-heading p { color: var(--wp-color-text-muted); font-size: .72rem; font-weight: 750; letter-spacing: .08em; margin: 0 0 5px; text-transform: uppercase; }
.wp-employer-profile__card-heading h2 { margin: 0; }
.wp-employer-profile__details dl { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; }
.wp-employer-profile__details dl div { border-bottom: 1px solid var(--wp-color-border); border-right: 1px solid var(--wp-color-border); min-width: 0; padding: 24px 28px; }
.wp-employer-profile__details dl div:nth-child(3n) { border-right: 0; }
.wp-employer-profile__details dt { color: var(--wp-color-text-muted); font-size: .76rem; font-weight: 650; margin-bottom: 8px; }
.wp-employer-profile__details dd { color: var(--wp-color-text); font-size: .95rem; margin: 0; overflow-wrap: anywhere; }
.wp-employer-profile__details a { color: var(--wp-color-primary); overflow-wrap: anywhere; }
.wp-employer-profile__form-grid { display: grid; gap: var(--wp-space-lg); grid-template-columns: repeat(2,minmax(0,1fr)); padding: 28px; }
.wp-employer-profile__description-field { grid-column: 1 / -1; }
.wp-employer-profile__form-actions { display: flex; gap: 12px; justify-content: flex-end; padding: 20px 28px 28px; }
.wp-employer-profile__workspace > .wp-loader, .wp-employer-profile__workspace > .wp-empty-state { justify-content: center; min-height: 260px; }
@media (max-width:900px) { .wp-employer-profile__details dl { grid-template-columns: repeat(2,minmax(0,1fr)); } .wp-employer-profile__details dl div:nth-child(3n) { border-right: 1px solid var(--wp-color-border); } .wp-employer-profile__details dl div:nth-child(2n) { border-right: 0; } }
@media (max-width:760px) { .wp-employer-profile__workspace { padding: 30px 18px 60px; width: 100%; } .wp-employer-profile__summary { align-items: flex-start; flex-direction: column; } .wp-employer-profile__summary .wp-button { width: 100%; } .wp-employer-profile__form-grid { grid-template-columns: 1fr; padding: 22px; } .wp-employer-profile__description-field { grid-column: auto; } .wp-employer-profile__form-actions { flex-direction: column-reverse; padding: 18px 22px 22px; } .wp-employer-profile__form-actions .wp-button { width: 100%; } .wp-employer-profile__card-heading { align-items: flex-start; flex-direction: column; } .wp-employer-profile__details dl { grid-template-columns: 1fr; } .wp-employer-profile__details dl div, .wp-employer-profile__details dl div:nth-child(2n), .wp-employer-profile__details dl div:nth-child(3n) { border-right: 0; } }

.wp-employer-profile h1, .wp-employer-profile h2 { font-family: var(--wp-font-display); font-weight: 500; color: var(--wp-color-text); }
.wp-employer-profile button, .wp-employer-profile select, .wp-employer-profile input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }

.wp-employer-profile__summary h2, .wp-employer-profile__details h2 { color: var(--wp-color-text); }
.wp-employer-profile__workspace { background: transparent; }
.job-seeker-dashboard {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: var(--wp-space-xl);
  background: var(--wp-color-bg);
}

.job-seeker-dashboard__card {
  width: min(680px, 100%);
  padding: clamp(var(--wp-space-xl), 5vw, 48px);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-lg);
  box-shadow: none;
}

.job-seeker-dashboard__eyebrow {
  margin: 0 0 var(--wp-space-sm);
  color: var(--wp-color-primary);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.job-seeker-dashboard h1 {
  margin: 0;
  color: var(--wp-color-text);
  font-size: clamp(2rem, 5vw, 3rem);
}

.job-seeker-dashboard__intro {
  margin: var(--wp-space-md) 0 0;
  color: var(--wp-color-text-muted);
  line-height: 1.6;
}

.job-seeker-dashboard__resume-form {
  display: grid;
  gap: var(--wp-space-sm);
  margin-top: var(--wp-space-xl);
}

.job-seeker-dashboard__resume-form label {
  color: var(--wp-color-text);
  font-weight: 700;
}

.job-seeker-dashboard__resume-form input[type='file'] {
  width: 100%;
  padding: var(--wp-space-md);
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
}

.job-seeker-dashboard__hint,
.job-seeker-dashboard__selected-file,
.job-seeker-dashboard__message {
  margin: 0;
  font-size: var(--wp-font-size-sm);
}

.job-seeker-dashboard__hint,
.job-seeker-dashboard__selected-file {
  color: var(--wp-color-text-muted);
}

.job-seeker-dashboard__message--error {
  color: var(--wp-color-error);
}

.job-seeker-dashboard__message--success {
  color: var(--wp-color-text);
}

.job-seeker-dashboard__jobs-card {
  width: min(980px, 100%);
  margin-top: var(--wp-space-xl);
  padding: clamp(var(--wp-space-xl), 5vw, 48px);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-lg);
  box-shadow: none;
}

.job-seeker-dashboard__jobs-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-lg);
}

.job-seeker-dashboard__jobs-header .job-seeker-dashboard__eyebrow {
  margin-bottom: var(--wp-space-xs);
}

.job-seeker-dashboard__jobs-header h2 {
  margin: 0;
  color: var(--wp-color-text);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
}

.job-seeker-dashboard__jobs-header .job-seeker-dashboard__intro {
  max-width: 680px;
}

.job-seeker-dashboard__jobs-list {
  display: grid;
  gap: var(--wp-space-md);
  margin-top: var(--wp-space-xl);
}

.job-seeker-dashboard__job-card {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-lg);
  padding: var(--wp-space-lg);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  background: var(--wp-color-bg);
}

.job-seeker-dashboard__job-copy {
  min-width: 0;
  flex: 1;
}

.job-seeker-dashboard__job-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-md);
}

.job-seeker-dashboard__job-heading h3 {
  margin: 0;
  color: var(--wp-color-primary);
  font-size: 1.3rem;
}

.job-seeker-dashboard__job-meta,
.job-seeker-dashboard__job-description,
.job-seeker-dashboard__job-details {
  margin: var(--wp-space-xs) 0 0;
  color: var(--wp-color-text-muted);
  line-height: 1.5;
}

.job-seeker-dashboard__job-description {
  color: var(--wp-color-text);
}

.job-seeker-dashboard__application-status {
  flex-shrink: 0;
  padding: 0.35rem 0.7rem;
  color: var(--wp-color-accent-cyan, var(--wp-color-primary));
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 999px;
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
}

.job-seeker-dashboard__application-status--applied {
  color: var(--wp-color-primary);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

.job-seeker-dashboard__job-details {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-md);
  font-size: var(--wp-font-size-sm);
}

.job-seeker-dashboard__job-skills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-xs);
  margin-top: var(--wp-space-md);
}

.job-seeker-dashboard__job-skills span {
  padding: 0.3rem 0.6rem;
  color: var(--wp-color-text, var(--wp-color-primary-contrast));
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 999px;
  font-size: var(--wp-font-size-sm);
}

[data-theme="light"] .job-seeker-dashboard__application-status {
  color: var(--wp-color-primary);
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .job-seeker-dashboard__application-status--applied {
  color: var(--wp-color-primary);
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .job-seeker-dashboard__job-skills span {
  color: var(--wp-color-primary);
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

@media (max-width: 700px) {
  .job-seeker-dashboard__jobs-header,
  .job-seeker-dashboard__job-card {
    flex-direction: column;
  }

  .job-seeker-dashboard__job-card .wp-button {
    width: 100%;
  }

  .job-seeker-dashboard__job-heading {
    flex-direction: column;
  }
}

/* Employer Dashboard's Georgia-serif greeting is an intentional employer-brand
   style (see EmployerLayout.css). It leaks onto Job Seeker Dashboard because
   JobSeekerDashboardPage.jsx reuses that CSS file's classes. Override back to
   the standard sans-serif heading style used on every other job seeker page. */
.job-seeker-dashboard__greeting.employer-dashboard__greeting h1 {
  font-family: var(--wp-font-sans);
  color: var(--wp-color-text);
}

.job-seeker-dashboard__greeting.employer-dashboard__greeting h1 { font-family: var(--wp-font-display); }
.job-seeker-shell__workspace { box-sizing:border-box; width:100%; min-width:0; }
.job-seeker-shell.wp-workspace .employer-dashboard__container { background:transparent; min-height:0; padding:0; width:100%; max-width:none; margin:0; }
.wp-job-seeker-applications__card {
  padding: 0;
}

.wp-job-seeker-applications__row {
  display: block;
  width: 100%;
  margin: 0;
  padding: var(--wp-space-lg);
  border: none;
  border-radius: var(--wp-radius-card);
  background: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.wp-job-seeker-applications__row:hover,
.wp-job-seeker-applications__row:focus-visible {
  background-color: var(--wp-color-neutral-bg);
}

.wp-job-seeker-applications__row p {
  margin: 0 0 4px;
}
.wp-job-seeker-notifications__list {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-sm);
}

.wp-job-seeker-notifications__item-button {
  background: none;
  border: none;
  cursor: pointer;
  display: block;
  padding: 0;
  text-align: left;
  width: 100%;
}

.wp-job-seeker-notifications__card--unread {
  background-color: var(--wp-color-info-bg);
}

.wp-job-seeker-notifications__title {
  color: var(--wp-color-text);
  font-weight: 600;
  margin: 0;
}

.wp-job-seeker-notifications__message {
  color: var(--wp-color-text-muted);
  margin: var(--wp-space-xs) 0 0;
}

.wp-job-seeker-notifications__timestamp {
  color: var(--wp-color-text-muted);
  font-size: 0.75rem;
  margin: var(--wp-space-xs) 0 0;
}
.wp-change-password-page {
  max-width: 560px;
  margin: 0 auto;
  padding: var(--wp-space-xl) var(--wp-space-lg);
}

.wp-change-password-page__toast {
  margin-bottom: var(--wp-space-md);
}

.wp-change-password-page__card {
  padding: var(--wp-space-xl);
  box-shadow: 0 10px 30px rgba(15, 74, 58, 0.12);
}

.wp-change-password-page__form {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-lg);
}

.wp-change-password-page__actions {
  display: flex;
  gap: var(--wp-space-sm);
  justify-content: flex-end;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .wp-change-password-page {
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .wp-change-password-page {
    max-width: 100%;
    padding: var(--wp-space-lg) var(--wp-space-md);
  }

  .wp-change-password-page__card {
    padding: var(--wp-space-lg);
  }
}
.wp-contact-us {
  box-sizing: border-box;
  width: min(100%, 1120px);
  min-height: calc(100vh - 76px);
  margin: 0 auto;
  padding: clamp(32px, 5vw, 66px) clamp(18px, 4vw, 48px) 72px;
  color: var(--wp-color-text);
}

.wp-contact-us__intro {
  max-width: 42rem;
}

.wp-contact-us__eyebrow {
  margin: 0 0 10px;
  color: var(--wp-color-primary);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.wp-contact-us__intro h1 {
  margin: 0;
  color: var(--wp-color-text);
  font-size: clamp(2.1rem, 4vw, 3.1rem);
  font-weight: 750;
  letter-spacing: -0.055em;
  line-height: 1.04;
}

.wp-contact-us__intro > p:last-child {
  margin: 16px 0 0;
  color: var(--wp-color-text-muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

.wp-contact-us__details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 36px;
}

.wp-contact-us__card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  min-height: 122px;
  box-sizing: border-box;
  padding: 23px;
  border: 1px solid var(--wp-color-border);
  border-radius: 17px;
  background: var(--wp-color-surface);
  box-shadow: none;
}

a.wp-contact-us__card {
  color: inherit;
  text-decoration: none;
  transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

a.wp-contact-us__card:hover {
  border-color: var(--wp-color-border);
  box-shadow: none;
  transform: translateY(-2px);
}

.wp-contact-us__icon {
  display: grid;
  width: 40px;
  height: 40px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  background: var(--wp-color-surface);
  color: var(--wp-color-primary);
}

.wp-contact-us__icon svg {
  width: 21px;
  height: 21px;
}

.wp-contact-us__card-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.wp-contact-us__card-copy small {
  color: var(--wp-color-text-muted);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.wp-contact-us__card-copy strong {
  color: var(--wp-color-text);
  font-size: 1rem;
  font-weight: 720;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.wp-contact-us__card-copy > span {
  color: var(--wp-color-text-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.wp-contact-us__note {
  max-width: 48rem;
  margin-top: 30px;
  padding: 23px 25px;
  border-radius: 17px;
  background: var(--wp-color-surface);
}

.wp-contact-us__note h2 {
  margin: 0;
  color: var(--wp-color-primary);
  font-size: 1rem;
  font-weight: 750;
}

.wp-contact-us__note p {
  margin: 8px 0 0;
  color: var(--wp-color-text-muted);
  font-size: 0.89rem;
  line-height: 1.6;
}

.wp-contact-us a:focus-visible {
  outline: 3px solid var(--wp-color-primary);
  outline-offset: 3px;
}

@media (max-width: 700px) {
  .wp-contact-us__details {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }

  .wp-contact-us__card {
    min-height: 0;
    padding: 20px;
  }
}

.wp-contact-us h1, .wp-contact-us h2 { font-family: var(--wp-font-display); font-weight: 500; color: var(--wp-color-text); }
.wp-contact-us button, .wp-contact-us select, .wp-contact-us input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }
.wp-profile-page {
  max-width: 960px;
  margin: 0 auto;
  padding: var(--wp-space-xl) var(--wp-space-lg);
}

.wp-profile-page__summary .wp-card__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-md);
  flex-wrap: wrap;
}

.wp-profile-page__identity {
  display: flex;
  align-items: center;
  gap: var(--wp-space-md);
}

.wp-profile-page__name {
  font-size: var(--wp-font-size-lg);
  font-weight: 500;
  color: var(--wp-color-text);
  margin: 0;
}

.wp-profile-page__subtitle {
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
  margin: 4px 0 0;
}

.wp-profile-page__summary-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: var(--wp-space-sm);
}

.wp-profile-page__completion {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

.wp-profile-page__completion-track {
  width: 80px;
  height: 5px;
  border-radius: var(--wp-radius-sm);
  background-color: var(--wp-color-neutral-bg);
  overflow: hidden;
}

.wp-profile-page__completion-fill {
  height: 100%;
  background-color: var(--wp-color-primary);
  border-radius: var(--wp-radius-sm);
}

.wp-profile-page__stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--wp-space-md);
  margin-bottom: var(--wp-space-md);
}

.wp-profile-page__link {
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-primary);
  text-decoration: none;
}

.wp-profile-page__link:hover {
  text-decoration: underline;
}

.wp-profile-page__application-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-md);
  width: 100%;
  margin: 0;
  padding: var(--wp-space-sm) var(--wp-space-xs);
  border: none;
  border-radius: var(--wp-radius-sm);
  background: none;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.wp-profile-page__application-row:hover,
.wp-profile-page__application-row:focus-visible {
  background-color: var(--wp-color-neutral-bg);
}

@media (max-width: 640px) {
  .wp-profile-page__stats {
    grid-template-columns: repeat(2, 1fr);
  }
}

.wp-profile-page h1, .wp-profile-page h2 { font-family: var(--wp-font-display); font-weight: 500; color: var(--wp-color-text); }
.wp-profile-page button, .wp-profile-page select, .wp-profile-page input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }

.wp-profile-page__link { display: inline-flex; align-items: center; min-height: 44px; }
.wp-edit-profile-page {
  max-width: 640px;
  margin: 0 auto;
  padding: var(--wp-space-xl) var(--wp-space-lg);
}

.wp-edit-profile-page__back {
  display: inline-flex;
  align-items: center;
  gap: var(--wp-space-xs);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text);
  text-decoration: none;
  margin-bottom: var(--wp-space-md);
}

.wp-edit-profile-page__back:hover {
  text-decoration: underline;
}

.wp-edit-profile-page__title {
  font-size: 1.375rem;
  font-weight: 500;
  color: var(--wp-color-text);
  margin: 0 0 var(--wp-space-lg);
}

.wp-edit-profile-page__section-heading {
  font-size: var(--wp-font-size-md);
  font-weight: 500;
  color: var(--wp-color-text);
  border-bottom: 1px solid var(--wp-color-border);
  padding-bottom: var(--wp-space-sm);
  margin: var(--wp-space-lg) 0 var(--wp-space-md);
}

.wp-edit-profile-page__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wp-space-md);
}

.wp-edit-profile-page__pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-sm);
}

.wp-edit-profile-page__label {
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text);
  margin: 0 0 var(--wp-space-sm);
}

.wp-edit-profile-page__actions {
  display: flex;
  gap: var(--wp-space-sm);
  margin-top: var(--wp-space-xl);
}

@media (max-width: 560px) {
  .wp-edit-profile-page__grid {
    grid-template-columns: 1fr;
  }
}

.wp-edit-profile-page h1, .wp-edit-profile-page h2 { font-family: var(--wp-font-display); font-weight: 500; color: var(--wp-color-text); }
.wp-edit-profile-page button, .wp-edit-profile-page select, .wp-edit-profile-page input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }
.wp-salary-filter {
  position: relative;
}

/* Matches the size, spacing and border of the other filter-bar dropdowns
   (.wp-field__control), styled as a button since it opens a custom popover
   rather than a native <select>. */
.wp-salary-filter__trigger {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
  min-width: 160px;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  padding: var(--wp-space-md) var(--wp-space-md);
  cursor: pointer;
  transition: border-color var(--wp-transition-fast), box-shadow var(--wp-transition-fast);
}

.wp-salary-filter__trigger:hover {
  border-color: var(--wp-color-primary);
}

.wp-salary-filter__trigger span {
  flex: 1;
  text-align: left;
  white-space: nowrap;
}

.wp-salary-filter__chevron {
  flex-shrink: 0;
  color: var(--wp-color-text-muted);
}

.wp-salary-filter__panel {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  width: 270px;
  max-width: calc(100vw - 2 * var(--wp-space-md));
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  box-shadow: none;
  padding: 14px var(--wp-space-md);
  z-index: 100;
  box-sizing: border-box;
}

.wp-salary-filter__panel .wp-field {
  margin-bottom: 0;
}

.wp-salary-filter__panel .wp-form-label {
  font-size: 1rem;
  font-weight: 600;
  margin-bottom: 6px;
}

.wp-salary-filter__panel .wp-range-slider__values {
  margin-bottom: 6px;
}

.wp-salary-filter__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--wp-space-sm);
}

.wp-salary-filter__reset {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
  text-decoration: underline;
  cursor: pointer;
}

.wp-salary-filter__actions .wp-salary-filter__apply {
  width: 96px;
  font-size: var(--wp-font-size-sm);
  padding: 6px var(--wp-space-sm);
}
.wp-careers-page {
  background-color: transparent;
  min-height: 100%;
}

.wp-careers-page__content {
  max-width: 1180px;
  margin: 0 auto;
  padding: var(--wp-space-xl) var(--wp-space-xl) var(--wp-space-2xl);
}

/* Search bar: two SearchInput fields + a location icon merged into one bordered box */
.wp-careers-searchbar {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  padding: var(--wp-space-sm);
  margin-bottom: var(--wp-space-md);
}

.wp-careers-searchbar .wp-field__control {
  border: none;
  padding: var(--wp-space-sm) var(--wp-space-sm);
}

.wp-careers-searchbar .wp-field__control:focus {
  box-shadow: none;
}

.wp-careers-searchbar__loc {
  display: flex;
  align-items: center;
  gap: var(--wp-space-xs);
  flex: 1;
  border-left: 1px solid var(--wp-color-border);
  padding-left: var(--wp-space-sm);
  color: var(--wp-color-text-muted);
}

.wp-careers-searchbar__loc .wp-search-input {
  flex: 1;
}

/* Filter dropdown row (reuses the shared FilterBar layout) */
.wp-careers-filter-dropdown {
  margin-bottom: 0;
  min-width: 160px;
}

.wp-careers-filters__clear-all {
  margin-left: auto;
  background: none;
  border: none;
  padding: 0;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
  text-decoration: underline;
  cursor: pointer;
}

.wp-careers-filters__clear-all:hover {
  color: var(--wp-color-text);
}

/* Results row */
.wp-careers-results-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: var(--wp-space-sm);
}

.wp-careers-eyebrow {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--wp-color-text-muted);
}

.wp-careers-results-count {
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

/* Split layout */
.wp-careers-split {
  grid-template-columns: 2fr 3fr;
}

/* Job list scrolls independently; detail pane stays in view (same technique as Events) */
.wp-careers-split .wp-two-column__main {
  max-height: 680px;
  overflow-y: auto;
  padding-right: var(--wp-space-xs);
}

.wp-careers-split .wp-two-column__main::-webkit-scrollbar {
  width: 4px;
}

.wp-careers-split .wp-two-column__main::-webkit-scrollbar-track {
  background: transparent;
}

.wp-careers-split .wp-two-column__main::-webkit-scrollbar-thumb {
  background-color: var(--wp-color-border);
  border-radius: var(--wp-radius-pill);
}

.wp-careers-split .wp-two-column__side {
  position: sticky;
  top: var(--wp-space-lg);
}

@media (max-width: 900px) {
  .wp-careers-split {
    grid-template-columns: 1fr;
  }

  .wp-careers-split .wp-two-column__side {
    position: static;
  }
}

/* Job list column */
.wp-careers-group-label {
  margin: 0 0 var(--wp-space-sm);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--wp-color-text-muted);
}

.wp-careers-list {
  display: flex;
  flex-direction: column;
}

.wp-careers-list__item {
  display: block;
  width: 100%;
  text-align: left;
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-sm);
  padding: var(--wp-space-sm) var(--wp-space-sm);
  margin-bottom: var(--wp-space-xs);
  cursor: pointer;
  font: inherit;
  color: inherit;
  transition: background-color var(--wp-transition-fast), border-color var(--wp-transition-fast),
    box-shadow var(--wp-transition-fast);
}

.wp-careers-list__item--selected {
  background-color: var(--wp-color-primary-soft);
  border-color: var(--wp-color-primary);
  box-shadow: none;
}

.wp-careers-list__title {
  margin: 0 0 3px;
  font-size: var(--wp-font-size-md);
  font-weight: 600;
  color: var(--wp-color-text);
}

.wp-careers-list__subtitle {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

/* Detail column */
.wp-careers-detail-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-md);
  margin-bottom: var(--wp-space-md);
}

.wp-careers-job-id-tag {
  margin: 0 0 var(--wp-space-xs);
  font-family: var(--mono, ui-monospace, Consolas, monospace);
  font-size: 0.75rem;
  color: var(--wp-color-text-muted);
}

.wp-careers-detail-title {
  margin: 0 0 4px;
  font-family: var(--wp-font-sans);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--wp-color-text);
}

.wp-careers-detail-company {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

.wp-careers-facts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--wp-space-md) var(--wp-space-lg);
  margin-bottom: var(--wp-space-lg);
  padding-bottom: var(--wp-space-md);
  border-bottom: 1px solid var(--wp-color-border);
}

@media (max-width: 900px) {
  .wp-careers-facts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.wp-careers-facts-k {
  margin: 0 0 4px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--wp-color-text-muted);
}

.wp-careers-facts-v {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  font-weight: 500;
  color: var(--wp-color-text);
}

.wp-careers-section-label {
  margin: 0 0 var(--wp-space-sm);
  font-size: var(--wp-font-size-sm);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--wp-color-text-muted);
}

.wp-careers-body-copy {
  margin: 0 0 var(--wp-space-lg);
  font-size: var(--wp-font-size-md);
  line-height: 1.65;
  color: var(--wp-color-text);
  white-space: pre-line;
}

.wp-careers-skill-tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-sm);
}

/* Toast position */
.wp-careers-page__toast-container {
  position: fixed;
  bottom: var(--wp-space-xl);
  right: var(--wp-space-xl);
  z-index: 100;
}

.wp-careers-list__item { border-radius: var(--wp-radius-card); padding: 16px; margin-bottom: 8px; min-height: 44px; }
.wp-careers-list__item--selected { border-inline-start: 4px solid var(--wp-color-primary); }
.wp-careers-list__item:hover { background: var(--wp-color-hover); }
.wp-careers-list__title, .wp-careers-detail-title { font-family: var(--wp-font-display); font-weight: 500; font-size: 1.25rem; }
.wp-careers-eyebrow, .wp-careers-group-label, .wp-careers-section-label { font-size: 11px; font-weight: 600; letter-spacing: .14em; }
.wp-careers-filters__clear-all { min-height: 44px; padding-inline: 8px; }
@media (max-width: 700px) { .wp-careers-page__content { padding: 24px 16px 104px; } .wp-careers-split .wp-two-column__main { max-height: none; overflow: visible; } }

#workspace-content .wp-careers-list__title, #workspace-content .wp-careers-detail-title { font-family: var(--wp-font-display); font-weight: 500; }
#workspace-content .wp-careers-page :is(input, select) { background-color: var(--wp-color-surface); color: var(--wp-color-text); border-color: var(--wp-color-border); }
@media (max-width: 600px) { .wp-careers-searchbar { flex-wrap: wrap; } .wp-careers-searchbar > .wp-search-input, .wp-careers-searchbar__loc { flex: 1 1 100%; } .wp-careers-searchbar__loc { border-left: 0; padding-left: 0; } .wp-careers-searchbar > button { width: 100%; } }
.wp-job-detail__back {
  padding: var(--wp-space-lg) var(--wp-space-lg) 0;
}

.wp-job-detail__back a {
  color: var(--wp-color-primary);
  text-decoration: none;
}

.wp-job-detail__content {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-md);
  padding: var(--wp-space-lg);
}

.wp-job-detail__content > .wp-toast {
  align-self: flex-start;
}

.wp-job-detail__meta,
.wp-job-detail__salary,
.wp-job-detail__status,
.wp-job-detail__code,
.wp-job-detail__dates {
  margin: 0 0 var(--wp-space-xs);
  color: var(--wp-color-text-muted);
}

.wp-job-detail__description {
  white-space: pre-line;
  color: var(--wp-color-text);
  margin: 0;
}

.wp-job-detail__skills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-sm);
  list-style: none;
  margin: 0;
  padding: 0;
}
.wp-job-apply__content {
  max-width: 1180px;
  margin: 0 auto;
  padding: var(--wp-space-lg) var(--wp-space-xl) var(--wp-space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-md);
}

.wp-job-apply__content > .wp-toast {
  align-self: flex-start;
}

.wp-job-apply__facts-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--wp-space-md) var(--wp-space-lg);
}

@media (max-width: 900px) {
  .wp-job-apply__facts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.wp-job-apply__k {
  margin: 0 0 4px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--wp-color-text-muted);
}

.wp-job-apply__v {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  font-weight: 500;
  color: var(--wp-color-text);
}

.wp-job-apply__description {
  white-space: pre-line;
  color: var(--wp-color-text);
  margin: 0;
  line-height: 1.65;
}

.wp-job-apply__skills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp-space-sm);
  list-style: none;
  margin: 0;
  padding: 0;
}

.wp-job-apply__skillmatch {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-sm);
}

.wp-job-apply__sm-item {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

.wp-job-apply__sm-dot {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: var(--wp-color-primary-soft);
  color: var(--wp-color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 0.7rem;
}

.wp-job-apply__sm-item--miss .wp-job-apply__sm-dot {
  background-color: var(--wp-color-warning-soft, var(--wp-color-surface));
  color: var(--wp-color-warning, var(--wp-color-text-muted));
}

.wp-job-apply__sm-label {
  font-weight: 500;
  color: var(--wp-color-text);
}

.wp-job-apply__sm-src {
  font-size: 0.75rem;
  color: var(--wp-color-text-muted);
  margin-left: auto;
}

.wp-job-apply__sm-note {
  margin: var(--wp-space-md) 0 0;
  font-size: 0.75rem;
  color: var(--wp-color-text-muted);
}

.wp-job-apply__panel {
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  padding: var(--wp-space-lg);
  position: sticky;
  top: var(--wp-space-lg);
}

.wp-job-apply__panel-title {
  margin: 0 0 4px;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--wp-color-text);
}

.wp-job-apply__panel-lede {
  margin: 0 0 var(--wp-space-md);
  font-size: 0.75rem;
  color: var(--wp-color-text-muted);
}

.wp-job-apply__grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--wp-space-sm);
}

.wp-job-apply__submit {
  margin-top: var(--wp-space-sm);
}

.wp-job-apply__view-status {
  margin-top: var(--wp-space-sm);
}

.wp-job-apply__deadline-note {
  font-size: 0.75rem;
  color: var(--wp-color-text-muted);
  text-align: center;
  margin: var(--wp-space-sm) 0 0;
}

@media (max-width: 768px) {
  .wp-job-apply__content {
    padding: var(--wp-space-md);
  }

  .wp-job-apply__panel {
    position: static;
  }
}
.wp-event-list-item {
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-xs);
  width: 100%;
  padding: var(--wp-space-md);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  cursor: pointer;
  text-align: left;
  transition: border-color var(--wp-transition-fast), box-shadow var(--wp-transition-fast);
  margin-bottom: var(--wp-space-sm);
}

.wp-event-list-item:hover {
  border-color: var(--wp-color-primary);
  box-shadow: none;
}

.wp-event-list-item--selected {
  border-color: var(--wp-color-primary);
  background-color: var(--wp-color-primary-soft);
  box-shadow: none;
}

.wp-event-list-item__top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-sm);
}

.wp-event-list-item__title {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  font-weight: 600;
  color: var(--wp-color-text);
  line-height: 1.3;
}

.wp-event-list-item__meta {
  display: flex;
  align-items: center;
  gap: var(--wp-space-xs);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
}

.wp-event-list-item__sep {
  color: var(--wp-color-border);
}

.wp-event-list-item { border-radius: var(--wp-radius-card); min-height: 44px; }
.wp-event-list-item--selected { border-inline-start: 4px solid var(--wp-color-primary); }
.wp-event-list-item__title { font: 500 1.25rem/1.3 var(--wp-font-display); }
.wp-event-list-item__meta { flex-wrap: wrap; }
.wp-event-list-item:hover { background: var(--wp-color-hover); }

#workspace-content .wp-event-list-item__title { font-family: var(--wp-font-display); font-weight: 500; }
.wp-event-detail {
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-card);
  padding: var(--wp-space-xl);
}

/* Header: title block + calendar button */
.wp-event-detail__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-lg);
  margin-bottom: var(--wp-space-xl);
}

.wp-event-detail__title-group {
  flex: 1;
}

.wp-event-detail__title {
  font-family: var(--wp-font-sans);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--wp-color-text);
  margin: 0 0 var(--wp-space-xs);
  line-height: 1.25;
}

.wp-event-detail__host {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text-muted);
  margin: 0;
}

/* Facts grid */
.wp-event-detail__facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--wp-space-md) var(--wp-space-xl);
  margin-bottom: var(--wp-space-xl);
  padding: var(--wp-space-lg);
  background-color: var(--wp-color-bg);
  border-radius: var(--wp-radius-md);
  border: 1px solid var(--wp-color-border);
}

.wp-event-detail__fact {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wp-event-detail__fact-label {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wp-color-text-muted);
}

.wp-event-detail__fact-value {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  font-weight: 500;
}

/* Capacity meter */
.wp-event-detail__capacity {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wp-event-detail__capacity-bar {
  width: 100%;
  height: 6px;
  border-radius: var(--wp-radius-pill);
  border: none;
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--wp-color-border);
  overflow: hidden;
}

.wp-event-detail__capacity-bar::-webkit-progress-bar {
  background-color: var(--wp-color-border);
  border-radius: var(--wp-radius-pill);
}

.wp-event-detail__capacity-bar::-webkit-progress-value {
  background-color: var(--wp-color-primary);
  border-radius: var(--wp-radius-pill);
  transition: width var(--wp-transition-fast);
}

.wp-event-detail__capacity-bar::-moz-progress-bar {
  background-color: var(--wp-color-primary);
  border-radius: var(--wp-radius-pill);
}

.wp-event-detail__capacity-warning {
  color: var(--wp-color-warning);
  font-weight: 600;
}

/* Description */
.wp-event-detail__description {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text);
  line-height: 1.6;
  margin: 0;
}

/* RSVP section */
.wp-event-detail__rsvp {
  margin-top: var(--wp-space-lg);
}

.wp-event-detail__registered-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp-space-md);
  padding: var(--wp-space-md) var(--wp-space-lg);
  background-color: var(--wp-color-success-bg);
  border: 1px solid var(--wp-color-success);
  border-radius: var(--wp-radius-md);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-success);
  font-weight: 500;
}

.wp-event-detail__cancel-link {
  background: none;
  border: none;
  padding: 0;
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-success);
  text-decoration: underline;
  cursor: pointer;
  white-space: nowrap;
}

.wp-event-detail__cancel-link:hover {
  color: var(--wp-color-primary-deep);
}
.wp-events-page__logo {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-lg);
  font-weight: 700;
  color: var(--wp-color-primary);
  letter-spacing: -0.02em;
}

/* Search bar */
.wp-events-page__search-row {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  padding: var(--wp-space-sm);
  margin-bottom: var(--wp-space-lg);
}

.wp-events-page__search-row .wp-field__control {
  border: none;
  padding: var(--wp-space-sm) var(--wp-space-sm);
}

.wp-events-page__search-row .wp-field__control:focus {
  box-shadow: none;
}

.wp-events-page__search-keyword {
  flex: 1;
  margin: 0;
}

.wp-events-page__search-location {
  display: flex;
  align-items: center;
  gap: var(--wp-space-xs);
  flex: 1;
  border-left: 1px solid var(--wp-color-border);
  padding-left: var(--wp-space-sm);
  color: var(--wp-color-text-muted);
}

.wp-events-page__search-location-icon {
  flex-shrink: 0;
}

.wp-events-page__search-location-input {
  flex: 1;
  margin: 0;
}

/* Filter dropdowns — override wp-field margin so they sit flush in FilterBar */
.wp-events-page__filter-dropdown {
  margin-bottom: 0;
  min-width: 140px;
}


/* Clear all link */
.wp-events-page__clear-all {
  background: none;
  border: none;
  padding: 0 var(--wp-space-xs);
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-sm);
  color: var(--wp-color-text-muted);
  text-decoration: underline;
  cursor: pointer;
  white-space: nowrap;
  align-self: center;
}

.wp-events-page__clear-all:hover {
  color: var(--wp-color-text);
}

/* Results count */
.wp-events-page__results-count {
  font-family: var(--wp-font-sans);
  font-size: var(--wp-font-size-md);
  color: var(--wp-color-text-muted);
  margin: 0 0 var(--wp-space-md);
}

.wp-events-page__results-count strong {
  color: var(--wp-color-text);
}

/* Split layout */
.wp-events-page__split {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: var(--wp-space-xl);
  align-items: start;
}

.wp-events-page__list {
  max-height: 680px;
  overflow-y: auto;
  padding-right: var(--wp-space-xs);
}

/* Subtle scrollbar for the list */
.wp-events-page__list::-webkit-scrollbar {
  width: 4px;
}

.wp-events-page__list::-webkit-scrollbar-track {
  background: transparent;
}

.wp-events-page__list::-webkit-scrollbar-thumb {
  background-color: var(--wp-color-border);
  border-radius: var(--wp-radius-pill);
}

/* Detail pane sticks to top while scrolling the list */
.wp-events-page__detail {
  position: sticky;
  top: var(--wp-space-lg);
}

/* Toast position */
.wp-events-page__toast-container {
  position: fixed;
  bottom: var(--wp-space-xl);
  right: var(--wp-space-xl);
  z-index: 100;
}

@media (max-width: 900px) {
  .wp-events-page__split {
    grid-template-columns: 1fr;
  }

  .wp-events-page__detail {
    position: static;
  }

  .wp-events-page__search-row {
    flex-direction: column;
    align-items: stretch;
  }
}

.wp-events-page__clear-all { min-height: 44px; padding-inline: 8px; }

#workspace-content .wp-events-page__filter-dropdown select, #workspace-content .wp-events-page__search-row input { background-color: var(--wp-color-surface); color: var(--wp-color-text); border-color: var(--wp-color-border); }
.wp-event-register__content {
  max-width: 1180px;
  margin: 0 auto;
  padding: var(--wp-space-lg) var(--wp-space-xl) var(--wp-space-2xl);
  display: flex;
  flex-direction: column;
  gap: var(--wp-space-md);
}

.wp-event-register__content > .wp-toast {
  align-self: flex-start;
}

.wp-event-register__facts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--wp-space-md) var(--wp-space-lg);
}

@media (max-width: 900px) {
  .wp-event-register__facts-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.wp-event-register__k {
  margin: 0 0 4px;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--wp-color-text-muted);
}

.wp-event-register__v {
  margin: 0;
  font-size: var(--wp-font-size-sm);
  font-weight: 500;
  color: var(--wp-color-text);
}

.wp-event-register__weather-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--wp-space-md);
  margin-bottom: var(--wp-space-md);
}

.wp-event-register__weather-condition {
  margin: 0 0 4px;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--wp-color-text);
  text-transform: capitalize;
}

.wp-event-register__weather-summary .wp-event-register__v {
  text-transform: capitalize;
}

.wp-event-register__weather-temp {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--wp-color-text);
  white-space: nowrap;
}

.wp-event-register__description {
  white-space: pre-line;
  color: var(--wp-color-text);
  margin: 0;
  line-height: 1.65;
}

.wp-event-register__capacity {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.wp-event-register__capacity-bar {
  width: 100%;
  height: 6px;
  border-radius: var(--wp-radius-pill);
  border: none;
  appearance: none;
  -webkit-appearance: none;
  background-color: var(--wp-color-border);
  overflow: hidden;
}

.wp-event-register__capacity-bar::-webkit-progress-bar {
  background-color: var(--wp-color-border);
  border-radius: var(--wp-radius-pill);
}

.wp-event-register__capacity-bar::-webkit-progress-value {
  background-color: var(--wp-color-primary);
  border-radius: var(--wp-radius-pill);
}

.wp-event-register__capacity-bar::-moz-progress-bar {
  background-color: var(--wp-color-primary);
  border-radius: var(--wp-radius-pill);
}

.wp-event-register__panel {
  background-color: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-md);
  padding: var(--wp-space-lg);
  position: sticky;
  top: var(--wp-space-lg);
}

.wp-event-register__panel-title {
  margin: 0 0 4px;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--wp-color-text);
}

.wp-event-register__deadline {
  margin: 0 0 var(--wp-space-md);
  font-size: 0.75rem;
  color: var(--wp-color-warning, var(--wp-color-text-muted));
}

.wp-event-register__grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 var(--wp-space-sm);
}

.wp-event-register__submit {
  margin-top: var(--wp-space-sm);
}

.wp-event-register__status {
  display: flex;
  align-items: center;
  gap: var(--wp-space-sm);
  background-color: var(--wp-color-success-bg);
  border: 1px solid var(--wp-color-success);
  border-radius: var(--wp-radius-md);
  padding: var(--wp-space-md);
  font-size: var(--wp-font-size-sm);
  font-weight: 500;
  color: var(--wp-color-success);
  margin-top: var(--wp-space-sm);
}

.wp-event-register__post-actions {
  display: flex;
  gap: var(--wp-space-sm);
  margin-top: var(--wp-space-md);
}

.wp-event-register__post-actions > * {
  flex: 1;
}

@media (max-width: 768px) {
  .wp-event-register__content {
    padding: var(--wp-space-md);
  }

  .wp-event-register__panel {
    position: static;
  }
}
.wp-prototype-jobs {
  color: var(--wp-color-text);
  background: transparent;
}

.wp-prototype-jobs__main {
  width: min(1360px, calc(100% - 40px));
  min-height: calc(100vh - 76px);
  margin: 0 auto;
  padding: 44px 54px 80px;
  box-sizing: border-box;
  background: var(--wp-color-bg);
}

.wp-prototype-jobs__heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 28px;
}

.wp-prototype-jobs__heading h1 {
  margin: 0 0 6px;
  color: var(--wp-color-primary);
  font: 500 2.25rem/1.1 var(--wp-font-display);
  letter-spacing: -0.025em;
}

.wp-prototype-jobs__heading p {
  color: var(--wp-color-text-muted);
  font-size: 1rem;
  line-height: 1.5;
  margin: 0;
}

.wp-prototype-jobs__success,
.wp-prototype-jobs__error {
  margin-bottom: 18px;
  padding: 13px 16px;
  border-radius: 8px;
  font-size: 0.88rem;
}

.wp-prototype-jobs__success {
  color: var(--wp-color-primary);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

.wp-prototype-jobs__error,
.wp-job-registration__error {
  color: var(--wp-color-error);
  background: var(--wp-color-error-bg);
  border: 1px solid var(--wp-color-error);
}

.wp-prototype-jobs__panel {
  overflow: hidden;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
}

.wp-prototype-jobs__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 24px;
}

.wp-prototype-jobs__toolbar h2 {
  margin: 0;
  color: var(--wp-color-primary);
  font: 500 1.25rem/1.2 var(--wp-font-display);
}

.wp-prototype-jobs__toolbar > div {
  display: flex;
  gap: 8px;
}

.wp-prototype-jobs__toolbar input,
.wp-prototype-jobs__toolbar select {
  height: 48px;
  box-sizing: border-box;
  padding: 0 16px;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  font: inherit;
}

.wp-prototype-jobs__toolbar input {
  width: 260px;
}

.wp-prototype-jobs__table-wrap {
  overflow-x: auto;
}

.wp-prototype-jobs table {
  width: 100%;
  border-collapse: collapse;
}

.wp-prototype-jobs th {
  padding: 14px 24px;
  color: var(--wp-color-text-muted);
  background: var(--wp-color-surface);
  border-top: 1px solid var(--wp-color-border);
  border-bottom: 1px solid var(--wp-color-border);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-align: left;
  text-transform: uppercase;
}

.wp-prototype-jobs td {
  padding: 20px 24px;
  border-bottom: 1px solid var(--wp-color-border);
  vertical-align: middle;
}

.wp-prototype-jobs tbody tr:last-child td {
  border-bottom: 0;
}

.wp-prototype-jobs td strong,
.wp-prototype-jobs td small,
.wp-prototype-jobs td span {
  display: block;
}

.wp-prototype-jobs td strong {
  color: var(--wp-color-primary);
}

.wp-prototype-jobs__job-title {
  display: block;
  padding: 0;
  color: var(--wp-color-primary);
  background: transparent;
  border: 0;
  font: inherit;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.wp-prototype-jobs__job-title:hover,
.wp-prototype-jobs__job-title:focus-visible {
  color: var(--wp-color-primary);
  text-decoration: underline;
}

.wp-prototype-jobs td small {
  margin-top: 4px;
  color: var(--wp-color-text-muted);
}

.wp-prototype-jobs__empty {
  padding: 52px !important;
  color: var(--wp-color-text-muted);
  text-align: center;
}

.wp-prototype-status {
  display: inline-flex !important;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
}

.wp-prototype-status--open {
  color: var(--wp-color-primary);
  background: var(--wp-color-primary-soft);
}

.wp-prototype-status--closed,
.wp-prototype-status--expired {
  color: var(--wp-color-text-muted);
  background: var(--wp-color-primary-soft);
}

.wp-prototype-status--draft {
  color: var(--wp-color-text-muted);
  background: var(--wp-color-primary-soft);
}

.wp-prototype-jobs__actions {
  display: flex;
  gap: 8px;
}

.wp-prototype-jobs__actions button {
  padding: 7px 10px;
  color: var(--wp-color-primary);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 6px;
  font: 600 0.75rem/1 var(--wp-font-sans);
  cursor: pointer;
}

.wp-prototype-jobs__actions button:hover:not(:disabled) {
  background: var(--wp-color-surface);
}

.wp-prototype-jobs__actions button:disabled {
  color: var(--wp-color-text-muted);
  background: var(--wp-color-surface);
  cursor: not-allowed;
}

.wp-job-registration {
  position: fixed;
  z-index: 50;
  inset: 0;
  display: grid;
  place-items: center;
  padding: clamp(16px, 3vw, 32px);
}

.wp-job-registration__backdrop {
  position: absolute;
  inset: 0;
  background: rgb(23 35 30 / 50%);
}

.wp-job-registration__dialog {
  position: relative;
  z-index: 1;
  width: min(1000px, calc(100vw - 48px));
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  box-sizing: border-box;
  padding: 32px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-dialog);
  box-shadow: none;
}

.wp-job-registration__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}

.wp-job-registration__header h2 {
  margin: 0 0 5px;
  color: var(--wp-color-primary);
  font: 500 1.75rem/1.15 var(--wp-font-display);
}

.wp-job-registration__header p {
  margin: 0;
  color: var(--wp-color-text-muted);
  font-size: var(--wp-font-size-sm);
  line-height: 1.45;
}

.wp-job-registration__header button {
  display: inline-grid;
  width: 36px;
  height: 36px;
  padding: 0;
  place-items: center;
  color: var(--wp-color-text-muted);
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.wp-job-registration__header button:hover,
.wp-job-registration__header button:focus-visible {
  color: var(--wp-color-primary);
  background: var(--wp-color-surface);
  outline: none;
}

.wp-job-registration__error {
  margin-bottom: 18px;
  padding: 11px 14px;
  border-radius: 7px;
}

.wp-job-registration__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: 22px 24px;
}

.wp-job-registration__field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-md);
}

.wp-job-registration__field .wp-form-label,
.wp-job-registration__multi-select .wp-form-label {
  margin: 0;
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-sm);
  line-height: 1.35;
}

.wp-job-registration__multi-select {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
  margin-bottom: 0;
  color: var(--wp-color-text);
  font-size: var(--wp-font-size-md);
}

.wp-job-registration__multi-select .wp-form-label {
  font-weight: 600;
}

.wp-job-registration__multi-select .wp-multi-select__input {
  min-height: 50px;
  padding: 12px 16px;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  border-radius: 8px;
  font: 1rem/1.35 var(--wp-font-sans);
}

.wp-job-registration__multi-select .wp-multi-select__input:focus {
  outline: 2px solid var(--wp-color-border);
  border-color: var(--wp-color-primary);
  box-shadow: none;
}

.wp-job-registration__multi-select .wp-validation-message {
  margin: 0;
  font-size: 0.72rem;
}

.wp-job-registration input,
.wp-job-registration select,
.wp-job-registration textarea {
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  padding: 11px 14px;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: var(--wp-radius-control);
  font: var(--wp-font-size-md)/1.35 var(--wp-font-sans);
}

.wp-job-registration textarea {
  min-height: 116px;
  resize: vertical;
}

.wp-job-registration input:focus-visible,
.wp-job-registration select:focus-visible,
.wp-job-registration textarea:focus-visible {
  outline: 2px solid var(--wp-color-border);
  border-color: var(--wp-color-primary);
}

.wp-job-registration input:disabled {
  color: var(--wp-color-text-muted);
  background: var(--wp-color-surface);
}

.wp-job-registration .is-error {
  border-color: var(--wp-color-error);
}

.wp-job-registration__field-error {
  margin-top: -2px;
  color: var(--wp-color-error);
  font-size: var(--wp-font-size-sm);
  line-height: 1.35;
}

.wp-job-registration__wide {
  grid-column: 1 / -1;
}

.wp-job-registration__actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--wp-color-border);
}

.wp-job-registration__actions .wp-button {
  min-width: 132px;
  padding: 11px 18px;
  border-radius: 10px;
  font-size: var(--wp-font-size-md);
}

@media (max-width: 760px) {
  .wp-prototype-jobs__main {
    width: 100%;
    padding: 30px 18px 60px;
  }

  .wp-prototype-jobs__heading,
  .wp-prototype-jobs__toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .wp-prototype-jobs__toolbar > div {
    flex-direction: column;
  }

  .wp-prototype-jobs__toolbar input {
    width: 100%;
  }

  .wp-job-registration {
    padding: 0;
  }

  .wp-job-registration__dialog {
    width: 100%;
    max-height: 100vh;
    min-height: 100vh;
    padding: 24px 20px;
    border-radius: 0;
  }

  .wp-job-registration__grid {
    grid-template-columns: 1fr;
  }

  .wp-job-registration__wide {
    grid-column: auto;
  }

  .wp-job-registration__actions {
    justify-content: stretch;
  }

  .wp-job-registration__actions .wp-button {
    flex: 1;
  }
}
.wp-prototype-jobs__pagination {
  padding: var(--wp-space-lg) var(--wp-space-md);
}

.wp-prototype-jobs { color: var(--wp-color-text); }
.wp-prototype-jobs__main { background: transparent; min-width: 0; width: 100%; padding: 32px 24px calc(104px + env(safe-area-inset-bottom, 0px)); }
.wp-prototype-jobs__heading h1, .wp-prototype-jobs__toolbar h2 { font-family: var(--wp-font-display); font-weight: 500; color: var(--wp-color-text); }
.wp-prototype-jobs__panel { border-radius: var(--wp-radius-card); }
.wp-prototype-jobs__table-wrap { max-width: 100%; overflow-x: auto; max-height: 65vh; }
.wp-prototype-jobs th { position: sticky; top: 0; z-index: 1; color: var(--wp-color-text-muted); font-size: 11px; letter-spacing: .14em; background: var(--wp-color-surface); }
.wp-prototype-jobs tbody tr:hover { background: var(--wp-color-hover); }
.wp-prototype-jobs button, .wp-prototype-jobs select, .wp-prototype-jobs input:not([type="checkbox"]):not([type="radio"]) { min-height: 44px; }
.wp-prototype-jobs button:focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }
@media (max-width: 600px) { .wp-prototype-jobs__main { padding-inline: 16px; } .wp-prototype-jobs__toolbar { align-items: stretch; flex-direction: column; } .wp-prototype-jobs__toolbar > div { flex-wrap: wrap; } .wp-prototype-jobs__toolbar input { width: 100%; min-width: 0; } }

.wp-job-registration__backdrop { border: 0; padding: 0; border-radius: 0; }
.wp-job-registration__header button { width: 44px; height: 44px; }
.wp-job-registration__header button:focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }
/* Frame layout is shared by WorkspaceFrame. Keep My HR form compatibility. */
.myhr-shell :where(select,input,textarea) { box-sizing:border-box; font-family:var(--wp-font-sans); }
.myhr-shell :is(select,input:not([type='checkbox']):not([type='radio']):not([type='file']),textarea):not(.wp-field__control) { border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text); font-size:var(--wp-font-size-md); padding:8px 16px; }
.myhr-shell select { min-height:44px; }
.myhr-shell select option { background:var(--wp-color-surface); color:var(--wp-color-text); }
.myhr-shell :where(select,input,textarea):disabled { background:var(--wp-color-hover); color:var(--wp-color-text-muted); cursor:not-allowed; }
.myhr-shell .wp-field { margin-bottom:0; }
.myhr-shell .wp-field__control,.myhr-shell .wp-button { min-height:44px; }
.myhr-shell .wp-card { background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); margin-bottom:0; }
.myhr-shell .wp-table-wrapper { border-radius:var(--wp-radius-card); background:var(--wp-color-surface); border:1px solid var(--wp-color-border); }
.myhr-shell table { color:var(--wp-color-text); font-family:var(--wp-font-sans); }
.myhr-shell .wp-table th,.myhr-shell .wp-table td { padding:8px 16px; border-bottom:1px solid var(--wp-color-border); }
.myhr-shell .wp-table th { background:var(--wp-color-surface); color:var(--wp-color-text-muted); }
/* Role-aware navigation; all roles have ten or fewer links. */
.myhr-navigation { position:sticky; top:104px; width:236px; height:auto; overflow:visible; align-self:start; padding:0 16px 16px 0; border-right:1px solid var(--wp-color-border); background:var(--wp-color-bg); }
.myhr-navigation__toggle { display:grid; place-items:center; width:44px; height:44px; margin-left:auto; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text-muted); cursor:pointer; }
.myhr-navigation__brand,.myhr-navigation__identity { display:none; }
.myhr-navigation nav { display:grid; gap:4px; }
.myhr-navigation nav a { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px; border-radius:var(--wp-radius-control); text-decoration:none; color:var(--wp-color-text-muted); font-size:.8rem; font-weight:500; }
.myhr-navigation__label { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.myhr-navigation__group { display:block; padding:16px 8px 4px; color:var(--wp-color-text-muted); font:600 11px/1.5 var(--wp-font-sans); letter-spacing:.14em; text-transform:uppercase; }
.myhr-navigation nav a:hover { background:var(--wp-color-hover); color:var(--wp-color-primary); }
.myhr-navigation nav a.is-active { background:var(--wp-color-primary-deep); color:#FBF9F3; font-weight:600; }
.myhr-navigation .workspace-dashboard__nav-icon { display:grid; place-items:center; width:24px; height:24px; flex:0 0 24px; color:inherit; }
.myhr-navigation .workspace-dashboard__nav-icon svg { width:24px; height:24px; }
.myhr-navigation.is-collapsed { width:64px; padding-inline:0 8px; }
.myhr-navigation.is-collapsed:not(.is-peeking) :is(.myhr-navigation__group,.myhr-navigation__label) { display:none; }
.myhr-navigation.is-collapsed:not(.is-peeking) nav a { justify-content:center; }
.myhr-navigation.is-collapsed.is-peeking { width:236px; }
.myhr-navigation :is(a,button):focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:768px) { .myhr-navigation,.myhr-navigation.is-collapsed,.myhr-navigation.is-collapsed.is-peeking { display:none; } }
/* Offer Letter Admin approval: status banners, badges and the Admin card/page. Calm by default - red is only for rejection. */
.offer-approval__banner {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--wp-border, var(--wp-color-border));
  border-left-width: 4px;
  border-radius: var(--wp-radius-card, 12px);
  background: var(--wp-color-surface);
}

.offer-approval__banner p { margin: 0; }

.offer-approval__banner--pending { border-left-color: var(--wp-color-border); background: var(--wp-color-surface); }
.offer-approval__banner--approved { border-left-color: var(--wp-color-border); background: var(--wp-color-primary-soft); }
.offer-approval__banner--sent { border-left-color: var(--wp-color-border); background: var(--wp-color-surface); }
.offer-approval__banner--rejected { border-left-color: var(--wp-color-error); background: var(--wp-color-surface); }

.offer-approval__badge {
  align-self: flex-start;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
}

.offer-approval__banner--pending .offer-approval__badge { background: var(--wp-color-surface); }
.offer-approval__banner--approved .offer-approval__badge { background: var(--wp-color-primary-soft); }
.offer-approval__banner--sent .offer-approval__badge { background: var(--wp-color-surface); }
.offer-approval__banner--rejected .offer-approval__badge { background: var(--wp-color-surface); }

.offer-approval__reason { color: var(--wp-color-text, inherit); }

/* ---- Admin dashboard card ---- */
.offer-approval-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 0 0 24px;
  padding: 18px 20px;
  border: 1px solid var(--wp-border, var(--wp-color-border));
  border-radius: var(--wp-radius-card, 14px);
  background: var(--wp-color-surface);
}

.offer-approval-card--attention {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
  box-shadow: none;
}

.offer-approval-card__main { display: flex; align-items: center; gap: 14px; min-width: 0; }
.offer-approval-card__icon { font-size: 1.6rem; line-height: 1; }
.offer-approval-card h3 { margin: 0; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 1.05rem; }
.offer-approval-card p { margin: 4px 0 0; color: var(--wp-color-text); }
.offer-approval-card__badge {
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
}

/* ---- Admin approvals page ---- */
.offer-approvals__summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0 0 20px; }
.offer-approvals__stat { padding: 14px 16px; border: 1px solid var(--wp-border, var(--wp-color-border)); border-radius: var(--wp-radius-card, 12px); background: var(--wp-color-surface); }
.offer-approvals__stat strong { display: block; font-size: 1.6rem; }
.offer-approvals__stat--pending { border-color: var(--wp-color-border); background: var(--wp-color-surface); }
.offer-approvals__list { display: grid; gap: 12px; }
.offer-approvals__item { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding: 16px 18px; border: 1px solid var(--wp-border, var(--wp-color-border)); border-radius: var(--wp-radius-card, 12px); background: var(--wp-color-surface); }
.offer-approvals__item--pending { border-left: 4px solid var(--wp-color-border); }
.offer-approvals__item h3 { margin: 0 0 4px; }
.offer-approvals__meta { margin: 2px 0; color: var(--wp-color-text); font-size: 0.92rem; }
.offer-approvals__actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.offer-approvals__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px 20px; margin: 0 0 16px; }
.offer-approvals__facts dt { font-size: 0.78rem; color: var(--wp-color-text); text-transform: uppercase; letter-spacing: 0.04em; }
.offer-approvals__facts dd { margin: 2px 0 0; font-weight: 600; word-break: break-word; }
.offer-approvals__roles { white-space: pre-wrap; margin: 0 0 16px; }
.offer-approvals__pdf iframe { width: 100%; min-height: 70vh; border: 1px solid var(--wp-border, var(--wp-color-border)); border-radius: 8px; }
.offer-approvals__decision { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--wp-border, var(--wp-color-border)); }
.offer-approvals__reject-btn { border-color: var(--wp-color-error) !important; color: var(--wp-color-error) !important; }
.workspace-dashboard { color:var(--wp-color-text); font-family:var(--wp-font-sans); min-width:0; }
.workspace-dashboard > .wp-page-header { padding:16px 0 32px; margin-bottom:0; align-items:flex-end; }
.workspace-dashboard > .wp-page-header .wp-page-header__title { font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.025em; }
.workspace-dashboard > .wp-page-header .wp-page-header__subtitle { max-width:60ch; line-height:1.6; }
.workspace-dashboard__columns { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr); align-items:start; gap:32px; margin-bottom:32px; }
.workspace-dashboard__card { min-width:0; padding:24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); }
.workspace-dashboard h2 { margin:0 0 16px; color:var(--wp-color-text); font:500 1.5rem/1.3 var(--wp-font-display); }
.workspace-dashboard__eyebrow { margin:0 0 8px; font:600 11px/1.5 var(--wp-font-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--wp-color-text-muted); }
.workspace-dashboard__queue-status { list-style:none; margin:16px 0 0; padding:0; }
.workspace-dashboard__queue-status li { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:16px 0; border-top:1px solid var(--wp-color-border); color:var(--wp-color-text-muted); font-size:.875rem; }
.workspace-dashboard__queue-status strong { font-weight:500; }
.workspace-dashboard__month { display:grid; gap:8px; margin:16px 0 24px; color:var(--wp-color-text-muted); font-size:.875rem; }
.workspace-dashboard__month input { width:100%; min-height:44px; }
.workspace-dashboard__period,.workspace-dashboard__payroll-note { color:var(--wp-color-text-muted); font-size:.875rem; line-height:1.5; }
.workspace-dashboard__readiness { margin-block:24px; }
.workspace-dashboard__readiness p { font-size:.875rem; color:var(--wp-color-text-muted); }
.workspace-dashboard__readiness strong { font:600 1.5rem var(--wp-font-sans); color:var(--wp-color-text); }
.workspace-dashboard__readiness-track { height:8px; border-radius:var(--wp-radius-pill); overflow:hidden; background:var(--wp-color-hover); }
.workspace-dashboard__readiness-track span { display:block; height:100%; background:var(--wp-color-primary); }
.workspace-dashboard__payroll-actions { display:flex; flex-wrap:wrap; gap:8px; }
.workspace-dashboard__payroll-actions a,.workspace-dashboard__text-link { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; color:var(--wp-color-primary); font-size:.875rem; text-underline-offset:4px; }
.workspace-dashboard__payroll-actions a:first-child { padding-inline:16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); text-decoration:none; }
.workspace-dashboard__people { min-width:0; padding:24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); }
.workspace-dashboard__payroll { border-top:3px solid var(--wp-color-primary); }
.workspace-dashboard__attention .wp-needs-you__count { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-radius:var(--wp-radius-control); }
.workspace-dashboard__attention .wp-needs-you li { padding-block:20px; }
.workspace-dashboard__approvals .offer-approval-card { padding:24px; margin-bottom:32px; }
.workspace-dashboard__approvals .offer-approval-card__icon { display:grid; place-items:center; flex:0 0 44px; min-height:44px; background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-radius:var(--wp-radius-control); }
.workspace-dashboard__approvals .offer-approval-card p { color:var(--wp-color-text-muted); font-size:.875rem; line-height:1.6; }
.workspace-dashboard__approvals .offer-approval-card__badge { padding:4px 10px; background:var(--wp-color-primary-soft); color:var(--wp-color-primary); }
.workspace-dashboard__people-heading { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:16px; }
.workspace-dashboard__people-heading h2 { margin-bottom:4px; }
.workspace-dashboard__people-heading p { margin:0; font-size:.875rem; color:var(--wp-color-text-muted); }
.workspace-dashboard__people-heading label { display:grid; gap:8px; color:var(--wp-color-text-muted); font-size:.875rem; }
.workspace-dashboard__people-heading input { min-height:44px; width:100%; }
.workspace-dashboard :is(a,button,input):focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:1100px) { .workspace-dashboard__columns { grid-template-columns:minmax(0,1fr); gap:24px; } }
@media(max-width:600px) { .workspace-dashboard__card,.workspace-dashboard__people { padding:16px; } .workspace-dashboard__people-heading label { width:100%; } .workspace-dashboard > .wp-page-header { padding-top:8px; } }
@media(max-width:600px) {
  .workspace-dashboard__approvals .offer-approval-card { padding:16px; }
  .workspace-dashboard__attention .wp-needs-you li { display:grid; grid-template-columns:44px minmax(0,1fr); gap:12px 16px; }
  .workspace-dashboard__attention .wp-needs-you__copy { grid-column:2; }
  .workspace-dashboard__attention .wp-needs-you__action { grid-column:2; justify-self:start; margin:0; }
}
.employee-today { max-width:1200px; margin-inline:auto; color:var(--wp-color-text); font-family:var(--wp-font-sans); }
.employee-today > .wp-page-header { padding:16px 0 32px; margin-bottom:0; align-items:flex-end; }
.employee-today > .wp-page-header .wp-page-header__title { font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.025em; }
.employee-today > .wp-page-header .wp-page-header__subtitle { max-width:60ch; line-height:1.6; }
.employee-today__card { min-width:0; padding:24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); }
.employee-today__card h2 { margin:0 0 16px; font:500 clamp(1.4rem,2.5vw,1.8rem)/1.25 var(--wp-font-display); color:var(--wp-color-text); }
.employee-today__card > p:not(.employee-today__eyebrow) { color:var(--wp-color-text-muted); font-size:.875rem; line-height:1.5; }
.employee-today__eyebrow { margin:0 0 8px; color:var(--wp-color-text-muted); font:600 11px/1.5 var(--wp-font-sans); letter-spacing:.14em; text-transform:uppercase; }
.employee-today__timesheet { margin-bottom:32px; }
.employee-today__timesheet { border-top:3px solid var(--wp-color-primary); }
.employee-today__timesheet .wp-route-line { margin:24px 0 32px; }
.employee-today__requests { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); align-items:start; gap:32px; }
.employee-today__requests .wp-route-line { margin:24px 0; }
.employee-today__actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.employee-today a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-primary); font:500 .875rem/1.4 var(--wp-font-sans); text-decoration:none; }
.employee-today a:hover { background:var(--wp-color-hover); }
.employee-today a.employee-today__primary { background:var(--wp-color-primary-deep); border-color:var(--wp-color-primary-deep); color:#FBF9F3; }
.employee-today a.employee-today__primary:hover { background:var(--wp-color-primary-hover); color:var(--wp-color-primary-contrast); }
.employee-today a.employee-today__text-link { border-color:transparent; background:transparent; }
.employee-today a:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
.employee-today__card--past { border-style:dashed; }
.employee-today__date { font-size:.8rem; }
@media(max-width:700px) { .employee-today__requests { grid-template-columns:minmax(0,1fr); gap:24px; } .employee-today__card { padding:16px; } .employee-today__timesheet .wp-route-line__state { font-size:.65rem; } .employee-today__actions > a:first-child { width:100%; } }
@media(max-width:700px) {
  .employee-today > .wp-page-header { padding-top:8px; }
  .employee-today__timesheet .wp-route-line { overflow-x:auto; }
  .employee-today__timesheet .wp-route-line__stop { min-width:52px; }
}
.myhr-feature {
  display: grid;
  gap: var(--myhr-page-gap);
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.myhr-feature__body {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.myhr-feature__body > * {
  min-width: 0;
  max-width: 100%;
}

/* PageHeader carries its own margin-bottom (shared across the whole app, not
   just My HR) that stacks on top of this grid's own gap, roughly doubling
   the space below the title on every My HR feature page. The grid gap alone
   is already the page's spacing rhythm, so cancel the redundant margin here
   rather than touching the shared PageHeader component used elsewhere
   (Job Seeker, Employer, and Auth pages rely on that margin with no
   surrounding gap of their own). */
.myhr-feature .wp-page-header { margin-bottom: 0; }
@media (max-width: 640px) {
  .myhr-feature {
    gap: 12px;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }
  .myhr-feature__body {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100%;
  }
  .myhr-feature .wp-page-header {
    padding: 12px 14px !important;
    margin-bottom: 0 !important;
    border-radius: 16px !important;
  }
  .myhr-feature .wp-page-header__title {
    font-size: 1.25rem !important;
    line-height: 1.25 !important;
  }
  .myhr-feature .wp-page-header__subtitle {
    font-size: 0.82rem !important;
    line-height: 1.35 !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
}
.myhr-feature__body > .wp-change-password-page { padding-block: 0; }
.myhr-feature__body > .wp-change-password-page--regular { box-sizing:border-box; max-width:640px; width:100%; }
.wp-change-password-page--regular .wp-change-password-page__card { padding:clamp(1.5rem, 3vw, 2.25rem); }
.myhr-feature :where(h2, h3, h4) { color: var(--wp-color-text); font-family: var(--wp-font-sans); line-height: 1.3; }
.myhr-page-back.wp-button {
  justify-self: start;
  min-height: auto;
  padding: .35rem .75rem !important;
  font-size: .875rem !important;
  font-weight: 700 !important;
  border-radius: var(--wp-radius-pill) !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  color: var(--wp-color-primary, #0b624f) !important;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  box-shadow: none !important;
}

.myhr-page-back.wp-button:hover:not(:disabled) {
  background: var(--wp-color-primary-soft, rgba(11, 98, 79, 0.08)) !important;
  border-color: transparent !important;
  color: var(--wp-color-primary-hover, #047857) !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}

.myhr-page-back.wp-button:focus-visible {
  outline: 3px solid var(--wp-color-primary-soft);
  outline-offset: 2px;
}

[data-theme="light"] .myhr-page-back.wp-button {
  color: #0b624f !important;
  background: transparent !important;
  border: 1px solid transparent !important;
}

[data-theme="light"] .myhr-page-back.wp-button:hover:not(:disabled) {
  background: #ecfdf5 !important;
  color: #047857 !important;
}
.myhr-feature__toolbar { display: flex; flex-wrap: wrap; gap: .75rem; align-items: end; }
.myhr-feature__toolbar .wp-search-input { flex: 1 1 18rem; }
.myhr-feature__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.myhr-feature__card { background: rgba(8, 24, 18, 0.85); border: 1px solid rgba(0, 255, 135, 0.18); border-radius: var(--wp-radius-card); padding: var(--wp-space-lg); backdrop-filter: blur(16px); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.35); }
.myhr-feature__card h2, .myhr-feature__card h3 { margin-top: 0; color: var(--wp-color-text); }
.myhr-feature__card p { color: var(--wp-color-text-muted); }
.myhr-feature__form { display: grid; gap: 1rem; }
.myhr-feature__form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.myhr-feature__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.myhr-feature__tabs { display: flex; flex-wrap: wrap; gap: .6rem; }
.myhr-feature__tabs button { border: 1px solid rgba(0, 255, 135, 0.2); background: rgba(255, 255, 255, 0.04); color: var(--wp-color-text-muted); border-radius: 999px; padding: .55rem 1.1rem; cursor: pointer; font-weight: 600; transition: all 180ms ease; backdrop-filter: blur(8px); }
.myhr-feature__tabs button:hover:not([aria-selected="true"]) { border-color: rgba(0, 255, 135, 0.4); color: #fff; background: rgba(0, 255, 135, 0.08); }
.myhr-feature__tabs button[aria-selected="true"] { background: linear-gradient(135deg, #0b624f, #10b981); color: #fff; border-color: #00ff87; box-shadow: 0 0 16px rgba(0, 255, 135, 0.35); }
.myhr-feature__notice { border-left: 4px solid #00ff87; background: rgba(0, 255, 135, 0.08); border-radius: 0 var(--wp-radius-md) var(--wp-radius-md) 0; padding: 1rem 1.25rem; color: #e2e8f0; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2); }
@media (max-width: 700px) { .myhr-feature__form-grid { grid-template-columns: 1fr; } }

/* MyHrPagination - Previous / Page X of Y / Next, centered under the list it
   paginates. Buttons reuse the same light/outlined control look already
   established for select/input controls elsewhere in My HR (white surface,
   existing border/radius tokens); the page indicator is plain, non-clickable
   text. */
.myhr-pagination { align-items: center; display: flex; gap: .75rem; justify-content: center; margin-top: 1rem; }
.myhr-pagination__control { background-color: var(--wp-color-surface); border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-control); color: var(--wp-color-text); cursor: pointer; font: inherit; font-weight: 600; padding: .55rem 1.1rem; transition: border-color var(--wp-transition-fast), background-color var(--wp-transition-fast); }
.myhr-pagination__control:hover:not(:disabled) { background-color: var(--wp-color-neutral-bg); }
.myhr-pagination__control:focus-visible { box-shadow: 0 0 0 3px var(--wp-color-primary-soft); outline: none; }
.myhr-pagination__control:disabled { cursor: not-allowed; opacity: .5; }
.myhr-pagination__indicator { color: var(--wp-color-text); font-size: var(--wp-font-size-md); font-weight: 600; white-space: nowrap; }
@media (max-width: 480px) { .myhr-pagination { gap: .5rem; } .myhr-pagination__control { padding: .55rem .75rem; } }

/* Light Theme Overrides */
[data-theme="light"] .myhr-feature__card {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .myhr-feature__card h2,
[data-theme="light"] .myhr-feature__card h3 {
  color: #0f172a !important;
}

[data-theme="light"] .myhr-feature__card p {
  color: #334155 !important;
}

[data-theme="light"] .myhr-feature__tabs button {
  background: #ffffff !important;
  border-color: #cbd5e1 !important;
  color: #475569 !important;
}

[data-theme="light"] .myhr-feature__tabs button:hover:not([aria-selected="true"]) {
  background: #f8fafc !important;
  border-color: #0b624f !important;
  color: #0b624f !important;
}

[data-theme="light"] .myhr-feature__tabs button[aria-selected="true"] {
  background: #0b624f !important;
  border-color: #084437 !important;
  color: #ffffff !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12) !important;
}

[data-theme="light"] .myhr-feature__notice {
  background: #ecfdf5 !important;
  border-left: 4px solid #0b624f !important;
  color: #065f46 !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

/* ==========================================================================
   Interactive Feature Page Header Widget & Telemetry
   ========================================================================== */
.myhr-feature__header-widget {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: rgba(8, 24, 18, 0.75);
  border: 1px solid rgba(0, 255, 135, 0.25);
  border-radius: 12px;
  padding: 6px 14px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  user-select: none;
}

[data-theme="light"] .myhr-feature__header-widget {
  background: #ffffff;
  border-color: #cbd5e1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.myhr-feature__header-telemetry {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.myhr-feature__header-telemetry-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: var(--wp-font-mono, monospace);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #00ff87;
}

[data-theme="light"] .myhr-feature__header-telemetry-badge {
  color: #047857;
}

.myhr-feature__header-pulse {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00ff87;
  box-shadow: 0 0 6px #00ff87;
  animation: wpHeaderPulse 1.8s infinite;
}

@keyframes wpHeaderPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.5; }
}

.myhr-feature__header-telemetry-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #cbd5e1;
}

[data-theme="light"] .myhr-feature__header-telemetry-label {
  color: #475569;
}
.phase-six { color:var(--wp-color-text); min-width:0; }
.phase-six :is(button,select,textarea),.phase-six input:not([type='checkbox']):not([type='radio']) { min-height:44px; }
#workspace-content .myhr-feature.phase-six .myhr-feature__heading { padding:0 0 24px!important; border:0!important; border-radius:0; box-shadow:none!important; background:transparent!important; }
#workspace-content .myhr-feature.phase-six .wp-page-header { padding:0; border:0; background:transparent; }
#workspace-content .myhr-feature.phase-six .wp-page-header__title { font:500 clamp(2rem,4vw,2.75rem) var(--wp-font-display)!important; }
#workspace-content .phase-six :is(.reports__hero h2,.reports__panels h3,.myhr-profile__identity h2,.i983-panel__header h3,.wp-card__title) { font-family:var(--wp-font-display)!important; font-weight:500!important; }
#workspace-content .phase-six .wp-card__title { font-size:1.5rem; letter-spacing:normal; text-transform:none; }
.phase-six .wp-data-table__scroll,.payroll-readiness__workspace .wp-data-table__scroll { contain:inline-size layout paint; max-width:100%; overflow:auto; }
.myhr-feature.phase-six :is(.reports__card,.reports__hero,.reports__results,.reports__attention,.reports__enterprise-filters,.reports__filters,.reports__filter-panel,.reports__download-menu,.reports__scope-menu,.document-requests__toolbar,.document-requests__scope,.document-requests__detail,.document-requests__card,.request-documents__card,.request-documents__review,.offer-letter__context,.offer-letter__send,.offer-letter__sent,.offer-letter__signature-option,.i983-signing__card) { background:var(--wp-color-surface); color:var(--wp-color-text); border-color:var(--wp-color-border); border-radius:var(--wp-radius-card); box-shadow:none; backdrop-filter:none; }
.myhr-feature.phase-six :is(.reports__card,.document-requests__card) { padding:24px; }
.myhr-feature.phase-six :is(.reports__hero,.reports__card,.document-requests__card,.audit-history__card):hover { box-shadow:none; transform:none; border-color:var(--wp-color-border); }
.myhr-feature.phase-six :is(.reports__hero h2,.reports__card > strong,.reports__results h3,.reports__card p,.reports__hero span,.request-documents__card h2,.request-documents__card h3,.document-requests__detail h3,.document-requests__card-title,.document-requests__card-row > span,.document-requests__detail dd,.request-documents__summary dd,.offer-letter__context strong,.offer-letter__send-intro,.offer-letter__sent p,.i983-signing__card h3,.i983-signing__card dd) { color:var(--wp-color-text); }
.myhr-feature.phase-six :is(.reports__card > strong,.document-requests__card-title) { font:500 1.5rem var(--wp-font-display); }
.myhr-feature.phase-six :is(.reports__icon,.myhr-profile__avatar) { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-color:var(--wp-color-border); }
.myhr-feature.phase-six .reports__icon svg { width:24px; height:24px; }
.myhr-feature.phase-six :is(.reports__card small,.reports__status,.document-requests__card-label,.document-requests__detail dt,.request-documents__summary dt,.request-documents__card header > div > span,.offer-letter__send-note,.i983-signing__source) { color:var(--wp-color-text-muted); }
.myhr-feature.phase-six :is(.document-requests__card-kicker,.offer-letter__section-title,.reports__hero p) { font:600 11px var(--wp-font-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--wp-color-text-muted); }
.myhr-feature.phase-six :is(.document-requests__card-header,.document-requests__card-body,.document-requests__card-footer,.request-documents__card header,.offer-letter__send footer) { border-color:var(--wp-color-border); background:transparent; }
.myhr-feature.phase-six :is(.document-requests__view-toggle,.offer-letter__steps,.offer-letter__signature-tabs,.request-documents__steps) { background:transparent; border-color:var(--wp-color-border); box-shadow:none; display:flex; flex-wrap:wrap; gap:8px; }
.myhr-feature.phase-six :is(.document-requests__view-toggle-btn,.offer-letter__signature-tab,.offer-letter__signature-font-option,.reports__scope-toggle button,.reports__view-toggle button) { min-height:44px; padding:8px 16px; background:var(--wp-color-surface); color:var(--wp-color-text); border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); box-shadow:none; }
.myhr-feature.phase-six :is(.offer-letter__signature-tab.active,.offer-letter__signature-font-option.active,.reports__view-toggle button.is-active) { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-color:var(--wp-color-primary); }
.myhr-feature.phase-six :is(.offer-letter__steps span.active,.request-documents__steps span.active) { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-color:var(--wp-color-primary); }
.myhr-feature.phase-six :is(.document-requests__error,.reports__status--error) { color:var(--wp-color-error); }
.myhr-feature.phase-six :is(.document-requests__returned,.document-requests__rejection,.offer-letter__org-signature-status) { padding:16px; background:var(--wp-color-bg); color:var(--wp-color-text); border-color:var(--wp-color-border); border-radius:var(--wp-radius-control); }
.myhr-feature.phase-six :is(.document-requests__detail a,.document-requests__attachments a,.document-requests__legacy-attachment,.request-documents__card a,.offer-letter__attachment-file) { color:var(--wp-color-primary); }
.myhr-feature.phase-six .document-requests__cards-grid { gap:24px; grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr)); }
.myhr-feature.phase-six .document-requests__card-title { display:block; margin-top:8px; overflow-wrap:anywhere; }
.myhr-feature.phase-six .document-requests__card-footer .wp-button { min-height:44px; }
.myhr-feature.phase-six .wp-filter-pills { margin-block:16px 24px; }
.myhr-feature.phase-six .request-documents__card .offer-letter__preview { color:#17231e; background:#fff; }
.reports__detail-panel,.payroll-readiness__detail-panel { width:min(720px,100%); }
.reports__detail-panel :is(.reports__drawer-body,.reports__drawer-meta,.reports__drawer-feedback,.reports__drawer-body section,.reports__drawer-entries),.payroll-readiness__detail-panel .payroll-readiness__drawer-body { background:var(--wp-color-surface); color:var(--wp-color-text); border-color:var(--wp-color-border); }
.reports__detail-panel dt,.payroll-readiness__detail-panel dt { color:var(--wp-color-text-muted); }
.reports__detail-panel dd,.payroll-readiness__detail-panel dd { color:var(--wp-color-text); overflow-wrap:anywhere; }
.payroll-readiness__workspace :is(.payroll-readiness__hero h2,.payroll-readiness__hero dd,.payroll-readiness__table h3,.payroll-readiness__card-identity strong) { color:var(--wp-color-text); }
.payroll-readiness__workspace :is(.payroll-readiness__hero span,.payroll-readiness__hero dt,.payroll-readiness__table > header p) { color:var(--wp-color-text-muted); }
.payroll-readiness__workspace :is(.payroll-readiness__action-btn,.payroll-readiness__table-actions select,.payroll-readiness__filter-trigger,.payroll-readiness__filter-clear) { min-height:44px; }
.phase-six .myhr-profile__identity { box-shadow:none; }
.phase-six .myhr-profile__avatar,.phase-six .organization-settings__logo-fallback { background:var(--wp-color-primary-soft); border-color:var(--wp-color-border); color:var(--wp-color-primary); }
.phase-six :is(.myhr-profile__identity h2,.myhr-profile__signature-intro,.organization-settings__read-value,.organization-settings__details dd) { color:var(--wp-color-text); }
.phase-six :is(.myhr-profile__identity-copy>span,.myhr-profile__signature-empty,.myhr-profile__signature-hint) { color:var(--wp-color-text-muted); }
.phase-six .myhr-profile__fields div { border-bottom-color:var(--wp-color-border); }
.phase-six .myhr-profile__badge--role { background:var(--wp-color-primary-soft); border-color:var(--wp-color-border); color:var(--wp-color-primary); }
.phase-six .myhr-profile__signature-upload { min-height:44px; border-color:var(--wp-color-border); background:var(--wp-color-surface); color:var(--wp-color-text); border-radius:var(--wp-radius-control); }
.phase-six .myhr-profile__signature-upload:hover { background:var(--wp-color-hover); }
.phase-six .offer-approval__banner { background:var(--wp-color-surface); color:var(--wp-color-text); border-color:var(--wp-color-border); }
.phase-six .offer-approval__badge { background:var(--wp-color-primary-soft); color:var(--wp-color-text); font-weight:600; }
.phase-six .offer-approval__banner--pending { border-left-color:var(--wp-color-signal); }
.phase-six :is(.offer-approval__banner--approved,.offer-approval__banner--sent) { border-left-color:var(--wp-color-primary); }
.phase-six .offer-approval__banner--rejected { border-left-color:var(--wp-color-error); }
.phase-six :is(.reports__hero,.reports__results,.reports__attention,.audit-history__card,.organization-settings__settings,.myhr-profile__identity,.document-requests__detail,.offer-approvals__item) { background:var(--wp-color-surface)!important; color:var(--wp-color-text); border-color:var(--wp-color-border)!important; border-radius:var(--wp-radius-card); }
.phase-six :is(.reports__icon,.audit-history__cell-actor,.audit-history__cell-action,.myhr-profile__fields dd,.organization-settings__details dd,.document-requests__card-body) { color:var(--wp-color-text)!important; }
.phase-six :is(.reports__hero p,.reports__hero span,.reports__kpis span,.myhr-profile__fields dt,.organization-settings__details dt,.myhr-profile__identity-copy p,.audit-history__card-label) { color:var(--wp-color-text-muted)!important; }
.phase-six :is(h2,h3) { font-family:var(--wp-font-display); font-weight:500; }
.phase-six .wp-data-table table,.payroll-readiness__workspace .wp-data-table table { min-width:800px; table-layout:auto; }
.phase-six .wp-data-table th,.phase-six .wp-data-table td,.payroll-readiness__workspace .wp-data-table th,.payroll-readiness__workspace .wp-data-table td { padding:16px; background:transparent; color:var(--wp-color-text); }
.phase-six .wp-data-table th,.payroll-readiness__workspace .wp-data-table th { background:var(--wp-color-surface); }
.phase-six .wp-data-table tbody tr:hover,.payroll-readiness__workspace .wp-data-table tbody tr:hover { background:var(--wp-color-hover); }
.phase-six .wp-data-table tbody tr.is-selected,.payroll-readiness__workspace .wp-data-table tbody tr.is-selected { background:var(--wp-color-primary-soft); }
.document-route { min-width:0; padding:24px; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); }
.document-route__eyebrow { font:600 11px var(--wp-font-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--wp-color-text-muted); margin:0 0 24px; }
.document-workflow-layout { display:grid; grid-template-columns:minmax(200px,280px) minmax(0,1fr); gap:32px; align-items:start; }
.document-workflow-layout > .document-route { position:sticky; top:104px; }
.document-workflow-layout > section,.document-workflow-content { min-width:0; }
.document-workflow-layout > .request-documents__card { margin:0; align-self:start; }
.phase-six .request-documents__card { padding:24px; }
.phase-six .request-documents__card > header { margin:0 0 24px; padding:0 0 24px; border-bottom:1px solid var(--wp-color-border); }
.phase-six .request-documents__card > header h2 { font:500 1.75rem var(--wp-font-display); text-transform:none; }
.phase-six .offer-letter__preview { background:#fff; color:#17231e; color-scheme:light; }
.phase-six .organization-settings__save-bar { position:sticky; top:calc(96px + env(safe-area-inset-top)); order:-1; z-index:20; display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:16px; padding:16px 24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); }
.phase-six .organization-settings__save-bar > span { margin-right:auto; color:var(--wp-color-text-muted); }
.phase-six .audit-history__cards-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; padding-left:32px; border-left:2px solid var(--wp-color-border); margin-left:12px; }
.phase-six .audit-history__cards-grid { list-style:none; }
.phase-six__search { display:grid; gap:8px; color:var(--wp-color-text-muted); font-size:.875rem; }
.i983-panel__progress .wp-route-line { padding:0; list-style:none; }
.i983-panel__progress .wp-route-line--vertical { grid-template-columns:minmax(0,1fr); }
.i983-panel__progress .wp-route-line__stop { border:0; background:transparent; padding:0 0 24px; }
.i983-panel__progress .wp-route-line__stop:last-child { padding-bottom:0; }
.i983-panel__progress .wp-route-line__marker { width:36px; height:36px; flex:0 0 36px; }
.i983-panel__progress .wp-route-line__stop--done .wp-route-line__marker { background:var(--wp-color-primary-deep); border:2px solid var(--wp-color-primary-deep); color:var(--wp-color-primary-contrast); }
.i983-panel__progress .wp-route-line__stop--current .wp-route-line__marker { border:2px solid var(--wp-color-signal); outline:2px solid var(--wp-color-signal); outline-offset:2px; background:var(--wp-color-surface); }
.i983-panel__progress .wp-route-line__stop--upcoming .wp-route-line__marker { border:2px dashed var(--wp-color-future-stop); background:var(--wp-color-surface); }
.phase-six .audit-history__card { position:relative; margin-bottom:24px; padding:24px; border:1px solid var(--wp-color-border); }
.phase-six .audit-history__card::before { content:''; position:absolute; width:12px; height:12px; left:-41px; top:32px; border-radius:50%; background:var(--wp-color-primary); border:3px solid var(--wp-color-bg); }
.phase-six .audit-history__card-category { font:600 11px var(--wp-font-sans); letter-spacing:.14em; color:var(--wp-color-text-muted); }
.phase-six .audit-history__card-action-title { font:500 1.25rem var(--wp-font-display); color:var(--wp-color-primary); min-height:44px; }
.phase-six .audit-history__view-toggle-btn,.phase-six .document-requests__view-toggle-btn,.payroll-readiness__view-toggle-btn { min-height:44px; padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface)!important; color:var(--wp-color-text)!important; }
.phase-six .audit-history__view-toggle-btn.is-active,.phase-six .document-requests__view-toggle-btn.is-active,.payroll-readiness__view-toggle-btn.is-active { background:var(--wp-color-primary)!important; color:var(--wp-color-primary-contrast)!important; }
.payroll-readiness__workspace :is(.payroll-readiness__hero,.payroll-readiness__filter-panel,.payroll-readiness__table,.payroll-readiness__card) { background:var(--wp-color-surface)!important; border-color:var(--wp-color-border)!important; color:var(--wp-color-text); }
.payroll-readiness__workspace .wp-filter-pills { margin-block:24px; }
.phase-six .reports__kpis { display:flex; flex-wrap:wrap; gap:32px; border-block:1px solid var(--wp-color-border); padding-block:24px; }
.phase-six .reports__kpis article { border:0; background:transparent; padding:0; }
.phase-six .reports__kpis strong { color:var(--wp-color-text); font-family:var(--wp-font-sans); }
.phase-six :is(button,a,input,textarea,select):focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:900px) { .document-workflow-layout { grid-template-columns:minmax(0,1fr); gap:24px; } .document-workflow-layout > .document-route { position:static; } }
@media(max-width:768px) {
  .phase-six .organization-settings__save-bar { top:calc(80px + env(safe-area-inset-top)); padding:16px; justify-content:flex-start; }
  .phase-six .organization-settings__settings:has(> .organization-settings__save-bar) { padding-bottom:128px; }
  .phase-six .organization-settings__settings > .organization-settings__save-bar { position:fixed; top:auto; bottom:calc(80px + env(safe-area-inset-bottom)); left:max(16px,env(safe-area-inset-left)); right:max(80px,calc(16px + env(safe-area-inset-right))); }
  .phase-six .organization-settings__save-bar > span { flex-basis:100%; }
}
@media(max-width:600px) { .document-route,.phase-six .request-documents__card { padding:16px; } .phase-six .audit-history__cards-grid { padding-left:24px; } .phase-six .audit-history__card::before { left:-33px; } }

.employee-management { color:var(--wp-color-text); }
.employee-management__controls-row { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:24px; min-width:0; }
.employee-management__search { display:grid; gap:8px; flex:1 1 280px; color:var(--wp-color-text-muted); font-size:.875rem; }
.employee-management__search .wp-search-input { margin:0; }
.employee-management__results-actions,.employee-management__view-toggle { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.employee-management__view-toggle-btn,.employee-management__filter-menu summary { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 16px; background:var(--wp-color-surface); color:var(--wp-color-text); border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); cursor:pointer; font:500 .875rem var(--wp-font-sans); }
.employee-management__view-toggle-btn.is-active { background:var(--wp-color-primary); color:var(--wp-color-primary-contrast); border-color:var(--wp-color-primary); }
.employee-management__filter-menu { position:relative; }
.employee-management__filter-menu summary { list-style:none; }
.employee-management__filter-menu summary::-webkit-details-marker { display:none; }
.employee-management__filter-content { position:absolute; top:100%; left:0; right:auto; z-index:35; width:min(320px,calc(100vw - 48px)); display:grid; gap:16px; padding:16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); }
.employee-management__filter-dot { width:8px; height:8px; border-radius:50%; background:var(--wp-color-primary); }
.employee-management__selection { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-bottom:16px; color:var(--wp-color-text-muted); }
.employee-management__cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:24px; }
.employee-management__card { min-width:0; padding:24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); }
.employee-management__card.is-selected { background:var(--wp-color-primary-soft); border-color:var(--wp-color-primary); }
.employee-management__card-select { min-height:44px; display:flex; align-items:center; gap:8px; font-size:.875rem; color:var(--wp-color-text-muted); }
.employee-management__card-header,.employee-management__card-identity { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.employee-management__card-header { justify-content:space-between; margin-block:16px; }
.employee-management__card-avatar,.employee-management__identity > span { display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:var(--wp-color-primary-soft); color:var(--wp-color-primary); font-weight:600; }
.employee-management__person-link { min-height:44px; padding:8px 0; background:transparent; border:0; font:500 1.125rem var(--wp-font-display); color:var(--wp-color-primary); cursor:pointer; text-align:left; }
.employee-management__card-sub { display:block; color:var(--wp-color-text-muted); font-size:.875rem; }
.employee-management__id-cell { display:inline-flex; align-items:center; gap:8px; }
.employee-management__copy-btn { display:inline-grid; place-items:center; min-height:44px; min-width:44px; border:0; background:transparent; color:var(--wp-color-primary); cursor:pointer; }
.employee-management__card-body { display:grid; gap:16px; border-top:1px solid var(--wp-color-border); padding-top:16px; }
.employee-management__card-row { display:flex; justify-content:space-between; gap:16px; font-size:.875rem; }
.employee-management__card-label { color:var(--wp-color-text-muted); }
.employee-management__card-footer { margin-top:24px; }
.employee-management__pagination-bar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:16px; }
.employee-management__page-size { display:flex; align-items:center; gap:8px; }
.employee-management__page-size select { min-height:44px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); padding:8px; background:var(--wp-color-surface); color:var(--wp-color-text); }
.employee-management__copied-toast { margin-top:16px; padding:16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-primary-soft); color:var(--wp-color-text); }
.employee-management__panel { width:min(680px,100%); }
.employee-management__detail { display:grid; gap:24px; }
.employee-management__detail > button { justify-self:start; }
.employee-management__identity { display:flex; flex-wrap:wrap; align-items:center; gap:16px; }
.employee-management__identity > div:nth-child(2) { flex:1; min-width:160px; }
.employee-management__identity p { font:600 11px var(--wp-font-sans); letter-spacing:.14em; color:var(--wp-color-text-muted); }
.employee-management__identity h2 { margin-block:8px; }
.employee-management__identity small { color:var(--wp-color-text-muted); }
.employee-management__identity-actions { display:flex; flex-wrap:wrap; gap:8px; width:100%; }
.employee-management__summary-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.employee-management__summary-grid section,.employee-management__history { padding:24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); min-width:0; }
.employee-management__detail h3 { font:500 1.25rem var(--wp-font-display); margin:0 0 16px; }
.employee-management__summary-grid dl,.employee-management__account-review dl,.employee-management__account-success dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; }
.employee-management__summary-grid dl div,.employee-management__account-review dl div,.employee-management__account-success dl div { display:grid; gap:8px; }
.employee-management__summary-grid dt,.employee-management__account-review dt,.employee-management__account-success dt { font-size:.875rem; color:var(--wp-color-text-muted); }
.employee-management__summary-grid dd,.employee-management__account-review dd,.employee-management__account-success dd { margin:0; overflow-wrap:anywhere; }
.employee-management__summary-grid .wp-route-line { margin-bottom:24px; }
.employee-management__steps { display:flex; gap:8px; margin-bottom:24px; }
.employee-management__steps span { padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-pill); color:var(--wp-color-text-muted); }
.employee-management__steps .active { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); }
.employee-management__account-modal { max-width:840px; }
.employee-management__account-success p { margin-top:24px; padding:16px; border:1px solid var(--wp-color-border); background:var(--wp-color-primary-soft); border-radius:var(--wp-radius-control); }
.employee-management__address-autocomplete { position:relative; }
.employee-management__address-message { display:block; margin-top:8px; color:var(--wp-color-text-muted); }
.employee-management__address-suggestions { position:absolute; top:100%; left:0; right:0; z-index:25; max-height:240px; overflow:auto; list-style:none; padding:8px; margin:8px 0 0; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); }
.employee-management__address-suggestions button { min-height:44px; width:100%; padding:8px; background:transparent; border:0; font:inherit; color:var(--wp-color-text); text-align:left; cursor:pointer; }
.employee-management__address-suggestions button:hover { background:var(--wp-color-hover); }
.employee-management :is(button,input,select,summary):focus-visible,.employee-management__panel :is(button,input,select):focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
@media(max-width:600px) { .employee-management__controls-row > * { width:100%; } .employee-management__card,.employee-management__summary-grid section,.employee-management__history { padding:16px; } .employee-management__summary-grid dl,.employee-management__account-review dl,.employee-management__account-success dl { grid-template-columns:minmax(0,1fr); } }
.profile-changes__feature.myhr-feature{gap:28px}
.profile-changes__feature .wp-page-header{margin-bottom:0}
.profile-changes__feature .wp-page-header__action{display:flex;justify-content:flex-end;margin-left:auto}
.profile-changes__feature .profile-changes__request-button{min-height:46px;padding:10px 18px}
.profile-changes__feature .wp-card{margin-bottom:0}

.profile-changes__identity{align-items:center;background:rgba(8, 24, 18, 0.88);border:1px solid rgba(0, 255, 135, 0.2);border-radius:16px;display:grid;gap:18px;grid-template-columns:auto 1fr auto;padding:24px;box-shadow:0 4px 20px rgba(0,0,0,0.4);backdrop-filter:blur(16px)}
.profile-changes__identity>span{align-items:center;background:linear-gradient(135deg, #0b624f, #00ff87);border-radius:50%;color:#fff;display:flex;font-size:1.2rem;font-weight:800;height:64px;justify-content:center;width:64px;box-shadow:0 0 16px rgba(0, 255, 135,0.4)}
.profile-changes__identity p{color:#00ff87;font-size:.72rem;font-weight:800;letter-spacing:.08em;margin:0;text-transform:uppercase}
.profile-changes__identity h2{color:#f8fafc;margin:5px 0;font-weight:750}

.profile-changes__summary{display:grid;gap:14px 20px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}
.profile-changes__summary div{display:grid;gap:4px;min-width:0}
.profile-changes__summary dt{color:#00ff87;font-size:.72rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.profile-changes__summary dd{font-weight:600;margin:0;color:#f8fafc;overflow-wrap:anywhere}

.profile-changes__address{background:rgba(8, 24, 18, 0.8);border:1px solid rgba(0, 255, 135, 0.15);border-radius:10px;display:grid;gap:5px;margin-top:18px;padding:14px;color:#cbd5e1}
.profile-changes__section-head{align-items:end;display:flex;gap:20px;justify-content:space-between}
.profile-changes__section-head h2{color:#f8fafc;margin:0;font-weight:750}
.profile-changes__section-head p{color:#cbd5e1;margin:5px 0 0}

.profile-changes__feedback{background:rgba(255, 184, 0, 0.12);border-left:4px solid #ffb800;border-radius:0 8px 8px 0;padding:12px 14px;color:#f8fafc}
.profile-changes__assigned,.profile-changes__history{background:rgba(8, 24, 18, 0.88);border:1px solid rgba(0, 255, 135, 0.2);border-radius:16px;padding:22px;box-shadow:0 4px 20px rgba(0,0,0,0.4);backdrop-filter:blur(16px)}
.profile-changes__history h2{color:#f8fafc;margin:0 0 4px;font-weight:750}
.profile-changes__history-subtitle{color:#cbd5e1;margin:0 0 16px}

.profile-changes__form-actions{display:flex;gap:10px;justify-content:flex-end}
.profile-changes__address-autocomplete{position:relative}
.profile-changes__address-autocomplete>small{color:#94a3b8;display:block;margin-top:5px}
.profile-changes__address-suggestions{background:rgba(8, 24, 18, 0.96);border:1px solid rgba(0, 255, 135, 0.25);border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.6);left:0;list-style:none;margin:4px 0 0;max-height:220px;overflow:auto;padding:4px;position:absolute;right:0;top:100%;z-index:20;backdrop-filter:blur(20px)}
.profile-changes__address-suggestions li+li{border-top:1px solid rgba(0, 255, 135, 0.12)}
.profile-changes__address-suggestions button{background:transparent;border:0;color:#cbd5e1;cursor:pointer;font:inherit;padding:10px 12px;text-align:left;width:100%;font-weight:500;transition:all 150ms ease}
.profile-changes__address-suggestions button:hover,.profile-changes__address-suggestions button:focus-visible{background:rgba(0, 255, 135, 0.15);color:#00ff87;outline:none}

.profile-changes__button--sm.wp-button{font-size:.8rem;padding:8px 14px}
.profile-changes__back-link.wp-button{background:none;border-color:transparent;color:#00ff87;flex-shrink:0;padding:4px 0;font-weight:600}
.profile-changes__back-link.wp-button:hover:not(:disabled){background:none;box-shadow:none;color:#34d399;text-decoration:underline}

.profile-changes__cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:8px 0 24px;width:100%;max-width:100%}
.profile-changes__card{background:rgba(8, 24, 18, 0.94);border:1px solid rgba(0, 255, 135, 0.22);border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.4);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:14px;min-height:180px;padding:26px 28px;text-align:left;transition:all 220ms ease;position:relative;overflow:hidden;width:100%}
.profile-changes__card:hover{border-color:#00ff87;box-shadow:0 8px 30px rgba(0, 255, 135, 0.25);transform:translateY(-3px);background:rgba(10, 36, 26, 0.98)}
.profile-changes__card-head{align-items:center;display:flex;gap:14px}
.profile-changes__card-icon{align-items:center;background:rgba(0, 255, 135, 0.12);border-radius:50%;color:#00ff87;display:flex;flex:0 0 48px;height:48px;justify-content:center;box-shadow:0 0 12px rgba(0, 255, 135,0.25)}
.profile-changes__card-icon svg{fill:none;height:24px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;width:24px}
.profile-changes__card-head strong{color:#ffffff;font-size:1.2rem;font-weight:750}
.profile-changes__card small{color:#cbd5e1;font-size:.92rem;line-height:1.5}
.profile-changes__card em{color:#00ff87;font-size:.9rem;font-style:normal;font-weight:700;margin-top:auto;display:inline-flex;align-items:center;gap:6px}
@media(max-width:700px){.profile-changes__cards{grid-template-columns:1fr}}

.profile-changes__filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:12px;margin:14px 0 18px}
.profile-changes__filters .profile-changes__search-field{flex:1 1 240px;min-width:200px;margin-bottom:0}
.profile-changes__filters .wp-field{flex:1 1 150px;min-width:130px;margin-bottom:0}
.profile-changes__filters .wp-search-input{margin-bottom:0}
.profile-changes__clear-btn{align-self:flex-end;min-height:42px;white-space:nowrap}
.profile-changes__search-field{min-width:0}
.profile-changes__search-field .wp-form-label{margin-bottom:.4rem;color:#cbd5e1;font-weight:700;text-transform:uppercase;font-size:0.75rem}
.profile-changes__list{display:grid;gap:8px}

.profile-changes__request{border-top:1px solid rgba(0, 255, 135, 0.15);display:grid;gap:12px;padding:16px 0}
.profile-changes__request-top{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}
.profile-changes__request-top strong{color:#00ff87;font-size:1.05rem;font-weight:750;overflow-wrap:anywhere}
.profile-changes__request-grid{align-items:center;background:rgba(8, 24, 18, 0.85);border:1px solid rgba(0, 255, 135, 0.15);border-radius:12px;display:grid;gap:16px;grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) auto;padding:14px 18px}
.profile-changes__request-grid>div{display:grid;gap:3px;min-width:0}
.profile-changes__request-grid strong,.profile-changes__request-grid span{overflow-wrap:anywhere;color:#f8fafc}
.profile-changes__request-label{color:#00ff87;font-size:.72rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.profile-changes__request-meta{align-items:center;color:#cbd5e1;display:flex;flex-wrap:wrap;font-size:.84rem;gap:8px 22px}
.profile-changes__request-meta b{color:#ffffff;font-weight:650;overflow-wrap:anywhere}
.profile-changes__val-requested{color:#00ff87!important;font-weight:750!important;overflow-wrap:anywhere;word-break:break-word}
[data-theme="light"] .profile-changes__val-requested{color:#065f46!important;font-weight:750!important}
.profile-changes__employee-head-v3{display:inline-flex;align-items:center;gap:8px;padding:4px 0}
.profile-changes__employee-title{color:#ffffff;font-size:1.05rem;font-weight:750;overflow-wrap:anywhere}
[data-theme="light"] .profile-changes__employee-title{color:#0f172a!important}

.profile-changes__modal.wp-modal__panel{max-width:430px}
.profile-changes__modal .wp-modal__footer{flex-wrap:wrap}
.profile-changes__review{display:grid;gap:14px}
.profile-changes__review section{border:1px solid rgba(0, 255, 135, 0.2);border-radius:12px;padding:18px 20px;background:rgba(8, 24, 18, 0.7)}
.profile-changes__review h3{color:#f8fafc;margin:0 0 12px;font-weight:750}
.profile-changes__review-heading{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:12px}
.profile-changes__review-heading h3{margin:0}
.profile-changes__review dl{display:grid;gap:10px}
.profile-changes__review dl div{display:grid;gap:2px 16px;grid-template-columns:150px minmax(0,1fr)}
.profile-changes__review dt{color:#00ff87;font-size:.72rem;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.profile-changes__review dd{color:#f8fafc;font-weight:600;margin:0;overflow-wrap:anywhere}
.profile-changes__field-name{color:#00ff87;font-weight:750;font-size:1rem;margin:0 0 12px}

.profile-changes__value{align-items:stretch;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.profile-changes__value span{background:rgba(6, 18, 14, 0.85);border:1px solid rgba(0, 255, 135, 0.2);border-radius:10px;display:grid;gap:6px;min-width:0;overflow-wrap:anywhere;padding:12px 14px}
.profile-changes__value small{color:#00ff87;font-weight:800;font-size:0.72rem;text-transform:uppercase}
.profile-changes__value strong{color:#ffffff;font-size:1rem;overflow-wrap:anywhere}
.profile-changes__value b{align-self:center;color:#00ff87;font-size:1.2rem}

.profile-changes__modal .wp-button--danger{background-color:transparent;border-color:var(--wp-color-error);color:var(--wp-color-error)}
.profile-changes__modal .wp-button--danger:hover:not(:disabled){background-color:var(--wp-color-error-bg)}

@media(max-width:700px){
  .profile-changes__identity {
    grid-template-columns: auto 1fr;
    padding: 16px;
    gap: 12px;
  }
  .profile-changes__identity > .wp-status-tag {
    grid-column: 1 / -1;
    justify-self: start;
  }
  .profile-changes__assigned, .profile-changes__history {
    padding: 16px;
  }
  .profile-changes__filters {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .profile-changes__filters .profile-changes__search-field,
  .profile-changes__filters .wp-field,
  .profile-changes__clear-btn {
    width: 100%;
    min-width: 0;
    flex: none;
  }
  .profile-changes__clear-btn {
    align-self: stretch;
    justify-content: center;
  }
  .profile-changes__summary, .profile-changes__request-grid {
    grid-template-columns: 1fr;
  }
  .profile-changes__request-grid {
    padding: 12px 14px;
    gap: 10px;
  }
  .profile-changes__review dl div {
    grid-template-columns: 1fr;
  }
  .profile-changes__value {
    grid-template-columns: 1fr;
  }
  .profile-changes__value b {
    justify-self: center;
    transform: rotate(90deg);
  }
  .profile-changes__form-actions {
    flex-direction: column;
    width: 100%;
  }
  .profile-changes__form-actions .wp-button {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   Profile Changes - Light Theme Overrides
   ========================================================================== */
[data-theme="light"] .profile-changes__assigned,
[data-theme="light"] .profile-changes__history {
  background: #ffffff !important;
  border-color: #dce5df !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .profile-changes__history h2 {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__history-subtitle {
  color: #475569 !important;
}

[data-theme="light"] .profile-changes__card {
  background: #ffffff !important;
  border-color: #dce5df !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .profile-changes__card:hover {
  background: #f8fafc !important;
  border-color: #0b624f !important;
  box-shadow: 0 8px 24px rgba(11, 98, 79, 0.12) !important;
}

[data-theme="light"] .profile-changes__card-head strong {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__card small {
  color: #475569 !important;
}

[data-theme="light"] .profile-changes__card em {
  color: #0b624f !important;
}

[data-theme="light"] .profile-changes__card-icon {
  background: #e6fcf5 !important;
  color: #059669 !important;
  box-shadow: none !important;
}

[data-theme="light"] .profile-changes__search-field .wp-form-label {
  color: #334155 !important;
}

[data-theme="light"] .profile-changes__review section {
  background: #f8fafc !important;
  border-color: #e2e8f0 !important;
}

[data-theme="light"] .profile-changes__review h3 {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__review dt {
  color: #0b624f !important;
}

[data-theme="light"] .profile-changes__review dd {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__value span {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

[data-theme="light"] .profile-changes__value strong {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__identity {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .profile-changes__identity > span {
  background: #0b624f !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

[data-theme="light"] .profile-changes__identity p {
  color: #065f46 !important;
  font-weight: 800 !important;
}

[data-theme="light"] .profile-changes__identity h2 {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__summary {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
}

[data-theme="light"] .profile-changes__summary dt {
  color: #065f46 !important;
}

[data-theme="light"] .profile-changes__summary dd {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__request-top strong {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__request-label {
  color: #065f46 !important;
}

[data-theme="light"] .profile-changes__field-name {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__back-link.wp-button {
  color: #0b624f !important;
}

[data-theme="light"] .profile-changes__request {
  border-top: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .profile-changes__request-grid {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .profile-changes__request-grid strong {
  color: #0f172a !important;
  font-weight: 750 !important;
}

[data-theme="light"] .profile-changes__request-grid span {
  color: #334155 !important;
}

[data-theme="light"] .profile-changes__request-label {
  color: #065f46 !important;
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
}

[data-theme="light"] .profile-changes__request-meta {
  color: #475569 !important;
  font-size: 0.84rem !important;
}

[data-theme="light"] .profile-changes__request-meta b {
  color: #0f172a !important;
  font-weight: 750 !important;
}

[data-theme="light"] .profile-changes__request-grid .wp-button--secondary {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
  color: #0f172a !important;
  font-weight: 650 !important;
}

[data-theme="light"] .profile-changes__request-grid .wp-button--secondary:hover {
  background: #f8fafc !important;
  border-color: #0b624f !important;
  color: #0b624f !important;
}

[data-theme="light"] .profile-changes__filters .wp-form-label {
  color: #475569 !important;
  font-weight: 750 !important;
}

[data-theme="light"] .profile-changes__review section {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}

[data-theme="light"] .profile-changes__review h3 {
  color: #0f172a !important;
  font-weight: 800 !important;
}

[data-theme="light"] .profile-changes__review dt {
  color: #065f46 !important;
  font-weight: 800 !important;
}

[data-theme="light"] .profile-changes__review dd {
  color: #0f172a !important;
  font-weight: 600 !important;
}

[data-theme="light"] .profile-changes__value span {
  background: #ffffff !important;
  border: 1px solid #cbd5e1 !important;
}

[data-theme="light"] .profile-changes__value small {
  color: #065f46 !important;
  font-weight: 800 !important;
}

[data-theme="light"] .profile-changes__value strong {
  color: #0f172a !important;
}

[data-theme="light"] .profile-changes__value b {
  color: #0b624f !important;
}

.profile-changes__employee-head {
  display: flex;
  align-items: center;
}

.profile-changes__modal-badge-wrap {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  margin: 8px 0 4px;
  padding: 0;
  background: transparent;
  border: none;
}
/* ==========================================================================
   WAYPOINT PROFILE CHANGE DETAILS CARD
   Clean, high-clarity, non-flippable layout with selectable text & copy tools.
   ========================================================================== */

.wp-profile-card {
  box-sizing: border-box;
  width: 100%;
  max-width: 520px;
  background: #ffffff;
  border: 1.5px solid #e2e8f0;
  border-radius: 16px;
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  user-select: text !important;
  -webkit-user-select: text !important;
  font-family: inherit;
}

[data-theme='dark'] .wp-profile-card {
  background: #091a13;
  border-color: rgba(0, 255, 135, 0.25);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
}

/* Header */
.wp-profile-card__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid #f1f5f9;
}

[data-theme='dark'] .wp-profile-card__header {
  border-bottom-color: rgba(255, 255, 255, 0.08);
}

.wp-profile-card__identity {
  display: flex;
  align-items: center;
  gap: 12px;
}

.wp-profile-card__avatar {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: linear-gradient(135deg, #0b624f, #10b981);
  color: #ffffff;
  font-weight: 800;
  font-size: 1.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(11, 98, 79, 0.2);
}

.wp-profile-card__emp-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wp-profile-card__name {
  font-size: 1.05rem;
  font-weight: 750;
  color: #0f172a;
}

[data-theme='dark'] .wp-profile-card__name {
  color: #ffffff;
}

.wp-profile-card__meta {
  font-size: 0.82rem;
  color: #64748b;
  font-weight: 500;
}

[data-theme='dark'] .wp-profile-card__meta {
  color: #94a3b8;
}

.wp-profile-card__id {
  color: #0b624f;
  font-weight: 700;
}

[data-theme='dark'] .wp-profile-card__id {
  color: #00ff87;
}

/* Status Pill */
.wp-profile-card__status {
  font-size: 0.74rem;
  font-weight: 750;
  padding: 4px 12px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.wp-profile-card__status--pending {
  background: #fffbeb;
  color: #b45309;
  border: 1px solid #fde68a;
}

[data-theme='dark'] .wp-profile-card__status--pending {
  background: rgba(255, 184, 0, 0.12);
  color: #ffb800;
  border-color: rgba(255, 184, 0, 0.35);
}

.wp-profile-card__status--approved {
  background: #ecfdf5;
  color: #047857;
  border: 1px solid #a7f3d0;
}

[data-theme='dark'] .wp-profile-card__status--approved {
  background: rgba(0, 255, 135, 0.12);
  color: #00ff87;
  border-color: rgba(0, 255, 135, 0.35);
}

.wp-profile-card__status--rejected {
  background: #fef2f2;
  color: #b91c1c;
  border: 1px solid #fecaca;
}

[data-theme='dark'] .wp-profile-card__status--rejected {
  background: rgba(239, 68, 68, 0.12);
  color: #f87171;
  border-color: rgba(239, 68, 68, 0.35);
}

/* Change Diff Section */
.wp-profile-card__diff-section {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[data-theme='dark'] .wp-profile-card__diff-section {
  background: rgba(8, 24, 18, 0.85);
  border-color: rgba(0, 255, 135, 0.2);
}

.wp-profile-card__diff-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.wp-profile-card__kicker {
  font-size: 0.7rem;
  font-weight: 800;
  color: #64748b;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

[data-theme='dark'] .wp-profile-card__kicker {
  color: #94a3b8;
}

.wp-profile-card__field-name {
  font-size: 0.95rem;
  font-weight: 750;
  color: #0f172a;
}

[data-theme='dark'] .wp-profile-card__field-name {
  color: #ffffff;
}

.wp-profile-card__diff-grid {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: stretch;
  gap: 12px;
}

@media (max-width: 520px) {
  .wp-profile-card__diff-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .wp-profile-card__arrow {
    transform: rotate(90deg);
    padding: 2px 0;
  }
}

.wp-profile-card__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  color: #94a3b8;
  font-weight: 700;
  user-select: none;
}

.wp-profile-card__val-panel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
  border: 1.5px solid #cbd5e1;
  border-radius: 10px;
  padding: 10px 12px;
  gap: 8px;
  min-height: 80px;
  user-select: text !important;
  -webkit-user-select: text !important;
}

[data-theme='dark'] .wp-profile-card__val-panel--from {
  background: rgba(6, 18, 14, 0.85);
  border-color: rgba(255, 255, 255, 0.14);
}

.wp-profile-card__val-panel--to {
  background: #f0fdf4;
  border-color: #86efac;
}

[data-theme='dark'] .wp-profile-card__val-panel--to {
  background: rgba(0, 255, 135, 0.08);
  border-color: rgba(0, 255, 135, 0.35);
}

.wp-profile-card__panel-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
}

.wp-profile-card__panel-tag {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  color: #64748b;
  user-select: none;
}

[data-theme='dark'] .wp-profile-card__panel-tag {
  color: #94a3b8;
}

.wp-profile-card__val-panel--to .wp-profile-card__panel-tag {
  color: #047857;
}

[data-theme='dark'] .wp-profile-card__val-panel--to .wp-profile-card__panel-tag {
  color: #00ff87;
}

.wp-profile-card__copy-btn {
  background: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  color: #475569;
  font-size: 0.72rem;
  font-weight: 650;
  padding: 2px 7px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  transition: all 0.15s ease;
  user-select: none;
}

.wp-profile-card__copy-btn:hover {
  background: #f1f5f9;
  border-color: #94a3b8;
  color: #0f172a;
}

[data-theme='dark'] .wp-profile-card__copy-btn {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(255, 255, 255, 0.15);
  color: #cbd5e1;
}

[data-theme='dark'] .wp-profile-card__copy-btn:hover {
  background: rgba(0, 255, 135, 0.15);
  border-color: #00ff87;
  color: #00ff87;
}

.wp-profile-card__val-text {
  font-size: 0.88rem;
  line-height: 1.5;
  color: #1e293b;
  word-break: break-word;
  user-select: text !important;
  -webkit-user-select: text !important;
  font-family: inherit;
}

[data-theme='dark'] .wp-profile-card__val-text {
  color: #cbd5e1;
}

.wp-profile-card__val-text--highlight {
  color: #064e3b;
  font-weight: 650;
}

[data-theme='dark'] .wp-profile-card__val-text--highlight {
  color: #00ff87;
}

/* Audit & Metadata Section */
.wp-profile-card__audit-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wp-profile-card__meta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 14px;
}

[data-theme='dark'] .wp-profile-card__meta-grid {
  background: rgba(8, 24, 18, 0.6);
  border-color: rgba(0, 255, 135, 0.18);
}

.wp-profile-card__meta-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  user-select: text !important;
  -webkit-user-select: text !important;
}

.wp-profile-card__meta-label {
  font-size: 0.7rem;
  font-weight: 750;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  user-select: none;
}

[data-theme='dark'] .wp-profile-card__meta-label {
  color: #94a3b8;
}

.wp-profile-card__meta-val {
  font-size: 0.86rem;
  font-weight: 650;
  color: #0f172a;
  word-break: break-word;
  user-select: text !important;
  -webkit-user-select: text !important;
}

[data-theme='dark'] .wp-profile-card__meta-val {
  color: #f8fafc;
}

/* Callout blocks for Reason and Comments */
.wp-profile-card__callout {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  user-select: text !important;
  -webkit-user-select: text !important;
}

[data-theme='dark'] .wp-profile-card__callout {
  background: rgba(6, 18, 14, 0.7);
  border-color: rgba(255, 255, 255, 0.1);
}

.wp-profile-card__callout--comment {
  border-left: 3px solid #0b624f;
}

[data-theme='dark'] .wp-profile-card__callout--comment {
  border-left: 3px solid #00ff87;
}

.wp-profile-card__callout-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wp-profile-card__callout-text {
  margin: 0;
  font-size: 0.86rem;
  color: #334155;
  line-height: 1.5;
  user-select: text !important;
  -webkit-user-select: text !important;
}

[data-theme='dark'] .wp-profile-card__callout-text {
  color: #cbd5e1;
}

/* Actions footer if onInspect provided */
.wp-profile-card__actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}

.wp-profile-card__action-btn {
  background: #f1f5f9;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  color: #0b624f;
  font-weight: 700;
  font-size: 0.84rem;
  padding: 8px 14px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.wp-profile-card__action-btn:hover {
  background: #ecfdf5;
  border-color: #0b624f;
}

[data-theme='dark'] .wp-profile-card__action-btn {
  background: rgba(0, 255, 135, 0.1);
  border-color: rgba(0, 255, 135, 0.3);
  color: #00ff87;
}

[data-theme='dark'] .wp-profile-card__action-btn:hover {
  background: rgba(0, 255, 135, 0.2);
  border-color: #00ff87;
}
.signature-region-selector { display: grid; gap: .6rem; margin-top: .75rem; }
.signature-region-selector > p { margin: 0; font-size: .9rem; color: #5b6a64; }
.signature-region-selector__stage {
  position: relative; display: inline-block; max-width: 100%; touch-action: none; cursor: crosshair;
  border: 1px solid #dce5e1; border-radius: .5rem; overflow: hidden; line-height: 0;
}
.signature-region-selector__stage img { display: block; max-width: 100%; max-height: 320px; width: auto; height: auto; user-select: none; }
.signature-region-selector__box {
  position: absolute; border: 2px dashed #2f6f57; background: rgba(47, 111, 87, .12); pointer-events: none;
}
.signature-region-selector__actions { display: flex; gap: .6rem; }


/* Filters and role-dependent actions each stay grouped, but the toolbar as a
   whole reflows continuously with the viewport instead of holding one fixed
   row until a single hard breakpoint, then snapping to a stacked layout.
   That single-cliff approach is what produced the "looks fine on my screen,
   squeezed on a teammate's slightly narrower one" symptom: two machines on
   opposite sides of the same breakpoint render completely differently for a
   few pixels of difference. Wrapping continuously means every width in
   between reflows a little more, rather than all-at-once. */
.document-requests__toolbar { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:.75rem 1rem; margin-bottom:1rem; }
.document-requests__filters { display:flex; flex:1 1 auto; flex-wrap:wrap; align-items:flex-end; gap:.75rem; min-width:0; }
.document-requests__filters .wp-field { flex:1 1 9rem; margin-bottom:0; min-width:8.5rem; max-width:15rem; }
.document-requests__search-field { flex:1 1 14rem !important; min-width:12rem !important; max-width:20rem; }
.document-requests__filters .wp-field:nth-child(4) { flex:1.3 1 14rem; max-width:18rem; }
.document-requests__search-field .wp-form-label { margin-bottom:.4rem; display:block; }
.document-requests__clear { align-self:end; }
.document-requests__scope { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; margin:0 0 1rem; }
.document-requests__scope p { margin:0; font-size:.875rem; opacity:.8; }
.document-requests__scope-action { margin-left:auto; white-space:nowrap; }
.document-requests__my-requests { align-self:end; white-space:nowrap; flex-wrap:nowrap !important; }
@media (max-width:640px) { .document-requests__scope-action { margin-left:0; width:100%; } }
.document-requests__clear-filters { border:0; background:transparent; padding:.7rem .25rem; color:var(--wp-color-text); font:inherit; font-weight:600; cursor:pointer; }
.document-requests__clear-filters:hover { text-decoration:underline; }
.document-requests__feature.myhr-feature { gap:28px; }
.document-requests__feature .wp-page-header { margin-bottom:0; }
.document-requests__action-cards { display:grid; gap:20px; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); margin:8px 0 24px; width:100%; max-width:100%; }
.document-requests__action-card { align-items:flex-start; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:14px; backdrop-filter:none; box-shadow:none; color:var(--wp-color-text); cursor:pointer; display:flex; flex-direction:column; gap:12px; min-height:200px; padding:24px; text-align:left; transition:all 0.25s cubic-bezier(0.16, 1, 0.3, 1); position:relative; width:100%; box-sizing:border-box; }
.document-requests__action-card:hover { border-color:var(--wp-color-border); box-shadow:none; transform:translateY(-2px); }
.document-requests__action-card-top { display:flex; align-items:center; justify-content:space-between; width:100%; position:relative; }
.document-requests__action-card-icon { align-items:center; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:50%; color:var(--wp-color-text); display:flex; flex:0 0 48px; height:48px; width:48px; justify-content:center; transition:transform 0.2s ease; }
.document-requests__action-card:hover .document-requests__action-card-icon { transform:scale(1.05); }
.document-requests__action-card-icon svg { fill:none; height:22px; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.45; width:22px; }
.document-requests__action-card > span { display:flex; flex:1; flex-direction:column; width:100%; }
.document-requests__action-card strong { font-size:1.05rem; color:var(--wp-color-text); margin-top:4px; font-weight:600; }
.document-requests__action-card small { color:var(--wp-color-text); font-size:.88rem; line-height:1.45; margin-top:8px; }
.document-requests__action-card em { color:var(--wp-color-text); font-size:.88rem; font-style:normal; font-weight:600; margin-top:auto; padding-top:14px; display:flex; align-items:center; gap:4px; }
.document-requests__view-head { align-items:end; display:flex; gap:20px; justify-content:space-between; }
.document-requests__view-head h2 { color:var(--wp-color-text); margin:0; font-weight:600; }
.document-requests__view-head p { color:var(--wp-color-text); margin:5px 0 0; }
@media (max-width:700px) { .document-requests__action-cards { grid-template-columns:1fr; } }
@media (max-width:700px) { .document-requests__view-head { align-items:stretch; flex-direction:column; } }
.document-requests__actions { display:flex; flex:0 0 auto; flex-wrap:wrap; gap:.75rem; margin-left:auto; }
.document-requests__actions .wp-button { min-height:38px; padding:8px 18px; font-size:.9rem; }
.document-requests__actions > *, .document-requests__clear { align-items:center; justify-content:center; font-size:var(--wp-font-size-md); min-height:0; padding:var(--wp-space-md) var(--wp-space-lg); text-align:center; white-space:nowrap; }
/* HR Unified Workspace Navigation Tabs */
.document-requests__tabs-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border, var(--wp-color-border));
  border-radius: var(--wp-radius-card, 28px);
  padding: 6px;
  margin-bottom: 20px;
  box-shadow: none;
  overflow-x: auto;
}

.document-requests__tab {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: var(--wp-radius-control, 22px);
  color: var(--wp-color-text);
  font-size: 0.88rem;
  font-weight: 600;
  padding: 10px 18px;
  cursor: pointer;
  transition: all 0.18s ease-in-out;
  white-space: nowrap;
}

.document-requests__tab:hover {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.document-requests__tab.is-active {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.document-requests__tab-icon {
  font-size: 1rem;
}

.document-requests__tab-label {
  font-weight: 600;
}

.document-requests__tab-text--compact {
  display: none;
}

.document-requests__tab-badge {
  background: var(--wp-color-surface);
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 2px 8px;
}

.document-requests__tab.is-active .document-requests__tab-badge {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
}

@media (max-width: 768px) {
  .document-requests__tabs-nav {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    padding: 6px !important;
    border-radius: 16px !important;
    overflow-x: visible !important;
  }

  .document-requests__tab {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 10px 4px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    min-width: 0 !important;
    width: 100% !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .document-requests__tab-text--full {
    display: none !important;
  }

  .document-requests__tab-text--compact {
    display: inline !important;
    font-size: 0.75rem !important;
    letter-spacing: -0.01em !important;
  }

  .document-requests__tab-badge {
    font-size: 0.68rem !important;
    padding: 1px 6px !important;
    border-radius: 999px !important;
  }
}

[data-theme="dark"] .document-requests__tab.is-active {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  border-color: var(--wp-color-accent-cyan, var(--wp-color-border));
}

[data-theme="dark"] .document-requests__tab.is-active .document-requests__tab-badge {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
}

.document-requests__hr-action-panel { margin:0 0 1.5rem; }
.document-requests__hr-action-heading { margin:0 0 1rem; }
.document-requests__hr-action-heading > span, .document-requests__hr-action-kicker { color:var(--wp-color-text-muted); font-size:.75rem; font-weight:600; letter-spacing:.1em; }
.document-requests__hr-action-heading h2 { margin:.3rem 0; color:var(--wp-color-text); font-size:1.5rem; }
.document-requests__hr-action-heading p { margin:0; color:var(--wp-color-text); }
.document-requests__hr-action-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.document-requests__hr-action-card { display:grid; gap:9px; min-height:156px; padding:22px; text-align:left; color:inherit; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:16px; cursor:pointer; transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease; }
.document-requests__hr-action-card:hover, .document-requests__hr-action-card:focus-visible { border-color:var(--wp-color-border); box-shadow:none; outline:0; transform:translateY(-1px); }
.document-requests__hr-action-card--primary { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.document-requests__hr-action-card strong { color:var(--wp-color-text); font-size:1.15rem; }
.document-requests__hr-action-card > span:not(.document-requests__hr-action-kicker) { color:var(--wp-color-text-muted); line-height:1.45; }
.document-requests__hr-action-card b { margin-top:auto; color:var(--wp-color-text); font-size:.86rem; }
.document-requests__hr-action-panel + .document-requests__toolbar .document-requests__actions { display:none; }
@media (min-width:1200px) {
  .document-requests__filters {
    display:grid;
    grid-template-columns:minmax(180px,1.15fr) repeat(2,minmax(130px,.8fr)) minmax(180px,1fr) auto auto;
  }
  .document-requests__filters .wp-field,
  .document-requests__search-field,
  .document-requests__filters .wp-field:nth-child(4) { max-width:none; min-width:0; width:auto; }
  .document-requests__actions { flex-wrap:nowrap; grid-column:1 / -1; justify-self:stretch; }
}
@media (max-width:640px) { .document-requests__toolbar { align-items:stretch; flex-direction:column; } .document-requests__filters .wp-field, .document-requests__search-field { max-width:none; } .document-requests__actions { justify-content:stretch; } .document-requests__actions > * { flex:1; } .document-requests__hr-action-grid { grid-template-columns:1fr; } }
.document-requests__create label, .document-requests__fulfill label { display:grid; gap:.4rem; font-weight:600; }
.document-requests__create input, .document-requests__create select, .document-requests__create textarea, .document-requests__fulfill input { border:1px solid var(--wp-color-border); border-radius:.5rem; padding:.65rem; font:inherit; background:var(--wp-color-surface); color:var(--wp-color-text); }
.document-requests__create { display:grid; gap:1rem; padding:1rem; margin-bottom:1rem; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.75rem; }
.document-requests__create textarea { min-height:6rem; resize:vertical; }
.document-requests__error { color:var(--wp-color-error); background:var(--wp-color-surface); padding:.75rem; border-radius:.5rem; }
.document-requests__layout { display:grid; grid-template-columns:minmax(0, 2fr) minmax(17rem, 1fr); gap:1rem; align-items:start; }
.document-requests__layout > .document-requests__table-wrap:only-child { grid-column:1/-1; }
/* overflow:auto on the wrapper + a min-width floor on the table itself means
   columns keep a readable width and the table scrolls horizontally past
   that floor, instead of every column being squeezed thinner and thinner
   (long document/category text wrapping into narrow vertical blocks) as the
   viewport narrows. */
.document-requests__table-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: .75rem;
}
.document-requests__table-wrap table { width:100%; min-width:54rem; border-collapse:collapse; }
.document-requests__table-wrap th, .document-requests__table-wrap td { text-align:left; padding:.8rem; border-bottom:1px solid var(--wp-color-border); }
.document-requests__table-wrap th:first-child, .document-requests__table-wrap td:first-child { min-width:11rem; }
.document-requests__table-wrap th:nth-child(2), .document-requests__table-wrap td:nth-child(2),
.document-requests__table-wrap th:nth-child(3), .document-requests__table-wrap td:nth-child(3) { min-width:8rem; }
.document-requests__table-wrap th:nth-child(4), .document-requests__table-wrap td:nth-child(4) { min-width:9rem; }
/* Priority, Required by, Requested on, Status, Action - short/atomic values
   that should stay on one line rather than wrapping awkwardly. */
.document-requests__table-wrap th:nth-child(n+5), .document-requests__table-wrap td:nth-child(n+5) { white-space:nowrap; }
.document-requests__table-wrap .wp-status-tag { min-width:6.6rem; justify-content:center; text-transform:uppercase; letter-spacing:.025em; }
.document-requests__table-wrap td small { display:block; margin-top:.25rem; color:var(--wp-color-text); }
.document-requests__detail { overflow:hidden; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:1rem; padding:0; box-shadow:none; }
.document-requests__detail > header { padding:1.45rem 1.5rem 1.2rem; background:var(--wp-color-surface); border-bottom:1px solid var(--wp-color-border); }
.document-requests__detail > header h2 { margin:0; color:var(--wp-color-text); font-size:1.35rem; letter-spacing:-.02em; }
.document-requests__detail > header + p { margin:0; padding:1rem 1.5rem; color:var(--wp-color-text); background:var(--wp-color-surface); border-bottom:1px solid var(--wp-color-border); line-height:1.55; }
.document-requests__detail > dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:0; padding:1.35rem 1.5rem; }
.document-requests__detail dl div { display:grid; gap:.32rem; padding:.85rem .95rem; border:1px solid var(--wp-color-border); border-radius:.7rem; background:var(--wp-color-surface); }
.document-requests__detail dt { color:var(--wp-color-text); font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.document-requests__detail dd { margin:0; color:var(--wp-color-text); font-weight:600; text-align:left; overflow-wrap:anywhere; }
.document-requests__detail--page { width:100%; box-sizing:border-box; padding:1.5rem; }
.document-requests__detail--page > header { display:flex; justify-content:space-between; align-items:flex-start; gap:1.5rem; padding-bottom:1.25rem; border-bottom:1px solid var(--wp-color-border); }
.document-requests__detail--page > header span:first-child { color:var(--wp-color-text); font-size:.75rem; font-weight:600; letter-spacing:.1em; }
.document-requests__detail--page > header h2 { margin:.35rem 0; color:var(--wp-color-text); }
.document-requests__detail--page > header p { margin:0; color:var(--wp-color-text); }
.document-requests__detail--page > dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 2rem; }
.document-requests__detail--page > dl div { border-bottom:1px solid var(--wp-color-border); padding:.8rem 0; }
.document-requests__detail dl div { display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; }
.document-requests__detail dt { color:var(--wp-color-text); }.document-requests__detail dd { margin:0; text-align:right; }
.document-requests__fulfill { display:grid; gap:.75rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--wp-color-border); }
.document-requests__fulfill h3, .document-requests__fulfill p { margin:0; }
.document-requests__fulfill p { color:var(--wp-color-text); }
.document-requests__returned article { border-color:var(--wp-color-border); background:var(--wp-color-surface); }
.document-requests__attachments { display:grid; gap:.75rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--wp-color-border); }
.document-requests__requested-list { margin-top:1rem; padding-top:1rem; border-top:1px solid var(--wp-color-border); }
.document-requests__requested-list h3 { margin:0 0 .75rem; color:var(--wp-color-text); }
.document-requests__requested-list ul { display:grid; gap:.5rem; margin:0; padding-left:1.25rem; color:var(--wp-color-text); }
.document-requests__attachments h3 { margin:0; color:var(--wp-color-text); }
.document-requests__attachments article { display:grid; gap:.75rem; padding:.85rem; border:1px solid var(--wp-color-border); border-radius:.6rem; background:var(--wp-color-surface); }
.document-requests__attachments article > span { display:grid; gap:.2rem; min-width:0; }
.document-requests__attachments article strong { overflow-wrap:anywhere; }
.document-requests__attachments article small { color:var(--wp-color-text); }
.document-requests__attachments article > div { display:flex; flex-wrap:wrap; gap:.5rem; }
.document-requests__legacy-attachment { padding:.75rem; color:var(--wp-color-text); background:var(--wp-color-surface); border-radius:.5rem; font-size:.88rem; }
.document-requests__preview-backdrop { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:1.5rem; background:rgba(9,30,24,.64); }
.document-requests__preview { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(1100px,96vw); height:min(850px,92vh); overflow:hidden; background:#fff; border-radius:.85rem; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.document-requests__preview > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 1.25rem; border-bottom:1px solid #dce5e1; }
.document-requests__preview > header div { display:grid; gap:.2rem; min-width:0; }.document-requests__preview > header strong { overflow-wrap:anywhere; }.document-requests__preview > header small { color:#667085; }
.document-requests__preview > header button { border:0; background:transparent; color:#39564d; font-size:1.6rem; cursor:pointer; }
.document-requests__preview-content { overflow:auto; display:grid; place-items:center; background:#eef2f0; }
.document-requests__preview-content iframe { width:100%; height:100%; border:0; }.document-requests__preview-content img { max-width:100%; max-height:100%; object-fit:contain; }
.document-requests__docx-preview { align-self:start; width:100%; min-height:100%; background:#d8ddda; }
.document-requests__preview > footer { display:flex; justify-content:flex-end; gap:.75rem; padding:1rem 1.25rem; border-top:1px solid #dce5e1; }
.request-documents__back { border:0; background:transparent; color:var(--wp-color-text); font:inherit; font-weight:600; padding:0; margin:0 0 1rem; cursor:pointer; }
.myhr-feature--full .request-documents__back { justify-self:start; margin-left:0; }
.document-requests__docx-preview { background:#fff; max-height:65vh; min-height:240px; overflow:auto; }
/* docx-preview renders pages at their real size (8.5in ≈ 816px wide), so the
   default 560px Modal would clip them. Size the dialog for a full page and keep
   a single scroll area (the preview itself) instead of nested scrollbars. */
.document-requests__docx-modal.wp-modal__panel { width:94vw; max-width:min(1000px,94vw); height:90vh; overflow:hidden; }
.document-requests__docx-modal .wp-modal__body { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.document-requests__docx-modal .document-requests__docx-preview { flex:1; min-height:0; max-height:none; overflow:auto; }
.document-requests__reject { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin:0 1.5rem 1.5rem; padding:1rem 1.15rem; border:1px solid var(--wp-color-error); border-radius:.8rem; background:var(--wp-color-surface); }
.document-requests__reject h3 { margin:0; color:var(--wp-color-error); font-size:1rem; }
.document-requests__reject p { margin:.28rem 0 0; color:var(--wp-color-error); font-size:.9rem; }
.document-requests__reject .wp-button { flex:0 0 auto; color:var(--wp-color-error); border-color:var(--wp-color-error); }
.document-requests__reject .wp-button:hover:not(:disabled) { background:var(--wp-color-surface); }
.document-requests__reject-modal { display:grid; gap:1.2rem; }
.document-requests__reject-modal-intro { display:flex; gap:.8rem; align-items:flex-start; padding:.9rem; border-radius:.65rem; background:var(--wp-color-surface); color:var(--wp-color-error); }
.document-requests__reject-modal-intro > span { display:grid; place-items:center; flex:0 0 1.35rem; height:1.35rem; border-radius:50%; background:var(--wp-color-surface); color:var(--wp-color-error); font-weight:600; }
.document-requests__reject-modal-intro strong { display:block; line-height:1.35; }
.document-requests__reject-modal-intro p { margin:.2rem 0 0; color:var(--wp-color-error); font-size:.9rem; line-height:1.45; }
.document-requests__reject-modal label { display:grid; gap:.5rem; font-weight:600; color:var(--wp-color-error); }
.document-requests__reject-modal label b { color:var(--wp-color-error); }
.document-requests__reject-modal textarea { width:100%; box-sizing:border-box; border:1px solid var(--wp-color-error); border-radius:.55rem; background:var(--wp-color-surface); padding:.75rem .85rem; color:var(--wp-color-error); font:inherit; font-weight:400; min-height:8rem; resize:vertical; }
.document-requests__reject-modal textarea:focus { outline:2px solid #f1c9c1; border-color:var(--wp-color-error); }
.document-requests__reject-modal small { justify-self:end; color:var(--wp-color-error); font-size:.8rem; font-weight:500; }
.document-requests__reject-actions { display:flex; justify-content:flex-end; gap:.75rem; }
.document-requests__reject-confirm { background:var(--wp-color-surface); color:var(--wp-color-error); }
.document-requests__reject-confirm:hover:not(:disabled) { background:var(--wp-color-surface); }
.request-documents__card { background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.85rem; padding:1.5rem; box-shadow:none; }
.request-documents__card > header { display:flex; justify-content:space-between; align-items:start; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--wp-color-border); }
.request-documents__card > header span { color:var(--wp-color-text); font-size:.75rem; font-weight:600; letter-spacing:.1em; }
.request-documents__card h2, .request-documents__card h3 { margin:.35rem 0 0; color:var(--wp-color-text); font-size:1.15rem; }
.request-documents__card > header em { border-radius:999px; background:var(--wp-color-surface); color:var(--wp-color-text); padding:.35rem .7rem; font-size:.78rem; font-style:normal; font-weight:600; white-space:nowrap; }
.request-documents__steps { display:flex; align-items:center; justify-content:center; gap:.75rem; margin:1.5rem auto 2rem; max-width:28rem; color:var(--wp-color-text); font-weight:600; }
.request-documents__steps span { display:flex; align-items:center; gap:.45rem; }
.request-documents__steps b { display:grid; place-items:center; width:1.8rem; height:1.8rem; border:1px solid var(--wp-color-border); border-radius:50%; }
.request-documents__steps .active, .request-documents__steps .complete { color:var(--wp-color-text); }
.request-documents__steps .active b, .request-documents__steps .complete b { background:var(--wp-color-primary-soft); border-color:var(--wp-color-border); color:var(--wp-color-text); }
.request-documents__steps i { flex:1; height:1px; background:var(--wp-color-surface); }
.request-documents__form, .request-documents__review { display:grid; gap:1.25rem; }
.request-documents__grid, .request-documents__summary { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.2rem 1.5rem; }
.request-documents__form > .request-documents__grid > label, .request-documents__form > label { display:grid; position:relative; gap:.45rem; color:var(--wp-color-text-muted); font-weight:600; }
.request-documents__label { display:inline-flex; align-items:baseline; gap:.25rem; }
.request-documents__form input, .request-documents__form select, .request-documents__form textarea { width:100%; box-sizing:border-box; border:1px solid var(--wp-color-border); border-radius:.5rem; background:var(--wp-color-surface); padding:.72rem .8rem; color:var(--wp-color-text); font:inherit; font-weight:400; }
.request-documents__form input:focus, .request-documents__form select:focus, .request-documents__form textarea:focus { outline:2px solid #b8d5ca; border-color:var(--wp-color-border); }
.request-documents__form textarea { min-height:7rem; resize:vertical; }
.request-documents__form small { color:var(--wp-color-text); font-weight:500; }
.request-documents__form small.empty { color:var(--wp-color-text); }
.request-documents__wide { grid-column:1/-1; }
.request-documents__chips { display:flex; flex-wrap:wrap; gap:.45rem; }
.request-documents__chips span { display:inline-flex; align-items:center; gap:.35rem; border-radius:999px; background:var(--wp-color-surface); color:var(--wp-color-text); padding:.35rem .55rem .35rem .7rem; font-size:.83rem; font-weight:600; }
.request-documents__chips button { border:0; background:transparent; color:inherit; font-size:1rem; cursor:pointer; }
.request-documents__role-badge { align-self:start; background:var(--wp-color-surface); border-radius:.25rem; color:var(--wp-color-text); font-size:.75rem; font-style:normal; padding:.35rem .6rem; }
.request-documents__picker { position:relative; }.request-documents__picker input { box-sizing:border-box; width:100%; }.request-documents__options { background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.5rem; box-shadow:none; display:grid; left:0; max-height:12rem; overflow:auto; position:absolute; right:0; top:calc(100% + .2rem); z-index:2; }.request-documents__options button,.request-documents__options span { background:none; border:0; color:var(--wp-color-text); cursor:pointer; font:inherit; padding:.6rem .75rem; text-align:left; }.request-documents__options button:hover { background:var(--wp-color-surface); }
.request-documents__form footer, .request-documents__review footer { display:flex; justify-content:flex-end; gap:.75rem; padding-top:.75rem; border-top:1px solid var(--wp-color-border); }
.request-documents__review h3 { margin:0; }
.request-documents__summary { padding:1rem; border:1px solid var(--wp-color-border); border-radius:.65rem; background:var(--wp-color-surface); }
.request-documents__summary dl { display:grid; gap:1rem; margin:0; }
.request-documents__summary dt, .request-documents__review h4 { color:var(--wp-color-text); font-size:.72rem; font-weight:600; letter-spacing:.08em; }
.request-documents__summary dd { margin:.2rem 0 0; color:var(--wp-color-text); font-weight:600; }
.request-documents__review section { border:1px solid var(--wp-color-border); border-radius:.65rem; padding:1rem; }
.request-documents__review h4 { margin:0 0 .75rem; }
.request-documents__review ul { display:grid; gap:.6rem; margin:0; padding:0; list-style:none; }
.request-documents__review li { display:flex; gap:.6rem; color:var(--wp-color-text); }
.request-documents__review li b { color:var(--wp-color-text); }
.request-documents__review section p { margin:0; white-space:pre-wrap; }
.employee-document-request__step { margin:1.2rem 0 -.75rem; color:#60796f; font-size:.75rem; font-weight:750; letter-spacing:.06em; }
.employee-document-request .request-documents__steps { justify-content:flex-start; margin:1.25rem 0; max-width:32rem; }
.employee-document-request__section { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; padding:1.25rem 0; border-top:1px solid #dce5e1; }
.employee-document-request__section h3, .employee-document-request__section > p { grid-column:1/-1; margin:0; }
.employee-document-request__section > .request-documents__grid { grid-column:1/-1; }
.employee-document-request__section > p { color:#667b73; font-size:.9rem; }
.employee-document-request__section small.optional { display:inline; color:#667085; font-weight:400; }
.employee-document-request__review-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 2rem; margin:0; }
.employee-document-request__review-grid dt { color:#70847c; font-size:.72rem; font-weight:750; letter-spacing:.06em; }
.employee-document-request__review-grid dd { margin:.3rem 0 0; color:#213c32; }
.employee-document-request__documents { grid-template-columns:1fr; }
/* Both blocks below are the only non-header/description children of
   .employee-document-request__section, which lays its children out in a
   2-column grid (h3/p/.request-documents__grid are pulled full-width via
   grid-column:1/-1 above). Without the same override these two would each
   collapse into a single half-width column, leaving the other half empty -
   grid-column:1/-1 here is what keeps the section genuinely full-width. */
.employee-document-request__requirements { grid-column:1/-1; margin-top:1rem; padding-top:1rem; border-top:1px solid #dce5e1; display:grid; gap:.85rem; }
.employee-document-request__requirements h4 { margin:0; color:#173f33; font-size:.95rem; }
.employee-document-request__requirements h5 { margin:0 0 .4rem; color:#70847c; font-size:.72rem; font-weight:750; letter-spacing:.06em; text-transform:uppercase; }
.employee-document-request__requirements ul { margin:0; padding-left:1.2rem; display:grid; gap:.3rem; color:#30483f; }
.employee-document-request__no-documents { margin:0; color:#667085; font-style:italic; }
.employee-document-request__mandatory-documents { grid-column:1/-1; margin-top:1rem; padding-top:1rem; border-top:1px solid #dce5e1; display:grid; gap:.85rem; }
.employee-document-request__mandatory-documents h4 { margin:0; color:#173f33; font-size:.95rem; }
.employee-document-request__mandatory-documents > p { margin:0; color:#64748b; font-size:.9rem; }
.employee-document-request__mandatory-hint { margin:0; padding:.6rem .85rem; border-radius:.5rem; background:#f5faf7; color:#39564d; font-size:.85rem; }
.employee-document-request__mandatory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.employee-document-request__mandatory-documents .employee-document-request__upload { display:grid; gap:.5rem; }
.employee-document-request__upload { border:1px solid #dce5e1; border-radius:.55rem; padding:.85rem; }
.employee-document-request__upload > span { align-items:center; display:flex; gap:.6rem; }
.employee-document-request__required-marker { color:#b42318; font-size:1rem; font-weight:700; line-height:1; }
.employee-document-request__sr-only { height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute; white-space:nowrap; width:1px; clip:rect(0,0,0,0); }
.employee-document-request__upload input { padding:.55rem; }
.employee-document-request__upload > small { color:#667085; }
@media (max-width:800px) { .employee-document-request__mandatory-grid { grid-template-columns:1fr; } }
@media (max-width:1000px) { .document-requests__layout { grid-template-columns:1fr; } .document-requests__detail { grid-row:1; } }
@media (max-width:800px) { .request-documents__grid, .request-documents__summary { grid-template-columns:1fr; } .request-documents__card { padding:1rem; } }
@media (max-width:800px) { .document-requests__detail--page > header { flex-direction:column; } .document-requests__detail--page > dl { grid-template-columns:1fr; } }

/* Document request detail presentation */
.document-requests__detail > dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; margin:0; padding:1.35rem 1.5rem; }
.document-requests__detail dl div { display:grid; gap:.32rem; padding:.85rem .95rem; border:1px solid var(--wp-color-border); border-radius:.7rem; background:var(--wp-color-surface); }
.document-requests__detail dt { color:var(--wp-color-text); font-size:.7rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
.document-requests__detail dd { margin:0; color:var(--wp-color-text); font-weight:600; text-align:left; overflow-wrap:anywhere; }
.document-requests__detail > .document-requests__attachments { display:grid; gap:.75rem; margin:0 1.5rem 1.5rem; padding:1.1rem 0 0; border-top:1px solid var(--wp-color-border); }
.document-requests__detail > .document-requests__attachments > div { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; padding:.8rem .9rem; border:1px solid var(--wp-color-border); border-radius:.7rem; background:var(--wp-color-surface); color:var(--wp-color-text); font-weight:600; }
.document-requests__detail > .document-requests__fulfill { margin:0 1.5rem 1.5rem; padding:1.15rem; border:1px solid var(--wp-color-border); border-radius:.8rem; background:var(--wp-color-surface); }
.document-requests__rejection { margin:0 1.5rem 1.5rem; padding:.9rem 1rem; border-radius:.7rem; background:var(--wp-color-surface); color:var(--wp-color-error); }
.document-requests__table-wrap + .wp-pagination { margin-top:1rem; }
@media (max-width:700px) { .document-requests__detail > dl { grid-template-columns:1fr; padding:1rem; } .document-requests__detail > .document-requests__attachments, .document-requests__detail > .document-requests__fulfill, .document-requests__detail > .document-requests__reject, .document-requests__detail > .document-requests__rejection { margin-left:1rem; margin-right:1rem; } .document-requests__reject { align-items:stretch; flex-direction:column; } .document-requests__reject .wp-button { width:100%; } }
@media (max-width:800px) { .employee-document-request__section, .employee-document-request__review-grid { grid-template-columns:1fr; } }
.request-documents__add-other { justify-self:start; border:1px dashed var(--wp-color-border); border-radius:.5rem; background:var(--wp-color-surface); color:var(--wp-color-text); cursor:pointer; font:inherit; font-weight:600; padding:.55rem .75rem; }
.request-documents__add-other:hover { background:var(--wp-color-surface); }

/* ==========================================================================
   Document Requests - Cyber Theme Overrides & Fit to Page
   ========================================================================== */
.document-requests__table-wrap,
.document-requests__detail,
.document-requests__create,
.request-documents__card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  box-sizing: border-box !important;
  color: var(--wp-color-text) !important;
  width: 100% !important;
  max-width: 100% !important;
}

.document-requests__table-wrap table {
  color: var(--wp-color-text) !important;
}

.document-requests__table-wrap th {
  background: var(--wp-color-surface) !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.document-requests__table-wrap td {
  border-bottom: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

.document-requests__table-wrap td small {
  color: var(--wp-color-text) !important;
}

.document-requests__detail > header {
  background: var(--wp-color-surface) !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
}

.document-requests__detail > header h2 {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.document-requests__detail > header + p {
  background: transparent !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

.document-requests__detail dl div {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
}

.document-requests__detail dt {
  color: var(--wp-color-text) !important;
}

.document-requests__detail dd {
  color: var(--wp-color-text) !important;
}

.document-requests__clear-filters {
  color: var(--wp-color-text) !important;
}

/* ==========================================================================
   Document Requests - Light Theme Overrides
   ========================================================================== */
[data-theme="light"] .document-requests__action-card {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .document-requests__action-card:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .document-requests__action-card-head strong {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__action-card small {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__action-card em {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__action-card-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .document-requests__view-head h2 {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__view-head p {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__table-wrap,
[data-theme="light"] .document-requests__detail,
[data-theme="light"] .document-requests__create,
[data-theme="light"] .request-documents__card {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__table-wrap table {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__table-wrap th {
  background: var(--wp-color-surface) !important;
  border-bottom-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__table-wrap td {
  border-bottom-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__detail > header {
  background: var(--wp-color-surface) !important;
  border-bottom-color: var(--wp-color-border) !important;
}

[data-theme="light"] .document-requests__detail > header h2 {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__detail dl div {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
}

[data-theme="light"] .document-requests__detail dt {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__detail dd {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .document-requests__clear-filters {
  color: var(--wp-color-text) !important;
}

/* Offer Letter preparation workflow */
.document-requests__fulfill--offer-letter { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.document-requests__fulfill--offer-letter h3 { margin:0; }
.document-requests__fulfill--offer-letter p { margin:.2rem 0 0; color:var(--wp-color-text); }
.offer-letter__context { margin-bottom:1rem; }
.offer-letter__section-title { margin:.25rem 0 -.5rem; color:var(--wp-color-text); font-size:.95rem; }
.offer-letter__org-signature-status { margin:.25rem 0; font-size:.9rem; }
.offer-letter__org-signature-status--ready { color:var(--wp-color-text); font-weight:600; }
.offer-letter__org-signature-status--missing { color:var(--wp-color-text); font-weight:600; }
.offer-letter__signature { display:grid; gap:1rem; }
.offer-letter__signature-tabs { display:flex; gap:.5rem; margin:.25rem 0 -.25rem; }
.offer-letter__signature-tab { border:1px solid var(--wp-color-border); border-radius:999px; background:var(--wp-color-surface); color:var(--wp-color-text); font:inherit; font-weight:600; padding:.4rem 1rem; cursor:pointer; }
.offer-letter__signature-tab:hover { background:var(--wp-color-surface); }
.offer-letter__signature-tab.active { border-color:var(--wp-color-border); background:var(--wp-color-primary-soft); color:var(--wp-color-text); }
.offer-letter__signature-option { display:grid; gap:.6rem; align-content:start; border:1px solid var(--wp-color-border); border-radius:.65rem; padding:.9rem; }
.offer-letter__signature-head { display:flex; align-items:center; justify-content:space-between; gap:.75rem; color:var(--wp-color-text); }
.offer-letter__signature-pad { width:100%; height:11rem; touch-action:none; cursor:crosshair; border:1px dashed #7ba392; border-radius:.5rem; background:#f9fcfa; }
.offer-letter__signature-option small { color:var(--wp-color-text); }
.offer-letter__signature-fonts { display:flex; flex-wrap:wrap; gap:.6rem; }
.offer-letter__signature-font-option { flex:1 1 10rem; border:1px solid var(--wp-color-border); border-radius:.5rem; background:var(--wp-color-surface); color:var(--wp-color-text); font-size:1.6rem; padding:.6rem .9rem; cursor:pointer; text-align:center; }
.offer-letter__signature-font-option:hover { background:var(--wp-color-surface); }
.offer-letter__signature-font-option.active { border-color:var(--wp-color-border); background:var(--wp-color-primary-soft); box-shadow:none; }
.offer-letter__template-badge { display:inline-block; border-radius:999px; background:var(--wp-color-surface); color:var(--wp-color-text); padding:.4rem .85rem; font-size:.85rem; font-weight:600; margin:.25rem 0 1rem; }
.offer-letter__pdf-preview { background:#f5f7f6; border:1px solid #dce5e1; border-radius:.75rem; min-height:42rem; overflow:hidden; }
.offer-letter__pdf-preview iframe { display:block; width:100%; height:42rem; border:0; background:#fff; }
.offer-letter__pdf-preview > p { margin:0; padding:2rem; color:#5b6a64; text-align:center; }
.offer-letter__pdf-preview > a { display:block; padding:.75rem 1rem; border-top:1px solid #dce5e1; color:#245d49; font-weight:650; }
.offer-letter__preview { background:#fff; border:1px solid #dce5e1; border-radius:.75rem; padding:1.75rem; box-shadow:0 2px 10px rgba(15,47,37,.05); line-height:1.65; color:#213c32; }
.offer-letter__preview p { margin:0 0 1rem; text-align:justify; }
.offer-letter__preview .document-letter__heading { text-align:center; }
.offer-letter__preview .document-letter__footer { margin:2rem 0 0; padding-top:.6rem; border-top:1px solid var(--wp-border); text-align:center; font-size:.72rem; letter-spacing:.02em; color:var(--wp-text-muted); }
.offer-letter__preview ul { margin:0 0 1rem; padding-left:1.4rem; }
.offer-letter__preview li { margin-bottom:.4rem; }
/* Width comes from the signature's measured natural size (inline style); these are only safety limits, never a target. */
.offer-letter__preview-signature img { display:block; width:auto; height:auto; max-width:100%; max-height:96px; object-fit:contain; }
.offer-letter__preview-signature-placeholder { color:#94a3b8; font-style:italic; }
.employee-sign__signature-preview { display:flex; align-items:center; gap:.75rem; margin:.75rem 0 0; }
.employee-sign__signature-preview span { font-size:.85rem; color:#5b6a64; }
.employee-sign__signature-preview img {
  max-height:3.5rem; object-fit:contain;
  background-image:linear-gradient(45deg,#eef2f0 25%,transparent 25%),linear-gradient(-45deg,#eef2f0 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#eef2f0 75%),linear-gradient(-45deg,transparent 75%,#eef2f0 75%);
  background-size:12px 12px; background-position:0 0,0 6px,6px -6px,-6px 0;
  border:1px solid #dce5e1; border-radius:.4rem; padding:.4rem .6rem;
}
.employee-sign__signature-confirm { margin:.75rem 0 0; padding:1rem; border:1px solid #f0c987; border-radius:.6rem; background:#fdf8ee; }
.employee-sign__signature-confirm > p { margin:0 0 .5rem; font-size:.9rem; color:#6b5a2e; }
.employee-sign__signature-confirm .employee-sign__signature-preview { margin-top:0; }
.employee-sign__signature-confirm-actions { display:flex; gap:.6rem; margin-top:.85rem; }
.offer-letter__logo { display:block; max-width:200px; max-height:56px; width:auto; height:auto; object-fit:contain; margin:0 0 .75rem -12px; }
.offer-letter__letterhead { font-weight:700; font-size:1.1rem; letter-spacing:.03em; color:#173f33; }
.offer-letter__date-row { display:flex; justify-content:space-between; }
.offer-letter__recipient { margin-bottom:1rem; }
.offer-letter__sign-block { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.5rem; margin-top:1.5rem; }
.offer-letter__sig-caption { margin:0 0 .3rem; font-size:.9rem; color:#213c32; }
.offer-letter__sig-line { min-height:2.25rem; border-bottom:1px solid var(--wp-color-border); margin-bottom:.3rem; }
.offer-letter__preview p.offer-letter__footer-note { margin-top:1.5rem; padding-top:.9rem; text-align:center; font-size:.75rem; letter-spacing:.02em; color:#5b6a64; }
@media (max-width:800px) { .offer-letter__sign-block { grid-template-columns:1fr; } }
.offer-letter__send { margin:1.25rem auto 0; padding-top:1.25rem; border-top:1px solid var(--wp-color-border); display:grid; gap:1rem; max-width:48rem; }
.offer-letter__send-intro, .offer-letter__send-note { margin:0; color:var(--wp-color-text); font-size:.9rem; }
.offer-letter__send textarea { line-height:1.5; resize:vertical; }
.offer-letter__attachment { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; padding:.75rem 1rem; border:1px solid var(--wp-border, var(--wp-color-border)); border-radius:8px; background:var(--wp-color-surface); }
.offer-letter__attachment-label { font-weight:600; font-size:.875rem; color:var(--wp-color-text-muted); }
.offer-letter__attachment-file { display:flex; flex-wrap:wrap; gap:.25rem .75rem; min-width:0; overflow-wrap:anywhere; }
.offer-letter__send h3 { margin:0; }
.offer-letter__send footer { display:flex; justify-content:flex-end; gap:.75rem; }
.offer-letter__sent { display:grid; gap:1rem; }
.offer-letter__sent footer { display:flex; justify-content:flex-end; gap:.75rem; }
.offer-letter__steps { display: flex; gap: 1.25rem; padding: 0; margin: 0 0 1.25rem; list-style: none; color: var(--wp-color-text); font-weight: 600; }
.offer-letter__steps .active { color: var(--wp-color-text); }
.offer-letter__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.offer-letter__form footer, .offer-letter__types, .offer-letter__autofill { grid-column: 1 / -1; }
.offer-letter__types { display: flex; gap: .75rem; }
.offer-letter__autofill { margin: 0; color: var(--wp-color-text); font-size: .9rem; }
.offer-letter__preview { max-width: 48rem; margin: 0 auto; padding: 3rem; background: white; border: 1px solid var(--wp-border, #d0d5dd); box-shadow: 0 3px 12px rgba(16,24,40,.08); color: #1f2937; line-height: 1.6; }
.offer-letter__preview header { display: grid; gap: .25rem; border-bottom: 3px solid var(--wp-green-700, #2f6f57); padding-bottom: 1rem; }
.offer-letter__preview h2 { margin-top: 2rem; }
.offer-letter__review footer { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
@media (max-width: 700px) { .offer-letter__form { grid-template-columns: 1fr; } .offer-letter__steps { gap: .6rem; font-size: .8rem; } .offer-letter__preview { padding: 1.5rem; } }

/* ==========================================================================
   Document Requests - Dual View Toggle & Cards Layout
   ========================================================================== */
/* Separate buttons with no outline around the group, like the other view toggles (e.g. Audit History). */
.document-requests__view-toggle {
  display: inline-flex;
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  gap: 8px;
}

.document-requests__view-toggle-btn {
  border: none;
  background: transparent;
  color: var(--wp-color-text);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 4px 12px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

[data-theme="light"] .document-requests__view-toggle-btn {
  color: var(--wp-color-text);
}

.document-requests__view-toggle-btn.is-active {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  box-shadow: none;
}

[data-theme="light"] .document-requests__view-toggle-btn.is-active {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  box-shadow: none;
}

.document-requests__cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 12px;
  width: 100%;
  margin-top: 10px;
}

.document-requests__card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  box-shadow: none;
  backdrop-filter: none;
  transition: border-color 0.15s ease, transform 0.15s ease;
}

.document-requests__card:hover {
  border-color: var(--wp-color-border);
  transform: translateY(-1px);
}

[data-theme="light"] .document-requests__card {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .document-requests__card:hover {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.document-requests__card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--wp-color-border);
}

/* A request's status badge followed by the red Overdue badge (only when the backend marks it overdue). */
.document-requests__status-tags {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

[data-theme="light"] .document-requests__card-header {
  border-bottom-color: var(--wp-color-border);
}

.document-requests__card-kicker {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--wp-color-text-muted);
  display: block;
  margin-bottom: 2px;
}

[data-theme="light"] .document-requests__card-kicker {
  color: var(--wp-color-text-muted);
}

.document-requests__card-title {
  font-size: 0.96rem;
  color: var(--wp-color-text);
  font-weight: 600;
  line-height: 1.3;
}

[data-theme="light"] .document-requests__card-title {
  color: var(--wp-color-text);
}

.document-requests__card-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  background: var(--wp-color-surface);
  padding: 6px 10px;
  border-radius: 8px;
}

[data-theme="light"] .document-requests__card-body {
  background: var(--wp-color-surface);
}

.document-requests__card-row {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

.document-requests__card-label {
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--wp-color-text-muted);
}

[data-theme="light"] .document-requests__card-label {
  color: var(--wp-color-text-muted);
}

.document-requests__card-row > span:not(.document-requests__card-label) {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--wp-color-text-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="light"] .document-requests__card-row > span:not(.document-requests__card-label) {
  color: var(--wp-color-text-muted);
}

.document-requests__card-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 4px;
}

.document-requests__card-footer .wp-button {
  padding: 4px 12px;
  font-size: 0.78rem;
  min-height: 28px;
  border-radius: 6px;
}

@media (max-width: 768px) {
  .document-requests__toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .document-requests__filters {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 8px;
  }

  .document-requests__filters .wp-field {
    width: 100%;
    max-width: none !important;
    min-width: 0 !important;
  }

  .document-requests__clear {
    width: 100%;
    text-align: center;
  }

  .document-requests__view-toggle {
    width: 100%;
    display: flex;
  }

  .document-requests__view-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 7px 10px;
  }

  .document-requests__actions {
    width: 100%;
    flex-direction: column;
  }

  .document-requests__actions .wp-button {
    width: 100%;
  }

  .document-requests__cards-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* ==========================================================================
   Document Requests - Dark Theme Enforcements
   ========================================================================== */
:root:not([data-theme="light"]) .document-requests__hr-action-card,
[data-theme="dark"] .document-requests__hr-action-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

:root:not([data-theme="light"]) .document-requests__hr-action-card:hover,
[data-theme="dark"] .document-requests__hr-action-card:hover {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

:root:not([data-theme="light"]) .document-requests__hr-action-heading h2,
[data-theme="dark"] .document-requests__hr-action-heading h2 {
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__hr-action-heading p,
[data-theme="dark"] .document-requests__hr-action-heading p {
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__hr-action-card strong,
[data-theme="dark"] .document-requests__hr-action-card strong {
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__hr-action-card > span:not(.document-requests__hr-action-kicker),
[data-theme="dark"] .document-requests__hr-action-card > span:not(.document-requests__hr-action-kicker) {
  color: var(--wp-color-text-muted) !important;
}

:root:not([data-theme="light"]) .document-requests__create,
[data-theme="dark"] .document-requests__create {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__create input,
:root:not([data-theme="light"]) .document-requests__create select,
:root:not([data-theme="light"]) .document-requests__create textarea,
[data-theme="dark"] .document-requests__create input,
[data-theme="dark"] .document-requests__create select,
[data-theme="dark"] .document-requests__create textarea {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__table-wrap,
[data-theme="dark"] .document-requests__table-wrap {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__table-wrap th,
[data-theme="dark"] .document-requests__table-wrap th {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border-bottom: 1.5px solid var(--wp-color-border) !important;
}

:root:not([data-theme="light"]) .document-requests__table-wrap td,
[data-theme="dark"] .document-requests__table-wrap td {
  color: var(--wp-color-text) !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
}

:root:not([data-theme="light"]) .document-requests__detail,
[data-theme="dark"] .document-requests__detail {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__detail > header,
[data-theme="dark"] .document-requests__detail > header {
  background: var(--wp-color-surface) !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
}

:root:not([data-theme="light"]) .document-requests__detail > header h2,
[data-theme="dark"] .document-requests__detail > header h2 {
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__detail dl div,
[data-theme="dark"] .document-requests__detail dl div {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
}

:root:not([data-theme="light"]) .document-requests__detail dt,
[data-theme="dark"] .document-requests__detail dt {
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__detail dd,
[data-theme="dark"] .document-requests__detail dd {
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__attachments article,
[data-theme="dark"] .document-requests__attachments article {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

:root:not([data-theme="light"]) .document-requests__reject,
[data-theme="dark"] .document-requests__reject {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-error) !important;
  color: var(--wp-color-error) !important;
}

.document-email-composer {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
  padding: 1.25rem;
  border: 1px solid var(--wp-border, #d9e3df);
  border-radius: 12px;
  background: var(--wp-surface-soft, #f7faf8);
}

.document-email-composer h3,
.document-email-composer p { margin: 0; }

.document-email-composer__attachment {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  align-items: center;
  padding: .75rem 1rem;
  border-radius: 8px;
  background: var(--wp-surface, #fff);
  border: 1px solid var(--wp-border, #d9e3df);
}
.myhr-profile { display:grid; gap:24px; width:100%; color:var(--wp-color-text); }
.myhr-profile__identity { display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:24px; padding:24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); }
.myhr-profile__avatar { display:grid; place-items:center; width:72px; height:72px; border-radius:50%; background:var(--wp-color-primary-soft); color:var(--wp-color-primary); font-size:1.5rem; font-weight:600; }
.myhr-profile__identity-copy { min-width:0; }
.myhr-profile__identity h2 { margin:0 0 8px; font:500 1.75rem var(--wp-font-display); color:var(--wp-color-text); overflow-wrap:anywhere; }
.myhr-profile__identity p { margin:0; color:var(--wp-color-text-muted); }
.myhr-profile__identity-tags { display:flex; flex-wrap:wrap; gap:8px; }
.myhr-profile__badge { padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-pill); color:var(--wp-color-text); background:var(--wp-color-bg); font-size:.875rem; font-weight:500; }
.myhr-profile__primary-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:24px; }
.myhr-profile__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0; }
.myhr-profile__fields div { display:grid; gap:8px; min-width:0; border-bottom:1px solid var(--wp-color-border); padding-bottom:16px; }
.myhr-profile__fields dt { color:var(--wp-color-text-muted); font-size:.875rem; font-weight:500; }
.myhr-profile__fields dd { color:var(--wp-color-text); font-weight:500; line-height:1.5; margin:0; overflow-wrap:anywhere; }
.myhr-profile__signature,.myhr-profile__signature-confirm { display:grid; gap:16px; }
.myhr-profile__signature-intro { color:var(--wp-color-text); margin:0; line-height:1.5; }
.myhr-profile__signature-image { display:block; box-sizing:border-box; max-width:100%; max-height:128px; width:auto; height:auto; object-fit:contain; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); padding:16px; background:var(--wp-color-hover); }
.myhr-profile__signature-status { color:var(--wp-color-primary); font-weight:600; margin:0; }
.myhr-profile__signature-empty,.myhr-profile__signature-hint { color:var(--wp-color-text-muted); margin:0; line-height:1.5; }
.myhr-profile__signature-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.myhr-profile__signature-upload { display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-primary); font:500 .9375rem var(--wp-font-sans); cursor:pointer; }
.myhr-profile__signature-upload:hover { background:var(--wp-color-hover); }
.myhr-profile__signature-upload:focus-within { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
.myhr-profile__signature-input { position:absolute; width:1px; height:1px; margin:-1px; padding:0; border:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:820px) { .myhr-profile__primary-grid { grid-template-columns:minmax(0,1fr); } .myhr-profile__identity { grid-template-columns:auto minmax(0,1fr); } .myhr-profile__identity-tags { grid-column:1 / -1; } }
@media(max-width:600px) { .myhr-profile__identity { grid-template-columns:minmax(0,1fr); padding:16px; } .myhr-profile__fields { grid-template-columns:minmax(0,1fr); } }

/* Release polish: hover/active/disabled feedback for buttons on this page. The route-line foundation pins the primary
   background with !important (so Button.css hover never showed) and the dark-theme secondary hover turned text white. */
:root .myhr-profile-page .wp-button--primary:hover:not(:disabled) { background-color:color-mix(in srgb,var(--wp-color-primary) 82%,var(--wp-color-text))!important; border-color:var(--wp-color-primary); box-shadow:none; transform:none; }
:root .myhr-profile-page .wp-button--secondary:hover:not(:disabled) { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-color:var(--wp-color-primary); box-shadow:none; transform:none; }
:root .myhr-profile-page .wp-button:active:not(:disabled) { transform:none; }
:root .myhr-profile-page .wp-button:disabled { opacity:.55; cursor:not-allowed; }
.payroll-readiness__hero {
  align-items: stretch;
  background:var(--wp-color-surface);
  border-radius: 18px;
  box-shadow:none;
  color:var(--wp-color-text);
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(280px, 1fr) minmax(320px, auto);
  padding: 24px 28px;
}

.payroll-readiness__hero p,
.payroll-readiness__drawer-panel header p {
  color:var(--wp-color-text);
  font-size: 0.72rem;
  font-weight:600;
  letter-spacing: 0.1em;
  margin: 0;
  text-transform: uppercase;
}

.payroll-readiness__hero h2 {
  color:var(--wp-color-text);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  margin: 8px 0;
}

.payroll-readiness__hero span {
  color:var(--wp-color-text);
}

.payroll-readiness__hero dl {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 16px;
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 16px;
}

.payroll-readiness__hero dl div {
  display: grid;
  gap: 2px;
}

.payroll-readiness__hero dt {
  color:var(--wp-color-text);
  font-size: 0.7rem;
  font-weight:600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.payroll-readiness__hero dd {
  color:var(--wp-color-text);
  font-weight:600;
  margin: 0;
}

.payroll-readiness__summary {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin-top: 18px;
}

.payroll-readiness__summary button {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 15px;
  box-shadow:none;
  cursor: pointer;
  min-height: 96px;
  padding: 16px 18px;
  text-align: left;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.payroll-readiness__summary button:hover,
.payroll-readiness__summary button:focus-visible,
.payroll-readiness__summary button.is-active {
  border-color:var(--wp-color-border);
  box-shadow:none;
  outline: none;
  transform: translateY(-1px);
}

.payroll-readiness__summary span,
.payroll-readiness__table header p {
  color:var(--wp-color-text-muted);
  display: block;
  font-size: 0.72rem;
  font-weight:600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.payroll-readiness__summary strong {
  color:var(--wp-color-primary);
  display: block;
  font-size: 1.75rem;
  line-height: 1;
  margin-top: 10px;
}

.payroll-readiness__filters {
  /* Top-align, not end: fields whose hint text wraps to a second line (the
     typeahead fields) are taller than plain dropdowns, so bottom-aligning
     pushed those dropdowns' labels down out of line with the rest of the row. */
  align-items: start;
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 18px;
  box-shadow:none;
  display: grid;
  gap: 10px 14px;
  grid-template-columns: repeat(4, minmax(170px, 1fr));
  margin-top: 12px;
  padding: 14px 18px;
}

.payroll-readiness__filters .wp-field {
  margin-bottom: 0;
}

.payroll-readiness__month-controls {
  display: flex;
  gap: 8px;
}

.payroll-readiness__month-controls select:first-child {
  flex: 1.4;
}

.payroll-readiness__month-controls select:last-child {
  flex: 1;
}

.payroll-readiness__filters label,
.payroll-readiness__table label {
  color:var(--wp-color-text-muted);
  display: grid;
  font-size: 0.8rem;
  font-weight:600;
  gap: 5px;
}

.payroll-readiness__filters select,
.payroll-readiness__table select {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 10px;
  color:var(--wp-color-primary);
  min-height:44px;
  padding: 8px 12px;
}

.payroll-readiness__typeahead {
  position: relative;
}

.payroll-readiness__clear-inline {
  background: transparent;
  border: 0;
  color:var(--wp-color-primary);
  cursor: pointer;
  font-weight:600;
  margin-top: 5px;
  padding: 0;
}

.payroll-readiness__search-state {
  color:var(--wp-color-text-muted);
  font-size: 0.82rem;
  margin: 6px 0 0;
}

.payroll-readiness__search-results {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 12px;
  box-shadow:none;
  display: grid;
  gap: 4px;
  left: 0;
  max-height: 280px;
  overflow: auto;
  padding: 8px;
  position: absolute;
  right: 0;
  top: calc(100% + 4px);
  z-index: 20;
}

.payroll-readiness__search-results button {
  background: transparent;
  border: 0;
  border-radius: 8px;
  color:var(--wp-color-primary);
  cursor: pointer;
  display: grid;
  gap: 2px;
  padding: 10px;
  text-align: left;
}

.payroll-readiness__search-results button:hover,
.payroll-readiness__search-results button:focus-visible {
  background:var(--wp-color-surface);
}

.payroll-readiness__search-results span,
.payroll-readiness__search-results small {
  color:var(--wp-color-text-muted);
  font-size: 0.8rem;
}

.payroll-readiness__filter-actions {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.payroll-readiness__filter-actions-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* Match the adjacent filter fields' ~42px height instead of the default
   .wp-button padding (16px 24px), which towered over the rest of this row. */
.payroll-readiness__filter-actions-buttons .wp-button {
  padding: 10px 20px;
  min-height:44px;
}

.payroll-readiness__status,
.payroll-readiness__error {
  margin: 16px 0 0;
  padding: 12px 16px;
  border-radius: 14px;
  font-weight:600;
}

.payroll-readiness__status {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
}

.payroll-readiness__error {
  align-items: center;
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.payroll-readiness__error p {
  margin: 0;
}

.payroll-readiness__table {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 18px;
  box-shadow:none;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin-top: 12px;
  overflow: hidden;
}

[data-theme="dark"] .payroll-readiness__table {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  box-shadow:none;
}

.payroll-readiness__table header {
  align-items: center;
  border-bottom:1px solid var(--wp-color-border);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px 20px;
  flex-wrap: wrap;
}

.payroll-readiness__table h3 {
  color:var(--wp-color-primary);
  margin: 0 0 4px;
}

[data-theme="dark"] .payroll-readiness__table h3 {
  color:var(--wp-color-text);
}

.payroll-readiness__header-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.payroll-readiness__view-toggle {
  display: inline-flex;
  align-items: center;
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 999px;
  padding: 3px;
  gap: 2px;
}

[data-theme="dark"] .payroll-readiness__view-toggle {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
}

.payroll-readiness__view-toggle-btn {
  border: none;
  background: transparent;
  color:var(--wp-color-text-muted);
  font-size: 0.8rem;
  font-weight:600;
  padding: 4px 12px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.15s ease;
}

[data-theme="dark"] .payroll-readiness__view-toggle-btn {
  color:var(--wp-color-text-muted);
}

.payroll-readiness__view-toggle-btn.is-active {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  box-shadow:none;
}

.payroll-readiness__table-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  justify-content: flex-end;
}

/* Match the Table/Cards toggle's compact pill sizing so every control in this
   row - view toggle, Download, rows-per-page - reads as one consistent set. */
.payroll-readiness__table-actions .wp-button {
  font-size: 0.8rem;
  font-weight:600;
  padding: 4px 14px;
  border-radius: 999px;
  min-height: 0;
}

.payroll-readiness__table label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color:var(--wp-color-text);
  font-weight:600;
  font-size: 0.8rem;
}

.payroll-readiness__table select {
  min-height: 0;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.8rem;
}

[data-theme="dark"] .payroll-readiness__table label {
  color:var(--wp-color-text-muted);
}

.payroll-readiness__table .wp-table-wrapper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x pan-y;
  overscroll-behavior-x: contain;
  box-sizing: border-box;
}

.payroll-readiness__table .wp-table {
  min-width: 1050px;
}

.payroll-readiness__table .wp-table th,
.payroll-readiness__table .wp-table td {
  padding: 10px 14px;
  vertical-align: middle;
  text-align: left;
}

.payroll-readiness__table .wp-table th {
  background:var(--wp-color-surface);
  color:var(--wp-color-primary);
  font-size: 0.74rem;
  font-weight:600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-bottom:1.5px solid var(--wp-color-border);
  white-space: nowrap;
}

.payroll-readiness__table .wp-table td {
  border-bottom:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
  font-size: 0.86rem;
}

.payroll-readiness__table .wp-table tbody tr:hover td {
  background-color:var(--wp-color-surface);
}

/* Cards View */
.payroll-readiness__cards-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  margin-top: 0.5rem;
  box-sizing: border-box;
}

.payroll-readiness__card {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow:none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

[data-theme="dark"] .payroll-readiness__card {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  box-shadow:none;
}

.payroll-readiness__card.is-selected {
  border-color:var(--wp-color-border);
  background:var(--wp-color-surface);
}

[data-theme="dark"] .payroll-readiness__card.is-selected {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
}

.payroll-readiness__card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom:1px solid var(--wp-color-border);
}

[data-theme="dark"] .payroll-readiness__card-header {
  border-bottom-color:var(--wp-color-text);
}

.payroll-readiness__card-select {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.payroll-readiness__card-name {
  font-size: 1rem;
  font-weight:600;
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__card-name {
  color:var(--wp-color-text);
}

.payroll-readiness__card-id {
  font-size: 0.76rem;
  font-weight:600;
  font-family: var(--wp-font-mono, monospace);
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  padding: 2px 8px;
  border-radius: 6px;
}

[data-theme="dark"] .payroll-readiness__card-id {
  background:var(--wp-color-surface);
  color:var(--wp-color-text-muted);
}

.payroll-readiness__card-body {
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.payroll-readiness__card-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 0.86rem;
}

.payroll-readiness__card-label {
  color:var(--wp-color-text-muted);
  font-weight: 600;
  font-size: 0.8rem;
}

[data-theme="dark"] .payroll-readiness__card-label {
  color:var(--wp-color-text-muted);
}

.payroll-readiness__card-value {
  font-weight: 600;
  color:var(--wp-color-text);
  text-align: right;
}

[data-theme="dark"] .payroll-readiness__card-value {
  color:var(--wp-color-text);
}

.payroll-readiness__card-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 10px;
  border-top:1px solid var(--wp-color-border);
}

[data-theme="dark"] .payroll-readiness__card-footer {
  border-top-color:var(--wp-color-text);
}

.payroll-readiness__ready-indicator {
  font-size: 0.82rem;
  font-weight:600;
  color:var(--wp-color-primary);
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.payroll-readiness__empty {
  text-align: center;
  color:var(--wp-color-text-muted);
  padding: 2rem 1rem;
}

.payroll-readiness__follow-up {
  display: inline-flex;
  align-items: center;
  min-height:44px;
  padding: 0 0.7rem;
  border-radius: 999px;
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  font-size: 0.82rem;
  font-weight:600;
}

.payroll-readiness__reason {
  color:var(--wp-color-text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 280px;
  line-height: 1.35;
  font-size: 0.82rem;
}

[data-theme="dark"] .payroll-readiness__reason {
  color:var(--wp-color-text-muted);
}

.payroll-readiness__action-btn {
  padding: 5px 12px !important;
  font-size: 0.8rem !important;
  min-height: 30px !important;
  border-radius: 8px !important;
  white-space: nowrap !important;
  font-weight: 650 !important;
}

.payroll-readiness__pagination-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px;
  border-top:1px solid var(--wp-color-border);
  background:var(--wp-color-surface);
  color:var(--wp-color-text-muted);
  font-size: 0.84rem;
  font-weight: 600;
  gap: 16px;
  flex-wrap: wrap;
}

[data-theme="dark"] .payroll-readiness__pagination-bar {
  background:var(--wp-color-surface);
  border-top-color:var(--wp-color-text);
  color:var(--wp-color-text-muted);
}

.payroll-readiness__pagination-info {
  color:var(--wp-color-text-muted);
  font-weight: 600;
}

[data-theme="dark"] .payroll-readiness__pagination-info {
  color:var(--wp-color-text-muted);
}

.payroll-readiness__pagination {
  align-items: center;
  color:var(--wp-color-text-muted);
  display: flex;
  font-weight:600;
  gap: 12px;
  justify-content: flex-end;
  padding: 14px 20px;
}

.payroll-readiness__drawer {
  background:var(--wp-color-surface);
  inset: 0;
  position: fixed;
  z-index: 1000;
}

.payroll-readiness__drawer-panel {
  background:var(--wp-color-surface);
  box-shadow:none;
  height: 100%;
  margin-left: auto;
  max-width: 620px;
  overflow: auto;
  width: min(94vw, 620px);
}

.payroll-readiness__drawer-panel > header {
  align-items: center;
  border-bottom:1px solid var(--wp-color-border);
  display: flex;
  justify-content: space-between;
  padding: 20px 24px;
}

.payroll-readiness__drawer-panel h3 {
  color:var(--wp-color-primary);
  margin: 5px 0 0;
}

.payroll-readiness__drawer-panel header button {
  background:var(--wp-color-surface);
  border: 0;
  border-radius: 999px;
  color:var(--wp-color-primary);
  cursor: pointer;
  font-size: 1.4rem;
  height: 38px;
  width: 38px;
}

.payroll-readiness__drawer-body {
  display: grid;
  gap: 18px;
  padding: 22px 24px;
}

.payroll-readiness__drawer-body dl {
  display: grid;
  gap: 10px;
  grid-template-columns: 170px 1fr;
  margin: 0;
}

.payroll-readiness__drawer-body dt {
  color:var(--wp-color-text-muted);
  font-weight:600;
}

.payroll-readiness__drawer-body dd {
  color:var(--wp-color-primary);
  margin: 0;
}

.payroll-readiness__drawer-body h4 {
  color:var(--wp-color-primary);
  margin: 0 0 6px;
}

.payroll-readiness__drawer-body p {
  color:var(--wp-color-text);
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 1180px) {
  .payroll-readiness__hero,
  .payroll-readiness__filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .payroll-readiness__hero {
    grid-template-columns: 1fr;
    padding: 14px 16px;
    gap: 12px;
    margin-bottom: 12px;
    border-radius: 14px;
  }

  .payroll-readiness__hero p {
    font-size: 0.65rem;
    margin-bottom: 2px;
  }

  .payroll-readiness__hero h2 {
    font-size: 1.25rem;
    margin: 0 0 4px;
  }

  .payroll-readiness__hero span {
    font-size: 0.8rem;
    line-height: 1.35;
  }

  .payroll-readiness__hero dl {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    padding-top: 10px;
    border-top:1px solid var(--wp-color-border);
  }

  .payroll-readiness__hero dt {
    font-size: 0.62rem;
  }

  .payroll-readiness__hero dd {
    font-size: 0.8rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Compact 2x2 summary metrics grid on mobile (saves 250px+ vertical space) */
  .payroll-readiness__summary {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    margin-top: 10px;
  }

  .payroll-readiness__summary button {
    min-height: 56px;
    padding: 8px 12px;
    border-radius: 12px;
  }

  .payroll-readiness__summary span {
    font-size: 0.65rem;
  }

  .payroll-readiness__summary strong {
    font-size: 1.35rem;
    margin-top: 2px;
  }

  .payroll-readiness__filters {
    grid-template-columns: 1fr;
    padding: 12px;
    gap: 10px;
    border-radius: 14px;
    margin-top: 12px;
  }

  .payroll-readiness__filter-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .payroll-readiness__filter-actions {
    display: flex;
    gap: 8px;
    width: 100%;
  }

  .payroll-readiness__filter-actions .wp-button {
    flex: 1;
    padding: 8px 12px;
    font-size: 0.82rem;
    min-height:44px;
  }

  .payroll-readiness__table {
    padding: 10px;
    border-radius: 14px;
    margin-top: 12px;
  }

  .payroll-readiness__table header {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 4px 2px 10px;
  }

  .payroll-readiness__table header h3 {
    font-size: 1.05rem;
  }

  .payroll-readiness__table-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .payroll-readiness__view-toggle {
    display: flex;
    width: 100%;
  }

  .payroll-readiness__view-toggle-btn {
    flex: 1;
    text-align: center;
    padding: 7px 10px;
    font-size: 0.82rem;
  }

  /* Compact touch card styling on mobile */
  .payroll-readiness__cards-grid {
    gap: 8px;
    margin-top: 8px;
  }

  .payroll-readiness__card {
    padding: 10px 12px;
    border-radius: 12px;
    gap: 8px;
  }

  .payroll-readiness__card-header {
    padding-bottom: 6px;
    gap: 8px;
  }

  .payroll-readiness__card-identity {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
  }

  .payroll-readiness__card-identity strong {
    font-size: 0.92rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .payroll-readiness__card-sub {
    font-size: 0.72rem;
    color:var(--wp-color-text-muted);
  }

  .payroll-readiness__card-body {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    background:var(--wp-color-surface);
    padding: 8px 10px;
    border-radius: 8px;
  }

  [data-theme="dark"] .payroll-readiness__card-body {
    background:var(--wp-color-surface);
  }

  .payroll-readiness__card-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
  }

  .payroll-readiness__card-label {
    font-size: 0.65rem;
    font-weight:600;
    text-transform: uppercase;
    color:var(--wp-color-text-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  [data-theme="dark"] .payroll-readiness__card-label {
    color:var(--wp-color-text-muted);
  }

  .payroll-readiness__card-row > span:not(.payroll-readiness__card-label) {
    font-size: 0.78rem;
    font-weight:600;
    color:var(--wp-color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  [data-theme="dark"] .payroll-readiness__card-row > span:not(.payroll-readiness__card-label) {
    color:var(--wp-color-text);
  }

  .payroll-readiness__card-row--issue {
    grid-column: 1 / -1;
    flex-direction: row;
    align-items: center;
    background:var(--wp-color-surface);
    border:1px solid var(--wp-color-border);
    padding: 3px 6px;
    border-radius: 6px;
    gap: 4px;
  }

  [data-theme="dark"] .payroll-readiness__card-row--issue {
    background:var(--wp-color-surface);
    border-color:var(--wp-color-border);
  }

  .payroll-readiness__card-issue {
    font-size: 0.74rem;
    color:var(--wp-color-text);
    font-weight: 600;
    white-space: normal;
  }

  .payroll-readiness__card-row--reminder {
    grid-column: 1 / -1;
    flex-direction: row;
    font-size: 0.7rem;
    color:var(--wp-color-text-muted);
  }

  .payroll-readiness__card-footer {
    padding-top: 6px;
    gap: 6px;
  }

  .payroll-readiness__card-footer .wp-button {
    padding: 5px 12px;
    font-size: 0.78rem;
    min-height:44px;
    border-radius: 6px;
  }

  .payroll-readiness__card-ready {
    font-size: 0.76rem;
    color:var(--wp-color-primary);
    font-weight:600;
  }

  /* Table View on Mobile: NO frozen half-screen sticky columns, compact rows */
  .payroll-readiness__table .wp-table {
    min-width: 820px;
  }

  .payroll-readiness__table .wp-table th,
  .payroll-readiness__table .wp-table td {
    padding: 7px 9px;
    font-size: 0.78rem;
    white-space: nowrap;
    position: static !important;
    left: auto !important;
    box-shadow:none;
  }

  .payroll-readiness__table .wp-table .wp-button {
    padding: 3px 8px;
    font-size: 0.72rem;
    min-height: 26px;
    border-radius: 6px;
  }

  .payroll-readiness__reminder-cell {
    min-width: 7rem;
    gap: 2px;
  }

  .payroll-readiness__pagination {
    justify-content: center;
    width: 100%;
  }

  .payroll-readiness__drawer-body dl {
    grid-template-columns: 1fr;
  }
}

.payroll-readiness__feedback {
  border:1px solid var(--wp-color-border);
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  border-radius: 14px;
  padding: 0.85rem 1rem;
  margin: 1rem 0;
}

.payroll-readiness__feedback p {
  margin: 0;
  font-weight:600;
}

.payroll-readiness__bulk-bar {
  position: sticky;
  top: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-wrap: wrap;
  border:1px solid var(--wp-color-border);
  background:var(--wp-color-surface);
  border-radius: 16px;
  padding: 0.55rem 1rem;
  margin-bottom: 1rem;
  box-shadow:none;
}

/* The default .wp-button padding (16px 24px) is sized for standalone CTAs -
   here it was stretching this whole row tall around a single line of text. */
.payroll-readiness__bulk-bar .wp-button {
  padding: 6px 14px;
  font-size: 0.82rem;
  min-height: 0;
}

.payroll-readiness__bulk-bar strong {
  color:var(--wp-color-text);
}

.payroll-readiness__bulk-bar span {
  color:var(--wp-color-text-muted);
  font-size: 0.88rem;
  margin-right: auto;
}

.payroll-readiness__reminder-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 8rem;
}

.payroll-readiness__reminder-last {
  color:var(--wp-color-text-muted);
  font-size: 0.72rem;
  line-height: 1.2;
}

.payroll-readiness__reminder-none {
  color:var(--wp-color-text-muted);
  font-size: 0.82rem;
}

.payroll-readiness__modal {
  position: fixed;
  inset: 0;
  z-index: 55;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background:var(--wp-color-surface);
}

.payroll-readiness__modal-panel {
  width: min(32rem, 100%);
  border-radius: 22px;
  background:var(--wp-color-surface);
  box-shadow:none;
  padding: 1.5rem;
}

.payroll-readiness__modal-panel h3 {
  margin: 0 0 0.6rem;
  color:var(--wp-color-text);
}

.payroll-readiness__modal-panel p {
  color:var(--wp-color-text);
  margin: 0.35rem 0;
}

.payroll-readiness__modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

/* Dark Theme Enforcements for Payroll Readiness */
[data-theme="dark"] .payroll-readiness__summary button {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  box-shadow:none;
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__summary button:hover,
[data-theme="dark"] .payroll-readiness__summary button:focus-visible,
[data-theme="dark"] .payroll-readiness__summary button.is-active {
  border-color:var(--wp-color-border);
  box-shadow:none;
}

[data-theme="dark"] .payroll-readiness__summary span {
  color:var(--wp-color-text-muted);
}

[data-theme="dark"] .payroll-readiness__summary strong {
  color:var(--wp-color-primary);
}

[data-theme="dark"] .payroll-readiness__filters {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  box-shadow:none;
}

[data-theme="dark"] .payroll-readiness__filters label,
[data-theme="dark"] .payroll-readiness__table label {
  color:var(--wp-color-text-muted);
}

[data-theme="dark"] .payroll-readiness__filters select,
[data-theme="dark"] .payroll-readiness__table select {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__search-results {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  box-shadow:none;
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__search-item {
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__search-item:hover {
  background:var(--wp-color-surface);
  color:var(--wp-color-primary);
}

[data-theme="dark"] .payroll-readiness__feedback {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  color:var(--wp-color-primary);
}

[data-theme="dark"] .payroll-readiness__bulk-bar {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  box-shadow:none;
}

[data-theme="dark"] .payroll-readiness__bulk-bar strong {
  color:var(--wp-color-primary);
}

[data-theme="dark"] .payroll-readiness__bulk-bar span {
  color:var(--wp-color-text-muted);
}

[data-theme="dark"] .payroll-readiness__table header {
  border-bottom-color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__table .wp-table th {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  border-bottom:1.5px solid var(--wp-color-border);
}

[data-theme="dark"] .payroll-readiness__table .wp-table td {
  border-bottom:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__table .wp-table tbody tr:hover {
  background:var(--wp-color-surface);
}

[data-theme="dark"] .payroll-readiness__modal-panel {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  box-shadow:none;
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__modal-panel h3 {
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__modal-panel p {
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__drawer {
  background:var(--wp-color-surface);
  border-left:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__drawer header h3 {
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__drawer-body dt {
  color:var(--wp-color-primary);
}

[data-theme="dark"] .payroll-readiness__drawer-body dd {
  color:var(--wp-color-text);
}

.payroll-readiness__submission-complete,
.payroll-readiness__submission-missing {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 0.25rem 0.55rem;
  font-size: 0.78rem;
  font-weight:600;
}

.payroll-readiness__submission-complete {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
}

.payroll-readiness__submission-missing {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
}

[data-theme="dark"] .payroll-readiness__submission-complete {
  background:var(--wp-color-surface);
  color:var(--wp-color-primary);
}

[data-theme="dark"] .payroll-readiness__submission-missing {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
}

/* Compact readiness workspace. */
.payroll-readiness__hero { background:var(--wp-color-surface); color:var(--wp-color-text); border:1px solid var(--wp-color-border); box-shadow:none; padding: 20px 24px; grid-template-columns: minmax(260px, 1fr) auto; align-items: center; gap: 24px; }
.payroll-readiness__hero h2 { color:var(--wp-color-text); font-size: 1.8rem; margin: 0 0 6px; }
.payroll-readiness__hero span { color:var(--wp-color-text-muted); font-size: .9rem; }
.payroll-readiness__hero dl { background: none; border: 0; padding: 0; display: flex; align-items: center; gap: 20px; }
.payroll-readiness__hero dt { color:var(--wp-color-text-muted); text-transform: none; letter-spacing: 0; }
.payroll-readiness__hero dd { color:var(--wp-color-text); font-size: .85rem; }
.payroll-readiness__hero dl > div:last-child { background:var(--wp-color-surface); color:var(--wp-color-text); padding: 12px 16px; border-radius: 10px; }
.payroll-readiness__hero dl > div:last-child dd { color:var(--wp-color-text); }
.payroll-readiness__summary { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.payroll-readiness__summary button { min-height: 110px; padding: 18px 22px; border-radius: 12px; box-shadow:none; }
.payroll-readiness__summary button:nth-child(1) { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__summary button:nth-child(2) { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__summary button:nth-child(3) { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__summary button:nth-child(4) { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__summary span { text-transform: none; letter-spacing: 0; font-size: .85rem; }
.payroll-readiness__summary strong { font-size: 1.9rem; margin: 8px 0 4px; }
.payroll-readiness__summary small { color:var(--wp-color-text-muted); font-size: .8rem; }
.payroll-readiness__status-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.payroll-readiness__status-chips button { background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius: 8px; color:var(--wp-color-text); padding: 9px 14px; cursor: pointer; font: inherit; font-size: .8rem; }
.payroll-readiness__status-chips button[aria-pressed="true"] { background:var(--wp-color-surface); color: white; border-color:var(--wp-color-border); }
.payroll-readiness__status-chips strong { margin-left: 8px; }
.payroll-readiness__status-chips button:focus-visible { outline: 2px solid #0b624f; outline-offset: 3px; }
.payroll-readiness__filters { padding: 16px 20px; gap: 16px; grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(140px, 1fr)) auto; margin-top: 12px; }
.payroll-readiness__table { margin-top: 16px; }
.payroll-readiness__table > header { padding: 14px 20px; }
.payroll-readiness__bulk-bar { padding: 12px 20px; border-radius: 12px 12px 0 0; background:var(--wp-color-surface); box-shadow:none; gap: 12px; }
.payroll-readiness__coverage { display: grid; gap: 6px; min-width: 100px; }
.payroll-readiness__coverage progress { width: 100%; height: 6px; border: 0; border-radius: 8px; overflow: hidden; accent-color:var(--wp-color-text); }
.payroll-readiness__coverage progress::-webkit-progress-bar { background:var(--wp-color-surface); border-radius: 8px; }
.payroll-readiness__coverage progress::-webkit-progress-value { background:var(--wp-color-surface); border-radius: 8px; }
[data-theme="dark"] .payroll-readiness__hero { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
[data-theme="dark"] .payroll-readiness__hero h2, [data-theme="dark"] .payroll-readiness__hero dd { color:var(--wp-color-text); }
[data-theme="dark"] .payroll-readiness__hero span, [data-theme="dark"] .payroll-readiness__summary small { color:var(--wp-color-text); }
[data-theme="dark"] .payroll-readiness__summary button { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
[data-theme="dark"] .payroll-readiness__status-chips button, [data-theme="dark"] .payroll-readiness__bulk-bar { background:var(--wp-color-surface); color:var(--wp-color-text); border-color:var(--wp-color-border); }
[data-theme="dark"] .payroll-readiness__status-chips button[aria-pressed="true"] { background:var(--wp-color-surface); }
@media (max-width: 1200px) { .payroll-readiness__hero { grid-template-columns: 1fr; } .payroll-readiness__filters { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 768px) { .payroll-readiness__hero { padding: 16px; } .payroll-readiness__hero dl { flex-wrap: wrap; gap: 14px; } .payroll-readiness__summary { grid-template-columns: repeat(2, minmax(0, 1fr)); } .payroll-readiness__summary button { min-height: 96px; padding: 14px; } .payroll-readiness__filters { grid-template-columns: 1fr; padding: 16px; } }
.payroll-readiness__row-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.payroll-readiness__applied-month { color:var(--wp-color-text-muted); font-size: .75rem; }
.payroll-readiness__row-actions small { color:var(--wp-color-text-muted); font-size: .75rem; }

/* Keep the embedded workspace independent of the surrounding page spacing. */
.payroll-readiness__workspace { display: flex; flex-direction: column; gap: 12px; min-width: 0; width: 100%; margin-top: 16px; }
.payroll-readiness__workspace > section, .payroll-readiness__workspace > .payroll-readiness__status-chips { margin: 0; }
.payroll-readiness__workspace .payroll-readiness__hero { padding: 16px 20px; gap: 20px; border-radius: 12px; }
.payroll-readiness__hero .payroll-readiness__month-field { margin: 0; min-width: 220px; gap: 4px; }
.payroll-readiness__hero .payroll-readiness__month-controls { display: grid; grid-template-columns: minmax(120px, 1.4fr) minmax(88px, 1fr); gap: 8px; align-items: center; }
.payroll-readiness__hero .payroll-readiness__month-controls select { box-sizing: border-box; width: 100%; min-width: 0; height: 40px; margin: 0; padding: 8px 30px 8px 12px; border:1px solid var(--wp-color-border); border-radius: 8px; background:var(--wp-color-surface); color:var(--wp-color-text); font: inherit; font-size: .85rem; line-height: 1.2; }
.payroll-readiness__hero .payroll-readiness__month-controls select:focus-visible { outline: 2px solid #0c8067; outline-offset: 2px; }
.payroll-readiness__workspace .payroll-readiness__summary { gap: 12px; }
.payroll-readiness__workspace .payroll-readiness__summary button { min-height: 96px; padding: 14px 18px; }
.payroll-readiness__workspace .payroll-readiness__summary strong { font-size: 1.65rem; margin: 6px 0 3px; }
.payroll-readiness__workspace .payroll-readiness__filters { padding: 12px 16px; gap: 12px; background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__status-chips { gap: 8px; }
.payroll-readiness__status-chips button { padding: 8px 12px; font-weight: 600; transition: background .15s, box-shadow .15s; }
.payroll-readiness__status-chips button[data-status="MONTH_SUBMITTED"] { color:var(--wp-color-text); background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__status-chips button[data-status="PARTIALLY_APPROVED"] { color:var(--wp-color-text); background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__status-chips button[data-status="MISSING_TIMESHEET"] { color:var(--wp-color-text); background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__status-chips button[data-status="INCOMPLETE_TIMESHEET"] { color:var(--wp-color-text); background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__status-chips button[data-status="CORRECTION_REQUIRED"] { color:var(--wp-color-text); background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.payroll-readiness__status-chips button:hover { filter: brightness(.97); box-shadow:none; }
.payroll-readiness__status-chips button[aria-pressed="true"] { color:var(--wp-color-text); background:var(--wp-color-surface); border-color:var(--wp-color-border); box-shadow:none; }
[data-theme="dark"] .payroll-readiness__workspace .payroll-readiness__filters { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
[data-theme="dark"] .payroll-readiness__hero .payroll-readiness__month-controls select { background:var(--wp-color-surface); color:var(--wp-color-text); border-color:var(--wp-color-border); color-scheme: dark; }
[data-theme="dark"] .payroll-readiness__status-chips button[data-status] { background:var(--wp-color-surface); color:var(--wp-color-text); border-color:var(--wp-color-border); }
[data-theme="dark"] .payroll-readiness__status-chips button[aria-pressed="true"] { background:var(--wp-color-surface); color:var(--wp-color-text); }
@media (max-width: 768px) {
  .payroll-readiness__workspace { gap: 10px; margin-top: 12px; }
  .payroll-readiness__workspace .payroll-readiness__hero { padding: 14px; gap: 12px; }
  .payroll-readiness__hero .payroll-readiness__month-field { min-width: 0; width: 100%; }
  .payroll-readiness__hero .payroll-readiness__month-controls { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
  .payroll-readiness__workspace .payroll-readiness__summary button { padding: 12px; min-height: 90px; }
}
/* Fit all readiness columns within the workspace rather than a sliding table. */
.payroll-readiness__workspace .payroll-readiness__table .wp-table { width: 100%; min-width: 0; table-layout: fixed; }
.payroll-readiness__workspace .payroll-readiness__table .wp-table-wrapper { overflow-x: visible; border-radius: 10px; }
.payroll-readiness__workspace .payroll-readiness__table .wp-table th,
.payroll-readiness__workspace .payroll-readiness__table .wp-table td { padding: 8px; white-space: normal; overflow-wrap: anywhere; font-size: .8rem; line-height: 1.4; }
.payroll-readiness__workspace .payroll-readiness__table .wp-table th { font-size: .7rem; letter-spacing: .02em; }
.payroll-readiness__workspace .payroll-readiness__coverage { min-width: 0; width: 100%; }
.payroll-readiness__workspace .payroll-readiness__coverage progress { min-width: 0; max-width: 100%; }
.payroll-readiness__workspace .payroll-readiness__row-actions { gap: 4px; }
.payroll-readiness__workspace .payroll-readiness__row-actions button { min-width: 0; max-width: 100%; min-height:44px; padding: 5px 8px; font-size: .75rem; white-space: normal; }
.payroll-readiness__workspace .payroll-readiness__table .wp-table td > * { max-width: 100%; box-sizing: border-box; white-space: normal; }
.payroll-readiness__workspace .payroll-readiness__table > header { padding: 10px 14px; gap: 8px; }
.payroll-readiness__workspace .payroll-readiness__table-actions { gap: 8px; flex-wrap: wrap; }
.payroll-readiness__workspace .payroll-readiness__table-actions > button { padding: 8px 12px; min-height:44px; }
.payroll-readiness__workspace .payroll-readiness__pagination-bar { padding: 10px 14px; }
.timesheets--payroll-readiness.myhr-feature { gap: 14px; }
.timesheets--payroll-readiness .myhr-feature__body { gap: 12px; }
.timesheets--payroll-readiness .timesheets__workspace-tabs { margin: 0; gap: 20px; }
.timesheets--payroll-readiness .timesheets__workspace-tabs button { padding: 8px 2px; }
:root .timesheets--payroll-readiness .myhr-feature__heading { padding: 14px 20px; gap: 8px; border-radius: 16px; }
.timesheets--payroll-readiness .myhr-feature__heading .wp-page-header { margin: 0; padding: 0; gap: 6px; }
.timesheets--payroll-readiness .myhr-feature__heading .wp-page-header__title { margin: 0; font-size: 1.6rem; }
.timesheets--payroll-readiness .payroll-readiness__workspace { margin-top: 0; gap: 10px; }
.payroll-readiness__workspace .payroll-readiness__hero { padding: 12px 16px; }
.payroll-readiness__workspace .payroll-readiness__summary button { min-height: 84px; padding: 12px 14px; }
@media (max-width: 768px) {
  .payroll-readiness__workspace .payroll-readiness__table .wp-table th,
  .payroll-readiness__workspace .payroll-readiness__table .wp-table td { padding: 5px 3px; font-size: .68rem; }
  .payroll-readiness__workspace .payroll-readiness__row-actions button { padding: 4px; font-size: .68rem; }
}
.payroll-readiness__workspace .payroll-readiness__hero { grid-template-columns: minmax(220px, 1fr) auto auto; }
.payroll-readiness__filter-popover { position: relative; align-self: center; }
.payroll-readiness__filter-popover > button { display: inline-flex; gap: 8px; align-items: center; }
.payroll-readiness__filter-panel { position: absolute; right: 0; top: 100%; width: min(560px, calc(100vw - 48px)); z-index: 35; padding: 16px; box-sizing: border-box; background:var(--wp-color-surface); color:var(--wp-color-text); border:1px solid var(--wp-color-border); border-radius: 12px; box-shadow:none; }
.payroll-readiness__filter-panel > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.payroll-readiness__filter-panel > header button { border: 0; background: none; color:var(--wp-color-primary); cursor: pointer; font: inherit; padding: 6px; }
.payroll-readiness__workspace .payroll-readiness__filter-panel .payroll-readiness__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0; background: none; border: 0; margin: 12px 0 0; box-shadow:none; }
.payroll-readiness__filter-panel .payroll-readiness__status-chips { margin: 0; gap: 6px; }
.payroll-readiness__filter-panel .payroll-readiness__status-chips button { font-size: .75rem; padding: 6px 8px; }
.payroll-readiness__filter-panel .payroll-readiness__month-field, .payroll-readiness__filter-panel .payroll-readiness__filter-actions { grid-column: 1 / -1; }
.payroll-readiness__hero .payroll-readiness__filter-panel .payroll-readiness__month-field { min-width: 0; }
.payroll-readiness__filter-panel .payroll-readiness__filter-actions > label { display: none; }
.payroll-readiness__filter-panel .payroll-readiness__typeahead { min-width: 0; }
[data-theme="dark"] .payroll-readiness__filter-panel { background:var(--wp-color-surface); color:var(--wp-color-text); border-color:var(--wp-color-border); }
@media (max-width: 1100px) { .payroll-readiness__workspace .payroll-readiness__hero { grid-template-columns: 1fr auto; } .payroll-readiness__hero > dl { grid-row: 2; grid-column: 1 / -1; } .payroll-readiness__filter-popover { grid-row: 1; grid-column: 2; } }
@media (max-width: 600px) { .payroll-readiness__filter-panel { position: fixed; top: 100px; right: 16px; left: 16px; width: auto; max-height: calc(100dvh - 130px); overflow-y: auto; } .payroll-readiness__workspace .payroll-readiness__filter-panel .payroll-readiness__filters { grid-template-columns: 1fr; } }
/* Match the compact, connected Team Timesheets layout. */
.myhr-shell:has(.timesheets--payroll-readiness) .myhr-shell__main { padding-top: 0 !important; }
.timesheets--payroll-readiness.myhr-feature { gap: 8px !important; }
.timesheets--payroll-readiness .myhr-feature__body { gap: 0 !important; }
:root[data-ui-variant] .timesheets--payroll-readiness .myhr-feature__heading { padding: 10px 16px; gap: 4px; border-radius: 16px; }
.timesheets--payroll-readiness .myhr-feature__heading .myhr-page-back { padding: 4px 8px; min-height: 28px; margin: 0; }
.timesheets--payroll-readiness .myhr-feature__heading .wp-page-header { margin: 0; padding: 0; gap: 4px; }
.timesheets--payroll-readiness .myhr-feature__heading .wp-page-header__title { font-size: 1.45rem; margin: 0; line-height: 1.2; }
.timesheets--payroll-readiness .myhr-feature__heading p { margin: 0; font-size: .85rem; line-height: 1.4; }
.timesheets--payroll-readiness .timesheets__workspace-tabs { margin: 0 !important; gap: 16px; padding-bottom: 0; }
.timesheets--payroll-readiness .timesheets__workspace-tabs button { padding: 6px 2px; font-size: .85rem; }
.timesheets--payroll-readiness .payroll-readiness__workspace { margin-top: 0 !important; gap: 10px; }
.timesheets--payroll-readiness .payroll-readiness__hero { border-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; padding: 12px 16px; }
.timesheets--payroll-readiness .payroll-readiness__hero h2 { font-size: 1.4rem; margin: 0 0 4px; }
.timesheets--payroll-readiness .payroll-readiness__hero dl { gap: 14px; }
.timesheets--payroll-readiness .payroll-readiness__summary button { padding: 10px 12px; min-height: 76px; }
.timesheets--payroll-readiness .payroll-readiness__summary strong { font-size: 1.5rem; margin: 4px 0; }.timesheets__message {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  color: var(--wp-color-text);
  margin: 0 0 18px;
  padding: 12px 14px;
}

.timesheets__message--error {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-error);
}

.timesheets__workspace-tabs,
.timesheets__view-switcher {
  display: flex;
}

.timesheets__workspace-tabs {
  border-bottom: 1px solid var(--wp-color-border);
  gap: 24px;
  margin-bottom: 22px;
}

.timesheets__workspace-tabs button,
.timesheets__view-switcher button {
  background: transparent;
  border: 0;
  color: var(--wp-color-text);
  cursor: pointer;
  font: inherit;
}

.timesheets__workspace-tabs button {
  border-bottom: 3px solid transparent;
  padding: 12px 2px 14px;
}

.timesheets__workspace-tabs button.active {
  border-bottom-color: var(--wp-color-accent-cyan, var(--wp-color-border));
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__summary,
.timesheets__stats {
  display: grid;
  gap: 14px;
  margin-bottom: 20px;
}

.timesheets__summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.timesheets__stats { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.timesheets__landing {
  box-sizing: border-box;
  max-width: 100%;
  padding: 32px 36px;
  width: 100%;
}

.timesheets__landing-top-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}

.timesheets__landing-chronometer-wrap {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
}

.timesheets__chronometer-wrap {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
}

.timesheets__landing-heading {
  margin-bottom: 0;
  flex: 1;
  min-width: 280px;
}

.timesheets__landing-heading > span {
  color: var(--wp-color-text);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
}

.timesheets__landing-heading h2 {
  color: var(--wp-color-text);
  margin: 5px 0;
}

.timesheets__landing-heading p {
  color: var(--wp-color-text);
  margin: 0;
}

.timesheets__summary article,
.timesheets__stats article {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border, var(--wp-color-border));
  border-radius: 14px;
  display: grid;
  gap: 7px;
  min-width: 0;
  padding: 18px;
}

.timesheets__summary article > span,
.timesheets__stats article > span,
.timesheets__action-kicker,
.timesheets__section-heading > div > span,
.timesheets__team-heading > div > span,
.timesheets__day-overview-heading span,
.timesheets__flow-kicker {
  color: var(--wp-color-text);
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.timesheets__summary strong,
.timesheets__stats strong {
  color: var(--wp-color-text);
  font-size: 1.1rem;
  overflow-wrap: anywhere;
}

.timesheets__summary small {
  color: var(--wp-color-text);
  font-size: .78rem;
}

.timesheets__action-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 20px;
}

.timesheets__action-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 16px;
  cursor: pointer;
  display: grid;
  gap: 9px;
  min-height: 156px;
  padding: 22px;
  text-align: left;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.timesheets__action-card:hover:not(:disabled),
.timesheets__action-card:focus-visible {
  border-color: var(--wp-color-border);
  box-shadow: none;
  transform: translateY(-1px);
}

.timesheets__action-card:disabled {
  cursor: not-allowed;
  opacity: .62;
}

.timesheets__action-card strong {
  color: var(--wp-color-text);
  font-size: 1.15rem;
}

.timesheets__action-card > span:not(.timesheets__action-kicker) {
  color: var(--wp-color-text);
  line-height: 1.45;
}

.timesheets__action-card b {
  color: var(--wp-color-text);
  font-size: .86rem;
  margin-top: auto;
}

.timesheets__action-card--primary {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .timesheets__action-card {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .timesheets__action-card:hover:not(:disabled),
[data-theme="light"] .timesheets__action-card:focus-visible {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .timesheets__action-card strong {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__action-card > span:not(.timesheets__action-kicker) {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__action-card b {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__action-card--primary {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

.timesheets__overview-panel,
.timesheets__history-panel,
.timesheets__flow-panel,
.timesheets__team-workspace {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 16px;
  padding: 22px;
  box-shadow: none;
}

[data-theme="light"] .timesheets__overview-panel,
[data-theme="light"] .timesheets__history-panel,
[data-theme="light"] .timesheets__flow-panel,
[data-theme="light"] .timesheets__team-workspace {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  box-shadow: none;
}

.timesheets__section-heading,
.timesheets__team-heading,
.timesheets__flow-header,
.timesheets__day-overview-heading {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.timesheets__section-heading h2,
.timesheets__team-heading h2,
.timesheets__flow-header h2,
.timesheets__day-overview-heading h3 {
  color: var(--wp-color-text);
  margin: 5px 0 4px;
}

.timesheets__section-heading p,
.timesheets__team-heading p,
.timesheets__flow-header p {
  color: var(--wp-color-text);
  margin: 0;
}

[data-theme="light"] .timesheets__section-heading h2,
[data-theme="light"] .timesheets__team-heading h2,
[data-theme="light"] .timesheets__flow-header h2,
[data-theme="light"] .timesheets__day-overview-heading h3 {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__section-heading p,
[data-theme="light"] .timesheets__team-heading p,
[data-theme="light"] .timesheets__flow-header p {
  color: var(--wp-color-text);
}

.timesheets__loading {
  color: var(--wp-color-text);
  font-size: .82rem;
}

.timesheets__range-picker {
  position: relative;
}

.timesheets__range-picker-trigger {
  align-items: center;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border, var(--wp-color-border));
  border-radius: 10px;
  color: var(--wp-color-text);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  gap: 8px;
  padding: 9px 14px;
  transition: border-color .15s ease, box-shadow .15s ease;
}

.timesheets__range-picker-trigger:hover,
.timesheets__range-picker-trigger[aria-expanded="true"] {
  border-color: var(--wp-color-accent-cyan, var(--wp-color-border));
  box-shadow: none;
}

.timesheets__range-picker-icon {
  font-size: 1rem;
}

.timesheets__range-picker-popover {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border, var(--wp-color-border));
  border-radius: 14px;
  box-shadow: none;
  margin-top: 8px;
  padding: 16px;
  position: absolute;
  right: 0;
  top: 100%;
  width: 300px;
  z-index: 20;
}

.timesheets__range-picker-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 12px;
}

.timesheets__range-picker-header strong {
  color: var(--wp-color-text);
  font-size: .92rem;
}

.timesheets__range-picker-header button {
  align-items: center;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  color: var(--wp-color-text);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  height: 28px;
  justify-content: center;
  width: 30px;
}

.timesheets__range-picker-header button:hover {
  border-color: var(--wp-color-border);
}

.timesheets__range-picker-weekdays {
  color: var(--wp-color-text);
  display: grid;
  font-size: .72rem;
  font-weight: 600;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 4px;
  text-align: center;
  text-transform: uppercase;
}

.timesheets__range-picker-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}

.timesheets__range-picker-cell {
  background: transparent;
  border: none;
  border-radius: 8px;
  color: var(--wp-color-text);
  cursor: pointer;
  font: inherit;
  font-size: .84rem;
  height: 32px;
}

.timesheets__range-picker-cell:hover:not(:disabled) {
  background: var(--wp-color-surface);
}

.timesheets__range-picker-cell.is-adjacent {
  color: var(--wp-color-text);
}

.timesheets__range-picker-cell:disabled {
  color: var(--wp-color-text);
  cursor: not-allowed;
}

.timesheets__range-picker-cell.is-in-range {
  background: var(--wp-color-surface);
  border-radius: 0;
}

.timesheets__range-picker-cell.is-selected {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__range-picker-footer {
  align-items: center;
  border-top: 1px solid var(--wp-color-border);
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
  padding-top: 12px;
}

.timesheets__range-picker-footer-links {
  display: flex;
  gap: 14px;
}

.timesheets__range-picker-link {
  background: none;
  border: none;
  color: var(--wp-color-primary);
  cursor: pointer;
  font: inherit;
  font-size: .84rem;
  font-weight: 600;
}

.timesheets__range-picker-link:hover {
  text-decoration: underline;
}

.timesheets__view-switcher {
  border-bottom: 1px solid var(--wp-color-border);
  gap: 20px;
  margin: 20px 0;
}

.timesheets__view-switcher button {
  border-bottom: 3px solid transparent;
  padding: 10px 2px 12px;
}

.timesheets__view-switcher button.active {
  border-bottom-color: var(--wp-color-border);
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__hours-navigation {
  align-items: center;
  border-bottom: 1px solid var(--wp-color-border);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 14px;
}

.timesheets__hours-navigation strong {
  color: var(--wp-color-text);
  font-size: 1rem;
}

.timesheets__hours-navigation button {
  align-items: center;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  color: var(--wp-color-text);
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  height: 34px;
  justify-content: center;
  width: 36px;
  transition: all 150ms ease;
}

.timesheets__hours-navigation button:hover:not(:disabled),
.timesheets__hours-navigation button:focus-visible {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.timesheets__hours-navigation button:disabled {
  color: var(--wp-color-text);
  cursor: not-allowed;
  opacity: .5;
}

.timesheets__calendar-heading {
  align-items: baseline;
  display: flex;
  gap: 12px;
  margin-bottom: 12px;
}

.timesheets__calendar-heading strong {
  color: var(--wp-color-text);
  font-size: 1.05rem;
}

.timesheets__calendar-heading span {
  color: var(--wp-color-text);
  font-size: .85rem;
}

.timesheets__calendar-weekdays,
.timesheets__calendar-grid {
  display: grid;
  gap: 7px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.timesheets__calendar-weekdays span {
  color: var(--wp-color-text);
  font-size: .72rem;
  font-weight: 600;
  padding: 0 10px 5px;
  text-transform: uppercase;
}

.timesheets__calendar-day {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 9px;
  cursor: pointer;
  display: grid;
  gap: 8px;
  min-height: 72px;
  padding: 10px;
  text-align: left;
  transition: border-color .15s ease, background-color .15s ease;
}

.timesheets__calendar-day:hover:not(:disabled),
.timesheets__calendar-day.is-selected {
  border-color: var(--wp-color-border);
}

.timesheets__calendar-day.is-selected {
  background: var(--wp-color-primary-soft);
  box-shadow: none;
}

.timesheets__calendar-day.is-adjacent {
  opacity: .35;
}

.timesheets__calendar-day.is-future {
  background: var(--wp-color-surface);
  cursor: not-allowed;
  opacity: .45;
}

.timesheets__calendar-day small {
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__calendar-day span {
  color: var(--wp-color-text);
  font-size: .72rem;
}

.timesheets__calendar-day:not(.is-future):has(span:not(:empty)) span {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__hours-navigation {
  border-bottom-color: var(--wp-color-border);
}

[data-theme="light"] .timesheets__hours-navigation strong {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__hours-navigation button {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__hours-navigation button:hover:not(:disabled),
[data-theme="light"] .timesheets__hours-navigation button:focus-visible {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

[data-theme="light"] .timesheets__hours-navigation button:disabled {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__calendar-heading strong {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__calendar-heading span {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__calendar-weekdays span {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__calendar-day {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

[data-theme="light"] .timesheets__calendar-day:hover:not(:disabled),
[data-theme="light"] .timesheets__calendar-day.is-selected {
  border-color: var(--wp-color-border);
}

[data-theme="light"] .timesheets__calendar-day.is-selected {
  background: var(--wp-color-primary-soft);
  box-shadow: none;
}

[data-theme="light"] .timesheets__calendar-day.is-future {
  background: var(--wp-color-surface);
}

[data-theme="light"] .timesheets__calendar-day small {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__calendar-day span {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__calendar-day:not(.is-future):has(span:not(:empty)) span {
  color: var(--wp-color-text);
}

.timesheets__calendar-legend {
  color: var(--wp-color-text);
  display: flex;
  flex-wrap: wrap;
  font-size: .76rem;
  gap: 14px;
  margin-top: 14px;
}

.timesheets__calendar-legend span {
  align-items: center;
  display: inline-flex;
  gap: 6px;
}

.timesheets__calendar-legend i {
  border-radius: 50%;
  display: inline-block;
  height: 8px;
  width: 8px;
}

.timesheets__calendar-legend .is-worked { background: var(--wp-color-primary-soft); }
.timesheets__calendar-legend .is-empty { background: var(--wp-color-surface); }
.timesheets__calendar-legend .is-future { background: var(--wp-color-surface); }

.timesheets__week-overview {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.timesheets__week-overview button {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  cursor: pointer;
  display: grid;
  gap: 7px;
  padding: 16px 10px;
  text-align: center;
}

.timesheets__week-overview button.is-selected {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
}

.timesheets__week-overview button.is-future {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  cursor: not-allowed;
  opacity: .65;
}

.timesheets__week-overview span { color: var(--wp-color-text); font-size: .75rem; }
.timesheets__week-overview strong { color: var(--wp-color-text); }
.timesheets__week-overview b { color: var(--wp-color-text); font-size: .85rem; }

.timesheets__day-overview { margin-top: 10px; }
.timesheets__day-overview-heading { align-items: center; margin-bottom: 14px; }
.timesheets__day-overview-heading h3 { font-size: 1rem; }

.timesheets__flow-panel,
.timesheets__history-panel {
  min-height: 420px;
}

.timesheets__flow-header {
  border-bottom: 1px solid var(--wp-color-border);
  padding-bottom: 20px;
}

.timesheets__flow-header ol {
  display: flex;
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.timesheets__flow-header li {
  align-items: center;
  color: var(--wp-color-text);
  display: flex;
  font-size: .78rem;
  font-weight: 600;
  gap: 5px;
  white-space: nowrap;
}

.timesheets__flow-header li.active,
.timesheets__flow-header li.complete { color: var(--wp-color-text); }

.timesheets__flow-content { padding-top: 22px; }

.timesheets__range-fields {
  display: block;
  max-width: 360px;
}

.timesheets__range-fields > span { color: var(--wp-color-text); padding-bottom: 12px; }

.timesheets__period-callout,
.timesheets__selected-range {
  background: var(--wp-color-primary-soft);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  display: flex;
  gap: 12px;
  margin-top: 20px;
  padding: 14px;
}

.timesheets__period-callout { align-items: center; flex-wrap: wrap; }
.timesheets__period-callout strong,
.timesheets__selected-range strong { color: var(--wp-color-text); }
.timesheets__period-callout span { color: var(--wp-color-text); }
.timesheets__period-callout small { color: var(--wp-color-text); margin-left: auto; }

.timesheets__flow-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: flex-end;
  margin-top: 22px;
}

.timesheets__selected-range { align-items: center; }
.timesheets__selected-range span { color: var(--wp-color-text); font-size: .78rem; text-transform: uppercase; }
.timesheets__selected-range button { background: transparent; border: 0; color: var(--wp-color-text); cursor: pointer; margin-left: auto; text-decoration: underline; }

.timesheets__daily-hours { display: grid; gap: 9px; margin-top: 18px; }

.timesheets__daily-row {
  align-items: end;
  border-bottom: 1px solid var(--wp-color-border);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(145px, .7fr) minmax(110px, .35fr) minmax(150px, .55fr) minmax(220px, 1fr);
  padding: 10px 0;
}

.timesheets__daily-row > div { display: grid; gap: 4px; padding-bottom: 10px; }
.timesheets__daily-row > div strong { color: var(--wp-color-text); }
.timesheets__daily-row > div small { color: var(--wp-color-text); font-size: .75rem; }

.timesheets__daily-row--locked { opacity: .55; }
.timesheets__daily-row--locked > div small { color: var(--wp-color-text); }

.timesheets__daily-row input[type='number']::-webkit-inner-spin-button,
.timesheets__daily-row input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  display: none !important;
  margin: 0 !important;
}

.timesheets__daily-row input[type='number'] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

.timesheets__review-summary {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.timesheets__review-summary article {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  display: grid;
  gap: 6px;
  padding: 14px;
}

.timesheets__review-summary span { color: var(--wp-color-text); font-size: .72rem; text-transform: uppercase; }
.timesheets__review-summary strong { color: var(--wp-color-text); }

.timesheets__review-table { margin-top: 18px; overflow-x: auto; }
.timesheets__review-table table { border-collapse: collapse; min-width: 580px; width: 100%; }
.timesheets__review-table th,
.timesheets__review-table td { border-bottom: 1px solid var(--wp-color-border); padding: 11px; text-align: left; }
.timesheets__review-table th { color: var(--wp-color-text); font-size: .72rem; text-transform: uppercase; }
.timesheets__review-footer { margin-top: 20px; }

.timesheets__flow-panel--success { align-items: center; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.timesheets__success-mark { align-items: center; background: var(--wp-color-surface); border-radius: 50%; color: var(--wp-color-text); display: flex; font-size: 1.5rem; height: 52px; justify-content: center; width: 52px; }
.timesheets__flow-panel--success h2 { color: var(--wp-color-text); margin: 10px 0 4px; }
.timesheets__flow-panel--success p { color: var(--wp-color-text); }
.timesheets__flow-panel--success strong { color: var(--wp-color-text); font-size: 1.2rem; }
.timesheets__flow-panel--success > div { display: flex; gap: 10px; margin-top: 22px; flex-wrap: wrap; justify-content: center; }

.timesheets__success-mark--small {
  font-size: 1.1rem;
  height: 38px;
  min-width: 38px;
  width: 38px;
}

.timesheets__submitted-callout {
  align-items: center;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  display: flex;
  gap: 16px;
  margin-bottom: 22px;
  padding: 16px 20px;
}

.timesheets__submitted-callout strong {
  color: var(--wp-color-text);
  display: block;
  font-size: 1rem;
  margin-bottom: 3px;
}

.timesheets__submitted-callout p {
  color: var(--wp-color-text);
  font-size: 0.88rem;
  margin: 0;
}

.timesheets__attachment-display {
  align-items: center;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  display: flex;
  gap: 10px;
  margin-bottom: 20px;
  padding: 12px 16px;
}

.timesheets__attachment-display span {
  color: var(--wp-color-text);
  font-size: 0.85rem;
}

.timesheets__attachment-display strong {
  color: var(--wp-color-text);
  font-size: 0.9rem;
}

.timesheets__supporting-documents {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 12px;
}

.timesheets__supporting-document-row {
  align-items: center;
  display: flex;
  gap: 10px;
}

.timesheets__supporting-document-row > *:first-child {
  flex: 1;
}

.timesheets__supporting-document-remove {
  background: none;
  border: 1px solid var(--wp-color-border);
  border-radius: 6px;
  color: var(--wp-color-text);
  cursor: pointer;
  font-size: 0.8rem;
  padding: 4px 10px;
}

.timesheets__supporting-document-remove:hover {
  background: var(--wp-color-surface);
}

.timesheets__drawer-documents {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 0;
}

.timesheets__drawer-documents .wp-button {
  max-width: 100%;
  min-width: 0;
}

.timesheets__drawer-document-name {
  display: block;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow-wrap: normal;
}

.timesheets__attachment-none {
  color: var(--wp-color-text);
  font-size: 0.85rem;
  font-style: italic;
  margin: 0 0 20px;
}

.timesheets__history-panel .timesheets__section-heading { margin-bottom: 22px; }

.timesheets__row-actions { display: inline-flex; gap: 8px; flex-wrap: nowrap; align-items: center; white-space: nowrap; }
.timesheets__row-actions > * { flex: 0 0 auto; }
.timesheets__history-panel .wp-table td:last-child { white-space: nowrap; width: 1%; }

/* Keep the submission records readable as one compact table. The My HR shell
   gives shared tables a content-sized minimum for dense admin tables, but the
   history view has short, known columns and should use the available width. */
.myhr-shell .timesheets__history-table .wp-table {
  min-width: 0;
  table-layout: fixed;
}

.myhr-shell .timesheets__history-table .wp-table th,
.myhr-shell .timesheets__history-table .wp-table td {
  overflow: hidden;
  padding: 10px 12px;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.myhr-shell .timesheets__history-table .wp-table th:nth-child(2),
.myhr-shell .timesheets__history-table .wp-table td:nth-child(2),
.myhr-shell .timesheets__history-table .wp-table th:nth-child(4),
.myhr-shell .timesheets__history-table .wp-table td:nth-child(4),
.myhr-shell .timesheets__history-table .wp-table th:nth-child(5),
.myhr-shell .timesheets__history-table .wp-table td:nth-child(5) {
  white-space: nowrap;
}

.myhr-shell .timesheets__history-table .wp-table td:last-child {
  width: 20%;
}

.timesheets__team-heading { align-items: center; margin-bottom: 22px; }
.timesheets__team-heading .timesheets__stats { margin: 0; min-width: 340px; }
.timesheets__team-heading .timesheets__stats article { padding: 12px 14px; }
.timesheets__team-heading .timesheets__stats strong { font-size: 1rem; }

.timesheets__team-workspace {
  border-radius: 18px;
  box-shadow: none;
  padding: 26px;
}

.timesheets__team-heading {
  align-items: flex-start;
  gap: 28px;
  margin-bottom: 26px;
}

.timesheets__team-heading > div:first-child {
  flex: 1 1 24rem;
  min-width: 0;
  padding-top: 2px;
}

.timesheets__team-heading h2 { margin-top: 8px; }
.timesheets__team-heading p { max-width: 38rem; }

.timesheets__team-heading .timesheets__stats {
  flex: 1 1 38rem;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  min-width: 0;
  width: 100%;
}

.timesheets__team-heading .timesheets__stats article,
.timesheets__team-heading .timesheets__stats button.timesheets__stat-card {
  align-content: center;
  border-radius: 12px;
  gap: 6px;
  min-height: 82px;
  padding: 14px 16px;
  border: 1px solid var(--wp-color-border-subtle, var(--wp-color-border));
  background: var(--wp-color-surface);
  cursor: pointer;
  text-align: left;
  font: inherit;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
  display: flex;
  flex-direction: column;
  color: inherit;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card:hover {
  transform: translateY(-2px);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card.is-active {
  border-color: var(--wp-color-border);
  background: var(--wp-color-primary-soft);
  box-shadow: none;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card span {
  color: var(--wp-color-text);
  font-size: 0.82rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card strong {
  font-size: 1.35rem;
  line-height: 1;
  color: var(--wp-color-text);
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card.is-active strong {
  color: var(--wp-color-text);
}

.timesheets__team-heading .timesheets__stats strong {
  font-size: 1.35rem;
  line-height: 1;
}

.timesheets__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 22px;
}

.timesheets__filters .timesheets__filter-search {
  flex: 1 1 240px;
  min-width: 200px;
}

.timesheets__filters .wp-field {
  flex: 1 1 160px;
  min-width: 140px;
  margin-bottom: 0;
}

.timesheets__clear-btn {
  align-self: flex-end;
  white-space: nowrap;
  min-height: 42px;
  padding: 0 16px;
}

.timesheets__filters .wp-field { margin-bottom: 0; }

.timesheets__daterange-shell {
  justify-self: unset;
}

.timesheets__daterange-field .timesheets__date-picker-toggle {
  justify-content: flex-start;
  min-height: 42px;
  width: 100%;
}

.timesheets__filter-search {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.timesheets__filter-search .wp-search-input,
.timesheets__filter-search .wp-search-input__control { width: 100%; }

.timesheets__team-table,
.timesheets__actions-table,
.timesheets__directory-table,
.timesheets__submissions-table {
  border: 1px solid var(--wp-color-border, var(--wp-color-border));
  border-radius: 14px;
  background: var(--wp-color-surface);
  overflow-x: auto;
  box-shadow: none;
}

.timesheets__team-table .wp-table,
.timesheets__actions-table .wp-table,
.timesheets__directory-table .wp-table,
.timesheets__submissions-table .wp-table {
  table-layout: auto;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.timesheets__actions-table .wp-table {
  min-width: 1320px;
}

.timesheets__directory-table .wp-table {
  min-width: 1100px;
}

.timesheets__submissions-table .wp-table {
  min-width: 1050px;
}

.timesheets__team-table .wp-table th,
.timesheets__team-table .wp-table td,
.timesheets__actions-table .wp-table th,
.timesheets__actions-table .wp-table td,
.timesheets__directory-table .wp-table th,
.timesheets__directory-table .wp-table td,
.timesheets__submissions-table .wp-table th,
.timesheets__submissions-table .wp-table td {
  padding: 12px 14px;
  vertical-align: middle;
  text-align: left;
}

.timesheets__team-table .wp-table th,
.timesheets__actions-table .wp-table th,
.timesheets__directory-table .wp-table th,
.timesheets__submissions-table .wp-table th {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-bottom: 1.5px solid var(--wp-color-border);
  white-space: nowrap;
}

.timesheets__team-table .wp-table td,
.timesheets__actions-table .wp-table td,
.timesheets__directory-table .wp-table td,
.timesheets__submissions-table .wp-table td {
  border-bottom: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  font-size: 0.88rem;
}

.timesheets__team-table .wp-table tbody tr:hover,
.timesheets__actions-table .wp-table tbody tr:hover,
.timesheets__directory-table .wp-table tbody tr:hover,
.timesheets__submissions-table .wp-table tbody tr:hover {
  background: var(--wp-color-surface);
}

[data-theme="light"] .timesheets__team-table,
[data-theme="light"] .timesheets__actions-table,
[data-theme="light"] .timesheets__directory-table,
[data-theme="light"] .timesheets__submissions-table {
  border: 1px solid var(--wp-color-border);
  background: var(--wp-color-surface);
  box-shadow: none;
}

[data-theme="light"] .timesheets__team-table .wp-table th,
[data-theme="light"] .timesheets__actions-table .wp-table th,
[data-theme="light"] .timesheets__directory-table .wp-table th,
[data-theme="light"] .timesheets__submissions-table .wp-table th {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-bottom: 1.5px solid var(--wp-color-border);
}

[data-theme="light"] .timesheets__team-table .wp-table td,
[data-theme="light"] .timesheets__actions-table .wp-table td,
[data-theme="light"] .timesheets__directory-table .wp-table td,
[data-theme="light"] .timesheets__submissions-table .wp-table td {
  border-bottom: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__team-table .wp-table tbody tr:hover,
[data-theme="light"] .timesheets__actions-table .wp-table tbody tr:hover,
[data-theme="light"] .timesheets__directory-table .wp-table tbody tr:hover,
[data-theme="light"] .timesheets__submissions-table .wp-table tbody tr:hover {
  background: var(--wp-color-surface);
}

.timesheets__team-table .wp-table th:last-child,
.timesheets__team-table .wp-table td:last-child,
.timesheets__actions-table .wp-table th:last-child,
.timesheets__actions-table .wp-table td:last-child,
.timesheets__directory-table .wp-table th:last-child,
.timesheets__directory-table .wp-table td:last-child,
.timesheets__submissions-table .wp-table th:last-child,
.timesheets__submissions-table .wp-table td:last-child {
  text-align: right;
}

.timesheets__entry-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

.timesheets__entry-actions .wp-button {
  font-size: 0.8rem;
  padding: 6px 12px;
  white-space: nowrap;
  border-radius: 8px;
  font-weight: 600;
  line-height: 1.3;
}

.timesheets__btn-reject:hover {
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-error) !important;
  background: var(--wp-color-surface) !important;
}
.timesheets__review-note { margin: 0 0 10px; }
.timesheets__review-note .wp-field { margin-bottom: 0; }
.timesheets__record-details {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.timesheets__record-details dl {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 10px 16px;
  margin: 0;
  padding: 12px 16px;
  border-radius: 8px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}
[data-theme="light"] .timesheets__record-details dl {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}
.timesheets__record-details dl div {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.timesheets__record-details dt {
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wp-color-text);
  line-height: 1.2;
}
[data-theme="light"] .timesheets__record-details dt {
  color: var(--wp-color-text);
}
.timesheets__record-details dd {
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--wp-color-text);
  margin: 0;
  line-height: 1.3;
}
[data-theme="light"] .timesheets__record-details dd {
  color: var(--wp-color-text);
}

.timesheets__reedit-modal {
  display: grid;
  gap: 16px;
}

.timesheets__reedit-warning {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  color: var(--wp-color-text);
  display: flex;
  gap: 12px;
  padding: 12px 14px;
}

.timesheets__reedit-warning strong {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 2px;
}

.timesheets__reedit-warning p {
  font-size: 0.84rem;
  margin: 0;
}

.timesheets__reedit-dates-section {
  display: grid;
  gap: 8px;
}

.timesheets__reedit-dates-title {
  color: var(--wp-color-text);
  font-size: 0.85rem;
  font-weight: 600;
}

.timesheets__reedit-entries-table {
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  max-height: 200px;
  overflow-y: auto;
}

.timesheets__reedit-entries-table table {
  border-collapse: collapse;
  font-size: 0.84rem;
  width: 100%;
}

.timesheets__reedit-entries-table th,
.timesheets__reedit-entries-table td {
  border-bottom: 1px solid var(--wp-color-border);
  padding: 8px 12px;
  text-align: left;
}

.timesheets__reedit-entries-table th {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-size: 0.72rem;
  position: sticky;
  top: 0;
}

.timesheets__reedit-entries-table tr:last-child td {
  border-bottom: 0;
}

.timesheets__reedit-recommendation {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  display: grid;
  gap: 6px;
  padding: 12px 14px;
}

.timesheets__reedit-recommendation strong {
  color: var(--wp-color-text);
  font-size: 0.85rem;
}

.timesheets__reedit-recommendation p {
  color: var(--wp-color-text);
  font-size: 0.82rem;
  margin: 0;
}

.timesheets__reedit-banner {
  align-items: flex-start;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  color: var(--wp-color-text);
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  padding: 12px 16px;
}

.timesheets__reedit-banner-icon {
  font-size: 1.25rem;
  line-height: 1;
}

.timesheets__reedit-banner strong {
  display: block;
  font-size: 0.88rem;
  margin-bottom: 2px;
}

.timesheets__reedit-banner p {
  font-size: 0.82rem;
  margin: 0;
}

.timesheets__reason-field {
  display: grid;
  gap: 6px;
  margin-bottom: 20px;
}

.timesheets__reason-field label {
  color: var(--wp-color-text-muted);
  font-size: 0.86rem;
  font-weight: 600;
}

.timesheets__reason-field .required-star {
  color: var(--wp-color-text);
}

.timesheets__reason-field textarea {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  color: var(--wp-color-text);
  font: inherit;
  font-size: 0.88rem;
  padding: 10px 12px;
  resize: vertical;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.timesheets__reason-field textarea:focus {
  border-color: var(--wp-color-border);
  box-shadow: none;
  outline: none;
}

.timesheets__recommendation-callout {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  display: grid;
  gap: 4px;
  margin-bottom: 16px;
  padding: 12px 14px;
}

.timesheets__recommendation-callout strong {
  color: var(--wp-color-text);
  font-size: 0.86rem;
}

.timesheets__history-controls {
  align-items: center;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 20px;
  padding: 14px 18px;
}

.timesheets__cadence-group {
  align-items: center;
  display: flex;
  gap: 8px;
}

.timesheets__cadence-label {
  color: var(--wp-color-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  text-transform: uppercase;
}

.timesheets__cadence-fixed {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
}

.timesheets__cadence-badge {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 7px;
  box-shadow: none;
  color: var(--wp-color-text);
  font-size: 0.84rem;
  font-weight: 600;
  padding: 6px 14px;
}

.timesheets__cadence-policy-tag {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 6px;
  color: var(--wp-color-text);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  padding: 4px 8px;
  text-transform: uppercase;
}

.timesheets__period-toggle {
  background: var(--wp-color-surface);
  border-radius: 8px;
  display: inline-flex;
  padding: 3px;
}

.timesheets__period-toggle button {
  background: transparent;
  border: none;
  border-radius: 6px;
  color: var(--wp-color-text);
  cursor: pointer;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 6px 14px;
  transition: all 0.15s ease;
}

.timesheets__period-toggle button.active {
  background: var(--wp-color-primary-soft);
  box-shadow: none;
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__month-nav {
  align-items: center;
  display: flex;
  gap: 10px;
}

.timesheets__month-nav strong {
  color: var(--wp-color-text);
  font-size: 0.95rem;
  min-width: 140px;
  text-align: center;
}

.timesheets__nav-btn {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 6px;
  color: var(--wp-color-text);
  cursor: pointer;
  font-size: 0.85rem;
  height: 32px;
  padding: 0 10px;
  transition: background 0.15s ease;
}

.timesheets__nav-btn:hover:not(:disabled) {
  background: var(--wp-color-surface);
}

.timesheets__weekly-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}

.timesheets__weekly-pill {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  color: var(--wp-color-text);
  cursor: pointer;
  font-size: 0.82rem;
  padding: 8px 14px;
  transition: all 0.15s ease;
}

.timesheets__weekly-pill:hover {
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

.timesheets__weekly-pill.active {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__history-summary {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  box-shadow: none;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding: 18px 22px;
}

.timesheets__summary-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.timesheets__summary-metrics article {
  display: grid;
  gap: 4px;
}

.timesheets__summary-metrics span {
  color: var(--wp-color-text);
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 600;
}

.timesheets__summary-metrics strong {
  color: var(--wp-color-text);
  font-size: 1.15rem;
}

.timesheets__summary-metrics small {
  color: var(--wp-color-text);
  font-size: 0.78rem;
}

.timesheets__summary-actions {
  align-items: center;
  display: flex;
  gap: 10px;
}

.timesheets__history-tabs {
  border-bottom: 1px solid var(--wp-color-border);
  display: flex;
  gap: 16px;
  margin-bottom: 20px;
}

.timesheets__history-tabs button {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  color: var(--wp-color-text);
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 8px 4px 12px;
  transition: all 0.15s ease;
}

.timesheets__history-tabs button:hover {
  color: var(--wp-color-text);
}

.timesheets__history-tabs button.active {
  border-bottom-color: var(--wp-color-border);
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__history-calendar {
  margin-bottom: 24px;
}

.timesheets__date-picker-shell {
  justify-self: end;
  position: relative;
}

.timesheets__date-picker-toggle {
  align-items: center;
  box-shadow: none;
  display: inline-flex;
  gap: 8px;
  white-space: nowrap;
}

.timesheets__date-picker-popover {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  box-shadow: none;
  display: grid;
  gap: 12px;
  min-width: 330px;
  padding: 14px;
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  z-index: 20;
}

.timesheets__date-picker-header {
  align-items: center;
  display: grid;
  grid-template-columns: 34px 1fr 34px;
  text-align: center;
}

.timesheets__date-picker-header strong {
  color: var(--wp-color-text);
  font-size: 0.95rem;
}

.timesheets__date-picker-header button {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  color: var(--wp-color-text);
  cursor: pointer;
  font-weight: 600;
  height: 30px;
}

.timesheets__date-picker-weekdays,
.timesheets__date-picker-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.timesheets__date-picker-weekdays {
  color: var(--wp-color-text);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.timesheets__date-picker-weekdays span {
  text-align: center;
}

.timesheets__date-picker-grid {
  gap: 4px;
}

.timesheets__date-picker-grid button {
  background: var(--wp-color-surface);
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--wp-color-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 600;
  height: 34px;
  padding: 0;
}

.timesheets__date-picker-grid button.has-hours.is-pending {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.timesheets__date-picker-grid button.has-hours.is-approved {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
}

.timesheets__date-picker-grid button:hover:not(:disabled),
.timesheets__date-picker-grid button:focus-visible {
  border-color: var(--wp-color-border);
  box-shadow: none;
  outline: none;
}

.timesheets__date-picker-grid button.is-selected {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
  box-shadow: none;
  color: var(--wp-color-text);
}

.timesheets__date-picker-grid button.is-edge {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
  color: var(--wp-color-text);
}

.timesheets__date-picker-grid button.is-adjacent,
.timesheets__date-picker-grid button.is-disabled {
  color: var(--wp-color-text);
  opacity: 0.55;
}

.timesheets__date-picker-grid button:disabled {
  cursor: not-allowed;
}

.timesheets__date-picker-footer {
  border-top: 1px solid var(--wp-color-border);
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding-top: 10px;
}

.timesheets__date-picker-footer button {
  background: transparent;
  border: none;
  border-radius: 8px;
  color: var(--wp-color-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 600;
  padding: 8px 10px;
}

.timesheets__date-picker-footer button:hover,
.timesheets__date-picker-footer button:focus-visible {
  background: var(--wp-color-surface);
  outline: none;
}

.timesheets__date-picker-footer button.is-primary {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  margin-left: auto;
  padding-inline: 16px;
}

.timesheets__date-picker-footer button.is-primary:hover,
.timesheets__date-picker-footer button.is-primary:focus-visible {
  background: var(--wp-color-surface);
}

.timesheets__range-summary {
  align-items: stretch;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(220px, 0.7fr) minmax(0, 1.3fr) auto;
  margin: 14px 0 16px;
  padding: 14px;
}

.timesheets__range-summary > div {
  display: grid;
  gap: 4px;
}

.timesheets__range-summary span {
  color: var(--wp-color-text);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.timesheets__range-summary strong {
  color: var(--wp-color-text);
  font-size: 1rem;
}

.timesheets__range-summary small {
  color: var(--wp-color-text);
}

.timesheets__range-summary .wp-button {
  align-self: center;
  white-space: nowrap;
}

.timesheets__range-hour-breakdown {
  align-items: stretch;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.timesheets__range-hour-breakdown article {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  display: grid;
  gap: 4px;
  padding: 10px;
}

.timesheets__range-hour-breakdown article:first-child {
  border-color: var(--wp-color-border);
}

.timesheets__range-hour-breakdown article:nth-child(2) {
  border-color: var(--wp-color-border);
}

.timesheets__range-hour-breakdown article:last-of-type {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

.timesheets__range-hour-breakdown article:last-of-type strong {
  color: var(--wp-color-text);
}

.timesheets__range-hour-breakdown small {
  grid-column: 1 / -1;
}

.timesheets__history-calendar-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.timesheets__history-cell {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 9px;
  display: grid;
  gap: 6px;
  min-height: 72px;
  padding: 10px;
  text-align: left;
}

button.timesheets__history-cell {
  color: inherit;
  cursor: pointer;
  font: inherit;
}

button.timesheets__history-cell:hover:not(:disabled) {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

button.timesheets__history-cell:focus-visible {
  outline: 3px solid var(--wp-color-border);
  outline-offset: 2px;
}

.timesheets__history-cell.is-worked {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
}

.timesheets__history-cell.is-worked.is-approved {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
}

.timesheets__history-cell.is-worked.is-pending {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
}

.timesheets__history-cell.is-adjacent {
  opacity: 0.35;
}

.timesheets__history-cell.is-disabled {
  cursor: not-allowed;
}

.timesheets__history-cell.is-range-selected {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.timesheets__history-cell.is-range-edge,
.timesheets__history-cell.is-range-start {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
  color: var(--wp-color-text);
  transform: translateY(-1px);
}

.timesheets__history-cell.is-range-edge .timesheets__history-cell-header small,
.timesheets__history-cell.is-range-start .timesheets__history-cell-header small,
.timesheets__history-cell.is-range-edge .timesheets__history-cell-hours,
.timesheets__history-cell.is-range-start .timesheets__history-cell-hours,
.timesheets__history-cell.is-range-edge .timesheets__history-cell-empty,
.timesheets__history-cell.is-range-start .timesheets__history-cell-empty {
  color: var(--wp-color-text);
}

.timesheets__history-cell-header {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.timesheets__history-cell-header small {
  color: var(--wp-color-text);
  font-weight: 600;
}

.timesheets__history-cell-badge {
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 1px 5px;
}

.timesheets__history-cell-badge--approved {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
}

.timesheets__history-cell-badge--pending {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.timesheets__history-cell.is-approved .timesheets__history-cell-hours {
  color: var(--wp-color-text);
}

.timesheets__history-cell.is-pending .timesheets__history-cell-hours {
  color: var(--wp-color-text);
}

.timesheets__history-cell-hours {
  color: var(--wp-color-text);
  font-size: 0.95rem;
  font-weight: 600;
}

.timesheets__history-cell-empty {
  color: var(--wp-color-text);
  font-size: 0.75rem;
}

.timesheets__calendar-legend i.is-approved {
  background: var(--wp-color-primary-soft);
}

.timesheets__calendar-legend i.is-pending {
  background: var(--wp-color-surface);
}

.timesheets__calendar-legend i.is-empty {
  background: var(--wp-color-surface);
}

/* Rejected timesheet banner and callouts */
.timesheets__rejected-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-left: 5px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 16px 20px;
  margin-bottom: 24px;
}

.timesheets__rejected-icon {
  font-size: 1.5rem;
  line-height: 1;
  flex-shrink: 0;
}

.timesheets__rejected-content {
  flex: 1;
}

.timesheets__rejected-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}

.timesheets__rejected-header strong {
  font-size: 0.98rem;
  color: var(--wp-color-error);
  font-weight: 600;
}

.timesheets__rejected-badge {
  background: var(--wp-color-surface);
  color: var(--wp-color-error);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 99px;
  text-transform: uppercase;
}

.timesheets__rejected-reason {
  margin: 4px 0 6px;
  font-size: 0.88rem;
  color: var(--wp-color-error);
  line-height: 1.4;
}

.timesheets__rejected-meta {
  font-size: 0.78rem;
  color: var(--wp-color-error);
}

.timesheets__rejected-actions {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: stretch;
}

.timesheets__rejected-modal-notice {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
}

.timesheets__rejected-modal-icon {
  font-size: 1.25rem;
  line-height: 1;
}

.timesheets__rejected-modal-notice strong {
  display: block;
  font-size: 0.92rem;
  color: var(--wp-color-error);
  margin-bottom: 4px;
}

.timesheets__rejected-modal-notice p {
  font-size: 0.86rem;
  color: var(--wp-color-error);
  margin: 0 0 4px;
}

.timesheets__rejected-modal-notice small {
  color: var(--wp-color-error);
  font-size: 0.78rem;
}

.timesheets__rejection-hours-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 18px;
}

.timesheets__rejection-hours-icon {
  font-size: 1.25rem;
  line-height: 1;
}

.timesheets__rejection-hours-notice strong {
  display: block;
  font-size: 0.9rem;
  color: var(--wp-color-error);
  margin-bottom: 2px;
}

.timesheets__rejection-hours-notice p {
  font-size: 0.86rem;
  color: var(--wp-color-error);
  margin: 0 0 4px;
  font-style: italic;
}

.timesheets__rejection-hours-notice small {
  color: var(--wp-color-error);
  font-size: 0.78rem;
}

.timesheets__status-col {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.timesheets__rejected-row-reason {
  color: var(--wp-color-error);
  font-size: 0.75rem;
  max-width: 200px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Rejection modal for HR / Admin */
.timesheets__reject-modal {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.timesheets__reject-modal-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 10px;
  padding: 14px 16px;
}

.timesheets__reject-modal-icon {
  font-size: 1.4rem;
  line-height: 1;
}

.timesheets__reject-modal-header strong {
  display: block;
  font-size: 0.95rem;
  color: var(--wp-color-error);
  margin-bottom: 3px;
}

.timesheets__reject-modal-header p {
  font-size: 0.86rem;
  color: var(--wp-color-error);
  margin: 0;
}

.timesheets__reject-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.timesheets__reject-field label {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--wp-color-error);
}

.timesheets__reject-field textarea {
  width: 100%;
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  padding: 10px 12px;
  font: inherit;
  font-size: 0.9rem;
  resize: vertical;
  outline: none;
  box-sizing: border-box;
}

.timesheets__reject-field textarea:focus {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.timesheets__reject-field textarea.is-invalid {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
}

.timesheets__reject-field small {
  color: var(--wp-color-error);
  font-size: 0.78rem;
}

.timesheets__field-error {
  color: var(--wp-color-error);
  font-size: 0.8rem;
  margin: 2px 0 0;
  font-weight: 600;
}

@media (max-width: 950px) {
  .timesheets__summary,
  .timesheets__review-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timesheets__date-picker-shell {
    justify-self: stretch;
    width: 100%;
  }
  .timesheets__date-picker-toggle {
    justify-content: center;
    width: 100%;
  }
  .timesheets__date-picker-popover {
    left: 0;
    min-width: 0;
    right: 0;
  }
  .timesheets__range-summary { grid-template-columns: 1fr 1fr; }
  .timesheets__range-hour-breakdown { grid-template-columns: 1fr; }
  .timesheets__range-summary .wp-button { justify-self: start; }
  .timesheets__team-heading { align-items: flex-start; flex-direction: column; }
  .timesheets__team-heading .timesheets__stats { width: 100%; }
}

@media (max-width: 680px) {
  .timesheets__summary,
  .timesheets__action-grid,
  .timesheets__review-summary,
  .timesheets__range-summary { grid-template-columns: 1fr; }
  .timesheets__range-hour-breakdown { grid-template-columns: 1fr; }
  .timesheets__calendar-day { min-height: 58px; padding: 7px; }
  .timesheets__calendar-day span { font-size: .65rem; }
  .timesheets__week-overview { grid-template-columns: repeat(2, 1fr); }
  .timesheets__range-fields { max-width: none; }
  .timesheets__daily-row { grid-template-columns: 1fr; }
  .timesheets__daily-row > div { padding-bottom: 0; }
  .timesheets__daily-row .wp-field { width: 100%; }
  .timesheets__team-heading .timesheets__stats { grid-template-columns: repeat(3, 1fr); min-width: 0; }
  .timesheets__flow-header { flex-direction: column; }
  .timesheets__record-details dl div { grid-template-columns: 1fr; gap: 3px; }
}
.timesheets__source {
  display: grid;
  gap: 16px;
}

.timesheets__source select {
  width: 100%;
  padding: 12px;
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  background: white;
  color: var(--wp-color-text);
  font: inherit;
}

.timesheets__attachment {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 12px;
  padding: 8px 14px;
  margin: 0;
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  background: var(--wp-color-surface);
}

[data-theme="light"] .timesheets__attachment {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

.timesheets__attachment-header {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
  min-width: 180px;
}

.timesheets__attachment-icon {
  font-size: 0.9rem;
}

.timesheets__attachment strong {
  font-size: 0.84rem;
  font-weight: 600;
  overflow-wrap: anywhere;
}

.timesheets__attachment-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.timesheets__attachment-actions .wp-button,
.timesheets__attachment .wp-button {
  padding: 4px 10px;
  font-size: 0.78rem;
}

.timesheets__attachment pre {
  width: 100%;
  overflow-wrap: anywhere;
}

.timesheets__attachment-preview {
  width: 100%;
  flex: 1 1 100%;
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.timesheets__preview-iframe {
  width: 100%;
  height: clamp(520px, 64vh, 740px);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  background: var(--wp-color-surface);
  display: block;
  box-shadow: none;
}

[data-theme="dark"] .timesheets__preview-iframe {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.timesheets__preview-image {
  max-width: 100%;
  width: 100%;
  object-fit: contain;
  border-radius: 8px;
  display: block;
  box-shadow: none;
}

.timesheets__preview-text {
  width: 100%;
  white-space: pre-wrap;
  word-break: break-word;
  background: var(--wp-color-surface);
  padding: 14px;
  border-radius: 8px;
  border: 1px solid var(--wp-color-border);
  font-family: monospace;
}

[data-theme="dark"] .timesheets__preview-text {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
}

.timesheets__preview-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-top: 4px;
  gap: 12px;
}

.timesheets__preview-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.timesheets__entry-options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 20px;
  margin: 12px 0 20px;
}

.timesheets__entry-card {
  position: relative;
  background: var(--wp-color-surface);
  border: 1.5px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: all 0.2s ease;
  box-shadow: none;
}

.timesheets__entry-card:hover {
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.timesheets__entry-card--upload {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
}

.timesheets__entry-card-badge {
  align-self: flex-start;
  font-size: 0.72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 20px;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
}

.timesheets__entry-card--manual .timesheets__entry-card-badge {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
}

.timesheets__entry-card-title {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.timesheets__entry-card-icon {
  font-size: 1.5rem;
  line-height: 1;
  background: var(--wp-color-surface);
  border-radius: 10px;
  padding: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.timesheets__entry-card-title h3 {
  margin: 0 0 4px;
  font-size: 1.08rem;
  color: var(--wp-color-text);
}

.timesheets__entry-card-title p {
  margin: 0;
  font-size: 0.85rem;
  color: var(--wp-color-text);
  line-height: 1.45;
}

.timesheets__upload-zone {
  display: grid;
  gap: 12px;
  margin-top: auto;
}

.timesheets__upload-zone label {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--wp-color-text-muted);
}

.timesheets__manual-actions {
  margin-top: auto;
  padding-top: 16px;
}

.timesheets__ocr-status {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  color: var(--wp-color-text);
  font-size: 0.85rem;
  font-weight: 600;
}

.timesheets__ocr-spinner {
  width: 16px;
  height: 16px;
  border: 2.5px solid #b7dfc8;
  border-top-color: #0b624f;
  border-radius: 50%;
  display: inline-block;
  animation: timesheets-spin 0.8s linear infinite;
}

@keyframes timesheets-spin {
  to { transform: rotate(360deg); }
}

.timesheets__extracted-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--wp-color-surface);
  border: 1.5px solid var(--wp-color-border);
  border-radius: 10px;
  padding: 14px 18px;
  margin-bottom: 18px;
}

.timesheets__extracted-banner-icon {
  font-size: 1.35rem;
  background: var(--wp-color-surface);
  border-radius: 50%;
  padding: 6px;
  box-shadow: none;
  line-height: 1;
}

.timesheets__extracted-banner strong {
  display: block;
  font-size: 0.95rem;
  color: var(--wp-color-text);
  margin-bottom: 2px;
}

.timesheets__extracted-banner p {
  margin: 0;
  font-size: 0.82rem;
  color: var(--wp-color-text);
}

/* ==========================================================================
   Review Workspace Sub-Navigation & Split Views
   ========================================================================== */

.timesheets__subtabs-bar {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  padding-bottom: 4px;
  border-bottom: 1px solid var(--wp-color-border);
}

.timesheets__subtab-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 999px;
  color: var(--wp-color-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.88rem;
  font-weight: 600;
  padding: 8px 18px;
  transition: all 0.15s ease;
}

.timesheets__subtab-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

.timesheets__subtab-btn.is-active {
  background: var(--wp-color-primary-soft);
  border-color: var(--wp-color-border);
  box-shadow: none;
  color: var(--wp-color-text);
}

.timesheets__subtab-icon {
  font-size: 0.95rem;
  line-height: 1;
}

.timesheets__subtab-text--compact {
  display: none;
}

.timesheets__subtab-badge {
  background: var(--wp-color-surface);
  border-radius: 12px;
  color: inherit;
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1;
  padding: 3px 8px;
}

.timesheets__subtab-btn.is-active .timesheets__subtab-badge {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
}

.timesheets__subtab-badge--alert {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__subtab-btn.is-active .timesheets__subtab-badge--alert {
  background: var(--wp-color-primary-soft) !important;
  color: var(--wp-color-text) !important;
}

/* Required Actions Banner & Empty State */
.timesheets__actions-banner {
  display: flex;
  align-items: center;
  gap: 14px;
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  border-radius: 12px;
  padding: 14px 18px;
  margin-bottom: 20px;
  color: var(--wp-color-text) !important;
}

.timesheets__actions-banner-icon {
  font-size: 1.35rem;
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border-radius: 50%;
  padding: 6px;
  box-shadow: none;
  line-height: 1;
}

.timesheets__actions-banner strong {
  display: block;
  font-size: 0.95rem;
  color: var(--wp-color-text) !important;
  margin-bottom: 2px;
}

.timesheets__actions-banner p {
  margin: 0;
  font-size: 0.82rem;
  color: var(--wp-color-text) !important;
}

.timesheets__empty-card {
  text-align: center;
  padding: 48px 24px;
  background: var(--wp-color-surface) !important;
  border: 1px dashed var(--wp-color-border) !important;
  border-radius: 16px;
  margin: 20px 0;
  color: var(--wp-color-text) !important;
}

.timesheets__empty-card h3 {
  color: var(--wp-color-text) !important;
}

.timesheets__empty-card p {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__actions-banner {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__actions-banner-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__actions-banner strong {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__actions-banner p {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__empty-card {
  background: var(--wp-color-surface) !important;
  border: 1px dashed var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__empty-card h3 {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__empty-card p {
  color: var(--wp-color-text) !important;
}

.timesheets__empty-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-size: 1.6rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
}

.timesheets__empty-card h3 {
  color: var(--wp-color-text);
  font-size: 1.15rem;
  margin: 0 0 6px;
}

.timesheets__empty-card p {
  color: var(--wp-color-text);
  font-size: 0.88rem;
  margin: 0 0 18px;
}

.timesheets__doc-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 0.8rem;
  padding: 4px 12px;
  border-radius: 6px;
  background: #f4f8f6;
  border: 1px solid #c5ded1;
  color: #0b624f;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: all 0.15s ease;
}

.timesheets__doc-link-btn:hover {
  background: #e6f3ec;
  border-color: #0b624f;
}

.timesheets__doc-icon {
  font-size: 0.85rem;
  line-height: 1;
}

/* Document Preview Modal & Responsive Layout */
.timesheets__doc-modal.wp-modal__panel {
  max-width: min(1140px, 94vw);
  width: 94vw;
  height: 90vh;
  max-height: 94vh;
  display: flex;
  flex-direction: column;
  transition: max-width 0.2s ease, width 0.2s ease, height 0.2s ease;
}

.wp-modal__panel.timesheets__doc-modal--expanded {
  max-width: 98vw !important;
  width: 98vw !important;
  height: 96vh !important;
  max-height: 98vh !important;
}

.timesheets__doc-modal .wp-modal__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0 var(--wp-space-lg);
  overflow: hidden;
}

.timesheets__details-modal.wp-modal__panel {
  max-width: min(1000px, 94vw);
  width: 94vw;
  max-height: min(90vh, 880px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.timesheets__details-modal .wp-modal__header {
  padding: 16px 20px 12px;
  flex-shrink: 0;
}

.timesheets__details-modal .wp-modal__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 0 20px 10px;
}

.timesheets__details-modal .wp-modal__footer {
  padding: 12px 20px 16px;
  border-top: 1px solid var(--wp-color-border);
  flex-shrink: 0;
}

[data-theme="light"] .timesheets__details-modal .wp-modal__footer {
  border-top: 1px solid var(--wp-color-border);
}

/* Compact Scrollable Entries Table in Details Modal */
.timesheets__entries-table.wp-table-wrapper {
  max-height: 220px;
  overflow-y: auto;
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  margin: 0;
}

[data-theme="light"] .timesheets__entries-table.wp-table-wrapper {
  border-color: var(--wp-color-border);
  background: var(--wp-color-surface);
}

.timesheets__entries-table .wp-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 6px 12px;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  background: var(--wp-color-surface);
}

[data-theme="light"] .timesheets__entries-table .wp-table th {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-bottom: 1px solid var(--wp-color-border);
}

.timesheets__entries-table .wp-table td {
  padding: 5px 12px;
  font-size: 0.82rem;
}

[data-theme="light"] .timesheets__entries-table .wp-table td {
  border-bottom: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

.timesheets__doc-modal-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 100%;
  height: 100%;
  min-height: 0;
  flex: 1;
}

.timesheets__doc-modal-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
  padding: 8px 14px;
  background: #f4f8f6;
  border: 1px solid #e0ece5;
  border-radius: 8px;
  font-size: 0.84rem;
  color: #2c4a3e;
  flex-shrink: 0;
}

/* PDF / Document view adjustment toolbar */
.timesheets__doc-view-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px;
  background: #f8faf9;
  border: 1px solid #dce8e1;
  border-radius: 8px;
  flex-shrink: 0;
}

.timesheets__doc-view-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.timesheets__doc-view-label {
  font-size: 0.82rem;
  font-weight: 600;
  color: #3b5a4d;
  margin-right: 2px;
}

.timesheets__doc-view-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 5px 11px;
  font-size: 0.8rem;
  font-weight: 500;
  color: #2d453b;
  background: #ffffff;
  border: 1px solid #cfded6;
  border-radius: 6px;
  cursor: pointer;
  line-height: 1.25;
  transition: all 0.15s ease;
  text-decoration: none;
  user-select: none;
}

.timesheets__doc-view-btn:hover {
  background: #eef5f1;
  border-color: #a9c6b6;
  color: #17382a;
}

.timesheets__doc-view-btn--active {
  background: #1e5a40;
  border-color: #1e5a40;
  color: #ffffff;
  font-weight: 600;
}

.timesheets__doc-view-btn--active:hover {
  background: #174833;
  border-color: #174833;
  color: #ffffff;
}

.timesheets__doc-view-btn--link {
  color: #1e5a40;
  font-weight: 500;
}

.timesheets__doc-preview-area {
  min-height: 280px;
  max-height: 600px;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e0ece5;
  border-radius: 8px;
  overflow: hidden;
}

.timesheets__doc-modal .timesheets__doc-preview-area {
  flex: 1;
  min-height: 0;
  height: 100%;
  max-height: none;
}

.timesheets__doc-pdf-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  flex: 1;
  min-height: 0;
  overflow: auto;
  position: relative;
  background: #474a4d;
}

.timesheets__doc-modal .timesheets__doc-pdf-wrap {
  flex: 1;
  height: 100%;
  min-height: 0;
}

.timesheets__doc-zoom-stage {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  height: 100%;
}

.timesheets__doc-iframe {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.timesheets__doc-modal .timesheets__doc-iframe {
  flex: 1;
  min-height: 520px;
}

.timesheets__doc-pdf-actions {
  display: flex;
  justify-content: flex-end;
  padding: 8px 12px;
  background: #fcfdfd;
  border-top: 1px solid #e0ece5;
}

.timesheets__doc-img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #fafcfb;
  max-height: 520px;
  overflow: auto;
}

.timesheets__doc-modal .timesheets__doc-img-wrap {
  flex: 1;
  min-height: 0;
  height: 100%;
  max-height: none;
  background: #f6f8f7;
}

.timesheets__doc-img {
  max-width: 100%;
  max-height: 480px;
  object-fit: contain;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.timesheets__doc-modal .timesheets__doc-img {
  max-height: 100%;
}

.timesheets__doc-text-wrap {
  padding: 16px;
  max-height: 480px;
  overflow: auto;
  background: #f8faf9;
}

.timesheets__doc-modal .timesheets__doc-text-wrap {
  flex: 1;
  min-height: 0;
  height: 100%;
  max-height: none;
}

.timesheets__doc-text {
  margin: 0;
  font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
  font-size: 0.85rem;
  line-height: 1.5;
  color: #1f2d27;
  white-space: pre-wrap;
  word-break: break-word;
}

.timesheets__doc-generic-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 24px;
  text-align: center;
  gap: 12px;
  color: #4a6256;
}

.timesheets__doc-generic-icon {
  font-size: 3rem;
}

.timesheets__doc-modal-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #e0ece5;
  flex-shrink: 0;
}

.timesheets__doc-btn-pdf {
  font-weight: 600;
}

.timesheets__doc-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px;
  color: #4a6256;
}

.timesheets__doc-error {
  padding: 16px;
  background: #fdf2f2;
  border: 1px solid #f8d7da;
  border-radius: 8px;
  color: #991b1b;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.timesheets__doc-actions-inline {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

/* Employee Directory View */
.timesheets__emp-directory {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.timesheets__employee-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.timesheets__avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-size: 0.82rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1px solid var(--wp-color-border);
}

.timesheets__employee-cell strong {
  display: block;
  color: var(--wp-color-text);
  font-size: 0.9rem;
}

.timesheets__employee-cell span {
  display: block;
  color: var(--wp-color-text);
  font-size: 0.78rem;
}

.timesheets__badge {
  display: inline-block;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 3px 8px;
  line-height: 1;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.timesheets__badge--alert {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border: 1px solid var(--wp-color-border);
}

/* Employee Timesheet Profile View */
.timesheets__emp-profile {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.timesheets__back-btn {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.timesheets__emp-profile-header {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 16px;
  padding: 22px 26px;
  display: flex;
  gap: 20px;
  align-items: center;
  box-shadow: none;
}

.timesheets__emp-profile-avatar {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  font-size: 1.35rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: none;
}

.timesheets__emp-profile-info {
  flex-grow: 1;
}

.timesheets__emp-profile-info h3 {
  color: var(--wp-color-text);
  font-size: 1.25rem;
  margin: 0 0 6px;
}

.timesheets__emp-profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  font-size: 0.84rem;
  color: var(--wp-color-text);
}

.timesheets__emp-profile-tags span strong {
  color: var(--wp-color-text);
}

/* Profile Date Filter Toolbar */
.timesheets__profile-controls {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 16px 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
  box-shadow: none;
}

.timesheets__profile-controls .dropdown {
  min-width: 190px;
  margin-bottom: 0;
}

.timesheets__date-range-fields {
  display: flex;
  align-items: flex-end;
  gap: 12px;
}

.timesheets__date-range-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.timesheets__date-range-field label {
  color: var(--wp-color-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.timesheets__date-input {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  color: var(--wp-color-text);
  font: inherit;
  font-size: 0.88rem;
  padding: 7px 10px;
}

.timesheets__date-input:focus {
  border-color: var(--wp-color-border);
  outline: none;
  box-shadow: none;
}

/* Profile Summary Stats Cards */
.timesheets__profile-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.timesheets__profile-stat-card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: none;
}

.timesheets__profile-stat-card > span {
  color: var(--wp-color-text);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.timesheets__profile-stat-card > strong {
  color: var(--wp-color-text);
  font-size: 1.35rem;
  font-weight: 600;
}

/* Hours Aggregation Section & Switcher */
.timesheets__breakdown-section {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 16px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  box-shadow: none;
}

.timesheets__breakdown-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px;
}

.timesheets__breakdown-header h4 {
  color: var(--wp-color-text);
  font-size: 1.05rem;
  margin: 0;
}

.timesheets__breakdown-header p {
  color: var(--wp-color-text);
  font-size: 0.82rem;
  margin: 2px 0 0;
}

.timesheets__agg-switcher {
  display: inline-flex;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 8px;
  padding: 3px;
  gap: 2px;
}

.timesheets__agg-btn {
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: var(--wp-color-text);
  cursor: pointer;
  font: inherit;
  font-size: 0.84rem;
  font-weight: 600;
  padding: 6px 14px;
  transition: all 0.15s ease;
}

.timesheets__agg-btn:hover {
  color: var(--wp-color-text);
}

.timesheets__agg-btn.is-active {
  background: var(--wp-color-primary-soft);
  color: var(--wp-color-text);
  box-shadow: none;
  font-weight: 600;
}

.timesheets__recent-ts-section {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 16px;
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  box-shadow: none;
}

.timesheets__recent-ts-section h4 {
  color: var(--wp-color-text);
  font-size: 1.05rem;
  margin: 0;
}

.timesheets__muted-text {
  color: var(--wp-color-text-muted);
  font-style: italic;
}

/* Scalable Pagination Bar */
.timesheets__pagination-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--wp-color-border);
}

.timesheets__pagination-info {
  color: var(--wp-color-text);
  font-size: 0.85rem;
  font-weight: 600;
}

.timesheets__pagination-bar .myhr-pagination {
  margin-top: 0;
}
/* ==========================================================================
   Unified Cyber-Luminous Theme & High-Contrast Readability Overrides
   ========================================================================== */

/* Main Panels & Containers */
.timesheets__overview-panel,
.timesheets__history-panel,
.timesheets__flow-panel,
.timesheets__team-workspace,
.timesheets__landing,
.timesheets__employee-card,
.timesheets__recent-ts-section,
.timesheets__empty-card,
.timesheets__history-controls {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 18px !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

.timesheets__overview-panel,
.timesheets__history-panel,
.timesheets__flow-panel,
.timesheets__team-workspace,
.timesheets__landing {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Headings & Typography */
.timesheets__section-heading h2,
.timesheets__team-heading h2,
.timesheets__flow-header h2,
.timesheets__day-overview-heading h3,
.timesheets__landing-heading h2,
.timesheets__recent-ts-section h4 {
  color: var(--wp-color-text) !important;
  font-family: var(--wp-font-sans) !important;
  font-weight: 600 !important;
}

.timesheets__action-kicker,
.timesheets__section-heading > div > span,
.timesheets__team-heading > div > span,
.timesheets__day-overview-heading span,
.timesheets__flow-kicker,
.timesheets__landing-heading > span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.timesheets__section-heading p,
.timesheets__team-heading p,
.timesheets__flow-header p,
.timesheets__landing-heading p,
.timesheets__loading {
  color: var(--wp-color-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.5 !important;
}

/* Workspace Tabs (My Timesheets / Team Timesheets) */
.timesheets__workspace-tabs {
  border-bottom: 1px solid var(--wp-color-border) !important;
  gap: 28px !important;
  margin-bottom: 24px !important;
}

.timesheets__workspace-tabs button {
  color: var(--wp-color-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  padding: 14px 4px !important;
  transition: all 180ms ease !important;
}

.timesheets__workspace-tabs button:hover {
  color: var(--wp-color-text) !important;
}

.timesheets__workspace-tabs button.active {
  border-bottom: 3px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

/* KPI Summary & Stat Cards */
.timesheets__summary article,
.timesheets__stats article,
.timesheets__team-heading .timesheets__stats article,
.timesheets__team-heading .timesheets__stats button.timesheets__stat-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
  color: var(--wp-color-text) !important;
  transition: all 200ms ease !important;
  box-shadow: none !important;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card span,
.timesheets__summary article > span,
.timesheets__stats article > span {
  color: var(--wp-color-text) !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card strong,
.timesheets__summary strong,
.timesheets__stats strong {
  color: var(--wp-color-text) !important;
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card:hover {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

.timesheets__team-heading .timesheets__stats button.timesheets__stat-card.is-active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

/* Landing Action Cards (Enter Timesheet, View Hours, Submitted Timesheets) */
.timesheets__landing {
  box-sizing: border-box !important;
  max-width: 100% !important;
  padding: 32px 36px !important;
  width: 100% !important;
}

.timesheets__action-grid {
  box-sizing: border-box !important;
  display: grid !important;
  gap: 24px !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-bottom: 0 !important;
  width: 100% !important;
}

@media (max-width: 960px) {
  .timesheets__action-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .timesheets__action-grid {
    grid-template-columns: 1fr !important;
  }
}

.timesheets__action-card {
  box-sizing: border-box !important;
  width: 100% !important;
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  padding: 24px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  transition: all 220ms ease !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
}

.timesheets__action-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--wp-color-surface);
  opacity: 0.3;
  transition: opacity 220ms ease;
}

.timesheets__action-card:hover:not(:disabled) {
  border-color: var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
  box-shadow: none !important;
  transform: translateY(-3px) !important;
}

.timesheets__action-card:hover:not(:disabled)::before {
  opacity: 1;
}

.timesheets__action-card .timesheets__action-kicker {
  color: var(--wp-color-text) !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.timesheets__action-card strong {
  color: var(--wp-color-text) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.timesheets__action-card > span:not(.timesheets__action-kicker) {
  color: var(--wp-color-text) !important;
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
}

.timesheets__action-card b {
  color: var(--wp-color-text) !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  margin-top: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  transition: transform 180ms ease, color 180ms ease !important;
}

.timesheets__action-card:hover:not(:disabled) b {
  color: var(--wp-color-text) !important;
  transform: translateX(4px) !important;
}

/* Sub-Navigation Tabs (Required Actions, By Employee, All Submissions) */
.timesheets__subtabs-bar {
  border-bottom: 1px solid var(--wp-color-border) !important;
  gap: 12px !important;
  margin-bottom: 22px !important;
  padding-bottom: 6px !important;
}

.timesheets__subtab-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 999px !important;
  color: var(--wp-color-text) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  padding: 8px 18px !important;
  transition: all 180ms ease !important;
  backdrop-filter: none !important;
}

.timesheets__subtab-btn:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__subtab-btn.is-active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

.timesheets__subtab-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__subtab-badge--alert {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

.timesheets__subtab-btn.is-active .timesheets__subtab-badge--alert {
  background: var(--wp-color-primary-soft) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* Filters & Search Toolbar */
.timesheets__filters .wp-field__label,
.timesheets__filter-search > label,
.timesheets__filter-search span {
  color: var(--wp-color-text-muted) !important;
  font-weight: 600 !important;
  font-size: 0.75rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}

.timesheets__filters input,
.timesheets__filters select,
.timesheets__filters .wp-search-input__control,
.timesheets__filters .wp-field__control {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  border-radius: 8px !important;
}

.timesheets__filters input:focus,
.timesheets__filters select:focus,
.timesheets__filters .wp-search-input__control:focus,
.timesheets__filters .wp-field__control:focus {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
  outline: none !important;
}

.timesheets__clear-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  transition: all 180ms ease !important;
}

.timesheets__clear-btn:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* High-Contrast Tables */
.timesheets__team-table,
.timesheets__actions-table,
.timesheets__directory-table,
.timesheets__submissions-table {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.timesheets__team-table .wp-table th,
.timesheets__actions-table .wp-table th,
.timesheets__directory-table .wp-table th,
.timesheets__submissions-table .wp-table th {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border-bottom: 1.5px solid var(--wp-color-border) !important;
}

.timesheets__team-table .wp-table td,
.timesheets__actions-table .wp-table td,
.timesheets__directory-table .wp-table td,
.timesheets__submissions-table .wp-table td {
  color: var(--wp-color-text) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
}

.timesheets__team-table .wp-table tbody tr:hover,
.timesheets__actions-table .wp-table tbody tr:hover,
.timesheets__directory-table .wp-table tbody tr:hover,
.timesheets__submissions-table .wp-table tbody tr:hover {
  background: var(--wp-color-surface) !important;
}

/* Action Buttons inside Table */
.timesheets__entry-actions .wp-button,
.timesheets__entry-actions button {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 6px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: all 180ms ease !important;
}

.timesheets__entry-actions .wp-button:hover,
.timesheets__entry-actions button:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

/* Status Badges */
.wp-status-tag--submitted,
.status-submitted,
.is-submitted {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
}

.wp-status-tag--approved,
.status-approved,
.is-approved {
  background: var(--wp-color-primary-soft) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
}

.wp-status-tag--rejected,
.status-rejected,
.is-rejected {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-error) !important;
  font-weight: 600 !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
}

.wp-status-tag--draft,
.status-draft,
.is-draft {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
}

/* Required Actions Banner */
.timesheets__actions-banner {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__actions-banner-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__actions-banner strong {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__actions-banner p {
  color: var(--wp-color-text) !important;
}

/* Modals & Dialogs */
.timesheets__modal,
.timesheets__reedit-modal {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reedit-warning,
[data-theme="dark"] .timesheets__reedit-banner {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  border-radius: 10px !important;
}

[data-theme="dark"] .timesheets__reedit-warning strong,
[data-theme="dark"] .timesheets__reedit-banner strong {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reedit-warning p,
[data-theme="dark"] .timesheets__reedit-banner p {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reedit-dates-title,
[data-theme="dark"] .timesheets__reedit-recommendation strong,
[data-theme="dark"] .timesheets__recommendation-callout strong,
[data-theme="dark"] .timesheets__reason-field label {
  color: var(--wp-color-text-muted) !important;
}

[data-theme="dark"] .timesheets__reedit-entries-table {
  border: 1px solid var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
}

[data-theme="dark"] .timesheets__reedit-entries-table th {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reedit-entries-table td {
  border-bottom: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reedit-recommendation,
[data-theme="dark"] .timesheets__recommendation-callout {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reedit-recommendation p {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reason-field textarea {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__reason-field textarea:focus {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

/* Hours Overview Calendar & Navigation Overrides */
.timesheets__hours-navigation {
  border-bottom: 1px solid var(--wp-color-border) !important;
  padding-bottom: 16px !important;
  margin-bottom: 22px !important;
}

.timesheets__hours-navigation strong {
  color: var(--wp-color-text) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
  letter-spacing: -0.01em !important;
}

.timesheets__hours-navigation button {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-size: 1.1rem !important;
  transition: all 180ms ease !important;
}

.timesheets__hours-navigation button:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

.timesheets__hours-navigation button:disabled {
  opacity: 0.25 !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__calendar-heading strong {
  color: var(--wp-color-text) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
}

.timesheets__calendar-heading span {
  color: var(--wp-color-text) !important;
  font-size: 0.85rem !important;
}

.timesheets__calendar-weekdays span {
  color: var(--wp-color-text) !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* Calendar Days & History Cells */
.timesheets__calendar-day,
.timesheets__history-cell {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
  transition: all 180ms ease !important;
}

.timesheets__calendar-day small,
.timesheets__history-cell-header small {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
}

.timesheets__calendar-day span,
.timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__history-cell-empty {
  color: var(--wp-color-text) !important;
  font-weight: 500 !important;
}

.timesheets__calendar-day:hover:not(:disabled),
.timesheets__history-cell:hover {
  border-color: var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
  box-shadow: none !important;
}

.timesheets__calendar-day.is-selected {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

.timesheets__history-cell.is-worked.is-approved {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-approved .timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  text-shadow: none !important;
}

.timesheets__history-cell.is-worked.is-pending {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-pending .timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  text-shadow: none !important;
}

.timesheets__history-cell-badge--approved {
  background: var(--wp-color-primary-soft) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}

.timesheets__history-cell-badge--pending {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  border-radius: 4px !important;
}

.timesheets__calendar-legend {
  color: var(--wp-color-text) !important;
  font-weight: 500 !important;
}

.timesheets__calendar-legend i.is-approved {
  background: var(--wp-color-primary-soft) !important;
  box-shadow: none !important;
}

.timesheets__calendar-legend i.is-pending {
  background: var(--wp-color-surface) !important;
  box-shadow: none !important;
}

.timesheets__calendar-legend i.is-empty {
  background: var(--wp-color-surface) !important;
}

/* Entry Selection Cards ("Upload Timesheet Document" & "Enter Hours Manually") */
.timesheets__entry-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

.timesheets__entry-card:hover {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

.timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  font-weight: 600 !important;
}

.timesheets__entry-card--manual .timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__entry-card-icon {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
}

.timesheets__entry-card-title h3 {
  color: var(--wp-color-text) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
}

.timesheets__entry-card-title p {
  color: var(--wp-color-text) !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
}

.timesheets__upload-zone label {
  color: var(--wp-color-text-muted) !important;
  font-weight: 600 !important;
}

.timesheets__upload-zone select {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
}

/* Stepper & Flow Progress */
.timesheets__flow-header {
  border-bottom: 1px solid var(--wp-color-border) !important;
}

.timesheets__flow-header li {
  color: var(--wp-color-text) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
}

.timesheets__flow-header li.active {
  color: var(--wp-color-text) !important;
  text-shadow: none !important;
}

.timesheets__flow-header li.complete {
  color: var(--wp-color-text) !important;
}

/* Selected Range & Period Callouts */
.timesheets__period-callout,
.timesheets__selected-range {
  background: var(--wp-color-primary-soft) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__period-callout strong,
.timesheets__selected-range strong {
  color: var(--wp-color-text) !important;
  font-size: 1.05rem !important;
  text-shadow: none !important;
}

.timesheets__period-callout span {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__period-callout small,
.timesheets__selected-range span {
  color: var(--wp-color-text) !important;
}

.timesheets__selected-range button {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

/* Daily Hours Rows */
.timesheets__daily-row {
  border-bottom: 1px solid var(--wp-color-border) !important;
  padding: 12px 0 !important;
}

.timesheets__daily-row > div strong {
  color: var(--wp-color-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.timesheets__daily-row > div small {
  color: var(--wp-color-text) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

.timesheets__daily-row--locked > div small {
  color: var(--wp-color-text) !important;
}

.timesheets__review-summary article {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
}

.timesheets__review-summary span {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__review-summary strong {
  color: var(--wp-color-text) !important;
  font-size: 1.15rem !important;
}

/* History Workspace Summary Banner (Active Pay Period) */
.timesheets__history-summary {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.timesheets__summary-metrics span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}

.timesheets__summary-metrics strong {
  color: var(--wp-color-text) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.timesheets__summary-metrics small {
  color: var(--wp-color-text) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* Cadence Bar & Period Navigation in History */
.timesheets__cadence-bar {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
}

.timesheets__month-nav strong {
  color: var(--wp-color-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

.timesheets__nav-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 180ms ease !important;
}

.timesheets__nav-btn:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

.timesheets__weekly-pill {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 180ms ease !important;
}

.timesheets__weekly-pill:hover {
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__weekly-pill.active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* History Calendar Cells */
.timesheets__history-cell {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__history-cell.is-worked {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-approved {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-pending {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

/* Stepper & Flow Progress */
.timesheets__flow-header {
  border-bottom: 1px solid var(--wp-color-border) !important;
}

.timesheets__flow-header li {
  color: var(--wp-color-text) !important;
  font-size: 0.85rem !important;
  font-weight: 600 !important;
}

.timesheets__flow-header li.active {
  color: var(--wp-color-text) !important;
  text-shadow: none !important;
}

.timesheets__flow-header li.complete {
  color: var(--wp-color-text) !important;
}

/* Selected Range & Period Callouts */
.timesheets__period-callout,
.timesheets__selected-range {
  background: var(--wp-color-primary-soft) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__period-callout strong,
.timesheets__selected-range strong {
  color: var(--wp-color-text) !important;
  font-size: 1.05rem !important;
  text-shadow: none !important;
}

.timesheets__period-callout span {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__period-callout small,
.timesheets__selected-range span {
  color: var(--wp-color-text) !important;
}

.timesheets__selected-range button {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

/* Daily Hours Rows */
.timesheets__daily-row {
  border-bottom: 1px solid var(--wp-color-border) !important;
  padding: 12px 0 !important;
}

.timesheets__daily-row > div strong {
  color: var(--wp-color-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.timesheets__daily-row > div small {
  color: var(--wp-color-text) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

.timesheets__daily-row--locked > div small {
  color: var(--wp-color-text) !important;
}

.timesheets__review-summary article {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
}

.timesheets__review-summary span {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__review-summary strong {
  color: var(--wp-color-text) !important;
  font-size: 1.15rem !important;
}

/* History Workspace Summary Banner (Active Pay Period) */
.timesheets__history-summary {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.timesheets__summary-metrics span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}

.timesheets__summary-metrics strong {
  color: var(--wp-color-text) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.timesheets__summary-metrics small {
  color: var(--wp-color-text) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* Cadence Bar & Period Navigation in History */
.timesheets__cadence-bar {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
}

.timesheets__month-nav strong {
  color: var(--wp-color-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

.timesheets__nav-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 180ms ease !important;
}

.timesheets__nav-btn:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

.timesheets__weekly-pill {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 180ms ease !important;
}

.timesheets__weekly-pill:hover {
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__weekly-pill.active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* History Calendar Cells */
.timesheets__history-cell {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__history-cell.is-worked {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-approved {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-pending {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell-header small {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__flow-header li.active {
  color: var(--wp-color-text) !important;
  text-shadow: none !important;
}

.timesheets__flow-header li.complete {
  color: var(--wp-color-text) !important;
}

/* Selected Range & Period Callouts */
.timesheets__period-callout,
.timesheets__selected-range {
  background: var(--wp-color-primary-soft) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__period-callout strong,
.timesheets__selected-range strong {
  color: var(--wp-color-text) !important;
  font-size: 1.05rem !important;
  text-shadow: none !important;
}

.timesheets__period-callout span {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__period-callout small,
.timesheets__selected-range span {
  color: var(--wp-color-text) !important;
}

.timesheets__selected-range button {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

/* Daily Hours Rows */
.timesheets__daily-row {
  border-bottom: 1px solid var(--wp-color-border) !important;
  padding: 12px 0 !important;
}

.timesheets__daily-row > div strong {
  color: var(--wp-color-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
}

.timesheets__daily-row > div small {
  color: var(--wp-color-text) !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
}

.timesheets__daily-row--locked > div small {
  color: var(--wp-color-text) !important;
}

.timesheets__review-summary article {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
}

.timesheets__review-summary span {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__review-summary strong {
  color: var(--wp-color-text) !important;
  font-size: 1.15rem !important;
}

/* History Workspace Summary Banner (Active Pay Period) */
.timesheets__history-summary {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.timesheets__summary-metrics span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}

.timesheets__summary-metrics strong {
  color: var(--wp-color-text) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

.timesheets__summary-metrics small {
  color: var(--wp-color-text) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* Cadence Bar & Period Navigation in History */
.timesheets__cadence-bar {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
}

.timesheets__month-nav strong {
  color: var(--wp-color-text) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

.timesheets__nav-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 180ms ease !important;
}

.timesheets__nav-btn:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

.timesheets__weekly-pill {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 180ms ease !important;
}

.timesheets__weekly-pill:hover {
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__weekly-pill.active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* History Calendar Cells */
.timesheets__history-cell {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__history-cell.is-worked {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-approved {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell.is-worked.is-pending {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

.timesheets__history-cell-header small {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__history-cell.is-approved .timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
}

.timesheets__history-cell.is-pending .timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
}

/* Supporting Document Link on Tables */
.timesheets__doc-link-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 4px 12px !important;
  border-radius: 6px !important;
  font-size: 0.8rem !important;
  font-weight: 600 !important;
  background: rgba(0, 255, 135, 0.08) !important;
  border: 1px solid rgba(0, 255, 135, 0.3) !important;
  color: #00ff87 !important;
  box-shadow: 0 0 10px rgba(0, 255, 135, 0.1) !important;
  transition: all 0.18s ease !important;
}

.timesheets__doc-link-btn:hover {
  background: rgba(0, 255, 135, 0.18) !important;
  border-color: #00ff87 !important;
  box-shadow: 0 0 16px rgba(0, 255, 135, 0.35) !important;
  color: #ffffff !important;
}

/* Cadence Bar Controls, Toggle, and Policy Badges */
.timesheets__cadence-badge {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}

.timesheets__cadence-policy-tag {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 6px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
}

.timesheets__period-toggle {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  padding: 3px !important;
}

.timesheets__period-toggle button {
  background: transparent !important;
  border: none !important;
  border-radius: 6px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 0.15s ease !important;
}

.timesheets__period-toggle button:hover {
  color: var(--wp-color-text) !important;
}

.timesheets__period-toggle button.active {
  background: var(--wp-color-primary-soft) !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__hours-navigation button {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  transition: all 0.15s ease !important;
}

.timesheets__hours-navigation button:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

/* By Employee Detail & Profile View */
.timesheets__emp-profile-header {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.timesheets__emp-profile-avatar {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

.timesheets__emp-profile-info h3 {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__emp-profile-tags {
  color: var(--wp-color-text) !important;
}

.timesheets__emp-profile-tags span strong {
  color: var(--wp-color-text) !important;
}

.timesheets__profile-controls {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
}

.timesheets__date-range-field label {
  color: var(--wp-color-text-muted) !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 0.75rem !important;
}

.timesheets__date-input {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
}

.timesheets__date-input:focus {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

.timesheets__profile-stat-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
}

.timesheets__profile-stat-card > span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

.timesheets__profile-stat-card > strong {
  color: var(--wp-color-text) !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

.timesheets__breakdown-section {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
}

.timesheets__agg-btn {
  background: transparent !important;
  border: none !important;
  color: var(--wp-color-text) !important;
}

.timesheets__agg-btn:hover {
  color: var(--wp-color-text) !important;
}

.timesheets__agg-btn.is-active {
  background: var(--wp-color-primary-soft) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* Entry Workflow & Dual Cards */
.timesheets__entry-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.timesheets__entry-card--upload {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

.timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
}

.timesheets__entry-card--manual .timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
}

.timesheets__entry-card-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

.timesheets__entry-card-title h3 {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

.timesheets__entry-card-title p {
  color: var(--wp-color-text) !important;
}

.timesheets__upload-zone label {
  color: var(--wp-color-text-muted) !important;
}

[data-theme="dark"] .timesheets__ocr-status {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__extracted-banner {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
}

[data-theme="dark"] .timesheets__extracted-banner-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .timesheets__extracted-banner strong {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__extracted-banner p {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__source select {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
}

/* Document Preview Modal & Toolbar */
.timesheets__doc-modal-meta {
  background: rgba(8, 24, 18, 0.94) !important;
  border: 1px solid rgba(0, 255, 135, 0.2) !important;
  color: #cbd5e1 !important;
}

.timesheets__doc-modal-meta strong {
  color: #00ff87 !important;
}

.timesheets__doc-view-toolbar {
  background: rgba(8, 24, 18, 0.94) !important;
  border: 1px solid rgba(0, 255, 135, 0.2) !important;
}

.timesheets__doc-view-label {
  color: #cbd5e1 !important;
}

.timesheets__doc-view-btn {
  background: rgba(8, 24, 18, 0.9) !important;
  border: 1px solid rgba(0, 255, 135, 0.22) !important;
  color: #cbd5e1 !important;
}

.timesheets__doc-view-btn:hover {
  background: rgba(0, 255, 135, 0.15) !important;
  border-color: #00ff87 !important;
  color: #ffffff !important;
  box-shadow: 0 0 10px rgba(0, 255, 135, 0.25) !important;
}

.timesheets__doc-view-btn--active {
  background: linear-gradient(135deg, #0b624f, #00ff87) !important;
  border-color: #00ff87 !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(0, 255, 135, 0.35) !important;
}

.timesheets__doc-view-btn--link {
  color: #00ff87 !important;
}

.timesheets__doc-preview-area {
  background: rgba(6, 18, 14, 0.95) !important;
  border: 1px solid rgba(0, 255, 135, 0.2) !important;
}

/* Rejection Modal */
.timesheets__reject-modal-header {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
}

.timesheets__reject-modal-header strong {
  color: var(--wp-color-error) !important;
}

.timesheets__reject-modal-header p {
  color: var(--wp-color-error) !important;
}

.timesheets__reject-field label {
  color: var(--wp-color-error) !important;
}

.timesheets__reject-field textarea {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-error) !important;
}

.timesheets__reject-field textarea:focus {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

.timesheets__reject-field textarea.is-invalid {
  border-color: var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
}

.timesheets__reject-field small {
  color: var(--wp-color-error) !important;
}

/* ==========================================================================
   Timesheets - Light Theme Overrides (High-Contrast WCAG AAA Standard)
   Based on Slate-900 typography, Slate-50 surface, and Waypoint Emerald brand
   ========================================================================== */
[data-theme="light"] .timesheets__overview-panel,
[data-theme="light"] .timesheets__history-panel,
[data-theme="light"] .timesheets__flow-panel,
[data-theme="light"] .timesheets__team-workspace,
[data-theme="light"] .timesheets__landing,
[data-theme="light"] .timesheets__employee-card,
[data-theme="light"] .timesheets__recent-ts-section,
[data-theme="light"] .timesheets__empty-card,
[data-theme="light"] .timesheets__history-controls {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
  backdrop-filter: none !important;
}

/* Headings & Text */
[data-theme="light"] .timesheets__section-heading h2,
[data-theme="light"] .timesheets__section-heading h3,
[data-theme="light"] .timesheets__team-heading h2,
[data-theme="light"] .timesheets__flow-header h2,
[data-theme="light"] .timesheets__day-overview-heading h3,
[data-theme="light"] .timesheets__landing-heading h2,
[data-theme="light"] .timesheets__recent-ts-section h4 {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__section-heading p,
[data-theme="light"] .timesheets__team-heading p,
[data-theme="light"] .timesheets__flow-header p,
[data-theme="light"] .timesheets__landing-heading p,
[data-theme="light"] .timesheets__loading {
  color: var(--wp-color-text) !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
}

/* Category Kickers */
[data-theme="light"] .timesheets__action-kicker,
[data-theme="light"] .timesheets__section-heading > div > span,
[data-theme="light"] .timesheets__team-heading > div > span,
[data-theme="light"] .timesheets__day-overview-heading span,
[data-theme="light"] .timesheets__flow-kicker,
[data-theme="light"] .timesheets__landing-heading > span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

/* Navigation & Back Links */
[data-theme="light"] .timesheets__back-link,
[data-theme="light"] button.myhr-back-button,
[data-theme="light"] button:has(+ h1),
[data-theme="light"] .timesheets__flow-panel > button {
  color: var(--wp-color-primary) !important;
  font-weight: 600 !important;
}

/* Workspace Tabs */
[data-theme="light"] .timesheets__workspace-tabs {
  border-bottom: 2px solid var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__workspace-tabs button {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__workspace-tabs button:hover {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__workspace-tabs button.active {
  border-bottom: 3px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

/* Metric KPI & Stat Cards */
[data-theme="light"] .timesheets__summary article,
[data-theme="light"] .timesheets__stats article,
[data-theme="light"] .timesheets__team-heading .timesheets__stats article,
[data-theme="light"] .timesheets__team-heading .timesheets__stats button.timesheets__stat-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__team-heading .timesheets__stats button.timesheets__stat-card span,
[data-theme="light"] .timesheets__summary article > span,
[data-theme="light"] .timesheets__stats article > span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

[data-theme="light"] .timesheets__team-heading .timesheets__stats button.timesheets__stat-card strong,
[data-theme="light"] .timesheets__summary strong,
[data-theme="light"] .timesheets__stats strong {
  color: var(--wp-color-text) !important;
  font-size: 1.45rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

[data-theme="light"] .timesheets__summary small,
[data-theme="light"] .timesheets__stats small {
  color: var(--wp-color-text) !important;
  font-size: 0.82rem !important;
}

/* Landing Action Cards (Enter Timesheet, View Hours, Submitted Timesheets) */
[data-theme="light"] .timesheets__action-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__action-card:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__action-card strong {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__action-card > span:not(.timesheets__action-kicker) {
  color: var(--wp-color-text) !important;
  font-size: 0.88rem !important;
  line-height: 1.5 !important;
}

[data-theme="light"] .timesheets__action-card b {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__action-card .timesheets__action-kicker {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

/* Entry Workflow - Choice Cards (Upload Document vs Enter Manually) */
[data-theme="light"] .timesheets__entry-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__entry-card:hover {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
  transform: translateY(-2px) !important;
}

[data-theme="light"] .timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  font-weight: 600 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.06em !important;
}

[data-theme="light"] .timesheets__entry-card--manual .timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__entry-card-icon {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__entry-card-title h3 {
  color: var(--wp-color-text) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__entry-card-title p {
  color: var(--wp-color-text) !important;
  font-size: 0.9rem !important;
  line-height: 1.55 !important;
}

/* Upload Zone & Form Controls */
[data-theme="light"] .timesheets__upload-zone label {
  color: var(--wp-color-text-muted) !important;
  font-weight: 600 !important;
  font-size: 0.88rem !important;
}

[data-theme="light"] .timesheets__upload-zone select {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__upload-zone select option {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .wp-file-upload__control {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .wp-file-upload__placeholder {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .wp-file-upload__filename {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .wp-file-upload__button {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .wp-file-upload__hint {
  color: var(--wp-color-text) !important;
  font-size: 0.82rem !important;
  line-height: 1.45 !important;
}

/* Stepper & Flow Progress (1 Dates, 2 Hours, 3 Review) */
[data-theme="light"] .timesheets__flow-header {
  border-bottom: 1px solid var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__flow-header li {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__flow-header li.active {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

[data-theme="light"] .timesheets__flow-header li.complete {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

/* Selected Range & Period Callouts */
[data-theme="light"] .timesheets__period-callout,
[data-theme="light"] .timesheets__selected-range {
  background: var(--wp-color-primary-soft) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__period-callout strong,
[data-theme="light"] .timesheets__selected-range strong {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__selected-range span {
  color: var(--wp-color-text) !important;
}

/* Date Range Inputs */
[data-theme="light"] .timesheets__flow-panel input[type="date"],
[data-theme="light"] .timesheets__date-range-field input {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  color-scheme: light !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__flow-panel label {
  color: var(--wp-color-text-muted) !important;
  font-weight: 600 !important;
}

/* Hours Overview Calendar & Navigation */
[data-theme="light"] .timesheets__hours-navigation {
  border-bottom: 1px solid var(--wp-color-border) !important;
  padding-bottom: 16px !important;
  margin-bottom: 22px !important;
}

[data-theme="light"] .timesheets__hours-navigation strong {
  color: var(--wp-color-text) !important;
  font-size: 1.35rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
  letter-spacing: -0.01em !important;
}

[data-theme="light"] .timesheets__hours-navigation button {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: all 180ms ease !important;
}

[data-theme="light"] .timesheets__hours-navigation button:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__hours-navigation button:disabled {
  opacity: 0.4 !important;
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__calendar-heading strong {
  color: var(--wp-color-text) !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__calendar-heading span {
  color: var(--wp-color-text) !important;
  font-size: 0.88rem !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__calendar-weekdays span {
  color: var(--wp-color-text) !important;
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

/* Calendar Days & History Cells */
[data-theme="light"] .timesheets__calendar-day,
[data-theme="light"] .timesheets__history-cell {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
  transition: all 180ms ease !important;
}

[data-theme="light"] .timesheets__calendar-day small,
[data-theme="light"] .timesheets__history-cell-header small {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  font-size: 0.9rem !important;
}

[data-theme="light"] .timesheets__calendar-day span,
[data-theme="light"] .timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
  text-shadow: none !important;
}

[data-theme="light"] .timesheets__history-cell-empty {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__calendar-day:hover:not(:disabled),
[data-theme="light"] .timesheets__history-cell:hover {
  border-color: var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__calendar-day.is-selected {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

/* Worked & Approved Cells */
[data-theme="light"] .timesheets__history-cell.is-worked.is-approved {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__history-cell.is-worked.is-approved .timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  text-shadow: none !important;
}

/* Worked & Pending Cells */
[data-theme="light"] .timesheets__history-cell.is-worked.is-pending {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__history-cell.is-worked.is-pending .timesheets__history-cell-hours {
  color: var(--wp-color-text) !important;
  text-shadow: none !important;
  font-weight: 600 !important;
}

/* Calendar Day Badges */
[data-theme="light"] .timesheets__history-cell-badge--approved {
  background: var(--wp-color-primary-soft) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  font-weight: 600 !important;
  font-size: 0.68rem !important;
}

[data-theme="light"] .timesheets__history-cell-badge--pending {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  font-weight: 600 !important;
  font-size: 0.68rem !important;
}

[data-theme="light"] .timesheets__calendar-legend span {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

/* Modals & Dialogs */
[data-theme="light"] .timesheets__modal,
[data-theme="light"] .timesheets__reedit-modal,
[data-theme="light"] .wp-modal__dialog {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__modal h3,
[data-theme="light"] .timesheets__reedit-modal h3 {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__modal p,
[data-theme="light"] .timesheets__reedit-modal p {
  color: var(--wp-color-text) !important;
  font-size: 0.92rem !important;
}

/* History Workspace Summary Banner (Active Pay Period Card) */
[data-theme="light"] .timesheets__history-summary {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__summary-metrics span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
}

[data-theme="light"] .timesheets__summary-metrics strong {
  color: var(--wp-color-text) !important;
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}

[data-theme="light"] .timesheets__summary-metrics small {
  color: var(--wp-color-text) !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
}

/* Cadence Bar & Period Navigation in History */
[data-theme="light"] .timesheets__cadence-bar {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__cadence-badge {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__cadence-policy-tag {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__month-nav strong {
  color: var(--wp-color-text) !important;
  font-size: 1.05rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

[data-theme="light"] .timesheets__nav-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__nav-btn:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__weekly-pill {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__weekly-pill:hover {
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  background: var(--wp-color-surface) !important;
}

[data-theme="light"] .timesheets__weekly-pill.active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__period-toggle {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
}

[data-theme="light"] .timesheets__period-toggle button {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__period-toggle button:hover {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__period-toggle button.active {
  background: var(--wp-color-primary-soft) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* Sub-Navigation Tabs in Light Mode (Required Actions, By Employee, All Submissions) */
[data-theme="light"] .timesheets__subtabs-bar {
  border-bottom: 1px solid var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__subtab-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

[data-theme="light"] .timesheets__subtab-btn:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__subtab-btn.is-active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__subtab-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__subtab-btn.is-active .timesheets__subtab-badge {
  background: var(--wp-color-primary-soft) !important;
  border-color: transparent !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__subtab-badge--alert,
[data-theme="light"] .timesheets__subtab-btn.is-active .timesheets__subtab-badge--alert {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* Filters & Search Toolbar in Light Mode */
[data-theme="light"] .timesheets__filters .wp-field__label,
[data-theme="light"] .timesheets__filter-search > label,
[data-theme="light"] .timesheets__filter-search span {
  color: var(--wp-color-text-muted) !important;
  font-weight: 600 !important;
}

/* Light Mode Tables (Required Actions, Team Workspace, Submissions) */
[data-theme="light"] .timesheets__team-table,
[data-theme="light"] .timesheets__actions-table,
[data-theme="light"] .timesheets__directory-table,
[data-theme="light"] .timesheets__submissions-table {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__team-table .wp-table th,
[data-theme="light"] .timesheets__actions-table .wp-table th,
[data-theme="light"] .timesheets__directory-table .wp-table th,
[data-theme="light"] .timesheets__submissions-table .wp-table th {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  border-bottom: 2px solid var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__team-table .wp-table td,
[data-theme="light"] .timesheets__actions-table .wp-table td,
[data-theme="light"] .timesheets__directory-table .wp-table td,
[data-theme="light"] .timesheets__submissions-table .wp-table td {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__team-table .wp-table tbody tr:hover,
[data-theme="light"] .timesheets__actions-table .wp-table tbody tr:hover,
[data-theme="light"] .timesheets__directory-table .wp-table tbody tr:hover,
[data-theme="light"] .timesheets__submissions-table .wp-table tbody tr:hover {
  background: var(--wp-color-surface) !important;
}

/* Action Buttons inside Table */
[data-theme="light"] .timesheets__entry-actions .wp-button,
[data-theme="light"] .timesheets__entry-actions button {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 8px !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: all 180ms ease !important;
}

[data-theme="light"] .timesheets__entry-actions .wp-button:hover,
[data-theme="light"] .timesheets__entry-actions button:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__entry-actions .timesheets__btn-reject,
[data-theme="light"] .timesheets__entry-actions button.timesheets__btn-reject {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__entry-actions .timesheets__btn-reject:hover,
[data-theme="light"] .timesheets__entry-actions button.timesheets__btn-reject:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__entry-actions .wp-button--secondary,
[data-theme="light"] .timesheets__entry-actions button.wp-button--secondary {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__entry-actions .wp-button--secondary:hover,
[data-theme="light"] .timesheets__entry-actions button.wp-button--secondary:hover {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

/* Supporting Document Link on Tables */
[data-theme="light"] .timesheets__doc-link-btn {
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  border-radius: 6px !important;
  color: #065f46 !important;
  font-weight: 600 !important;
  padding: 4px 12px !important;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04) !important;
}

[data-theme="light"] .timesheets__doc-link-btn:hover {
  background: #d1fae5 !important;
  border-color: #059669 !important;
  color: #047857 !important;
  box-shadow: 0 2px 6px rgba(5, 150, 105, 0.15) !important;
}

/* Status Badges in Light Mode */
[data-theme="light"] .wp-status-tag--submitted,
[data-theme="light"] .status-submitted,
[data-theme="light"] .is-submitted {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .wp-status-tag--approved,
[data-theme="light"] .status-approved,
[data-theme="light"] .is-approved {
  background: var(--wp-color-primary-soft) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .wp-status-tag--rejected,
[data-theme="light"] .status-rejected,
[data-theme="light"] .is-rejected {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-error) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .wp-status-tag--draft,
[data-theme="light"] .status-draft,
[data-theme="light"] .is-draft {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

/* Required Actions Banner */
[data-theme="light"] .timesheets__actions-banner {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__actions-banner-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__actions-banner strong {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__actions-banner p {
  color: var(--wp-color-text) !important;
}

/* Extracted Hours Banner in Light Mode - High Contrast WCAG AAA */
[data-theme="light"] .timesheets__extracted-banner {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__extracted-banner-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__extracted-banner strong {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  font-size: 0.95rem !important;
}

[data-theme="light"] .timesheets__extracted-banner p {
  color: var(--wp-color-text) !important;
  font-weight: 500 !important;
  font-size: 0.84rem !important;
}

/* Re-edit Submitted Timesheet Banner & Warning in Light Mode - High Contrast WCAG AAA */
[data-theme="light"] .timesheets__reedit-banner,
[data-theme="light"] .timesheets__reedit-warning {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__reedit-banner-icon {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 50% !important;
  padding: 6px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__reedit-banner strong,
[data-theme="light"] .timesheets__reedit-warning strong {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
}

[data-theme="light"] .timesheets__reedit-banner p,
[data-theme="light"] .timesheets__reedit-warning p {
  color: var(--wp-color-text) !important;
  font-weight: 500 !important;
  font-size: 0.84rem !important;
}

/* Rejection Hours Notice in Light Mode - High Contrast WCAG AAA */
[data-theme="light"] .timesheets__rejection-hours-notice {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__rejection-hours-icon {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 50% !important;
  padding: 6px !important;
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__rejection-hours-notice strong {
  color: var(--wp-color-error) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__rejection-hours-notice p {
  color: var(--wp-color-error) !important;
  font-weight: 500 !important;
}

[data-theme="light"] .timesheets__rejection-hours-notice small {
  color: var(--wp-color-error) !important;
}

/* Reason for Change Field & Re-edit Modal in Light Mode */
[data-theme="light"] .timesheets__reason-field label {
  color: var(--wp-color-text-muted) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__reason-field textarea {
  background: var(--wp-color-surface) !important;
  border: 1.5px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__reason-field textarea:focus {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__recommendation-callout,
[data-theme="light"] .timesheets__reedit-recommendation {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__recommendation-callout strong,
[data-theme="light"] .timesheets__reedit-recommendation strong {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__reedit-recommendation p {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__reedit-dates-title {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__reedit-entries-table {
  border: 1px solid var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
}

[data-theme="light"] .timesheets__reedit-entries-table th {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__reedit-entries-table td {
  color: var(--wp-color-text) !important;
  border-bottom: 1px solid var(--wp-color-border) !important;
}

/* By Employee Detail & Profile View in Light Mode */
[data-theme="light"] .timesheets__emp-profile-header {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__emp-profile-avatar {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__emp-profile-info h3 {
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="light"] .timesheets__emp-profile-tags {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__emp-profile-tags span strong {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__profile-controls {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__profile-stat-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__profile-stat-card > span {
  color: var(--wp-color-text) !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}

[data-theme="light"] .timesheets__profile-stat-card > strong {
  color: var(--wp-color-text) !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  text-shadow: none !important;
}

[data-theme="light"] .timesheets__breakdown-section {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__agg-btn {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__agg-btn:hover {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__agg-btn.is-active {
  background: var(--wp-color-primary-soft) !important;
  border-color: var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

/* Rejection Modal */
[data-theme="light"] .timesheets__reject-modal-header {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 10px !important;
}

[data-theme="light"] .timesheets__reject-modal-header strong {
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__reject-modal-header p {
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__reject-field label {
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__reject-field textarea {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-error) !important;
}

[data-theme="light"] .timesheets__reject-field textarea:focus {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

/* ─────────────────────────────────────────────────────────────────────────
   Cockpit Timesheet Entry & Compliance Sandbox
   Aligns Enter Timesheet module with the Interactive Experience Sandbox
   ───────────────────────────────────────────────────────────────────────── */
.timesheets__flow-content--cockpit {
  position: relative;
}

.timesheets__sandbox-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.timesheets__sandbox-info {
  flex: 1;
  min-width: 280px;
}

.timesheets__sandbox-badge-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.timesheets__sim-badge {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  padding: 4px 10px;
  border-radius: 6px;
  font-weight: 600;
  border: 1px solid var(--wp-color-border);
  display: inline-block;
}

[data-theme="light"] .timesheets__sim-badge {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
}

.timesheets__sim-period-badge {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  padding: 4px 10px;
  border-radius: 6px;
  border: 1px solid var(--wp-color-border);
}

[data-theme="light"] .timesheets__sim-period-badge {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
}

.timesheets__change-dates-btn {
  background: none;
  border: none;
  color: var(--wp-color-text);
  font-size: 0.78rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: underline;
  padding: 2px 4px;
  transition: opacity 0.15s ease;
}

.timesheets__change-dates-btn:hover {
  opacity: 0.8;
}

[data-theme="light"] .timesheets__change-dates-btn {
  color: var(--wp-color-text);
}

.timesheets__sandbox-sub {
  color: var(--wp-color-text-muted);
  font-size: 0.88rem;
  margin: 0;
  max-width: 640px;
  line-height: 1.5;
}

[data-theme="light"] .timesheets__sandbox-sub {
  color: var(--wp-color-text-muted);
}

.timesheets__sim-presets {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.timesheets__preset-btn {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.timesheets__preset-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
  transform: translateY(-1px);
}

[data-theme="light"] .timesheets__preset-btn {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__preset-btn:hover {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

.timesheets__sim-metrics-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 16px;
}

@media (max-width: 840px) {
  .timesheets__sim-metrics-bar {
    grid-template-columns: repeat(2, 1fr);
  }
}

.timesheets__sim-metric {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 14px 16px;
  text-align: center;
  box-shadow: none;
}

[data-theme="light"] .timesheets__sim-metric {
  background: var(--wp-color-surface);
  border-color: var(--wp-color-border);
  box-shadow: none;
}

.timesheets__sim-metric-label {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  font-weight: 600;
  color: var(--wp-color-text-muted);
  margin-bottom: 4px;
}

[data-theme="light"] .timesheets__sim-metric-label {
  color: var(--wp-color-text-muted);
}

.timesheets__sim-metric-value {
  font-size: 1.8rem;
  font-weight: 600;
  color: var(--wp-color-text);
  font-family: inherit;
  font-variant-numeric: tabular-nums;
}

[data-theme="light"] .timesheets__sim-metric-value {
  color: var(--wp-color-text);
}

.timesheets__sim-metric-value small {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--wp-color-text);
  margin-left: 2px;
}

[data-theme="light"] .timesheets__sim-metric-value small {
  color: var(--wp-color-text);
}

.timesheets__sim-metric-value--cyan {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__sim-metric-value--cyan {
  color: var(--wp-color-text);
}

.timesheets__sim-metric-value--gold {
  color: var(--wp-color-text);
  animation: pulseGoldEntry 1.5s infinite alternate ease-in-out;
}

[data-theme="light"] .timesheets__sim-metric-value--gold {
  color: var(--wp-color-text);
}

.timesheets__sim-metric-value--emerald {
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__sim-metric-value--emerald {
  color: var(--wp-color-text);
}

@keyframes pulseGoldEntry {
  from { opacity: 0.85; }
  to { opacity: 1; text-shadow: none; }
}

.timesheets__sim-bar-wrap {
  position: relative;
  height: 10px;
  background: var(--wp-color-surface);
  border-radius: 6px;
  margin: 8px 0 28px;
  overflow: visible;
}

[data-theme="light"] .timesheets__sim-bar-wrap {
  background: var(--wp-color-surface);
}

.timesheets__sim-bar-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.timesheets__sim-bar-marker {
  position: absolute;
  top: -22px;
  transform: translateX(-50%);
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--wp-color-text);
  display: flex;
  flex-direction: column;
  align-items: center;
  white-space: nowrap;
}

[data-theme="light"] .timesheets__sim-bar-marker {
  color: var(--wp-color-text);
}

/* Day Cards Grid */
.timesheets__daily-hours--grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 16px !important;
  margin: 0 0 24px 0 !important;
}

.timesheets__daily-row.timesheets__day-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  border: 1px solid var(--wp-color-border) !important;
  border-radius: 14px !important;
  padding: 16px !important;
  background: var(--wp-color-surface) !important;
  gap: 10px !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
}

[data-theme="light"] .timesheets__daily-row.timesheets__day-card {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
}

.timesheets__daily-row.timesheets__day-card:hover {
  transform: translateY(-2px);
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__daily-row.timesheets__day-card:hover {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

.timesheets__daily-row.timesheets__day-card.timesheets__day-card--ot {
  border-color: var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
}

[data-theme="light"] .timesheets__daily-row.timesheets__day-card.timesheets__day-card--ot {
  border-color: var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
}

.timesheets__daily-row.timesheets__day-card.timesheets__day-card--locked {
  opacity: 0.65;
  background: var(--wp-color-surface) !important;
}

[data-theme="light"] .timesheets__daily-row.timesheets__day-card.timesheets__day-card--locked {
  background: var(--wp-color-surface) !important;
}

.timesheets__day-card-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}

.timesheets__day-card-header strong {
  display: block;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__day-card-header strong {
  color: var(--wp-color-text) !important;
}

.timesheets__day-card-header small {
  display: block;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__day-card-header small {
  color: var(--wp-color-text) !important;
}

.timesheets__day-val {
  font-size: 1.15rem;
  font-weight: 600;
  color: var(--wp-color-text);
  font-variant-numeric: tabular-nums;
}

[data-theme="light"] .timesheets__day-val {
  color: var(--wp-color-text);
}

.timesheets__day-card--ot .timesheets__day-val {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__day-card--ot .timesheets__day-val {
  color: var(--wp-color-text) !important;
}

.timesheets__day-slider-wrap {
  width: 100%;
  margin: 2px 0;
}

.timesheets__day-slider {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: var(--wp-color-surface);
  outline: none;
  cursor: pointer;
  accent-color: var(--wp-color-primary);
}

[data-theme="light"] .timesheets__day-slider {
  background: var(--wp-color-surface);
  accent-color: var(--wp-color-primary);
}

.timesheets__day-card-tag-row {
  margin-bottom: 2px;
}

.timesheets__day-tag {
  display: inline-block;
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  padding: 2px 8px;
  border-radius: 4px;
}

.timesheets__day-tag--off {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__day-tag--off {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.timesheets__day-tag--standard {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__day-tag--standard {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.timesheets__day-tag--extended {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__day-tag--extended {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.timesheets__day-tag--future {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

[data-theme="light"] .timesheets__day-tag--future {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
}

.timesheets__day-inputs {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 10px;
  align-items: end;
  width: 100%;
}

@media (max-width: 600px) {
  .timesheets__day-inputs {
    grid-template-columns: 1fr;
  }
}

.timesheets__day-inputs .wp-field {
  margin: 0 !important;
}

.timesheets__sim-compliance-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--wp-color-text);
  background: var(--wp-color-surface);
  padding: 8px 16px;
  border-radius: 20px;
  border: 1px solid var(--wp-color-border);
  margin-bottom: 24px;
}

[data-theme="light"] .timesheets__sim-compliance-pill {
  background: var(--wp-color-surface);
  color: var(--wp-color-text);
  border-color: var(--wp-color-border);
}

.timesheets__sim-compliance-dot {
  width: 8px;
  height: 8px;
  background: var(--wp-color-surface);
  border-radius: 50%;
  box-shadow: none;
  display: inline-block;
  flex-shrink: 0;
}

[data-theme="light"] .timesheets__sim-compliance-dot {
  background: var(--wp-color-surface);
  box-shadow: none;
}

/* ==========================================================================
   Mobile Responsive Adaptations (Screen sizes <= 768px & <= 480px)
   Adapts Timesheets Review Workspace, Subtabs, Actions Banner, Filters,
   and Transforms Data Tables into Accessible Touch-Friendly Cards.
   ========================================================================== */

@media (max-width: 768px) {
  .timesheets__landing {
    padding: 16px 14px !important;
  }

  .timesheets__landing-top-container {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin-bottom: 16px !important;
  }

  .timesheets__landing-chronometer-wrap,
  .timesheets__chronometer-wrap {
    justify-content: center !important;
    padding: 0 !important;
  }

  .timesheets__workspace-tabs {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    padding-bottom: 6px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .timesheets__workspace-tabs::-webkit-scrollbar {
    display: none !important;
  }

  .timesheets__workspace-tabs button {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    font-size: 0.88rem !important;
    padding: 10px 4px 12px !important;
  }

  /* Team Workspace Container & Review Heading for Mobile */
  .timesheets__landing,
  .timesheets__team-workspace,
  .timesheets__overview-panel,
  .timesheets__history-panel,
  .timesheets__flow-panel {
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .timesheets__team-heading {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 18px !important;
    min-width: 0 !important;
  }

  .timesheets__team-heading > div:first-child {
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .timesheets__team-heading > div:first-child span {
    font-size: 0.7rem !important;
    letter-spacing: 0.1em !important;
  }

  .timesheets__team-heading h2 {
    font-size: 1.25rem !important;
    margin: 4px 0 6px !important;
    line-height: 1.25 !important;
  }

  .timesheets__team-heading p {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /* Summary & Stats Responsive Grid (2 columns on mobile) */
  .timesheets__summary,
  .timesheets__stats,
  .timesheets__team-heading .timesheets__stats {
    flex: none !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .timesheets__team-heading .timesheets__stats article,
  .timesheets__team-heading .timesheets__stats button.timesheets__stat-card,
  .timesheets__stats article,
  .timesheets__summary article {
    min-height: 48px !important;
    height: auto !important;
    padding: 10px 14px !important;
    border-radius: 12px !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .timesheets__team-heading .timesheets__stats button.timesheets__stat-card span,
  .timesheets__stats article > span,
  .timesheets__summary article > span {
    font-size: 0.72rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.06em !important;
    text-align: left !important;
  }

  .timesheets__team-heading .timesheets__stats button.timesheets__stat-card strong,
  .timesheets__stats strong,
  .timesheets__summary strong {
    font-size: 1.35rem !important;
    line-height: 1 !important;
    text-align: right !important;
  }

  /* Sub-Navigation Tabs Bar (Required Actions, By Employee, All Submissions) */
  .timesheets__subtabs-bar {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 6px !important;
    background: var(--wp-color-surface) !important;
    padding: 6px !important;
    margin-bottom: 18px !important;
    border-radius: 16px !important;
    border: 1px solid var(--wp-color-border) !important;
    box-shadow: none !important;
    overflow-x: visible !important;
    flex-wrap: nowrap !important;
  }

  [data-theme="light"] .timesheets__subtabs-bar {
    background: var(--wp-color-surface) !important;
    border-color: var(--wp-color-border) !important;
    box-shadow: none !important;
  }

  .timesheets__subtabs-bar::-webkit-scrollbar {
    display: none !important;
  }

  .timesheets__subtab-btn {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 10px 4px !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    border-radius: 12px !important;
    min-width: 0 !important;
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    background: var(--wp-color-surface) !important;
    border: 1px solid var(--wp-color-border) !important;
    color: var(--wp-color-text) !important;
    transition: all 0.18s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }

  [data-theme="light"] .timesheets__subtab-btn {
    background: var(--wp-color-surface) !important;
    border-color: var(--wp-color-border) !important;
    color: var(--wp-color-text) !important;
  }

  .timesheets__subtab-btn.is-active {
    background: var(--wp-color-primary-soft) !important;
    border-color: var(--wp-color-border) !important;
    color: var(--wp-color-text) !important;
    box-shadow: none !important;
  }

  [data-theme="light"] .timesheets__subtab-btn.is-active {
    background: var(--wp-color-primary-soft) !important;
    border-color: var(--wp-color-border) !important;
    color: var(--wp-color-text) !important;
    box-shadow: none !important;
  }

  .timesheets__subtab-icon {
    font-size: 1.1rem !important;
    line-height: 1 !important;
  }

  .timesheets__subtab-text--full {
    display: none !important;
  }

  .timesheets__subtab-text--compact {
    display: inline !important;
    font-size: 0.75rem !important;
    letter-spacing: -0.01em !important;
  }

  .timesheets__subtab-badge {
    font-size: 0.68rem !important;
    padding: 1px 6px !important;
    border-radius: 999px !important;
  }

  /* Required Actions Banner */
  .timesheets__actions-banner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 14px 16px !important;
    margin-bottom: 16px !important;
    border-radius: 14px !important;
  }

  .timesheets__actions-banner > div {
    width: 100% !important;
  }

  .timesheets__actions-banner strong {
    font-size: 0.92rem !important;
    line-height: 1.35 !important;
    word-break: break-word !important;
  }

  .timesheets__actions-banner p {
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
  }

  /* Filters & Search Toolbar */
  .timesheets__filters {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    margin-bottom: 18px !important;
  }

  .timesheets__filters .timesheets__filter-search,
  .timesheets__filters .wp-field {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }

  .timesheets__clear-btn {
    width: 100% !important;
    align-self: stretch !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 42px !important;
  }

  /* Responsive Mobile Card View for Tables */
  .timesheets__team-table.wp-table-wrapper,
  .timesheets__actions-table.wp-table-wrapper,
  .timesheets__directory-table.wp-table-wrapper,
  .timesheets__submissions-table.wp-table-wrapper {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    margin-bottom: 16px !important;
    padding: 0 !important;
  }

  .timesheets__team-table .wp-table,
  .timesheets__actions-table .wp-table,
  .timesheets__directory-table .wp-table,
  .timesheets__submissions-table .wp-table {
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
  }

  .timesheets__team-table .wp-table thead,
  .timesheets__actions-table .wp-table thead,
  .timesheets__directory-table .wp-table thead,
  .timesheets__submissions-table .wp-table thead {
    display: none !important;
  }

  .timesheets__team-table .wp-table tbody,
  .timesheets__actions-table .wp-table tbody,
  .timesheets__directory-table .wp-table tbody,
  .timesheets__submissions-table .wp-table tbody {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
  }

  .timesheets__team-table .wp-table tbody tr,
  .timesheets__actions-table .wp-table tbody tr,
  .timesheets__directory-table .wp-table tbody tr,
  .timesheets__submissions-table .wp-table tbody tr {
    display: flex !important;
    flex-direction: column !important;
    background: var(--wp-color-surface) !important;
    border: 1px solid var(--wp-color-border) !important;
    border-radius: 16px !important;
    padding: 16px !important;
    box-shadow: none !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    backdrop-filter: none !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
  }

  [data-theme="light"] .timesheets__team-table .wp-table tbody tr,
  [data-theme="light"] .timesheets__actions-table .wp-table tbody tr,
  [data-theme="light"] .timesheets__directory-table .wp-table tbody tr,
  [data-theme="light"] .timesheets__submissions-table .wp-table tbody tr {
    background: var(--wp-color-surface) !important;
    border: 1px solid var(--wp-color-border) !important;
    box-shadow: none !important;
  }

  .timesheets__team-table .wp-table td,
  .timesheets__actions-table .wp-table td,
  .timesheets__directory-table .wp-table td,
  .timesheets__submissions-table .wp-table td {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 8px 0 !important;
    border: none !important;
    border-bottom: 1px solid var(--wp-color-border) !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    text-align: right !important;
    font-size: 0.88rem !important;
    color: var(--wp-color-text) !important;
  }

  [data-theme="light"] .timesheets__team-table .wp-table td,
  [data-theme="light"] .timesheets__actions-table .wp-table td,
  [data-theme="light"] .timesheets__directory-table .wp-table td,
  [data-theme="light"] .timesheets__submissions-table .wp-table td {
    border-bottom-color: var(--wp-color-border) !important;
    color: var(--wp-color-text) !important;
  }

  .timesheets__team-table .wp-table td::before,
  .timesheets__actions-table .wp-table td::before,
  .timesheets__directory-table .wp-table td::before,
  .timesheets__submissions-table .wp-table td::before {
    content: attr(data-label);
    font-size: 0.74rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--wp-color-text);
    margin-right: 12px;
    text-align: left;
    flex-shrink: 0;
  }

  [data-theme="light"] .timesheets__team-table .wp-table td::before,
  [data-theme="light"] .timesheets__actions-table .wp-table td::before,
  [data-theme="light"] .timesheets__directory-table .wp-table td::before,
  [data-theme="light"] .timesheets__submissions-table .wp-table td::before {
    color: var(--wp-color-text);
  }

  /* Cells that do NOT display label (Actions, empty state, full spans) */
  .timesheets__team-table .wp-table td.wp-table__cell--action::before,
  .timesheets__actions-table .wp-table td.wp-table__cell--action::before,
  .timesheets__directory-table .wp-table td.wp-table__cell--action::before,
  .timesheets__submissions-table .wp-table td.wp-table__cell--action::before,
  .timesheets__team-table .wp-table td.wp-table__empty::before,
  .timesheets__actions-table .wp-table td.wp-table__empty::before,
  .timesheets__directory-table .wp-table td.wp-table__empty::before,
  .timesheets__submissions-table .wp-table td.wp-table__empty::before {
    display: none !important;
  }

  .timesheets__team-table .wp-table td.wp-table__empty,
  .timesheets__actions-table .wp-table td.wp-table__empty,
  .timesheets__directory-table .wp-table td.wp-table__empty,
  .timesheets__submissions-table .wp-table td.wp-table__empty {
    display: block !important;
    text-align: center !important;
    padding: 32px 16px !important;
    border: none !important;
    color: var(--wp-color-text) !important;
  }

  [data-theme="light"] .timesheets__team-table .wp-table td.wp-table__empty,
  [data-theme="light"] .timesheets__actions-table .wp-table td.wp-table__empty,
  [data-theme="light"] .timesheets__directory-table .wp-table td.wp-table__empty,
  [data-theme="light"] .timesheets__submissions-table .wp-table td.wp-table__empty {
    color: var(--wp-color-text) !important;
  }

  /* Action Cell at the Bottom of Card */
  .timesheets__team-table .wp-table td.wp-table__cell--action,
  .timesheets__actions-table .wp-table td.wp-table__cell--action,
  .timesheets__directory-table .wp-table td.wp-table__cell--action,
  .timesheets__submissions-table .wp-table td.wp-table__cell--action {
    display: block !important;
    border-bottom: none !important;
    margin-top: 8px !important;
    padding-top: 14px !important;
    border-top: 1px solid var(--wp-color-border) !important;
    width: 100% !important;
  }

  [data-theme="light"] .timesheets__team-table .wp-table td.wp-table__cell--action,
  [data-theme="light"] .timesheets__actions-table .wp-table td.wp-table__cell--action,
  [data-theme="light"] .timesheets__directory-table .wp-table td.wp-table__cell--action,
  [data-theme="light"] .timesheets__submissions-table .wp-table td.wp-table__cell--action {
    border-top-color: var(--wp-color-border) !important;
  }

  /* Ergonomic Touch Action Buttons */
  .timesheets__entry-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    width: 100% !important;
  }

  /* When there are 3 buttons (View details, Approve, Reject), View details spans full width */
  .timesheets__entry-actions > .wp-button:first-child:nth-last-child(3),
  .timesheets__entry-actions > button:first-child:nth-last-child(3) {
    grid-column: 1 / -1 !important;
  }

  /* If only 1 button (e.g. View details in All Submissions), span full width */
  .timesheets__entry-actions > .wp-button:only-child,
  .timesheets__entry-actions > button:only-child {
    grid-column: 1 / -1 !important;
  }

  .timesheets__entry-actions .wp-button,
  .timesheets__entry-actions button {
    width: 100% !important;
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 0.86rem !important;
    font-weight: 600 !important;
    padding: 10px 14px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  /* Pagination Bar on Mobile */
  .timesheets__pagination-bar {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 16px 0 !important;
    text-align: center !important;
  }

  /* Modals on Mobile */
  .timesheets__details-modal.wp-modal__panel,
  .timesheets__doc-modal.wp-modal__panel {
    max-width: 96vw !important;
    width: 96vw !important;
    max-height: 94vh !important;
    border-radius: 16px !important;
  }
}

@media (max-width: 480px) {
  .timesheets__landing {
    padding: 12px 10px !important;
  }

  .timesheets__summary {
    grid-template-columns: 1fr !important;
  }

  .timesheets__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .timesheets__team-table .wp-table tbody tr,
  .timesheets__actions-table .wp-table tbody tr,
  .timesheets__directory-table .wp-table tbody tr,
  .timesheets__submissions-table .wp-table tbody tr {
    padding: 14px 12px !important;
    border-radius: 14px !important;
  }

  .timesheets__subtab-btn {
    padding: 7px 12px !important;
    font-size: 0.8rem !important;
  }
}

/* ==========================================================================
   Apple Pay Style 1-Tap Express Clearance & Quick Fill
   ========================================================================== */
.timesheets__apple-express-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  border-radius: 16px;
  padding: 18px 24px;
  margin-bottom: 20px;
  box-shadow:
    none;
  backdrop-filter: none;
  -webkit-backdrop-filter: blur(12px);
  transition: all 0.25s ease;
}

.timesheets__apple-express-bar:hover {
  border-color: var(--wp-color-border);
  box-shadow:
    none;
}

.timesheets__apple-express-left {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.timesheets__apple-express-tag {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--wp-color-text);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.timesheets__apple-express-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--wp-color-surface);
  box-shadow: none;
  animation: appleExpressDotPulse 1.8s infinite;
}

@keyframes appleExpressDotPulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.4;
    transform: scale(0.8);
  }
}

.timesheets__apple-express-title {
  color: var(--wp-color-text);
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

.timesheets__apple-express-subtitle {
  color: var(--wp-color-text-muted);
  font-size: 0.85rem;
  line-height: 1.4;
}

.timesheets__apple-express-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 22px;
  background: var(--wp-color-surface);
  border: none;
  border-radius: 12px;
  color: var(--wp-color-text);
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
  flex-shrink: 0;
}

.timesheets__apple-express-btn:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: none;
}

.timesheets__apple-express-btn:active:not(:disabled) {
  transform: scale(0.97);
}

.timesheets__apple-express-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow: none;
}

.timesheets__apple-bolt {
  font-size: 1rem;
}

.timesheets__apple-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid var(--wp-color-border);
  border-top-color: var(--wp-color-border);
  border-radius: 50%;
  animation: appleSpin 0.7s linear infinite;
}

@keyframes appleSpin {
  to {
    transform: rotate(360deg);
  }
}

/* 1-Tap Express Entry Card */
.timesheets__entry-card--express {
  border-color: var(--wp-color-border) !important;
  background: var(--wp-color-surface) !important;
  box-shadow: none !important;
  position: relative;
}

.timesheets__entry-card--express:hover {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

.timesheets__entry-card--express .timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border: 1px solid var(--wp-color-border) !important;
}

.timesheets__btn-express-fill {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.timesheets__btn-express-fill:hover:not(:disabled) {
  box-shadow: none !important;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .timesheets__apple-express-bar {
    flex-direction: column;
    align-items: stretch;
    padding: 16px;
    gap: 14px;
  }

  .timesheets__apple-express-btn {
    width: 100%;
  }
}

/* Light Theme Overrides for Apple Express Bar & Card */
[data-theme="light"] .timesheets__apple-express-bar {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__apple-express-tag {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__apple-express-dot {
  background: var(--wp-color-surface) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__apple-express-title {
  color: var(--wp-color-text) !important;
}

[data-theme="light"] .timesheets__apple-express-subtitle {
  color: var(--wp-color-text-muted) !important;
}

[data-theme="light"] .timesheets__apple-express-btn {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__apple-express-btn:hover:not(:disabled) {
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__apple-spinner {
  border: 2px solid var(--wp-color-border) !important;
  border-top-color: var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__entry-card--express {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="light"] .timesheets__entry-card--express .timesheets__entry-card-badge {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
  border-color: var(--wp-color-border) !important;
}

[data-theme="light"] .timesheets__btn-express-fill {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

/* Dark Theme Overrides for Range Picker & Tabs */
[data-theme="dark"] .timesheets__range-picker-popover {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .timesheets__range-picker-header strong {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__range-picker-header button {
  background: var(--wp-color-surface) !important;
  border: 1px solid var(--wp-color-border) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__range-picker-header button:hover {
  border-color: var(--wp-color-border) !important;
  box-shadow: none !important;
}

[data-theme="dark"] .timesheets__range-picker-weekdays {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__range-picker-cell {
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__range-picker-cell:hover:not(:disabled) {
  background: var(--wp-color-surface) !important;
}

[data-theme="dark"] .timesheets__range-picker-cell.is-in-range {
  background: var(--wp-color-surface) !important;
  color: var(--wp-color-text) !important;
}

[data-theme="dark"] .timesheets__range-picker-cell.is-selected {
  background: var(--wp-color-primary-soft) !important;
  color: var(--wp-color-text) !important;
  font-weight: 600 !important;
}

[data-theme="dark"] .timesheets__range-picker-footer {
  border-top-color: var(--wp-color-border) !important;
}

[data-theme="dark"] .timesheets__workspace-tabs button {
  color: var(--wp-color-text);
}

[data-theme="dark"] .timesheets__workspace-tabs button.active {
  border-bottom-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="dark"] .timesheets__view-switcher button {
  color: var(--wp-color-text);
}

[data-theme="dark"] .timesheets__view-switcher button.active {
  border-bottom-color: var(--wp-color-border);
  color: var(--wp-color-text);
}

/* One compact filter panel beside the review view tabs. */
.timesheets__filter-anchor { position: relative; display: flex; align-items: center; }
.timesheets__filter-popover { position: relative; }
.timesheets__filter-trigger { border: 1px solid var(--wp-color-border); background: var(--wp-color-surface); color: var(--wp-color-text); gap: 8px; }
.timesheets__filter-trigger[aria-expanded="true"] { background: var(--wp-color-surface); color: var(--wp-color-text); }
.timesheets__filter-dot { width: 7px; height: 7px; background: var(--wp-color-surface); border-radius: 50%; }
.timesheets__filter-panel { position: absolute; top: 100%; left: 0; width: min(560px, calc(100vw - 48px)); box-sizing: border-box; z-index: 30; padding: 14px; border: 1px solid var(--wp-color-border); border-radius: 12px; background: var(--wp-color-surface); box-shadow: none; color: var(--wp-color-text); }
.timesheets__filter-panel > header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px; }
.timesheets__filter-panel > header button { background: transparent; border: 0; color: var(--wp-color-text); padding: 6px; cursor: pointer; font: inherit; font-size: .8rem; }
.timesheets__filter-panel .timesheets__filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
.timesheets__filter-panel .timesheets__filter-search { grid-column: 1 / -1; }
.timesheets__filter-panel .wp-field { min-width: 0; margin: 0; }
.timesheets__filter-panel input, .timesheets__filter-panel select { width: 100%; min-width: 0; box-sizing: border-box; }
.timesheets__filter-panel .timesheets__clear-btn { grid-column: 1 / -1; justify-self: end; }
.timesheets__filter-panel .timesheets__date-range-popover { max-width: calc(100vw - 60px); }
[data-theme="dark"] .timesheets__filter-panel { background: var(--wp-color-surface); color: var(--wp-color-text); border-color: var(--wp-color-border); }
[data-theme="dark"] .timesheets__filter-trigger { background: var(--wp-color-surface); color: var(--wp-color-text); border-color: var(--wp-color-border); }
@media (max-width: 1100px) { .timesheets__filter-panel { left: auto; right: 0; } }
@media (max-width: 600px) { .timesheets__filter-panel { position: fixed; top: 100px; left: 16px; right: 16px; width: auto; max-height: calc(100dvh - 130px); overflow-y: auto; } .timesheets__filter-panel .timesheets__filters { grid-template-columns: 1fr; } }
/* Compact the review page heading and the gaps between its workspaces. */
.timesheets--review-compact.myhr-feature { gap: 12px; }
.timesheets--review-compact .myhr-feature__body { gap: 10px; }
:root .timesheets--review-compact .myhr-feature__heading,
:root[data-ui-variant] .timesheets--review-compact .myhr-feature__heading { padding: 12px 18px; gap: 6px; border-radius: 16px; }
.timesheets--review-compact .myhr-feature__heading .wp-page-header { margin: 0; padding: 0; gap: 6px; }
.timesheets--review-compact .myhr-feature__heading .wp-page-header__title { font-size: 1.6rem; margin: 0; }
.timesheets--review-compact .timesheets__workspace-tabs { margin-bottom: 0; gap: 20px; }
.timesheets--review-compact .timesheets__workspace-tabs button { padding: 8px 2px; }
.timesheets--review-compact .timesheets__team-workspace { padding: 16px 20px; }
.timesheets--review-compact .timesheets__team-heading { gap: 16px; margin-bottom: 14px; }
.timesheets--review-compact .timesheets__team-heading h2 { margin: 6px 0; }
.timesheets--review-compact .timesheets__team-heading p { margin-bottom: 0; }
.timesheets--review-compact .timesheets__subtabs-bar { margin-bottom: 10px !important; padding-bottom: 6px !important; }
.timesheets__filter-icon { flex: 0 0 auto; vertical-align: middle; }
.timesheets__filter-trigger { display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 768px) { .timesheets--review-compact .timesheets__team-workspace { padding: 12px; } }
/* Dense review layout: reserve screen space for employee rows. */
.myhr-shell:has(.timesheets--review-compact) .myhr-shell__main { padding-top: 12px; }
.timesheets--review-compact.myhr-feature { gap: 10px; }
.timesheets--review-compact .myhr-feature__body { gap: 10px; }
:root[data-ui-variant] .timesheets--review-compact .myhr-feature__heading { padding: 10px 16px; gap: 4px; }
.timesheets--review-compact .myhr-feature__heading .myhr-page-back { padding: 4px 8px; min-height: 28px; margin: 0; }
.timesheets--review-compact .myhr-feature__heading .wp-page-header { gap: 4px; }
.timesheets--review-compact .myhr-feature__heading .wp-page-header__title { font-size: 1.45rem; line-height: 1.2; }
.timesheets--review-compact .myhr-feature__heading p { margin: 0; font-size: .85rem; line-height: 1.4; }
.timesheets--review-compact .timesheets__workspace-tabs { gap: 16px; }
.timesheets--review-compact .timesheets__workspace-tabs button { padding: 6px 2px; font-size: .85rem; }
.timesheets--review-compact .timesheets__team-workspace { padding: 12px 16px; }
.timesheets--review-compact .timesheets__team-heading { margin-bottom: 10px; gap: 12px; }
.timesheets--review-compact .timesheets__team-heading > div:first-child { flex: 1; min-width: 0; }
.timesheets--review-compact .timesheets__team-heading h2 { margin: 4px 0; font-size: 1.3rem; line-height: 1.25; }
.timesheets--review-compact .timesheets__team-heading p { max-width: none; margin: 0; font-size: .85rem; line-height: 1.4; }
.timesheets--review-compact .timesheets__team-heading .timesheets__stats { gap: 10px; min-width: 0; margin: 0; }
.timesheets--review-compact .timesheets__team-heading .timesheets__stats button.timesheets__stat-card { padding: 10px 12px; min-height: 64px; }
.timesheets--review-compact .timesheets__team-heading .timesheets__stats button.timesheets__stat-card strong { font-size: 1.4rem; margin-top: 4px; }
.timesheets--review-compact .timesheets__subtabs-bar { margin-bottom: 8px !important; gap: 8px !important; }
.timesheets--review-compact .timesheets__subtab-btn { padding: 6px 12px !important; font-size: .82rem !important; }
@media (max-width: 768px) { .timesheets--review-compact .timesheets__team-workspace { padding: 10px 12px; } }
/* Join the review page sections without empty spacer bands. */
.myhr-shell:has(.timesheets--review-compact) .myhr-shell__main { padding-top: 0 !important; }
.timesheets--review-compact.myhr-feature { gap: 8px !important; }
.timesheets--review-compact .myhr-feature__body { gap: 0 !important; }
.timesheets--review-compact .timesheets__workspace-tabs { margin: 0 !important; padding-bottom: 0; }
.timesheets--review-compact .timesheets__team-workspace { margin-top: 0 !important; border-top-left-radius: 0; border-top-right-radius: 0; border-top: 0; }
/* Professional review workspace: compact status cards and submission list. */
.timesheets__team-workspace .timesheets__team-heading--refined { display:block; margin-bottom:12px; }
.timesheets__team-heading--refined .timesheets__stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); width:100%; gap:10px; }
.timesheets__team-workspace .timesheets__team-heading--refined .timesheets__stats button.timesheets__stat-card { display:flex; align-items:center; gap:12px; text-align:left; padding:14px; min-height:96px; background:var(--wp-color-surface)!important; border:1px solid var(--wp-color-border); border-radius:10px; color:var(--wp-color-text)!important; box-shadow:none!important; transform:none; }
.timesheets__stat-card .timesheets__stat-content { display:grid; gap:4px; min-width:0; }
.timesheets__team-heading--refined .timesheets__stat-card .timesheets__stat-content > span,.timesheets__stat-content small { color:var(--wp-color-text-muted)!important; font-size:.78rem; text-transform:none; letter-spacing:normal; }
.timesheets__team-heading--refined .timesheets__stat-card .timesheets__stat-content strong { font-size:1.6rem; margin:0; color:var(--wp-color-text)!important; }
.timesheets__stat-card .workspace-dashboard__nav-icon { flex:0 0 40px; width:40px; height:40px; border-radius:50%; background:color-mix(in srgb,var(--wp-color-primary) 12%,transparent); color:var(--wp-color-primary); }
.timesheets__stat-card--submitted .workspace-dashboard__nav-icon { color:var(--wp-color-text); background:var(--wp-color-surface); }
.timesheets__stat-card--rejected .workspace-dashboard__nav-icon { color:var(--wp-color-error); background:var(--wp-color-surface); }
.timesheets__team-workspace .timesheets__team-heading--refined .timesheets__stats button.timesheets__stat-card.is-active { border-color:var(--wp-color-primary); }
.timesheets__status-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 12px; }
.timesheets__status-shortcuts button,.timesheets__applied-filters > button { border:1px solid var(--wp-color-border); border-radius:8px; padding:8px 12px; background:var(--wp-color-surface); color:var(--wp-color-text); font:inherit; font-size:.8rem; cursor:pointer; }
.timesheets__status-shortcuts button[aria-pressed="true"] { background:var(--wp-color-surface); color:white; border-color:var(--wp-color-border); }
.timesheets__submission-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.timesheets__submission-toolbar .wp-search-input { flex:1 1 260px; min-width:0; margin:0; }
.timesheets__submission-toolbar .wp-button { flex-shrink:0; }
.timesheets__applied-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:10px; }
.timesheets__submission-person { display:grid; gap:4px; min-width:0; }
.timesheets__submission-person strong { color:var(--wp-color-text); font-weight:600; }
.timesheets__submission-person small { color:var(--wp-color-text-muted); font-size:.72rem; }
.timesheets__team-workspace .timesheets__submissions-table table { table-layout:fixed; width:100%; min-width:0; }
.timesheets__team-workspace .timesheets__submissions-table th,.timesheets__team-workspace .timesheets__submissions-table td { width:auto!important; white-space:normal; overflow-wrap:anywhere; padding:10px 8px; }
.timesheets__team-workspace .timesheets__submissions-table th:nth-child(2) { width:22%!important; }
.timesheets__team-workspace .timesheets__submissions-table th:nth-child(5) { width:9%!important; }
.timesheets__team-workspace .timesheets__submissions-table .wp-button { padding:7px 9px; font-size:.78rem; white-space:normal; }
.wp-modal__backdrop:has(.timesheets__details-modal) { justify-content:flex-end; padding:12px; background:var(--wp-color-surface); backdrop-filter:none; }
.timesheets__details-modal.wp-modal__panel { width:min(480px,100%); max-width:480px; height:calc(100dvh - 24px); max-height:calc(100dvh - 24px); background:var(--wp-color-surface)!important; border:1px solid var(--wp-color-border); border-radius:12px; box-shadow:none; }
.timesheets__details-modal .timesheets__record-details > dl { display:grid; gap:12px; padding:14px; border:1px solid var(--wp-color-border); border-radius:10px; background:var(--wp-color-surface); }
.timesheets__details-modal .timesheets__record-details > dl > div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:10px; }
.timesheets__details-modal .timesheets__record-details dt { color:var(--wp-color-text-muted)!important; font-size:.8rem; text-transform:none; letter-spacing:normal; }
.timesheets__details-modal .timesheets__record-details dd { color:var(--wp-color-text)!important; font-size:.85rem; margin:0; overflow-wrap:anywhere; }
.timesheets__details-modal .wp-modal__footer { position:sticky; bottom:0; background:var(--wp-color-surface); border-top:1px solid var(--wp-color-border); }
.timesheets__status-shortcuts button:focus-visible,.timesheets__applied-filters button:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:3px; }
@media(max-width:1100px) { .timesheets__team-heading--refined .timesheets__stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) { .timesheets__team-workspace .timesheets__submissions-table table { min-width:650px; } .timesheets__submission-toolbar .wp-search-input { flex-basis:100%; } }
@media(max-width:420px) { .timesheets__team-heading--refined .timesheets__stats { grid-template-columns:1fr; } .timesheets__details-modal .timesheets__record-details > dl > div { grid-template-columns:1fr; } }

.timesheets__team-heading--refined .timesheets__queue-title { font-size:.95rem!important; color:var(--wp-color-text-muted)!important; margin:0 0 10px!important; }

.timesheets__team-heading--refined .timesheets__queue-description { margin:0 0 12px; font-size:.8rem; color:var(--wp-color-text-muted); }

/* Admin review refinement: one status control and a compact table toolbar. */
:root[data-ui-variant] .timesheets--admin-review .myhr-feature__heading {
  padding:8px 14px;
  gap:4px;
  border-radius:10px;
}
.timesheets__breadcrumb { display:flex; align-items:center; gap:8px; font-size:.75rem; color:var(--wp-color-text-muted); }
.timesheets__breadcrumb a { color:var(--wp-color-primary); text-decoration:none; }
.timesheets--admin-review .myhr-feature__heading .wp-page-header__title { font-size:1.35rem; }
.timesheets--admin-review .timesheets__team-workspace { padding:12px 14px; overflow:visible; min-width:0; }
.timesheets--admin-review .timesheets__team-heading--refined { margin-bottom:10px; }
.timesheets--admin-review .timesheets__team-heading--refined .timesheets__stats { gap:8px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.timesheets--admin-review .timesheets__team-heading--refined .timesheets__stats button.timesheets__stat-card { min-height:76px; padding:10px 12px; gap:10px; }
.timesheets--admin-review .timesheets__team-heading--refined .timesheets__stat-card .timesheets__stat-content strong { font-size:1.35rem; line-height:1.1; }
.timesheets--admin-review .timesheets__stat-content small { display:none; }
.timesheets--admin-review .timesheets__stat-card .workspace-dashboard__nav-icon { flex-basis:32px; width:32px; height:32px; }
.timesheets--admin-review .timesheets__stat-card .workspace-dashboard__nav-icon svg { width:18px; height:18px; }
.timesheets__review-navigation { display:flex; align-items:center; justify-content:space-between; gap:8px 14px; flex-wrap:wrap; margin-bottom:10px; }
.timesheets__review-navigation .timesheets__status-shortcuts { margin:0; gap:6px; }
.timesheets__view-options { display:flex; align-items:center; gap:8px; font-size:.78rem; color:var(--wp-color-text-muted); flex-wrap:wrap; }
.timesheets__view-options select { border:1px solid var(--wp-color-border); border-radius:7px; padding:7px 9px; background:var(--wp-color-surface); color:var(--wp-color-text); font:inherit; max-width:100%; }
.timesheets__view-options a { color:var(--wp-color-primary); text-decoration:none; padding:6px; }
.timesheets--admin-review .timesheets__submission-toolbar { gap:8px; margin-bottom:8px; }
.timesheets--admin-review .timesheets__submission-toolbar > .wp-field { display:flex; align-items:center; gap:6px; margin:0; flex:0 1 230px; min-width:0; }
.timesheets--admin-review .timesheets__submission-toolbar .wp-form-label { margin:0; font-size:.75rem; white-space:nowrap; }
.timesheets--admin-review .timesheets__submission-toolbar .wp-field__control { min-height:36px; padding:7px 9px; font-size:.8rem; }
.timesheets--admin-review .timesheets__submission-toolbar .wp-button { min-height:36px; padding:7px 10px; font-size:.8rem; }
.timesheets__toolbar-filter-anchor { flex-shrink:0; }
.timesheets--admin-review .timesheets__toolbar-filter-anchor .timesheets__filter-trigger { padding:7px 10px!important; min-height:36px; border-radius:7px; }
.timesheets--admin-review .timesheets__toolbar-filter-anchor .timesheets__filter-panel { left:auto; right:0; top:100%; }
.timesheets--admin-review .timesheets__all-submissions,.timesheets--admin-review .timesheets__submissions-table { max-height:none!important; height:auto!important; overflow:visible!important; min-width:0; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table table { table-layout:fixed!important; width:100%!important; min-width:0!important; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th,:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table td { padding:10px 8px!important; font-size:.8rem; vertical-align:middle; white-space:normal!important; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th:nth-child(1) { width:11%!important; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th:nth-child(2) { width:23%!important; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th:nth-child(3) { width:19%!important; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th:nth-child(4) { width:9%!important; text-align:right; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th:nth-child(5) { width:11%!important; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th:nth-child(6) { width:16%!important; }
:root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table th:nth-child(7) { width:11%!important; }
.timesheets--admin-review .timesheets__submissions-table .wp-table__cell--hours { text-align:right; font-variant-numeric:tabular-nums; }
.timesheets--admin-review .timesheets__submissions-table .wp-table__cell--employeeId { font-variant-numeric:tabular-nums; }
.timesheets--admin-review .timesheets__submissions-table .wp-status-tag { font-size:.72rem; padding:4px 7px; }
.timesheets__visually-hidden { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.timesheets__breadcrumb a:focus-visible,.timesheets__view-options :focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:3px; }
@media(max-width:1000px) { .timesheets--admin-review .timesheets__team-heading--refined .timesheets__stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:700px) {
  .timesheets--admin-review .timesheets__submission-toolbar > .wp-field { flex:1 1 200px; }
  .timesheets--admin-review .timesheets__submissions-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .timesheets--admin-review .timesheets__submissions-table table,.timesheets--admin-review .timesheets__submissions-table tbody { display:block; }
  .timesheets--admin-review .timesheets__submissions-table tr { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); padding:8px; border-bottom:1px solid var(--wp-color-border); }
  :root[data-ui-variant] .timesheets--admin-review .timesheets__submissions-table td { display:block!important; border:0!important; width:auto!important; min-width:0; text-align:left!important; }
  .timesheets--admin-review .timesheets__submissions-table td::before { content:attr(data-label); display:block; color:var(--wp-color-text-muted); font-size:.7rem; margin-bottom:4px; }
  .timesheets--admin-review .timesheets__submissions-table td[colspan] { grid-column:1 / -1; }
  .timesheets--admin-review .timesheets__submissions-table td[colspan]::before { content:none; }
  .timesheets--admin-review .timesheets__toolbar-filter-anchor .timesheets__filter-panel { position:fixed; inset:90px 12px auto; width:auto; max-height:calc(100dvh - 110px); overflow-y:auto; }
}

/* Keep detail scrolling in its body, with actions always visible. */
.timesheets__details-modal.wp-modal__panel { overflow:hidden; }
.timesheets__details-modal .wp-modal__header,.timesheets__details-modal .wp-modal__footer { flex-shrink:0; }
.timesheets__details-modal .wp-modal__body { flex:1; min-height:0; max-height:none; overflow-y:auto; }
.timesheets__details-modal .wp-modal__footer { position:static; }

/* Final density adjustments for the admin review workspace. */
.timesheets__heading-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.timesheets--admin-review .timesheets__heading-actions .wp-field { margin:0; min-width:0; width:190px; }
.timesheets--admin-review .timesheets__heading-actions .wp-form-label { margin:0 0 3px; font-size:.72rem; }
.timesheets--admin-review .timesheets__heading-actions .wp-field__control { min-height:34px; padding:6px 9px; font-size:.8rem; }
.timesheets__reminder-shortcut { display:inline-flex; align-items:center; gap:6px; color:var(--wp-color-primary); text-decoration:none; font-size:.8rem; padding:7px 9px; border:1px solid var(--wp-color-border); border-radius:7px; }
.timesheets--admin-review .timesheets__team-heading--refined .timesheets__stats button.timesheets__stat-card { min-height:62px; padding:8px 10px; gap:8px; }
.timesheets--admin-review .timesheets__stat-content { gap:3px; }
.timesheets--admin-review .timesheets__submission-toolbar > .wp-field { flex:0 1 170px; }
.timesheets--admin-review .timesheets__submissions-table .wp-table__cell--action .wp-button { padding:5px 10px; min-height:30px; }
.timesheets__reminder-shortcut:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:3px; }
@media(max-width:700px) {
  .timesheets--admin-review .myhr-feature__heading .wp-page-header { flex-wrap:wrap; }
  .timesheets--admin-review .myhr-feature__heading .wp-page-header__action { width:100%; margin:4px 0 0; }
  .timesheets--admin-review .timesheets__submission-toolbar > .wp-field { flex:1 1 160px; }
}

/* Phones: keep the date-range calendar in the page flow so the page grows
   with it and Clear/Apply can be scrolled clear of the fixed bottom nav. */
@media (max-width: 768px) {
  .timesheets__date-picker-popover {
    margin-top: 8px;
    min-width: 0;
    position: static;
    scroll-margin-bottom: calc(96px + env(safe-area-inset-bottom));
    width: 100%;
  }

  .timesheets__date-picker-footer button {
    min-height: 44px;
    min-width: 88px;
  }
}
/* ==========================================================================
   WAYPOINT TIMESHEET CHRONOMETER
   80% Professional Horology / 20% Creative & Tactile Overtime Clock Motif
   ========================================================================== */

.wp-chronometer {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  transform-style: preserve-3d;
  user-select: none;
}

.wp-chronometer--medium {
  width: 230px;
}

.wp-chronometer--small {
  width: 160px;
}

.wp-chronometer--large {
  width: 290px;
}

/* Crown / Winding button at top */
.wp-chronometer__crown {
  position: absolute;
  top: -10px;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5;
  transition: transform 0.15s ease;
}

.wp-chronometer__crown:hover {
  transform: translateY(-2px) scale(1.08);
}

.wp-chronometer__crown:active {
  transform: translateY(1px) scale(0.96);
}

.wp-chronometer__crown-stem {
  width: 6px;
  height: 6px;
  background: #64748b;
  border-radius: 1px;
}

.wp-chronometer__crown-head {
  width: 24px;
  height: 6px;
  background: linear-gradient(180deg, #94a3b8 0%, #475569 100%);
  border-radius: 3px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
  border: 1px solid #cbd5e1;
}

[data-theme='dark'] .wp-chronometer__crown-head {
  background: linear-gradient(180deg, #64748b 0%, #1e293b 100%);
  border-color: #475569;
}

/* Chronometer Case & Lens */
.wp-chronometer__case {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
  background: var(--bg-surface, #ffffff);
}

[data-theme='dark'] .wp-chronometer__case {
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5), 0 0 20px rgba(5, 150, 105, 0.15);
  background: #0f172a;
}

.wp-chronometer__dial {
  width: 100%;
  height: 100%;
  display: block;
}

/* Lens glare */
.wp-chronometer__lens {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  pointer-events: none;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.35) 0%,
    rgba(255, 255, 255, 0.05) 45%,
    transparent 55%
  );
  border: 1px solid rgba(255, 255, 255, 0.2);
}

[data-theme='dark'] .wp-chronometer__lens {
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.18) 0%,
    rgba(255, 255, 255, 0.02) 40%,
    transparent 60%
  );
  border-color: rgba(255, 255, 255, 0.08);
}

/* Dial Elements */
.wp-dial__bezel {
  fill: var(--bg-surface, #ffffff);
  stroke: var(--border-medium, #cbd5e1);
  stroke-width: 2.5;
}

[data-theme='dark'] .wp-dial__bezel {
  fill: #0b1120;
  stroke: #334155;
}

.wp-dial__inner-bezel {
  fill: none;
  stroke: var(--border-subtle, #e2e8f0);
  stroke-width: 1;
}

[data-theme='dark'] .wp-dial__inner-bezel {
  stroke: #1e293b;
}

.wp-dial__track {
  stroke: var(--border-subtle, #e2e8f0);
}

[data-theme='dark'] .wp-dial__track {
  stroke: #1e293b;
}

.wp-dial__track--overtime {
  stroke: rgba(245, 158, 11, 0.2);
}

[data-theme='dark'] .wp-dial__track--overtime {
  stroke: rgba(245, 158, 11, 0.15);
}

/* Progress Arc (Regular Standard Hours - Emerald) */
.wp-dial__progress--regular {
  stroke: #059669;
  transition: stroke-dashoffset 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  filter: drop-shadow(0 0 3px rgba(5, 150, 105, 0.4));
}

[data-theme='dark'] .wp-dial__progress--regular {
  stroke: #10b981;
  filter: drop-shadow(0 0 5px rgba(16, 185, 129, 0.6));
}

/* Progress Arc (Overtime Hours - Vibrant Amber / Gold) */
.wp-dial__progress--overtime {
  stroke: #f59e0b;
  transition: stroke-dashoffset 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  filter: drop-shadow(0 0 4px rgba(245, 158, 11, 0.6));
}

[data-theme='dark'] .wp-dial__progress--overtime {
  stroke: #fbbf24;
  filter: drop-shadow(0 0 6px rgba(251, 191, 36, 0.8));
}

.wp-dial__tick {
  stroke: var(--text-muted, #94a3b8);
  stroke-width: 1.5;
  stroke-linecap: round;
}

.wp-dial__tick--major {
  stroke: var(--text-primary, #0f172a);
  stroke-width: 2.5;
}

[data-theme='dark'] .wp-dial__tick--major {
  stroke: #f1f5f9;
}

/* Screen / Readout */
.wp-dial__screen-bg {
  fill: var(--bg-secondary, #f8fafc);
  stroke: var(--border-subtle, #cbd5e1);
  stroke-width: 1;
}

[data-theme='dark'] .wp-dial__screen-bg {
  fill: #1e293b;
  stroke: #334155;
}

.wp-dial__screen-label {
  font-size: 6px;
  font-weight: 700;
  letter-spacing: 0.08em;
  fill: var(--text-muted, #64748b);
  font-family: inherit;
}

[data-theme='dark'] .wp-dial__screen-label {
  fill: #94a3b8;
}

.wp-dial__screen-label--ot {
  font-size: 5px;
  letter-spacing: 0.04em;
  fill: #d97706;
  font-weight: 800;
}

[data-theme='dark'] .wp-dial__screen-label--ot {
  fill: #fbbf24;
}

.wp-dial__screen-value {
  font-size: 9px;
  font-weight: 700;
  fill: #059669;
  font-family: 'SF Mono', 'Roboto Mono', monospace;
}

[data-theme='dark'] .wp-dial__screen-value {
  fill: #34d399;
}

.wp-dial__screen-value--ot {
  fill: #059669;
}

.wp-dial__brand {
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 0.16em;
  fill: var(--text-primary, #0f172a);
}

[data-theme='dark'] .wp-dial__brand {
  fill: #f8fafc;
}

.wp-dial__subbrand {
  font-size: 5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  fill: var(--text-secondary, #64748b);
}

[data-theme='dark'] .wp-dial__subbrand {
  fill: #94a3b8;
}

/* Hands */
.wp-dial__hand--hour {
  stroke: var(--text-primary, #0f172a);
  stroke-width: 3.5;
  stroke-linecap: round;
}

[data-theme='dark'] .wp-dial__hand--hour {
  stroke: #f8fafc;
}

.wp-dial__hand--minute {
  stroke: var(--text-secondary, #475569);
  stroke-width: 2.2;
  stroke-linecap: round;
}

[data-theme='dark'] .wp-dial__hand--minute {
  stroke: #cbd5e1;
}

.wp-dial__hand--second {
  stroke: #dc2626;
  stroke-width: 1.2;
  stroke-linecap: round;
}

.wp-dial__second-tip {
  fill: #dc2626;
}

.wp-dial__center-cap {
  fill: var(--text-primary, #0f172a);
}

[data-theme='dark'] .wp-dial__center-cap {
  fill: #f8fafc;
}

.wp-dial__center-jewel {
  fill: #dc2626;
}

/* Footer / Pills */
.wp-chronometer__footer {
  margin-top: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.wp-chronometer__pills-row {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}

.wp-chronometer__stat-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 9px;
  background: var(--bg-secondary, #f1f5f9);
  border: 1px solid var(--border-subtle, #cbd5e1);
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-primary, #0f172a);
}

[data-theme='dark'] .wp-chronometer__stat-pill {
  background: #1e293b;
  border-color: #334155;
  color: #f8fafc;
}

.wp-chronometer__stat-pill--ot {
  background: #fef3c7;
  border-color: #fde68a;
  color: #92400e;
}

[data-theme='dark'] .wp-chronometer__stat-pill--ot {
  background: rgba(245, 158, 11, 0.2);
  border-color: rgba(245, 158, 11, 0.4);
  color: #fbbf24;
}

.wp-chronometer__dot--reg {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #059669;
  box-shadow: 0 0 6px #059669;
}

.wp-chronometer__dot--ot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f59e0b;
  box-shadow: 0 0 6px #f59e0b;
}

.wp-chronometer__period {
  font-size: 0.6875rem;
  color: var(--text-secondary, #64748b);
  text-align: center;
}

/* Winding Animation */
.wp-chronometer.is-winding .wp-dial__hand--second {
  animation: wp-chrono-spin 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes wp-chrono-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(720deg); }
}

/* ==========================================================================
   v2: THE TANK STUDIO - TACTILE PUNCH CLOCK
   ========================================================================== */

.wp-tank-punch {
  width: 100%;
  max-width: 320px;
  user-select: none;
  font-family: inherit;
}

.wp-tank-punch--small {
  max-width: 250px;
}

.wp-tank-punch__card {
  background: var(--bg-surface, #ffffff);
  border: 2px solid var(--border-medium, #cbd5e1);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease;
}

[data-theme='dark'] .wp-tank-punch__card {
  background: #111827;
  border-color: #374151;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.45);
}

.wp-tank-punch:hover .wp-tank-punch__card {
  transform: translateY(-2px);
  border-color: #059669;
}

.wp-tank-punch.is-punched .wp-tank-punch__card {
  animation: wp-punch-impact 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes wp-punch-impact {
  0% { transform: scale(1); }
  35% { transform: scale(0.96) translateY(3px); }
  70% { transform: scale(1.03) translateY(-2px); }
  100% { transform: scale(1); }
}

.wp-tank-punch__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px dashed var(--border-subtle, #e2e8f0);
  padding-bottom: 8px;
}

[data-theme='dark'] .wp-tank-punch__header {
  border-bottom-color: #374151;
}

.wp-tank-punch__stamp-title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: var(--text-primary, #0f172a);
}

[data-theme='dark'] .wp-tank-punch__stamp-title {
  color: #f8fafc;
}

.wp-tank-punch__period {
  font-size: 0.6875rem;
  color: var(--text-muted, #64748b);
  background: var(--bg-secondary, #f1f5f9);
  padding: 2px 6px;
  border-radius: 4px;
}

[data-theme='dark'] .wp-tank-punch__period {
  background: #1f2937;
  color: #94a3b8;
}

.wp-tank-punch__readout {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.wp-tank-punch__hours-block {
  display: flex;
  align-items: baseline;
  gap: 4px;
}

.wp-tank-punch__number {
  font-size: 2rem;
  font-weight: 900;
  color: var(--text-primary, #0f172a);
  line-height: 1;
  font-family: 'SF Mono', monospace;
}

[data-theme='dark'] .wp-tank-punch__number {
  color: #f8fafc;
}

.wp-tank-punch__unit {
  font-size: 0.75rem;
  font-weight: 700;
  color: #059669;
}

.wp-tank-punch__status-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}

.wp-tank-punch__badge-reg {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #059669;
  background: rgba(16, 185, 129, 0.12);
  padding: 2px 6px;
  border-radius: 4px;
}

.wp-tank-punch__badge-ot {
  font-size: 0.6875rem;
  font-weight: 800;
  color: #d97706;
  background: #fef3c7;
  border: 1px solid #fde68a;
  padding: 2px 6px;
  border-radius: 4px;
  animation: wp-ot-pulse 2s infinite ease-in-out;
}

[data-theme='dark'] .wp-tank-punch__badge-ot {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
  border-color: rgba(245, 158, 11, 0.4);
}

@keyframes wp-ot-pulse {
  0%, 100% { opacity: 0.9; }
  50% { opacity: 1; transform: scale(1.05); }
}

.wp-tank-punch__meter {
  display: flex;
  gap: 4px;
  height: 8px;
}

.wp-tank-punch__meter-seg {
  flex: 1;
  border-radius: 2px;
  background: var(--bg-tertiary, #e2e8f0);
  transition: background 0.3s ease;
}

[data-theme='dark'] .wp-tank-punch__meter-seg {
  background: #374151;
}

.wp-tank-punch__meter-seg.is-filled {
  background: #059669;
  box-shadow: 0 0 6px rgba(5, 150, 105, 0.4);
}

.wp-tank-punch__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 4px;
}

.wp-tank-punch__lever-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 8px 12px;
  background: #059669;
  color: #ffffff;
  border: none;
  border-radius: 8px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  cursor: pointer;
  box-shadow: 0 3px 8px rgba(5, 150, 105, 0.3);
  transition: all 0.15s ease;
}

.wp-tank-punch__lever-btn:hover {
  background: #047857;
  transform: translateY(-1px);
}

.wp-tank-punch__lever-btn:active {
  transform: translateY(1px);
}

.wp-tank-punch__toggle-btn {
  background: transparent;
  border: 1px solid var(--border-subtle, #cbd5e1);
  border-radius: 8px;
  padding: 7px 10px;
  font-size: 0.6875rem;
  color: var(--text-secondary, #64748b);
  cursor: pointer;
  transition: all 0.15s ease;
}

[data-theme='dark'] .wp-tank-punch__toggle-btn {
  border-color: #374151;
  color: #94a3b8;
}

.wp-tank-punch__toggle-btn:hover {
  color: var(--text-primary, #0f172a);
  background: var(--bg-secondary, #f1f5f9);
}

[data-theme='dark'] .wp-tank-punch__toggle-btn:hover {
  color: #f8fafc;
  background: #1f2937;
}

.wp-tank-punch__drawer {
  background: var(--bg-secondary, #f8fafc);
  border-radius: 8px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.6875rem;
  border: 1px solid var(--border-subtle, #e2e8f0);
}

[data-theme='dark'] .wp-tank-punch__drawer {
  background: #1e293b;
  border-color: #334155;
}

.wp-tank-punch__drawer-row {
  display: flex;
  justify-content: space-between;
  color: var(--text-secondary, #64748b);
}

[data-theme='dark'] .wp-tank-punch__drawer-row {
  color: #94a3b8;
}

.wp-tank-punch__drawer-row--ot {
  color: #d97706;
  font-weight: 700;
}

[data-theme='dark'] .wp-tank-punch__drawer-row--ot {
  color: #fbbf24;
}

/* ==========================================================================
   v3: EXECUTIVE SLEEK - MINIMALIST HIGH-SPEED HUD
   ========================================================================== */

.wp-exec-hud {
  width: 100%;
  max-width: 310px;
  user-select: none;
  font-family: inherit;
}

.wp-exec-hud--small {
  max-width: 240px;
}

.wp-exec-hud__card {
  background: var(--bg-surface, #ffffff);
  border: 1px solid var(--border-medium, #cbd5e1);
  border-radius: 12px;
  padding: 14px 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

[data-theme='dark'] .wp-exec-hud__card {
  background: #111827;
  border-color: #374151;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
}

.wp-exec-hud__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wp-exec-hud__title-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

.wp-exec-hud__live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #059669;
}

.wp-exec-hud__title {
  font-size: 0.75rem;
  color: var(--text-primary, #0f172a);
}

[data-theme='dark'] .wp-exec-hud__title {
  color: #f8fafc;
}

.wp-exec-hud__period {
  font-size: 0.6875rem;
  color: var(--text-muted, #94a3b8);
}

.wp-exec-hud__values {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.wp-exec-hud__num-group {
  display: flex;
  align-items: baseline;
  gap: 3px;
}

.wp-exec-hud__big-num {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--text-primary, #0f172a);
  line-height: 1;
}

[data-theme='dark'] .wp-exec-hud__big-num {
  color: #f8fafc;
}

.wp-exec-hud__unit {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #059669;
}

.wp-exec-hud__pills {
  display: flex;
  gap: 4px;
}

.wp-exec-hud__pill {
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 4px;
}

.wp-exec-hud__pill--reg {
  background: rgba(16, 185, 129, 0.12);
  color: #059669;
}

.wp-exec-hud__pill--ot {
  background: #fef3c7;
  color: #92400e;
}

[data-theme='dark'] .wp-exec-hud__pill--ot {
  background: rgba(245, 158, 11, 0.2);
  color: #fbbf24;
}

.wp-exec-hud__bar-track {
  width: 100%;
  height: 6px;
  border-radius: 9999px;
  background: var(--bg-secondary, #f1f5f9);
  overflow: hidden;
  display: flex;
}

[data-theme='dark'] .wp-exec-hud__bar-track {
  background: #1f2937;
}

.wp-exec-hud__bar-fill--reg {
  height: 100%;
  background: #059669;
  border-radius: 9999px;
  transition: width 0.4s ease;
}

.wp-exec-hud__bar-fill--ot {
  height: 100%;
  background: #f59e0b;
  border-radius: 9999px;
  transition: width 0.4s ease;
}

.wp-exec-hud__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.wp-exec-hud__target-text {
  font-size: 0.6875rem;
  color: var(--text-muted, #64748b);
}

[data-theme='dark'] .wp-exec-hud__target-text {
  color: #94a3b8;
}

.wp-exec-hud__cta-btn {
  background: transparent;
  border: none;
  color: #059669;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  padding: 0;
  transition: color 0.15s;
}

.wp-exec-hud__cta-btn:hover {
  color: #047857;
  text-decoration: underline;
}

/* Apple Pay style Bloom confirmation modal */
.apple-bloom__backdrop {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  animation: appleBackdropFade 0.25s ease-out forwards;
}

@keyframes appleBackdropFade {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.apple-bloom__card {
  position: relative;
  width: 90%;
  max-width: 420px;
  background: linear-gradient(135deg, rgba(20, 24, 33, 0.95), rgba(13, 17, 23, 0.98));
  border: 1px solid rgba(0, 255, 136, 0.35);
  border-radius: 28px;
  padding: 36px 28px 28px;
  text-align: center;
  box-shadow:
    0 24px 70px rgba(0, 0, 0, 0.6),
    0 0 40px rgba(0, 255, 136, 0.15),
    inset 0 1px 0 rgba(255, 255, 255, 0.15);
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  animation: appleCardBloom 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes appleCardBloom {
  0% {
    opacity: 0;
    transform: scale(0.82) translateY(20px);
  }
  100% {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

.apple-bloom__ambient-glow {
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
  width: 220px;
  height: 220px;
  background: radial-gradient(circle, rgba(0, 255, 136, 0.25) 0%, rgba(0, 255, 136, 0) 70%);
  pointer-events: none;
}

/* Concentric rings */
.apple-bloom__rings {
  position: absolute;
  top: 52px;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 120px;
  pointer-events: none;
}

.apple-bloom__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(0, 255, 136, 0.4);
  animation: appleRingPulse 2s cubic-bezier(0.2, 0.8, 0.4, 1) infinite;
}

.apple-bloom__ring--1 {
  animation-delay: 0s;
}

.apple-bloom__ring--2 {
  animation-delay: 0.4s;
  opacity: 0.7;
}

.apple-bloom__ring--3 {
  animation-delay: 0.8s;
  opacity: 0.4;
}

@keyframes appleRingPulse {
  0% {
    transform: scale(0.6);
    opacity: 0.8;
  }
  100% {
    transform: scale(1.6);
    opacity: 0;
  }
}

/* Tactile checkmark emblem */
.apple-bloom__icon-container {
  position: relative;
  width: 80px;
  height: 80px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.apple-bloom__check-svg {
  width: 72px;
  height: 72px;
  display: block;
}

.apple-bloom__check-circle {
  stroke: #00ff88;
  stroke-width: 2.5;
  stroke-miterlimit: 10;
  stroke-dasharray: 166;
  stroke-dashoffset: 166;
  animation: appleStrokeCircle 0.5s cubic-bezier(0.65, 0, 0.45, 1) 0.1s forwards;
}

.apple-bloom__check-path {
  stroke: #00ff88;
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 48;
  stroke-dashoffset: 48;
  animation: appleStrokeCheck 0.4s cubic-bezier(0.65, 0, 0.45, 1) 0.45s forwards;
}

@keyframes appleStrokeCircle {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes appleStrokeCheck {
  to {
    stroke-dashoffset: 0;
  }
}

/* Speed badge */
.apple-bloom__speed-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: rgba(0, 255, 136, 0.12);
  border: 1px solid rgba(0, 255, 136, 0.25);
  border-radius: 999px;
  color: #00ff88;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.apple-bloom__bolt {
  font-size: 0.85rem;
}

.apple-bloom__title {
  color: #ffffff;
  font-size: 1.35rem;
  font-weight: 700;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}

.apple-bloom__detail {
  color: #94a3b8;
  font-size: 0.9rem;
  line-height: 1.45;
  margin: 0 0 24px;
  max-width: 320px;
}

/* Done button */
.apple-bloom__done-btn {
  width: 100%;
  max-width: 240px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #00ff88, #05c270);
  border: none;
  border-radius: 14px;
  color: #0a0f1d;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  box-shadow: 0 8px 24px rgba(0, 255, 136, 0.35);
}

.apple-bloom__done-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 28px rgba(0, 255, 136, 0.5);
}

.apple-bloom__done-btn:active {
  transform: scale(0.97);
}
/* Signed I-983 review panel (request detail) and signing editor. */
.i983-panel { display:grid; gap:1rem; margin-top:1.25rem; padding:1.25rem; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:1rem; }
.i983-panel__header { display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:space-between; gap:.75rem; }
.i983-panel__header h3 { margin:0; color:var(--wp-color-text); font-size:1.15rem; }
.i983-panel__header p { margin:.2rem 0 0; color:var(--wp-color-text); font-size:.9rem; }
.i983-panel__notice { margin:0; padding:.65rem .85rem; color:var(--wp-color-text); background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.6rem; }
.i983-panel__toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; padding:.75rem; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.75rem; }
.i983-panel__toolbar .wp-button, .i983-panel__row-actions .wp-button { min-height:0; padding:.5rem .8rem; font-size:.88rem; white-space:nowrap; }
.i983-panel__toolbar-divider { width:1px; align-self:stretch; margin:0 .25rem; background:var(--wp-color-surface); }
.i983-panel__reject:not(:disabled) { color:var(--wp-color-error); border-color:var(--wp-color-error); }
.i983-panel__file-input { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.i983-panel__hint { margin:0; color:var(--wp-color-text-muted); font-size:.9rem; }
.i983-panel__reason { margin:0; padding:.65rem .85rem; color:var(--wp-color-text); background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.6rem; }
.i983-panel__block h4 { margin:0 0 .5rem; color:var(--wp-color-text); font-size:1rem; }
.i983-panel__table-wrap { overflow-x:auto; }
.i983-panel__table-wrap table { width:100%; border-collapse:collapse; font-size:.9rem; }
.i983-panel__table-wrap th, .i983-panel__table-wrap td { padding:.55rem .6rem; text-align:left; vertical-align:top; border-bottom:1px solid var(--wp-color-border); }
.i983-panel__table-wrap th { color:var(--wp-color-text); font-weight:600; white-space:nowrap; }
.i983-panel__table-wrap td small { display:block; margin-top:.15rem; color:var(--wp-color-text); }
.i983-panel__row-actions { display:flex; flex-wrap:wrap; gap:.4rem; }
.i983-panel__history { display:grid; gap:.55rem; margin:0; padding:0 0 0 1.1rem; }
.i983-panel__history li { display:grid; gap:.1rem; }
.i983-panel__history-action { color:var(--wp-color-text); font-weight:600; }
.i983-panel__history-meta { color:var(--wp-color-text); font-size:.85rem; }
.i983-panel__history-detail { color:var(--wp-color-text); font-size:.9rem; overflow-wrap:anywhere; }
.i983-panel__documents { display:grid; gap:.6rem; }
.i983-panel__documents > div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem; padding:.7rem .85rem; border:1px solid var(--wp-color-border); border-radius:.6rem; }
.i983-panel__documents > div > span { color:var(--wp-color-text); font-weight:600; }
.i983-panel__correction { display:grid; gap:.75rem; justify-items:start; }
.i983-panel__correction .wp-file-upload { width:100%; max-width:34rem; }

.employee-document-request__upload-actions { display:flex; gap:.5rem; margin-top:.5rem; }

/* Employee "Sign Document" on their own I-983 */
.i983-employee-sign { display:grid; gap:.6rem; padding:.85rem; background:#f6faf8; border:1px solid #dce8e2; border-radius:.75rem; }
.i983-employee-sign__summary { margin:0; color:#34473f; }
.i983-employee-sign--open { background:#fff; }
.i983-panel__correction-sign { display:grid; gap:.5rem; width:100%; }
.i983-panel__correction-sign > strong { color:var(--wp-color-text); }

.i983-signing { display:grid; grid-template-columns:minmax(15rem,19rem) minmax(0,1fr); gap:1.25rem; align-items:start; }
.i983-signing__sidebar { display:grid; gap:1rem; position:sticky; top:1rem; }
.i983-signing__card { padding:1rem; background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.9rem; }
.i983-signing__card h3 { margin:0 0 .6rem; color:var(--wp-color-text); font-size:1rem; }
.i983-signing__card dl { display:grid; gap:.35rem; margin:.6rem 0 0; }
.i983-signing__card dl div { display:flex; justify-content:space-between; gap:.5rem; font-size:.9rem; }
.i983-signing__card dt { color:var(--wp-color-text); }
.i983-signing__card dd { margin:0; color:var(--wp-color-text); font-weight:600; text-align:right; }
.i983-signing__signature-preview { display:block; max-width:100%; max-height:5rem; margin:0 auto; padding:.4rem; background:#fafcfb; border:1px dashed #cbdcd4; border-radius:.5rem; }
.i983-signing__source { margin:.6rem 0 0; color:var(--wp-color-text); font-size:.8rem; }
.i983-signing__steps { display:grid; gap:.4rem; margin:0; padding-left:1.1rem; color:var(--wp-color-text); font-size:.9rem; }
.i983-signing__actions { display:grid; gap:.5rem; }
.i983-signing__placement { margin:0; color:var(--wp-color-text); font-size:.88rem; }
.i983-signing__viewer { display:grid; gap:.75rem; min-width:0; }
.i983-signing__pager { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.75rem; color:var(--wp-color-text); font-weight:600; }
.i983-signing__page { position:relative; justify-self:center; line-height:0; background:var(--wp-color-surface); box-shadow:none; }
.i983-signing__page canvas { display:block; }
.i983-signing__surface { position:absolute; inset:0 auto auto 0; touch-action:none; }
.i983-signing__page--placeable .i983-signing__surface { cursor:crosshair; }
.i983-signing__box { position:absolute; box-sizing:border-box; border:2px dashed var(--wp-color-border); background:var(--wp-color-surface); cursor:move; touch-action:none; }
.i983-signing__box:focus-visible { outline:3px solid #7cc2a4; outline-offset:2px; }
.i983-signing__box img { display:block; width:100%; height:100%; object-fit:contain; pointer-events:none; user-select:none; }
.i983-signing__handle { position:absolute; right:-7px; bottom:-7px; width:14px; height:14px; background:var(--wp-color-surface); border:2px solid var(--wp-color-border); border-radius:50%; cursor:nwse-resize; touch-action:none; }
.i983-signing__page--preview .i983-signing__surface { cursor:default; }
.i983-signing__page--preview .i983-signing__box { border-color:transparent; background:transparent; cursor:default; }

@media (max-width:900px) {
  .i983-signing { grid-template-columns:1fr; }
  .i983-signing__sidebar { position:static; }
}
.i983-signing__remove { position:absolute; top:-10px; right:-10px; display:grid; place-items:center; width:20px; height:20px; padding:0; color:var(--wp-color-text); font-size:14px; line-height:1; background:var(--wp-color-surface); border:2px solid var(--wp-color-border); border-radius:50%; cursor:pointer; }
.i983-signing__page--preview .i983-signing__remove { display:none; }
.i983-signing__page-link { padding:0; color:var(--wp-color-text); font:inherit; font-weight:600; text-decoration:underline; background:none; border:0; cursor:pointer; }

/* Dark Theme Enforcements for I-983 */
[data-theme="dark"] .i983-panel {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="dark"] .i983-panel__header h3 {
  color: var(--wp-color-text);
}

[data-theme="dark"] .i983-panel__header p {
  color: var(--wp-color-text);
}

[data-theme="dark"] .i983-panel__toolbar {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
}

[data-theme="dark"] .i983-employee-sign {
  background: rgba(8, 24, 18, 0.88);
  border: 1px solid rgba(0, 255, 135, 0.2);
}

[data-theme="dark"] .i983-employee-sign--open {
  background: rgba(8, 24, 18, 0.95);
}

[data-theme="dark"] .i983-employee-sign__summary {
  color: #cbd5e1;
}

[data-theme="dark"] .i983-signing__card {
  background: var(--wp-color-surface);
  border: 1px solid var(--wp-color-border);
  color: var(--wp-color-text);
}

[data-theme="dark"] .i983-signing__card h3 {
  color: var(--wp-color-text);
}

[data-theme="dark"] .i983-signing__card dt {
  color: var(--wp-color-text);
}

[data-theme="dark"] .i983-signing__card dd {
  color: var(--wp-color-text);
}

[data-theme="dark"] .i983-signing__signature-preview {
  background: rgba(0, 0, 0, 0.4);
  border-color: rgba(0, 255, 135, 0.25);
}

/* Review workspace with an honest workflow timeline and optional live PDF preview. */
.i983-panel { background:var(--wp-color-surface); border-color:var(--wp-color-border); padding:18px; gap:16px; }
.i983-panel__workspace { display:grid; grid-template-columns:minmax(200px,26%) minmax(0,1fr); gap:18px; align-items:start; }
.i983-panel__review-content { display:grid; gap:14px; min-width:0; }
.i983-panel__progress,.i983-preview { padding:18px; border:1px solid var(--wp-color-border); border-radius:12px; background:var(--wp-color-surface); }
.i983-panel__progress h4,.i983-preview h4 { margin:0 0 14px; color:var(--wp-color-text); font-size:1rem; }
.i983-panel__progress strong { font-size:.85rem; color:var(--wp-color-text); }
.i983-panel__progress small { font-size:.75rem; color:var(--wp-color-text-muted); line-height:1.5; }
.i983-preview header { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.i983-preview header span,.i983-preview__note { font-size:.75rem; color:var(--wp-color-text-muted); }
.i983-preview iframe { width:100%; height:500px; border:1px solid var(--wp-color-border); border-radius:8px; background:var(--wp-color-bg); }
.i983-preview__empty { display:grid; place-content:center; justify-items:center; text-align:center; min-height:220px; padding:20px; border:1px dashed var(--wp-color-border); border-radius:8px; color:var(--wp-color-text-muted); font-size:.85rem; }
.i983-preview__note { margin:12px 0 0; line-height:1.5; }
.i983-panel__header h3,.i983-panel__block h4 { color:var(--wp-color-text); }
.i983-panel__toolbar { background:var(--wp-color-bg); border-color:var(--wp-color-border); }
.i983-panel__hint,.i983-panel__header p,.i983-panel__history-meta { color:var(--wp-color-text-muted); }
.i983-panel__history-action,.i983-panel__history-detail { color:var(--wp-color-text); }
:root[data-theme='light'] .i983-panel { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
@media(max-width:1000px) { .i983-panel__workspace { grid-template-columns:1fr; } }
@media(max-width:600px) { .i983-panel { padding:12px; } .i983-preview iframe { height:380px; } }

.i983-signing__card { background:var(--wp-color-surface); border-color:var(--wp-color-border); }
.i983-signing__card h3,.i983-signing__card dd { color:var(--wp-color-text); }
.i983-signing__card dt,.i983-signing__source { color:var(--wp-color-text-muted); }
.reports__catalog {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.reports__card {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 16px;
  box-shadow:none;
  display: flex;
  flex-direction: column;
  min-height: 220px;
  padding: 24px;
  position: relative;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.reports__card:hover {
  border-color:var(--wp-color-border);
  box-shadow:none;
  transform: translateY(-2px);
}

.reports__card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.reports__icon {
  align-items: center;
  background:var(--wp-color-surface);
  border-radius: 10px;
  color:var(--wp-color-text);
  display: flex;
  height: 38px;
  justify-content: center;
  width: 38px;
  flex-shrink: 0;
}

.reports__icon svg {
  fill: none;
  height: 20px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
  width: 20px;
}

.reports__card > strong {
  color:var(--wp-color-primary);
  font-size: 1.12rem;
  font-weight:600;
  margin-top: 16px;
}

.reports__card p {
  color:var(--wp-color-text-muted);
  line-height: 1.5;
  font-size: 0.9rem;
  margin: 8px 0 20px;
}

.reports__card > div {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-top: auto;
}

.reports__card small {
  color:var(--wp-color-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.reports__detail {
  display: grid;
  gap: 18px;
}

.reports__lookup {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 16px;
  box-shadow:none;
}

.reports__lookup .wp-field {
  flex: 1 1 200px;
  min-width: 160px;
  margin-bottom: 0;
}

.reports__lookup .wp-button {
  align-self: flex-end;
  min-height:44px;
  white-space: nowrap;
}

.reports__detail > .wp-button {
  justify-self: start;
}

.reports__hero {
  align-items: flex-start;
  background:var(--wp-color-surface);
  border-radius: 16px;
  color:var(--wp-color-text);
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  padding: 24px 28px;
  box-shadow:none;
}

.reports__hero p {
  color:var(--wp-color-text);
  font-size: 0.72rem;
  font-weight:600;
  letter-spacing: 0.1em;
  margin: 0;
  text-transform: uppercase;
}

.reports__hero h2 {
  color:var(--wp-color-text);
  font-size: 1.55rem;
  font-weight:600;
  margin: 8px 0;
}

.reports__hero span {
  color:var(--wp-color-text);
  font-size: 0.88rem;
}

.reports__hero > div:last-child {
  align-items: center;
  display: flex;
  gap: 10px;
}

.reports__hero select {
  appearance: auto;
  background:var(--wp-color-surface);
  background-size: 11px 7px;
  border: 0;
  border-radius: 8px;
  box-shadow:none;
  color:var(--wp-color-primary);
  cursor: pointer;
  font-family: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 10px 34px 10px 14px;
}

.reports__hero select:hover {
  box-shadow:none;
}

.reports__hero select:focus-visible {
  outline: 2px solid #aee0d0;
  outline-offset: 1px;
}

.reports__download-trigger.wp-button--secondary {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 8px;
  box-shadow:none;
  color:var(--wp-color-primary);
  padding: 10px 16px;
  font-weight: 600;
}

.reports__download-trigger.wp-button--secondary:hover:not(:disabled) {
  background:var(--wp-color-surface);
  box-shadow:none;
  transform: none;
}

.reports__download-trigger.wp-button--secondary:disabled {
  background:var(--wp-color-surface);
  box-shadow:none;
  color:var(--wp-color-text-muted);
}

.reports__download-caret {
  height: 7px;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.75;
  width: 11px;
  fill: none;
  margin-left: 6px;
}

.reports__kpis {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.reports__kpis article {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 14px;
  padding: 18px 20px;
  display: grid;
  gap: 6px;
  box-shadow:none;
}

.reports__kpis .reports__icon {
  height: 30px;
  width: 30px;
}

.reports__kpis span:not(.reports__icon) {
  color:var(--wp-color-text-muted);
  display: block;
  font-size: 0.7rem;
  font-weight:600;
  letter-spacing: 0.08em;
  margin-top: 6px;
  text-transform: uppercase;
}

.reports__kpis strong {
  color:var(--wp-color-primary);
  display: block;
  font-size: 1.45rem;
  font-weight:600;
  margin-top: 2px;
}

.reports__panels {
  display: grid;
  gap: 16px;
  grid-template-columns: 1.5fr 1fr;
}

.reports__panels > section {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow:none;
}

.reports__panels header {
  border-bottom:1px solid var(--wp-color-border);
  padding: 16px 20px;
}

.reports__panels h3 {
  color:var(--wp-color-primary);
  font-size: 1.1rem;
  margin: 0;
}

.reports__panels header p {
  color:var(--wp-color-text-muted);
  font-size: 0.82rem;
  margin: 4px 0 0;
}

.reports__chart {
  display: flex;
  flex-direction: column;
}

.reports__donut {
  border-radius: 50%;
  height: 160px;
  margin: 28px auto;
  position: relative;
  width: 160px;
}

.reports__donut:after {
  background:var(--wp-color-surface);
  border-radius: 50%;
  content: "";
  inset: 20px;
  position: absolute;
}

.reports__donut span {
  display: grid;
  inset: 0;
  place-content: center;
  position: absolute;
  text-align: center;
  z-index: 1;
}

.reports__donut strong {
  color:var(--wp-color-primary);
  font-size: 1.6rem;
  font-weight:600;
}

.reports__donut small {
  color:var(--wp-color-text-muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

.reports__legend {
  border-top:1px solid var(--wp-color-border);
  display: grid;
  gap: 10px;
  padding: 16px 20px;
}

.reports__legend span {
  align-items: center;
  display: flex;
  gap: 8px;
  color:var(--wp-color-text-muted);
  font-size: 0.88rem;
}

.reports__legend i {
  background:var(--wp-color-surface);
  border-radius: 50%;
  height: 9px;
  width: 9px;
}

.reports__legend i.muted {
  background:var(--wp-color-surface);
}

.reports__legend b {
  color:var(--wp-color-primary);
  margin-left: auto;
}

.reports__download {
  position: relative;
}

.reports__download-menu {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 12px;
  box-shadow:none;
  margin-top: 6px;
  min-width: 190px;
  overflow: hidden;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 20;
}

.reports__download-menu button {
  align-items: center;
  background: none;
  border: 0;
  color:var(--wp-color-primary);
  cursor: pointer;
  display: flex;
  font-size: 0.85rem;
  font-weight: 600;
  gap: 10px;
  padding: 12px 16px;
  text-align: left;
  width: 100%;
  transition: background 0.1s ease;
}

.reports__download-menu button:hover {
  background:var(--wp-color-surface);
}

.reports__download-menu button + button {
  border-top:1px solid var(--wp-color-border);
}

.reports__download-icon {
  align-items: center;
  background:var(--wp-color-surface);
  border-radius: 6px;
  color:var(--wp-color-primary);
  display: flex;
  flex-shrink: 0;
  font-size: 0.62rem;
  font-weight:600;
  height: 24px;
  justify-content: center;
  letter-spacing: 0.04em;
  width: 34px;
}

.reports__panels--single {
  grid-template-columns: 1fr;
}

.reports__panels--single > div {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 14px;
  overflow: hidden;
  box-shadow:none;
}

.reports__panels--single header {
  border-bottom:1px solid var(--wp-color-border);
  padding: 16px 20px;
  padding-right: 150px;
  position: relative;
}

.reports__panels--single h3 {
  color:var(--wp-color-primary);
  font-size: 1.1rem;
  margin: 0;
}

.reports__panels--single header p {
  color:var(--wp-color-text-muted);
  font-size: 0.82rem;
  margin: 4px 0 0;
}

.reports__panels--single header .reports__download {
  position: absolute;
  right: 18px;
  top: 14px;
}

.reports__lookup {
  align-items: flex-end;
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 22px;
  box-shadow:none;
}

.reports__lookup .wp-field {
  flex: 1;
  margin-bottom: 0;
  min-width: 200px;
}

.reports__lookup .wp-button {
  flex-shrink: 0;
}

.reports__empty-cell {
  color:var(--wp-color-text);
}

.reports__status {
  color:var(--wp-color-text-muted);
  padding: 24px 0;
  text-align: center;
  font-size: 0.92rem;
}

.reports__status--error {
  align-items: center;
  color:var(--wp-color-danger);
  display: flex;
  flex-direction: column;
  gap: 12px;
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 12px;
  padding: 18px;
}

.reports__kpis[data-count="6"] {
  grid-template-columns: repeat(3, 1fr);
}

.reports__kpis[data-count="2"] {
  grid-template-columns: repeat(2, 1fr);
  max-width: 440px;
}

.reports__barlist {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 20px;
}

.reports__barlist-empty {
  color:var(--wp-color-text);
  padding: 18px;
  text-align: center;
}

.reports__barlist-row {
  align-items: center;
  display: grid;
  gap: 12px;
  grid-template-columns: 140px 1fr 36px;
  outline: none;
}

.reports__barlist-row:focus-visible {
  outline: 2px solid #aee0d0;
  outline-offset: 2px;
}

.reports__barlist-label {
  color:var(--wp-color-text-muted);
  font-size: 0.82rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.reports__barlist-track {
  background:var(--wp-color-surface);
  border-radius: 4px;
  height: 16px;
  overflow: hidden;
}

.reports__barlist-fill {
  background:var(--wp-color-surface);
  border-radius: 0 4px 4px 0;
  height: 100%;
  min-width: 4px;
  transition: width 0.3s ease;
}

.reports__barlist-row:hover .reports__barlist-fill,
.reports__barlist-row:focus-visible .reports__barlist-fill {
  background:var(--wp-color-surface);
}

.reports__barlist-value {
  color:var(--wp-color-primary);
  font-size: 0.82rem;
  font-variant-numeric: tabular-nums;
  font-weight:600;
  text-align: right;
}

.reports__periodchart {
  padding: 20px;
}

.reports__periodchart-bars {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
}

.reports__periodchart-col {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: 6px;
  outline: none;
  position: relative;
  width: 48px;
}

.reports__periodchart-value {
  color:var(--wp-color-primary);
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
  font-weight:600;
}

.reports__periodchart-track {
  align-items: flex-end;
  background:var(--wp-color-surface);
  border-radius: 4px;
  display: flex;
  height: 140px;
  overflow: hidden;
  width: 24px;
}

.reports__periodchart-bar {
  border-radius: 4px 4px 0 0;
  transition: height 0.3s ease;
  width: 100%;
}

.reports__periodchart-label {
  color:var(--wp-color-text-muted);
  font-size: 0.72rem;
  text-align: center;
}

.reports__periodchart-tooltip {
  background:var(--wp-color-surface);
  border-radius: 8px;
  bottom: calc(100% + 8px);
  color:var(--wp-color-text);
  font-size: 0.75rem;
  left: 50%;
  opacity: 0;
  padding: 8px 12px;
  pointer-events: none;
  position: absolute;
  transform: translateX(-50%);
  transition: opacity 0.15s ease;
  white-space: nowrap;
  z-index: 10;
  box-shadow:none;
}

.reports__periodchart-tooltip strong {
  display: block;
  font-size: 0.75rem;
  margin-bottom: 2px;
}

.reports__periodchart-col:hover .reports__periodchart-tooltip,
.reports__periodchart-col:focus-visible .reports__periodchart-tooltip {
  opacity: 1;
}

.reports__legend--row {
  border-top: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
  padding: 16px 0 0;
}

.reports__legend--row span {
  align-items: center;
  display: flex;
  gap: 8px;
  font-size: 0.82rem;
  color:var(--wp-color-text-muted);
}

.reports__legend--row i {
  border-radius: 3px;
  height: 10px;
  width: 10px;
}

@media (max-width: 900px) {
  .reports__catalog {
    grid-template-columns: repeat(2, 1fr);
  }
  .reports__panels {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 580px) {
  .reports__catalog {
    grid-template-columns: 1fr;
  }
  .reports__hero {
    flex-direction: column;
    gap: 16px;
  }
  .reports__lookup {
    flex-direction: column;
    align-items: stretch;
  }
}
/* ==========================================================================
   Reports Cyber Dark Theme & Contrast Overrides
   ========================================================================== */

.reports__card,
.reports__lookup,
.reports__panel,
.reports__kpi-card,
.reports__table-wrapper,
.reports__chart-card {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border) !important;
  border-radius: 16px !important;
  box-shadow:none;
  backdrop-filter:none;
}

.reports__card:hover {
  border-color:var(--wp-color-border) !important;
  box-shadow:none;
  transform: translateY(-2px) !important;
}

.reports__card > strong,
.reports__panel h3,
.reports__panel h4,
.reports__kpi-label {
  color:var(--wp-color-text);
  font-weight: 750 !important;
}

.reports__card p,
.reports__card small,
.reports__panel p,
.reports__legend span {
  color:var(--wp-color-text);
}

.reports__icon {
  background:var(--wp-color-surface);
  box-shadow:none;
}

.reports__hero {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border) !important;
  box-shadow:none;
}

.reports__kpi-val,
.reports__kpi-card strong {
  color:var(--wp-color-primary);
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  text-shadow:none;
}

.reports__periodchart-label {
  color:var(--wp-color-text);
  font-weight: 600 !important;
}

/* ==========================================================================
   Reports - Light Theme Overrides
   ========================================================================== */
[data-theme="light"] .reports__card,
[data-theme="light"] .reports__lookup,
[data-theme="light"] .reports__panel,
[data-theme="light"] .reports__kpi-card,
[data-theme="light"] .reports__table-wrapper,
[data-theme="light"] .reports__chart-card {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border) !important;
  box-shadow:none;
  color:var(--wp-color-text);
}

[data-theme="light"] .reports__card:hover {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border) !important;
  box-shadow:none;
}

[data-theme="light"] .reports__card > strong,
[data-theme="light"] .reports__panel h3,
[data-theme="light"] .reports__panel h4,
[data-theme="light"] .reports__kpi-label {
  color:var(--wp-color-text);
}

[data-theme="light"] .reports__card p,
[data-theme="light"] .reports__card small,
[data-theme="light"] .reports__panel p,
[data-theme="light"] .reports__legend span,
[data-theme="light"] .reports__periodchart-label {
  color:var(--wp-color-text);
}

[data-theme="light"] .reports__kpi-val,
[data-theme="light"] .reports__kpi-card strong {
  color:var(--wp-color-primary);
  text-shadow:none;
}

[data-theme="light"] .reports__hero {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border) !important;
  box-shadow:none;
  color:var(--wp-color-text);
}

[data-theme="light"] .reports__hero h2,
[data-theme="light"] .reports__hero strong {
  color:var(--wp-color-text);
  font-weight: 800 !important;
}

[data-theme="light"] .reports__hero p {
  color:var(--wp-color-text);
}

[data-theme="light"] .reports__icon {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  box-shadow:none;
}

.reports__workspace {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Quick Triage Bar */
.reports__quick-triage {
  display: flex;
  align-items: center;
  gap: 12px;
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 12px;
  padding: 10px 16px;
  box-shadow:none;
  overflow-x: auto;
}

.reports__triage-label {
  font-size: 0.76rem;
  font-weight:600;
  letter-spacing: 0.06em;
  color:var(--wp-color-text-muted);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 6px;
}

.reports__triage-pills {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.reports__triage-pill {
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 999px;
  color:var(--wp-color-text);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 5px 12px;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.reports__triage-pill:hover {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  transform: translateY(-1px);
}

.reports__triage-pill.is-active {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  color:var(--wp-color-text);
  box-shadow:none;
}

.reports__triage-reset {
  background: transparent;
  border:1px dashed var(--border-subtle, var(--wp-color-border));
  border-radius: 999px;
  color:var(--wp-color-text-muted);
  font-size: 0.78rem;
  font-weight: 600;
  padding: 4px 10px;
  cursor: pointer;
  margin-left: auto;
  transition: all 0.15s;
}

.reports__triage-reset:hover {
  color:var(--wp-color-danger);
  border-color:var(--wp-color-border);
  background:var(--wp-color-surface);
}

/* Enterprise Filter Form Card */
.reports__enterprise-filters {
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 16px;
  box-shadow:none;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* 5-Column Filter Grid on Desktop */
.reports__filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  align-items: end;
}

.reports__filter-grid .wp-field {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}

.reports__filter-grid label {
  font-size: 0.8rem;
  font-weight:600;
  color:var(--wp-color-text);
  margin-bottom: 6px;
}

.reports__filter-grid select,
.reports__filter-grid input {
  height: 42px;
  border-radius: 10px;
  border:1px solid var(--border-subtle, var(--wp-color-border));
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  font-size: 0.88rem;
  padding: 0 12px;
  box-sizing: border-box;
}

/* Live Search with Recommendations */
.reports__search-box {
  position: relative;
  display: flex;
  flex-direction: column;
}

.reports__search-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}

.reports__search-input-wrap input {
  width: 100%;
  height: 42px;
  border-radius: 10px;
  border:1px solid var(--border-subtle, var(--wp-color-border));
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  font-size: 0.88rem;
  padding: 0 36px 0 12px;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.reports__search-input-wrap input:focus {
  outline: none;
  border-color:var(--wp-color-border);
  box-shadow:none;
}

.reports__search-clear-btn {
  position: absolute;
  right: 10px;
  background:var(--wp-color-surface);
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color:var(--wp-color-text-muted);
  cursor: pointer;
  font-size: 0.72rem;
  transition: background 0.15s, color 0.15s;
}

.reports__search-clear-btn:hover {
  background:var(--wp-color-surface);
  color:var(--wp-color-danger);
}

.reports__search-spinner {
  position: absolute;
  right: 12px;
  font-size: 0.82rem;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

/* Recommendations Dropdown Menu */
.reports__search-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  min-width: 320px;
  max-height: 320px;
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 12px;
  box-shadow:none;
  overflow-y: auto;
  z-index: 100;
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.reports__search-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 12px;
  border-radius: 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s ease-in-out;
  width: 100%;
}

.reports__search-item:hover,
.reports__search-item:focus-visible {
  background:var(--wp-color-surface);
  outline: none;
}

.reports__search-avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.78rem;
  font-weight:600;
  flex-shrink: 0;
}

.reports__search-details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}

.reports__search-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.reports__search-name-row strong {
  font-size: 0.88rem;
  color:var(--wp-color-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.reports__search-badge {
  background:var(--wp-color-surface);
  color:var(--wp-color-text-muted);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight:600;
  padding: 1px 6px;
  font-family: monospace;
}

.reports__search-meta-row {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  color:var(--wp-color-text-muted);
}

.reports__search-mgr {
  color:var(--wp-color-primary);
  font-weight: 600;
}

.reports__search-empty {
  padding: 16px;
  text-align: center;
  color:var(--wp-color-text-muted);
  font-size: 0.82rem;
}

/* Period Selector - Streamlined Horizontal Layout */
.reports__period-picker {
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 12px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.reports__period-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

.reports__period-summary {
  display: flex;
  align-items: center;
  gap: 10px;
}

.reports__period-label {
  font-size: 0.76rem;
  font-weight:600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color:var(--wp-color-text-muted);
}

.reports__period-active-badge {
  background:var(--wp-color-surface);
  color:var(--wp-color-primary);
  border:1px solid var(--wp-color-border);
  border-radius: 6px;
  padding: 3px 10px;
  font-size: 0.86rem;
  font-weight:600;
}

.reports__period-toggle {
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 8px;
  padding: 5px 12px;
  font-size: 0.8rem;
  font-weight: 600;
  color:var(--wp-color-text);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s;
}

.reports__period-toggle:hover {
  border-color:var(--wp-color-border);
  color:var(--wp-color-primary);
}

.reports__period-presets {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.reports__preset-btn {
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 999px;
  color:var(--wp-color-primary);
  font-size: 0.78rem;
  font-weight:600;
  padding: 5px 12px;
  cursor: pointer;
  transition: all 0.15s;
}

.reports__preset-btn:hover {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
}

.reports__period-dropdown {
  margin-top: 8px;
  padding-top: 14px;
  border-top:1px dashed var(--border-subtle, var(--wp-color-border));
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.reports__period-controls {
  display: flex;
  gap: 12px;
  align-items: center;
}

.reports__period-controls label {
  font-size: 0.78rem;
  font-weight:600;
  color:var(--wp-color-text);
  display: flex;
  align-items: center;
  gap: 6px;
}

.reports__period-controls select {
  border-radius: 8px;
  border:1px solid var(--border-subtle, var(--wp-color-border));
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  padding: 6px 10px;
}

.reports__date-grid {
  display: grid;
  gap: 5px;
  grid-template-columns: repeat(7, minmax(32px, 1fr));
  max-width: 420px;
}

.reports__date-grid button {
  background:var(--wp-color-surface);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 8px;
  color:var(--wp-color-text);
  cursor: pointer;
  min-height: 34px;
  font-size: 0.82rem;
  transition: all 0.12s;
}

.reports__date-grid button.is-in-range {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  color:var(--wp-color-primary);
  font-weight: 600;
}

.reports__date-grid button.is-selected {
  background:var(--wp-color-surface);
  border-color:var(--wp-color-border);
  color:var(--wp-color-text);
  font-weight:600;
}

/* Filter Actions Row */
.reports__filter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 4px;
}

.reports__kpis--wide {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.reports__attention,
.reports__results {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  border-radius: 16px;
  box-shadow:none;
  overflow: hidden;
}

.reports__attention header,
.reports__results header {
  align-items: center;
  border-bottom:1px solid var(--wp-color-border);
  display: flex;
  gap: 16px;
  justify-content: space-between;
  padding: 16px 20px;
}

.reports__attention h3,
.reports__results h3 {
  color:var(--wp-color-primary);
  margin: 0;
}


.reports__results-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.reports__attention header p,
.reports__results header p {
  color:var(--wp-color-text-muted);
  font-size: 0.84rem;
  margin: 4px 0 0;
}

.reports__attention > div {
  align-items: center;
  border-bottom:1px solid var(--wp-color-border);
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr auto auto;
  padding: 12px 20px;
}

.reports__attention > div:last-child {
  border-bottom: 0;
}

.reports__attention .is-muted {
  opacity: 0.55;
}

.reports__attention strong {
  color:var(--wp-color-primary);
  font-size: 1.1rem;
}

.reports__pagination {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding: 14px 20px;
}

.reports__pagination span {
  color:var(--wp-color-text-muted);
  font-weight:600;
}

.reports__drawer {
  background:var(--wp-color-surface);
  backdrop-filter:none;
  inset: 0;
  position: fixed;
  z-index: 1000;
}

.reports__drawer-panel {
  background:var(--wp-color-surface);
  box-shadow:none;
  height: 100%;
  margin-left: auto;
  max-width: 580px;
  overflow: auto;
  width: min(92vw, 580px);
  display: flex;
  flex-direction: column;
}

.reports__drawer-panel > header {
  align-items: center;
  border-bottom:1px solid var(--border-subtle, var(--wp-color-border));
  display: flex;
  justify-content: space-between;
  padding: 20px 24px;
}

.reports__drawer-panel h3,
.reports__drawer-panel p {
  margin: 0;
}

.reports__drawer-panel header p {
  color:var(--wp-color-text-muted);
  font-size: 0.75rem;
  font-weight:600;
  letter-spacing: 0.08em;
}

.reports__drawer-panel header button {
  background:var(--wp-color-surface);
  border: 0;
  border-radius: 999px;
  color:var(--wp-color-primary);
  cursor: pointer;
  font-size: 1.4rem;
  height: 38px;
  width: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.reports__drawer-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 22px 24px;
  flex: 1;
}

.reports__drawer-body dl {
  display: grid;
  gap: 10px;
  grid-template-columns: 140px 1fr;
  margin: 0;
}

.reports__drawer-body dt {
  color:var(--wp-color-text-muted);
  font-weight:600;
}

.reports__drawer-body dd {
  color:var(--wp-color-primary);
  margin: 0;
}

.reports__daily-hours {
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 12px;
  overflow: hidden;
}

.reports__daily-hours div {
  align-items: center;
  border-bottom:1px solid var(--border-subtle, var(--wp-color-border));
  display: flex;
  justify-content: space-between;
  padding: 10px 14px;
}

.reports__daily-hours div:last-child {
  border-bottom: 0;
}

.reports__bar-row {
  align-items: center;
  border-bottom:1px solid var(--border-subtle, var(--wp-color-border));
  color:var(--wp-color-primary);
  display: flex;
  justify-content: space-between;
  margin: 0;
  padding: 12px 20px;
}

/* Quick Actions in Drawer */
.reports__drawer-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding-top: 16px;
  border-top:1px solid var(--border-subtle, var(--wp-color-border));
}

.reports__action-btn--primary {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  border: none;
  border-radius: 10px;
  padding: 10px 18px;
  font-size: 0.88rem;
  font-weight:600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background 0.15s;
}

.reports__action-btn--primary:hover {
  background:var(--wp-color-surface);
}

.reports__action-btn--secondary {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  border:1px solid var(--border-subtle, var(--wp-color-border));
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 0.88rem;
  font-weight: 600;
  cursor: pointer;
}

.reports__action-btn--secondary:hover {
  background:var(--wp-color-surface);
}

/* Responsive adjustments */
@media (max-width: 1200px) {
  .reports__filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .reports__filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .reports__filter-grid {
    grid-template-columns: 1fr;
  }

  .reports__period-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .reports__attention header,
  .reports__results header,
  .reports__attention > div {
    align-items: stretch;
    grid-template-columns: 1fr;
    flex-direction: column;
  }
}


/* Dark Theme Enforcements for Reports */
[data-theme="dark"] .reports__card {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  box-shadow:none;
}

[data-theme="dark"] .reports__card:hover {
  border-color:var(--wp-color-border);
  box-shadow:none;
}

[data-theme="dark"] .reports__card > strong {
  color:var(--wp-color-text);
}

[data-theme="dark"] .reports__card p {
  color:var(--wp-color-text-muted);
}

[data-theme="dark"] .reports__card small {
  color:var(--wp-color-primary);
}

[data-theme="dark"] .reports__lookup {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  box-shadow:none;
}

[data-theme="dark"] .reports__lookup label,
[data-theme="dark"] .reports__filters label {
  color:var(--wp-color-text-muted);
}

[data-theme="dark"] .reports__lookup select,
[data-theme="dark"] .reports__lookup input,
[data-theme="dark"] .reports__filters select,
[data-theme="dark"] .reports__filters input {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
}

[data-theme="dark"] .reports__table,
[data-theme="dark"] .reports__table-wrap {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  box-shadow:none;
}

[data-theme="dark"] .reports__table th,
[data-theme="dark"] .reports__table-wrap th {
  background:var(--wp-color-surface);
  color:var(--wp-color-text);
  border-bottom:1.5px solid var(--wp-color-border);
}

[data-theme="dark"] .reports__table td,
[data-theme="dark"] .reports__table-wrap td {
  border-bottom:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
}

[data-theme="dark"] .reports__table tr:hover,
[data-theme="dark"] .reports__table-wrap tr:hover {
  background:var(--wp-color-surface);
}

[data-theme="dark"] .reports__stat,
[data-theme="dark"] .reports__kpi {
  background:var(--wp-color-surface);
  border:1px solid var(--wp-color-border);
  color:var(--wp-color-text);
}

[data-theme="dark"] .reports__stat strong,
[data-theme="dark"] .reports__kpi strong {
  color:var(--wp-color-primary);
}

[data-theme="dark"] .reports__stat span,
[data-theme="dark"] .reports__kpi span {
  color:var(--wp-color-text-muted);
}

[data-theme="dark"] .reports__detail h3,
[data-theme="dark"] .reports__detail h2 {
  color:var(--wp-color-text);
}
.audit-history { display:grid; gap:24px; min-width:0; color:var(--wp-color-text); }
.audit-history__toolbar { display:flex; flex-wrap:wrap; align-items:end; gap:16px; }
.audit-history__toolbar .phase-six__search { flex:1 1 280px; }
.audit-history__toolbar .wp-field { flex:1 1 160px; }
.audit-history__toolbar .wp-filter-pills { flex-basis:100%; }
.audit-history__summary { margin:0; color:var(--wp-color-text-muted); font-size:.875rem; }
.audit-history__view-toggle { display:flex; flex-wrap:wrap; gap:8px; }
.audit-history__view-toggle-btn { display:flex; align-items:center; gap:8px; min-height:44px; padding:8px 16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-surface); color:var(--wp-color-text); font:inherit; cursor:pointer; }
.audit-history__view-toggle-btn.is-active { background:var(--wp-color-primary); color:var(--wp-color-primary-contrast); }
.audit-history__cards-grid { display:grid; gap:24px; padding:0 0 0 32px; margin:0 0 0 12px; border-left:2px solid var(--wp-color-border); list-style:none; }
.audit-history__card { position:relative; display:grid; gap:16px; padding:24px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-card); background:var(--wp-color-surface); min-width:0; }
.audit-history__card::before { content:''; position:absolute; left:-41px; top:32px; width:12px; height:12px; border:3px solid var(--wp-color-bg); border-radius:50%; background:var(--wp-color-primary); }
.audit-history__card-header { display:flex; flex-wrap:wrap; align-items:start; justify-content:space-between; gap:16px; border-bottom:1px solid var(--wp-color-border); padding-bottom:16px; }
.audit-history__card-action-wrap,.audit-history__card-row,.audit-history__cell-actor,.audit-history__cell-action { display:grid; gap:8px; min-width:0; }
.audit-history__card-category,.audit-history__card-label { color:var(--wp-color-text-muted); font:600 11px var(--wp-font-sans); text-transform:uppercase; letter-spacing:.14em; }
.audit-history__card-action-title { min-height:44px; padding:0; border:0; background:transparent; color:var(--wp-color-primary); font:500 1.25rem var(--wp-font-display); text-align:left; cursor:pointer; }
.audit-history__card-body { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.audit-history__card-row--full { grid-column:1 / -1; }
.audit-history__card-row span { overflow-wrap:anywhere; line-height:1.5; }
.audit-history__card-row small,.audit-history__cell-actor small,.audit-history__cell-action small { color:var(--wp-color-text-muted); }
.audit-history__card-footer { display:flex; justify-content:flex-end; }
.audit-history__row-link { min-height:44px; padding:8px 0; border:0; color:var(--wp-color-primary); background:transparent; text-align:left; font:inherit; cursor:pointer; }
.audit-history__pagination { display:flex; justify-content:flex-end; }
.audit-history__modal { width:min(720px,100%); }
.audit-history__detail { color:var(--wp-color-text); line-height:1.5; }
.audit-history__detail dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; }
.audit-history__detail dl div { display:grid; gap:8px; min-width:0; }
.audit-history__detail dt,.audit-history__diff-label { color:var(--wp-color-text-muted); font-size:.875rem; }
.audit-history__detail dd { margin:0; overflow-wrap:anywhere; }
.audit-history__detail h4 { font:600 1rem var(--wp-font-sans); margin-block:24px 16px; }
.audit-history__diff { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.audit-history__diff > div { padding:16px; border:1px solid var(--wp-color-border); border-radius:var(--wp-radius-control); background:var(--wp-color-bg); min-width:0; }
.audit-history__diff > div:last-child { background:var(--wp-color-primary-soft); }
.audit-history__diff-field,.audit-history__diff-fields { display:grid; gap:8px; }
.audit-history__detail dl.audit-history__diff-fields { grid-template-columns:minmax(0,1fr); }
.audit-history__diff-empty,.audit-history__participant-context,.audit-history__derived-note { color:var(--wp-color-text-muted); }
.audit-history__derived-note { border-left:3px solid var(--wp-color-border); padding-left:16px; }
@media(max-width:600px) { .audit-history__toolbar { align-items:stretch; } .audit-history__toolbar .wp-field { flex-basis:100%; } .audit-history__card { padding:16px; } .audit-history__card-body,.audit-history__detail dl,.audit-history__diff { grid-template-columns:minmax(0,1fr); } }

/* Release polish: hover/active/disabled feedback for buttons on this page. The route-line foundation pins the primary
   background with !important (so Button.css hover never showed) and the dark-theme secondary hover turned text white. */
:root .audit-history-page .wp-button--primary:hover:not(:disabled) { background-color:color-mix(in srgb,var(--wp-color-primary) 82%,var(--wp-color-text))!important; border-color:var(--wp-color-primary); box-shadow:none; transform:none; }
:root .audit-history-page .wp-button--secondary:hover:not(:disabled) { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-color:var(--wp-color-primary); box-shadow:none; transform:none; }
:root .audit-history-page .wp-button:active:not(:disabled) { transform:none; }
:root .audit-history-page .wp-button:disabled { opacity:.55; cursor:not-allowed; }
:root .phase-six .audit-history__view-toggle-btn:not(.is-active):hover { background:var(--wp-color-hover)!important; }
.audit-history__view-toggle-btn { transition:background-color var(--wp-transition-fast),color var(--wp-transition-fast); }
.audit-history__card-action-title:hover,.audit-history__row-link:hover { text-decoration:underline; text-underline-offset:3px; }
.audit-history__card:focus-within { border-color:var(--wp-color-primary); }

/* Category pills: the shared FilterPills hover rule (0,3,1) outranks its own selected rule (0,2,1), so hovering the selected
   pill painted the light hover background under the selected pill's cream text. Pin each state's background AND text together. */
:root .audit-history-page .wp-filter-pills button:hover:not(:disabled):not([aria-pressed='true']) { background:var(--wp-color-hover); color:var(--wp-color-text); border-color:var(--wp-color-primary); }
:root .audit-history-page .wp-filter-pills button[aria-pressed='true'],
:root .audit-history-page .wp-filter-pills button[aria-pressed='true']:hover:not(:disabled) { background:var(--wp-color-primary-deep); color:#FBF9F3; border-color:var(--wp-color-primary-deep); }
:root .audit-history-page .wp-filter-pills button[aria-pressed='true'] .wp-filter-pills__count { color:inherit; }
/* Table / Timeline toggle: the selected view keeps its filled state and readable text while hovered or focused. */
:root .audit-history-page .audit-history__view-toggle-btn.is-active,
:root .audit-history-page .audit-history__view-toggle-btn.is-active:hover:not(:disabled) { background:var(--wp-color-primary)!important; color:var(--wp-color-primary-contrast); border-color:var(--wp-color-primary); }
.organization-settings__settings,.organization-settings__edit { display:grid; gap:24px; }
.organization-settings__details,.organization-settings__fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; margin:0; }
.organization-settings__details div { display:grid; gap:8px; min-width:0; }
.organization-settings__details dt { color:var(--wp-color-text-muted); font-size:.875rem; font-weight:500; }
.organization-settings__details dd { color:var(--wp-color-text); font-weight:500; margin:0; overflow-wrap:anywhere; }
.organization-settings__read-value { color:var(--wp-color-text); margin:0; white-space:pre-wrap; line-height:1.5; }
.organization-settings__logo { display:block; max-width:220px; max-height:80px; width:auto; height:auto; object-fit:contain; margin:0 0 16px; }
.organization-settings__logo-fallback { display:grid; place-items:center; width:72px; height:72px; border-radius:var(--wp-radius-card); background:var(--wp-color-primary-soft); color:var(--wp-color-primary); font-weight:600; font-size:1.125rem; margin:0 0 16px; }
.organization-settings__authorized-signature { display:grid; gap:16px; color:var(--wp-color-text); }
.organization-settings__authorized-signature > p { margin:0; }
@media(max-width:640px) { .organization-settings__details,.organization-settings__fields { grid-template-columns:minmax(0,1fr); } }

/* Release polish: hover/active/disabled feedback for buttons on this page. The route-line foundation pins the primary
   background with !important (so Button.css hover never showed) and the dark-theme secondary hover turned text white. */
:root .organization-settings-page .wp-button--primary:hover:not(:disabled) { background-color:color-mix(in srgb,var(--wp-color-primary) 82%,var(--wp-color-text))!important; border-color:var(--wp-color-primary); box-shadow:none; transform:none; }
:root .organization-settings-page .wp-button--secondary:hover:not(:disabled) { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); border-color:var(--wp-color-primary); box-shadow:none; transform:none; }
:root .organization-settings-page .wp-button:active:not(:disabled) { transform:none; }
:root .organization-settings-page .wp-button:disabled { opacity:.55; cursor:not-allowed; }

/* Edit Authorization: keep the label readable on hover/focus in both themes (theme tokens only, scoped to this button). */
:root .organization-settings-page .authorized-signature__edit.wp-button--secondary:is(:hover,:focus-visible):not(:disabled) { background:var(--wp-color-primary-soft); color:var(--wp-color-text); border-color:var(--wp-color-primary); }
:root .organization-settings-page .authorized-signature__edit.wp-button--secondary:focus-visible { outline:2px solid var(--wp-color-primary); outline-offset:2px; }
/* Platform admin uses WorkspaceFrame, including its theme and safe areas. */
.waypoint-admin-shell__main { min-width:0; }
.waypoint-admin-dashboard { margin:0 auto; max-width:72rem; }
.waypoint-admin-dashboard__eyebrow { color:var(--wp-color-primary); font-size:.75rem; font-weight:800; letter-spacing:.12em; margin:0 0 .5rem; text-transform:uppercase; }
.waypoint-admin-dashboard h1 { font-size:clamp(1.8rem, 4vw, 2.6rem); margin:0; }
.waypoint-admin-dashboard__intro { color:var(--wp-color-text-muted); font-size:1.05rem; margin:.75rem 0 2rem; max-width:44rem; }
.waypoint-admin-dashboard__empty { background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.8rem; box-shadow:none; padding:1.5rem; }
.waypoint-admin-dashboard__empty h2 { margin:0 0 .5rem; }
.waypoint-admin-dashboard__empty p { color:var(--wp-color-text-muted); margin:0; }

.waypoint-admin-dashboard__empty { margin-top: 32px; border-radius: var(--wp-radius-card); }
.waypoint-admin-dashboard__empty h2 { font: 500 1.5rem/1.3 var(--wp-font-display); }
.waypoint-admin-organizations { display:grid; gap:1.25rem; }
.waypoint-admin-organizations h1, .waypoint-admin-organizations h2, .waypoint-admin-organizations p { margin:0; }
.waypoint-admin-organizations__eyebrow { color:var(--wp-color-primary); font-size:.8rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.waypoint-admin-organizations__search { display:grid; gap:.4rem; max-width:38rem; }
.waypoint-admin-organizations__search label { font-weight:600; }
.waypoint-admin-organizations__search div { display:flex; gap:.5rem; }
.waypoint-admin-organizations__search input { border:1px solid var(--wp-color-border); border-radius:.45rem; flex:1; min-width:0; padding:.7rem .8rem; }
.waypoint-admin-organizations button { background:var(--wp-color-primary); border:0; border-radius:.4rem; color:var(--wp-color-primary-contrast); cursor:pointer; font-weight:600; padding:.6rem .8rem; }
.waypoint-admin-organizations__detail { background:var(--wp-color-surface); border:1px solid var(--wp-color-border); border-radius:.65rem; box-shadow:none; padding:1.25rem; }
.waypoint-admin-organizations__detail-heading { align-items:center; display:flex; justify-content:space-between; gap:1rem; }
.waypoint-admin-organizations__detail dl { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin:1.25rem 0 0; }
.waypoint-admin-organizations__detail dl div { min-width:0; }
.waypoint-admin-organizations__detail dt { color:var(--wp-color-text-muted); font-size:.8rem; font-weight:700; text-transform:uppercase; }
.waypoint-admin-organizations__detail dd { margin:.25rem 0 0; overflow-wrap:anywhere; }
.waypoint-admin-organizations__status { border-radius:999px; display:inline-block; font-size:.75rem; font-weight:700; letter-spacing:.04em; padding:.25rem .55rem; }
.waypoint-admin-organizations__status--active { background:var(--wp-color-primary-soft); color:var(--wp-color-primary); }
.waypoint-admin-organizations__status--inactive { background:var(--wp-color-primary-soft); color:var(--wp-color-text-muted); }
@media (max-width:760px) {
  .waypoint-admin-organizations__detail dl { grid-template-columns:1fr; }
}

.waypoint-admin-organizations { min-width: 0; gap: 24px; }
.waypoint-admin-organizations__search input { background: var(--wp-color-surface); color: var(--wp-color-text); border-radius: var(--wp-radius-control); min-height: 44px; }
.waypoint-admin-organizations__search button { min-height: 44px; border-radius: var(--wp-radius-control); }
.waypoint-admin-organizations .wp-data-table button { background: transparent; color: var(--wp-color-primary); border: 1px solid var(--wp-color-border); border-radius: var(--wp-radius-control); }
.waypoint-admin-organizations__detail { border: 0; padding: 0; background: transparent; }
.waypoint-admin-organizations__detail dl { grid-template-columns: 1fr; gap: 24px; margin: 0; }
.waypoint-admin-organizations__detail dt { font-size: 11px; font-weight: 600; letter-spacing: .14em; }
.wp-organization-registration .wp-auth-layout__content { max-width:42rem; }
.wp-organization-registration__form { display:grid; gap:1rem; margin-top:1.25rem; }
.wp-organization-registration__form h2 { color:#173f33; font-size:1rem; margin:1rem 0 0; }
.wp-organization-registration__row { display:grid; gap:1rem; grid-template-columns:2fr 1fr 1fr; }
.wp-organization-registration__pair { display:grid; gap:1rem; grid-template-columns:1fr 1fr; }
.wp-organization-registration__login { margin:1.25rem 0 0; text-align:center; }
.wp-organization-registration__login a { color:#2f6f57; font-weight:600; }
@media (max-width:760px) { .wp-organization-registration__row, .wp-organization-registration__pair { grid-template-columns:1fr; } }
.wp-update-banner {
  position: fixed;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  width: calc(100% - 2rem);
  max-width: 480px;
  background: rgba(13, 22, 19, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 255, 135, 0.35);
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 15px rgba(0, 255, 135, 0.2);
  padding: 0.85rem 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  animation: wpUpdateSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes wpUpdateSlideUp {
  from {
    opacity: 0;
    transform: translate(-50%, 20px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

.wp-update-banner__left {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 0;
}

.wp-update-banner__icon {
  font-size: 1.4rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.2rem;
  height: 2.2rem;
  background: rgba(0, 255, 135, 0.12);
  border-radius: 50%;
  border: 1px solid rgba(0, 255, 135, 0.3);
}

.wp-update-banner__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.wp-update-banner__title {
  font-size: 0.88rem;
  font-weight: 700;
  color: #f1f5f9;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.wp-update-banner__tag {
  font-size: 0.7rem;
  padding: 0.1rem 0.45rem;
  border-radius: 9999px;
  background: rgba(0, 255, 135, 0.2);
  color: #00ff87;
  font-weight: 600;
}

.wp-update-banner__desc {
  font-size: 0.76rem;
  color: #94a3b8;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wp-update-banner__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.wp-update-banner__btn-update {
  background: linear-gradient(135deg, #00ff87 0%, #60efff 100%);
  color: #051610;
  font-weight: 700;
  font-size: 0.8rem;
  padding: 0.45rem 0.85rem;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 255, 135, 0.3);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wp-update-banner__btn-update:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 255, 135, 0.45);
}

.wp-update-banner__btn-close {
  background: transparent;
  border: none;
  color: #64748b;
  font-size: 1.25rem;
  cursor: pointer;
  padding: 0.2rem 0.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wp-update-banner__btn-close:hover {
  color: #cbd5e1;
}

/* Modal styles */
.wp-update-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  backdrop-filter: blur(4px);
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: wpFadeIn 0.2s ease-out;
}

@keyframes wpFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.wp-update-modal {
  background: #0f1715;
  border: 1px solid rgba(0, 255, 135, 0.3);
  border-radius: 16px;
  max-width: 440px;
  width: 100%;
  padding: 1.5rem;
  color: #e2e8f0;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.8), 0 0 24px rgba(0, 255, 135, 0.15);
}

.wp-update-modal__header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.wp-update-modal__header h3 {
  margin: 0;
  font-size: 1.15rem;
  color: #f8fafc;
}

.wp-update-modal__badge {
  background: rgba(0, 255, 135, 0.15);
  color: #00ff87;
  font-size: 0.75rem;
  padding: 0.2rem 0.5rem;
  border-radius: 9999px;
  font-weight: 600;
}

.wp-update-modal__notice {
  background: rgba(96, 239, 255, 0.08);
  border: 1px solid rgba(96, 239, 255, 0.2);
  border-radius: 8px;
  padding: 0.65rem 0.85rem;
  font-size: 0.8rem;
  color: #a5f3fc;
  margin-bottom: 1.15rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.wp-update-modal__notes-title {
  font-size: 0.82rem;
  font-weight: 600;
  color: #94a3b8;
  margin-bottom: 0.4rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.wp-update-modal__notes-list {
  margin: 0 0 1.25rem 0;
  padding-left: 1.2rem;
  font-size: 0.84rem;
  color: #cbd5e1;
  line-height: 1.5;
}

.wp-update-modal__notes-list li {
  margin-bottom: 0.35rem;
}

.wp-update-modal__actions {
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}

.wp-update-modal__btn-secondary {
  background: transparent;
  border: 1px solid #334155;
  color: #94a3b8;
  padding: 0.55rem 1rem;
  border-radius: 8px;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s ease;
}

.wp-update-modal__btn-secondary:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #e2e8f0;
}

.wp-update-modal__btn-primary {
  background: linear-gradient(135deg, #00ff87 0%, #60efff 100%);
  color: #051610;
  font-weight: 700;
  padding: 0.55rem 1.25rem;
  border-radius: 8px;
  border: none;
  font-size: 0.85rem;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0, 255, 135, 0.3);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.wp-update-modal__btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(0, 255, 135, 0.5);
}

/* Toast notification when already up to date */
.wp-update-toast {
  position: fixed;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 100000;
  background: #0f1715;
  border: 1px solid rgba(0, 255, 135, 0.3);
  color: #00ff87;
  padding: 0.6rem 1.2rem;
  border-radius: 9999px;
  font-size: 0.82rem;
  font-weight: 600;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.6);
  animation: wpUpdateSlideUp 0.25s ease-out;
}
/* Retired experiment stylesheet. Route-line is the single production design.
   The provider and data attribute remain compatible with existing callers. */
/** Route-line design tokens. Light is the default; names remain compatible. */
:root, [data-theme="light"] {
  --wp-color-bg: #F4F0E6;
  --wp-color-surface: #FBF9F3;
  --wp-color-surface-solid: #FBF9F3;
  --wp-color-border: #DDD6C4;
  --wp-color-border-subtle: #E8E3D3;
  --wp-color-hover: #E8E3D3;
  --wp-color-text: #17231E;
  --wp-color-text-muted: #55645C;
  --wp-color-text-dim: #55645C;
  --wp-color-primary: #0E4D3A;
  --wp-color-primary-deep: #0E4D3A;
  --wp-color-primary-hover: #123F32;
  --wp-color-primary-soft: #DDEBE3;
  --wp-color-primary-contrast: #FBF9F3;
  --wp-color-accent-cyan: #0E4D3A;
  --wp-color-accent-emerald: #0E4D3A;
  --wp-color-accent-gold: #805605;
  --wp-color-signal: #E8A317;
  --wp-color-future-stop: #B9B19A;
  --wp-color-error: #A8401F;
  --wp-color-error-bg: #F5E2D9;
  --wp-color-success: #0E4D3A;
  --wp-color-success-bg: #DDEBE3;
  /* Amber is a signal, not body text: use a darker ink for warning labels. */
  --wp-color-warning: #805605;
  --wp-color-warning-bg: #F7EACB;
  --wp-color-info: #0E4D3A;
  --wp-color-info-bg: #DDEBE3;
  --wp-color-neutral-bg: #E8E3D3;
}
:root {
  --wp-radius-sm: 8px;
  --wp-radius-md: 10px;
  --wp-radius-lg: 14px;
  --wp-radius-control: 10px;
  --wp-radius-card: 14px;
  --wp-radius-dialog: 14px;
  --wp-radius-pill: 999px;
  --wp-space-xs: 4px;
  --wp-space-sm: 8px;
  --wp-space-md: 16px;
  --wp-space-lg: 24px;
  --wp-space-xl: 32px;
  --wp-space-2xl: 48px;
  --wp-font-sans: 'Instrument Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --wp-font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --wp-font-mono: ui-monospace, Consolas, monospace;
  --wp-font-size-sm: 0.8125rem;
  --wp-font-size-md: 0.9375rem;
  --wp-font-size-lg: 1.125rem;
  --wp-font-eyebrow-size: 11px;
  --wp-font-eyebrow-weight: 600;
  --wp-font-eyebrow-spacing: 0.14em;
  --wp-shadow-sm: none;
  --wp-shadow-md: none;
  --wp-shadow-lg: none;
  --wp-shadow-glow: none;
  --wp-transition-fast: 150ms ease;
  --wp-control-height: 44px;
  --myhr-page-inline: clamp(1rem, 4vw, 6rem);
  --myhr-page-block: clamp(1.25rem, 2.5vw, 2rem);
  --myhr-page-gap: var(--wp-space-md);
  --myhr-control-height: var(--wp-control-height);
  /* Legacy aliases also read the same tokens. */
  --text: var(--wp-color-text-muted);
  --text-h: var(--wp-color-text);
  --bg: var(--wp-color-bg);
  --border: var(--wp-color-border);
  --code-bg: var(--wp-color-hover);
  --accent: var(--wp-color-primary);
  --accent-bg: var(--wp-color-primary-soft);
  --accent-border: var(--wp-color-border);
  --social-bg: var(--wp-color-surface);
  --shadow: none;
  --sans: var(--wp-font-sans);
  --heading: var(--wp-font-display);
  --mono: var(--wp-font-mono);
  --ui-card-shadow: none;
  --ui-panel-padding: var(--wp-space-md);
  --ui-section-gap: var(--wp-space-md);
}
[data-theme="dark"] {
  --wp-color-bg: #0B1512;
  --wp-color-surface: #12201A;
  --wp-color-surface-solid: #12201A;
  --wp-color-border: #3F5147;
  --wp-color-border-subtle: #293C32;
  --wp-color-hover: #25392E;
  --wp-color-text: #EAF1ED;
  --wp-color-text-muted: #B3C2B9;
  --wp-color-text-dim: #B3C2B9;
  --wp-color-primary: #9ECDB3;
  --wp-color-primary-deep: #0E4D3A;
  --wp-color-primary-hover: #B8DCC8;
  --wp-color-primary-soft: #243C30;
  --wp-color-primary-contrast: #0B1512;
  --wp-color-accent-cyan: #9ECDB3;
  --wp-color-accent-emerald: #9ECDB3;
  --wp-color-accent-gold: #F0BB50;
  --wp-color-signal: #E8A317;
  --wp-color-future-stop: #8C9B8F;
  --wp-color-error: #EE967A;
  --wp-color-error-bg: #3B231B;
  --wp-color-success: #9ECDB3;
  --wp-color-success-bg: #243C30;
  --wp-color-warning: #F0BB50;
  --wp-color-warning-bg: #362A16;
  --wp-color-info: #9ECDB3;
  --wp-color-info-bg: #243C30;
  --wp-color-neutral-bg: #25392E;
}
/* Self-hosted Latin subsets; SIL Open Font License files live beside the fonts. */
@font-face {
  font-family: 'Fraunces';
  src: url('/assets/fraunces-latin-ohTLjd6V.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Instrument Sans';
  src: url('/assets/instrument-sans-latin-BbzFLZTg.woff2') format('woff2');
  font-weight: 400 600;
  font-style: normal;
  font-display: swap;
}

:root {
  font: 16px/150% var(--sans);
  letter-spacing: 0.18px;
  color-scheme: light;
  color: var(--text);
  background: var(--bg);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  @media (max-width: 1024px) {
    font-size: 15px;
  }
}

*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  background-color: var(--wp-color-bg);
  color: var(--wp-color-text);
}

[data-theme="dark"] { color-scheme: dark; }
[data-theme="light"] { color-scheme: light; }

/* Remove spin buttons / stepper arrows on number inputs globally */
input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  display: none !important;
  margin: 0 !important;
}

input[type='number'] {
  -moz-appearance: textfield !important;
  appearance: textfield !important;
}

#root {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

h1,
h2 {
  font-family: var(--wp-font-sans);
  font-weight: 500;
  color: var(--text-h);
}

h1 {
  font-size: 56px;
  letter-spacing: -1.68px;
  margin: 32px 0;
  @media (max-width: 1024px) {
    font-size: 36px;
    margin: 20px 0;
  }
}
h2 {
  font-size: 24px;
  line-height: 118%;
  letter-spacing: -0.24px;
  margin: 0 0 8px;
  @media (max-width: 1024px) {
    font-size: 20px;
  }
}
p {
  margin: 0;
}

code,
.counter {
  font-family: var(--mono);
  display: inline-flex;
  border-radius: 4px;
  color: var(--text-h);
}

code {
  font-size: 15px;
  line-height: 135%;
  padding: 4px 8px;
  background: var(--code-bg);
}

/* Global Accessible Focus States (Principle 16 & 17) */
:focus-visible {
  outline: 2px solid var(--wp-color-accent-cyan, #059669);
  outline-offset: 2px;
}

/* Consistent readable placeholders in both themes. */
:root body input::placeholder,
:root body textarea::placeholder {
  color: var(--wp-color-text-muted);
  opacity: 1;
}

/* Prevent iOS focus zoom on application controls without changing document previews. */
@media (max-width: 768px) {
  #root :is(.wp-field__control, .wp-search-input input, .wp-command-palette__input, .wp-chatbot-input,
    .wp-prototype-jobs__toolbar input, .wp-prototype-events__toolbar input,
    .workspace-dashboard input, .myhr-feature select, .wp-prototype-jobs__toolbar select,
    .wp-prototype-events__toolbar select) {
    font-size: 16px;
  }
}

/* Accessible Reduced Motion Support (Principle 33) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* Structural compatibility rules. Color and font values come from tokens.css. */
:root body { font-family: var(--wp-font-sans); }
:root body :is(h1, h2, h3, h4, h5, h6, button, input, select, textarea, a, nav, label, th, td, p, small) { font-family: var(--wp-font-sans); }
:root[data-ui-variant] .myhr-shell .myhr-feature__heading { background: var(--wp-color-surface) !important; border: 1px solid var(--wp-color-border); border-radius: 14px; padding: 12px 16px; gap: 6px; box-shadow: none; }
:root[data-ui-variant] .myhr-shell .myhr-feature__heading .wp-page-header__title { color: var(--wp-color-text); font-size: 1.4rem; font-weight: 650; }
:root[data-ui-variant] .myhr-shell .myhr-feature__heading p { color: var(--wp-color-text-muted); font-size: .85rem; margin: 4px 0 0; }
:root[data-ui-variant] .myhr-shell .myhr-feature { gap: 12px; }
:root[data-ui-variant] .myhr-shell .myhr-feature__body { gap: 12px; min-width: 0; }
:root .waypoint-admin-shell { background: var(--wp-color-bg); color: var(--wp-color-text); }
:root .waypoint-admin-shell__sidebar a { font-family: var(--wp-font-sans); border-radius: 8px; }
:root .waypoint-admin-shell__sidebar a.active { background: var(--wp-color-primary-deep); color: #FBF9F3; }
:root :is(.myhr-shell, .waypoint-admin-shell) :is(button, a, input, select, textarea):focus-visible { outline: 2px solid var(--wp-color-primary); outline-offset: 2px; }

:root body :is(button, a, nav, label) span { font-family: var(--wp-font-sans); }
:root body :is(option, summary, legend) { font-family: var(--wp-font-sans); }
:root .waypoint-admin-shell__body { grid-template-columns: 230px minmax(0, 1fr); }
:root .waypoint-admin-shell__header { background: var(--wp-color-surface); border-color: var(--wp-color-border); }
:root .waypoint-admin-shell__sidebar { background: var(--wp-color-bg); border-right: 1px solid var(--wp-color-border); padding: 16px 12px; }
:root .waypoint-admin-shell__sidebar a { display: flex; align-items: center; gap: 10px; color: var(--wp-color-text-muted); font-size: .85rem; padding: 10px 12px; }
:root .waypoint-admin-shell__sidebar a.active { color: #FBF9F3; }
.waypoint-admin-shell .workspace-dashboard__nav-icon { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; }
:root .waypoint-admin-shell__main { padding: 20px; }
@media (max-width: 760px) { :root .waypoint-admin-shell__body { grid-template-columns: minmax(0, 1fr); } :root .waypoint-admin-shell__sidebar { display: flex; gap: 8px; border-right: 0; border-bottom: 1px solid var(--wp-color-border); } }

/* Compact top bar, retaining search, notifications, theme, and profile controls. */
:root .myhr-shell__header { padding: 10px 20px; gap: 16px; }
:root .myhr-shell__brand span strong { font-size: 1.1rem; }
:root .myhr-shell__brand span small { font-size: .75rem; }
:root .myhr-shell__workspace { padding-top: 8px; }
@media (max-width: 760px) { :root .myhr-shell__header { padding: 8px 12px; gap: 8px; } }
/* Global visual foundation only. Layouts and shared primitives are handled later. */
:root body {
  background: var(--wp-color-bg) !important;
  color: var(--wp-color-text);
  font-family: var(--wp-font-sans);
  --dashboard-background: var(--wp-color-bg);
  --dashboard-card: var(--wp-color-surface);
  --dashboard-text: var(--wp-color-text);
  --dashboard-muted: var(--wp-color-text-muted);
  --dashboard-border: var(--wp-color-border);
  --dashboard-primary: var(--wp-color-primary);
  --dashboard-link: var(--wp-color-primary);
  --dashboard-success: var(--wp-color-success);
  --exp-electric: var(--wp-color-primary);
  --exp-electric-glow: var(--wp-color-primary);
  --exp-cyan: var(--wp-color-primary);
  --exp-emerald: var(--wp-color-success);
  --exp-amber: var(--wp-color-warning);
}
:root body :is(*, *::before, *::after) {
  box-shadow: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
:root body :is(.myhr-shell, .waypoint-admin-shell, .employee-layout, .employer-layout, .job-seeker-layout, .wp-employer-layout, .wp-job-seeker-layout, .myhr-employee-layout, .job-seeker-shell, .employer-shell) {
  background: var(--wp-color-bg) !important;
  color: var(--wp-color-text);
}
:root body :is(.wp-card, .wp-stat-card, .wp-job-card, .wp-event-card,
  .wp-modal__panel, .wp-confirmation-dialog, .wp-auth-layout__card,
  [class$="__card"], [class$="__panel"], [class$="__detail-card"],
  .workspace-dashboard__card, .employee-today__card,
  .profile-changes__assigned, .profile-changes__history,
  .document-requests__detail, .i983-panel, .i983-preview,
  .timesheets__team-workspace, .timesheets__flow-panel, .timesheets__history-panel) {
  background-color: var(--wp-color-surface) !important;
  background-image: none !important;
  border-color: var(--wp-color-border) !important;
  border-radius: var(--wp-radius-card) !important;
  color: var(--wp-color-text);
}
:root body :is(.wp-button, .wp-field__control, input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
  border-radius: var(--wp-radius-control);
}
:root body :is(.wp-button, button, [role="button"], summary, input:not([type="checkbox"]):not([type="radio"]), select) {
  min-height: var(--wp-control-height);
}
:root body :is(button, input, select, textarea, nav, label, th, td) {
  font-family: var(--wp-font-sans);
}
/* Serif is restricted to page and card titles; utility headings stay sans. */
:root body :is(h1, .wp-page-header__title, .wp-card__title,
  .workspace-dashboard__card h2, .employee-today__card h2,
  .employer-dashboard__heading h2, .job-seeker-dashboard__heading h2) {
  font-family: var(--wp-font-display) !important;
  font-weight: 500 !important;
  font-optical-sizing: auto;
}
:root body :is(h1, h2, h3, h4, h5, h6, [class*="__title"], [class*="__heading"], .wp-waypoint-wordmark) {
  text-shadow: none !important;
  background-image: none !important;
  -webkit-text-fill-color: currentColor !important;
}
:root body :is(h1, h2, h3, h4, h5, h6) { color: var(--wp-color-text); }
:root body :is([class*="eyebrow"], [class$="__group"]) {
  font: var(--wp-font-eyebrow-weight) var(--wp-font-eyebrow-size)/1.5 var(--wp-font-sans) !important;
  letter-spacing: var(--wp-font-eyebrow-spacing) !important;
  text-transform: uppercase;
  color: var(--wp-color-primary);
}
:root body :is(.wp-button--primary, .wp-button--danger) { background-image: none !important; }
:root body .wp-button--primary { background-color: var(--wp-color-primary) !important; color: var(--wp-color-primary-contrast) !important; border-color: var(--wp-color-primary); }
:root body .wp-button--secondary { background: var(--wp-color-surface); color: var(--wp-color-primary); border-color: var(--wp-color-border); }
:root body :is(.wp-table-wrapper, .wp-modal__header, .myhr-shell__header, .waypoint-admin-shell__header) {
  background: var(--wp-color-surface) !important;
  border-color: var(--wp-color-border);
}
:root body :is(button, a, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--wp-color-primary);
  outline-offset: 2px;
}
:root body :is(.myhr-navigation, .waypoint-admin-shell__sidebar) { background: var(--wp-color-bg) !important; }
:root body .myhr-navigation nav a.is-active { background: var(--wp-color-primary-deep); color: #FBF9F3; }
:root body .wp-modal__backdrop { background: rgb(11 21 18 / 65%); }

:root body :is(h1, .wp-page-header__title, .wp-card__title) :is(span, strong, em) {
  font-family: var(--wp-font-display) !important;
  font-weight: 500 !important;
}

:root body :is([class$="__card"], [class$="__panel"], .wp-card) > :is(h2, h3) {
  font-family: var(--wp-font-display) !important;
  font-weight: 500 !important;
}
:root body .employee-today__card--past { background-color: var(--wp-color-neutral-bg) !important; }
