:root {
    --accent-fill-rest: #64A0C8 !important; /*gsi blue*/
}

html, body {
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

a, .btn-link {
    color: #0366d6;
}

/* Force wrapping inside Telerik Confirm dialogs */
.k-dialog-content {
    white-space: normal; /* Allow wrapping */
    word-break: break-word; /* Break long words if needed */
    max-width: 400px; /* Optional: limit width for better readability */
}

.gsi-popover-min-width {
    min-width: 300px;
    width: 50vw;
}

.gsi-popover-min-sizes {
    min-width: 300px;
    min-height: 300px;
    width: 50vw;
    height: 50vh;
}

.gsi-popover-max-sizes {
    width: 600px;
    height: 400px;
    max-width: 90vw;
    max-height: 90vh;
}

.gsi-treelist-checkbox-disable input {
    display: none;
}

.gsi-jumpmenu-btn.k-button,
.gsi-jumpmenu-btn.k-button-solid-base {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    padding: 0 !important;
    margin: 0 4px !important;
    color: #fff !important; /* White text */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 0 !important; /* Square shape */
    transition: background 0.2s;
}

    .gsi-jumpmenu-btn.k-button:hover,
    .gsi-jumpmenu-btn.k-button-solid-base:hover {
        background: #41729F !important; /* Darker blue on hover */
        color: #fff !important;
    }

.gsi-vertical-center {
    display: flex;
    align-items: center;
    height: 100%; /* or a fixed height */
}

.gsi-vertical-center-gap {
    display: flex;
    align-items: center;
    gap: 0.5rem
}

.btn-primary {
    color: #fff;
    background-color: #1b6ec2;
    border-color: #1861ac;
}

.btn-primary-75-125.k-button {
    color: white !important;
    background-color: #64A0C8 !important;
    border-color: #1861ac !important;
    min-width: 75px !important;
    max-width: 125px !important;
    width: 100px !important;
}

.btn-primary-100-150.k-button {
    color: white !important;
    background-color: #64A0C8 !important;
    border-color: #1861ac !important;
    min-width: 100px !important;
    max-width: 150px !important;
    width: 125px !important;
}

.btn-primary-wide {
    color: white;
    background-color: #64A0C8;
    border-color: #1861ac;
}

.btn-transparent {
    background-color: transparent !important;
    box-shadow: none !important; /* Optional: removes button shadow */
    border-width: 0px !important;
}

.gsi-between {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 0.5rem !important; /* Optional: adds space between items */
}

.gsi-background-color-light {
    background-color: var(--kendo-color-light) !important;
}

.gsi-font-kendo {
    font-family: var(--kendo-font-family) !important;
    font-size: var(--kendo-font-size, inherit);
    vertical-align: middle;
}

.gsi-height-32px {
    height: 32px !important;
}

.gsi-height-34px {
    height: 34px !important;
}

.gsi-height-36px {
    height: 36px !important;
}

.gsi-height-38px {
    height: 38px !important;
}

.gsi-height-40px {
    height: 40px !important;
}

.gsi-height-41px {
    height: 41px !important;
}

.gsi-width-button-75-125 {
    min-width: 75px;
    max-width: 125px;
    width: 100px;
}

.gsi-width-button-100-150 {
    min-width: 100px;
    max-width: 150px;
    width: 125px;
}

.gsi-btn-primary {
    background-color: #64A0C8 !important;
    color: white !important;
    min-width: 75px;
    max-width: 125px;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
    padding-right: 5px;
}

.gsi-btn-primary-100pct {
    background-color: var(--kendo-color-light) !important;
    color: white;
    width: 100% !important;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 5px;
    padding-right: 5px;
}

.gsi-width-130 {
    width: 130px !important;
    flex-shrink: 0;
}

.content {
    padding-top: 1.1rem;
}

.k-card.gsi-radius-square {
    border-radius: 0rem !important;
}

.gsi-card-border-remove {
    border-width: 0px !important;
    border: none !important;
}

.gsi-radius-square {
    border-radius: 0rem !important;
}

.gsi-button-solid-base {
    border-color: #0366d6;
    color: var(--kendo-color-on-base, #212529);
    background-color: var(--kendo-color-base, #dee2e6);
    background-image: none
}

/* Icon-only button style for nav links */
.gsi-button-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.25rem; /* room if text is added later */
    padding: 4px 8px;
    border: none;
    background-color: transparent;
    color: #fff; /* ensures icon/text stays visible on dark app bar */
    text-decoration: none;
    border-radius: 6px;
    cursor: pointer;
}

    .gsi-button-icon img {
        display: block;
        height: 32px;
        width: 32px;
        filter: none; /* keep original colors, remove if you want to tint */
    }

    /* Hover/active focus states */
    .gsi-button-icon:hover,
    .gsi-button-icon:focus {
        background-color: rgba(255, 255, 255, 0.12); /* subtle highlight */
        outline: none;
    }

    .gsi-button-icon:active {
        background-color: rgba(255, 255, 255, 0.18);
    }

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid red;
}

.validation-message {
    color: red;
}

#blazor-error-ui {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }

.col-form-label {
    padding-top: calc(0.375rem + 1px);
    padding-bottom: 0;
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5;
    font-weight: bold;
}

.btn-warning {
    color: white;
    background-color: red;
    border-color: #3f83b0;
    width: 125px;
    margin: 5px;
}

    .btn-warning:hover, .btn-warning:active {
        color: white;
        background-color: orangered;
        border-color: #ced3db;
    }

.edit-btn {
    color: white;
    background-color: #64A0C8;
    border-color: #3f83b0;
    width: 125px;
    margin: 5px;
}

    .edit-btn:hover, .edit-btn:active {
        color: #fff;
        background-color: #ced3db;
        border-color: #ced3db;
    }

.edit-outline-btn {
    border-color: #64A0C8;
}

    .edit-outline-btn:hover, .edit-outline-btn:active {
        color: #fff;
        background-color: #ced3db !important;
        border-color: #ced3db !important;
    }

.save-btn {
    color: white;
    background-color: #64A0C8;
    border-color: #3f83b0;
    width: 125px;
    margin: 5px;
}

    .save-btn:hover, .edit-btn:active {
        color: #fff;
        background-color: #ced3db;
        border-color: #ced3db;
    }

.save-outline-btn {
    border-color: #64A0C8;
}

    .save-outline-btn:hover, .edit-outline-btn:active {
        color: #fff;
        background-color: #ced3db !important;
        border-color: #ced3db !important;
    }

.cancel-btn {
    color: white;
    background-color: #e4e7eb;
    border-color: #64A0C8;
    width: 125px;
    margin: 5px;
}

    .cancel-btn:hover, .edit-btn:active {
        color: #fff;
        background-color: #ced3db;
        border-color: #ced3db;
    }

.cancel-outline-btn {
    border-color: #64A0C8;
}

    .cancel-outline-btn:hover, .edit-outline-btn:active {
        color: #fff;
        background-color: #ced3db !important;
        border-color: #ced3db !important;
    }

.page-title {
    color: #64A0C8;
    font-size: 28px;
}

.quick-add-btn {
    font-size: 36px;
    position: fixed;
    right: 30px;
    bottom: 30px;
}

.sidebar-logo {
    height: 120px;
    background-color: #ced3db;
    border-color: #ced3db;
    width: 260px;
}

.table {
    background-color: white;
}

.table-btn {
    background-color: #64A0C8;
    border-color: #64A0C8;
    border-radius: 50%;
}

    .table-btn:hover, .table-btn:active {
        color: #fff;
        background-color: #ced3db !important;
        border-color: #ced3db !important;
    }

.track-order-map {
    width: 350px;
    height: 500px;
    flex-shrink: 0;
}


.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.gsi-cursor-pointer {
    cursor: pointer !important;
}

.gsi-border-width-0 {
    border-width: 0px;
}

.gsi-border-color-white {
    border-color: white;
}

.gsi-fill-container {
    width: 100%;
    height: auto;
    object-fit: cover; /* or 'contain' depending on your needs */
}

.gsi-width-100pct {
    width: 100% !important;
}

.gsi-font {
    font-family: 'Helvetica Neue', Arial, Helvetica, sans-serif;
}

.gsi-jumpmenu {
    height: 50px;
    padding-bottom: 0px;
    padding-left: 10px;
    padding-right: 10px;
}

.gsi-margin-10-left-right {
    margin-left: 10px;
    margin-right: 10px;
}

.gsi-margin-15-left-right {
    margin-left: 15px;
    margin-right: 15px;
}

.gsi-margin-20-left-right {
    margin-left: 20px;
    margin-right: 20px;
}

.gsi-margin-5-left-right {
    margin-left: 5px;
    margin-right: 5px;
}

.gsi-margin-10-bottom {
    margin-bottom: 10px !important;
}

.gsi-margin-20-top-bottom {
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

.gsi-navlink {
    color: white;
    text-decoration: none;
}

.gsi-padding-0 {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 0px;
}

.gsi-padding-1-left-right {
    padding-left: 1px;
    padding-right: 1px;
}

.gsi-padding-5-left-right {
    padding-left: 5px;
    padding-right: 5px;
}

.gsi-position-relative-top-50 {
    position: relative;
    top: 50%;
    transform: translateY(10%)
}

.gsi-text-bold {
    font-weight: bold;
    padding-bottom: 0px;
}

.lbl-required::after {
    content: "*";
    font-weight: bold;
    color: red;
}

.gsi-align-right {
    float: right;
}

.gsi-align-bottom {
    position: absolute;
    bottom: 0
}

.gsi-text-align-center {
    text-align: center;
}

.gsi-text-vertical-align {
    vertical-align: middle
}

.gsi-color {
    color: #64A0C8;
}

.gsi-background-color {
    background-color: #64A0C8;
}

.gsi-color-grey {
    color: grey;
}

.gsi-background-color-white {
    background-color: white;
}

.gsi-background-color-darkgray {
    background-color: darkgray;
}

.gsi-color-red {
    color: red;
}

.gsi-color-black {
    color: black;
}

.gsi-color-white {
    color: white;
}

.text-warning,
.color-warning {
    color: red !important;
}

.gsi-margin-top-10 {
    margin-top: 10px;
}

.gsi-margin-right-1 {
    margin-right: 1%;
}

.gsi-margin-right-2 {
    margin-right: 2%;
}

.gsi-margin-right-3 {
    margin-right: 3%;
}

.gsi-margin-right-4 {
    margin-right: 4%;
}

.gsi-margin-right-5 {
    margin-right: 5%;
}

.gsi-margin-right-12 {
    margin-right: 12px;
}

.gsi-margin-top-bottom-12-left-right-6 {
    margin-top: 12px;
    margin-bottom: 12px;
    margin-left: 5%;
    margin-right: 5%;
}

.gsi-margin-padding-0 {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 0px;
}

.gsi-padding-0 {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 0px;
}

.gsi-padding-tb0-lr3 {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 3px;
    padding-right: 3px;
}

.gsi-padding-tb0-r12 {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 12px;
}

.gsi-padding-tb0-l12 {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 12px;
    padding-right: 0px;
}


.gsi-padding-tb0-lr12 {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 12px;
    padding-right: 12px;
}

.gsi-padding-tb0-lr20 {
    padding-top: 0px;
    padding-bottom: 0px;
    padding-left: 20px;
    padding-right: 20px;
}

.gsi-margin-0 {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 0px;
    margin-right: 0px;
}

.gsi-margin-5 {
    margin-top: 5px;
    margin-bottom: 5px;
    margin-left: 5px;
    margin-right: 5px;
}

.gsi-margin-10 {
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: 10px;
    margin-right: 10px;
}

.gsi-margin-tb0-lr20 {
    margin-top: 0px;
    margin-bottom: 0px;
    margin-left: 20px;
    margin-right: 20px;
}

.gsi-margin-right-12 {
    margin-right: 12px;
}

.gsi-text-align-left {
    text-align: left;
}

.gsi-padding-top-7 {
    padding-top: 7px;
    padding-bottom: 0px;
    padding-left: 3px;
    padding-right: 3px;
}

.gsi-row-height-50 {
    height: 50px !important;
}

.gsi-padding-top-50 {
    padding-top: 50px;
    padding-bottom: 0px;
    padding-left: 0px;
    padding-right: 0px;
}

.gsi-padding-5 {
    padding: 5px;
}

.gsi-padding-8 {
    padding: 8px;
}

.gsi-padding-10 {
    padding: 10px;
}

.gsi-padding-13-top-bottom {
    padding-top: 13px;
    padding-bottom: 7px;
}

.gsi-padding-13 {
    padding-top: 13px;
    padding-bottom: 7px;
    padding-right: 10px;
}

.gsi-padding-10-top-bottom {
    padding-top: 10px;
    padding-bottom: 10px;
}

.gsi-padding-5-top-bottom {
    padding-top: 5px;
    padding-bottom: 5px;
}

.gsi-padding-10-left-right {
    padding-left: 10px;
    padding-right: 10px;
}

.gsi-position-relative-top-30 {
    margin-top: 5px;
    position: relative;
    top: 30%;
    transform: translateY(10%)
}

.gsi-pad-margin-font {
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    margin-top: 3px;
    margin-bottom: 3px;
    height: 32px;
    line-height: 25px;
}

.gsi-pad-margin-3 {
    padding-top: 3px;
    padding-bottom: 3px;
    padding-right: 3px;
    margin-top: 3px;
    margin-bottom: 3px;
    margin-right: 3px;
}

.gsi-hyperlink-underline {
    text-decoration: underline !important;
}

.gsi-hyperlink-no-underline {
    text-decoration: none !important;
}

::deep .k-menu:not(.k-context-menu) {
    border-color: var(--kendo-color-border, rgba(33, 37, 41, 0.13));
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    padding-right: 0px !important;
    padding-left: 0px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    margin-right: 0px !important;
    margin-left: 0px !important;
    color: white !important;
    background-color: darkgray !important;
}

::deep .k-menu.k-menu-horizontal:not(.k-context-menu) {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    padding-right: 0px !important;
    padding-left: 0px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    margin-right: 0px !important;
    margin-left: 0px !important;
    color: white !important;
    background-color: darkgray !important;
}
