/* VYX Core palette only. Load after legacy styles in each document.
   No display, layout, dimensions, positioning or interaction rules. */
html[data-vyxcore-theme] body {
    --vyxcore-black: #080909;
    --vyxcore-surface: #111313;
    --vyxcore-gold: #d4af37;
    --vyxcore-silver: #bfc2c7;
    --vyxcore-border: #414442;
    color: #bfc2c7 !important;
    background-color: #080909 !important;
    background-image: none !important;
}

html[data-vyxcore-theme] body * {
    color: inherit !important;
    border-color: #414442 !important;
    text-shadow: none !important;
}

html[data-vyxcore-theme] body h1,
html[data-vyxcore-theme] body h2,
html[data-vyxcore-theme] body h3,
html[data-vyxcore-theme] body h4,
html[data-vyxcore-theme] body h5,
html[data-vyxcore-theme] body h6,
html[data-vyxcore-theme] body a,
html[data-vyxcore-theme] body .panel-title,
html[data-vyxcore-theme] body .accordion-header,
html[data-vyxcore-theme] body .widget-title,
html[data-vyxcore-theme] body .modal-header,
html[data-vyxcore-theme] body .navbar .brand {
    color: #d4af37 !important;
}

html[data-vyxcore-theme] body a:hover,
html[data-vyxcore-theme] body a:focus,
html[data-vyxcore-theme] body .muted,
html[data-vyxcore-theme] body .help-block,
html[data-vyxcore-theme] body .help-inline,
html[data-vyxcore-theme] body .silver,
html[data-vyxcore-theme] body .white,
html[data-vyxcore-theme] body .grey,
html[data-vyxcore-theme] body .red,
html[data-vyxcore-theme] body .green,
html[data-vyxcore-theme] body .blue,
html[data-vyxcore-theme] body .orange {
    color: #bfc2c7 !important;
}

html[data-vyxcore-theme] body .panel,
html[data-vyxcore-theme] body .panel-body,
html[data-vyxcore-theme] body .tabs-container,
html[data-vyxcore-theme] body .tabs-panels,
html[data-vyxcore-theme] body .layout-panel,
html[data-vyxcore-theme] body .layout-body,
html[data-vyxcore-theme] body .accordion,
html[data-vyxcore-theme] body .accordion-body,
html[data-vyxcore-theme] body .window,
html[data-vyxcore-theme] body .window-body,
html[data-vyxcore-theme] body .dialog-content,
html[data-vyxcore-theme] body .dialog-button,
html[data-vyxcore-theme] body .messager-body,
html[data-vyxcore-theme] body .modal,
html[data-vyxcore-theme] body .modal-body,
html[data-vyxcore-theme] body .modal-footer,
html[data-vyxcore-theme] body .popover,
html[data-vyxcore-theme] body .popover-content,
html[data-vyxcore-theme] body .widget,
html[data-vyxcore-theme] body .widget-content,
html[data-vyxcore-theme] body .box,
html[data-vyxcore-theme] body .box-content,
html[data-vyxcore-theme] body .well,
html[data-vyxcore-theme] body .card,
html[data-vyxcore-theme] body .container,
html[data-vyxcore-theme] body .container-fluid,
html[data-vyxcore-theme] body .content,
html[data-vyxcore-theme] body .main-content,
html[data-vyxcore-theme] body .tab-content,
html[data-vyxcore-theme] body .tab-pane,
html[data-vyxcore-theme] body iframe {
    color: #bfc2c7 !important;
    background-color: #080909 !important;
    background-image: none !important;
    box-shadow: none !important;
}

html[data-vyxcore-theme] body .panel-header,
html[data-vyxcore-theme] body .window-header,
html[data-vyxcore-theme] body .accordion-header,
html[data-vyxcore-theme] body .tabs-header,
html[data-vyxcore-theme] body .tabs-tool,
html[data-vyxcore-theme] body .navbar,
html[data-vyxcore-theme] body .navbar-inner,
html[data-vyxcore-theme] body .navbar-inverse .navbar-inner,
html[data-vyxcore-theme] body .sidebar,
html[data-vyxcore-theme] body .nav-collapse,
html[data-vyxcore-theme] body .breadcrumb,
html[data-vyxcore-theme] body .breadcrumbs,
html[data-vyxcore-theme] body .modal-header,
html[data-vyxcore-theme] body .widget-header,
html[data-vyxcore-theme] body .box-header,
html[data-vyxcore-theme] body .popover-title,
html[data-vyxcore-theme] body .footer,
html[data-vyxcore-theme] body footer {
    color: #d4af37 !important;
    background-color: #111313 !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Arrow sprites remain present; only their surrounding surface is recolored. */
html[data-vyxcore-theme] body .tabs-scroller-left,
html[data-vyxcore-theme] body .tabs-scroller-right {
    background-color: #111313 !important;
}

html[data-vyxcore-theme] body .tabs li a.tabs-inner,
html[data-vyxcore-theme] body .nav > li > a,
html[data-vyxcore-theme] body .nav-tabs > li > a,
html[data-vyxcore-theme] body .nav-pills > li > a,
html[data-vyxcore-theme] body .pagination ul > li > a,
html[data-vyxcore-theme] body .pagination ul > li > span,
html[data-vyxcore-theme] body .pager li > a,
html[data-vyxcore-theme] body .menu,
html[data-vyxcore-theme] body .menu-item,
html[data-vyxcore-theme] body .dropdown-menu,
html[data-vyxcore-theme] body .dropdown-menu > li > a {
    color: #bfc2c7 !important;
    background-color: #111313 !important;
    box-shadow: none !important;
}

html[data-vyxcore-theme] body .tabs li.tabs-selected a.tabs-inner,
html[data-vyxcore-theme] body .tabs li a.tabs-inner:hover,
html[data-vyxcore-theme] body .nav > li > a:hover,
html[data-vyxcore-theme] body .nav > .active > a,
html[data-vyxcore-theme] body .nav-tabs > .active > a,
html[data-vyxcore-theme] body .nav-tabs > .active > a:hover,
html[data-vyxcore-theme] body .nav-pills > .active > a,
html[data-vyxcore-theme] body .nav-pills > .active > a:hover,
html[data-vyxcore-theme] body .menu-active,
html[data-vyxcore-theme] body .dropdown-menu > li > a:hover,
html[data-vyxcore-theme] body .dropdown-menu > .active > a,
html[data-vyxcore-theme] body .pagination ul > .active > a,
html[data-vyxcore-theme] body .pagination ul > .active > span,
html[data-vyxcore-theme] body .tree-node-hover,
html[data-vyxcore-theme] body .tree-node-selected {
    color: #d4af37 !important;
    background-color: #242317 !important;
    background-image: none !important;
    border-color: #d4af37 !important;
}

html[data-vyxcore-theme] body table,
html[data-vyxcore-theme] body table td,
html[data-vyxcore-theme] body .datagrid,
html[data-vyxcore-theme] body .datagrid-view,
html[data-vyxcore-theme] body .datagrid-body,
html[data-vyxcore-theme] body .datagrid-body td,
html[data-vyxcore-theme] body .datagrid-footer,
html[data-vyxcore-theme] body .datagrid-footer td,
html[data-vyxcore-theme] body .datagrid-toolbar,
html[data-vyxcore-theme] body .datagrid-pager,
html[data-vyxcore-theme] body .pagination,
html[data-vyxcore-theme] body .dataTables_wrapper,
html[data-vyxcore-theme] body .flexigrid,
html[data-vyxcore-theme] body .flexigrid .bDiv {
    color: #bfc2c7 !important;
    background-color: #080909 !important;
    background-image: none !important;
}

html[data-vyxcore-theme] body table th,
html[data-vyxcore-theme] body .table thead th,
html[data-vyxcore-theme] body .datagrid-header,
html[data-vyxcore-theme] body .datagrid-header td,
html[data-vyxcore-theme] body .datagrid-header .datagrid-cell,
html[data-vyxcore-theme] body .datagrid-header-rownumber,
html[data-vyxcore-theme] body .datagrid-cell-rownumber,
html[data-vyxcore-theme] body .flexigrid .hDiv {
    color: #d4af37 !important;
    background-color: #111313 !important;
    background-image: none !important;
}

html[data-vyxcore-theme] body .table-striped tbody > tr:nth-child(odd) > td,
html[data-vyxcore-theme] body .table-striped tbody > tr:nth-child(odd) > th,
html[data-vyxcore-theme] body .datagrid-row-alt,
html[data-vyxcore-theme] body .datagrid-row-alt td {
    background-color: #151717 !important;
}

html[data-vyxcore-theme] body .table-hover tbody tr:hover > td,
html[data-vyxcore-theme] body .table-hover tbody tr:hover > th,
html[data-vyxcore-theme] body .datagrid-row-over,
html[data-vyxcore-theme] body .datagrid-row-over td,
html[data-vyxcore-theme] body .datagrid-row-selected,
html[data-vyxcore-theme] body .datagrid-row-selected td,
html[data-vyxcore-theme] body table tr.success > td,
html[data-vyxcore-theme] body table tr.error > td,
html[data-vyxcore-theme] body table tr.warning > td,
html[data-vyxcore-theme] body table tr.info > td {
    color: #d4af37 !important;
    background-color: #242317 !important;
}

html[data-vyxcore-theme] body input:not([type]),
html[data-vyxcore-theme] body input[type="text"],
html[data-vyxcore-theme] body input[type="password"],
html[data-vyxcore-theme] body input[type="email"],
html[data-vyxcore-theme] body input[type="number"],
html[data-vyxcore-theme] body input[type="search"],
html[data-vyxcore-theme] body input[type="tel"],
html[data-vyxcore-theme] body input[type="url"],
html[data-vyxcore-theme] body input[type="date"],
html[data-vyxcore-theme] body input[type="time"],
html[data-vyxcore-theme] body textarea,
html[data-vyxcore-theme] body select,
html[data-vyxcore-theme] body option,
html[data-vyxcore-theme] body .uneditable-input,
html[data-vyxcore-theme] body .input,
html[data-vyxcore-theme] body .inputs,
html[data-vyxcore-theme] body .textbox,
html[data-vyxcore-theme] body .textbox-text,
html[data-vyxcore-theme] body .combo,
html[data-vyxcore-theme] body .combo-text,
html[data-vyxcore-theme] body .spinner,
html[data-vyxcore-theme] body .spinner-text,
html[data-vyxcore-theme] body .searchbox,
html[data-vyxcore-theme] body .searchbox-text,
html[data-vyxcore-theme] body .select2-container .select2-choice,
html[data-vyxcore-theme] body .select2-drop,
html[data-vyxcore-theme] body .select2-search input,
html[data-vyxcore-theme] body .select2-choices,
html[data-vyxcore-theme] body .input-prepend .add-on,
html[data-vyxcore-theme] body .input-append .add-on {
    color: #bfc2c7 !important;
    background-color: #111313 !important;
    background-image: none !important;
    box-shadow: none !important;
    caret-color: #d4af37;
}

html[data-vyxcore-theme] body input::placeholder,
html[data-vyxcore-theme] body textarea::placeholder {
    color: #bfc2c7 !important;
    opacity: 0.72;
}

html[data-vyxcore-theme] body input:-webkit-autofill,
html[data-vyxcore-theme] body input:-webkit-autofill:hover,
html[data-vyxcore-theme] body input:-webkit-autofill:focus {
    -webkit-text-fill-color: #bfc2c7 !important;
    -webkit-box-shadow: 0 0 0 1000px #111313 inset !important;
    caret-color: #d4af37;
}

html[data-vyxcore-theme] body input:focus,
html[data-vyxcore-theme] body select:focus,
html[data-vyxcore-theme] body textarea:focus,
html[data-vyxcore-theme] body .textbox-focused,
html[data-vyxcore-theme] body .combo-focus,
html[data-vyxcore-theme] body .select2-container-active .select2-choice {
    border-color: #d4af37 !important;
    outline-color: #d4af37 !important;
    box-shadow: 0 0 0 1px #d4af37 !important;
}

html[data-vyxcore-theme] body .calendar,
html[data-vyxcore-theme] body .calendar-body,
html[data-vyxcore-theme] body .calendar-menu,
html[data-vyxcore-theme] body .datebox-button,
html[data-vyxcore-theme] body .datepicker,
html[data-vyxcore-theme] body .datepicker-dropdown,
html[data-vyxcore-theme] body .tooltip-inner,
html[data-vyxcore-theme] body .tooltip-content,
html[data-vyxcore-theme] body .qtip,
html[data-vyxcore-theme] body .qtip-content,
html[data-vyxcore-theme] body .qtip-titlebar {
    color: #bfc2c7 !important;
    background-color: #111313 !important;
    background-image: none !important;
}

html[data-vyxcore-theme] body .calendar-header,
html[data-vyxcore-theme] body .calendar-selected,
html[data-vyxcore-theme] body .calendar-today,
html[data-vyxcore-theme] body .datepicker td.active,
html[data-vyxcore-theme] body .select2-results .select2-highlighted {
    color: #080909 !important;
    background-color: #d4af37 !important;
    background-image: none !important;
}

html[data-vyxcore-theme] body [class*="-gradient"],
html[data-vyxcore-theme] body .input-wrapper,
html[data-vyxcore-theme] body .alert,
html[data-vyxcore-theme] body .alert-success,
html[data-vyxcore-theme] body .alert-error,
html[data-vyxcore-theme] body .alert-danger,
html[data-vyxcore-theme] body .alert-info,
html[data-vyxcore-theme] body .message,
html[data-vyxcore-theme] body .big-message,
html[data-vyxcore-theme] body .notification,
html[data-vyxcore-theme] body .label,
html[data-vyxcore-theme] body .badge,
html[data-vyxcore-theme] body .progress,
html[data-vyxcore-theme] body .progressbar {
    color: #bfc2c7 !important;
    background-color: #111313 !important;
    background-image: none !important;
    box-shadow: none !important;
}

html[data-vyxcore-theme] body .progress .bar,
html[data-vyxcore-theme] body .progressbar-value,
html[data-vyxcore-theme] body input[type="checkbox"],
html[data-vyxcore-theme] body input[type="radio"],
html[data-vyxcore-theme] body input[type="range"] {
    accent-color: #d4af37;
}

html[data-vyxcore-theme] body .progress .bar,
html[data-vyxcore-theme] body .progressbar-value {
    color: #080909 !important;
    background-color: #d4af37 !important;
    background-image: none !important;
}

html[data-vyxcore-theme] body .progressbar-text {
    color: #bfc2c7 !important;
    background-color: transparent !important;
}

html[data-vyxcore-theme] body .progressbar-value .progressbar-text {
    color: #080909 !important;
}

html[data-vyxcore-theme] body button,
html[data-vyxcore-theme] body .btn,
html[data-vyxcore-theme] body .btn-primary,
html[data-vyxcore-theme] body .btn-success,
html[data-vyxcore-theme] body .btn-danger,
html[data-vyxcore-theme] body .button,
html[data-vyxcore-theme] body a.l-btn,
html[data-vyxcore-theme] body input[type="submit"],
html[data-vyxcore-theme] body input[type="button"],
html[data-vyxcore-theme] body input[type="reset"] {
    color: #080909 !important;
    background-color: #d4af37 !important;
    border-color: #d4af37 !important;
    box-shadow: none !important;
}

html[data-vyxcore-theme] body button *,
html[data-vyxcore-theme] body .btn *,
html[data-vyxcore-theme] body .button *,
html[data-vyxcore-theme] body a.l-btn * {
    color: inherit !important;
}

html[data-vyxcore-theme] body button:hover,
html[data-vyxcore-theme] body .btn:hover,
html[data-vyxcore-theme] body .button:hover,
html[data-vyxcore-theme] body a.l-btn:hover {
    color: #d4af37 !important;
    background-color: #080909 !important;
    border-color: #d4af37 !important;
}

html[data-vyxcore-theme] body button:disabled,
html[data-vyxcore-theme] body .btn.disabled,
html[data-vyxcore-theme] body .button.disabled,
html[data-vyxcore-theme] body .l-btn-disabled,
html[data-vyxcore-theme] body input:disabled,
html[data-vyxcore-theme] body textarea:disabled,
html[data-vyxcore-theme] body select:disabled,
html[data-vyxcore-theme] body input[readonly],
html[data-vyxcore-theme] body textarea[readonly],
html[data-vyxcore-theme] body .menu-item-disabled,
html[data-vyxcore-theme] body .pagination .disabled > a {
    color: #bfc2c7 !important;
    background-color: #202323 !important;
    background-image: none !important;
    border-color: #414442 !important;
}

/* Login only. Load after the original login stylesheet and mark its body
   with data-vixcore-login. No selectors below apply to internal screens. */
html[data-vyxcore-theme][data-vixcore-login] body {
    --vixcore-ink: #080909;
    --vixcore-surface: #111313;
    --vixcore-gold: #d4af37;
    --vixcore-text: #bfc2c7;
    --vixcore-muted: #bfc2c7;
    color: #bfc2c7 !important;
    background-color: #080909 !important;
    background-image: url("/assets/connect-ui/icon.svg") !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}

html[data-vyxcore-theme][data-vixcore-login] body h1,
html[data-vyxcore-theme][data-vixcore-login] body h2,
html[data-vyxcore-theme][data-vixcore-login] body h3,
html[data-vyxcore-theme][data-vixcore-login] body h4,
html[data-vyxcore-theme][data-vixcore-login] body h5,
html[data-vyxcore-theme][data-vixcore-login] body h6,
html[data-vyxcore-theme][data-vixcore-login] body p,
html[data-vyxcore-theme][data-vixcore-login] body label,
html[data-vyxcore-theme][data-vixcore-login] body legend,
html[data-vyxcore-theme][data-vixcore-login] body small,
html[data-vyxcore-theme][data-vixcore-login] body strong,
html[data-vyxcore-theme][data-vixcore-login] body span,
html[data-vyxcore-theme][data-vixcore-login] body a {
    color: #bfc2c7 !important;
    text-shadow: none !important;
}

html[data-vyxcore-theme][data-vixcore-login] body #login-title h1,
html[data-vyxcore-theme][data-vixcore-login] body .vixcore-wordmark {
    color: #d4af37 !important;
    font-weight: 700;
    letter-spacing: -0.04em;
    text-shadow: none !important;
}

/* The original heading is empty and uses a background logo. Keep its box. */
html[data-vyxcore-theme][data-vixcore-login] body #login-title h1.login-title-image {
    
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: auto 56px !important;
}

html[data-vyxcore-theme][data-vixcore-login] body #login-title h5,
html[data-vyxcore-theme][data-vixcore-login] body .vixcore-caption,
html[data-vyxcore-theme][data-vixcore-login] body footer {
    color: #bfc2c7 !important;
    text-shadow: none !important;
}

html[data-vyxcore-theme][data-vixcore-login] body #form-block,
html[data-vyxcore-theme][data-vixcore-login] body #form-block.scratch-metal,
html[data-vyxcore-theme][data-vixcore-login] body #form-login,
html[data-vyxcore-theme][data-vixcore-login] body #form-login.input-wrapper.blue-gradient.glossy {
    color: #bfc2c7 !important;
    background: #111313 !important;
    border-color: #65572a;
    border-radius: 12px;
    box-shadow: 0 18px 70px rgba(0, 0, 0, 0.48);
}

html[data-vyxcore-theme][data-vixcore-login] body #form-viewport,
html[data-vyxcore-theme][data-vixcore-login] body #form-wrapper,
html[data-vyxcore-theme][data-vixcore-login] body #form-switch {
    color: #bfc2c7 !important;
    background: transparent !important;
    border-color: #65572a;
    box-shadow: none;
}

html[data-vyxcore-theme][data-vixcore-login] body #preloader {
    color: #bfc2c7 !important;
    background: #080909 !important;
}

html[data-vyxcore-theme][data-vixcore-login] body .QLoader {
    background: #d4af37 !important;
}

html[data-vyxcore-theme][data-vixcore-login] body .silver,
html[data-vyxcore-theme][data-vixcore-login] body .white,
html[data-vyxcore-theme][data-vixcore-login] body .grey,
html[data-vyxcore-theme][data-vixcore-login] body .anthracite {
    color: #bfc2c7 !important;
    text-shadow: none !important;
}

html[data-vyxcore-theme][data-vixcore-login] body .form-door,
html[data-vyxcore-theme][data-vixcore-login] body #top-door,
html[data-vyxcore-theme][data-vixcore-login] body #bot-door {
    color: #bfc2c7 !important;
    background: #111313 !important;
    border-color: #65572a;
    box-shadow: none;
}

html[data-vyxcore-theme][data-vixcore-login] body .input,
html[data-vyxcore-theme][data-vixcore-login] body .inputs {
    color: #bfc2c7 !important;
    background: #080909 !important;
    border-color: #65572a;
    border-radius: 6px;
    box-shadow: none;
    text-shadow: none !important;
}

html[data-vyxcore-theme][data-vixcore-login] body input:not([type]),
html[data-vyxcore-theme][data-vixcore-login] body input[type="text"],
html[data-vyxcore-theme][data-vixcore-login] body input[type="email"],
html[data-vyxcore-theme][data-vixcore-login] body input[type="password"],
html[data-vyxcore-theme][data-vixcore-login] body select,
html[data-vyxcore-theme][data-vixcore-login] body textarea {
    color: #bfc2c7 !important;
    background: #080909 !important;
    border-color: #65572a;
    border-radius: 5px;
    box-shadow: none;
    text-shadow: none !important;
    caret-color: #d4af37;
}

html[data-vyxcore-theme][data-vixcore-login] body input::placeholder,
html[data-vyxcore-theme][data-vixcore-login] body textarea::placeholder {
    color: #bfc2c7 !important;
    opacity: 1;
}

html[data-vyxcore-theme][data-vixcore-login] body input:-webkit-autofill,
html[data-vyxcore-theme][data-vixcore-login] body input:-webkit-autofill:hover,
html[data-vyxcore-theme][data-vixcore-login] body input:-webkit-autofill:focus {
    -webkit-text-fill-color: #bfc2c7;
    -webkit-box-shadow: 0 0 0 1000px #080909 inset;
    caret-color: #d4af37;
}

html[data-vyxcore-theme][data-vixcore-login] body input:focus,
html[data-vyxcore-theme][data-vixcore-login] body select:focus,
html[data-vyxcore-theme][data-vixcore-login] body textarea:focus,
html[data-vyxcore-theme][data-vixcore-login] body .input:focus-within {
    border-color: #d4af37;
    outline: 2px solid #d4af37;
    outline-offset: 2px;
    box-shadow: none;
}

html[data-vyxcore-theme][data-vixcore-login] body button,
html[data-vyxcore-theme][data-vixcore-login] body .button,
html[data-vyxcore-theme][data-vixcore-login] body #login,
html[data-vyxcore-theme][data-vixcore-login] body input[type="submit"],
html[data-vyxcore-theme][data-vixcore-login] body input[type="button"] {
    color: #080909 !important;
    background: #d4af37 !important;
    border-color: #d4af37;
    border-radius: 6px;
    font-weight: 700;
    text-shadow: none !important;
    box-shadow: none;
}

html[data-vyxcore-theme][data-vixcore-login] body button span,
html[data-vyxcore-theme][data-vixcore-login] body .button span,
html[data-vyxcore-theme][data-vixcore-login] body #login span {
    color: inherit !important;
    text-shadow: none !important;
}

html[data-vyxcore-theme][data-vixcore-login] body button:hover,
html[data-vyxcore-theme][data-vixcore-login] body .button:hover,
html[data-vyxcore-theme][data-vixcore-login] body #login:hover,
html[data-vyxcore-theme][data-vixcore-login] body input[type="submit"]:hover {
    color: #080909 !important;
    background: #d4af37 !important;
    border-color: #d4af37;
}

html[data-vyxcore-theme][data-vixcore-login] body button:focus-visible,
html[data-vyxcore-theme][data-vixcore-login] body a:focus-visible,
html[data-vyxcore-theme][data-vixcore-login] body input[type="submit"]:focus-visible {
    outline: 2px solid #d4af37;
    outline-offset: 4px;
}

html[data-vyxcore-theme][data-vixcore-login] body .message,
html[data-vyxcore-theme][data-vixcore-login] body .big-message,
html[data-vyxcore-theme][data-vixcore-login] body .notification,
html[data-vyxcore-theme][data-vixcore-login] body #msg_validating,
html[data-vyxcore-theme][data-vixcore-login] body #msg_granted {
    color: #bfc2c7 !important;
    background-color: #1b1b16 !important;
    border-color: #d4af37;
    box-shadow: none;
    text-shadow: none !important;
}

html[data-vyxcore-theme][data-vixcore-login] body ::selection {
    color: #080909 !important;
    background: #d4af37 !important;
}

/* Original operational header: retain controls and their geometry. */
html[data-vyxcore-theme] #dock,
html[data-vyxcore-theme] #main,
html[data-vyxcore-theme] #menu {
  background: #080909 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme] #dock_logo,
html[data-vyxcore-theme] #dock_language,
html[data-vyxcore-theme] #dock_stage td,
html[data-vyxcore-theme] #dock_start,
html[data-vyxcore-theme] #dock_user,
html[data-vyxcore-theme] .dock_icon,
html[data-vyxcore-theme] .dock_round_online {
  background-color: #111313 !important;
  background-image: none !important;
  color: #bfc2c7 !important;
  box-shadow: inset 0 0 0 1px #414442 !important;
}
html[data-vyxcore-theme] #dock_company { color: #d4af37 !important; }
html[data-vyxcore-theme] #dock_level { color: #bfc2c7 !important; }
/* Match the existing VYX entry presentation; the original form still submits. */
html[data-vyxcore-theme][data-vixcore-login] body {
  background-color: #090909 !important;
  background-image: radial-gradient(ellipse at 50% 47%,#0303031f 0,#0303033d 31rem,#00000073 65rem),linear-gradient(90deg,#00000024 0,#0505050f 50%,#0000003d 100%),url('/assets/connect-ui/background.webp') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
html[data-vixcore-login] #container {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  box-sizing: border-box;
  width: 448px;
  max-width: calc(100% - 36px);
  padding: max(36px,calc((100vh - 750px)/2)) 0 36px;
  margin: 0 auto !important;
}
html[data-vixcore-login] #login-title { margin: 0 0 24px !important; }
html[data-vixcore-login] #login-title h1.login-title-image {
  height: 64px;
  padding: 0;
  background-size: auto 58px !important;
}
html[data-vixcore-login] #login-title h5 { margin: 8px 0 0; font-size: 12px; font-weight: 400; }
html[data-vixcore-login] #form-block {
  box-sizing: border-box;
  padding: 24px 29px 22px !important;
  border: 1px solid #786329 !important;
  border-radius: 20px !important;
  background: linear-gradient(155deg,#191919fa,#0b0b0bfc 62%,#080808) !important;
  box-shadow: 0 32px 95px #000000b0,0 9px 24px #00000085 !important;
}
html[data-vixcore-login] .vyx-login-heading { margin: 0 0 24px; }
html[data-vixcore-login] .vyx-login-heading>div { display: flex; justify-content: space-between; margin-bottom: 22px; font-size: 10px; letter-spacing: 1.2px; }
html[data-vixcore-login] .vyx-login-heading h2 { font: 600 28px/1.16 Georgia,serif; margin: 0 0 8px; color: #bfc2c7 !important; }
html[data-vixcore-login] .vyx-login-heading p { margin: 0; color: #bfc2c7 !important; font-size: 12px; }
html[data-vixcore-login] #form-login { background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
html[data-vixcore-login] #form-login ul.inputs { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0; margin: 0; }
html[data-vixcore-login] #form-login ul.inputs>li { display: block; position: relative; border: 0 !important; padding: 0 !important; margin-bottom: 20px; background: transparent !important; line-height: 1.5 !important; }
html[data-vixcore-login] #form-login ul.inputs>li::before { display: block; margin-bottom: 8px; font-size: 10px; line-height: 1.4; letter-spacing: 1.1px; font-weight: 700; color: #bfc2c7; }
html[data-vixcore-login] #form-login ul.inputs>li:first-child::before { content: 'USUÁRIO'; }
html[data-vixcore-login] #form-login ul.inputs>li:nth-child(2)::before { content: 'SENHA'; }
html[data-vixcore-login] #form-login ul.inputs>li>span { position: absolute; top: 37px; left: 15px; z-index: 1; }
html[data-vixcore-login] #container #form-login input[type=text],
html[data-vixcore-login] #container #form-login input[type=password] {
  box-sizing: border-box;
  width: 100% !important;
  height: 50px;
  padding: 14px 42px !important;
  border: 1px solid #4a4841 !important;
  border-radius: 10px !important;
  background: #070707 !important;
  color: #bfc2c7 !important;
  font-size: 14px;
}
html[data-vixcore-login] #form-login input:focus { border-color: #d4af37 !important; outline: 1px solid #d4af37 !important; outline-offset: 1px; }
html[data-vixcore-login] #form-login .button-height { height: auto !important; line-height: 1.5; margin: 0; }
html[data-vixcore-login] #form-login .button-height label { font-size: 11px; }
html[data-vixcore-login] #form-login #login {
  box-sizing: border-box;
  display: block;
  float: none !important;
  width: 100% !important;
  min-height: 50px;
  margin: 22px 0 0;
  border-radius: 10px !important;
  background: linear-gradient(110deg,#9f772f,#d4af37 55%,#b98b3e) !important;
  color: #080909 !important;
  font-size: 12px;
  font-weight: 750;
}
html[data-vixcore-login] #form-switch { display: flex; justify-content: space-between; margin: 22px -29px -22px !important; padding: 14px 29px !important; background: #080909 !important; border-top: 1px solid #414442 !important; border-radius: 0 0 20px 20px; }
html[data-vixcore-login] #form-switch a { background: none !important; color: #bfc2c7 !important; border: none !important; box-shadow: none !important; font-size: 11px; }
html[data-vixcore-login] #form-switch a:hover { color: #d4af37 !important; }
@media(max-width:480px) {
  html[data-vixcore-login] #form-block { padding-left: 22px !important; padding-right: 22px !important; }
  html[data-vixcore-login] #form-switch { margin-left: -22px !important; margin-right: -22px !important; padding-left: 22px !important; padding-right: 22px !important; }
}
/* VYX Voice replaces the former mark in the original split-door animation. */
html[data-vyxcore-theme] .form-door div {
  
  background-size: 128px 128px !important;
  background-repeat: no-repeat !important;
}
html[data-vyxcore-theme] #top-door div { background-position: center top !important; }
html[data-vyxcore-theme] #bot-door div { background-position: center bottom !important; }
/* The user requested direct entry, without the full-page loading splash. */
html[data-vyxcore-theme][data-vixcore-login] #preloader,
html[data-vyxcore-theme][data-vixcore-login] .QLoader,
html[data-vyxcore-theme][data-vixcore-login] .QLoaderOverlay,
html[data-vyxcore-theme][data-vixcore-login] .form-door { display: none !important; }
/* Keep the background continuous to the bottom of the viewport. */
html[data-vyxcore-theme][data-vixcore-login],
html[data-vyxcore-theme][data-vixcore-login] body {
  min-height: 100vh;
  box-sizing: border-box;
  margin: 0;
  background-color: #080909 !important;
  background-image: radial-gradient(ellipse at 50% 47%,#0303031f 0,#0303033d 31rem,#00000073 65rem),linear-gradient(90deg,#00000024 0,#0505050f 50%,#0000003d 100%),url('/assets/connect-ui/background.webp') !important;
  background-position: center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
html[data-vyxcore-theme] body .footer,
html[data-vixcore-login] #form-switch {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme] .widget-body { background: #111313 !important; }
/* Finish only: retain original layout, sizes, icons and interactions. */
html[data-vyxcore-theme] .widget-header,
html[data-vyxcore-theme] .panel-header,
html[data-vyxcore-theme] .datagrid-header {
  background: linear-gradient(180deg,#1a1b19,#111311) !important;
  border-color: #454335 !important;
}
html[data-vyxcore-theme] .widget,
html[data-vyxcore-theme] .widget-body,
html[data-vyxcore-theme] .datagrid,
html[data-vyxcore-theme] .panel-body {
  border-color: #35382f !important;
}
html[data-vixcore-login] .vyx-login-heading>div>span:nth-child(2) { display: none !important; }
html[data-vyxcore-theme] #dock .dock_icon {
  background: linear-gradient(180deg,#bfc2c7,#929698) !important;
  box-shadow: inset 0 0 0 1px #62676b !important;
}

/* VYX Voice interior finish. Append after existing theme; login is excluded.
   :is() is supported by the current Chrome/Edge used for this panel.
   No geometry, functional-image, visibility or interaction changes. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body {
  color: #c5cbd0 !important;
  background-color: #111315 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(h1,h2,h3,h4,h5,h6) {
  color: #c8b17a !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.panel-body,.widget-body,.widget-content,.box-content,.well,.card,.tab-content,.accordion-body,.layout-body) {
  color: #c5cbd0 !important;
  background-color: #171a1c !important;
  border-color: #3e464b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.widget,.box,.well,.card) {
  border-color: #3e464b !important;
  border-radius: 6px !important;
  box-shadow: 0 4px 18px rgba(0,0,0,.19) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.panel-header,.widget-header,.box-header,.accordion-header,.modal-header,.window-header) {
  color: #c5cbd0 !important;
  background-color: #171a1c !important;
  border-color: #3e464b !important;
  box-shadow: inset 0 1px 0 rgba(212,175,55,.035) !important;
  font-weight: 600;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.panel-title,.widget-title,.box-header h3,.modal-header h3) {
  color: #c5a86b !important;
  font-weight: 600;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs-header,.tabs-panels,.nav-tabs,.breadcrumb,.breadcrumbs) {
  background-color: #171a1c !important;
  border-color: #3e464b !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs li a.tabs-inner,.nav-tabs>li>a,.nav-pills>li>a) {
  color: #c5cbd0 !important;
  background-color: #171a1c !important;
  border-color: #3e464b !important;
  box-shadow: none !important;
  font-weight: 500;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs li.tabs-selected a.tabs-inner,.tabs li.tabs-selected a.tabs-inner:hover,.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-pills>.active>a) {
  color: #c5a86b !important;
  background-color: #292d30 !important;
  border-color: #75664b !important;
  box-shadow: inset 0 2px 0 #c5a86b !important;
  font-weight: 600;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs li:not(.tabs-selected) a.tabs-inner:hover,.nav-tabs>li:not(.active)>a:hover,.nav-pills>li:not(.active)>a:hover) {
  color: #c5a86b !important;
  background-color: #292d30 !important;
  border-color: #75664b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.datagrid-header,.datagrid-header td,table th,.table thead th,.flexigrid .hDiv) {
  color: #c5cbd0 !important;
  background-color: #202326 !important;
  border-color: #3e464b !important;
  font-weight: 600;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(table td,.datagrid-body,.datagrid-body td,.datagrid-footer,.datagrid-footer td) {
  color: #c5cbd0 !important;
  background-color: #14181b !important;
  border-color: #3e464b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th,.datagrid-row-alt td) {
  background-color: #191d20 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.table-hover tbody tr:hover>td,.datagrid-row-over td,.datagrid-row-selected td,.table tbody tr.active>td) {
  color: #c5cbd0 !important;
  background-color: #292d30 !important;
  border-color: #3e464b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.datagrid-toolbar,.datagrid-pager,.pagination,.modal-footer,.dialog-button) {
  color: #c5cbd0 !important;
  background-color: #252a2d !important;
  border-color: #3e464b !important;
  box-shadow: inset 0 1px 0 rgba(212,175,55,.025) !important;
}
/* Native arrows/search/spinner sprites remain untouched. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(input:not([type]),input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],input[type="date"],input[type="time"],select,textarea,.textbox,.textbox-text,.combo,.combo-text,.spinner-text,.searchbox-text,.uneditable-input,.select2-choice,.select2-choices) {
  color: #c5cbd0 !important;
  background-color: #0e1113 !important;
  border-color: #3e464b !important;
  border-radius: 4px !important;
  box-shadow: inset 0 1px 3px rgba(0,0,0,.23) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(input:focus,select:focus,textarea:focus,.textbox-focused,.combo-focus) {
  border-color: #75664b !important;
  box-shadow: 0 0 0 1px rgba(172,147,75,.2) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(button,.btn,.button,a.l-btn,input[type="submit"],input[type="button"],input[type="reset"]) {
  color: #c5cbd0 !important;
  background-color: #252a2d !important;
  border-color: #3e464b !important;
  border-radius: 4px !important;
  box-shadow: inset 0 1px 0 rgba(212,175,55,.06),0 1px 2px rgba(0,0,0,.2) !important;
  font-weight: 600;
}
/* Only controls verified by the caller to have no original URL background. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body [data-vyx-surface="button"] {
  color: #d5c8a9 !important;
  background-color: #2b251c !important;
  background-image: linear-gradient(180deg,#383022,#2b251c) !important;
  border-color: #7a6647 !important;
  box-shadow: inset 0 1px 0 rgba(212,175,55,.12),0 2px 5px rgba(0,0,0,.2) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(button:hover,.btn:hover,.button:hover,a.l-btn:hover) {
  color: #c5a86b !important;
  background-color: #252a2d !important;
  border-color: #75664b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body [data-vyx-surface="button"]:hover {
  background-image: linear-gradient(180deg,#383022,#2b251c) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(button:disabled,.btn.disabled,.button.disabled,.l-btn-disabled,input:disabled,select:disabled,textarea:disabled) {
  color: #c5cbd0 !important;
  background-color: #252a2d !important;
  border-color: #3e464b !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.menu,.dropdown-menu,.select2-drop,.calendar-menu) {
  color: #c5cbd0 !important;
  background-color: #171a1c !important;
  border-color: #3e464b !important;
  border-radius: 5px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.3) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.menu-item,.dropdown-menu>li>a) {
  color: #c5cbd0 !important;
  background-color: #171a1c !important;
  border-color: #3e464b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.menu-active,.dropdown-menu>li>a:hover,.dropdown-menu>.active>a,.tree-node-hover,.tree-node-selected) {
  color: #c5a86b !important;
  background-color: #292d30 !important;
  border-color: #75664b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.modal,.window,.popover) {
  background-color: #171a1c !important;
  border-color: #3e464b !important;
  border-radius: 6px !important;
  box-shadow: 0 15px 45px rgba(0,0,0,.4) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.alert,.message,.notification,.blockMsg) {
  color: #c5cbd0 !important;
  background-color: #171a1c !important;
  border-color: #3e464b !important;
  border-radius: 5px !important;
  box-shadow: 0 3px 12px rgba(0,0,0,.18) !important;
}
/* Keep the existing bottom credit unobtrusive, without a footer band. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.footer,footer) {
  color: #c5cbd0 !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Presentation only. Keep the original header geometry and all image icons. */
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock {
  background: linear-gradient(180deg,#111315 0%,#0b0d0f 100%) !important;
  box-shadow: inset 0 -1px 0 #39362a,0 5px 22px #00000028 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_stage,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_stage table,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_stage tbody,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_stage tr,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_stage td {
  background: transparent !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_logo {
  background: transparent !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_language {
  background: #111416 !important;
  border-radius: 0 0 8px 8px;
  box-shadow: inset 0 -1px 0 #2c3033 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_company {
  color: #ceb77e !important;
  font-weight: 600;
  text-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_level {
  color: #a3aaaf !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_start,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_user {
  background: linear-gradient(180deg,#232628,#171b1e) !important;
  border-radius: 8px;
  color: #c5b583 !important;
  box-shadow: inset 0 0 0 1px #383e42,0 3px 9px #00000030 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_start:hover,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_user:hover {
  background: linear-gradient(180deg,#2b2e2e,#1e2326) !important;
  box-shadow: inset 0 0 0 1px #736442,0 3px 9px #00000030 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon {
  border-radius: 7px;
  background: linear-gradient(180deg,#b7aa87,#978a67) !important;
  box-shadow: inset 0 1px 0 #e0d2af35,inset 0 0 0 1px #aa9b7255,0 3px 8px #00000030 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon1,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon2,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon3 {
  background: linear-gradient(180deg,#1c2124,#151a1d) !important;
  color: #c9cfc9 !important;
  box-shadow: inset 0 0 0 1px #343a3e !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_round .dock_round_online {
  background: #111517 !important;
  border-radius: 9px;
  box-shadow: none !important;
  color: #a3aaae !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_round .roundabout-in-focus .dock_round_online {
  background: linear-gradient(180deg,#1d2225,#161b1e) !important;
  box-shadow: inset 0 0 0 1px #41443d,0 3px 10px #00000030 !important;
  color: #c5cacd !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_round table,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_round td {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #tt,
html[data-vyxcore-theme]:not([data-vixcore-login]) #tt>.tabs-panels,
html[data-vyxcore-theme]:not([data-vixcore-login]) #tt>.tabs-panels>.panel>.panel-body {
  background-color: #111315 !important;
}

/* Keep the confirmed empty state visible during the original polling cycle. */


html[data-vyxcore-theme]:not([data-vixcore-login]) body .footer {
  background-color: #111315 !important;
  background-image: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

/* VYX Voice — quiet onyx. Load last. Internal documents only.
   No geometry or interaction properties; functional icon imagery is untouched. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body {
  color: #c7cccf !important;
  background-color: #0b0d0e !important;
  background-image: radial-gradient(ellipse at 10% 0%,rgba(197,162,100,.03),transparent 58%) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.panel-body,.widget-body,.widget-content,.box-content,.well,.card,.tab-content,.accordion-body,.layout-body) {
  color: #c7cccf !important;
  background-color: #101315 !important;
  border-color: #202426 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.widget,.box,.well,.card) {
  background-color: #101315 !important;
  border-color: #282c2e !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 36px rgba(0,0,0,.16) !important;
}
/* These header surfaces use decorative gradients; icons are separate children. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.panel-header,.widget-header,.box-header,.accordion-header,.modal-header,.window-header) {
  color: #d0d4d6 !important;
  background-color: #111416 !important;
  background-image: linear-gradient(180deg,#141719,#111416) !important;
  border-color: #25292b !important;
  box-shadow: none !important;
  font-weight: 600;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(h1,h2,h3,h4,h5,h6,.panel-title,.widget-title) {
  color: #c8b189 !important;
  font-weight: 600;
  letter-spacing: .01em;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs-header,.tabs-panels,.nav-tabs,.breadcrumb,.breadcrumbs) {
  color: #91999e !important;
  background-color: #0e1112 !important;
  border-color: #222729 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs li a.tabs-inner,.nav-tabs>li>a,.nav-pills>li>a) {
  color: #a5aeb3 !important;
  background-color: #101416 !important;
  border-color: #24292b !important;
  border-radius: 8px 8px 0 0 !important;
  box-shadow: none !important;
  font-weight: 500;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs li.tabs-selected a.tabs-inner,.tabs li.tabs-selected a.tabs-inner:hover,.nav-tabs>.active>a,.nav-tabs>.active>a:hover,.nav-pills>.active>a) {
  color: #c5a264 !important;
  background-color: #1b2022 !important;
  border-color: #353a3c !important;
  box-shadow: inset 0 1px 0 #8e764d !important;
  font-weight: 600;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.tabs li:not(.tabs-selected) a.tabs-inner:hover,.nav-tabs>li:not(.active)>a:hover,.nav-pills>li:not(.active)>a:hover) {
  color: #d0d5d8 !important;
  background-color: #191e20 !important;
  border-color: #2f3537 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.datagrid-header,.datagrid-header td,table th,.table thead th,.flexigrid .hDiv) {
  color: #b9c1c6 !important;
  background-color: #151a1c !important;
  border-color: #272d30 !important;
  box-shadow: none !important;
  font-weight: 600;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(table td,.datagrid-body,.datagrid-body td,.datagrid-footer,.datagrid-footer td) {
  color: #c5ccd0 !important;
  background-color: #101416 !important;
  border-color: #22282b !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.datagrid-body td,.table tbody td) {
  border-left-color: transparent !important;
  border-right-color: transparent !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.table-striped tbody>tr:nth-child(odd)>td,.table-striped tbody>tr:nth-child(odd)>th,.datagrid-row-alt td) {
  background-color: #13181a !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.table-hover tbody tr:hover>td,.datagrid-row-over td,.datagrid-row-selected td,.table tbody tr.active>td) {
  color: #d9dfe2 !important;
  background-color: #20272a !important;
  border-color: #343c40 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.datagrid-toolbar,.datagrid-pager,.pagination,.modal-footer,.dialog-button) {
  color: #abb5bb !important;
  background-color: #111618 !important;
  border-color: #242b2e !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(input:not([type]),input[type="text"],input[type="password"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="url"],input[type="date"],input[type="time"],select,textarea,.textbox,.textbox-text,.combo,.combo-text,.spinner-text,.searchbox-text,.uneditable-input,.select2-choice,.select2-choices) {
  color: #d1d8dc !important;
  background-color: #0e1214 !important;
  border-color: #30383c !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(input:focus,select:focus,textarea:focus,.textbox-focused,.combo-focus) {
  border-color: #8e784f !important;
  box-shadow: 0 0 0 1px rgba(197,162,100,.1) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(button,.btn,.button,a.l-btn,input[type="submit"],input[type="button"],input[type="reset"]) {
  color: #cbd2d6 !important;
  background-color: #20272a !important;
  border-color: #384247 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-weight: 500;
}
/* Only these marked controls are confirmed not to carry a functional URL. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body [data-vyx-surface="button"],
html[data-vyxcore-theme]:not([data-vixcore-login]) body [data-vyx-surface="button"]:hover {
  color: #cbd2d6 !important;
  background-color: #20272a !important;
  background-image: none !important;
  border-color: #384247 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(button:hover,.btn:hover,.button:hover,a.l-btn:hover,[data-vyx-surface="button"]:hover) {
  color: #d4bc92 !important;
  background-color: #2a3236 !important;
  border-color: #76674e !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(button:disabled,.btn.disabled,.button.disabled,.l-btn-disabled,input:disabled,select:disabled,textarea:disabled) {
  color: #879298 !important;
  background-color: #181e21 !important;
  border-color: #2b3337 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.menu,.dropdown-menu,.select2-drop,.calendar-menu,.modal,.window,.popover) {
  color: #c5ced3 !important;
  background-color: #151b1e !important;
  border-color: #30393e !important;
  border-radius: 10px !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.32) !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.menu-item,.dropdown-menu>li>a) {
  color: #bcc7ce !important;
  background-color: #151b1e !important;
  border-color: #252e33 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.menu-active,.dropdown-menu>li>a:hover,.dropdown-menu>.active>a,.tree-node-hover,.tree-node-selected) {
  color: #d1b68a !important;
  background-color: #252e33 !important;
  border-color: #625846 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.alert,.message,.notification,.blockMsg) {
  color: #c9d2d8 !important;
  background-color: #1c2429 !important;
  border-color: #414a4e !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.footer,footer) {
  color: #879298 !important;
  background-color: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Calm, unified header; retain every original control and image geometry. */
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock {
  background: linear-gradient(180deg,#101213,#0b0d0e) !important;
  box-shadow: inset 0 -1px 0 #3a3426 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_company {
  color: #c8b17a !important;
  font-weight: 500;
  letter-spacing: .02em;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_level {
  color: #969da2 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_start,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_user {
  background: #141719 !important;
  border-radius: 10px;
  color: #c8b17a !important;
  box-shadow: inset 0 0 0 1px #303334 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_start:hover,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_user:hover {
  background: #1b1d1e !important;
  box-shadow: inset 0 0 0 1px #7b6943 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon_phone {
  background: transparent !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon_phone .dock-item-icon {
  background-color: #c0a56e !important;
  border-radius: 9px;
  box-shadow: inset 0 0 0 1px #d5bb8738,0 3px 8px #0000002e !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon_phone .dock-item-icon:hover {
  background-color: #d0b77e !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon1,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon2,
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock .dock_icon3 {
  background: #131617 !important;
  border-radius: 0;
  box-shadow: inset -1px 0 0 #282c2e !important;
  color: #b8bec2 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #dock_round .roundabout-in-focus .dock_round_online {
  background: #141719 !important;
  box-shadow: inset 0 0 0 1px #303536 !important;
  color: #c4c9cc !important;
  border-radius: 11px;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) #tt,
html[data-vyxcore-theme]:not([data-vixcore-login]) #tt>.tabs-panels,
html[data-vyxcore-theme]:not([data-vixcore-login]) #tt>.tabs-panels>.panel>.panel-body {
  background-color: #0b0d0e !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body .footer {
  background-color: #0b0d0e !important;
  background-image: none !important;
  color: #858c91 !important;
  box-shadow: none !important;
}

/* Quiet hierarchy using existing elements only. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body .widget>.widget-header {
  border-radius: 13px 13px 0 0 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body .widget>.widget-body {
  border-radius: 0 0 13px 13px !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body .breadCrumbHolder,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb {
  background-color: #0b0d0e !important;
  background-image: none !important;
  border-color: #191d1f !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb a {
  color: #9ca6ad !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb li:last-child a,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb a:hover {
  color: #c5a66c !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.widget-header h5,.alert-heading) {
  font-weight: 500 !important;
  color: #cbb98f !important;
  letter-spacing: .015em;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.widget-body label,.control-label) {
  color: #a8b0b5 !important;
  font-weight: 500 !important;
  letter-spacing: .012em;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body #divNoCalls {
  background-color: #101315 !important;
  border-color: transparent !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body #divNoCalls h4 {
  color: #bcc1c3 !important;
  font-weight: 400 !important;
  border-color: #202527 !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body #divNoCalls p {
  color: #929da4 !important;
}

/* Legacy quick-access navigation: preserve groups, order and all link actions. */
html[data-vyxcore-theme] { color-scheme: dark; }
html[data-vyxcore-theme] body .widget-footer,
html[data-vyxcore-theme] body .widget-title.form-header,
html[data-vyxcore-theme] body .widget-toolbox {
  background-color: #14181a !important;
  background-image: none !important;
  border-color: #2c3235 !important;
  color: #c8b17a !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme] body .widget-footer { border-radius: 0 0 13px 13px; }
html[data-vyxcore-theme] body .switch.toggle-button {
  background-color: #22282b !important;
  border-color: #454d51 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme] body .switch.toggle-button label {
  background-color: #78838a !important;
  background-image: none !important;
  border-color: #4c575d !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme] body .switch.toggle-button .labelLeft {
  background-color: #a78c55 !important;
  background-image: none !important;
  color: #0b0d0e !important;
}
html[data-vyxcore-theme] body .switch.toggle-button .labelRight {
  background-color: #242b2f !important;
  background-image: none !important;
  color: #bdc6cb !important;
}
html[data-vyxcore-theme] body .select2-search-choice {
  background-color: #242b2f !important;
  background-image: none !important;
  color: #d0c8b1 !important;
  border-color: #625a44 !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme] #NextMenu,
html[data-vyxcore-theme] #NextMenu .NextMenuContent,
html[data-vyxcore-theme] #NextMenu .bodyQuickAccess,
html[data-vyxcore-theme] .ldd_submenu,
html[data-vyxcore-theme] .ldd_subfoot {
  background-color: #0b0d0e !important;
  background-image: none !important;
  color: #bdc6cb !important;
  border-color: #292e31 !important;
}
html[data-vyxcore-theme] #NextMenu .quickAccess {
  color: #c8b789 !important;
  font-weight: 500;
  text-shadow: none !important;
}
html[data-vyxcore-theme] #NextMenu .columnIndex {
  background-color: #101315 !important;
  border-radius: 14px;
  box-shadow: inset 0 0 0 1px #23282b;
}
html[data-vyxcore-theme] #NextMenu .letterIndex {
  color: #c6b07c !important;
  border-color: #303433 !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] #NextMenu .menu-separator,
html[data-vyxcore-theme] .ldd_heading {
  color: #b9c1c6 !important;
  font-weight: 600;
  text-shadow: none !important;
}
html[data-vyxcore-theme] #NextMenu .menu-option a,
html[data-vyxcore-theme] .ldd_submenu a {
  color: #bdc6cb !important;
  text-shadow: none !important;
  border-color: #292e31 !important;
}
html[data-vyxcore-theme] #NextMenu .menu-option a:hover,
html[data-vyxcore-theme] #NextMenu .menu-option[data-match="true"] a,
html[data-vyxcore-theme] .ldd_submenu a:hover {
  color: #d1b579 !important;
  background-color: #1c211f !important;
}
html[data-vyxcore-theme] #NextMenu #txtMenuSearch {
  background-color: #101315 !important;
  background-image: none !important;
  border-color: #605333 !important;
  color: #d2d7da !important;
  border-radius: 8px;
  box-shadow: none !important;
}
/* Avoid the original success-transition message and fade flash at login. */
html[data-vixcore-login] #msg_granted,
html[data-vixcore-login] .validating {
  display: none !important;
}
html[data-vixcore-login] #form-block {
  display: block !important;
  opacity: 1 !important;
}
/* Keep passive corner notices out of the operator's header. Form messages,
   confirmations, session enforcement and server-side records stay intact. */


/* VYX Voice: focused appearance corrections, loaded after premium-interior.
   No geometry or events change. Uniform keeps the single original input. */

/* The old tabs-inner gradient is decorative. Child tab/close icons retain URLs. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body #tt .tabs li:not(.tabs-selected) > a.tabs-inner,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #tt .tabs li:not(.tabs-selected) > a.tabs-inner:hover,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #tt .tabs li:not(.tabs-selected) > a.tabs-inner:focus {
  background-image: none !important;
  background-color: #101416 !important;
  color: #a5aeb3 !important;
  border-color: #24292b !important;
  box-shadow: none !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #tt .tabs li:not(.tabs-selected) > a.tabs-inner:hover,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #tt .tabs li:not(.tabs-selected) > a.tabs-inner:focus {
  background-color: #191e20 !important;
  color: #d0d5d8 !important;
  border-color: #353e43 !important;
}

/* Uniform's span is exactly 17px. Its original input remains the click target.
   In tables the input has margin-top:-7px, so exposing it would shift the glyph.
   Paint the same existing span instead; :checked/:indeterminate are authoritative.
   :has() is supported by the current Chrome/Edge used for this application. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body .checker > span:has(> input[type="checkbox"]) {
  background-image: none !important;
  background-color: #0f1315 !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: 17px 17px !important;
  border-radius: 3px !important;
  box-shadow: inset 0 0 0 1px #505c64 !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body .checker > span > input[type="checkbox"] {
  opacity: 0 !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body .checker > span:has(> input[type="checkbox"]:checked) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M3.5 8.5 7 12 13.5 4.5' fill='none' stroke='%23c5a264' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  box-shadow: inset 0 0 0 1px #8e764d !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body .checker > span:has(> input[type="checkbox"]:indeterminate) {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 17'%3E%3Cpath d='M4 8.5h9' fill='none' stroke='%23c5a264' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") !important;
  box-shadow: inset 0 0 0 1px #8e764d !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body .checker > span:has(> input[type="checkbox"]:focus-visible) {
  outline: 2px solid #c5a264;
  outline-offset: 2px;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body .checker > span:has(> input[type="checkbox"]:disabled) {
  opacity: .5;
}

/* Layout tables in search forms must blend with their containing card.
   A hidden SIP-port cell retains its original visibility and dimensions. */
html[data-vyxcore-theme] body .frm-search .widget-body > table:not(.table),
html[data-vyxcore-theme] body .frm-search .widget-body > table:not(.table) > tbody,
html[data-vyxcore-theme] body .frm-search .widget-body > table:not(.table) > tbody > tr,
html[data-vyxcore-theme] body .frm-search .widget-body > table:not(.table) > tbody > tr > td {
  background-color: transparent !important;
  background-image: none !important;
}

/* Next verified candidate, intentionally not activated here:
   .select2-container > .select2-choice has a white decorative gradient in
   select-theme.css. Clearing only that element's background-image is safe;
   its functional arrow is the separate .select2-choice div b with select2.png.
   Do NOT clear backgrounds on Uniform .selector span / .radios span / .uploader:
   theme-sprite.png supplies their arrows, state marks and upload affordance. */

/* VYX Voice: legacy widget surfaces. Load after the other theme styles.
   Colors only: no geometry, visibility, events, or icon/sprite replacements.
   Source references below are relative to the original public/assets folder. */

/* css/index.css:1894 and js/css/ui-lightness/jquery-ui-1.9.2.custom.css:65-88.
   These backgrounds are decorative textures; .ui-icon sprite rules stay intact. */
html[data-vyxcore-theme] body :is(.ui-widget-content,.ui-widget-header) {
  color: #c7cccf !important;
  background-color: #151b1e !important;
  background-image: none !important;
  border-color: #30393e !important;
}
html[data-vyxcore-theme] body :is(.ui-state-default,.ui-state-hover,.ui-state-focus,.ui-state-active,.ui-state-highlight,.ui-state-error):not(.ui-icon) {
  color: #c7cccf !important;
  background-color: #20272a !important;
  background-image: none !important;
  border-color: #384247 !important;
}
html[data-vyxcore-theme] body :is(.ui-state-hover,.ui-state-focus):not(.ui-icon) {
  color: #d4bc92 !important;
  background-color: #2a3236 !important;
  border-color: #8e784f !important;
}
html[data-vyxcore-theme] body :is(.ui-state-active,.ui-state-highlight,.ui-state-error):not(.ui-icon) {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  border-color: #a88c55 !important;
}
html[data-vyxcore-theme] body .ui-state-disabled:not(.ui-icon) {
  color: #879298 !important;
  background-color: #181e21 !important;
  border-color: #2b3337 !important;
}
/* The autocomplete menu uses the same jQuery UI surfaces and state classes. */
html[data-vyxcore-theme] body .ui-autocomplete .ui-menu-item > a {
  color: #c7cccf !important;
}
html[data-vyxcore-theme] body .ui-autocomplete .ui-menu-item > a:is(.ui-state-hover,.ui-state-focus,.ui-state-active) {
  color: #d4bc92 !important;
}

/* plugins/bootstrap-datepicker/css/datepicker.css:80-226 and
   datepicker-theme.css:110 onward: month/year spans need their own states. */
html[data-vyxcore-theme] body .datepicker :is(td.day:hover,td.day.focused,td span:hover,thead tr:first-child th:hover) {
  color: #d4bc92 !important;
  background-color: #2a3236 !important;
  background-image: none !important;
}
html[data-vyxcore-theme] body .datepicker :is(td.active,td.active:hover,td.today,td.today:hover,td.range,td.range:hover,td span.active,td span.active:hover) {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  background-image: none !important;
  border-color: #a88c55 !important;
}
html[data-vyxcore-theme] body .datepicker :is(td.old,td.new,td.disabled,td.disabled:hover,td span.old,td span.new,td span.disabled,td span.disabled:hover) {
  color: #879298 !important;
}
html[data-vyxcore-theme] body :is(.datepicker-float,.datepicker-dropdown)::after {
  border-bottom-color: #151b1e !important;
}
html[data-vyxcore-theme] body .datepicker-dropdown.datepicker-orient-bottom::after {
  border-top-color: #151b1e !important;
}

/* css/timepicker.css:1-60; plugins/bootstrap-timepicker/css/timepicker.css:21,60. */
html[data-vyxcore-theme] body .ui-timepicker-list {
  color: #c7cccf !important;
  background-color: #151b1e !important;
  border-color: #30393e !important;
}
html[data-vyxcore-theme] body .ui-timepicker-list li {
  color: #c7cccf !important;
  background-color: #151b1e !important;
}
html[data-vyxcore-theme] body .ui-timepicker-list :is(li:hover,li.ui-timepicker-selected),
html[data-vyxcore-theme] body .ui-timepicker-list:hover li.ui-timepicker-selected,
html[data-vyxcore-theme] body .bootstrap-timepicker table td a:hover {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  border-color: #a88c55 !important;
}
html[data-vyxcore-theme] body .ui-timepicker-list .ui-timepicker-duration,
html[data-vyxcore-theme] body .ui-timepicker-list li.ui-timepicker-disabled,
html[data-vyxcore-theme] body .ui-timepicker-list li.ui-timepicker-disabled:hover {
  color: #879298 !important;
}
html[data-vyxcore-theme] body .ui-timepicker-list li.ui-timepicker-disabled:hover {
  background-color: #181e21 !important;
}
html[data-vyxcore-theme] body .bootstrap-timepicker.dropdown-menu::after {
  border-bottom-color: #151b1e !important;
}

/* plugins/bootstrap-daterangepicker/css/daterangepicker.css:27-171. */
html[data-vyxcore-theme] body .daterangepicker {
  color: #c7cccf !important;
  background-color: #151b1e !important;
  border-color: #30393e !important;
}
html[data-vyxcore-theme] body .daterangepicker .ranges label {
  color: #c7cccf !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body .daterangepicker .ranges li {
  color: #c7cccf !important;
  background-color: #20272a !important;
  border-color: #384247 !important;
}
html[data-vyxcore-theme] body .daterangepicker .ranges li:is(.active,:hover),
html[data-vyxcore-theme] body .daterangepicker :is(td.active,td.active:hover,td.in-range,td.available:hover,th.available:hover) {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  background-image: none !important;
  border-color: #a88c55 !important;
}
html[data-vyxcore-theme] body .daterangepicker :is(td.off,td.disabled) {
  color: #879298 !important;
}
html[data-vyxcore-theme] body .daterangepicker:is(.opensleft,.opensright)::after {
  border-bottom-color: #151b1e !important;
}

/* plugins/select2/select-theme.css:187-215,402-418,712.
   The arrow lives on div b, not on the decorative parent div. Do not touch b,
   search icons, clear/close sprites, or the existing multi-select chip rules. */
html[data-vyxcore-theme] body .select2-container .select2-choice div {
  background-color: #20272a !important;
  background-image: none !important;
  border-color: #384247 !important;
}
html[data-vyxcore-theme] body .select2-results :is(.select2-no-results,.select2-searching,.select2-selection-limit,.select2-disabled) {
  color: #9ca6ad !important;
  background-color: #181e21 !important;
}
html[data-vyxcore-theme] body .select2-results .select2-match {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
}
html[data-vyxcore-theme] body .select2-container.select2-container-disabled :is(.select2-choice,.select2-choice div),
html[data-vyxcore-theme] body .select2-container-multi.select2-container-disabled :is(.select2-choices,.select2-search-choice) {
  color: #879298 !important;
  background-color: #181e21 !important;
  background-image: none !important;
  border-color: #2b3337 !important;
}

/* css/boo-base.css:3628-3867: this version wraps pagination links in divs. */
html[data-vyxcore-theme] body .pagination ul > li > div > :is(a,span) {
  color: #c7cccf !important;
  background-color: #20272a !important;
  background-image: none !important;
  border-color: #384247 !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body .pagination ul > .active > div > :is(a,span),
html[data-vyxcore-theme] body .pagination ul > li > div > :is(a:hover,a.active,span.active) {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  border-color: #a88c55 !important;
}
html[data-vyxcore-theme] body .pagination ul > .disabled > div > :is(a,a:hover,span) {
  color: #879298 !important;
  background-color: #181e21 !important;
  border-color: #2b3337 !important;
}

/* plugins/bootstrap-modal/css/bootstrap-modal-bootheme.css:74.
   Preserve the mask's visibility, opacity, and loading behavior. */
html[data-vyxcore-theme] body .modal .loading-mask {
  background-color: #151b1e !important;
}

/* plugins/pupload/jquery.plupload.queue/css/jquery.plupload.queue.css:55-152.
   Row/header textures are decorative. Preserve .plupload_button,
   .plupload_header_content and status-link background images (actual icons). */
html[data-vyxcore-theme] body :is(.plupload_header,.plupload_filelist_header,.plupload_filelist_footer,.plupload_scroll .plupload_filelist,.plupload_filelist li) {
  color: #c7cccf !important;
  background-color: #151b1e !important;
  background-image: none !important;
  border-color: #30393e !important;
}
html[data-vyxcore-theme] body :is(.plupload_button,.plupload_progress_container) {
  color: #c7cccf !important;
  background-color: #20272a !important;
  border-color: #384247 !important;
}
html[data-vyxcore-theme] body :is(.plupload_button:hover,.plupload_progress_bar,.plupload_filelist li.plupload_uploading) {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  border-color: #a88c55 !important;
}
html[data-vyxcore-theme] body :is(.plupload_disabled,.plupload_disabled:hover,.plupload_file_status,.plupload_file_status span,.plupload_filelist li.plupload_done) {
  color: #879298 !important;
}

/* plugins/fullcalendar/fullcalendar-theme.css:49,193-283,320,635,757-859;
   fullcalendar.css:198-240,581 (button surfaces, shine and event overlay).
   Only surfaces and text; event geometry and navigation icons are untouched. */
html[data-vyxcore-theme] body :is(.widget-box .fc-header,.widget-box .fc-content thead,.fc-widget-header,.fc-widget-content,.fc-agenda-divider-inner,.fc-grid .fc-day-number) {
  color: #c7cccf !important;
  background-color: #151b1e !important;
  background-image: none !important;
  border-color: #30393e !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body .fc-button {
  color: #c7cccf !important;
}
html[data-vyxcore-theme] body :is(.fc-state-default,.fc-state-default .fc-button-inner) {
  color: #c7cccf !important;
  background-color: #20272a !important;
  border-color: #384247 !important;
}
html[data-vyxcore-theme] body .fc-state-default .fc-button-effect span {
  background-color: #20272a !important;
  border-color: #384247 !important;
}
html[data-vyxcore-theme] body :is(.fc-state-highlight,.fc-state-highlight .fc-day-number,.fc-state-active,.fc-state-active .fc-button-inner,.fc-state-active:hover,.fc-state-hover,.fc-state-hover .fc-button-inner,.fc-state-down,.fc-state-down .fc-button-inner,.fc-grid tbody td:hover,.fc-grid tbody td:hover .fc-day-number,.fc-event-skin) {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  border-color: #a88c55 !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body .fc-event-vert .fc-event-bg {
  background-color: #c5a264 !important;
}
html[data-vyxcore-theme] body :is(.fc-state-disabled,.fc-state-disabled .fc-button-inner) {
  color: #879298 !important;
}

/* css/boo-base.css:4809-4958: decorative accordion background textures.
   .item-icon and .chevron retain their existing glyphs and sprite rules. */
html[data-vyxcore-theme] body :is(.nav-side .accordion-group > .active,.nav-side .accordion-content) {
  background-color: #151b1e !important;
  background-image: none !important;
  border-color: #30393e !important;
}
html[data-vyxcore-theme] body .nav-side .accordion-toggle {
  color: #c7cccf !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body .nav-side .accordion-toggle:hover,
html[data-vyxcore-theme] body .nav-side .active .accordion-toggle {
  color: #d4bc92 !important;
  background-color: #2b261d !important;
  background-image: none !important;
}

/* plugins/bootstrap-toggle-buttons/js/bootstrap-toggle-buttons.js:28,49-56
   always adds .toggle-button and creates div > input + .labelLeft + label +
   .labelRight. It does not require .switch. The CSS theme:59-115 supplies the
   bright handle and off-side gradients; custom colors may also be inline.
   Preserve input state, the label's for attribute, dimensions and animation. */
html[data-vyxcore-theme] body .toggle-button {
  background-color: #22282b !important;
  border-color: #454d51 !important;
}
html[data-vyxcore-theme] body .toggle-button > div > label {
  color: #c7cccf !important;
  background-color: #78838a !important;
  background-image: none !important;
  border-color: #4c575d !important;
}
html[data-vyxcore-theme] body .toggle-button > div > .labelLeft {
  color: #0b0d0e !important;
  background-color: #a78c55 !important;
  background-image: none !important;
}
html[data-vyxcore-theme] body .toggle-button > div > .labelRight {
  color: #bdc6cb !important;
  background-color: #242b2f !important;
  background-image: none !important;
}

/* css/boo-base.css:3734-3855: pagination-btn / pagination-boo gradients
   also apply to direct anchors. Prior generic theme rules changed only their
   background-color. These decorative link backgrounds contain no sprites;
   descendant icons are intentionally not selected. */
html[data-vyxcore-theme] body :is(.pagination,.pagination-btn,.pagination-boo) a,
html[data-vyxcore-theme] body :is(.pagination,.pagination-btn,.pagination-boo) ul > li > span,
html[data-vyxcore-theme] body :is(.pagination,.pagination-btn,.pagination-boo) ul > li > div > span,
html[data-vyxcore-theme] body :is(.pagination-btn,.pagination-boo) > li > span,
html[data-vyxcore-theme] body :is(.pagination-btn,.pagination-boo) > li > div > span {
  background-image: none !important;
}

/* The map keeps its tiles, controls, attribution and provider error text.
   Only the exposed canvas and provider notice card adopt the dark surface. */
html[data-vyxcore-theme] body #map > div,
html[data-vyxcore-theme] body #map .gmnoprint > div,
html[data-vyxcore-theme] body #map .gm-err-container,
html[data-vyxcore-theme] body #map div:has(> div > img[src*="google_gray.svg"]) {
  background-color: #171d20 !important;
  color: #c7cccf !important;
  border-color: #384247 !important;
}

/* Hardware graphs are data images, not interface icons. Keep their URLs,
   measurements and legend layout; adapt their baked-in light canvas only. */
html[data-vyxcore-theme] body .portlet,
html[data-vyxcore-theme] body .portlet-content {
  background-color: #101618 !important;
  background-image: none !important;
  color: #c7cccf !important;
  border-color: #303b40 !important;
}
html[data-vyxcore-theme] body .portlet-header {
  background-color: #1b2326 !important;
  background-image: none !important;
  color: #ccb17b !important;
  border-color: #394247 !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body .portlet-content img[src*="/pcap/"] {
  filter: invert(.9) hue-rotate(180deg);
}

/* Highcharts 3.0.1 renders its canvas as a direct SVG rect with fill=#FFF.
   Do not target series shapes or legend swatches: their colors encode data. */
html[data-vyxcore-theme] body .highcharts-container > svg > rect[fill="#fff" i],
html[data-vyxcore-theme] body .highcharts-container > svg > rect[fill="#ffffff" i],
html[data-vyxcore-theme] body .highcharts-container > svg > rect[fill="white" i] {
  fill: #11181b !important;
}
html[data-vyxcore-theme] body .highcharts-container svg text {
  fill: #bdc6cb !important;
  color: #bdc6cb !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body .highcharts-container svg .highcharts-title {
  fill: #ccb17b !important;
}
html[data-vyxcore-theme] body .highcharts-container svg .highcharts-grid path {
  stroke: #374247 !important;
}
html[data-vyxcore-theme] body .highcharts-container svg .highcharts-button > rect,
html[data-vyxcore-theme] body .highcharts-container svg .highcharts-tooltip > rect:not([fill="none"]) {
  fill: #20272a !important;
  stroke: #5b635a !important;
}
html[data-vyxcore-theme] body .highcharts-container svg .highcharts-button > path {
  stroke: #bdc6cb !important;
}
html[data-vyxcore-theme] body .highcharts-contextmenu > div {
  background-color: #161e21 !important;
  color: #bdc6cb !important;
  border-color: #384247 !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.35) !important;
}
html[data-vyxcore-theme] body .highcharts-contextmenu > div > div {
  background-color: transparent !important;
  color: #bdc6cb !important;
}
html[data-vyxcore-theme] body .highcharts-contextmenu > div > div:hover {
  background-color: #2b2d27 !important;
  color: #d0b77e !important;
}

/* VYX Voice — finish only the original breadcrumb strip.
 * Keep the existing anchors, home sprite, item order and jBreadCrumb widths.
 * The legacy Chevron.gif is decorative and is replaced by a small CSS mark.
 */
html[data-vyxcore-theme]:not([data-vixcore-login]) body .breadCrumbHolder.module {
  min-height: 38px;
  background: #0c1012 !important;
  border: 0 !important;
  border-bottom: 1px solid #20282b !important;
  box-shadow: none !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb {
  box-sizing: border-box;
  height: 38px !important;
  padding: 7px 12px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px !important;
}

/* Do not override wrapper/anchor widths: the existing collapse plugin owns them. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul {
  height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li {
  height: 24px !important;
  line-height: 24px !important;
  margin: 0 8px 0 0 !important;
  padding: 0 17px 0 0 !important;
  background-color: transparent !important;
  background-image: none !important;
  font-size: 13px !important;
  text-shadow: none !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li::after {
  content: "";
  position: absolute;
  top: 9px;
  right: 5px;
  width: 5px;
  height: 5px;
  border-right: 1px solid #637078;
  border-bottom: 1px solid #637078;
  transform: rotate(-45deg);
  pointer-events: none;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb .chevronOverlay {
  background-color: transparent !important;
  background-image: none !important;
  pointer-events: none;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li > span,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li a {
  height: 24px;
  line-height: 24px !important;
  color: #aeb9bf !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: .01em;
  text-decoration: none !important;
  text-shadow: none !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li:not(.first) a {
  padding: 0 4px;
  border-radius: 4px;
  transition: color .12s ease, background-color .12s ease;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li:not(.first) a:hover {
  color: #dec38c !important;
  background-color: #1b211f !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li a:focus-visible {
  color: #dec38c !important;
  outline: 1px solid #bda16b;
  outline-offset: -1px;
  border-radius: 3px;
}

/* Preserve the original 16px home icon and its hover state. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li.first a {
  width: 16px;
  height: 16px !important;
  margin-top: 4px !important;
  padding: 0 !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li.last,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li:last-child {
  margin-right: 0 !important;
  padding-right: 0 !important;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li.last::after,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li:last-child::after {
  content: none;
}

html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li.last a,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li:last-child a,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li.last > span,
html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li:last-child > span {
  color: #d0b681 !important;
  font-weight: 500 !important;
}

@media (prefers-reduced-motion: reduce) {
  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb ul li a {
    transition: none;
  }
}

/* VYX Voice: phone layout for the existing dashboard shell only.
 * No control is removed. Desktop geometry and original icon assets stay intact.
 * The three rotating metric cards become one swipeable row on phones.
 */
@media (max-width: 1023px) {
  html[data-vyxcore-theme]:not([data-vixcore-login]),
  html[data-vyxcore-theme]:not([data-vixcore-login]) body {
    min-width: 0 !important;
    width: 100% !important;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }

  html[data-vyxcore-theme] body#top #dock {
    position: relative !important;
    inset: auto !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 6px 10px 8px !important;
    overflow: visible !important;
  }

  html[data-vyxcore-theme] body#top #dock_container {
    position: relative !important;
    inset: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(92px, 120px);
    align-items: center;
    gap: 4px 8px;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-vyxcore-theme] body#top #dock_language,
  html[data-vyxcore-theme] body#top #dock_logo,
  html[data-vyxcore-theme] body#top #dock_company,
  html[data-vyxcore-theme] body#top #dock_level,
  html[data-vyxcore-theme] body#top #dock_stage_item,
  html[data-vyxcore-theme] body#top #dock_stage {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    box-sizing: border-box;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  html[data-vyxcore-theme] body#top #dock_language {
    grid-column: 1;
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    min-height: 36px;
    line-height: 30px !important;
    padding: 2px 4px !important;
    font-size: 11px !important;
    white-space: normal !important;
  }

  html[data-vyxcore-theme] body#top #dock_language a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    min-height: 32px;
    vertical-align: middle;
  }

  html[data-vyxcore-theme] body#top #dock_logo {
    grid-column: 2;
    width: 100% !important;
    height: 36px !important;
    padding: 0 !important;
  }

  html[data-vyxcore-theme] body#top #dock_logo .dock-logo,
  html[data-vyxcore-theme] body#top #dock_logo .dock-logo > a {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100% !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  html[data-vyxcore-theme] body#top #dock_company {
    grid-column: 1;
    width: auto !important;
    height: auto !important;
    font-size: 13px !important;
    line-height: 18px !important;
    overflow-wrap: anywhere;
  }

  html[data-vyxcore-theme] body#top #dock_level {
    grid-column: 2;
    width: auto !important;
    height: auto !important;
    font-size: 11px !important;
    line-height: 16px !important;
    text-align: right;
    white-space: normal !important;
  }

  html[data-vyxcore-theme] body#top #dock_stage_item {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 6px;
    align-items: stretch;
    width: 100% !important;
    height: auto !important;
    padding: 4px 0 0 !important;
  }

  html[data-vyxcore-theme] body#top #dock_stage_item > #dock_start,
  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_icon,
  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_round,
  html[data-vyxcore-theme] body#top #dock_stage_item > #dock_user {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
  }

  html[data-vyxcore-theme] body#top #dock_start,
  html[data-vyxcore-theme] body#top #dock_user {
    grid-column: span 3;
    min-height: 44px !important;
    height: auto !important;
    line-height: 44px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
    white-space: nowrap;
  }

  html[data-vyxcore-theme] body#top #dock_user a {
    position: relative !important;
    inset: auto !important;
    display: block;
    width: 100% !important;
    min-height: 44px;
    line-height: 44px;
  }

  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_icon:not(#dock_start):not(#dock_user) {
    grid-column: span 1;
    min-height: 44px !important;
    height: auto !important;
    padding: 0 !important;
    text-align: center;
  }

  /* The desktop counter labels/values can be absolutely positioned children.
     Return only these three counter boxes to normal flow inside their cells. */
  html[data-vyxcore-theme] body#top #dock_stage_item > :is(.dock_icon1, .dock_icon2, .dock_icon3) {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1px;
    line-height: 15px !important;
  }

  html[data-vyxcore-theme] body#top #dock_stage_item > :is(.dock_icon1, .dock_icon2, .dock_icon3) > * {
    position: static !important;
    inset: auto !important;
    float: none !important;
    box-sizing: border-box;
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 15px !important;
    white-space: nowrap;
  }

  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_icon_phone .dock-item-icon {
    position: relative !important;
    inset: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_icon_phone img {
    max-width: 28px;
    max-height: 30px;
    object-fit: contain;
  }

  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_round {
    grid-column: 1 / -1;
    height: auto !important;
    min-height: 44px;
  }

  html[data-vyxcore-theme] body#top #dock_round {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100% !important;
    height: auto !important;
    min-height: 44px;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: #665f49 #101517;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }

  html[data-vyxcore-theme] body#top #dock_round > li {
    position: relative !important;
    inset: auto !important;
    display: block !important;
    flex: 1 0 210px;
    box-sizing: border-box;
    width: auto !important;
    min-width: 210px !important;
    height: auto !important;
    min-height: 44px;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: auto !important;
    transform: none !important;
    scroll-snap-align: start;
    font-size: 11px !important;
  }

  html[data-vyxcore-theme] body#top #dock_round .dock_round_online {
    box-sizing: border-box;
    width: 100% !important;
    min-height: 44px;
    height: auto !important;
    padding: 5px 3px !important;
    border-radius: 8px !important;
    background: #14191c !important;
    box-shadow: inset 0 0 0 1px #30383b !important;
    font-size: 11px !important;
    line-height: 17px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  html[data-vyxcore-theme] body#top #dock_round table {
    width: 100% !important;
    table-layout: fixed;
  }

  html[data-vyxcore-theme] body#top #dock_round td,
  html[data-vyxcore-theme] body#top #dock_round span {
    font-size: 11px !important;
    line-height: 17px !important;
    white-space: normal !important;
  }

  /* This sibling is the old empty dock stage background, not a control. */
  html[data-vyxcore-theme] body#top #dock_stage {
    grid-column: 1 / -1;
    width: 100% !important;
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
  }

  html[data-vyxcore-theme] body#top #main,
  html[data-vyxcore-theme] body#top #menu,
  html[data-vyxcore-theme] body#top #tt,
  html[data-vyxcore-theme] body#top #tt > .tabs-panels,
  html[data-vyxcore-theme] body#top #tt > .tabs-panels > .panel,
  html[data-vyxcore-theme] body#top #tt > .tabs-panels > .panel > .panel-body {
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html[data-vyxcore-theme] body#top #tt iframe[id^="next_tab_"] {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    border: 0;
  }

  /* Quick Access follows the compact header; JS still owns open/closed state. */
  html[data-vyxcore-theme] body#top #NextMenu {
    position: relative !important;
    inset: auto !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Respect native hidden state as well as the legacy inline display toggles. */
  html[data-vyxcore-theme] body#top #NextMenu[hidden],
  html[data-vyxcore-theme] body#top #NextMenu [hidden] {
    display: none !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu .NextMenuContent,
  html[data-vyxcore-theme] body#top #NextMenu .bodyQuickAccess,
  html[data-vyxcore-theme] body#top #NextMenu .lineIndex,
  html[data-vyxcore-theme] body#top #NextMenu .columnIndex,
  html[data-vyxcore-theme] body#top #NextMenu .menuColumnsContent,
  html[data-vyxcore-theme] body#top #NextMenu ol.menuColumns {
    position: relative !important;
    inset: auto !important;
    float: none !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    column-count: 1 !important;
    columns: auto !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu .NextMenuContent {
    padding: 12px 10px 18px !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu .quickAccess {
    margin: 4px 0 12px !important;
    font-size: 17px !important;
    line-height: 24px;
  }

  html[data-vyxcore-theme] body#top #NextMenu .searchAaZ {
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu #txtMenuSearch {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    min-height: 44px;
    font-size: 16px !important;
    padding: 10px 12px !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu .columnIndex {
    margin-bottom: 14px !important;
    padding: 10px !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu .letterIndex {
    height: auto !important;
    padding: 4px 2px 9px !important;
    font-size: 16px !important;
    line-height: 22px !important;
    white-space: normal !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu ol.menuColumns {
    padding: 0 !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu .menu-separator {
    margin: 10px 0 2px !important;
    padding: 7px 10px !important;
    font-size: 12px !important;
    line-height: 18px;
  }

  /* Do not force display on menu-option: contextual hidden entries stay hidden. */
  html[data-vyxcore-theme] body#top #NextMenu .menu-option {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html[data-vyxcore-theme] body#top #NextMenu .menu-option a {
    display: block;
    box-sizing: border-box;
    min-height: 44px;
    padding: 11px 10px !important;
    border-radius: 6px;
    font-size: 14px !important;
    line-height: 22px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }

  html[data-vyxcore-theme] body#top #NextMenu a:focus-visible,
  html[data-vyxcore-theme] body#top #tt > .tabs-header a:focus-visible {
    outline: 2px solid #bda16b !important;
    outline-offset: -2px;
  }

  /* Swipeable tabs retain the existing scroll arrows, refresh and close actions. */
  html[data-vyxcore-theme] body#top #tt > .tabs-header {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    padding-top: 4px !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-wrap {
    box-sizing: border-box;
    width: 100% !important;
    height: 48px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: #665f49 #101517;
    touch-action: pan-x;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-wrap.tabs-scrolling {
    width: calc(100% - 88px) !important;
    margin-left: 44px !important;
    margin-right: 44px !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs {
    display: flex !important;
    flex-wrap: nowrap;
    width: max-content !important;
    min-width: 100%;
    height: 44px !important;
    padding-left: 4px !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs > li {
    flex: 0 0 auto;
    float: none !important;
    width: auto !important;
    margin-bottom: 0 !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-inner {
    box-sizing: border-box;
    width: auto !important;
    min-height: 44px !important;
    height: 44px !important;
    line-height: 44px !important;
    padding-left: 10px !important;
    padding-right: 88px !important;
    font-size: 12px !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-title {
    padding-right: 0 !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-p-tool {
    top: 0 !important;
    right: 44px !important;
    width: 44px !important;
    height: 44px !important;
    margin-top: 0 !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-p-tool a {
    width: 44px !important;
    height: 44px !important;
    margin: 0 !important;
    background-position: center !important;
    opacity: .9;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-close {
    top: 0 !important;
    right: 0 !important;
    width: 44px !important;
    height: 44px !important;
    margin-top: 0 !important;
    background-image: none !important;
    opacity: .9;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-close::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 16px;
    width: 12px;
    height: 12px;
    background: url('/assets/img/tabs_icons.png') no-repeat -34px center;
    pointer-events: none;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-scroller-left,
  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-scroller-right {
    box-sizing: border-box;
    width: 44px !important;
    height: 48px !important;
    background-color: #151b1e !important;
    background-image: none !important;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-scroller-left::before,
  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-scroller-right::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 13px;
    width: 16px;
    height: 16px;
    background-image: url('/assets/img/tabs_icons.png');
    background-repeat: no-repeat;
    pointer-events: none;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-scroller-left::before {
    background-position: 1px center;
  }

  html[data-vyxcore-theme] body#top #tt > .tabs-header > .tabs-scroller-right::before {
    background-position: -15px center;
  }

  /* Long paths can be swiped rather than clipped or reduced to tiny links. */
  html[data-vyxcore-theme]:not([data-vixcore-login]) body .breadCrumbHolder {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb.breadCrumb {
    box-sizing: border-box;
    width: 100% !important;
    height: 48px !important;
    padding: 4px 10px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb > div {
    width: max-content !important;
    min-width: 100%;
    overflow: visible !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb > div > div {
    position: relative !important;
    width: auto !important;
    overflow: visible !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul {
    display: flex !important;
    flex-wrap: nowrap;
    width: max-content !important;
    height: 40px !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul li {
    flex: 0 0 auto;
    float: none !important;
    width: auto !important;
    height: 40px !important;
    line-height: 40px !important;
    overflow: visible !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul li::after {
    top: 17px;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul li > span {
    width: auto !important;
    height: 40px !important;
    overflow: visible !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul li a {
    width: auto !important;
    height: 40px !important;
    line-height: 40px !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul li.first a {
    width: 32px !important;
    height: 40px !important;
    margin-top: 0 !important;
    background-image: none !important;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul li.first a::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 8px;
    width: 16px;
    height: 16px;
    background: url('/assets/img/IconHome.gif') no-repeat 0 0;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body #breadCrumb ul li.first a:hover::before {
    background-position: 0 -16px;
  }

  html[data-vyxcore-theme]:not([data-vixcore-login]) body .footer {
    position: relative !important;
    inset: auto !important;
    box-sizing: border-box;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 36px;
    padding: 10px 12px !important;
    font-size: 10px !important;
    line-height: 16px !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-p-tool a,
  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-close {
    background-color: transparent !important;
  }
  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-p-tool a:hover,
  html[data-vyxcore-theme] body#top #tt > .tabs-header .tabs-close:hover {
    background-color: #23282b !important;
  }
}

/* VYX Voice — mobile forms only; append AFTER the current theme.
   Integration: the parent page needs <meta name="viewport"
   content="width=device-width, initial-scale=1"> and a viewport-width iframe.
   This file deliberately leaves login, navigation and desktop rules alone.
   Bootstrap 2 selectors are from the original bootstrap/boo styles.
   .frm-search .widget-body > table and > form#frmSearch > table are observed
   filter-layout tables. Data tables are NOT converted to cards; no column hides.
   Scroll uses existing dedicated wrappers, or .vyx-mobile-table-scroll on an
   existing data-only wrapper (not an ancestor of popup menus or whole forms).
   Native hidden selects and checkbox/radio/toggle inputs keep their geometry.
   Test at 320/375/390/768/1024px before integration; CSS alone cannot repair a
   server-rendered fixed-width parent iframe or a missing viewport meta tag. */
@media (max-width: 1023px) {
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.container, .container-fluid) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.row, .row-fluid, .controls-row) {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Restrict stacking to structural columns; never table cells or inputs. */
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.row, .row-fluid) > :is(div, section, fieldset):is(.span1, .span2, .span3, .span4, .span5, .span6, .span7, .span8, .span9, .span10, .span11, .span12) {
        float: none !important;
        clear: both;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }

    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(form, fieldset, .widget, .well, .widget-content, .widget-body, .form-horizontal, .form-horizontal2, .frm-search) {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(form.form-horizontal, form.form-horizontal2, .frm-search) {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.form-horizontal, .form-horizontal2) .control-group {
        min-width: 0;
        max-width: 100%;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.form-horizontal, .form-horizontal2, .frm-search) .control-label,
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search label:not(.checkbox):not(.radio),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body #td_content :is(.form-horizontal, .form-horizontal2) .control-label {
        float: none !important;
        width: auto !important;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-top: 0;
        font-size: 16px;
        text-align: left !important;
        white-space: normal;
        overflow-wrap: break-word;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.form-horizontal, .form-horizontal2, .frm-search) .controls,
    html[data-vyxcore-theme]:not([data-vixcore-login]) body #td_content :is(.form-horizontal, .form-horizontal2) .controls {
        width: auto !important;
        min-width: 0 !important;
        max-width: 100%;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }

    /* Filter tables are layout only. No !important display: preserves inline
       visibility and the legacy .hide class used for conditional fields. */
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > table:not(.table):not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > table:not(.table) > tbody:not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > table:not(.table) > tbody > tr:not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > table:not(.table) > tbody > tr > td:not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > form#frmSearch > table:not(.table):not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > form#frmSearch > table:not(.table) > tbody:not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > form#frmSearch > table:not(.table) > tbody > tr:not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > form#frmSearch > table:not(.table) > tbody > tr > td:not(.hide):not(.hidden):not([hidden]) {
        display: block;
        width: 100% !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > table:not(.table) > tbody > tr > td,
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .widget-body > form#frmSearch > table:not(.table) > tbody > tr > td {
        padding-right: 0 !important;
    }

    /* Route edit/add forms put auth and tariff fields in these layout tables.
       Keep each level explicit so nested data tables retain their columns. */
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.control-group, .controls) > table:not(.table):not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.control-group, .controls) > table:not(.table) > tbody:not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.control-group, .controls) > table:not(.table) > tbody > tr:not(.hide):not(.hidden):not([hidden]),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.control-group, .controls) > table:not(.table) > tbody > tr > td:not(.hide):not(.hidden):not([hidden]) {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.control-group, .controls) > table:not(.table) > tbody > tr > td {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .frm-search .clear-icon-wrap:not(.hide):not(.hidden):not([hidden]) {
        display: inline-block;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* 16px prevents focus zoom on iOS. Exclusions preserve plugin hiding. */
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(input:not([type]), input[type="text"], input[type="search"], input[type="password"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="time"], input[type="datetime-local"], textarea):not(.select2-input):not(.select2-offscreen),
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form select:not(.select2-offscreen):not(.selectpicker) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        min-height: 44px;
        box-sizing: border-box;
        font-size: 16px !important;
        line-height: 1.35;
        margin-left: 0 !important;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form textarea {
        height: auto;
        min-height: 96px;
        resize: vertical;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form input[type="file"] {
        max-width: 100%;
        box-sizing: border-box;
        font-size: 16px;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.help-inline, .help-block, .control-label) {
        white-space: normal;
        overflow-wrap: break-word;
    }

    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.input-prepend, .input-append) {
        display: flex;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.input-prepend, .input-append) > :is(input, .select2-container) {
        flex: 1 1 auto;
        width: 1% !important;
        min-width: 0 !important;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(.input-prepend, .input-append) > :is(.add-on, .btn) {
        flex: 0 0 auto;
        min-height: 44px;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body form :is(button, .btn, input[type="submit"], input[type="button"], input[type="reset"]) {
        min-height: 44px;
        max-width: 100%;
        box-sizing: border-box;
        white-space: normal;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.form-actions, .modal-footer) {
        white-space: normal;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.form-actions, .modal-footer) > :is(.btn, button) {
        margin-bottom: 6px;
    }

    /* Preserve each plugin's visibility, events, hidden native control and icon. */
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.select2-container, .bootstrap-select) {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .select2-container .select2-choice {
        min-height: 44px;
        height: auto;
        line-height: 42px;
        font-size: 16px !important;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .select2-container-multi .select2-choices {
        min-height: 44px;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .select2-search input,
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .select2-container-multi .select2-input {
        max-width: 100%;
        font-size: 16px !important;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .select2-drop:not(.select2-offscreen) {
        left: 8px !important;
        width: calc(100% - 16px) !important;
        min-width: 0 !important;
        max-width: calc(100% - 16px) !important;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .select2-results {
        max-height: 50vh;
        -webkit-overflow-scrolling: touch;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .select2-results .select2-result-label {
        min-height: 40px;
        padding-top: 10px;
        padding-bottom: 10px;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .bootstrap-select .dropdown-menu {
        min-width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Dedicated table scroll regions only: do not clip whole widgets/forms. */
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.table-responsive, .tablewrap, .table-wrapper, .dataTables_scrollBody, .vyx-mobile-table-scroll) {
        width: 100%;
        min-width: 0 !important;
        max-width: 100%;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.table-responsive, .tablewrap, .table-wrapper, .dataTables_scrollBody, .vyx-mobile-table-scroll) > table {
        min-width: 100%;
    }

    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.modal, .modal.fade.in, .window) {
        left: 8px !important;
        right: 8px !important;
        top: 8px !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: calc(100% - 16px) !important;
        max-height: calc(100vh - 16px);
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.modal-body, .window-body, .dialog-content) {
        min-width: 0 !important;
        max-width: 100% !important;
        max-height: calc(100vh - 128px);
        overflow: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(div.datepicker, .ui-datepicker, .calendar-menu) {
        min-width: 0;
        max-width: calc(100vw - 16px);
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(div.datepicker, .ui-datepicker) table {
        width: 100%;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.datepicker-dropdown, .datepicker-float, #ui-datepicker-div) {
        left: 8px !important;
        right: auto !important;
        max-width: calc(100vw - 16px);
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .dropdown-menu > li > a {
        min-height: 44px;
        padding: 12px 14px;
        line-height: 20px;
        font-size: 14px;
        white-space: normal;
        box-sizing: border-box;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .dropdown-menu {
        max-height: min(70vh, 480px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .ui-timepicker-wrapper {
        max-height: 50vh;
        max-width: calc(100vw - 16px);
        overflow-y: auto;
    }
    html[data-vyxcore-theme]:not([data-vixcore-login]) body .ui-timepicker-list li {
        min-height: 44px;
        padding: 10px 12px;
        box-sizing: border-box;
    }
}


/* VYX Voice login only, loaded after the current theme.
   Requires one early viewport meta: width=device-width, initial-scale=1,
   viewport-fit=cover. Desktop (>=1024px), form state, handlers, original logo
   and background images are untouched. The form-switch animation owns
   #form-wrapper/#form-viewport positioning and height; do not override them.
   Source basis: login.css:2465-2554,2642-2688; final-additions.css:31-101. */
@media (max-width: 1023px) {
  html[data-vyxcore-theme][data-vixcore-login],
  html[data-vyxcore-theme][data-vixcore-login] body {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto !important;
    background-attachment: scroll !important;
  }

  html[data-vyxcore-theme][data-vixcore-login] body {
    min-height: 100vh;
  }

  html[data-vyxcore-theme][data-vixcore-login] #container {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 448px !important;
    min-width: 0;
    height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    padding: 28px 16px 32px !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
    padding-bottom: max(32px, env(safe-area-inset-bottom)) !important;
  }

  html[data-vyxcore-theme][data-vixcore-login] #login-title {
    margin-bottom: 20px !important;
  }

  html[data-vyxcore-theme][data-vixcore-login] #login-title h1.login-title-image {
    box-sizing: border-box;
    max-width: 100%;
    height: 56px;
    padding: 0;
    background-position: center !important;
    background-size: contain !important;
  }

  html[data-vyxcore-theme][data-vixcore-login] #login-title h5,
  html[data-vyxcore-theme][data-vixcore-login] .vyx-login-heading p {
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: break-word;
  }

  html[data-vyxcore-theme][data-vixcore-login] #form-block {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 22px 20px !important;
  }

  html[data-vyxcore-theme][data-vixcore-login] .vyx-login-heading h2 {
    font-size: 26px;
    line-height: 1.2;
    overflow-wrap: break-word;
  }

  html[data-vyxcore-theme][data-vixcore-login] #container #form-block input:not([type]),
  html[data-vyxcore-theme][data-vixcore-login] #container #form-block input[type="text"],
  html[data-vyxcore-theme][data-vixcore-login] #container #form-block input[type="password"],
  html[data-vyxcore-theme][data-vixcore-login] #container #form-block input[type="email"],
  html[data-vyxcore-theme][data-vixcore-login] #container #form-block input[type="tel"] {
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    height: 54px !important;
    min-height: 54px;
    font-size: 16px !important;
    line-height: 1.35;
  }

  html[data-vyxcore-theme][data-vixcore-login] #form-block :is(button,input[type="submit"],input[type="button"]) {
    box-sizing: border-box;
    min-height: 48px;
    max-width: 100%;
    white-space: normal;
    touch-action: manipulation;
  }

  html[data-vyxcore-theme][data-vixcore-login] #form-switch {
    flex-wrap: wrap;
    gap: 4px 12px;
    margin: 18px -20px -22px !important;
    padding: 10px 20px !important;
  }

  html[data-vyxcore-theme][data-vixcore-login] #form-switch a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    font-size: 12px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: break-word;
    touch-action: manipulation;
  }
}

@supports (height: 100svh) {
  @media (max-width: 1023px) {
    html[data-vyxcore-theme][data-vixcore-login] body {
      min-height: 100svh;
    }
  }
}

/* Natural document height inside the existing tab iframe, only on phones. */
@media (max-width: 1023px) {
  html[data-vyxcore-theme]:not([data-vixcore-login]),
  html[data-vyxcore-theme]:not([data-vixcore-login]) body,
  html[data-vyxcore-theme]:not([data-vixcore-login]) .page-container,
  html[data-vyxcore-theme]:not([data-vixcore-login]) .main-content,
  html[data-vyxcore-theme]:not([data-vixcore-login]) .page-content {
    height: auto !important;
    min-height: 0 !important;
    min-width: 0 !important;
    max-width: 100%;
    box-sizing: border-box;
  }
  html[data-vyxcore-theme]:not([data-vixcore-login]) body {
    margin: 0 !important;
    padding: 0 !important;
  }
  html[data-vyxcore-theme]:not([data-vixcore-login]) .page-content {
    padding: 12px 10px 24px !important;
  }
  html[data-vyxcore-theme] body#top #tt,
  html[data-vyxcore-theme] body#top #tt > .tabs-panels,
  html[data-vyxcore-theme] body#top #tt > .tabs-panels > .panel,
  html[data-vyxcore-theme] body#top #tt > .tabs-panels > .panel > .panel-body {
    height: auto !important;
    overflow: visible !important;
  }
  html[data-vyxcore-theme] .page-content #content,
  html[data-vyxcore-theme] .page-content #content > div,
  html[data-vyxcore-theme] .page-content div:has(> [data-vyx-mobile-table-scroll]),
  html[data-vyxcore-theme] .page-content > .row > div,
  html[data-vyxcore-theme] .main-content > .row > div {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  html[data-vyxcore-theme] [data-vyx-mobile-table-scroll] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }
  html[data-vyxcore-theme] [data-vyx-mobile-table-scroll] > table {
    min-width: 640px;
    max-width: none !important;
  }
  html[data-vyxcore-theme] [data-vyx-mobile-table-scroll]:has(.btn-group.open) {
    padding-bottom: min(80vh, 520px);
  }
  html[data-vyxcore-theme] [data-vyx-mobile-table-scroll] th,
  html[data-vyxcore-theme] [data-vyx-mobile-table-scroll] td {
    font-size: 13px !important;
    line-height: 1.4;
    padding: 9px 8px;
  }
  html[data-vyxcore-theme] [data-vyx-mobile-table-scroll] .btn {
    min-width: 40px;
    min-height: 40px;
    line-height: 26px;
    box-sizing: border-box;
  }
  html[data-vyxcore-theme] body .widget-header {
    height: auto !important;
    min-height: 46px;
    white-space: normal;
  }
  html[data-vyxcore-theme] body .widget-header h3,
  html[data-vyxcore-theme] body .widget-header h4,
  html[data-vyxcore-theme] body .widget-header h5 {
    max-width: 100%;
    white-space: normal;
  }
  html[data-vyxcore-theme] body .highcharts-container {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  html[data-vyxcore-theme] body .highcharts-container > svg {
    max-width: none !important;
  }
  html[data-vyxcore-theme] body .portlet,
  html[data-vyxcore-theme] body .portlet-content,
  html[data-vyxcore-theme] body #map {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
  }
  html[data-vyxcore-theme] body .portlet-content { overflow-x: auto; }
  html[data-vyxcore-theme] body#top #next_phone {
    left: 10px !important;
    right: 10px !important;
    top: 10px !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100vh - 20px);
    overflow-y: auto;
    box-sizing: border-box;
  }
  html[data-vyxcore-theme] body .blockUI.blockMsg {
    left: 5% !important;
    width: 90% !important;
    max-width: 90% !important;
    margin-left: 0 !important;
    box-sizing: border-box;
  }
}

/* Static reuse of the existing login artwork. Embedded documents stay
   transparent so one background continues through the complete dashboard. */
html[data-vyxcore-theme]:not([data-vixcore-login]) body {
  background-color: #080a0b !important;
  background-image: linear-gradient(110deg,rgba(4,6,7,.78),rgba(4,6,7,.65) 45%,rgba(4,6,7,.83)),url('/assets/connect-ui/background.webp') !important;
  background-position: center top !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
}
html[data-vyxcore-theme][data-vyx-embedded],
html[data-vyxcore-theme][data-vyx-embedded] body,
html[data-vyxcore-theme]:not([data-vixcore-login]) body :is(.page-container,#main-container,.main-content,.page-content),
html[data-vyxcore-theme] body#top :is(#dock,#tt,#tt > .tabs-panels,#tt > .tabs-panels > .panel,#tt > .tabs-panels > .panel > .panel-body,#tt iframe[id^="next_tab_"],.footer) {
  background-color: transparent !important;
  background-image: none !important;
}
html[data-vyxcore-theme]:not([data-vixcore-login]) body .breadCrumb,
html[data-vyxcore-theme] body#top #tt > .tabs-header {
  background-color: rgba(9,12,13,.76) !important;
  background-image: none !important;
}
/* An empty result is an ordinary state. Keep visibility and polling under
   the existing application; only its message and decoration are changed. */
html[data-vyxcore-theme] body #divNoCalls[data-vyx-empty-calls] {
  position: relative;
  box-sizing: border-box;
  width: calc(100% - 24px);
  max-width: 550px !important;
  min-height: 108px;
  margin: 22px auto !important;
  padding: 23px 24px 23px 90px !important;
  background: linear-gradient(135deg,#171c1e,#111618) !important;
  border: 1px solid #343a37 !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.18) !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body #divNoCalls[data-vyx-empty-calls]::before {
  content: '';
  position: absolute;
  left: 24px;
  top: 25px;
  width: 44px;
  height: 44px;
  box-sizing: border-box;
  border: 1px solid rgba(198,168,105,.28);
  border-radius: 50%;
  background-color: rgba(198,168,105,.06);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c6a869' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 16.5v3a1.5 1.5 0 0 1-1.65 1.5A17.5 17.5 0 0 1 3 5.15 1.5 1.5 0 0 1 4.5 3.5h3A1.5 1.5 0 0 1 9 4.8c.1 1 .35 1.95.75 2.85a1.5 1.5 0 0 1-.34 1.62L8 10.7a14 14 0 0 0 5.3 5.3l1.43-1.41a1.5 1.5 0 0 1 1.62-.34c.9.4 1.85.65 2.85.75a1.5 1.5 0 0 1 1.3 1.5Z'/%3E%3C/svg%3E");
}
html[data-vyxcore-theme] body #divNoCalls[data-vyx-empty-calls] h4 {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #d4c39f !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.45;
}
html[data-vyxcore-theme] body #divNoCalls[data-vyx-empty-calls] p.alert-icon-warning {
  margin: 7px 0 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: none !important;
  color: #aeb8bc !important;
  font-size: 13px !important;
  line-height: 1.65;
}
@media (max-width: 1023px) {
  html[data-vyxcore-theme]:not([data-vixcore-login]) body {
    background-attachment: scroll !important;
  }
  html[data-vyxcore-theme] body #divNoCalls[data-vyx-empty-calls] {
    width: 100%;
    padding: 20px 18px 20px 74px !important;
  }
  html[data-vyxcore-theme] body #divNoCalls[data-vyx-empty-calls]::before {
    left: 18px;
    top: 23px;
    width: 38px;
    height: 38px;
    background-size: 21px 21px;
  }
}

/* Original values and controls remain live; only the carousel is stopped. */
html[data-vyxcore-theme] body#top #dock {
  padding: 14px 22px 16px !important;
  height: auto !important;
  min-height: 0 !important;
}
html[data-vyxcore-theme] body#top #dock_container {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto 140px;
  grid-template-areas: 'company language logo' 'level language logo' 'toolbar toolbar toolbar';
  gap: 2px 20px;
  align-items: center;
  position: relative !important;
  width: 100% !important;
  max-width: 1480px !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
html[data-vyxcore-theme] body#top :is(#dock_company,#dock_level,#dock_logo,#dock_language,#dock_stage_item) {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  height: auto !important;
  box-sizing: border-box;
}
html[data-vyxcore-theme] body#top #dock_company {
  grid-area: company;
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 600 !important;
  color: #d1ba84 !important;
  letter-spacing: .025em;
}
html[data-vyxcore-theme] body#top #dock_level {
  grid-area: level;
  font-size: 11px !important;
  line-height: 16px !important;
  color: #a1a9ac !important;
  text-align: left !important;
}
html[data-vyxcore-theme] body#top #dock_logo { grid-area: logo; }
html[data-vyxcore-theme] body#top #dock_logo .dock-logo,
html[data-vyxcore-theme] body#top #dock_logo .dock-logo > a {
  position: relative !important;
  inset: auto !important;
  display: block;
  width: 140px !important;
  height: 40px !important;
  margin: 0 !important;
  background-size: contain !important;
  background-position: center !important;
}
html[data-vyxcore-theme] body#top #dock_language {
  grid-area: language;
  padding: 5px 12px !important;
  min-height: 28px;
  background: rgba(15,19,21,.86) !important;
  border: 1px solid #303637;
  border-radius: 8px;
}
html[data-vyxcore-theme] body#top #dock_stage { display: none !important; }
html[data-vyxcore-theme] body#top #NextMenu {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box;
}
html[data-vyxcore-theme] body#top #dock_stage_item {
  grid-area: toolbar;
  display: grid !important;
  grid-template-columns: 174px repeat(3,44px) minmax(430px,1fr) repeat(3,48px) 138px;
  gap: 8px;
  align-items: stretch;
  margin-top: 14px !important;
}
html[data-vyxcore-theme] body#top #dock_stage_item > :is(#dock_start,.dock_icon,.dock_round,#dock_user) {
  position: relative !important;
  inset: auto !important;
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  height: 66px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  transform: none !important;
}
html[data-vyxcore-theme] body#top :is(#dock_start,#dock_user) {
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: rgba(17,22,24,.95) !important;
  border: 1px solid #3b403e;
  border-radius: 10px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}
html[data-vyxcore-theme] body#top :is(#dock_start,#dock_user) .dock-item-content {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  padding: 0 8px !important;
  font-size: 12px !important;
  line-height: 20px !important;
}
html[data-vyxcore-theme] body#top #dock_user a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 44px;
  white-space: nowrap;
}
html[data-vyxcore-theme] body#top #dock_user #avatar {
  position: static !important;
  inset: auto !important;
  width: 22px;
  height: 22px;
  margin: 0 !important;
}
html[data-vyxcore-theme] body#top #dock_stage_item > .dock_icon_phone .dock-item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  position: static !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 10px;
}
html[data-vyxcore-theme] body#top #dock_stage_item > :is(.dock_icon1,.dock_icon2,.dock_icon3) {
  background: rgba(17,22,24,.95) !important;
  border: 1px solid #303839;
  border-radius: 10px;
  box-shadow: none !important;
}
html[data-vyxcore-theme] body#top #dock_stage_item > :is(.dock_icon1,.dock_icon2,.dock_icon3) .dock-item-icon {
  position: static !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
html[data-vyxcore-theme] body#top #dock_stage_item > :is(.dock_icon1,.dock_icon2,.dock_icon3) .dock-item-icon > * {
  position: static !important;
  margin: 0 !important;
  width: auto !important;
  line-height: 1.1 !important;
}
html[data-vyxcore-theme] body#top #dock_stage_item > :is(.dock_icon1,.dock_icon2,.dock_icon3) span {
  font-size: 9px !important;
  color: #99a2a6 !important;
  letter-spacing: .04em;
}
html[data-vyxcore-theme] body#top #dock_stage_item > :is(.dock_icon1,.dock_icon2,.dock_icon3) b {
  font-size: 18px !important;
  font-weight: 600;
  color: #d4c499 !important;
}
html[data-vyxcore-theme] body#top #dock_round {
  position: static !important;
  display: grid !important;
  grid-template-columns: 1fr 1.6fr 1.5fr;
  gap: 8px;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
  touch-action: auto;
}
html[data-vyxcore-theme] body#top #dock_round > li {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  z-index: auto !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  cursor: default !important;
}
html[data-vyxcore-theme] body#top #dock_round .dock_round_online {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box;
  padding: 9px 10px !important;
  background: rgba(17,22,24,.96) !important;
  border: 1px solid #3b403e;
  border-top-color: #766443;
  border-radius: 10px !important;
  box-shadow: inset 0 1px 0 rgba(213,184,121,.035) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
html[data-vyxcore-theme] body#top #dock_round .dock_round_server,
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-traffic {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-part {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  min-width: 0;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-part + .vyx-metric-part {
  border-left: 1px solid #303738;
  padding-left: 10px;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: #a6afb2 !important;
  font-size: 10px !important;
  font-weight: 400;
  line-height: 1.2 !important;
  white-space: nowrap;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-label img {
  width: 11px !important;
  height: auto;
  opacity: .8 !important;
  filter: grayscale(1) invert(.65);
}
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-value,
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-value > span {
  color: #d6c49a !important;
  font-size: 17px !important;
  font-weight: 600;
  line-height: 1.1 !important;
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
html[data-vyxcore-theme] body#top #dock_round .dock_round_online :is(span,b) {
  position: static !important;
  float: none !important;
  height: auto !important;
  min-height: 0 !important;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-memory-value {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-memory-value > span {
  display: inline !important;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-memory-value,
html[data-vyxcore-theme] body#top #dock_round .vyx-memory-value > span {
  font-size: 14px !important;
}
html[data-vyxcore-theme] body#top #dock_round .vyx-metric-divider {
  color: #747f83 !important;
  font-weight: 400 !important;
}
@media (max-width: 1279px) {
  html[data-vyxcore-theme] body#top #dock_stage_item {
    grid-template-columns: repeat(6,minmax(0,1fr));
  }
  html[data-vyxcore-theme] body#top #dock_stage_item > #dock_start,
  html[data-vyxcore-theme] body#top #dock_stage_item > #dock_user { grid-column: span 3; }
  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_round { grid-column: 1 / -1; }
  html[data-vyxcore-theme] body#top #dock_stage_item > :is(#dock_start,.dock_icon,#dock_user) { height: 46px !important; }
}
@media (max-width: 599px) {
  html[data-vyxcore-theme] body#top #dock { padding: 12px 10px !important; }
  html[data-vyxcore-theme] body#top #dock_container {
    grid-template-columns: minmax(0,1fr) 104px;
    grid-template-areas: 'company logo' 'level logo' 'language language' 'toolbar toolbar';
    column-gap: 10px;
  }
  html[data-vyxcore-theme] body#top #dock_company { font-size: 13px !important; }
  html[data-vyxcore-theme] body#top #dock_logo .dock-logo,
  html[data-vyxcore-theme] body#top #dock_logo .dock-logo > a { width: 104px !important; height: 34px !important; }
  html[data-vyxcore-theme] body#top #dock_language { justify-self: start; margin-top: 5px !important; }
  html[data-vyxcore-theme] body#top #dock_stage_item { margin-top: 10px !important; gap: 6px; }
  html[data-vyxcore-theme] body#top #dock_round { grid-template-columns: minmax(0,1fr) minmax(0,1.2fr); gap: 6px; height: auto !important; }
  html[data-vyxcore-theme] body#top #dock_round > li:last-child { grid-column: 1 / -1; }
  html[data-vyxcore-theme] body#top #dock_stage_item > .dock_round { height: auto !important; min-height: 130px !important; }
  html[data-vyxcore-theme] body#top #dock_round > li { min-height: 62px !important; height: auto !important; }
  html[data-vyxcore-theme] body#top #dock_round .dock_round_online { padding: 9px 8px !important; }
  html[data-vyxcore-theme] body#top #dock_round .vyx-metric-value { font-size: 16px !important; }
  html[data-vyxcore-theme] body#top #dock_round .vyx-memory-value,
  html[data-vyxcore-theme] body#top #dock_round .vyx-memory-value > span { font-size: 13px !important; }
}

/* Matte quick-access palette. Presentation only; keep menu order and actions. */
html[data-vyxcore-theme] body #NextMenu,
html[data-vyxcore-theme] body #NextMenu .NextMenuContent,
html[data-vyxcore-theme] body #NextMenu .bodyQuickAccess {
  color: #adb2ac !important;
}
html[data-vyxcore-theme] body #NextMenu .quickAccess,
html[data-vyxcore-theme] body #NextMenu .letterIndex {
  color: #b7a477 !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body #NextMenu .menu-separator {
  color: #a8ada7 !important;
  text-shadow: none !important;
}
/* Same matte gold as the three toolbar buttons; inset keeps layout unchanged. */
html[data-vyxcore-theme] body #NextMenu .columnIndex {
  box-shadow: inset 0 0 0 1px #c0a56e !important;
}
html[data-vyxcore-theme] body #NextMenu .menu-option,
html[data-vyxcore-theme] body #NextMenu .menu-option > a {
  color: #adb2ac !important;
  background-color: transparent !important;
  background-image: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
/* Legacy search highlighting may wrap labels in its own color classes. */
html[data-vyxcore-theme] body #NextMenu .menu-option > a :is(span,b,strong),
html[data-vyxcore-theme] body #NextMenu .menu-option :is(.white-active,.silver) {
  color: inherit !important;
  text-shadow: none !important;
}
html[data-vyxcore-theme] body #NextMenu .menu-option[data-match="true"],
html[data-vyxcore-theme] body #NextMenu .menu-option[data-match="true"] > a {
  color: #baa67b !important;
  background-color: #29271f !important;
}
/* Give mouse, keyboard, and restored active states the same quiet gold. */
html[data-vyxcore-theme] body #NextMenu .menu-option:is(.active,:hover,:focus-within),
html[data-vyxcore-theme] body #NextMenu .menu-option:is(.active,:hover,:focus-within) > a,
html[data-vyxcore-theme] body #NextMenu .menu-option > a:is(.active,:hover,:focus,:focus-visible) {
  color: #171913 !important;
  background-color: #aa9567 !important;
  background-image: none !important;
  text-shadow: none !important;
  box-shadow: inset 0 0 0 1px #c0a56e !important;
}
html[data-vyxcore-theme] body#top #NextMenu .menu-option > a:focus-visible {
  outline: 2px solid #4d422a !important;
  outline-offset: -2px !important;
}
html[data-vyxcore-theme] body #NextMenu #txtMenuSearch {
  color: #adb2ac !important;
  border-color: #665b40 !important;
  box-shadow: none !important;
  caret-color: #b7a477;
}
html[data-vyxcore-theme] body #NextMenu #txtMenuSearch:focus {
  border-color: #9b895e !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme] body #NextMenu ::selection {
  color: #171913;
  background: #aa9567;
  text-shadow: none;
}

/* Login uses the same solid, matte gold as the interior toolbar buttons. */
html[data-vyxcore-theme][data-vixcore-login] body {
  --vixcore-gold: #c0a56e;
  --vyxcore-gold: #c0a56e;
}
html[data-vyxcore-theme][data-vixcore-login] body #form-block {
  border-color: #c0a56e !important;
}
html[data-vyxcore-theme][data-vixcore-login] body :is(#form-login,#form-password) :is(button,.button,#login,input[type="submit"],input[type="button"]) {
  background: #c0a56e !important;
  border-color: #c0a56e !important;
  color: #171913 !important;
  text-shadow: none !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme][data-vixcore-login] body :is(#form-login,#form-password) :is(input,select,textarea):focus,
html[data-vyxcore-theme][data-vixcore-login] body :is(#form-login,#form-password) .input:focus-within {
  border-color: #c0a56e !important;
  outline-color: #c0a56e !important;
  box-shadow: none !important;
}
html[data-vyxcore-theme][data-vixcore-login] body :is(input,textarea) {
  caret-color: #c0a56e !important;
}
html[data-vyxcore-theme][data-vixcore-login] body :is(button,a,input[type="submit"],input[type="button"]):focus-visible {
  outline-color: #c0a56e !important;
}
html[data-vyxcore-theme][data-vixcore-login] body #form-switch a:hover {
  color: #c0a56e !important;
}
html[data-vyxcore-theme][data-vixcore-login] body ::selection {
  background: #c0a56e !important;
  color: #171913 !important;
}
