/* =========================================================
   CORIX Design 
   ========================================================= */
:root {
    /* === Brand === */
    --corix-primary: #0065FF;
    --corix-primary-hover: #0052CC;
    --corix-primary-dark: #003E9C;
    --corix-secondary: #00acac;
    --corix-accent: #42C3BC;
    --corix-purple: #800080;
    --corix-pink: #F31700;
    --corix-pink-light: #FCD6ED;
    --corix-modal-header: #0054A6;
    --corix-step-active: #444972;
    --corix-purple-dark: #5D257A;
    --corix-orange: #EB5503;
    --corix-orange-hover: #F48120;
    --corix-teal-dark: #006699;
    --corix-pink-trans: #F3170033;
    --corix-pink-tint: #FDE6F2;
    /* === Semantic === */
    --corix-success: #008a8a;
    --corix-warning: #f59c1a;
    --corix-danger: #F31700;
    --corix-danger-strong: #B91406;
    --corix-info: #088DC9;
    --corix-link: #007BFF;
    --corix-success-green: #009B51;
    --corix-success-light: #43CC47;
    /* === Surfaces === */
    --corix-bg: #f2f3f4;
    --corix-bg-soft: #F4F5F9;
    --corix-bg-muted: #f1f1f1;
    --corix-bg-bs-disabled: #e9ecef;
    --corix-bg-tint-blue: #E6F0FF;
    --corix-bg-tint-light: #F9FCFE;
    --corix-bg-cool: #edf0f5;
    --corix-surface-cool: #f4f6f7;
    --corix-overlay-dark: rgba(0, 0, 0, 0.2);
    --corix-overlay-light: rgba(255, 255, 255, 0.1);
    --corix-grey-disabled: #989898;
    --corix-grey-medium: #C0C0C0;
    --corix-grey-light: #E0E0E0;
    --corix-grey-dark: #A9A9A9;
    --corix-surface: #ffffff;
    --corix-surface-alt: #f0f3f4;
    --corix-surface-tint: #e8f4fc;
    --corix-translucent-grey: #beb8b85c;
    --corix-overlay: rgba(255, 255, 255, 0.5);
    /* === Text === */
    --corix-text: #2d353c;
    --corix-text-strong: #000000;
    --corix-text-dark: #333333;
    --corix-text-muted: #4F4F50;
    --corix-text-mid: #545454;
    --corix-text-muted-light: #8D8E90;
    --corix-text-dim: #303030;
    --corix-text-mid-light: #686868;
    --corix-text-mid-dark: #666666;
    --corix-text-bs: #495057;
    --corix-text-secondary: #6c757d;
    --corix-text-very-dark: #262626;
    --corix-text-inverse: #ffffff;
    /* === Lines === */
    --corix-border: #e2e7eb;
    --corix-border-bs: #dee2e6;
    --corix-border-soft: #dddddd;
    --corix-border-faint: #e6e6e6;
    --corix-border-bs-input: #d3d8de;
    --corix-border-light: lightgrey;
    --corix-border-shadow: #ccc;
    --corix-disabled-bg: #eeeeee;
    /* === Scrollbar === */
    --corix-scrollbar-thumb: #888888;
    --corix-scrollbar-thumb-hover: #555555;
    /* === States === */
    --corix-focus: #E9EAED;
    --corix-focus-shadow: rgba(233, 234, 237, 0.3);
    --corix-selection: #E6F0FF;
    /* === Geometry === */
    --corix-radius-sm: 4px;
    --corix-radius-md: 5px;
    --corix-radius-lg: 8px;
    /* === Spacing === */
    --corix-space-1: 4px;
    --corix-space-2: 8px;
    --corix-space-3: 10px;
    --corix-space-4: 12px;
    --corix-space-5: 15px;
    --corix-space-6: 20px;
    --corix-space-7: 30px;
    --corix-space-8: 40px;
    /* === Elevation === */
    --corix-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
    --corix-shadow-lg: 0 12px 25px var(--corix-border-shadow);
    /* === Typography === */
    --corix-font-base: Arial, Helvetica, sans-serif;
    --corix-font-sm: 14px;
    --corix-font-md: 16px;
    --corix-font-lg: 20px;
    --corix-font-xl: 30px;
    --corix-line-height: 1.5;
    --corix-line-height-heading: 1.3;
    --corix-line-height-tight: 1.4;
    /* === Material UI === */
    --corix-font-ui:              Roboto, sans-serif;
    --corix-text-ui:              #212121;
    --corix-text-ui-muted:        #9E9E9E;
    --corix-text-ui-hint:         #757575;
    --corix-border-ui:            rgba(33, 33, 33, 0.12);
    --corix-border-ui-hover:      rgba(33, 33, 33, 0.38);
    --corix-accent-light:         #ADCEFF;
    --corix-tooltip-bg:           #D5F4F3;
    --corix-highlight-ui:         rgba(0, 101, 255, 0.08);
    --corix-card-padding:         24px;
    --corix-card-max-width:       426px;
    --corix-appbar-height:        64px;
    --corix-appbar-height-sm:     56px;
}

/* ===== Global Font Standardization: Arial ===== */
*,
*::before,
*::after {
    font-family: var(--corix-font-base) !important;
}

/* Preserve icon fonts */
.fa, .fas, .far, .fab, .fal, .fad,
[class^="fa-"], [class*=" fa-"],
.fa::before, .fas::before, .far::before, .fab::before, .fal::before, .fad::before,
.k-icon, .k-i-arrow-s, .k-i-arrow-n,
[class^="k-i-"], [class*=" k-i-"] {
    font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands' !important;
}

.fab, .fab::before {
    font-family: 'Font Awesome 5 Brands' !important;
}

/* Consistent line spacing */
body {
    font-family: var(--corix-font-base) !important;
    line-height: var(--corix-line-height) !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--corix-font-base) !important;
    line-height: var(--corix-line-height-heading) !important;
}

p, span, div, label, input, select, textarea, button, a, td, th, li {
    font-family: var(--corix-font-base) !important;
}

/*.row {
    margin-left: 10px !important;
    margin-right: 10px !important;
}*/

.header-style {
    font-size: var(--corix-font-xl);
    color: var(--corix-text-strong);
    padding-left: var(--corix-space-3);
}

.sub-header-style {
    font-size: var(--corix-font-sm);
}

.page-style {
    /*padding: 0px;*/
    padding: var(--corix-space-6);
    background: linear-gradient(180deg, var(--corix-surface) 0%, var(--corix-surface) 100%);
    border: 0px solid var(--corix-border-shadow);
    box-shadow: var(--corix-shadow-lg);
    border-radius: var(--corix-radius-md);
}

.hr-style {
    background-color: currentColor;
}

label {
    color: var(--corix-text-muted);
    font-weight: normal;
}

.form-group {
    margin: var(--corix-space-5);
}

.page_buttons {
    min-width: 15%;
    height: 36px;
    font-size: var(--corix-font-sm);
    text-transform: none;
    background: var(--corix-primary);
    border-radius: var(--corix-radius-sm);
    color: var(--corix-text-inverse);
    border: 0px solid var(--corix-text-inverse);
    margin: 16px 0px 0px 0px;
    padding: 0px var(--corix-space-3);
}

.alert {
    /*margin-left: 10px;*/
}

body {
    font-size: var(--corix-font-sm);
}

.form-control {
    font-size: var(--corix-font-sm);
}

.page-padding {
    padding-top: var(--corix-space-5);
}

.centered-container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh; /* Full viewport height */
    width: 100%;
}

.left-container {
    /*display: flex;*/
}

.left-box {
    min-width: 50%;
    border-radius: var(--corix-radius-lg);
    /*padding: 20px;*/
}

.centered-box {
    min-width: 50%;
    padding: var(--corix-space-6);
    border-radius: var(--corix-radius-lg);
}

.centered-container {
    width: 800px;
    margin: auto;
    margin-top: var(--corix-space-6);
    height: unset;
}

/* Set the height of the dropdown input */
.custom-dropdown-height.k-input {
    height: 34px !important; /* Desired input height */
}

/* Set the height of dropdown items */
.custom-dropdown-height.k-item {
    height: 34px !important; /* Desired item height */
}

/* Set the height of the dropdown input */
.custom-dropdown-width.k-picker {
    height: 34px !important; /* Desired input height */
    width: 33% !important;
}

/* Set the height of dropdown items */
.custom-dropdown-width.k-item {
    height: 34px !important; /* Desired item height */
}

.k-picker-outline:hover, .k-picker-outline.k-hover {
    border-color: var(--corix-border-light) !important;
    color: var(--corix-text-strong) !important;
    background-color: var(--corix-surface) !important;
}

.k-picker-outline:focus,
.k-picker-outline.k-focus {
    border: 2px solid var(--corix-focus) !important;
    box-shadow: 0 0 0 0.125rem var(--corix-focus-shadow) !important;
}

.k-picker-outline {
    border-color: var(--corix-border-light) !important;
    height: 34px !important;
}

.k-picker-solid:hover, .k-picker-solid.k-hover {
    border-color: var(--corix-border-light) !important;
    color: var(--corix-text-strong) !important;
    background-color: var(--corix-surface) !important;
}

.k-picker-solid:focus {
    border: 2px solid var(--corix-info) !important;
    box-shadow: 0 0 0 0.125rem var(--corix-focus-shadow);
}

.k-picker-solid {
    border-color: var(--corix-border-light) !important;
    height: 34px !important;
    background-color: var(--corix-surface) !important;
    font-size: var(--corix-font-sm) !important;
}

/* Fullscreen overlay */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--corix-overlay);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050; /* Ensure it's on top */
}

/* Spinner visibility */
.spinner-border {
    width: 3rem;
    height: 3rem;
}

.spinner-color {
    color: var(--corix-primary);
}

.accordion {
    margin: var(--corix-space-6);
}

.accordion-item {
    /* No border for accordion items */
}

.accordion-header {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: var(--corix-font-md);
    background-color: transparent;
    padding: var(--corix-space-3) 0;
}

    .accordion-header span {
        margin-left: var(--corix-space-2);
    }

    .accordion-header.selected {
        color: var(--corix-primary); /* Selected title color */
    }

    .accordion-header:not(.selected) {
        color: var(--corix-text-muted); /* Unselected title color */
    }

/* Base arrow styles */
.accordion-arrow {
    margin-right: var(--corix-space-3);
    width: 0;
    height: 0;
    border-style: solid;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

    /* Arrow pointing right (unselected) */
    .accordion-arrow.right {
        border-width: 6px 0 6px 10px;
        border-color: transparent transparent transparent var(--corix-text-muted);
    }

    /* Arrow pointing down (selected) */
    .accordion-arrow.down {
        border-width: 10px 6px 0 6px;
        border-color: var(--corix-primary) transparent transparent transparent;
    }

.accordion-body {
    padding: var(--corix-space-5);
    background: linear-gradient(180deg, var(--corix-surface) 0%, var(--corix-surface-tint) 100%);
    overflow: auto; /* Adds scrollbars if the content exceeds the container */
    word-wrap: break-word; /* Ensures long words (like URLs) break to fit */
    white-space: normal; /* Allows text to wrap within the container */
}

    /* Style for anchor tags to prevent them from overflowing */
    .accordion-body a {
        color: var(--corix-link);
        word-break: break-all; /* Forces line breaks for long links */
        text-decoration: underline;
    }
.form-select:focus {
    border-color: var(--corix-focus) !important;
    box-shadow: 0 0 0 0.125rem var(--corix-focus-shadow) !important;
}

/* Native select/option highlight - brand selection */
.form-select option:checked,
.form-select option:active {
    background: var(--corix-selection) linear-gradient(0deg, var(--corix-selection) 0%, var(--corix-selection) 100%) !important;
    color: var(--corix-text) !important;
}


.form-select option:hover {
    background-color: var(--corix-selection) !important;
    color: var(--corix-text) !important;
}


.k-numerictextbox.k-focus,
.k-numerictextbox.k-focus .k-input-inner,
.k-numerictextbox .k-input.k-focus {
    border-color: var(--corix-focus) !important;
    box-shadow: 0 0 0 0.125rem var(--corix-focus-shadow) !important;
}
.k-picker-outline.k-focus,
.k-picker-solid.k-focus,
.k-dropdownlist.k-focus,
.k-picker.k-focus {
    border-color: var(--corix-focus) !important;
    box-shadow: 0 0 0 0.125rem var(--corix-focus-shadow) !important;
}


.k-list-filter > .k-searchbox:focus-within,
.k-list-filter > .k-searchbox.k-focus,
.k-searchbox:focus-within {
    border-color: var(--corix-focus) !important;
    box-shadow: 0 0 0 0.125rem var(--corix-focus-shadow) !important;
}

/* Telerik dropdown item hover/highlight */
.k-list-item:hover,
.k-list-item.k-hover,
.k-list-item.k-state-hover,
.k-list-item:focus,
.k-list-item.k-focus,
.k-list-item.k-state-focused,
.k-list-item.k-selected,
.k-list-item.k-state-selected,
.k-list-item.k-selected:hover,
.k-list-item.k-selected.k-hover {
    background-color: var(--corix-selection) !important;
    color: var(--corix-text) !important;
}

.purple-select .k-list .k-item:hover,
.purple-select .k-list .k-item.k-selected {
    background-color: var(--corix-selection) !important;
    color: var(--corix-text) !important;
}

/* Telerik tooltip info icon styles */
.info-icon {
    display: inline-block;
    margin-left: 5px;
    cursor: pointer;
    outline: none;
    border: none;
    background: none;
}

.info-icon img {
    width: 16px;
    height: 16px;
    vertical-align: middle;
}

.info-icon:hover img,
.info-icon:focus img {
    opacity: 0.8;
}
.k-tooltip {
    color: var(--corix-text-inverse);
    background: var(--corix-accent);
    font-weight: bold;
    max-width: 300px; /* limit width */
    width: auto; /* allow auto sizing */
    white-space: normal; /* allow wrapping */
    word-break: break-word; /* break long words */
}
    .k-tooltip .k-callout {
        color: var(--corix-accent);
    }
/* Mobile specific tooltip improvements */
@media (max-width: 768px) {
    .info-icon img {
        width: 18px;
        height: 18px;
        margin-left: var(--corix-space-2);
    }
}

/* =========================================================
   Shared utility classes for replacing inline styles
   ========================================================= */
.corix-spacer-lg {
    margin: var(--corix-space-8) 0 var(--corix-space-7) 0;
}
.corix-section-title-sm {
    font-size: var(--corix-font-sm);
}
.corix-link-plain {
    text-decoration: none;
}
.corix-tooltip-content {
    max-width: 280px;
    padding: var(--corix-space-2);
    line-height: var(--corix-line-height-tight);
}
.corix-button-row {
    gap: var(--corix-space-3);
    padding-left: 3px;
}
.corix-popup-actions {
    gap: var(--corix-space-3);
}
.corix-popup-button {
    margin-top: 0;
    min-height: 32px;
    line-height: var(--corix-line-height);
    padding: 6px var(--corix-space-6);
}

.btn-dropdown {
    color: var(--corix-text-muted);
    padding: var(--corix-space-2) var(--corix-space-5);
    margin: 0 0 0 var(--corix-space-1);
    font-size: var(--corix-font-sm);
    font-weight: bold;
    border-radius: var(--corix-radius-sm);
    background: var(--corix-focus);
    border: 1px solid var(--corix-focus);
    height: 34px;
}

/* Common spacing helpers used across pages */
.corix-mt-3 {
    margin-top: var(--corix-space-3);
}
.corix-row-shift-left {
    margin-left: -20px;
}

/* Read-only / disabled-looking inputs */
.corix-input-readonly {
    background: var(--corix-disabled-bg);
}

/* Disclosure page — scoped so global lists are not affected */
.disclosure-page ul,
.disclosure-page ul li {
    list-style: disc;
}
.disclosure-logo-wrapper {
    margin-bottom: var(--corix-space-6);
}
.disclosure-logo {
    max-width: 180px;
}

/* Margin reset utilities */
.corix-mt-0 {
    margin-top: 0;
}

/* Form label that needs left padding + bold text */
.corix-label-strong-pad {
    padding-left: var(--corix-space-5);
    font-weight: bold;
}

/* Right-aligned toolbar action group (used over Telerik grids) */
.corix-toolbar-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--corix-space-2);
    width: 100%;
    align-items: center;
    height: auto;
}

/* Scrollable container variants */
.corix-scroll-350 {
    max-height: 350px;
    overflow-y: auto;
}

/* Fixed-width history table columns */
.corix-col-w-180 {
    width: 180px;
}

/* Generic single-property utilities */
.corix-font-normal {
    font-weight: normal;
}
.corix-shift-left-9 {
    margin-left: -9px;
}
.corix-h-180 {
    height: 180px;
}
.corix-pad-tip-card {
    padding: var(--corix-space-6) !important;
}

/* Treasury "Move Money" cards (white container with mixed padding) */
.corix-card-container {
    padding-left: 6px;
    background-color: var(--corix-surface);
    padding: 13px;
}

/* Treasury Move Money page — scoped overrides preserved from inline <style> */
.treasury-money .panel-heading {
    font: normal normal normal 21px/38px var(--corix-font-base);
}
.treasury-money div.k-widget.k-window.k-display-inline-flex {
    top: 50px !important;
}

/* Purple outline button — used on Treasury account cards */
.btn-outline-purple {
    border: 1px solid var(--corix-purple);
    background-color: transparent;
    color: var(--corix-purple);
    transition: background-color 0.3s, color 0.3s;
}
.btn-outline-purple:hover {
    background-color: var(--corix-purple);
    color: var(--corix-text-inverse);
}

/* Wire-request review popup */
.review-label {
    font-weight: bold;
    font-size: 0.85rem;
    margin-bottom: 0;
}
.review-section-title {
    font-size: 1rem;
    font-weight: bold;
    margin-top: 0.5rem;
    margin-bottom: 0.25rem;
    padding-bottom: 0.25rem;
    border-bottom: 1px solid var(--corix-border);
}
.review-value {
    font-size: 0.9rem;
    margin-bottom: 0.25rem;
}
.review-form-group {
    margin-bottom: 0.25rem;
}

/* =========================================================
  
   ========================================================= */

/* === Spacing: margin-top === */
.corix-mt-2px { margin-top: 2px; }
.corix-mt-5   { margin-top: 5px; }
.corix-mt-10  { margin-top: var(--corix-space-3); }
.corix-mt-50  { margin-top: 50px; }
.corix-mt-34-imp { margin-top: 34px !important; }

/* === Spacing: margin-bottom === */
.corix-mb-5   { margin-bottom: 5px; }
.corix-mb-20  { margin-bottom: var(--corix-space-6); }

/* === Spacing: margin-left / horizontal === */
.corix-ml-20  { margin-left: var(--corix-space-6); }
.corix-row-shift-left-sm { margin-left: -10px; }
.corix-row-pull-20 { margin: 0 -20px; }
.corix-mx-15  { margin: 0 var(--corix-space-5); }
.corix-m-10-30 { margin: var(--corix-space-3) var(--corix-space-7); }

/* === Spacing: padding === */
.corix-p-10   { padding: var(--corix-space-3); }
.corix-pt-1   { padding-top: 1px; }
.corix-pt-8   { padding-top: 8px; }
.corix-pt-9   { padding-top: 9px; }
.corix-pt-10  { padding-top: var(--corix-space-3); }
.corix-pl-0   { padding-left: 0; }
.corix-pb-10  { padding-bottom: var(--corix-space-3); }
.corix-p-15-scroll { padding: var(--corix-space-5); overflow-y: auto; }

/* === Display / visibility === */
.corix-hidden { display: none; }
.corix-d-inline-block { display: inline-block; }

/* === Cursors / pointer events === */
.corix-cursor-pointer { cursor: pointer; }
.corix-pe-none { pointer-events: none; }

/* === Floats / clears === */
.corix-clear-both     { clear: both; }
.corix-float-left     { float: left; }
.corix-float-right    { float: right; }
.corix-float-left-mt-1 { float: left; margin-top: 1px; }
.corix-float-left-mt-2 { float: left; margin-top: 2px; }

/* === List styles === */
.corix-list-none { list-style: none; }
.corix-list-disc { list-style: disc; }

/* === Typography === */
.corix-fw-700        { font-weight: 700; }
.corix-fw-bold       { font-weight: bold; }
.corix-fw-bold-pt-10 { font-weight: bold; padding-top: var(--corix-space-3); }
.corix-fw-bold-black { color: var(--corix-text-strong); font-weight: bold; }
.corix-fw-normal-fs-14   { font-weight: normal; font-size: var(--corix-font-sm); }
.corix-fw-normal-fs-9pt  { font-weight: normal; font-size: 9pt; }
.corix-fw-normal-fs-9pt-mb-16 { font-weight: normal; font-size: 9pt; margin-bottom: 16px; }
.corix-fs-18         { font-size: 18px; }
.corix-fs-09rem      { font-size: 0.9rem; }
.corix-color-black   { color: var(--corix-text-strong); }
.corix-color-pink    { color: var(--corix-pink); }
.corix-color-primary { color: var(--corix-primary); }
.corix-uppercase-black { text-transform: uppercase; color: var(--corix-text-strong); }

/* === Section heading shared across list pages === */
.corix-section-heading {
    font-weight: 700;
    font-size: var(--corix-font-lg);
    color: var(--corix-text-strong);
    text-transform: capitalize;
}

/* === Flex utilities === */
.corix-flex-1            { flex: 1; }
.corix-flex-center       { display: flex; align-items: center; }
.corix-flex-100          { display: flex; width: 100%; }
.corix-flex-gap-8        { display: flex; align-items: center; gap: var(--corix-space-2); }
.corix-flex-gap-10       { display: flex; align-items: center; gap: var(--corix-space-3); }
.corix-flex-gap-12       { display: flex; align-items: center; gap: var(--corix-space-4); }
.corix-toolbar-between   { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.corix-flex-between-gap-20 { display: flex; justify-content: space-between; gap: var(--corix-space-6); }
.corix-gap-8             { gap: var(--corix-space-2); }
.corix-gap-12            { gap: var(--corix-space-4); }

/* === Width / column helpers === */
.corix-w-100        { width: 100px; }
.corix-w-180        { width: 180px; }
.corix-col-w-180-pt-8 { width: 180px; padding-top: 8px; }
.corix-col-w-100-pt-1 { width: 100px; padding-top: 1px; }
.corix-col-w-100-pt-9 { width: 100px; padding-top: 9px; }
.corix-col-w-30-px-0  { width: 30%; padding-left: 0; padding-right: 0; }
.corix-col-w-40-px-0  { width: 40%; padding-left: 0; padding-right: 0; }
.corix-col-w-60-px-0  { width: 60%; padding-left: 0; padding-right: 0; }
.corix-col-w-70-px-0  { width: 70%; padding-left: 0; padding-right: 0; }
.corix-icon-20      { width: 20px; height: 20px; }
.corix-min-w-120    { min-width: 120px; }

/* === Height helpers === */
.corix-h-150        { height: 150px; }
.corix-mh-48        { max-height: 48px; }
.corix-min-h-35     { min-height: 35px; }
.corix-h-auto-overflow-visible { height: auto; overflow-y: visible; }
.corix-lh-22        { line-height: 22px; }
.corix-lh-26        { line-height: 26px; }

/* === Backgrounds / disabled-look === */
.corix-bg-disabled  { background: var(--corix-disabled-bg); }
.corix-bg-accent-imp { background-color: var(--corix-accent) !important; }
.corix-doc-row {
    background: var(--corix-translucent-grey);
    padding: 2px;
    margin-bottom: 3px;
}
.corix-light-panel {
    background: var(--corix-bg-soft);
    padding: var(--corix-space-3) var(--corix-space-3) var(--corix-space-5) var(--corix-space-3);
}

/* === Status / alert message rows === */
.corix-icon-status        { margin-top: 2px; margin-right: var(--corix-space-3); }
.corix-alert-text         { margin-bottom: 5px; margin-left: var(--corix-space-3); float: left; }
.corix-alert-title        { font-weight: 700; margin-bottom: 5px; }
.corix-link-info          { text-decoration: none; color: var(--corix-link); }

/* === Modal dialog patterns (legacy admin modals) === */
.corix-modal-header-blue  { background: var(--corix-modal-header); }
.corix-modal-title-white  { color: var(--corix-text-inverse); padding-left: var(--corix-space-3); }
.corix-modal-close-white  { color: var(--corix-text-inverse); cursor: pointer; text-decoration: none; }
.corix-modal-dialog-75    { height: auto; width: 75%; }
.corix-modal-dialog-100   { height: auto; width: 100%; }
.corix-modal-content-900  { height: 900px; }
.corix-modal-body-500     { height: 500px; overflow-y: scroll; }
.corix-modal-body-800     { height: 800px; overflow-y: scroll; }

/* === Position helpers === */
.corix-pos-tr { position: absolute !important; top: 0; right: 0; }

/* === Treasury list / ACH page label === */
.corix-label-status { padding-left: var(--corix-space-5); font-weight: bold; }

/* === Trading profile description === */
.corix-trading-desc { padding-left: 25px; padding-top: 5px; }

/* === Onboarding header block === */
.corix-onboarding-header {
    text-align: left;
    margin-bottom: 34px;
    margin-top: var(--corix-space-6);
}

/* === Treasury "View ACH" secondary buttons === */
.corix-btn-ach-secondary { margin-top: 0; font-size: var(--corix-font-sm); }

/* === Caret arrow in top-right user menu === */
.corix-caret-blue { color: var(--corix-primary); margin-top: var(--corix-space-3); }

/* === Layout brand logo (header) === */
.corix-brand-logo { max-width: inherit; height: 48px; }

/* === Operations dashboard panel section divider === */
.corix-section-divider {
    border-bottom: 1px solid var(--corix-bg-soft);
    margin-bottom: var(--corix-space-3);
}

/* === Margin agreement inline blue link === */
.corix-link-margin {
    text-decoration: initial;
    color: var(--corix-primary);
    cursor: pointer;
}

/* === Plan-type accounts dropdown === */
.corix-w-280 { width: 280px; }

/* === Auth login submit button width === */
.corix-w-40-imp { width: 40% !important; }

/* === Centered access-denied/error header === */
.corix-access-denied-header {
    margin: 100px auto;
    text-align: center;
}

/* === Country/flag swatch (16x11 fixed icon, used with dynamic background-image) === */
.corix-flag-swatch { width: 16px; height: 11px; }

/* === Authenticator key kbd block === */
.corix-key-block {
    background-color: var(--corix-bg-muted);
    color: var(--corix-text-dark);
    padding: 6px var(--corix-space-3);
    border-radius: var(--corix-radius-sm);
    font-size: var(--corix-font-sm);
    text-transform: uppercase;
    border: 1px solid var(--corix-border-soft);
}

/* === Customer / Application list grid hierarchy hide === */
.k-grid tr.no-children td.k-hierarchy-cell * {
    display: none;
}
.k-grid tr.no-children td.k-hierarchy-cell {
    pointer-events: none;
}

/* === Compact toolbar buttons (Telerik grid toolbars) === */
.btn-compact {
    height: 38px !important;
    padding: 0.375rem 0.75rem !important;
}

/* === TopDay last-file timestamp === */
.last-file-date {
    font-size: var(--corix-font-sm);
    color: var(--corix-text-secondary);
    margin-bottom: var(--corix-space-5);
    text-align: right;
    font-weight: 500;
}

/* === Wire / ACH form scoped overrides ===
   Originally page-local <style> in AddACHRequest, AddWireRequest,
   WireRequestForm. Scoped under page wrappers so global label/heading
   styles are unaffected. */
.corix-wire-form label,
.corix-ach-form label {
    font-weight: bold;
}
.corix-ach-form #cust_info > p {
    margin-bottom: 0.5rem;
}
.corix-wire-form .help-text {
    color: var(--corix-text-secondary);
    font-size: 0.9rem;
    margin-bottom: 1.5rem;
}
.corix-wire-form .section-title {
    font-size: 1.1rem;
    font-weight: bold;
    margin-top: 1.5rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--corix-border-bs);
}

/* === Application edit page-scoped legacy styles === */
.application-edit-page .modal-dialog {
    max-width: 75%;
}
.application-edit-page .deleteAppDocumentTemp,
.application-edit-page .deleteAppDocument,
.application-edit-page .deleteIntDocument,
.application-edit-page .sendAppDocumentTemp {
    color: var(--corix-danger-strong) !important;
    cursor: pointer;
    text-decoration: none;
}
.application-edit-page .app-file .far {
    color: var(--corix-primary);
    font-size: 1rem;
}
.application-edit-page .pdf-link {
    color: var(--corix-primary) !important;
    padding: 0 !important;
    font-weight: normal !important;
}
.application-edit-page .k-input[readonly] {
    background-color: var(--corix-bg-bs-disabled) !important;
}
.application-edit-page .k-tabstrip-top > .k-tabstrip-items-wrapper {
    border: 0;
}
.application-edit-page .k-tabstrip-content.k-active,
.application-edit-page .k-tabstrip > .k-content {
    border: 0;
    padding: 0 0 var(--corix-space-3) 0;
}

/* === Treasury Index page (formerly inline panel-heading override) === */
.treasury-index-page .panel-heading {
    font: normal normal normal 21px/38px var(--corix-font-base);
}
.treasury-index-page div.k-widget.k-window.k-display-inline-flex {
    top: 50px !important;
}

/* === Treasury — Dashboard Trade Slip (staff blotter; extend with Figma tokens) === */
.dashboard-corix-slip-page .corix-corix-slip-stat-card {
    border-radius: 8px;
}

.dashboard-corix-slip-page .letter-spacing-sm {
    letter-spacing: 0.04em;
}

/* === Status Code error page === */
.error-page { text-align: center; margin: 50px; }
.error-code { font-size: 200px; }
.error-message { font-size: 1.5rem; margin: var(--corix-space-6) 0; }

/* === Login page validation list === */
.login-page .validation-message {
    list-style: disc;
}

/* === Register page agreement scrollbox custom scrollbar === */
#txtAgree {
    scrollbar-color: var(--corix-scrollbar-thumb) var(--corix-bg-muted);
    scrollbar-width: thin;
}
#txtAgree::-webkit-scrollbar {
    width: 8px;
    background: var(--corix-bg-muted);
}
#txtAgree::-webkit-scrollbar-thumb {
    background: var(--corix-scrollbar-thumb);
    border-radius: var(--corix-radius-sm);
}
#txtAgree::-webkit-scrollbar-thumb:hover {
    background: var(--corix-scrollbar-thumb-hover);
}

/* === PDF viewer container === */
.k-pdf-viewer {
    height: auto !important;
    width: auto !important;
}

/* === Customer preview disabled inputs === */
.preview-page .k-input[readonly],
.preview-page .k-input-inner {
    background-color: var(--corix-bg-bs-disabled);
    opacity: 1;
}
.preview-page .form-control[disabled],
.preview-page .form-control[readonly],
.preview-page fieldset[disabled] .form-control {
    opacity: 1;
}

/* === Application progress step bar (shared between
   ApplicationProgress.razor and UploadDocument.razor) === */
.step-bar {
    width: 100%;
    margin: var(--corix-space-6) auto;
}
.step-bar .progressbar {
    counter-reset: step;
}
.step-bar .progressbar li {
    list-style-type: none;
    width: 25%;
    float: left;
    font-size: 10px;
    position: relative;
    text-align: center;
    color: var(--corix-step-active);
}
.step-bar .progressbar li:before {
    width: 12px;
    height: 12px;
    content: '';
    counter-increment: step;
    line-height: 30px;
    border: 2px solid var(--corix-focus);
    display: block;
    text-align: center;
    margin: 0 auto var(--corix-space-3) auto;
    border-radius: 50%;
    background-color: var(--corix-focus);
}
.step-bar .progressbar li.active:before {
    width: 12px;
    height: 12px;
    content: '';
    counter-increment: step;
    line-height: 30px;
    border: 2px solid var(--corix-accent);
    display: block;
    text-align: center;
    margin: 0 auto var(--corix-space-3) auto;
    border-radius: 50%;
    background-color: var(--corix-accent);
}
.step-bar .progressbar li:after {
    width: 100%;
    height: 3px;
    content: '';
    position: absolute;
    background-color: var(--corix-focus);
    top: 5px;
    left: -50%;
    z-index: -1;
}
.step-bar #last-child:after {
    width: 100%;
    height: 3px;
    content: '';
    position: absolute;
    background-color: var(--corix-step-active);
    top: 15px;
    left: -50%;
    z-index: -1;
}
.step-bar #last-child:before {
    display: none;
}
.step-bar .progressbar li:first-child:after {
    height: 0;
}
.step-bar #circle {
    font-size: 24px;
    position: absolute;
    left: 7%;
    top: 16.29%;
    color: var(--corix-step-active);
}
.step-bar label {
    position: absolute;
    top: -40%;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    font-size: 12px;
    margin-top: -25px;
}

/* Variant accents per page (override active circle color) */
.upload-document-page .step-bar .progressbar li.active:before {
    border-color: var(--corix-pink);
    background-color: var(--corix-pink-light);
}
.bank-account-upload-page .step-bar .progressbar li.active:before {
    border-color: var(--corix-pink);
    background-color: var(--corix-pink-light);
}
.application-progress-page .step-bar .progressbar li.active:before {
    border-color: var(--corix-accent);
    background-color: var(--corix-accent);
}

/* Match Telerik TextBox look on the username / password / confirm-password inputs */
/*#txtpassword,
#txtusername,
#txtoldpassword,
#txtnewpassword,
#txtconfirmpassword,
#txtuseremail {
    height: 34px;
    padding: 4px 8px;
    border: 1px solid var(--corix-border-light);
    border-radius: var(--corix-radius-md, 2px);
    background-color: var(--corix-surface, #fff);
    outline: none;
    flex: 1 1 auto;
    min-width: 0;
}

    #txtpassword:focus,
    #txtusername:focus,
    #txtoldpassword:focus,
    #txtnewpassword:focus,
    #txtconfirmpassword:focus,
    #txtuseremail:focus {
        border-color: var(--corix-focus) !important;
        box-shadow: 0 0 0 0.125rem var(--corix-focus-shadow) !important;
        outline: none;
    }*/



/*LineprogressBar*/
.equities-onboarding-progress-page {
    margin-top: 40px;
}

.step-bar {
    width: 100%;
}

.equities-onboarding-progress {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

    .equities-onboarding-progress li {
        flex: 1;
        text-align: center;
        position: relative;
    }

        /* Progress line */
        .equities-onboarding-progress li::before {
            content: "";
            display: block;
            width: 100%;
            height: 6px;
            background: #c7d8ff;
            border-radius: 4px;
            margin-bottom: 12px;
            transition: 0.3s ease;
        }

        /* Active + Previous */
        .equities-onboarding-progress li.active::before {
            background: #0057ff;
        }

        /* Label */
        .equities-onboarding-progress li label {
            font-size: 14px;
            color: #333;
            font-weight: 500;
        }

