/* RuyaTech brand tokens. Scoped to the Intelli master; other masters are unaffected. */
:root {
    --ruya-midnight: #06041A;
    --ruya-violet: #9B7DFF;
    --ruya-lavender: #C8B7FF;
    --ruya-bg: #F6F4FC;
    --ruya-panel: #FFFFFF;
    --ruya-raised: #F0ECFA;
    --ruya-hover: #E7E0F7;
    --ruya-border: #D8D0E9;
    --ruya-text: #17112B;
    --ruya-muted: #625A75;
    --ruya-accent: #6841C9;
    --ruya-on-accent: #FFFFFF;
    --ruya-soft: #EDE6FF;
    --ruya-gradient: linear-gradient(135deg, #C8B7FF, #9B7DFF 55%, #7A4EFF);
}
:root.dark {
    color-scheme: dark;
    --ruya-bg: #06041A;
    --ruya-panel: #111020;
    --ruya-raised: #19132E;
    --ruya-hover: #251C40;
    --ruya-border: #352A4D;
    --ruya-text: #F6F3FF;
    --ruya-muted: #B4AEC5;
    --ruya-accent: #C8B7FF;
    --ruya-on-accent: #06041A;
    --ruya-soft: #271D46;
}
body.ruya-app { background: var(--ruya-bg) !important; color: var(--ruya-text) !important; font-family: Inter, sans-serif; }
.ruya-app h1, .ruya-app h2, .ruya-app h3 { letter-spacing: -.025em; }
.ruya-app main { min-width: 0; }
.ruya-app .ruya-content { background: radial-gradient(ellipse at 80% 0, rgba(155,125,255,.09), transparent 55%), var(--ruya-bg) !important; }
.ruya-app .glass-panel { background: var(--ruya-panel) !important; border-color: var(--ruya-border) !important; }
.ruya-app .ruya-sidebar.glass-panel { background: #0C081F !important; border-color: #302443 !important; color: #FFF; }
.ruya-app .ruya-brand { height: 88px; flex-shrink: 0; padding: 18px 24px; border-color: #302443 !important; }
.ruya-logo { display: block; width: 192px; height: auto; flex-shrink: 0; }
.ruya-header-mark { width: 36px; height: 36px; flex-shrink: 0; }
.ruya-app .ruya-sidebar nav { padding-top: 24px; }
.ruya-app .ruya-sidebar nav :is(.text-slate-400,.text-slate-500) { color: #B4AEC5 !important; }
.ruya-app .ruya-sidebar nav :is(a,button):hover { background: #251C40 !important; color: #FFF !important; }
.ruya-app .ruya-sidebar nav .bg-slate-900 { background: #9B7DFF !important; color: #06041A !important; box-shadow: 0 4px 20px #9b7dff26; }
.ruya-app .ruya-sidebar nav .bg-slate-900 * { color: #06041A !important; }
.ruya-app .ruya-sidebar nav .font-bold.bg-slate-100\/80 { background: #271D46 !important; color: #C8B7FF !important; }
.ruya-app .ruya-plan { background: linear-gradient(135deg,#30204F,#120B35) !important; border: 1px solid #674D99; box-shadow: 0 4px 20px #9b7dff18 !important; }
.ruya-app .ruya-plan, .ruya-app .ruya-plan * { color: #F6F3FF !important; }
.ruya-app .ruya-topbar { height: 88px; gap: 16px; }
.ruya-app .ruya-header-left { width: auto; min-width: 0; flex: 1; gap: 16px; }
.ruya-app .ruya-header-actions { width: auto; flex-shrink: 0; }
.ruya-app .ruya-company { min-width: 0; }
.ruya-company h2 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ruya-mobile-backdrop { display: none; }
.ruya-app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=button]):not([type=submit]),textarea,select,.glass-input,.form-control,.select2-selection,.select2-dropdown,.dropdown-menu,.bootstrap-select .dropdown-toggle) {
    background-color: var(--ruya-panel) !important; color: var(--ruya-text) !important; border-color: var(--ruya-border) !important;
}
.ruya-app ::placeholder { color: var(--ruya-muted); opacity: 1; }
.ruya-app :is(input,textarea,select,button,a):focus-visible { outline: 2px solid var(--ruya-accent) !important; outline-offset: 3px; }
.ruya-app :is(input[type=checkbox],input[type=radio]) { accent-color: #9B7DFF; }
.ruya-app :is(.premium-card,.modal-content,.sweet-alert,.introjs-tooltip,.flatpickr-calendar,.grid-item,.circle-box,.premium-breadcrumb-wrapper) { background: var(--ruya-panel) !important; color: var(--ruya-text); border-color: var(--ruya-border) !important; }
.ruya-app :is(.modern-grid,.premium-grid,.dataTable,table) th { background: var(--ruya-raised) !important; color: var(--ruya-muted) !important; border-color: var(--ruya-border) !important; }
.ruya-app :is(.modern-grid,.premium-grid,.dataTable,table) td { color: var(--ruya-text); border-color: var(--ruya-border) !important; }
.ruya-app :is(.modern-grid,.premium-grid,.dataTable,table) tbody tr { background-color: var(--ruya-panel); }
.ruya-app :is(.modern-grid,.premium-grid,.dataTable,table) tbody tr:hover > td { background-color: var(--ruya-hover) !important; }
.ruya-app :is(.grid-item-container,.modal-footer,.chart-action) { background: var(--ruya-raised) !important; border-color: var(--ruya-border) !important; }
.ruya-app :is(.dropdown-menu li a,.select2-results__option,.sweet-alert p,.sweet-alert h2,.flatpickr-day) { color: var(--ruya-text); }
.ruya-app :is(.btn-primary,.btn-info,.sweet-alert button.confirm) { background: var(--ruya-accent) !important; border-color: var(--ruya-accent) !important; color: var(--ruya-on-accent) !important; }
.ruya-app :is(.btnSave,#CreateSurvy) { background: #9B7DFF !important; color: #06041A !important; box-shadow: 0 4px 20px rgba(155,125,255,.2); }
.ruya-app :is(.btnSave,#CreateSurvy):hover { background: #C8B7FF !important; }
.ruya-app #ruyaThemeToggle:hover { background: var(--ruya-hover) !important; }
.ruya-app #pageLoader { background: var(--ruya-bg) !important; }
.ruya-app #pageLoader .ruya-logo { background: #06041A; border-radius: 8px; padding: 12px; box-sizing: content-box; }
.ruya-app .logo-mask { width: 64px; height: 64px; background: var(--ruya-gradient); }
.ruya-app .method-radio:checked + div { background: var(--ruya-soft) !important; border-color: var(--ruya-accent) !important; }
.ruya-app .switch .lever::after { background: #FFF; }
.ruya-app input[type=file]::file-selector-button { background: #6841C9; color: #FFF; }
.ruya-app .highcharts-background { fill: var(--ruya-panel); }
.ruya-app :is(.highcharts-title,.highcharts-subtitle,.highcharts-axis-labels text,.highcharts-axis-title,.highcharts-legend-item text) { fill: var(--ruya-muted) !important; }
.ruya-app :is(.flatpickr-current-month,.flatpickr-weekday,.flatpickr-months .flatpickr-month,.flatpickr-time input) { color: var(--ruya-text) !important; }
.ruya-app ::-webkit-scrollbar-thumb { background: var(--ruya-border); }
.ruya-theme-sun { display: none; }
/* Creation cards keep readable text on a fixed brand surface in either theme. */
.ruya-app #defaultModal .d-create-card { background: #6841C9 !important; color: #FFF !important; }
.ruya-app #defaultModal .d-create-card:hover { background: #5432AB !important; }
.ruya-app #defaultModal #ancAI { background: #291B46 !important; }
.ruya-app #defaultModal #ancAI:hover { background: #39265E !important; }
.ruya-app #defaultModal .d-create-card .text-sm { color: #F6F3FF !important; }
.dark .ruya-theme-sun { display: inline-block; }
.dark .ruya-theme-moon { display: none; }
@media (max-width: 767px) {
    .ruya-app .ruya-sidebar { display: flex !important; position: fixed; inset-block: 0; inset-inline-start: 0; z-index: 60; max-width: calc(100vw - 48px); }
    .ruya-mobile-backdrop { display: block; position: fixed; inset: 0; background: #06041ab3; backdrop-filter: blur(3px); z-index: 55; }
    .ruya-app .ruya-topbar { height: 72px; padding-inline: 12px; gap: 8px; }
    .ruya-app .ruya-header-left { gap: 8px; }
    .ruya-app .ruya-header-actions { gap: 4px; }
    .ruya-app .ruya-brand { padding-inline: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    .ruya-app *, .ruya-app *::before, .ruya-app *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
@media print {
    body.ruya-app { --ruya-bg: #fff; --ruya-panel: #fff; --ruya-raised: #f4f4f4; --ruya-text: #111; --ruya-muted: #444; --ruya-border: #ccc; color-scheme: light; }
    .ruya-sidebar, .ruya-topbar { display: none !important; }
}
