@import url('https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap');

:root {
  --sw-font-sans: "Google Sans", sans-serif;
  --sw-canvas: #f8fafc;
  --sw-canvas-warm: #fafaf9;
  --sw-surface: #ffffff;
  --sw-surface-subtle: #f1f5f9;
  --sw-surface-hover: #f8fafc;
  --sw-border: #e2e8f0;
  --sw-border-strong: #cbd5e1;
  --sw-text: #0f172a;
  --sw-text-soft: #334155;
  --sw-text-muted: #64748b;
  --sw-text-subtle: #94a3b8;
  --sw-primary: #d97706;
  --sw-primary-hover: #b45309;
  --sw-primary-active: #92400e;
  --sw-primary-soft: #fff7ed;
  --sw-primary-border: #fed7aa;
  --sw-success: #16a34a;
  --sw-success-deep: #166534;
  --sw-success-soft: #f0fdf4;
  --sw-success-border: #bbf7d0;
  --sw-info: #2563eb;
  --sw-info-deep: #1d4ed8;
  --sw-info-soft: #eff6ff;
  --sw-info-border: #bfdbfe;
  --sw-warning: #d97706;
  --sw-warning-deep: #92400e;
  --sw-warning-soft: #fff7ed;
  --sw-warning-border: #fed7aa;
  --sw-danger: #dc2626;
  --sw-danger-deep: #991b1b;
  --sw-danger-soft: #fef2f2;
  --sw-danger-border: #fecaca;
  --sw-radius-md: 8px;
  --sw-radius-lg: 10px;
  --sw-radius-xl: 12px;
  --sw-radius-modal: 14px;
  --sw-shadow-card: 0 1px 2px rgba(15, 23, 42, 0.04);
  --sw-shadow-dropdown: 0 18px 40px rgba(15, 23, 42, 0.14);
  --sw-shadow-modal: 0 24px 70px rgba(15, 23, 42, 0.22);
  --bs-font-sans-serif: var(--sw-font-sans);
  --bs-body-font-family: var(--sw-font-sans);
  --bs-body-bg: var(--sw-canvas);
  --bs-body-color: var(--sw-text);
  --bs-heading-color: var(--sw-text);
  --bs-secondary-color: var(--sw-text-muted);
  --bs-primary: var(--sw-primary);
  --bs-primary-rgb: 217, 119, 6;
  --bs-link-color: var(--sw-primary);
  --bs-link-hover-color: var(--sw-primary-hover);
  --bs-border-color: var(--sw-border);
  --bs-border-radius: var(--sw-radius-md);
  --bs-focus-ring-color: rgba(217, 119, 6, 0.16);
  --bs-primary-bg-subtle: var(--sw-primary-soft);
  --bs-primary-border-subtle: var(--sw-primary-border);
}

html,
body,
body.app,
body.public-shell,
body.app-shell,
body.central-shell {
  background: var(--sw-canvas) !important;
  color: var(--sw-text) !important;
  font-family: var(--sw-font-sans) !important;
  letter-spacing: 0 !important;
}

body.public-shell,
.public-shell .hero {
  background: var(--sw-canvas-warm) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  color: var(--sw-text) !important;
  font-family: var(--sw-font-sans) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

p,
.text-body,
.text-body-secondary {
  color: var(--sw-text-muted) !important;
}

a,
.text-primary,
.page-link {
  color: var(--sw-primary) !important;
}

a:hover,
.page-link:hover {
  color: var(--sw-primary-hover) !important;
}

.app-wrapper .container-fluid {
  background: var(--sw-canvas) !important;
}

.site-header {
  background: var(--sw-surface) !important;
  border-bottom-color: var(--sw-border) !important;
}

.eyebrow,
.public-shell .eyebrow {
  color: var(--sw-primary) !important;
  letter-spacing: 0.04em !important;
}

.btn {
  border-radius: var(--sw-radius-md) !important;
  font-family: var(--sw-font-sans) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

.btn-primary,
.bg-primary,
.text-bg-primary {
  background-color: var(--sw-primary) !important;
  border-color: var(--sw-primary) !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--sw-primary-hover) !important;
  border-color: var(--sw-primary-hover) !important;
}

.btn-light,
.btn-secondary,
.btn-outline-secondary,
.btn-action-secondary {
  background: var(--sw-surface) !important;
  border-color: var(--sw-border-strong) !important;
  color: var(--sw-text-soft) !important;
}

.btn-light:hover,
.btn-secondary:hover,
.btn-outline-secondary:hover,
.btn-action-secondary:hover {
  background: var(--sw-surface-hover) !important;
  color: var(--sw-text) !important;
}

.btn-danger,
.btn-outline-danger,
.btn-action-danger {
  background: var(--sw-surface) !important;
  border-color: var(--sw-danger-border) !important;
  color: var(--sw-danger) !important;
}

.btn-danger:hover,
.btn-outline-danger:hover,
.btn-action-danger:hover {
  background: var(--sw-danger-soft) !important;
  color: var(--sw-danger-deep) !important;
}

.card,
.sw-card,
.surface-card,
.table-card,
.form-panel,
.option-card {
  background: var(--sw-surface) !important;
  border: 1px solid var(--sw-border) !important;
  border-radius: var(--sw-radius-lg) !important;
  box-shadow: var(--sw-shadow-card) !important;
}

.card-header,
.sw-card .card-header {
  background: transparent !important;
  border-bottom: 1px solid var(--sw-border) !important;
}

.sw-stat-value {
  color: var(--sw-text) !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.sw-stat-label {
  color: var(--sw-text-muted) !important;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
}

.form-label,
label {
  color: var(--sw-text-soft) !important;
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
}

.form-control,
.form-select,
.sw-control,
.bootstrap-select > .dropdown-toggle {
  min-height: 42px !important;
  background-color: var(--sw-surface) !important;
  border-color: var(--sw-border-strong) !important;
  border-radius: var(--sw-radius-md) !important;
  color: var(--sw-text) !important;
  font-family: var(--sw-font-sans) !important;
  font-size: 0.875rem !important;
  box-shadow: none !important;
}

.form-control::placeholder,
.sw-control::placeholder {
  color: var(--sw-text-subtle) !important;
}

.form-control:focus,
.form-select:focus,
.sw-control:focus {
  border-color: var(--sw-primary) !important;
  box-shadow: 0 0 0 0.2rem rgba(217, 119, 6, 0.14) !important;
}

.table,
.sw-table {
  --bs-table-bg: var(--sw-surface);
  --bs-table-color: var(--sw-text);
  --bs-table-border-color: var(--sw-border);
  color: var(--sw-text) !important;
  font-size: 0.8125rem !important;
}

.table thead th,
.sw-table thead th {
  background: var(--sw-surface-subtle) !important;
  border-bottom: 1px solid var(--sw-border) !important;
  color: var(--sw-text-muted) !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
}

.table tbody td,
.sw-table tbody td {
  border-bottom: 1px solid var(--sw-border) !important;
  color: var(--sw-text-soft) !important;
  font-size: 0.8125rem !important;
}

.table tbody tr:hover,
.sw-table tbody tr:hover {
  background: var(--sw-surface-hover) !important;
}

.badge,
.sw-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.375rem !important;
  border-radius: 999px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  padding: 0.275rem 0.55rem !important;
  text-transform: capitalize !important;
}

.badge.bg-secondary,
.bg-secondary-subtle,
.sw-badge-muted {
  background: var(--sw-surface-subtle) !important;
  color: var(--sw-text-soft) !important;
}

.badge.bg-info,
.bg-info-subtle {
  background: var(--sw-info-soft) !important;
  border: 1px solid var(--sw-info-border) !important;
  color: var(--sw-info-deep) !important;
}

.badge.bg-warning,
.bg-warning-subtle {
  background: var(--sw-warning-soft) !important;
  border: 1px solid var(--sw-warning-border) !important;
  color: var(--sw-warning-deep) !important;
}

.badge.bg-success,
.bg-success-subtle {
  background: var(--sw-success-soft) !important;
  border: 1px solid var(--sw-success-border) !important;
  color: var(--sw-success-deep) !important;
}

.badge.bg-danger,
.bg-danger-subtle {
  background: var(--sw-danger-soft) !important;
  border: 1px solid var(--sw-danger-border) !important;
  color: var(--sw-danger-deep) !important;
}

.badge.bg-primary,
.bg-primary-subtle,
.badge-standard {
  background: var(--sw-primary-soft) !important;
  border: 1px solid var(--sw-primary-border) !important;
  color: var(--sw-primary-hover) !important;
}

.modal-content {
  border: 0 !important;
  border-radius: var(--sw-radius-modal) !important;
  box-shadow: var(--sw-shadow-modal) !important;
}

.modal-header,
.modal-footer {
  border-color: var(--sw-border) !important;
}

.dropdown-menu,
.sw-toast {
  border: 0 !important;
  border-radius: var(--sw-radius-xl) !important;
  box-shadow: var(--sw-shadow-dropdown) !important;
}

.dropdown-item {
  border-radius: var(--sw-radius-md) !important;
  color: var(--sw-text-soft) !important;
  font-weight: 600 !important;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active {
  background: var(--sw-primary-soft) !important;
  color: var(--sw-primary-hover) !important;
}

.sw-toast .toast-body {
  color: var(--sw-text-muted) !important;
}

.page-item.active .page-link {
  background-color: var(--sw-primary) !important;
  border-color: var(--sw-primary) !important;
  color: #ffffff !important;
}

.sw-app-footer,
.sw-auth-footer {
  color: var(--sw-text-muted) !important;
  font-family: var(--sw-font-sans) !important;
}
