/*
 * Copyright 2015-2025 Endre Stølsvik
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* Using "native font stacks" of Bootstrap 5 */

.matsli_report {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    font-size: 13px;  /* Main setting of font size. Summary-table has it's own. */
    line-height: 1.6;
    color: #212529;
}

.matsli_report hr {
    margin: 1.9em 0 1.8em 0;
    padding: 0;
    height: 0;
    box-shadow: 0 0 10px 5px white;
    border: 3px solid white;
}

/* :: Fonts and headings */
.matsli_report h2, .matsli_report h3, .matsli_report h4 {
    /* Have to re-set font here, otherwise Bootstrap 3 takes over. */
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    display: inline;
    line-height: 1.2;
}

.matsli_report h2 {
    font-size: 1.5em;
    font-weight: normal;
}

.matsli_report h3 {
    font-size: 1.4em;
    font-weight: normal;
}

.matsli_report h4 {
    font-size: 1.3em;
    font-weight: normal;
}

.matsli_heading {
    display: block;
    margin: 0em 0em 0.5em 0em;
}

.matsli_report code {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: .875em;
    color: #d63384;
    background-color: rgba(0, 0, 0, 0.07);
    padding: 2px 4px 1px 4px;
    border-radius: 3px;
}

.matsli_creation_info {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: .75em;
    color: #3d3d3d;
    padding: 0.1em 0.1em 0.4em 1em;
}

/* TABLE: Summary */

.matsli_table_summary {
    font-size: 12px;
    line-height: 1;
    border-collapse: collapse;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.matsli_table_summary thead th {
    position: sticky;
    z-index: 1;
    top: 0;
    background-color: #009879;
    color: #ffffff;
}

.matsli_table_summary th, .matsli_table_summary td {
    padding: 0.5em 0.5em 0.5em 0.5em;
}

.matsli_table_summary tbody tr {
    border-bottom: thin solid #dddddd;
}

.matsli_table_summary .matsli_summary_initiator_row {
    background-color: #ffffe0;
}

.matsli_table_summary tbody tr:not(.matsli_summary_initiator_row):nth-of-type(even) {
    background-color: #f3f3f3;
}

.matsli_table_summary tbody tr:hover {
    background-color: #ffff99 !important;
}

.matsli_table_summary tbody .matsli_summary_lastline {
    border-bottom: thick solid #009879;
}

.matsli_right {
    text-align: right;
}

.matsli_summary_time {
    font-size: 0.75em;
    padding: 0 0.2em 0 0.2em;
    vertical-align: 0.15em;
    margin: 0 0.1em 0 0.1em;
    display: inline-block;
}

/* The small box/"button" denoting a Stage in the Summary */
.matsli_stage_summary_box {
    background: #f0f0f0;
    display: inline-block;
    border-radius: 3px;
    box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.37);
    border: thin solid #a0a0a0;
    margin: 0 0.3em 0 0.15em;
    padding: 0.1em 0.1em 0.1em 0.1em;
}

/* Tooltip for the full StatsSnapshot, in Summary */
.matsli_tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
    cursor: grab;
}

.matsli_tooltip .matsli_tooltiptext {
    visibility: hidden;
    width: 55em; /* added */
    background-color: rgba(200, 200, 200, 0.9);
    color: black;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;

    /* Position the tooltip text */
    position: absolute;
    left: -55em;
    z-index: 1;
    bottom: 200%;
}

.matsli_tooltip:hover .matsli_tooltiptext {
    visibility: visible;
}

/* Small arrow under the tooltip */
.matsli_tooltip .matsli_tooltiptext::after {
    content: " ";
    position: absolute;
    top: 100%; /* At the bottom of the tooltip */
    left: var(--caret-left, 50%); /* Use a CSS variable with a default of 50% */
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color:  rgba(200, 200, 200, 0.9) transparent transparent transparent;
}

/* :; Inside stage: Initiator-to-Terminator timings */

/* Table: Init-to-terminator */
.matsli_table_init_to_term {
    font-size: 12px;
    line-height: 1;
    border-collapse: collapse;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.matsli_table_init_to_term thead th {
    position: sticky;
    z-index: 1;
    top: 0;
    background-color: #009879;
    color: #ffffff;
}

.matsli_table_init_to_term th, .matsli_table_init_to_term td {
    padding: 0.5em 0.5em 0.5em 0.5em;
}

.matsli_table_init_to_term tbody tr {
    border-bottom: thin solid #dddddd;
}

.matsli_table_init_to_term .matsli_summary_initiator_row {
    background-color: #ffffe0;
}

.matsli_table_init_to_term tbody tr:not(.matsli_summary_initiator_row):nth-of-type(even) {
    background-color: #f3f3f3;
}

.matsli_table_init_to_term tbody tr:hover {
    background-color: #ffff99 !important;
}

.matsli_table_init_to_term tbody .matsli_summary_lastline {
    border-bottom: thick solid #009879;
}


/* Timings: min and max (timings) */
.matsli_min {
    top: +0.15em;
    position: relative;
    font-size: 0.75em;
}

.matsli_max {
    top: -0.45em;
    position: relative;
    font-size: 0.75em;
}

/* .. InitiatorIds and EndpointIds */
.matsli_iid {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: .875em;
    color: #d63384;
    background-color: rgba(0, 255, 0, 0.07);
    padding: 2px 4px 1px 4px;
    border-radius: 3px;
}

.matsli_epid {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    font-size: .875em;
    color: #d63384;
    background-color: rgba(0, 0, 255, 0.07);
    padding: 2px 4px 1px 4px;
    border-radius: 3px;
}

.matsli_appname {
    background-color: rgba(0, 255, 255, 0.07);
    padding: 2px 4px 1px 4px;
    border-radius: 3px;
}

.matsli_msgtype {
    background-color: rgba(255, 255, 0, 0.2);
    padding: 2px 4px 1px 4px;
    border-radius: 3px;
}

/* Outgoing and incoming messages */
.matsli_msgs_details {
    margin: 0 0 0 2em;
}

.matsli_msgs_summary {
    margin: 0 0 0 2em;
}

.matsli_noshow {
    display: none;
}

.matsli_msgs_summary_btn, .matsli_msgs_details_btn {
    display: inline-block;
    cursor: pointer;
    background: #f0f0f0;
    border-radius: 3px;
    line-height: 1.1;
    box-shadow: 0.5px 0.5px 0.5px 0px rgba(0, 0, 0, 0.2);
    border: thin solid #e0e0e0;
    /*margin: 0.2em 0 0.2em 0.5em;*/
    padding: 0.05em 0.3em 0.01em 0.3em;
    /*padding: 0;*/
}

.matsli_msgs_summary_or_details_btn_active {
    display: none;
    /*background: #d0e0d0;*/
}

/* :: The different main parts of the report */

.matsli_info {
    margin: 0em 0em 0em 0.5em;
}

/* Boxes for each part. */

/* The "scrollbox" for the System Information */
.matsli_system_information {
    background: #f0f0f0;
    /*width: max-content;*/
    /*box-sizing: border-box;*/
    /*max-width: 100%;*/
}
/* The content of the "scrollbox" for the System Information */
.matsli_system_information_content {
    background: white;
    display: block;
    overflow: auto;
    max-height: 22.5em;
    padding: 0.1em;
    white-space: pre;
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;;
    font-size: 0.9em;
    line-height: 1.3;
}

.matsli_system_information, .matsli_factory, .matsli_initiator, .matsli_endpoint, .matsli_stage {
    border-radius: 3px;
    box-shadow: 2px 2px 2px 0 rgba(0, 0, 0, 0.37);
    border: thin solid #a0a0a0;
    margin: 0.5em 0.5em 0.7em 0.5em;
    padding: 0.1em 0.5em 0.5em 0.5em;
}

.matsli_factory {
    background: #f0f0f0;
}

.matsli_initiator {
    background: #e0f0e0;
}

.matsli_endpoint {
    background: #e0e0f0;
}

.matsli_stage {
    background: #f0f0f0;
}

.matsli_hot {
    box-shadow: #FFF 0 -1px 4px, #ff0 0 -2px 10px, #ff8000 0 -10px 20px, red 0 -18px 40px, 5px 5px 15px 5px rgba(0, 0, 0, 0);
    border: 0.2em solid red;
    background: #ECEFCF;
}
