/* Global Payments / Access Point default brand. Office overrides remain supported. */
:root {
    --primary-color: #1B1EC6;
    --header-color: #262AFF;
    --secondary-color: #FFFFFF;
    --secondary-alt-color: #0C0C0C;
    --third-color: #FFCC00;
    --menu-header-text-color: #FFFFFF;
    --menu-header-text-hover-color: #FFFFFF;
    --menu-left-text-color: #0C0C0C;
    --menu-left-counter-color: #595959;
    --sub-menu-left-text-color: #0C0C0C;
    --sidebar: #EBEBEB;
    --btn-add: #1B1EC6;
    --btn-save: #1B1EC6;
    --btn-cancel: #FFFFFF;
    --btn-delete: #F4364C;
    --btn-clear: #FFCC00;
    --brand-font: "Aptos", "Segoe UI", Arial, sans-serif;
    --dashboard-blue: #1CABFF;
    --dashboard-red: #F4364C;
    --dashboard-yellow: #FFCC00;
    --dashboard-orange: #FDA052;
    --dashboard-purple: #87179D;
}

html, body, h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
button, input, select, textarea, .form-control,
.ui-widget, .popover, .tooltip, .select2-container, .chosen-container {
    font-family: var(--brand-font) !important;
}

body, label, .form-control, .control-label {
    color: var(--secondary-alt-color);
}

.jarvis-header {
    background: var(--header-color);
    color: var(--menu-header-text-color);
}

.jarvis-header .left {
    flex-shrink: 0;
}

.jarvis-header .left .iso, .access-point-brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #FFFFFF;
    text-decoration: none;
    white-space: nowrap;
    font-family: var(--brand-font);
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
}

/* Keep the supplied symbol's transparent clear space and aspect ratio. */
.access-point-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    flex-shrink: 0;
}

.jarvis-header .left .iso .access-point-logo {
    width: 52px;
    max-height: 52px;
    max-width: 52px;
}

.jarvis-header .merchant-menu ul.menu a,
.jarvis-header #more-nav a {
    color: var(--secondary-alt-color);
}

.jarvis-header .merchant-menu ul.menu a:hover,
.jarvis-header #more-nav a:hover {
    color: var(--primary-color);
}

.crumbs {
    color: var(--secondary-alt-color) !important;
}

.page-title h3, .widget .widget-header h4, .modal-title,
.panel-title, .section-title {
    color: var(--primary-color);
}

#menu-left span.menu-left-counter-color {
    color: #FFFFFF;
}

/* Preserve neutral utility buttons; map existing action classes to the brand. */
.btn.btn-primary {
    background-color: var(--btn-add);
    border-color: var(--btn-add);
    color: #FFFFFF;
    background-image: none;
    text-shadow: none;
}

.btn.btn-danger {
    background-color: var(--btn-delete);
    border-color: var(--btn-delete);
    color: #FFFFFF;
    background-image: none;
    text-shadow: none;
}

.btn.btn-return,
.btn.btn-default.fa-arrow-left,
.btn.btn-default.fa-close,
.btn[id*="Cancel"], .btn[class*="btn-cancel"] {
    background-color: var(--btn-cancel);
    border-color: #EEEEEE;
    color: #595959;
    background-image: none;
    text-shadow: none;
}

.btn.btn-warning,
.btn[id*="Clear"], .btn[class*="btn-clear"] {
    background-color: var(--btn-clear);
    border-color: var(--btn-clear);
    color: #FFFFFF;
    background-image: none;
    text-shadow: none;
}

.btn:hover { filter: brightness(0.93); }
.btn:focus-visible, .access-point-brand:focus-visible, .iso:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 3px;
}
.btn.disabled, .btn[disabled] { filter: none; }

ul.pagination > li > a, ul.pagination > li > span {
    color: var(--primary-color);
}
ul.pagination > li.active > a,
ul.pagination > li.active > span,
ul.pagination > li.active > a:hover,
ul.pagination > li.active > a:focus {
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #FFFFFF;
}

.statbox .visual.cyan { background-color: var(--dashboard-purple); }
.statbox .visual.green { background-color: var(--dashboard-yellow); color: #0C0C0C; }
.statbox .visual.yellow { background-color: var(--dashboard-orange); color: #FFFFFF; }
.statbox .visual.red { background-color: var(--dashboard-red); color: #FFFFFF; }
.statbox .visual.pulse-blue { background-color: var(--dashboard-blue); color: #FFFFFF; }

.access-point-login-brand {
    background: var(--header-color);
    padding: 12px;
    text-align: center;
    margin-bottom: 16px;
}

@media (max-width: 1199px) {
    .jarvis-header .left .iso { font-size: 16px; gap: 4px; }
    .jarvis-header .left .iso .access-point-logo {
        width: 36px;
        height: 36px;
    }
    .jarvis-header .greeting { margin-left: 10px; }
}

/* Standalone application screens use their own layout and legacy stylesheet. */
.access-point-online .header {
    background: var(--header-color) !important;
    border-color: var(--header-color) !important;
}
.access-point-online .header .access-point-logo {
    width: 52px;
    height: 52px;
    margin: 0;
}
.access-point-online .form-layout-title,
.access-point-online .large-button-1,
.access-point-online .form-layout {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    font-family: var(--brand-font) !important;
}
.access-point-online .title-1 {
    color: var(--primary-color);
    font-family: var(--brand-font) !important;
}

/* Keep Bootstrap's active/open states in the same action palette. */
.btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active,
.btn.btn-primary.active, .open > .dropdown-toggle.btn-primary {
    background-color: var(--btn-add);
    border-color: var(--btn-add);
    color: #FFFFFF;
}

/* Icon-only buttons also carry .fa on the button itself. */
.fa::before, .fa::after {
    font-family: FontAwesome;
}

.widget.box .widget-header h4,
.widget.box .widget-header h4 label {
    color: var(--primary-color);
}
.widget.box .widget-header {
    border-bottom-color: var(--primary-color);
}
