:root {
  --color-primary:    #605f6d;
  --color-primary-h:  #4338ca;
  --color-bg:         #f9fafb;
  --color-surface:    #ffffff;
  --color-header-bg:  #ffffff;
  --color-text:       #111827;
  --color-muted:      #6b7280;
  --color-border:     #e5e7eb;
  --color-link:       #4f46e5;
}

/* ── Frontend overrides ── */
body   { background-color: var(--color-bg)      !important; color: var(--color-text) !important; }
header { background-color: var(--color-header-bg) !important; border-color: var(--color-border) !important; }
footer { background-color: var(--color-surface)  !important; border-color: var(--color-border) !important; }

.bg-white   { background-color: var(--color-surface) !important; }
.bg-gray-50 { background-color: var(--color-bg)      !important; }

.bg-indigo-600              { background-color: var(--color-primary)   !important; }
.bg-indigo-700              { background-color: var(--color-primary-h) !important; }
.hover:bg-indigo-700:hover { background-color: var(--color-primary-h) !important; }

.text-indigo-600, .text-indigo-700       { color: var(--color-primary) !important; }
.hover:text-indigo-600:hover,
.hover:text-indigo-800:hover            { color: var(--color-primary-h) !important; }

.text-gray-900, .text-gray-800,
.text-gray-700                           { color: var(--color-text)  !important; }
.text-gray-600, .text-gray-500,
.text-gray-400                           { color: var(--color-muted) !important; }

.border-gray-200, .border-gray-100,
.border-gray-300                         { border-color: var(--color-border) !important; }

a                                        { color: var(--color-link); }

/* rounded card inputs */
input[type=text], input[type=email],
input[type=password], input[type=number],
textarea, select {
  background-color: var(--color-surface) !important;
  color:            var(--color-text)    !important;
  border-color:     var(--color-border)  !important;
}

/* ── ActiveAdmin overrides ── */
#header                                  { background: var(--color-primary)   !important; border-bottom: none !important; }
#header h1 a,
#header #utility_nav a,
#header #tabs li a                       { color: rgba(255,255,255,0.88) !important; }
#header #tabs li.current a               { color: #fff !important; border-bottom: 2px solid #fff !important; }

#active_admin_content,
#wrapper                                 { background: var(--color-bg) !important; }
#sidebar                                 { background: var(--color-surface) !important; border-color: var(--color-border) !important; }
#sidebar h3                              { color: var(--color-primary) !important; border-color: var(--color-border) !important; }

.panel > h3, .panel_contents > h3        { color: var(--color-primary) !important; border-color: var(--color-border) !important; }
.panel                                   { background: var(--color-surface) !important; border-color: var(--color-border) !important; }

a.button, input[type=submit],
.action_items .action_item a,
#active_admin_content .button            { background: var(--color-primary)   !important; border-color: var(--color-primary-h) !important; color: #fff !important; }
a.button:hover, input[type=submit]:hover { background: var(--color-primary-h) !important; }

table.index_table th                     { color: var(--color-text) !important; border-color: var(--color-border) !important; }
table.index_table td                     { border-color: var(--color-border) !important; color: var(--color-text) !important; }
table.index_table tbody tr:hover td      { background: var(--color-bg) !important; }
