@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&icon_names=add_box,assignment_turned_in,block,cancel,check_circle,chevron_backward,chevron_forward,close,close_small,cloud_done,cloud_upload,collapse_all,collapse_content,content_copy,database_upload,delete_forever,download,drafts,error,expand,expand_all,expand_content,filter_list_off,hourglass_pause,info,info_i,keyboard_double_arrow_down,keyboard_double_arrow_left,keyboard_double_arrow_right,keyboard_double_arrow_up,login,logo_dev,menu,more_horiz,output,refresh,save,search,security,settings,thumb_down,thumb_up,tooltip,tune,visibility,warning");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");
@import "edi-list.css";
@import "edi-testing.css";
@import "messages-list.css";
@import "filter-section.css";
@import "home-page.css";
@import "layout.css";
@import "settings-cmp.css";
@import "/_content/RoutEDI.Shared.Ui.Library/settings-components.css";

:root {
    --page-header-background-color: #00133B;
    --default-text-color: #333333;
    --odd-row-background: #f9f9f9;
    --even-row-background: #ffffff;
    --row-border-color: #e0e0e0;
    --strong-text-color: #111111;
    --disabled-text-color: #999999;
    --accept-button-color: #e8fbe8;
    --accept-button-edge-lite: #d2f7d2;
    --accept-button-edge-dark: #a7f0a7;
    --decline-button-color: #fbe8e8;
    --decline-button-edge-lite: #f3d2d2;
    --decline-button-edge-dark: #f0a7a7;
}
.master-page {
    --external-page-background-color: #fb7c1c;
    --internal-page-background-color: #f9f9fb;
    --internal-page-main-header-text-color: #ffffff;
    --internal-page-specific-header-background-color: #f97d20;
    --internal-page-specific-header-text-color: #ffffff;
}

.edi204-details-dialog {
    --border-radius: 5px;
    --section-header-background-color: #eaeaea;
    --section-background-color: #f9f9f9;
    --section-font-color: #333333;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

textarea {
    box-sizing: border-box;
}

h1:focus {
    outline: none;
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #26b050;
}

.invalid {
    outline: 1px solid #e50000;
}

.validation-message {
    color: #e50000;
}

.blazor-error-boundary {
    background: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTYiIGhlaWdodD0iNDkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIG92ZXJmbG93PSJoaWRkZW4iPjxkZWZzPjxjbGlwUGF0aCBpZD0iY2xpcDAiPjxyZWN0IHg9IjIzNSIgeT0iNTEiIHdpZHRoPSI1NiIgaGVpZ2h0PSI0OSIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMCkiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMzUgLTUxKSI+PHBhdGggZD0iTTI2My41MDYgNTFDMjY0LjcxNyA1MSAyNjUuODEzIDUxLjQ4MzcgMjY2LjYwNiA1Mi4yNjU4TDI2Ny4wNTIgNTIuNzk4NyAyNjcuNTM5IDUzLjYyODMgMjkwLjE4NSA5Mi4xODMxIDI5MC41NDUgOTIuNzk1IDI5MC42NTYgOTIuOTk2QzI5MC44NzcgOTMuNTEzIDI5MSA5NC4wODE1IDI5MSA5NC42NzgyIDI5MSA5Ny4wNjUxIDI4OS4wMzggOTkgMjg2LjYxNyA5OUwyNDAuMzgzIDk5QzIzNy45NjMgOTkgMjM2IDk3LjA2NTEgMjM2IDk0LjY3ODIgMjM2IDk0LjM3OTkgMjM2LjAzMSA5NC4wODg2IDIzNi4wODkgOTMuODA3MkwyMzYuMzM4IDkzLjAxNjIgMjM2Ljg1OCA5Mi4xMzE0IDI1OS40NzMgNTMuNjI5NCAyNTkuOTYxIDUyLjc5ODUgMjYwLjQwNyA1Mi4yNjU4QzI2MS4yIDUxLjQ4MzcgMjYyLjI5NiA1MSAyNjMuNTA2IDUxWk0yNjMuNTg2IDY2LjAxODNDMjYwLjczNyA2Ni4wMTgzIDI1OS4zMTMgNjcuMTI0NSAyNTkuMzEzIDY5LjMzNyAyNTkuMzEzIDY5LjYxMDIgMjU5LjMzMiA2OS44NjA4IDI1OS4zNzEgNzAuMDg4N0wyNjEuNzk1IDg0LjAxNjEgMjY1LjM4IDg0LjAxNjEgMjY3LjgyMSA2OS43NDc1QzI2Ny44NiA2OS43MzA5IDI2Ny44NzkgNjkuNTg3NyAyNjcuODc5IDY5LjMxNzkgMjY3Ljg3OSA2Ny4xMTgyIDI2Ni40NDggNjYuMDE4MyAyNjMuNTg2IDY2LjAxODNaTTI2My41NzYgODYuMDU0N0MyNjEuMDQ5IDg2LjA1NDcgMjU5Ljc4NiA4Ny4zMDA1IDI1OS43ODYgODkuNzkyMSAyNTkuNzg2IDkyLjI4MzcgMjYxLjA0OSA5My41Mjk1IDI2My41NzYgOTMuNTI5NSAyNjYuMTE2IDkzLjUyOTUgMjY3LjM4NyA5Mi4yODM3IDI2Ny4zODcgODkuNzkyMSAyNjcuMzg3IDg3LjMwMDUgMjY2LjExNiA4Ni4wNTQ3IDI2My41NzYgODYuMDU0N1oiIGZpbGw9IiNGRkU1MDAiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPjwvZz48L3N2Zz4=) no-repeat 1rem/1.8rem, #b32121;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
}

    .blazor-error-boundary::after {
        content: "An error has occurred."
    }

.darker-border-checkbox.form-check-input {
    border-color: #929292;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

button {
    display: flex;
    flex-direction: row;
    column-gap: 0.5em;
    align-items: center;
    border-radius: 4px;
    background-color: #eeeeee;
    border: 1px solid #aaaaaa;
    padding: 0.2em 0.6em;
    justify-content: center;
    font-size: 150%;
    cursor: pointer;
}

    button:hover {
        outline: solid 1px #666666;
    }

div > select, input[type='text'], input[type='datetime-local'] {
    border: solid 1px var(--row-border-color);
    border-radius: 5px;
    width: fit-content;
}

select, input[type='text'], input[type='datetime-local'] {
    border-radius: 5px;
}

input[type='text'], input[type='datetime-local']{
    padding: 0.45em;
}

select {
    padding: 0.4em;
    padding-right: 0.3em;
    border: none;
    border-right: solid 0.5em transparent;
}

.material-symbols-outlined {
    font-size: 150%;
    margin-left: -0.2em;
}

button .material-symbols-outlined {
    margin-left: 0em;
}

body:has(.page-cover) {
    overflow:hidden;
}

body .page-cover {
    display: block;
    position: fixed;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 98;
}

body .page-cover-content {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 0px;
    bottom: 0px;
    right: 0px;
    left: 0px;
    background-color: rgba(255, 255, 255, 0.8);
    z-index: 99;
}
body .page-cover.dialog {
    z-index: 100;
}
body .page-cover-content.dialog {
    z-index: 101;
}

.material-symbols-outlined {
    font-size: 100%;
}

.edi204-details-dialog {
    border: solid 3px var(--row-border-color);
    border-radius: 0.5em;
    background-color: #ffffff;
    max-height: 90%;
    max-width: 80em;
    min-width: 50em;
    padding: 0em;
    display: flex;
    flex-direction: row;
    overflow-y: auto;
}

    .edi204-details-dialog .detail {
        overflow-wrap: anywhere;
    }

    .edi204-details-dialog .content {
        padding: 1em;
        display: flex;
        flex-direction: column;
    }

    .edi204-details-dialog .load-details-overall {
        flex-grow: 1;
        display: grid;
        grid-template-columns: repeat(3, auto);
        column-gap: 0.8em;
        row-gap: 0.5em;
        height: 100%;
        overflow: hidden;
    }
        .edi204-details-dialog .load-details-overall > .action-pane {
            grid-column: 1/3;
        }

            .edi204-details-dialog .load-details-overall .action-pane .status-upd-info {
                font-size: 85%;
                color: grey;
            }

        .edi204-details-dialog .load-details-overall > .edi204-load-details.detail {
            grid-column: 1/1;
        }

        .edi204-details-dialog .load-details-overall > .edi204-load-actions {
            grid-row: span 3;
            padding-right: 1px; /* Make sure the button outline doesn't get cut off */
        }

        .edi204-details-dialog .load-details-overall > .header {
            font-size: 150%;
        }

    .edi204-details-dialog .edi204-load-actions {
        border-left: solid 1px #f0f0f0;
        padding-left: 0.8em;
        display: flex;
        flex-direction: column;
        row-gap: 0.5em;
        color: #333333;
    }

        .edi204-details-dialog .edi204-load-actions button {
            width: 100%;
            max-width: 13em;
        }

.edi204-load-details.detail, .edi204-load-stops.detail {
    min-width: 20em;
    max-width: 35em;
    overflow-y: auto;
    overflow: auto;
    height: auto;
    max-height: 100%;
}

.edi204-load-stops.detail {
    display: flex;
    flex-direction: column;
    row-gap: 0.8em;
}

    .edi204-details-dialog .label, .edi204-details-dialog .reference.name {
        color: #999999;
        font-size: 75%;
    }

.edi204-details-dialog .label, .edi204-details-dialog .references.data {
    padding-top: 0.3em;
}

    .edi204-load-stops .label:first-child {
        padding-top: 0.0em;
    }

.edi204-load-stops .edi204-load-stop, .edi204-load-details .detail-section {
    display: flex;
    background-color: var(--section-background-color);
    border-radius: var(--border-radius);
    border: solid 1px var(--section-header-background-color);
}

.edi204-load-stops .edi204-load-stop {
    flex-direction: row;
    column-gap: 0.75em;
}

    .edi204-load-stops .edi204-load-stop .stop-type {
        display: flex;
        flex-direction: column;
        justify-content: start;
        align-items: center;
        background-color: var(--section-header-background-color);
        row-gap: 0.5em;
        padding-right: 0.15em;
    }

        .edi204-load-stops .edi204-load-stop .stop-type .stop-index {
            font-size: 250%;
            padding: 0.1em 0.15em;
        }

        .edi204-load-stops .edi204-load-stop .stop-type .stop-type-name {
            word-break: break-all;
            text-transform: uppercase;
            writing-mode: vertical-lr;
            text-orientation: upright;
            font-size: 90%;
            color: #666666;
            padding-bottom: 0.5em;
        }

    .edi204-load-stops .edi204-load-stop .stop-detail {
        padding: 0.4em 0.5em 0.4em 0em;
        color: var(--section-font-color);
    }

.edi204-details-dialog .references.label {
    display: none;
}

.edi204-details-dialog .references.data {
    display: flex;
    flex-direction: row;
    column-gap: 0.75em;
    row-gap: 0.5em;
    flex-wrap: wrap;
}
.edi204-details-dialog .reference.item {
    display: flex;
    flex-direction: column;
}

.edi204-load-details {
    display: flex;
    flex-direction: column;
    row-gap: 0.8em;
}
    .edi204-load-details .detail-section {
        flex-direction: column;
        color: var(--section-font-color);
    }


        .edi204-load-details .detail-section > .name, .edi204-load-details .detail-section > .detail {
            padding: 0.3em 0.5em;
        }

    .edi204-load-details .detail-section > .name {
        background-color: var(--section-header-background-color);
        font-weight: bold;
        border-bottom-left-radius: 0px;
        border-bottom-right-radius: 0px;
    }

        .edi204-load-details .detail-section > .detail {
            display: flex;
            flex-direction: column;
        }

.edi204-loader {
}

    .edi204-loader textarea {
        width: 100%;
        height: 30em;
    }

.edi204-loader .load-button-holder {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 1em;
    justify-content: space-between;
}

.action-dialog {
    display: flex;
    flex-direction: column;
    justify-items: center;
}

.action-dialog textarea {
    width: 50em;
    height: 60em;
}

.action-dialog-button {
    display: flex;
    flex-direction: column;
    justify-items: center;
}

.edi204-loader .from-picker {
    display: flex;
    flex-direction: row;
    align-items: center;
    column-gap: 0.5rem;
    margin-bottom: 0.5rem;
}

.processing-list-page .processing-list {
    display: grid;
    grid-template-columns: max-content max-content max-content;
    column-gap: 0.8em;
    row-gap:0.5em;
    align-items: center;
}
    .processing-list-page .processing-list .header {
        font-weight: bold;
        font-size: 120%;
    }

    .processing-list-page .processing-list .actions {
        display: flex;
        flex-direction: row;
        column-gap: 1em;
    }

.processing-list-editor .card-body .card.minimized .card-body {
    display: none;
}
.processing-list-editor .card-body .card.minimized .card-header {
    border-bottom:none;
}
.processing-list-editor .card-body .card-header .material-symbols-outlined {
    font-size: 200%;
    cursor:pointer;
}

.processing-list-editor .btn .material-symbols-outlined {
    font-size: 150%;
    margin-left:-1px;
    line-height:130%;
}
.processing-list-editor .btn:has(.material-symbols-outlined) {
    padding:0em 0.3em 0em 0.3em;
}

body:has(.raw-incoming-messages), .master-page:has(.raw-incoming-messages) {
    height: 100vh;
}
.main-layout:has(.raw-incoming-messages), .raw-incoming-messages, .raw-incoming-messages .record-list {
    height: 10em; /* minimum height */
    flex-grow: 1;
    display:flex;
    flex-direction:column;
}

    .raw-incoming-messages .header {
        display: flex;
        flex-direction: row;
        column-gap:0.5em;
    }

        .raw-incoming-messages .header .filter {
            flex-grow: 1;
            align-self: center;
            justify-content:end;
            display:flex;
            flex-direction:row;
            column-gap:0.8em;
        }
            .raw-incoming-messages .header .filter .filter-list {
                align-self: center;
                justify-content: end;
                display: flex;
                flex-direction: row;
                column-gap: 0.8em;
                row-gap: 0.2em;
                flex-wrap: wrap;
                max-width: 60em;
            }

            .raw-incoming-messages .header .filter .raw-file-id input {
                width: 20em;
                text-transform: uppercase;
                font-family: Consolas, Arial;
            }
            
            .raw-incoming-messages .header .filter .raw-file-id input {
                width: 20em;
                text-transform: uppercase;
                font-family: Consolas, Arial;
            }

        .raw-incoming-messages .header .filter > div, .raw-incoming-messages .header .filter .filter-list > div {
            display:flex;
            flex-direction:row;
            column-gap:0.5em;
            align-items:center;
        }

            .raw-incoming-messages .header .filter input[type=checkbox] {
                width: 2em;
                height: 2em;
                align-self: center;
            }

        .raw-incoming-messages .header .search-button {
            align-self: center;
            justify-items: end;
            margin-right: 1em;
        }

.raw-incoming-messages .inbound-records {
    overflow: auto;
}
    .raw-incoming-messages .no-matching-records {
        grid-column: 1/-1;
        text-align: center;
        font-size: 120%;
        padding-top: 1em;
    }

    .raw-incoming-messages .inbound-records {
        display: grid;
        grid-template-columns: max-content auto auto auto auto auto minmax(20em, 50em);
    }

    .raw-incoming-messages .inbound-records .header {
        position: sticky;
        top: 0px;
        background-color: var(--internal-page-background-color);
        font-size: 100%;
        font-weight: 600;
        border-bottom: solid 2px #666666;
        padding-bottom: 0.2em;
    }

        .raw-incoming-messages .inbound-records .item.buttons {
            grid-column-start: 1;
            display: flex;
            flex-direction: row;
            column-gap: 0.5em;
            padding-right: 0.1em;
            align-items:center;
        }

        .raw-incoming-messages .inbound-records .item.error-message {
            display: flex;
            flex-direction: row;
            align-items:center;
            column-gap: 0.5em;
            padding-right: 0.1em;
        }

        .raw-incoming-messages .inbound-records .material-symbols-outlined {
            font-size: 140%;
            cursor: pointer;
        }

            .raw-incoming-messages .inbound-records .header, .raw-incoming-messages .inbound-records .item {
                padding: 0.2em 0.5em;
            }

    .raw-incoming-messages .inbound-records .item {
        border-bottom: solid 1px #e0e0e0;
        align-content:center;
    }

    .raw-incoming-messages .inbound-records .item.odd {
        background-color: #f5f5f5;
    }

    .raw-incoming-messages .more-results {
        padding-top:0.5em;
        margin-left:auto;
        margin-right:auto;
    }

.dialog-background {
        position: fixed;
        top: 0em;
        bottom: 0em;
        left: 0em;
        right: 0em;
        background-color: rgba(0,0,0,0.75);
        z-index: 998;
    }

.dialog-top {
    position: fixed;
    top: 1em;
    bottom: 1em;
    right: 1em;
    left: 1em;
    width: max-content;
    max-width: 80em;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    row-gap: 0.5em;
    background-color: rgba(255,255,255,1);
    border-radius: 8px;
    padding: 0.5em;
    overflow: hidden;
    z-index: 999;
    justify-self: center;
    margin-left: auto;
    margin-right: auto;
}

.dialog-top .inbound-raw-id {
    display: flex;
    column-gap: 0.5em;
    align-items:center;
}
.inbound-raw-id .label {
    font-weight:bold;
}
.inbound-raw-id .text {
    font-family: Consolas, 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
    /*.raw-incoming-messages .dialog-top {
    position: fixed;
    top: 1em;
    bottom: 1em;
    left: 1em;
    right: 1em;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    row-gap:0.5em;
    background-color: rgba(255,255,255,1);
    border-radius: 8px;
    padding: 0.5em;
    overflow: hidden;
}
*/
    .raw-incoming-messages .dialog-top .raw-content-holder {
        height: 10em;
        max-height: 100%;
    }

    .raw-incoming-messages .dialog-top button {
        flex-grow: 0;
        flex-shrink: 1;
    }
.raw-incoming-messages .filter .advanced-option-button {
    cursor: pointer;
}

.outbound-side .raw-content-holder {
    max-width: 55em;
}

.raw-content-holder {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-shrink: 1;
    row-gap: 0.3em;
    min-height: 1em;
}

    .raw-content-holder select {
        border: solid 1px #C0C0C0;
    }
    .raw-content-holder .content-style {
        display: flex;
        flex-direction: row;
        align-items: center;
        column-gap: 0.4em;
    }

        .raw-content-holder .content-style .buttons {
            flex-grow: 1;
            display: flex;
            justify-content: end;
            column-gap:0.5em;
        }

    .raw-content-holder .formatted-content {
        flex-grow: 1;
        flex-shrink: 1;
        overflow:hidden;
        border: solid 1px #CCCCCC;
        border-radius: 4px;
        background: #f8f8f8;
        color: #111111;
        padding-right: 1px;
        padding-top: 2px;
        padding-bottom: 2px;
    }

        .raw-content-holder .formatted-content pre {
            min-height: 1em;
            height: 100%;
            flex-grow: 1;
            flex-shrink: 1;
            overflow: auto;
            font-family: Consolas, monospace;
            padding: 0.5em;
            margin: 0em;
            box-sizing: border-box;
            line-height: 120%;
            font-size: 85%;
        }

            .raw-content-holder .formatted-content pre.with-wrap {
                overflow-wrap: anywhere;
                text-wrap-mode: wrap;
            }

        .raw-content-holder .formatted-content.type-XML {
            color: #0000ff;
        }

        .raw-content-holder .formatted-content .xml-tag {
            color: #880000;
        }
        .raw-content-holder .formatted-content .xml-attr {
            color: #ff0000;
        }
        .raw-content-holder .formatted-content .xml-value {
            color: #0000ff;
        }
        .raw-content-holder .formatted-content .xml-text {
            color: #111111;
        }

        .raw-content-holder .formatted-content .json-key {
            color: brown;
        }
        .raw-content-holder .formatted-content .json-string {
            color: green;
        }
        .raw-content-holder .formatted-content .json-number {
            color: blue;
        }
        .raw-content-holder .formatted-content .json-boolean {
            color: darkorange;
        }
        .raw-content-holder .formatted-content .json-null {
            color: red;
        }
        .raw-content-holder .formatted-content .edi-segment {
            color: #111111;
            font-weight: bold;
        }
        .raw-content-holder .formatted-content .edi-separator {
            color:#cccccc;
        }
        .raw-content-holder .formatted-content .edi-text {
            color: #111111;
        }
        .raw-content-holder .formatted-content .edi-end-segment {
            display: none;
        }

.approval-icon-component.material-symbols-outlined {
    font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    cursor: default;
}
.approval-icon-component.accept {
    color: darkgreen;
}
.approval-icon-component.decline {
    color: darkred;
}

.message-status-information .detail-code {
    display: flex;
    flex-direction: row;
    column-gap: 0.2em;
    align-items: center;
}

.master-page.internal > .page-header {
    position: relative;
}

    .master-page.internal > .page-header > .version {
        background: var(--page-header-background-color);
        color: white;
        opacity: 0.9;
        padding: 0.2em;
        border-radius: 3px;
        position: absolute;
        z-index: 99999;
        bottom: 0.2em;
        right: 0.5em;
        font-size: 8px;
    }

.copy-button-element .copied {
    display: none;
}
.copy-button-element[disabled] {
    outline: none;
    border-color: transparent;
    background-color:transparent;
}
.copy-button-element[disabled] .copy {
    display: none;
}
    .copy-button-element[disabled] .copied {
        display: initial;
        color:black;
    }