/* Site-wide selectable palettes. */
:root,
:root[data-theme="ink-blue"] {
  --jd-950: #000000;
  --jd-800: #476f95;
  --jd-650: #7593af;
  --jd-500: #a3b7ca;
  --jd-400: #b9c8d6;
  --jd-300: #d1dbe4;
  --jd-200: #e0e7ed;
  --jd-100: #edf1f5;
  --jd-050: #f8fafb;
  --jd-white: #ffffff;
  --jd-rgb-950: 0, 0, 0;
  --jd-rgb-650: 117, 147, 175;
}

:root[data-theme="plum"] {
  --jd-950: #3b1736;
  --jd-800: #660e60;
  --jd-650: #893f71;
  --jd-500: #ac6f82;
  --jd-400: #c38694;
  --jd-300: #cfa093;
  --jd-200: #e4c1bd;
  --jd-100: #f0dbd7;
  --jd-050: #fbf2f1;
  --jd-white: #ffffff;
  --jd-rgb-950: 59, 23, 54;
  --jd-rgb-650: 137, 63, 113;
}

:root[data-theme="pastel-mint"] {
  --jd-950: #183b34;
  --jd-800: #356b5d;
  --jd-650: #579080;
  --jd-500: #74a892;
  --jd-400: #91bba8;
  --jd-300: #b0cebf;
  --jd-200: #c9ddd2;
  --jd-100: #dceae3;
  --jd-050: #f1f7f4;
  --jd-white: #ffffff;
  --jd-rgb-950: 24, 59, 52;
  --jd-rgb-650: 87, 144, 128;
}

:root[data-theme="dusty-mauve"] {
  --jd-950: #2f2536;
  --jd-800: #503d5c;
  --jd-650: #624b6e;
  --jd-500: #6f597a;
  --jd-400: #8b7991;
  --jd-300: #af92b5;
  --jd-200: #cdbbd1;
  --jd-100: #e5dce7;
  --jd-050: #f7f3f8;
  --jd-white: #ffffff;
  --jd-rgb-950: 47, 37, 54;
  --jd-rgb-650: 98, 75, 110;
}

:root[data-theme="royal-blue"] {
  --jd-950: #142549;
  --jd-800: #315db6;
  --jd-650: #4874cd;
  --jd-500: #60697c;
  --jd-400: #94a3b8;
  --jd-300: #7495d9;
  --jd-200: #d9e2f5;
  --jd-100: #f1f5f9;
  --jd-050: #f6f9fd;
  --jd-white: #ffffff;
  --jd-rgb-950: 20, 37, 73;
  --jd-rgb-650: 72, 116, 205;

  --theme-primary: #315db6;
  --theme-primary-hover: #274b92;
  --theme-primary-light: #4874cd;
  --theme-primary-soft: #f6f9fd;
  --theme-background: #f6f9fd;
  --theme-surface: #ffffff;
  --theme-surface-hover: #f8fafc;
  --theme-text: #142549;
  --theme-text-body: #334155;
  --theme-text-secondary: #475569;
  --theme-text-muted: #60697c;
  --theme-text-subtle: #94a3b8;
  --theme-border: #d9e2f5;
  --theme-border-light: #f1f5f9;
  --theme-focus: #7495d9;
  --theme-success: #059669;
  --theme-warning: #d97706;
  --theme-danger: #dc2626;
  --theme-info: #4874cd;
  --theme-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --theme-sidebar-width: 256px;
  --theme-header-height: 72px;
  --theme-control-height: 42px;
  --theme-radius-control: 9px;
  --theme-radius-card: 14px;
  --theme-radius-hero: 16px;
  --theme-radius-pill: 999px;
  --theme-shadow: 0 1px 2px rgba(15,23,42,.04), 0 8px 24px rgba(15,23,42,.04);
  --theme-transition: 180ms ease;
}

:root[data-theme] {
  --p1-primary: var(--jd-800);
  --p1-primary-hover: var(--jd-950);
  --p1-primary-soft: var(--jd-050);
  --p1-bg: var(--jd-050);
  --p1-surface: var(--jd-white);
  --p1-text: var(--jd-950);
  --p1-muted: var(--jd-500);
  --p1-border: var(--jd-100);
  --p1-info: var(--jd-650);
  --p1-hero-background: linear-gradient(120deg, var(--jd-950), var(--jd-800) 52%, var(--jd-650));
}

:root[data-theme="royal-blue"] {
  --p1-primary-hover: #274b92;
  --p1-hero-background: linear-gradient(120deg, #274b92 0%, #315db6 50%, #4874cd 100%);
}

/* Shell elements that pre-date the design tokens need final-cascade theme bindings. */
:root[data-theme] body,
:root[data-theme] .body-wrapper,
:root[data-theme] .body-wrapper .content-area,
:root[data-theme] .body-wrapper .content-area > .container { background-color: var(--jd-050) !important; }
:root[data-theme] .body-wrapper .dash-menu,
:root[data-theme] .body-wrapper .dash-menu .side-menu { background: var(--jd-950) !important; }
:root[data-theme] .body-wrapper .dash-menu .dash-logo { background: var(--jd-950) !important; border-color: rgba(255,255,255,.12) !important; }
:root[data-theme] .body-wrapper .dash-menu .dash-logo .dash-brand-name { color: var(--jd-white) !important; }
:root[data-theme] .side-account-panel { background: rgba(255,255,255,.07) !important; border-color: rgba(255,255,255,.14) !important; }
:root[data-theme] .side-user-row { border-color: rgba(255,255,255,.14) !important; }
:root[data-theme] .side-user-copy strong,
:root[data-theme] .side-privacy-row,
:root[data-theme] .side-theme-label { color: var(--jd-white) !important; }
:root[data-theme] .side-user-copy small { color: var(--jd-200) !important; }
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li > a,
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li ul.sub-menu-list li a { color: var(--jd-100) !important; }
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li > a i { background: rgba(255,255,255,.08) !important; color: var(--jd-200) !important; }
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li > a:hover,
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li > a.active,
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li.open > a { background: var(--jd-800) !important; color: var(--jd-white) !important; }
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li > a:hover span,
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li > a.active span,
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li.open > a span { color: var(--jd-white) !important; opacity: 1 !important; visibility: visible !important; }
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li.have-sub-menu > a:hover::before,
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li.have-sub-menu.open > a::before { color: var(--jd-white) !important; }
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li > a.active i,
:root[data-theme] .body-wrapper .dash-menu .menu-holder ul li.open > a i { background: var(--jd-white) !important; color: var(--jd-800) !important; }
:root[data-theme] .body-wrapper .header,
:root[data-theme] .body-wrapper .header > .container,
:root[data-theme] .body-wrapper .header > .container > .row,
:root[data-theme] .body-wrapper .header .header-action,
:root[data-theme] .body-wrapper .header .header-right { background-color: var(--jd-white) !important; }
:root[data-theme] .fd-hero,
:root[data-theme] .icr-head,
:root[data-theme] .exr-head,
:root[data-theme] .cfr-head,
:root[data-theme] .cff-hero,
:root[data-theme] .bad-hero,
:root[data-theme] .mss-hero,
:root[data-theme] .inb-hero,
:root[data-theme] .exb-hero,
:root[data-theme] .bnb-hero,
:root[data-theme] .bank-hero,
:root[data-theme] .report-hero,
:root[data-theme] .common-pop .popup-head { background: var(--p1-hero-background) !important; }
:root[data-theme] .fd-hero { background: radial-gradient(circle at 86% 0, rgba(var(--jd-rgb-650),.38), transparent 34%), var(--p1-hero-background) !important; }
:root[data-theme] input.form-control:focus,
:root[data-theme] select.form-control:focus,
:root[data-theme] textarea.form-control:focus,
:root[data-theme] .chosen-container-active .chosen-single { box-shadow: 0 0 0 3px rgba(var(--jd-rgb-650),.16) !important; }

.side-theme-row { margin:0 -5px -5px;padding:13px 6px 6px;border-top:1px solid rgba(255,255,255,.14);border-radius:0 0 10px 10px;background:linear-gradient(180deg,transparent,rgba(255,255,255,.035)); }
.side-theme-select-wrap { position: relative; }
.side-theme-select { display:flex;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:10px;outline:none;background:linear-gradient(135deg,var(--jd-800),var(--jd-650));color:var(--jd-white);font-size:12px;font-weight:800;text-align:left;box-shadow:0 7px 16px rgba(var(--jd-rgb-950),.2),inset 0 1px rgba(255,255,255,.09);cursor:pointer; }
.side-theme-swatch { width:15px;height:15px;flex:0 0 15px;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:var(--jd-650);box-shadow:0 0 0 2px rgba(255,255,255,.13); }
.side-theme-current { flex:1 1 auto; }
.side-theme-select>i { width:auto!important;height:auto!important;margin:0!important;background:transparent!important;color:var(--jd-200)!important;font-size:9px!important;transition:transform .15s ease; }
.side-theme-select[aria-expanded="true"]>i { transform:rotate(180deg); }
.side-theme-select:hover { border-color:var(--jd-200);box-shadow:0 9px 20px rgba(var(--jd-rgb-950),.28),inset 0 1px rgba(255,255,255,.12);transform:translateY(-1px); }
.side-theme-select:focus-visible { outline: 3px solid rgba(var(--jd-rgb-650),.35) !important; outline-offset: 2px; }
.side-theme-options { position:absolute;z-index:1100;right:0;bottom:calc(100% + 9px);left:0;display:none;padding:6px;border:1px solid var(--jd-100);border-radius:12px;background:var(--jd-white);box-shadow:0 -16px 36px rgba(var(--jd-rgb-950),.28); }
.side-theme-options.open { display:block; }
.side-theme-options { max-height:min(390px,calc(100vh - 32px));overflow-y:auto; }
.side-theme-options button { display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:6px 9px;border:0;border-radius:7px;background:transparent!important;color:var(--jd-950)!important;font-size:12px;font-weight:700;text-align:left;cursor:pointer; }
.side-theme-options button:hover,.side-theme-options button:focus-visible { background:var(--jd-050)!important;outline:none!important; }
.side-theme-options button>span { width:12px;height:12px;flex:0 0 12px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 2px var(--jd-100); }
.side-theme-options button>i { display:none;margin-left:auto;color:var(--jd-800);font-size:11px; }
.side-theme-options button.active>i { display:block; }
.side-theme-divider { display:flex;align-items:center;gap:8px;margin:5px 5px 3px;color:var(--jd-500);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase; }
.side-theme-divider::before,.side-theme-divider::after { height:1px;flex:1;background:var(--jd-100);content:""; }
.side-account-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:0;border:0;background:transparent;color:var(--jd-950);text-align:left;cursor:pointer}.side-account-toggle .side-user-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:var(--jd-800);color:var(--jd-white)}.side-account-toggle-copy{min-width:0;flex:1}.side-account-toggle-copy strong,.side-account-toggle-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-account-toggle-copy strong{color:var(--jd-950);font-size:13px}.side-account-toggle-copy small{margin-top:2px;color:var(--jd-500);font-size:10px;font-weight:600}.side-account-toggle>i{display:block!important;width:auto!important;height:auto!important;margin:0!important;background:transparent!important;color:var(--jd-650)!important;font-size:10px!important;transition:transform .18s ease}.side-account-panel.is-open .side-account-toggle{justify-content:flex-end;gap:7px;min-height:25px;color:var(--jd-650);font-size:10px;font-weight:800}.side-account-panel.is-open .side-account-toggle::before{content:"Close"}.side-account-panel.is-open .side-account-toggle .side-user-avatar,.side-account-panel.is-open .side-account-toggle-copy{display:none}.side-account-panel.is-open .side-account-toggle>i{transform:rotate(180deg)}.side-account-details{padding-top:13px}.side-account-panel.is-open .side-account-details{padding-top:5px}.side-account-details[hidden]{display:none!important}
:root[data-theme] .side-account-toggle,:root[data-theme] .side-account-toggle-copy strong{color:var(--jd-white)!important}:root[data-theme] .side-account-toggle-copy small,:root[data-theme] .side-account-toggle>i{color:var(--jd-200)!important}:root[data-theme="royal-blue"] .side-account-toggle,:root[data-theme="royal-blue"] .side-account-toggle-copy strong{color:var(--jd-950)!important}:root[data-theme="royal-blue"] .side-account-toggle-copy small,:root[data-theme="royal-blue"] .side-account-toggle>i{color:var(--jd-650)!important}

/* Settings landing page and settings-management screens. */
:root[data-theme] {
  --su-ink: var(--jd-950);
  --su-muted: var(--jd-500);
  --su-line: var(--jd-100);
  --su-soft: var(--jd-050);
  --su-blue: var(--jd-800);
  --su-blue-dark: var(--jd-950);
}
:root[data-theme] .settings-page .settings-hero {
  background: var(--p1-hero-background) !important;
  box-shadow: 0 8px 24px rgba(var(--jd-rgb-950),.16) !important;
}
:root[data-theme] .settings-page .settings-hero h2,
:root[data-theme] .settings-page .settings-hero p { color: var(--jd-white) !important; }
:root[data-theme] .settings-page .settings-hero p { opacity: .82; }
:root[data-theme] .settings-page .settings-hero > i { color: var(--jd-200) !important; opacity: .42; }
:root[data-theme] .settings-page .settings-group-head h3,
:root[data-theme] .settings-page .settings-card h4 { color: var(--jd-950) !important; }
:root[data-theme] .settings-page .settings-group-head p,
:root[data-theme] .settings-page .settings-card p { color: var(--jd-500) !important; }
:root[data-theme] .settings-page .settings-card {
  border-color: var(--jd-100) !important;
  background: var(--jd-white) !important;
  color: var(--jd-950) !important;
  box-shadow: 0 3px 12px rgba(var(--jd-rgb-950),.06) !important;
}
:root[data-theme] .settings-page .settings-card:hover {
  border-color: var(--jd-300) !important;
  box-shadow: 0 8px 22px rgba(var(--jd-rgb-950),.12) !important;
}
:root[data-theme] .settings-page .settings-icon {
  background: var(--jd-050) !important;
  color: var(--jd-800) !important;
}
:root[data-theme] .settings-page .settings-link { color: var(--jd-800) !important; }
:root[data-theme] .settings-page .settings-empty {
  border-color: var(--jd-200) !important;
  background: var(--jd-white) !important;
  color: var(--jd-500) !important;
}

:root[data-theme] .settings-list-page,
:root[data-theme] .settings-list-page .content-area,
:root[data-theme] .settings-list-page .content-area > .container,
:root[data-theme] .settings-form-page,
:root[data-theme] .settings-form-page .common-pop { background: var(--jd-050) !important; }
:root[data-theme] .settings-list-page .breadcrumbs-holder,
:root[data-theme] .settings-list-page .listing-filer,
:root[data-theme] .settings-list-page #pagination-result,
:root[data-theme] .settings-list-page .category-panel,
:root[data-theme] .settings-list-page .category-summary,
:root[data-theme] .settings-form-page .popup-head,
:root[data-theme] .settings-form-page .fill-form,
:root[data-theme] .settings-form-page .popup-footer { background: var(--jd-white) !important; border-color: var(--jd-100) !important; }
:root[data-theme] .settings-list-page .breadcrumbs-holder::before,
:root[data-theme] .settings-list-page .btn-addinvoice,
:root[data-theme] .settings-form-page .submit-btn { background: var(--jd-800) !important; }
:root[data-theme] .settings-list-page .btn-addinvoice:hover,
:root[data-theme] .settings-form-page .submit-btn:hover { background: var(--jd-950) !important; }
:root[data-theme] .settings-module-intro h1,
:root[data-theme] .settings-list-page .settings-block h3,
:root[data-theme] .settings-list-page .category-panel-title h3,
:root[data-theme] .settings-list-page .category-summary strong,
:root[data-theme] .settings-form-page .popup-head h3 { color: var(--jd-950) !important; }
:root[data-theme] .settings-module-intro p,
:root[data-theme] .settings-list-page .category-panel-title small,
:root[data-theme] .settings-list-page .category-summary,
:root[data-theme] .settings-list-page .category-child,
:root[data-theme] .settings-list-page .no-more-data { color: var(--jd-500) !important; }
:root[data-theme] .settings-list-page .category-grid,
:root[data-theme] .settings-list-page .settings-block .col-lg-4,
:root[data-theme] .settings-list-page .table th { background: var(--jd-050) !important; }
:root[data-theme] .settings-list-page .category-panel,
:root[data-theme] .settings-list-page .category-panel-head,
:root[data-theme] .settings-list-page .category-summary,
:root[data-theme] .settings-list-page .category-child,
:root[data-theme] .settings-list-page .settings-block,
:root[data-theme] .settings-list-page .settings-block .col-lg-4,
:root[data-theme] .settings-list-page .actions a,
:root[data-theme] .settings-list-page .category-edit { border-color: var(--jd-100) !important; }
:root[data-theme] .settings-list-page .category-panel-icon,
:root[data-theme] .settings-list-page .su-badge,
:root[data-theme] .settings-list-page .category-edit:hover { background: var(--jd-050) !important; color: var(--jd-800) !important; }
:root[data-theme] .settings-list-page .category-child::before { background: var(--jd-400) !important; }
:root[data-theme] .settings-list-page .actions a,
:root[data-theme] .settings-list-page .category-edit { background: var(--jd-white) !important; color: var(--jd-800) !important; }
:root[data-theme] .settings-form-page .input-wrapper label { color: var(--jd-650) !important; }
:root[data-theme] .settings-form-page .form-control,
:root[data-theme] .settings-form-page select.wide,
:root[data-theme] .settings-form-page input[type="file"] { border-color: var(--jd-100) !important; background: var(--jd-white) !important; color: var(--jd-950) !important; }
:root[data-theme] .settings-form-page .form-control:focus { border-color: var(--jd-650) !important; box-shadow: 0 0 0 3px rgba(var(--jd-rgb-650),.15) !important; }
:root[data-theme] .settings-form-page .prj-dls-block { border-color: var(--jd-100) !important; background: var(--jd-050) !important; }

/* Legacy component audit: remove fixed brand accents while retaining semantic status colors. */
:root[data-theme] .body-wrapper .content-area .btn-addinvoice,
:root[data-theme] .body-wrapper .content-area a.btn-addinvoice {
  border-color: var(--jd-800) !important;
  background-color: var(--jd-800) !important;
  background-image: none !important;
  color: var(--jd-white) !important;
  box-shadow: 0 5px 14px rgba(var(--jd-rgb-950),.18) !important;
}
:root[data-theme] .body-wrapper .content-area .btn-addinvoice::before {
  background-color: var(--jd-650) !important;
  color: var(--jd-white) !important;
}
:root[data-theme] .body-wrapper .content-area .btn-addinvoice:hover { background-color: var(--jd-950) !important; }
:root[data-theme] .body-wrapper .content-area .btn-addinvoice:hover::before { background-color: var(--jd-500) !important; }
:root[data-theme] .body-wrapper .content-area .btn-addinvoice > i { color: var(--jd-white) !important; }

:root[data-theme] .body-wrapper .content-area .breadcrumbs-holder,
:root[data-theme] .body-wrapper .content-area .listing-filer,
:root[data-theme] .body-wrapper .content-area #pagination-result,
:root[data-theme] .body-wrapper .content-area .common-table-wrapper,
:root[data-theme] .p1-card,
:root[data-theme] .fd-card,
:root[data-theme] .db1-card,
:root[data-theme] .prb-results,
:root[data-theme] .ivb-results {
  border-color: var(--jd-100) !important;
  background-color: var(--jd-white) !important;
  box-shadow: 0 4px 14px rgba(var(--jd-rgb-950),.06) !important;
}
:root[data-theme] .body-wrapper .content-area .listing-filer::before,
:root[data-theme] .body-wrapper .content-area label,
:root[data-theme] .prb-field label,
:root[data-theme] .ivb-field label { color: var(--jd-650) !important; }
:root[data-theme] .body-wrapper .content-area input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]),
:root[data-theme] .body-wrapper .content-area select,
:root[data-theme] .body-wrapper .content-area textarea,
:root[data-theme] .nice-select,
:root[data-theme] .chosen-container-single .chosen-single,
:root[data-theme] .chosen-container-multi .chosen-choices {
  border-color: var(--jd-100) !important;
  background-color: var(--jd-white) !important;
  color: var(--jd-950) !important;
}
:root[data-theme] .body-wrapper .content-area input:focus,
:root[data-theme] .body-wrapper .content-area select:focus,
:root[data-theme] .body-wrapper .content-area textarea:focus,
:root[data-theme] .nice-select:focus,
:root[data-theme] .chosen-container-active .chosen-single,
:root[data-theme] .chosen-container-active .chosen-choices {
  border-color: var(--jd-650) !important;
  box-shadow: 0 0 0 3px rgba(var(--jd-rgb-650),.16) !important;
}
:root[data-theme] .chosen-drop,
:root[data-theme] .nice-select .list,
:root[data-theme] .ui-autocomplete,
:root[data-theme] .daterangepicker { border-color: var(--jd-100) !important; background: var(--jd-white) !important; }
:root[data-theme] .chosen-results li.highlighted,
:root[data-theme] .nice-select .option:hover,
:root[data-theme] .nice-select .option.focus,
:root[data-theme] .ui-menu-item-wrapper.ui-state-active { background: var(--jd-050) !important; color: var(--jd-800) !important; }
:root[data-theme] .nice-select .option.selected,
:root[data-theme] .chosen-results li.result-selected { color: var(--jd-800) !important; font-weight: 700; }

:root[data-theme] .body-wrapper .content-area table th,
:root[data-theme] .p1-table th,
:root[data-theme] .db1-table th,
:root[data-theme] .prb-table th,
:root[data-theme] .ivb-table th { border-color: var(--jd-100) !important; background: var(--jd-050) !important; color: var(--jd-650) !important; }
:root[data-theme] .body-wrapper .content-area table td,
:root[data-theme] .p1-table td,
:root[data-theme] .db1-table td,
:root[data-theme] .prb-table td,
:root[data-theme] .ivb-table td { border-color: var(--jd-100) !important; color: var(--jd-950) !important; }
:root[data-theme] .body-wrapper .content-area table tbody tr:hover,
:root[data-theme] .p1-table tbody tr:hover,
:root[data-theme] .db1-table tbody tr:hover,
:root[data-theme] .prb-table tbody tr:hover,
:root[data-theme] .ivb-table tbody tr:hover { background: var(--jd-050) !important; }

:root[data-theme] .pagination a,
:root[data-theme] .pagination span,
:root[data-theme] [class*="pagination"] button:not(.active) { border-color: var(--jd-100) !important; background: var(--jd-white) !important; color: var(--jd-650) !important; }
:root[data-theme] .pagination .active a,
:root[data-theme] .pagination .active span,
:root[data-theme] [class*="pagination"] button.active { border-color: var(--jd-800) !important; background: var(--jd-800) !important; color: var(--jd-white) !important; }
:root[data-theme] [class*="pagination"] button:hover:not(:disabled):not(.active) { border-color: var(--jd-400) !important; background: var(--jd-050) !important; color: var(--jd-800) !important; }

:root[data-theme] .prb-tag,
:root[data-theme] .ivb-more-items,
:root[data-theme] .inb-category,
:root[data-theme] .category-panel-icon { border-color: var(--jd-100) !important; background: var(--jd-050) !important; color: var(--jd-800) !important; }
:root[data-theme] .prb-row-action,
:root[data-theme] .ivb-row-actions button,
:root[data-theme] .inb-actions a,
:root[data-theme] .exb-actions a,
:root[data-theme] .bnb-actions a { border-color: var(--jd-100) !important; background: var(--jd-white) !important; color: var(--jd-800) !important; }
:root[data-theme] .prb-row-action:hover,
:root[data-theme] .ivb-row-actions button:hover,
:root[data-theme] .inb-actions a:hover,
:root[data-theme] .exb-actions a:hover,
:root[data-theme] .bnb-actions a:hover { border-color: var(--jd-800) !important; background: var(--jd-800) !important; color: var(--jd-white) !important; }

:root[data-theme] .common-pop .tab-links { border-color: var(--jd-100) !important; background: var(--jd-050) !important; }
:root[data-theme] .common-pop .resp-tabs-list li { color: var(--jd-500) !important; }
:root[data-theme] .common-pop .resp-tabs-list li.resp-tab-active { border-bottom-color: var(--jd-800) !important; color: var(--jd-800) !important; }
:root[data-theme] .common-pop .input-wrapper > label { color: var(--jd-650) !important; }
:root[data-theme] .common-pop .form-control[readonly],
:root[data-theme] .common-pop .form-control:disabled { background: var(--jd-050) !important; color: var(--jd-500) !important; }
:root[data-theme] .common-pop .popup-footer { border-color: var(--jd-100) !important; background: var(--jd-white) !important; }

:root[data-theme] .daterangepicker td.in-range { background: var(--jd-050) !important; color: var(--jd-950) !important; }
:root[data-theme] .daterangepicker td.active,
:root[data-theme] .daterangepicker td.end-date,
:root[data-theme] .daterangepicker .ranges li.active,
:root[data-theme] .daterangepicker .applyBtn { border-color: var(--jd-800) !important; background: var(--jd-800) !important; color: var(--jd-white) !important; }
:root[data-theme] .ui-datepicker .ui-state-active,
:root[data-theme] .ui-datepicker .ui-state-highlight { border-color: var(--jd-800) !important; background: var(--jd-800) !important; color: var(--jd-white) !important; }
:root[data-theme] .ui-datepicker {
  border-color: var(--jd-200) !important;
  background: var(--jd-white) !important;
  color: var(--jd-950) !important;
  box-shadow: 0 16px 40px rgba(var(--jd-rgb-950),.16) !important;
}
:root[data-theme] .ui-datepicker .ui-datepicker-header,
:root[data-theme] .ui-datepicker .ui-widget-header {
  border-color: var(--jd-800) !important;
  background: var(--jd-800) !important;
  background-image: none !important;
  color: var(--jd-white) !important;
}
:root[data-theme] .ui-datepicker select.ui-datepicker-month,
:root[data-theme] .ui-datepicker select.ui-datepicker-year {
  border-color: transparent !important;
  background: var(--jd-800) !important;
  color: var(--jd-white) !important;
}
:root[data-theme] .ui-datepicker th,
:root[data-theme] .ui-datepicker th span { color: var(--jd-800) !important; }
:root[data-theme] .ui-datepicker .ui-datepicker-prev:hover,
:root[data-theme] .ui-datepicker .ui-datepicker-next:hover {
  border-color: transparent !important;
  background: var(--jd-650) !important;
}
:root[data-theme] .ui-datepicker .ui-state-default {
  border-color: var(--jd-100) !important;
  background: var(--jd-white) !important;
  background-image: none !important;
  color: var(--jd-950) !important;
}
:root[data-theme] .ui-datepicker .ui-state-hover,
:root[data-theme] .ui-datepicker .ui-state-focus {
  border-color: var(--jd-300) !important;
  background: var(--jd-050) !important;
  background-image: none !important;
  color: var(--jd-800) !important;
}
:root[data-theme] .ui-datepicker .ui-state-active,
:root[data-theme] .ui-datepicker .ui-state-highlight {
  border-color: var(--jd-800) !important;
  background: var(--jd-800) !important;
  color: var(--jd-white) !important;
}

/* AJAX form success feedback follows the currently selected palette. */
:root[data-theme] .theme-success-message,
:root[data-theme] tr.errorhead {
  border-color: var(--jd-800) !important;
  background: var(--jd-800) !important;
  background-image: none !important;
  color: var(--jd-white) !important;
  box-shadow: 0 4px 14px rgba(var(--jd-rgb-950),.12) !important;
}
:root[data-theme] .theme-success-message td,
:root[data-theme] tr.errorhead td { color: var(--jd-white) !important; }

:root[data-theme] .db1-tabs,
:root[data-theme] .db1-bar,
:root[data-theme] .ivb-table-meta { background: var(--jd-050) !important; }
:root[data-theme] .db1-dept .db1-bar i,
:root[data-theme] .db1-bar > i,
:root[data-theme] .progress-bar:not(.progress-bar-success):not(.progress-bar-warning):not(.progress-bar-danger) { background: var(--jd-650) !important; background-image: none !important; }
:root[data-theme] .text-primary { color: var(--jd-800) !important; }
:root[data-theme] .badge-primary,
:root[data-theme] .bg-primary { background-color: var(--jd-800) !important; }
:root[data-theme] .fd-legend .income i { background: var(--jd-800) !important; }
:root[data-theme] .fd-legend .expense i { background: var(--jd-400) !important; }

/* Login page follows the last selected site theme, including logged-out sessions. */
:root[data-theme] {
  --login-950: var(--jd-950);
  --login-800: var(--jd-800);
  --login-650: var(--jd-650);
  --login-500: var(--jd-500);
  --login-300: var(--jd-300);
  --login-200: var(--jd-200);
  --login-100: var(--jd-100);
  --login-050: var(--jd-050);
  --login-white: var(--jd-white);
}
:root[data-theme] body.books-login-body,
:root[data-theme] .books-login-page { background: var(--jd-white) !important; color: var(--jd-950) !important; }
:root[data-theme] .books-login-brand {
  background: linear-gradient(145deg,var(--jd-950) 0%,var(--jd-800) 56%,var(--jd-650) 100%) !important;
  color: var(--jd-white) !important;
}
:root[data-theme] .books-login-logo,
:root[data-theme] .books-login-logo > span:not(.books-login-logo-mark),
:root[data-theme] .books-login-brand-copy h1,
:root[data-theme] .books-login-preview-grid strong { color: var(--jd-white) !important; }
:root[data-theme] .books-login-logo-mark { background: var(--jd-200) !important; color: var(--jd-950) !important; box-shadow: 0 8px 22px rgba(var(--jd-rgb-950),.22) !important; }
:root[data-theme] .books-login-eyebrow { color: var(--jd-100) !important; }
:root[data-theme] .books-login-brand-copy p { color: rgba(255,255,255,.82) !important; }
:root[data-theme] .books-login-brand-foot { color: rgba(255,255,255,.62) !important; }
:root[data-theme] .books-login-preview { box-shadow: 0 24px 50px rgba(var(--jd-rgb-950),.24) !important; }
:root[data-theme] .books-login-preview-head span:last-child,
:root[data-theme] .books-login-preview-grid .is-expense { background: var(--jd-100) !important; }
:root[data-theme] .books-login-preview-grid .is-income,
:root[data-theme] .books-login-preview-bars i:nth-child(6) { background: var(--jd-200) !important; }
:root[data-theme] .books-login-preview-bars i { background: rgba(255,255,255,.58) !important; }
:root[data-theme] .books-login-access { background: linear-gradient(145deg,var(--jd-white) 42%,var(--jd-050) 100%) !important; }
:root[data-theme] .books-login-kicker { color: var(--jd-650) !important; }
:root[data-theme] .books-login-heading h2,
:root[data-theme] .books-login-field label { color: var(--jd-950) !important; }
:root[data-theme] .books-login-heading p,
:root[data-theme] .books-login-help { color: var(--jd-500) !important; }
:root[data-theme] .books-login-control > svg { stroke: var(--jd-650) !important; }
:root[data-theme] .books-login-control input {
  border-color: var(--jd-100) !important;
  background: var(--jd-white) !important;
  color: var(--jd-950) !important;
  box-shadow: 0 4px 14px rgba(var(--jd-rgb-950),.04) !important;
}
:root[data-theme] .books-login-control input::placeholder { color: var(--jd-300) !important; }
:root[data-theme] .books-login-control input:hover { border-color: var(--jd-200) !important; }
:root[data-theme] .books-login-control input:focus { border-color: var(--jd-650) !important; box-shadow: 0 0 0 4px rgba(var(--jd-rgb-650),.14) !important; }
:root[data-theme] .books-password-toggle { color: var(--jd-500) !important; }
:root[data-theme] .books-password-toggle:hover,
:root[data-theme] .books-password-toggle:focus { background: var(--jd-050) !important; color: var(--jd-950) !important; }
:root[data-theme] .books-login-options a { color: var(--jd-800) !important; }
:root[data-theme] .books-login-options a:hover { color: var(--jd-950) !important; }
:root[data-theme] button.books-login-submit,
:root[data-theme] button.books-login-submit:hover,
:root[data-theme] button.books-login-submit:focus {
  border-color: var(--jd-800) !important;
  background: var(--jd-800) !important;
  background-image: none !important;
  color: var(--jd-white) !important;
  box-shadow: 0 12px 24px rgba(var(--jd-rgb-950),.22) !important;
}
:root[data-theme] button.books-login-submit:hover { border-color: var(--jd-950) !important; background: var(--jd-950) !important; }
:root[data-theme] button.books-login-submit > span,
:root[data-theme] button.books-login-submit > svg { color: var(--jd-white) !important; stroke: var(--jd-white) !important; opacity: 1 !important; }
:root[data-theme] .books-login-mobile-brand { color: var(--jd-950) !important; }
@media(max-width:760px) {
  :root[data-theme] .books-login-page { background: linear-gradient(155deg,var(--jd-050),var(--jd-white) 55%) !important; }
  :root[data-theme] .books-login-card { border-color: var(--jd-100) !important; background: var(--jd-white) !important; box-shadow: 0 18px 45px rgba(var(--jd-rgb-950),.1) !important; }
}

@media (prefers-reduced-motion: no-preference) {
  body, .body-wrapper, .dash-menu, .side-menu, .content-area, .fd-hero,
  .icr-head, .exr-head, .cfr-head, .inb-hero, .exb-hero, .bnb-hero,
  button, a, input, select { transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
}

/* Keep typography readable when global form colors meet dark themed surfaces. */
:root[data-theme] .fd-hero .fd-period label,
:root[data-theme] .mss-hero .mss-filter label {
  color: var(--jd-white) !important;
  -webkit-text-fill-color: var(--jd-white) !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(var(--jd-rgb-950),.42);
}
:root[data-theme] .fd-hero .fd-period > span,
:root[data-theme] .fd-hero .fd-kicker,
:root[data-theme] .db1-hero .db1-eyebrow,
:root[data-theme] .db1-hero p,
:root[data-theme] .mss-hero p,
:root[data-theme] .bd-hero p,
:root[data-theme] .br-hero p,
:root[data-theme] .bd-create-head p {
  color: var(--jd-100) !important;
  -webkit-text-fill-color: var(--jd-100) !important;
  opacity: .92 !important;
}
:root[data-theme] .fd-hero h1,
:root[data-theme] .db1-hero h2,
:root[data-theme] .mss-hero h2,
:root[data-theme] .bd-hero h2,
:root[data-theme] .br-hero h2,
:root[data-theme] .bd-create-head h3,
:root[data-theme] .common-pop .popup-head h3 {
  color: var(--jd-white) !important;
  -webkit-text-fill-color: var(--jd-white) !important;
}
:root[data-theme] .fd-hero .fd-period,
:root[data-theme] .mss-hero .mss-filter {
  color: var(--jd-white) !important;
}

/* OD facilities and effective-dated limit workflow. */
:root[data-theme] .phase1-expense-page .exb-filter-grid { grid-template-columns:1.2fr 1fr 1fr 1fr 1.2fr auto; }
:root[data-theme] .phase1-income-page .inb-actions { min-width:108px; }
:root[data-theme] .phase1-income-page .inb-actions button {
  display:flex !important;align-items:center;justify-content:center;width:33px;height:33px;padding:0;
  border:1px solid var(--jd-100);border-radius:7px;background:var(--jd-white);cursor:pointer;
}
:root[data-theme] .phase1-income-page .inb-duplicate { border-color:var(--jd-200) !important;background:var(--jd-050) !important;color:var(--jd-800) !important; }
:root[data-theme] .phase1-income-page .inb-duplicate:hover { border-color:var(--jd-800) !important;background:var(--jd-800) !important;color:var(--jd-white) !important; }
:root[data-theme] .phase1-banking-page .bad-hero-actions { position:relative;z-index:2;display:flex;align-items:center;gap:8px; }
:root[data-theme] .phase1-banking-page .bad-adjust { display:inline-flex;align-items:center;min-height:39px;padding:0 14px;border-radius:7px;background:var(--jd-white);color:var(--jd-800) !important;font-size:13px;font-weight:800;white-space:nowrap; }
:root[data-theme] .phase1-banking-page .bad-adjust:hover { background:var(--jd-050);color:var(--jd-950) !important; }
@media(max-width:600px){:root[data-theme] .phase1-banking-page .bad-hero-actions{margin-top:13px;flex-wrap:wrap}:root[data-theme] .phase1-banking-page .bad-hero-actions .bad-back{margin-top:0}}
:root[data-theme] .phase1-expense-page .exb-reset {
  width:fit-content !important;
  min-width:82px;
  justify-self:start;
  justify-content:center;
  padding:0 14px !important;
}
@media(max-width:1250px){:root[data-theme] .phase1-expense-page .exb-filter-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:767px){:root[data-theme] .phase1-expense-page .exb-filter-grid{grid-template-columns:1fr}}
:root[data-theme] .exr-field:has(#exrVendor),
:root[data-theme] .exrx-table th:nth-child(5),
:root[data-theme] .exrx-table td:nth-child(5),
:root[data-theme] .ema-list-table th:nth-child(5),
:root[data-theme] .ema-list-table td:nth-child(5) { display:none !important; }

:root[data-theme] .odb-hero,
:root[data-theme] .oda-hero {
  background: var(--p1-hero-background) !important;
  box-shadow: 0 9px 25px rgba(var(--jd-rgb-950),.18) !important;
}
:root[data-theme] .odb-hero h2,
:root[data-theme] .odb-hero p,
:root[data-theme] .oda-hero h2,
:root[data-theme] .oda-hero p,
:root[data-theme] .oda-back { color: var(--jd-white) !important; }
:root[data-theme] .odb-add,
:root[data-theme] .oda-add {
  background: var(--jd-white) !important;
  color: var(--jd-800) !important;
  box-shadow: 0 6px 16px rgba(var(--jd-rgb-950),.2) !important;
}
:root[data-theme] .odb-add:hover,
:root[data-theme] .oda-add:hover { background: var(--jd-050) !important; color: var(--jd-950) !important; }
:root[data-theme] .odb-filter,
:root[data-theme] .odb-summary-card,
:root[data-theme] .odb-panel,
:root[data-theme] .oda-summary-card,
:root[data-theme] .oda-panel {
  border-color: var(--jd-100) !important;
  background: var(--jd-white) !important;
  box-shadow: 0 4px 14px rgba(var(--jd-rgb-950),.06) !important;
}
:root[data-theme] .odb-summary-card::before,
:root[data-theme] .oda-summary-card::before { background: var(--jd-650) !important; }
:root[data-theme] .odb-summary-card.utilized::before,
:root[data-theme] .oda-summary-card.used::before { background: #d19a43 !important; }
:root[data-theme] .odb-summary-card.available::before,
:root[data-theme] .oda-summary-card.available::before { background: #3f9a78 !important; }
:root[data-theme] .odb-field label,
:root[data-theme] .odb-summary-card small,
:root[data-theme] .oda-summary-card small,
:root[data-theme] .odb-panel-head span,
:root[data-theme] .oda-panel-head span { color: var(--jd-500) !important; }
:root[data-theme] .odb-summary-card strong,
:root[data-theme] .oda-summary-card strong,
:root[data-theme] .odb-panel-head h4,
:root[data-theme] .oda-panel-head h4,
:root[data-theme] .odb-table td,
:root[data-theme] .oda-table td,
:root[data-theme] .odb-account strong,
:root[data-theme] .odb-amount,
:root[data-theme] .oda-amount { color: var(--jd-950) !important; }
:root[data-theme] .odb-field input,
:root[data-theme] .odb-field select {
  border-color: var(--jd-100) !important;
  background: var(--jd-white) !important;
  color: var(--jd-950) !important;
}
:root[data-theme] .odb-field input:focus,
:root[data-theme] .odb-field select:focus {
  border-color: var(--jd-650) !important;
  box-shadow: 0 0 0 3px rgba(var(--jd-rgb-650),.16) !important;
}
:root[data-theme] .odb-reset {
  border-color: var(--jd-100) !important;
  background: var(--jd-050) !important;
  color: var(--jd-650) !important;
}
:root[data-theme] .odb-panel-head,
:root[data-theme] .oda-panel-head,
:root[data-theme] .odb-table td,
:root[data-theme] .oda-table td { border-color: var(--jd-100) !important; }
:root[data-theme] .odb-table th,
:root[data-theme] .oda-table th { background: var(--jd-050) !important; color: var(--jd-650) !important; }
:root[data-theme] .odb-table tbody tr:hover,
:root[data-theme] .oda-table tbody tr:hover { background: var(--jd-050) !important; }
:root[data-theme] .odb-actions a {
  border-color: var(--jd-100) !important;
  background: var(--jd-white) !important;
  color: var(--jd-650) !important;
}
:root[data-theme] .odb-actions a:hover {
  border-color: var(--jd-800) !important;
  background: var(--jd-800) !important;
  color: var(--jd-white) !important;
}
:root[data-theme] .odb-empty i,
:root[data-theme] .odb-empty strong,
:root[data-theme] .oda-empty i,
:root[data-theme] .oda-empty strong { color: var(--jd-650) !important; }

/* OD add/edit dialogs are iframes, but inherit the saved theme via meta.php. */
:root[data-theme] .phase1-banking-form-page,
:root[data-theme] .phase1-banking-form-page .common-pop,
:root[data-theme] .phase1-banking-form-page .popup-body,
:root[data-theme] .phase1-banking-form-page .fill-form,
:root[data-theme] .phase1-banking-form-page .popup-footer { background: var(--jd-white) !important; }
:root[data-theme] .phase1-banking-form-page .input-wrapper > label { color: var(--jd-650) !important; }
:root[data-theme] .phase1-banking-form-page .form-control,
:root[data-theme] .phase1-banking-form-page .input-wrapper select {
  border-color: var(--jd-100) !important;
  background: var(--jd-white) !important;
  color: var(--jd-950) !important;
}
:root[data-theme] .phase1-banking-form-page .form-control:focus,
:root[data-theme] .phase1-banking-form-page .input-wrapper select:focus {
  border-color: var(--jd-650) !important;
  box-shadow: 0 0 0 3px rgba(var(--jd-rgb-650),.15) !important;
}
:root[data-theme] .phase1-banking-form-page .popup-footer { border-color: var(--jd-100) !important; }
:root[data-theme] .phase1-banking-form-page .submit-btn {
  background: var(--jd-800) !important;
  color: var(--jd-white) !important;
  box-shadow: 0 3px 8px rgba(var(--jd-rgb-950),.2) !important;
}
:root[data-theme] .phase1-banking-form-page .submit-btn:hover { background: var(--jd-950) !important; }
/* Global website typography. Icon glyphs retain their dedicated font families. */
:root {
  --jd-font-family: "Poppins", "Raleway", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html,
body {
  font-family: var(--jd-font-family) !important;
}

/* Slightly enlarge regular copy without altering heading/title size rules. */
body {
  font-size: 17px;
}

button,
input,
select,
textarea,
optgroup {
  font-family: var(--jd-font-family) !important;
}

.ui-widget,
.ui-widget input,
.ui-widget select,
.ui-widget textarea,
.ui-widget button,
.highcharts-root text {
  font-family: var(--jd-font-family) !important;
}

/* Royal Blue: crisp light application shell and Inter typography. */
:root[data-theme="royal-blue"] {
  --jd-font-family: var(--theme-font);
  --p1-success: var(--theme-success);
  --p1-warning: var(--theme-warning);
  --p1-danger: var(--theme-danger);
  --p1-sidebar: var(--theme-sidebar-width);
  --p1-header: var(--theme-header-height);
  --p1-radius: var(--theme-radius-card);
  --p1-shadow: var(--theme-shadow);
}

:root[data-theme="royal-blue"] body {
  color: var(--theme-text-body);
  font-family: var(--theme-font) !important;
  font-size: 15px;
}

:root[data-theme="royal-blue"] button,
:root[data-theme="royal-blue"] input,
:root[data-theme="royal-blue"] select,
:root[data-theme="royal-blue"] textarea,
:root[data-theme="royal-blue"] optgroup,
:root[data-theme="royal-blue"] .ui-widget,
:root[data-theme="royal-blue"] .highcharts-root text { font-family: var(--theme-font) !important; }

:root[data-theme="royal-blue"] h1,
:root[data-theme="royal-blue"] h2,
:root[data-theme="royal-blue"] .fd-hero h1,
:root[data-theme="royal-blue"] .books-login-brand-copy h1 { letter-spacing: -.02em; }

:root[data-theme="royal-blue"] .body-wrapper .dash-menu,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .side-menu,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .dash-logo {
  border-color: var(--theme-border) !important;
  background: var(--theme-surface) !important;
}

:root[data-theme="royal-blue"] .body-wrapper .dash-menu .dash-logo .dash-brand-name,
:root[data-theme="royal-blue"] .side-user-copy strong,
:root[data-theme="royal-blue"] .side-privacy-row { color: var(--theme-text) !important; }
:root[data-theme="royal-blue"] .side-user-copy small { color: var(--theme-text-muted) !important; }
:root[data-theme="royal-blue"] .side-account-panel {
  border-color: var(--theme-border) !important;
  background: var(--theme-surface) !important;
}
:root[data-theme="royal-blue"] .side-user-row { border-color: var(--theme-border) !important; }

:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li ul.sub-menu-list li a {
  color: var(--theme-text-secondary) !important;
}
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a i {
  background: var(--theme-surface-hover) !important;
  color: var(--theme-text-subtle) !important;
}
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a:hover {
  background: var(--theme-surface-hover) !important;
  color: var(--theme-primary) !important;
}
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a.active,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li.open > a {
  background: var(--theme-primary-soft) !important;
  color: var(--theme-primary) !important;
}
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a:hover span,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a.active span,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li.open > a span { color: var(--theme-primary) !important; }
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a:hover i,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a.active i,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li.open > a i {
  border: 0 !important;
  background: transparent !important;
  color: var(--theme-primary) !important;
  box-shadow: none !important;
}
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a:hover i::before,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li > a.active i::before,
:root[data-theme="royal-blue"] .body-wrapper .dash-menu .menu-holder ul li.open > a i::before {
  background: transparent !important;
  color: var(--theme-primary) !important;
}

:root[data-theme="royal-blue"] .form-control,
:root[data-theme="royal-blue"] input[type="text"],
:root[data-theme="royal-blue"] input[type="email"],
:root[data-theme="royal-blue"] input[type="password"],
:root[data-theme="royal-blue"] select {
  min-height: var(--theme-control-height);
  border-color: var(--theme-border) !important;
  border-radius: var(--theme-radius-control) !important;
}
:root[data-theme="royal-blue"] .form-control:focus,
:root[data-theme="royal-blue"] input:focus,
:root[data-theme="royal-blue"] select:focus {
  border-color: var(--theme-focus) !important;
  box-shadow: 0 0 0 3px rgba(116,149,217,.2) !important;
}

:root[data-theme="royal-blue"] .submit-btn:hover,
:root[data-theme="royal-blue"] .btn-addinvoice:hover,
:root[data-theme="royal-blue"] button.books-login-submit:hover {
  border-color: var(--theme-primary-hover) !important;
  background: var(--theme-primary-hover) !important;
}

:root[data-theme="royal-blue"] .fd-hero,
:root[data-theme="royal-blue"] .icr-head,
:root[data-theme="royal-blue"] .exr-head,
:root[data-theme="royal-blue"] .cfr-head,
:root[data-theme="royal-blue"] .cff-hero,
:root[data-theme="royal-blue"] .bad-hero,
:root[data-theme="royal-blue"] .mss-hero,
:root[data-theme="royal-blue"] .inb-hero,
:root[data-theme="royal-blue"] .exb-hero,
:root[data-theme="royal-blue"] .bnb-hero,
:root[data-theme="royal-blue"] .bank-hero,
:root[data-theme="royal-blue"] .report-hero {
  border-radius: var(--theme-radius-hero) !important;
  box-shadow: 0 12px 32px rgba(49,93,182,.18) !important;
}

:root[data-theme="royal-blue"] table th {
  background: var(--theme-surface-hover) !important;
  color: var(--theme-text-muted) !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}
:root[data-theme="royal-blue"] table td { color: var(--theme-text-body) !important; }
:root[data-theme="royal-blue"] .side-theme-options {
  border-color: var(--theme-border);
  box-shadow: 0 16px 40px rgba(15,23,42,.14);
}
:root[data-theme="royal-blue"] [class*="amount"],
:root[data-theme="royal-blue"] [class*="value"] { font-variant-numeric: tabular-nums; }
