
/* ==========================================================
   XLX824 STAGE 5
   ========================================================== */

#top img {
    display: none !important;
}

#top {
    min-height: 128px !important;
    padding: 25px 42px 19px !important;
}

#top::before {
    content: "XLX824 AUSTRALIA";
    display: block;

    margin-bottom: 4px;

    color: #f3f9fc;

    font-size: 31px;
    font-weight: 750;

    letter-spacing: .4px;
}

#top::after {
    content: "MULTIPROTOCOL DIGITAL VOICE REFLECTOR · SYDNEY AUSTRALIA";

    display: block;

    margin-top: 10px;

    color: #4fc9ff;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 1.9px;
}


/* Keep original runtime information visible beneath brand */

#top {
    color: #86a3b7 !important;
    font-size: 13px !important;
}


/* Main Stage 5 shell */

.xlx5-shell {
    width: 100%;
}


/* Status cards */

.xlx5-status-grid {

    display: grid;

    grid-template-columns:
        repeat(6,minmax(0,1fr));

    gap: 13px;

    margin-bottom: 21px;
}

.xlx5-stat {

    min-height: 111px;

    padding: 17px 18px;

    border:
        1px solid #29485c;

    border-radius: 10px;

    background:
        linear-gradient(
            145deg,
            #142938,
            #0d1b26
        );

    box-shadow:
        0 7px 18px rgba(0,0,0,.2);
}

.xlx5-stat-label {

    display: block;

    margin-bottom: 7px;

    color: #789bad;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: .75px;

    text-transform: uppercase;
}

.xlx5-stat strong {

    display: block;

    margin-bottom: 5px;

    color: #f2f8fb;

    font-size: 21px;
    font-weight: 700;
}

.xlx5-stat span:last-child {

    color: #7793a5;

    font-size: 11px;
}

.xlx5-reflector {

    border-color: #277293;

    background:
        linear-gradient(
            145deg,
            #153a4f,
            #102432
        );
}

.xlx5-online {

    color: #42da9b !important;

    font-weight: 800;
}

.xlx5-protocol-summary strong {

    color: #54cdfd;
}


/* Main grid */

.xlx5-primary-grid {

    display: grid;

    grid-template-columns:
        minmax(0,3.2fr)
        minmax(360px,1fr);

    gap: 22px;

    align-items: start;
}


/* Main surfaces */

.xlx5-panel,
.xlx5-modules {

    border:
        1px solid #29485c;

    border-radius: 11px;

    background:
        linear-gradient(
            180deg,
            #112431,
            #0b1923
        );

    box-shadow:
        0 9px 24px rgba(0,0,0,.23);

    overflow: hidden;
}


/* Panel header */

.xlx5-panel-header {

    display: flex;

    align-items: center;
    justify-content: space-between;

    min-height: 68px;

    padding: 15px 18px;

    border-bottom:
        1px solid #29485c;

    background:
        linear-gradient(
            100deg,
            #162f40,
            #122735
        );
}

.xlx5-panel-header h2 {

    margin: 2px 0 0;

    color: #f1f7fa;

    font-size: 20px;
    font-weight: 650;
}

.xlx5-kicker {

    color: #3fc3ff;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 1.15px;
}

.xlx5-header-count {

    padding: 5px 9px;

    border:
        1px solid #36596f;

    border-radius: 5px;

    background: #0c1b25;

    color: #a7c6d8;

    font-size: 11px;
}


/* Recent activity */

.xlx5-table-scroll {
    overflow-x: auto;
}

.xlx5-table {

    width: 100%;

    border-collapse: collapse;
}

.xlx5-table th {

    padding: 12px 14px;

    border-bottom:
        1px solid #29485c;

    background: #0e202c;

    color: #80a0b4;

    text-align: left;

    font-size: 10px;
    font-weight: 800;

    text-transform: uppercase;

    letter-spacing: .5px;
}

.xlx5-table td {

    min-height: 48px;

    padding: 14px;

    border-bottom:
        1px solid #1d3444;

    color: #dce8ef;

    font-size: 14px;
}

.xlx5-table tbody tr:nth-child(even) {

    background:
        rgba(26,54,73,.26);
}

.xlx5-table tbody tr:hover {

    background:
        rgba(46,105,137,.25);
}

.xlx5-callsign {

    color: #f6fbfd !important;

    font-size: 15px;
    font-weight: 750;

    text-decoration: none !important;
}

.xlx5-callsign:hover {

    color: #4dc7ff !important;

    text-decoration: underline !important;
}


/* Protocol badge */

.xlx5-protocol {

    display: inline-block;

    min-width: 52px;

    padding: 4px 8px;

    border-radius: 5px;

    text-align: center;

    font-size: 10px;
    font-weight: 850;

    letter-spacing: .35px;
}

.proto-ysf {

    color: #dff8ff;

    background: #086789;

    border: 1px solid #0c97c8;
}

.proto-dmr {

    color: #f4eaff;

    background: #593e74;

    border: 1px solid #7c5b9c;
}

.proto-dcs,
.proto-dstar {

    color: #e0ffed;

    background: #225741;

    border: 1px solid #337b5e;
}

.proto-other {

    color: #eef4f7;

    background: #394955;

    border: 1px solid #566b79;
}

.xlx5-unknown {

    color: #667f90;
}


/* Module badge in recent activity */

.xlx5-module-pill {

    display: inline-flex;

    justify-content: center;
    align-items: center;

    min-width: 31px;

    height: 27px;

    padding: 0 8px;

    border:
        1px solid #39647d;

    border-radius: 5px;

    background: #122e3f;

    color: #bfeaff;

    font-weight: 850;
}


/* Active modules */

.xlx5-modules {

    padding-bottom: 11px;
}

.xlx5-module-card {

    margin:
        12px 12px 0;

    border:
        1px solid #29485c;

    border-radius: 9px;

    background: #0e1c26;

    overflow: hidden;
}

.xlx5-module-header {

    display: flex;

    justify-content: space-between;
    align-items: center;

    min-height: 61px;

    padding: 10px 12px;

    border-bottom:
        1px solid #29485c;

    background:
        linear-gradient(
            100deg,
            #19394c,
            #142e3e
        );
}

.xlx5-module-primary {

    border-color: #088fc2;

    box-shadow:
        0 0 0 1px rgba(25,173,227,.1),
        0 8px 20px rgba(0,113,155,.14);
}

.xlx5-module-primary
.xlx5-module-header {

    background:
        linear-gradient(
            100deg,
            #0877a4,
            #075978
        );
}

.xlx5-module-title {

    display: flex;

    align-items: center;
}

.xlx5-module-letter {

    display: inline-flex;

    justify-content: center;
    align-items: center;

    flex: 0 0 auto;

    width: 34px;
    height: 34px;

    margin-right: 10px;

    border-radius: 6px;

    background: #071722;

    color: #55cdff;

    font-weight: 900;
}

.xlx5-module-primary
.xlx5-module-letter {

    color: white;

    background:
        rgba(0,0,0,.25);
}

.xlx5-module-title strong {

    display: block;

    color: #ecf6fb;

    font-size: 13px;
}

.xlx5-module-title div span {

    display: block;

    margin-top: 2px;

    color: #6e93a8;

    font-size: 10px;
}

.xlx5-module-primary
.xlx5-module-title div span {

    color: #b5e8f8;
}

.xlx5-module-total {

    display: inline-flex;

    justify-content: center;
    align-items: center;

    min-width: 29px;
    height: 29px;

    padding: 0 7px;

    border-radius: 30px;

    background: #071722;

    color: #50d0ff;

    font-size: 12px;
    font-weight: 900;
}


/* Connected node rows */

.xlx5-node {

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 12px;

    padding: 11px 12px;

    border-bottom:
        1px solid #1e3747;
}

.xlx5-node:last-child {

    border-bottom: 0;
}

.xlx5-node:hover {

    background:
        rgba(35,83,109,.25);
}

.xlx5-node-main {

    min-width: 0;
}

.xlx5-node-main > strong {

    display: block;

    color: #f0f8fc;

    font-size: 13px;
}

.xlx5-node-meta {

    margin-top: 4px;
}

.xlx5-node-meta span {

    display: block;

    margin-top: 2px;

    color: #66879a;

    font-size: 9px;

    white-space: normal;
}


/* Empty modules subordinate */

.xlx5-module-empty-card {

    opacity: .67;
}

.xlx5-no-nodes {

    padding: 12px;

    color: #59788b;

    text-align: center;

    font-size: 10px;

    font-style: italic;
}


/* Empty activity */

.xlx5-empty {

    padding: 25px !important;

    text-align: center;

    color: #6c8799 !important;
}


/* Responsive */

@media (max-width: 1500px) {

    .xlx5-status-grid {

        grid-template-columns:
            repeat(3,minmax(0,1fr));
    }

}

@media (max-width: 1050px) {

    .xlx5-primary-grid {

        grid-template-columns: 1fr;
    }

}

@media (max-width: 720px) {

    #top::before {

        font-size: 24px;
    }

    .xlx5-status-grid {

        grid-template-columns:
            repeat(2,minmax(0,1fr));
    }

}

@media (max-width: 500px) {

    .xlx5-status-grid {

        grid-template-columns: 1fr;
    }

}

