:root {
  --diget-font-sans: "Segoe UI", system-ui, -apple-system, sans-serif;
  --diget-radius: 0.5rem;
  --diget-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.08);
  --diget-body-bg: #f8f9fa;
  --diget-surface: #ffffff;
  --diget-text: #212529;
  --diget-text-muted: #6c757d;
  --diget-primary: #6650a4;
  --diget-primary-rgb: 102, 80, 164;
  --diget-accent: #7d5260;
  --diget-nav-bg: #ffffff;
  --diget-nav-text: #212529;
  --diget-nav-border: #e9ecef;
  --diget-sidebar-bg: #212529;
  --diget-sidebar-text: #f8f9fa;
  --diget-sidebar-width: 240px;
}

body.diget-theme {
  font-family: var(--diget-font-sans);
  background: var(--diget-body-bg);
  color: var(--diget-text);
}

.diget-theme .btn-primary {
  --bs-btn-bg: var(--diget-primary);
  --bs-btn-border-color: var(--diget-primary);
  --bs-btn-color: var(--diget-primary-button-text, #ffffff);
  --bs-btn-hover-bg: color-mix(in srgb, var(--diget-primary) 85%, black);
  --bs-btn-hover-border-color: color-mix(in srgb, var(--diget-primary) 85%, black);
  --bs-btn-active-bg: color-mix(in srgb, var(--diget-primary) 75%, black);
  --bs-btn-active-border-color: color-mix(in srgb, var(--diget-primary) 75%, black);
}

.diget-theme .text-accent {
  color: var(--diget-accent) !important;
}

.diget-theme .diget-stat-card {
  background: var(--diget-surface);
  border: 1px solid var(--diget-nav-border);
  border-radius: var(--diget-radius);
  box-shadow: var(--diget-shadow);
  padding: 1.25rem;
}

.diget-theme .diget-stat-card .stat-value {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.2;
}

.diget-theme .diget-stat-card .stat-label {
  color: var(--diget-text-muted);
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

.diget-theme .diget-role-badge {
  background: rgba(var(--diget-primary-rgb), 0.12);
  color: var(--diget-primary);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  text-transform: uppercase;
}

.diget-theme .diget-modal-ops .modal-header {
  border-bottom-color: var(--diget-nav-border);
}

.diget-theme .diget-modal-ops .modal-footer {
  border-top-color: var(--diget-nav-border);
}

.diget-theme .diget-field-row {
  align-items: center;
  border-bottom: 1px solid var(--diget-nav-border);
  display: flex;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 0.65rem 0;
}

.diget-theme .border-accent {
  border-color: var(--diget-accent) !important;
}

.diget-theme .diget-page-header {
  margin-bottom: 1.5rem;
}

.diget-theme .diget-page-header h1 {
  font-size: 1.5rem;
  margin-bottom: 0.25rem;
}

.diget-theme .diget-page-header p {
  color: var(--diget-text-muted);
  margin-bottom: 0;
}

.diget-event-calendar {
  max-width: 48rem;
}

.diget-calendar-day-events .diget-calendar-event-card + .diget-calendar-event-card {
  margin-top: 0.75rem;
}

.diget-calendar-event-image {
  display: block;
  min-height: 88px;
  object-fit: cover;
}

.diget-calendar-event-card .diget-event-card-placeholder {
  min-height: 88px;
}

.diget-calendar-weekdays,
.diget-calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
}

.diget-calendar-weekdays span {
  font-size: 0.75rem;
  font-weight: 600;
  text-align: center;
  color: var(--diget-text-muted);
}

.diget-calendar-cell {
  min-height: 3.25rem;
  border: 1px solid var(--diget-border, #dee2e6);
  border-radius: 0.5rem;
  background: var(--diget-surface-card, #fff);
}

.diget-calendar-cell-empty {
  border-color: transparent;
  background: transparent;
}

.diget-calendar-day {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.35rem;
  cursor: pointer;
  color: inherit;
}

.diget-calendar-day.has-events {
  border-color: var(--diget-primary);
}

.diget-calendar-day.is-selected {
  background: color-mix(in srgb, var(--diget-primary) 12%, transparent);
  border-color: var(--diget-primary);
}

.diget-calendar-day-number {
  font-weight: 600;
}

.diget-calendar-day-badge {
  font-size: 0.65rem;
  line-height: 1;
  padding: 0.1rem 0.35rem;
  border-radius: 999px;
  background: var(--diget-primary);
  color: var(--diget-primary-contrast, #fff);
}
