/* rc3.1 dark-pro — professional midnight UI (televox/linear style).
   Deep navy surfaces, brand-colored accent, blurred topbar. */
.template-dark-pro {
    color-scheme: dark;
    --bg: #0b1220;
    --surface: #111a2c;
    --surface-strong: #182338;
    --text: #e7eef8;
    --muted: #8ca0bc;
    --line: #243149;
    --shadow: 0 20px 50px rgba(0, 0, 0, 0.35);
}

.template-dark-pro.app-shell-body,
.template-dark-pro.center-body {
    background: var(--bg) !important;
}

.template-dark-pro .app-sidebar {
    background: #0d1524 !important;
    border-right: 1px solid var(--line) !important;
    color: var(--text);
}

.template-dark-pro .sidebar-brand {
    background: rgba(255, 255, 255, 0.05) !important;
    color: #ffffff !important;
}

.template-dark-pro .sidebar-group {
    color: #60708c !important;
}

.template-dark-pro .sidebar-nav a,
.template-dark-pro .sidebar-logout button {
    color: #9fb0cc !important;
}

.template-dark-pro .sidebar-nav a:hover,
.template-dark-pro .sidebar-logout button:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    color: #ffffff !important;
}

.template-dark-pro .sidebar-nav a.is-active {
    background: var(--primary) !important;
    color: #05261f !important;
    box-shadow: 0 10px 26px color-mix(in srgb, var(--primary) 45%, transparent) !important;
}

/* Topbar */
.template-dark-pro .topbar {
    background: rgba(17, 26, 44, 0.82) !important;
    border-bottom-color: var(--line) !important;
}

/* Cards */
.template-dark-pro .panel,
.template-dark-pro .login-panel {
    border-color: var(--line);
    border-radius: 16px !important;
    box-shadow: var(--shadow);
}

.template-dark-pro .panel:hover {
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.45) !important;
}

/* Rows, steps, requirements */
.template-dark-pro .requirement-row,
.template-dark-pro .summary-list > div,
.template-dark-pro .checklist-item,
.template-dark-pro .choice,
.template-dark-pro .step,
.template-dark-pro .ticket-message {
    background: var(--surface) !important;
    border-color: var(--line) !important;
    border-radius: 14px !important;
}

.template-dark-pro .step.is-active {
    border-color: var(--primary) !important;
    background: color-mix(in srgb, var(--primary) 18%, var(--surface)) !important;
    color: #d9f4ec !important;
}

/* Forms */
.template-dark-pro input,
.template-dark-pro textarea,
.template-dark-pro select {
    background: #0e1526;
    border-color: #2b3a55;
    color: #e7eef8;
}

.template-dark-pro input:focus,
.template-dark-pro textarea:focus,
.template-dark-pro select:focus {
    background: #101a2f;
}

/* Tables */
.template-dark-pro .data-table th {
    background: #131e33;
    color: #8ca0bc;
}

.template-dark-pro .data-table td {
    border-bottom-color: #223050;
}

.template-dark-pro .data-table tr:hover td {
    background: #15203a;
}

/* Secondary actions */
.template-dark-pro .button-secondary {
    background: var(--surface);
    border-color: #2b3a5c;
    color: var(--text);
}

.template-dark-pro .button-secondary:hover {
    background: #1a2740;
    border-color: #34476f;
}

.template-dark-pro .sidebar-button {
    background: var(--surface);
    border-color: #2b3a5c;
}

.template-dark-pro .lang-button {
    background: var(--surface);
    border-color: #2b3a5c;
    color: var(--text);
}

.template-dark-pro .lang-button:hover {
    border-color: var(--primary);
    color: #8fe6d2;
}

.template-dark-pro .alert-error {
    background: color-mix(in srgb, #b42318 16%, #1a1115);
    border-color: color-mix(in srgb, #b42318 45%, transparent);
    color: #ffb4ab;
}

.template-dark-pro .notice {
    background: #262014;
    border-color: #5a4a1d;
}

.template-dark-pro .success-block {
    background: color-mix(in srgb, #1f7a4d 16%, #101a15);
    border-color: color-mix(in srgb, #1f7a4d 40%, transparent);
    color: #9fe0bc;
}

.template-dark-pro .empty-state,
.template-dark-pro .muted {
    color: var(--muted);
}
