/* v2 theme compatibility layer. Color/contrast only; no layout changes. */
html,body{background:var(--background-color)!important;color:var(--text-color)!important}
body :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,label,legend,li,dt,dd){border-color:var(--border-color)}
/* Common surfaces */
:where(.card,.admin-card,.content-card,.settings-card,.form-card,.panel,.panel-card,.stat-card,.info-card,.detail-card,.service-card,.order-card,.ticket-card,.modal-content,.dropdown-menu,.table-container,.table-responsive){background-color:var(--card-bg-color);color:var(--card-text-color);border-color:var(--border-color)}
:where(.card,.admin-card,.content-card,.settings-card,.form-card,.panel,.panel-card,.stat-card,.info-card,.detail-card,.service-card,.order-card,.ticket-card,.modal-content,.dropdown-menu) :where(h1,h2,h3,h4,h5,h6,strong,label,legend){color:var(--card-text-color)}
:where(.card,.admin-card,.content-card,.settings-card,.form-card,.panel,.panel-card,.stat-card,.info-card,.detail-card,.service-card,.order-card,.ticket-card,.modal-content,.dropdown-menu) :where(p,small,.text-muted,.muted,.description,.hint,.help-text,.form-hint){color:var(--card-muted-text-color)!important}
/* Links */
a:not(.btn):not(.nav-item):not(.nav-link):not(.topbar-btn):not(.sidebar-logo){color:var(--accent-text-color)}
a:not(.btn):not(.nav-item):not(.nav-link):hover{filter:brightness(1.08)}
/* Inputs */
:where(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea,.form-control,.form-select){background:var(--input-bg-color)!important;color:var(--input-text-color)!important;border-color:var(--border-color)!important}
:where(input,textarea)::placeholder{color:var(--card-muted-text-color)!important;opacity:.82}
select option{background:var(--card-bg-color);color:var(--card-text-color)}
/* Buttons */
:where(.btn-primary,.button-primary,button.primary,.primary-btn){background:var(--button-color)!important;color:var(--button-text-color)!important;border-color:var(--button-color)!important}
:where(.btn-primary,.button-primary,button.primary,.primary-btn):hover{background:var(--button-hover-color)!important;color:var(--button-text-color)!important;border-color:var(--button-hover-color)!important}
:where(.btn-secondary,.button-secondary,button.secondary,.secondary-btn){background:var(--card-bg-color)!important;color:var(--secondary-button-text-color)!important;border-color:var(--border-color)!important}
:where(.btn-secondary,.button-secondary,button.secondary,.secondary-btn):hover{background:var(--surface-alt-color)!important;color:var(--card-text-color)!important}
:where(.btn-success,.status-success){background:var(--success-color)!important;color:var(--on-success-color)!important;border-color:var(--success-color)!important}
:where(.btn-danger,.status-danger){background:var(--danger-color)!important;color:var(--on-danger-color)!important;border-color:var(--danger-color)!important}
:where(.btn-warning,.status-warning){background:var(--warning-color)!important;color:var(--on-warning-color)!important;border-color:var(--warning-color)!important}
:where(.btn-info,.status-info){background:var(--info-color)!important;color:var(--on-info-color)!important;border-color:var(--info-color)!important}
button:disabled,.btn:disabled,.btn.disabled{opacity:.58!important;color:inherit}
/* Semantic messages */
:where(.alert-success,.success-box,.success-message){background:var(--success-soft-bg)!important;color:var(--card-text-color)!important;border-color:var(--success-soft-border)!important}
:where(.alert-danger,.alert-error,.danger-box,.error-box,.error-message){background:var(--danger-soft-bg)!important;color:var(--card-text-color)!important;border-color:var(--danger-soft-border)!important}
:where(.alert-warning,.warning-box,.warning-message){background:var(--warning-soft-bg)!important;color:var(--card-text-color)!important;border-color:var(--warning-soft-border)!important}
:where(.alert-info,.info-box,.info-message){background:var(--info-soft-bg)!important;color:var(--card-text-color)!important;border-color:var(--info-soft-border)!important}
:where(.alert-success,.success-box,.success-message) i{color:var(--success-color)!important}
:where(.alert-danger,.alert-error,.danger-box,.error-box,.error-message) i{color:var(--danger-color)!important}
:where(.alert-warning,.warning-box,.warning-message) i{color:var(--warning-color)!important}
:where(.alert-info,.info-box,.info-message) i{color:var(--info-color)!important}
/* Tables */
table{color:var(--card-text-color)}
:where(th,.table-header){color:var(--card-muted-text-color)!important;background:var(--surface-alt-color)!important;border-color:var(--border-color)!important}
td{color:var(--card-text-color);border-color:var(--border-color)!important}
tbody tr:hover td{background:var(--primary-alpha-005)}
/* Header/sidebar: keep dimensions untouched */
:where(.user-topbar,.admin-topbar,.topbar,.header){background-color:var(--header-bg-color);color:var(--header-text-color);border-color:var(--header-border-color)}
:where(.user-topbar,.admin-topbar,.topbar,.header) :where(h1,h2,h3,span,strong,label){color:inherit}
:where(.user-topbar,.admin-topbar,.topbar,.header) :where(.topbar-btn,.header-btn){color:var(--header-text-color)!important}
:where(.user-topbar,.admin-topbar,.topbar,.header) :where(.topbar-btn,.header-btn):hover{background:var(--header-hover-bg)!important;color:var(--header-text-color)!important}
:where(.user-sidebar,.admin-sidebar,.sidebar){background-color:var(--sidebar-bg-color);color:var(--sidebar-text-color);border-color:var(--border-color)}
:where(.user-sidebar,.admin-sidebar,.sidebar) :where(.nav-section,.nav-section-title,.sidebar-section-title){color:var(--sidebar-muted-text-color)!important}
:where(.user-sidebar,.admin-sidebar,.sidebar) :where(.nav-item,.nav-link,.sidebar-logo){color:var(--sidebar-text-color)!important}
:where(.user-sidebar,.admin-sidebar,.sidebar) :where(.nav-item,.nav-link):hover{background:var(--primary-soft-bg)!important;color:var(--sidebar-text-color)!important}
:where(.user-sidebar,.admin-sidebar,.sidebar) :where(.nav-item.active,.nav-link.active){background:var(--primary-soft-bg)!important;color:var(--sidebar-accent-color)!important}
/* Badges/status labels */
:where(.badge-success,.badge.completed,.status-badge.completed,.status-badge.success){background:var(--success-soft-bg)!important;color:var(--success-color)!important;border-color:var(--success-soft-border)!important}
:where(.badge-danger,.badge.failed,.badge.cancelled,.status-badge.failed,.status-badge.cancelled){background:var(--danger-soft-bg)!important;color:var(--danger-color)!important;border-color:var(--danger-soft-border)!important}
:where(.badge-warning,.badge.pending,.status-badge.pending){background:var(--warning-soft-bg)!important;color:var(--warning-color)!important;border-color:var(--warning-soft-border)!important}
:where(.badge-info,.badge.processing,.status-badge.processing,.status-badge.in_progress){background:var(--info-soft-bg)!important;color:var(--info-color)!important;border-color:var(--info-soft-border)!important}
/* Code / API documentation */
:where(.code-block,pre,code,.api-code){background:var(--surface-alt-color);color:var(--card-text-color);border-color:var(--border-color)}
/* Prevent inherited transparent/light text on ordinary cards */
:where(.doc-card,.api-card,.settings-section,.form-section) :where(h1,h2,h3,h4,p,span,label,strong,td){--_tc:var(--card-text-color)}
