/* Independently maintained Dashlee admin theme. Edit this file for admin only.
   Initial palette matches OrgTrack's dashlee-checkout.css.
   Loaded only by _PortalBranding when explicitly enabled. Layout stays portal-specific. */
:root {
    color-scheme: dark;
    --dashlee-background: #090d15;
    --dashlee-surface: #131922;
    --dashlee-input: #1a2029;
    --dashlee-text: #f7f4f2;
    --dashlee-muted: #bcb6b1;
    --dashlee-accent: #f26644;
    --dashlee-hover: #fa8a6f;
    --dashlee-border: #292e37;
    --portal-text: var(--dashlee-text);
    --portal-accent: var(--dashlee-accent);
    --portal-border: var(--dashlee-border);
    --portal-surface: var(--dashlee-surface);
    --primary: var(--dashlee-accent);
    --dark-blue: var(--dashlee-surface);
}
.dashlee-account-logo { display:block; width:210px; max-width:100%; max-height:60px; object-fit:contain; margin:0 auto 24px; }
body .admin-logo img { max-height:48px; object-fit:contain; }
/* The legacy portals use image backgrounds and hardcoded colors. These color-only
   overrides intentionally take precedence over their page-specific styles. */
html, body, body.blank, body.admin-dashboard-body, body.affiliate-portal,
#wrapper, #menu, #header, .content, .login-container,
.emp-admin-login-v2, .emp-affiliate-login-v2, body .emp-login-v2,
body .body-bg, body .test-bg {
    background-color: var(--dashlee-background) !important;
    background-image: none !important;
    color: var(--dashlee-text) !important;
}
.emp-admin-login-v2::before, .emp-affiliate-login-v2::before, body .emp-login-v2::before {
    background-color: transparent !important;
}
.portal-panel, .portal-metric, .portal-affiliate-links, .portal-link-value,
.admin-header, .legacy-admin-header, .admin-nav-menu, .portal-bank-menu>div,
.hpanel>.panel-body, .panel, .panel-body, .panel-heading, .modal-content,
.sweet-alert, .well, .list-group-item, .dropdown-menu,
.emp-admin-login-v2__panel, .emp-affiliate-login-v2__panel,
body .emp-login-v2__panel, body .login-box-main, .profile-edit-panel,
.profile-sidebar, .affiliate-step-card, .ui-widget.ui-widget-content {
    background-color: var(--dashlee-surface) !important;
    background-image: none !important;
    color: var(--dashlee-text) !important;
    border-color: var(--dashlee-border) !important;
}
body a, .portal-heading>a, .portal-panel-heading h2,
.portal-affiliate-links h2, .portal-destination label, .portal-metric strong {
    color: var(--dashlee-accent);
}
body a:hover { color: var(--dashlee-hover); }
.text-muted, .help-block, input::placeholder, textarea::placeholder {
    color: var(--dashlee-muted) !important;
}
body .form-control, body .form-select, body input:where(:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button])),
body select, body textarea, body .select2-container .select2-choice,
body .select2-container .select2-choices, body .select2-drop,
body .select2-search input, body .daterangepicker, body .daterangepicker .calendar-table {
    background-color: var(--dashlee-input) !important;
    color: var(--dashlee-text) !important;
    border-color: #323843 !important;
}
body .btn-primary, body .btn-success, body .btn-info, .portal-navigation>a,
.portal-bank-menu>summary, .portal-navigation>form>button, .portal-analytics,
.portal-periods>button[aria-pressed=true], .emp-admin-login-v2__button,
.emp-admin-login-v2__submit, .emp-affiliate-login-v2__button,
.emp-affiliate-login-v2__submit, body .emp-login-v2__submit, .pagination>.active>a,
.select2-results .select2-highlighted, .daterangepicker td.active {
    background-color: var(--dashlee-accent) !important;
    border-color: var(--dashlee-accent) !important;
    color: var(--dashlee-background) !important;
    box-shadow: none !important;
}
body .btn-primary:hover, body .btn-success:hover, .portal-navigation>a:hover,
.portal-bank-menu>summary:hover { background-color: var(--dashlee-hover) !important; }
.portal-outline-link, .portal-periods>button {
    color: var(--dashlee-accent) !important;
    border-color: var(--dashlee-accent) !important;
}
body table, body th, body td, .portal-panel-heading, .modal-header, .modal-footer {
    border-color: var(--dashlee-border) !important;
    color: var(--dashlee-text);
}
body thead, body th, body .table-striped>tbody>tr:nth-of-type(odd) {
    background-color: var(--dashlee-input) !important;
}
body .table-hover>tbody>tr:hover { background-color: var(--dashlee-surface) !important; }
body input:focus, body select:focus, body textarea:focus {
    border-color: var(--dashlee-accent) !important;
    box-shadow: 0 0 0 3px rgb(242 102 68 / 20%) !important;
}
a:focus-visible, button:focus-visible, summary:focus-visible {
    outline: 2px solid var(--dashlee-accent) !important;
    outline-offset: 3px;
}
input[type=checkbox], input[type=radio] { accent-color: var(--dashlee-accent); }

/* Match the specificity of operational-screen and vendor overrides. Keep the
   existing calendar/select/button icons and the default portal's layout. */
body.admin-dashboard-body .daterangepicker,
body.admin-dashboard-body .daterangepicker .calendar-table,
body.admin-dashboard-body .daterangepicker td.in-range,
body.admin-dashboard-body .daterangepicker td.available:hover,
body.admin-dashboard-body .daterangepicker th.available:hover,
body.admin-dashboard-body .daterangepicker .ranges li:hover,
body.admin-dashboard-body .daterangepicker .ranges li.active,
body .ui-datepicker .ui-datepicker-header,
body .ui-widget-content .ui-state-default {
    background-color: var(--dashlee-input) !important;
    border-color: var(--dashlee-border) !important;
    color: var(--dashlee-text) !important;
}
body.admin-dashboard-body .daterangepicker td.active,
body.admin-dashboard-body .daterangepicker td.active:hover,
body.admin-dashboard-body .daterangepicker .applyBtn,
body .ui-widget-content .ui-state-active {
    background-color: var(--dashlee-accent) !important;
    border-color: var(--dashlee-accent) !important;
    color: var(--dashlee-background) !important;
}
body.admin-dashboard-body .daterangepicker .cancelBtn,
body .admin-main .btn-cancel {
    background-color: var(--dashlee-input) !important;
    color: var(--dashlee-accent) !important;
    border-color: var(--dashlee-accent) !important;
}
body .btn-primary { background-image: none !important; }
body .select2-container .select2-choice { background-image: none !important; }
body .admin-nav a, body .admin-nav summary, body .admin-main h1,
body .admin-main h2, body .admin-main .filter-label { color: var(--dashlee-accent); }
body .sandbox-switch input:checked + .sandbox-slider { background-color: var(--dashlee-accent); }
body input.input-validation-error, body select.input-validation-error,
body textarea.input-validation-error, body input[aria-invalid=true],
body .emp-admin-login-v2__field input.input-validation-error {
    border-color: #ff9e90 !important;
}
body .field-validation-error, body .validation-summary-errors { color: #ff9e90; }

/* Legacy affiliate screens use their own menus rather than Bootstrap dropdowns.
   These selectors also cover menus moved into the browser's popover top layer. */
body .legacy-action-menu {
    background-color: var(--dashlee-surface) !important;
    border-color: var(--dashlee-border) !important;
    color: var(--dashlee-text) !important;
}
body .legacy-action-menu a, body .legacy-action-menu button.btn {
    color: var(--dashlee-text) !important;
    border-bottom-color: var(--dashlee-border) !important;
}
body .legacy-action-menu a:hover, body .legacy-action-menu a:focus-visible,
body .legacy-action-menu button.btn:hover, body .legacy-action-menu button.btn:focus-visible {
    background-color: var(--dashlee-input) !important;
    border-left-color: var(--dashlee-accent) !important;
    color: var(--dashlee-accent) !important;
}
body .legacy-row-actions>summary,
body .legacy-row-actions>summary:hover,
body .legacy-row-actions>summary:focus-visible,
body .legacy-row-actions[open]>summary {
    background-color: var(--dashlee-input) !important;
    border-color: var(--dashlee-border) !important;
    color: var(--dashlee-text) !important;
}
body .affiliate-list-panel, body .affiliate-filters,
body .legacy-member-results, body .custom-page-results,
body .admin-edit-form fieldset, body .admin-select-widget.select2-container {
    border-color: var(--dashlee-border) !important;
}
body main.admin-main input.form-control,
body main.admin-main select.form-control,
body main.admin-main textarea.form-control,
body .affiliate-filters select, body .affiliate-filters input,
body .affiliate-list-panel select {
    border-color: #323843 !important;
}
body main.admin-main input.form-control:focus,
body main.admin-main select.form-control:focus,
body main.admin-main textarea.form-control:focus {
    border-color: var(--dashlee-accent) !important;
}
body main.admin-main input.form-control.input-validation-error,
body main.admin-main select.form-control.input-validation-error,
body main.admin-main textarea.form-control.input-validation-error,
body main.admin-main input.form-control[aria-invalid=true] {
    border-color: #ff9e90 !important;
}
body .affiliate-filters select option { background-color: var(--dashlee-input); }
body .legacy-affiliate-screen .affiliate-sort>i,
body .legacy-affiliate-screen .affiliate-row-shortcuts a,
body .legacy-affiliate-screen .affiliate-row-shortcuts button {
    color: var(--dashlee-accent) !important;
}
body .affiliate-count, body .affiliate-code { color: var(--dashlee-muted); }
body .admin-manage-header .sandbox-slider {
    background-color: var(--dashlee-input);
    border-color: var(--dashlee-border);
}
body .admin-manage-header .sandbox-slider::before { background-color: var(--dashlee-accent); }
body .admin-manage-header .sandbox-switch input:checked+.sandbox-slider {
    background-color: var(--dashlee-accent);
}
body .admin-manage-header .sandbox-switch input:checked+.sandbox-slider::before {
    background-color: var(--dashlee-text);
}
body .admin-nav-group[open]>summary, body .admin-nav summary:hover,
body .admin-nav a[aria-current=page], body .admin-nav-group.active>summary {
    background-color: var(--dashlee-input);
    color: var(--dashlee-accent);
}
body .affiliate-pagination a, body .affiliate-report-nav a {
    border-color: var(--dashlee-border);
    color: var(--dashlee-accent);
}
body main.admin-main dialog.affiliate-dialog, body .member-notes-dialog {
    background-color: var(--dashlee-surface) !important;
    border-color: var(--dashlee-border) !important;
}
body main.admin-main #affiliate-message-dialog .legacy-affiliate-send,
body main.admin-main #affiliate-message-dialog .legacy-affiliate-send:hover,
body main.admin-main #affiliate-message-dialog .legacy-affiliate-send:focus {
    background-color: var(--dashlee-accent) !important;
    border-color: var(--dashlee-accent) !important;
    color: var(--dashlee-background) !important;
}
/* Image-backed controls need Dashlee-colored artwork, not just a text color. */
body .admin-main .btn-filter,
body .admin-main .btn-filter:hover,
body .admin-main .btn-filter:focus,
body .admin-main .btn-filter:active,
body .admin-main .btn-filter:hover:active {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23090d15' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m15 15 6 6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: 17px center !important;
    background-size: 21px 21px !important;
    padding: 8px 21px 8px 45px !important;
    width: auto;
    min-width: 126px;
    white-space: nowrap;
}
body .admin-main .btn-csv,
body .admin-main .btn-csv:hover,
body .admin-main .btn-csv:focus,
body .admin-main .btn-csv:active,
body .admin-main .btn-csv:hover:active {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23090d15' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H5v20h14V7zM14 2v5h5M8 12h8m-8 4h8m-4-4v7'/%3E%3C/svg%3E") !important;
    background-color: var(--dashlee-accent) !important;
    background-repeat: no-repeat !important;
    background-position: 17px center !important;
    background-size: 21px 21px !important;
    color: var(--dashlee-background) !important;
    padding: 8px 21px 8px 45px !important;
    width: auto;
    white-space: nowrap;
}
body main.admin-main .affiliate-filters .legacy-date-range input.form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f26644' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 11h18m-14 4h2m3 0h2m3 0h1m-11 3h2m3 0h2'/%3E%3C/svg%3E") !important;
}
body .admin-manage-header .logout-button img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(60%) saturate(1725%) hue-rotate(331deg) brightness(101%) contrast(90%);
}
/* Keep names readable over the existing account-status row backgrounds. */
body .legacy-affiliate-screen tr[class^="affiliate-warning-"] td:first-child>a {
    color: inherit;
    text-decoration: underline;
}
body .affiliate-history-button img {
    filter: brightness(0) saturate(100%) invert(53%) sepia(60%) saturate(1725%) hue-rotate(331deg) brightness(101%) contrast(90%);
}
body .legacy-affiliate-screen .affiliate-status-link { color: var(--dashlee-text) !important; }

/* Dashlee account entrance. Keep the legacy login untouched when not enabled. */
body .emp-admin-login-v2 {
    min-height: 100vh;
    min-height: 100svh;
    padding: 40px 20px;
    background-image: radial-gradient(ellipse at 50% 30%, rgb(242 102 68 / 10%), transparent 58%),
        radial-gradient(ellipse at 15% 95%, rgb(242 102 68 / 4%), transparent 45%) !important;
}
body .emp-admin-login-v2__content { max-width: 480px; }
body .emp-admin-login-v2__panel {
    width: 100%;
    min-height: 0;
    padding: 44px 40px 40px;
    border: 1px solid #30343c;
    border-top: 2px solid rgb(242 102 68 / 70%);
    border-color: #30343c !important;
    border-top-color: rgb(242 102 68 / 70%) !important;
    border-radius: 24px;
    box-shadow: 0 24px 80px #0005, 0 0 60px rgb(242 102 68 / 4%), inset 0 1px 0 #ffffff08;
}
body .emp-admin-login-v2__inner { max-width: 100%; }
body .emp-admin-login-v2 .dashlee-account-logo {
    width: 174px;
    height: auto;
    margin-bottom: 30px;
}
body .emp-admin-login-v2__title {
    margin: 0 0 10px;
    font-size: 28px;
    line-height: 1.25;
    letter-spacing: -.6px;
    font-weight: 700;
}
.dashlee-login-intro { color: var(--dashlee-muted); font-size: 14px; line-height: 1.6; margin: 0 0 30px; }
body .emp-admin-login-v2__field { margin-bottom: 20px; }
body .emp-admin-login-v2__field label {
    color: var(--dashlee-text);
    font-size: 13px;
    line-height: 1.5;
    letter-spacing: .1px;
    font-weight: 600;
    margin-bottom: 8px;
}
body .emp-admin-login-v2__field .form-control {
    height: 50px;
    padding: 12px 14px;
    border-radius: 10px;
    border-color: #323843 !important;
    background-color: var(--dashlee-input) !important;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    transition: border-color .15s, box-shadow .15s;
}
body .emp-admin-login-v2__field .form-control:focus {
    border-color: var(--dashlee-accent) !important;
    box-shadow: 0 0 0 3px rgb(242 102 68 / 14%) !important;
    outline: none;
}
body .emp-admin-login-v2__field .form-control.input-validation-error {
    border-color: #ff9e90 !important;
}
body .emp-admin-login-v2__submit {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    margin: 28px 0 0;
    border: 1px solid var(--dashlee-accent);
    border-radius: 10px;
    background-color: var(--dashlee-accent) !important;
    background-image: linear-gradient(180deg, #fa7957, #f26644) !important;
    color: var(--dashlee-background) !important;
    font-size: 16px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: .1px;
    text-transform: none;
    cursor: pointer;
    box-shadow: 0 5px 18px rgb(242 102 68 / 17%) !important;
    transition: box-shadow .15s, transform .15s;
}
body .emp-admin-login-v2__submit:hover {
    background-image: linear-gradient(180deg, #ff8a6a, #fa7957) !important;
    box-shadow: 0 7px 24px rgb(242 102 68 / 25%) !important;
    transform: translateY(-1px);
}
body .emp-admin-login-v2__submit:active { transform: translateY(0); }
@media (max-width: 520px) {
    body .emp-admin-login-v2 { padding: 24px 16px; }
    body .emp-admin-login-v2__panel { padding: 32px 24px; border-radius: 20px; }
    body .emp-admin-login-v2__title { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
    body .emp-admin-login-v2__submit, body .emp-admin-login-v2__field .form-control { transition: none; }
    body .emp-admin-login-v2__submit:hover { transform: none; }
}

/* Keep filled actions and their dark artwork readable in every interaction state. */
body .admin-main .btn-info:not(.btn-csv):not(:disabled):not(.disabled):not([aria-disabled="true"]):is(:hover, :focus, :active),
body .admin-main .btn-primary:not(:disabled):not(.disabled):is(:hover, :focus, :active),
body .admin-main .btn-success:not(:disabled):not(.disabled):is(:hover, :focus, :active) {
    background-color: var(--dashlee-hover) !important;
    color: var(--dashlee-background) !important;
    border-color: var(--dashlee-hover) !important;
}
body .legacy-row-actions>summary:is(:hover, :focus-visible),
body .legacy-row-actions[open]>summary {
    background-color: var(--dashlee-hover) !important;
    color: var(--dashlee-background) !important;
    border-color: var(--dashlee-hover) !important;
}
body .legacy-action-menu a:is(:hover, :focus-visible),
body .legacy-action-menu button.btn:not(:disabled):is(:hover, :focus-visible) {
    background-color: var(--dashlee-hover) !important;
    color: var(--dashlee-background) !important;
    border-left-color: var(--dashlee-accent) !important;
}
body .admin-main .btn-cancel:not(:disabled):is(:hover, :focus-visible) {
    background-color: var(--dashlee-input) !important;
    color: var(--dashlee-hover) !important;
    border-color: var(--dashlee-hover) !important;
}
body .admin-main .btn:focus-visible,
body .legacy-row-actions>summary:focus-visible,
body .legacy-action-menu :is(a, button):focus-visible {
    outline: 2px solid var(--dashlee-hover);
    outline-offset: 3px;
}
