
.xlx4-shell {
    width: 100%;
}

.xlx4-status {
    display: grid;
    grid-template-columns: repeat(5,minmax(0,1fr));
    gap: 14px;
    margin-bottom: 22px;
}

.xlx4-status-card {
    min-height: 105px;
    padding: 17px 18px;
    border: 1px solid #29475b;
    border-radius: 10px;
    background:
        linear-gradient(145deg,#142736,#0f1d28);
    box-shadow: 0 7px 18px rgba(0,0,0,.18);
}

.xlx4-status-card .xlx4-label {
    display: block;
    margin-bottom: 7px;
    color: #83a3b8;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .7px;
}

.xlx4-status-card strong {
    display: block;
    margin-bottom: 5px;
    color: #f2f7fa;
    font-size: 21px;
    font-weight: 650;
}

.xlx4-status-card span:last-child {
    color: #7894a7;
    font-size: 12px;
}

.xlx4-online {
    color: #46d69a !important;
    font-weight: 700;
}

.xlx4-main-grid {
    display: grid;
    grid-template-columns: minmax(0,3fr) minmax(310px,1fr);
    gap: 22px;
    align-items: start;
}

.xlx4-panel,
.xlx4-sidebar {
    border: 1px solid #29475b;
    border-radius: 11px;
    background:
        linear-gradient(180deg,#122432,#0d1a24);
    box-shadow: 0 8px 22px rgba(0,0,0,.22);
    overflow: hidden;
}

.xlx4-panel-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 17px 19px;
    border-bottom: 1px solid #29475b;
    background: #162b3a;
}

.xlx4-panel-title h2 {
    margin: 1px 0 0;
    color: #edf6fb;
    font-size: 20px;
    font-weight: 600;
}

.xlx4-kicker {
    color: #39bdff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.3px;
}

.xlx4-count {
    padding: 5px 9px;
    border: 1px solid #35566d;
    border-radius: 5px;
    color: #a8c4d6;
    background: #0d1c27;
    font-size: 12px;
}

.xlx4-table-wrap {
    overflow-x: auto;
}

.xlx4-table {
    width: 100%;
    border-collapse: collapse;
}

.xlx4-table th {
    padding: 12px 14px;
    border-bottom: 1px solid #29475b;
    background: #102331;
    color: #8fadc0;
    text-align: left;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .45px;
}

.xlx4-table td {
    padding: 13px 14px;
    border-bottom: 1px solid #1d3444;
    color: #dce8ef;
    font-size: 14px;
}

.xlx4-table tbody tr:nth-child(even) {
    background: rgba(27,54,72,.24);
}

.xlx4-table tbody tr:hover {
    background: rgba(44,101,132,.28);
}

.xlx4-call {
    color: #f3f9fc !important;
    font-weight: 700;
    text-decoration: none !important;
}

.xlx4-call:hover {
    color: #45c3ff !important;
}

.xlx4-module-badge {
    display: inline-block;
    min-width: 29px;
    padding: 4px 8px;
    border: 1px solid #365b72;
    border-radius: 5px;
    background: #142d3c;
    color: #bfe8ff;
    text-align: center;
    font-weight: 800;
}

.xlx4-sidebar {
    padding-bottom: 10px;
}

.xlx4-module-card {
    margin: 12px;
    border: 1px solid #29475b;
    border-radius: 8px;
    overflow: hidden;
    background: #101e29;
}

.xlx4-module-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 13px;
    background: #193448;
    border-bottom: 1px solid #29475b;
}

.xlx4-module-ysf .xlx4-module-head {
    background:
        linear-gradient(100deg,#07648d,#0786b9);
}

.xlx4-module-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    margin-right: 8px;
    border-radius: 5px;
    background: #091821;
    color: #65d4ff;
    font-weight: 800;
}

.xlx4-module-ysf .xlx4-module-letter {
    background: rgba(0,0,0,.23);
    color: white;
}

.xlx4-module-name {
    color: #e3f1f9;
    font-weight: 700;
}

.xlx4-module-count {
    min-width: 27px;
    padding: 4px 7px;
    border-radius: 20px;
    background: #091821;
    color: #57d6ff;
    text-align: center;
    font-weight: 800;
}

.xlx4-node-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid #203849;
}

.xlx4-node-row:last-child {
    border-bottom: 0;
}

.xlx4-node-row strong {
    display: block;
    color: #eef7fc;
    font-size: 13px;
}

.xlx4-node-row div span {
    display: block;
    margin-top: 2px;
    color: #7290a3;
    font-size: 11px;
}

.xlx4-proto {
    display: inline-block;
    min-width: 51px;
    padding: 4px 7px;
    border-radius: 5px;
    text-align: center;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .3px;
}

.proto-ysf {
    background: #075f83;
    border: 1px solid #0c8cbc;
    color: #d8f6ff;
}

.proto-dmr {
    background: #593b74;
    border: 1px solid #78559a;
    color: #f0e5ff;
}

.proto-dcs,
.proto-dstar {
    background: #23543f;
    border: 1px solid #31775a;
    color: #dcffec;
}

.proto-other {
    background: #3b4852;
    border: 1px solid #566773;
    color: #eef3f6;
}

.xlx4-module-empty,
.xlx4-empty {
    padding: 15px;
    color: #6f899a;
    text-align: center;
    font-style: italic;
}

@media (max-width: 1250px) {

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

}

@media (max-width: 950px) {

    .xlx4-main-grid {
        grid-template-columns: 1fr;
    }

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

}

@media (max-width: 600px) {

    .xlx4-status {
        grid-template-columns: 1fr;
    }

}

