/* Only active when Radzen loads one of the two custom theme stylesheets.
   Root variables also reach body-level popups and the standalone phone. */
html:has(link[href*="/neumorphic-"]),
html:has(link[href*="/neumorphic-"]) body :is(.app-layout,.admin-layout,.phone-shell) {
    --rz-primary: var(--neu-accent);
    --rz-on-primary: var(--neu-on-accent);
    --rz-secondary: var(--neu-muted);
    --rz-text-color: var(--neu-text);
    --rz-text-title-color: var(--neu-text);
    --rz-text-secondary-color: var(--neu-muted);
    --rz-body-background-color: var(--neu-surface);
    --rz-base-background-color: var(--neu-surface);
    --rz-input-background-color: var(--neu-surface);
    --rz-input-color: var(--neu-text);
    --rz-input-placeholder-color: var(--neu-muted);
    --rz-success: var(--neu-success);
    --rz-danger: var(--neu-danger);
    --rz-warning: var(--neu-warning);
    --rz-base-300: var(--neu-line);
    --rz-base-400: var(--neu-line);
    --rz-border-radius: 8px;
    --rz-input-border: 1px solid var(--neu-line);
    --rz-input-shadow: var(--neu-inset);
    --rz-input-hover-shadow: var(--neu-inset);
    --rz-input-focus-shadow: var(--neu-inset);
    --rz-input-hover-border: 1px solid var(--neu-accent);
    --rz-input-focus-border: 1px solid var(--neu-accent);
    --rz-grid-background-color: var(--neu-surface);
    --rz-grid-header-background-color: var(--neu-surface);
    --dme-theme-surface: var(--neu-surface);
    --dme-theme-accent: var(--neu-accent);
    --dme-theme-secondary: var(--neu-muted);
    --dme-theme-line: var(--neu-line);
    --dme-theme-surface-radius: 10px;
    --dme-theme-shadow: var(--neu-raised);
}
html:has(link[href*="/neumorphic-"]) body {
    color:var(--neu-text); background:var(--neu-surface);
}
html:has(link[href*="/neumorphic-"]) body :is(.app-backdrop,.admin-backdrop) {
    background:var(--neu-surface) !important;
}
html:has(link[href*="/neumorphic-"]) body :is(.backdrop-glow,.backdrop-grid,.backdrop-routes,.backdrop-axis,.backdrop-data-mark),
html:has(link[href*="/neumorphic-"]) body :is(.app-backdrop,.admin-backdrop)::before,
html:has(link[href*="/neumorphic-"]) body :is(.app-backdrop,.admin-backdrop)::after { display:none; }
html:has(link[href*="/neumorphic-"]) body :is(.app-header,.admin-header) {
    background:var(--neu-surface) !important;
    border-color:var(--neu-line) !important;
    box-shadow:0 3px 9px var(--neu-shadow-dark), inset 0 1px 0 var(--neu-shadow-light) !important;
    backdrop-filter:none;
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-card,.catalog-card,.settings-card,.metric-card,.quick-card,.routing-panel,.phone-admin,.theme-preview-card) {
    color:var(--neu-text); background:var(--neu-surface) !important;
    border:1px solid color-mix(in srgb,var(--neu-line) 60%,var(--neu-surface)) !important;
    border-radius:10px; box-shadow:var(--neu-raised) !important; backdrop-filter:none !important;
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-dialog,.rz-notification-message,.phone-window,.phone-incoming,.incoming-call-stack,.call-details-float) {
    color:var(--neu-text); background:var(--neu-surface) !important;
    border-color:var(--neu-line); border-radius:10px;
    box-shadow:var(--neu-raised) !important;
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-dialog-titlebar,.rz-dialog-content,.rz-panel,.rz-panel-content) {
    color:var(--neu-text); background:var(--neu-surface);
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-dropdown-panel,.rz-multiselect-panel,.rz-datepicker-popup,.rz-menuitem-wrapper,.rz-context-menu,.rz-autocomplete-panel) {
    background:var(--neu-surface); color:var(--neu-text);
    border:1px solid var(--neu-line); box-shadow:var(--neu-raised);
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-textbox,.rz-inputtext,.rz-dropdown,.rz-multiselect,.rz-numeric,.rz-datepicker,.rz-textarea,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),textarea,select) {
    color:var(--neu-text); background:var(--neu-surface);
    border-color:var(--neu-line); border-radius:6px;
    box-shadow:var(--neu-inset) !important;
}
/* Compound Radzen inputs get one recessed outline, not nested shadows. */
html:has(link[href*="/neumorphic-"]) body :is(.rz-numeric,.rz-datepicker,.rz-dropdown,.rz-multiselect) input {
    box-shadow:none !important; background:transparent;
}
html:has(link[href*="/neumorphic-"]) body :is(input,textarea)::placeholder { color:var(--neu-muted); opacity:1; }
html:has(link[href*="/neumorphic-"]) body :is(.rz-button,button:not(.rz-dropdown-clear-icon):not(.rz-multiselect-clear-icon)) {
    border-radius:7px; box-shadow:var(--neu-small);
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-button.rz-variant-outlined,.rz-button.rz-light,.rz-button.rz-base,.phone-window button,.phone-incoming button,.routing-tabs button,.communication-button) {
    color:var(--neu-text); background:var(--neu-surface); border-color:var(--neu-line);
}
html:has(link[href*="/neumorphic-"]) body .rz-button.rz-primary:not(.rz-variant-text):not(.rz-variant-outlined) {
    color:var(--neu-on-accent); background:var(--neu-accent); border-color:var(--neu-accent);
}
html:has(link[href*="/neumorphic-"]) body :is(.phone-window,.phone-incoming) .answer {
    background:color-mix(in srgb,var(--neu-success) 16%,var(--neu-surface));
    color:var(--neu-text); border-color:var(--neu-success);
}
html:has(link[href*="/neumorphic-"]) body :is(.phone-window,.phone-incoming) .decline,
html:has(link[href*="/neumorphic-"]) body .rz-button.rz-danger:not(.rz-variant-text) {
    background:color-mix(in srgb,var(--neu-danger) 16%,var(--neu-surface));
    color:var(--neu-text); border-color:var(--neu-danger);
}
html:has(link[href*="/neumorphic-"]) body button:hover:not(:disabled) { border-color:var(--neu-accent); }
html:has(link[href*="/neumorphic-"]) body button:active:not(:disabled),
html:has(link[href*="/neumorphic-"]) body button[aria-pressed=true] { box-shadow:var(--neu-inset); }
html:has(link[href*="/neumorphic-"]) body :is(button,a,input,textarea,select,summary,[tabindex]):focus-visible {
    outline:2px solid var(--neu-accent) !important; outline-offset:2px;
}
/* Small row/dialog actions stay light and legible instead of looking like raised tiles. */
html:has(link[href*="/neumorphic-"]) body :is(.icon-action,.row-action,.rz-dialog-titlebar-close,.rz-button.rz-variant-text,.rz-button.rz-variant-text .rz-button-icon-only) {
    color:var(--neu-text); background:transparent; box-shadow:none;
}
html:has(link[href*="/neumorphic-"]) body .top-nav a {
    color:var(--neu-text) !important; background:var(--neu-surface) !important;
    border:1px solid transparent; border-radius:7px; box-shadow:var(--neu-small) !important;
}
html:has(link[href*="/neumorphic-"]) body .top-nav a.active {
    color:var(--neu-accent) !important; border-color:var(--neu-line); box-shadow:var(--neu-inset) !important;
}
html:has(link[href*="/neumorphic-"]) body .top-nav a.active .rzi { color:var(--neu-accent) !important; }
html:has(link[href*="/neumorphic-"]) body :is(.rz-data-grid,.rz-datatable) {
    background:var(--neu-surface); border:1px solid var(--neu-line); border-radius:8px; box-shadow:var(--neu-small);
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-grid-table,.rz-datatable-table) :is(th,td) {
    color:var(--neu-text); background:var(--neu-surface); border-color:color-mix(in srgb,var(--neu-line) 60%,var(--neu-surface));
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-grid-table,.rz-datatable-table) th {
    background:color-mix(in srgb,var(--neu-accent) 7%,var(--neu-surface));
    box-shadow:inset 0 1px 0 var(--neu-shadow-light);
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-grid-table,.rz-datatable-table) tr:hover td {
    background:color-mix(in srgb,var(--neu-accent) 8%,var(--neu-surface));
}
html:has(link[href*="/neumorphic-"]) body :is(.rz-grid-table,.rz-datatable-table) tr.rz-state-highlight td {
    background:color-mix(in srgb,var(--neu-accent) 16%,var(--neu-surface));
}
html:has(link[href*="/neumorphic-"]) body :is(.icon-action.danger,.row-action.danger) { color:var(--neu-danger); }
