/* Viridis standalone Primary palette authority v1
   Runtime authority for Viridis-owned HTML surfaces that do not load the
   authenticated CRM chrome. Tenant accent actions and semantic states remain
   intentionally authoritative. */

:root {
  color-scheme: light;
  --bg:#eef2f0 !important;
  --surface:#ffffff !important;
  --surface-elevated:#f8faf9 !important;
  --surface-soft:#edf3f0 !important;
  --border:#b8c5be !important;
  --border-strong:#a8b6ae !important;
  --line:#b8c5be !important;
  --text:#17251f !important;
  --ink:#17251f !important;
  --muted:#51645b !important;
  --green:#176b4d !important;
  --accent-green:#176b4d !important;
  --gold:#9c793a !important;
  --danger:#b93f46 !important;
  --red:#b93f46 !important;
  --warning:#9a6415 !important;
  --amber:#9a6415 !important;
  --info:#286fae !important;
  --sidebar-bg:#f6f8f7 !important;
  --input-bg:#f8faf9 !important;
  --input-bg-focus:#ffffff !important;
  --shadow:0 18px 42px rgba(36,54,46,.10) !important;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg:#111815 !important;
  --surface:#1a2420 !important;
  --surface-elevated:#17211d !important;
  --surface-soft:#202c27 !important;
  --border:#3e5248 !important;
  --border-strong:#52665b !important;
  --line:#3e5248 !important;
  --text:#edf5f1 !important;
  --ink:#edf5f1 !important;
  --muted:#b7c8bf !important;
  --green:#247a57 !important;
  --accent-green:#68d6a8 !important;
  --gold:#b8944d !important;
  --danger:#df6868 !important;
  --red:#df6868 !important;
  --warning:#c88924 !important;
  --amber:#c88924 !important;
  --info:#6fa7d8 !important;
  --sidebar-bg:#111815 !important;
  --input-bg:#17211d !important;
  --input-bg-focus:#202c27 !important;
  --shadow:0 18px 42px rgba(0,0,0,.18) !important;
}

html,
body {
  background-color:var(--bg) !important;
  color:var(--text) !important;
}

body.login-body,
body:has(.brand-plate) {
  background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--accent-green) 8%,transparent),transparent 34%),var(--bg) !important;
}

body:has(> main > header > .brand) {
  background:var(--bg) !important;
}

body > main > header,
.card,
.module,
.assigned,
.setup-banner,
.attention,
.empty,
.preview,
section {
  border-color:var(--border) !important;
  background-color:var(--surface) !important;
  color:var(--text) !important;
  box-shadow:none !important;
}

aside {
  border-color:var(--border) !important;
  background:var(--sidebar-bg) !important;
  color:var(--text) !important;
}

aside a,
aside span,
p,
.muted,
.description,
.tenant-brand small,
label {
  color:var(--muted) !important;
}

aside a:hover {
  background:var(--surface-soft) !important;
  color:var(--text) !important;
}

.tenant-brand-banner {
  border-color:var(--border) !important;
  background:var(--surface) !important;
  color:var(--text) !important;
}

.tenant-brand img,
.company-logo {
  border-color:var(--border) !important;
  background:var(--surface-elevated) !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
select,
textarea {
  border-color:var(--border) !important;
  background:var(--input-bg) !important;
  color:var(--text) !important;
  box-shadow:none !important;
}

input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):focus,
select:focus,
textarea:focus {
  border-color:var(--accent-green) !important;
  background:var(--input-bg-focus) !important;
  outline-color:color-mix(in srgb,var(--accent-green) 16%,transparent) !important;
}

input::placeholder,
textarea::placeholder {
  color:var(--muted) !important;
  opacity:.8 !important;
}

a {
  color:var(--green) !important;
}

.module {
  color:var(--text) !important;
}

.button:not(.danger),
.card button:not(.danger):not(.tenant-accent-button),
.login button:not(.danger):not(.tenant-accent-button),
.attention button:not(.danger):not(.tenant-accent-button) {
  border-color:var(--green) !important;
  background:var(--green) !important;
  color:#fff !important;
  box-shadow:none !important;
}

button.danger,
.button.danger,
.danger {
  border-color:var(--danger) !important;
  background:var(--danger) !important;
  color:#fff !important;
}

.top button,
.module span,
.setup-banner > a,
.tenant-accent-button {
  background:var(--tenant-accent) !important;
  color:var(--tenant-accent-text) !important;
}

.tenant-brand-banner a,
.setup-banner span {
  color:var(--tenant-accent) !important;
}

.module:hover,
.assigned,
.setup-banner {
  border-left-color:var(--tenant-accent) !important;
}

.setup-banner.agent {
  border-left-color:var(--border-strong) !important;
}

.status {
  color:var(--green) !important;
}

.status.INACTIVE,
.error {
  color:var(--danger) !important;
}

.error {
  border-color:color-mix(in srgb,var(--danger) 32%,var(--border)) !important;
  background:color-mix(in srgb,var(--danger) 10%,var(--surface)) !important;
}

.status.draft,
.status.pending,
.badge,
.notice {
  color:var(--warning) !important;
}

.badge,
.notice {
  border-color:color-mix(in srgb,var(--warning) 32%,var(--border)) !important;
  background:color-mix(in srgb,var(--warning) 10%,var(--surface)) !important;
}

code {
  border-color:var(--border) !important;
  background:var(--surface-soft) !important;
  color:var(--text) !important;
}

table,
thead,
tbody,
tr,
th,
td {
  border-color:var(--border) !important;
  color:var(--text) !important;
}

th {
  background:var(--surface-elevated) !important;
  color:var(--muted) !important;
}
