/*
 * XLX824 Stage 3
 * Full-width dashboard enhancement
 */

html {
    width: 100%;
    min-width: 100%;
}

body {
    width: 100%;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 50% 0%, #122c40 0%, #09141e 45%, #071019 100%)
        fixed !important;
}

/* =========================================================
   HEADER
   ========================================================= */

#top {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 118px !important;
    padding: 22px 42px 18px !important;
    margin: 0 !important;

    background:
        linear-gradient(100deg,#0c1d2b 0%,#15354b 55%,#0b1b28 100%)
        !important;

    border-bottom: 1px solid #28485d !important;
    box-shadow: 0 4px 18px rgba(0,0,0,.35);
}

#top img {
    display: block;
    width: auto;
    max-width: 520px !important;
    max-height: 68px !important;
    margin: 0 0 6px 0 !important;
}

#top::after {
    content: "AUSTRALIAN MULTIPROTOCOL DIGITAL VOICE REFLECTOR";
    display: block;
    margin-top: 8px;

    color: #55c9ff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.2px;
}

/* =========================================================
   NAVIGATION
   ========================================================= */

#menubar {
    position: relative !important;

    width: 100% !important;
    max-width: none !important;

    height: auto !important;

    padding: 10px 30px !important;
    margin: 0 !important;

    background: rgba(8,19,29,.97) !important;
    border-bottom: 1px solid #21394a !important;

    box-shadow: 0 3px 12px rgba(0,0,0,.22);
}

#menu {
    width: 100%;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
}

#menu table {
    border-collapse: separate;
    border-spacing: 7px 0;
}

.menulink,
.menulinkactive {

    display: inline-block;

    padding: 10px 17px !important;
    margin: 0 !important;

    border-radius: 7px !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    transition:
        background .15s ease,
        border-color .15s ease,
        color .15s ease;
}

.menulink {
    background: #132331 !important;
    border: 1px solid #294456 !important;
    color: #c9d9e5 !important;
}

.menulink:hover {
    background: #1b3446 !important;
    border-color: #3c6a84 !important;
    color: white !important;
}

.menulinkactive {
    background: linear-gradient(180deg,#35baff,#1599df) !important;
    border: 1px solid #42c2ff !important;
    color: #06131c !important;

    box-shadow:
        0 0 0 1px rgba(255,255,255,.08) inset,
        0 3px 10px rgba(0,155,230,.22);
}

/* =========================================================
   MAIN DASHBOARD
   ========================================================= */

#content {

    position: relative !important;

    top: auto !important;
    left: auto !important;

    width: calc(100% - 48px) !important;
    max-width: 1900px !important;

    margin: 0 auto !important;

    padding:
        28px 0
        70px !important;
}

/*
 * Legacy users.php uses a table as its primary layout.
 * Force it to use the available browser width.
 */

#content > table {

    width: 100% !important;

    table-layout: auto !important;

    border-collapse: separate !important;
    border-spacing: 26px 0 !important;
}

#content > table > tbody > tr > td:first-child {

    width: 72% !important;

    vertical-align: top !important;
}

#content > table > tbody > tr > td:last-child {

    width: 28% !important;

    min-width: 310px !important;

    padding-left: 0 !important;

    vertical-align: top !important;
}

/* =========================================================
   DATA TABLES
   ========================================================= */

.listingtable {

    width: 100% !important;

    margin: 0 0 26px !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    background:
        linear-gradient(180deg,#132431,#101e29)
        !important;

    border: 1px solid #294456 !important;
    border-radius: 9px !important;

    overflow: hidden;

    box-shadow:
        0 8px 22px rgba(0,0,0,.22);

    color: #e6eff5 !important;
}

.listingtable th {

    height: 45px !important;

    padding: 10px 12px !important;

    background:
        linear-gradient(180deg,#1d3a4e,#183043)
        !important;

    background-image: none !important;

    color: #bad3e3 !important;

    border-bottom: 1px solid #315168 !important;

    font-size: 12px !important;
    font-weight: 700 !important;

    letter-spacing: .45px;

    text-transform: uppercase;
}

.listingtable td {

    height: 43px !important;

    padding: 9px 12px !important;

    border-bottom: 1px solid #203747 !important;

    color: #e5edf3 !important;

    font-size: 14px !important;
}

/*
 * Override old hard-coded bgcolor values.
 */

.listingtable tr[bgcolor] td {
    background: #122330 !important;
}

.listingtable tr[bgcolor]:nth-child(even) td {
    background: #152938 !important;
}

.listingtable tr:hover td {
    background: #1c3b50 !important;
}

/* =========================================================
   CALLSIGNS
   ========================================================= */

.listingtable a.pl {

    color: #eaf5fc !important;

    font-weight: 700 !important;

    text-decoration: none !important;
}

.listingtable a.pl:hover {

    color: #58caff !important;

    text-decoration: underline !important;
}

/* =========================================================
   FILTER AREA
   ========================================================= */

.FilterField {

    width: 210px !important;

    height: 38px !important;

    padding: 7px 11px !important;

    background: #08141d !important;

    color: #ffffff !important;

    border:
        1px solid #315268 !important;

    border-radius: 6px !important;

    font-size: 14px !important;
}

.FilterField:focus {

    outline: none;

    border-color: #34baff !important;

    box-shadow:
        0 0 0 2px rgba(52,186,255,.12);
}

.FilterSubmit {

    width: auto !important;

    height: 38px !important;

    padding: 7px 17px !important;

    background:
        linear-gradient(180deg,#3cc1ff,#159fe6)
        !important;

    border: none !important;

    border-radius: 6px !important;

    color: #05131c !important;

    font-size: 13px !important;

    font-weight: 800 !important;

    cursor: pointer;
}

/* =========================================================
   ACTIVE MODULE PANEL
   ========================================================= */

#content > table > tbody > tr > td:last-child > .listingtable {

    min-width: 310px !important;
}

/*
 * Module headers become visually distinct status cards.
 */

#content > table > tbody > tr > td:last-child .listingtable th {

    min-width: 135px;

    padding: 12px 16px !important;

    background:
        linear-gradient(180deg,#1a4055,#153649)
        !important;

    color: #d9edf8 !important;

    font-size: 12px !important;
}

#content > table > tbody > tr > td:last-child .listingtable td {

    text-align: center !important;

    padding: 9px 12px !important;
}

/*
 * Y is currently the final configured active module.
 * Highlight YSF visually.
 */

#content > table > tbody > tr > td:last-child .listingtable th:last-child {

    background:
        linear-gradient(180deg,#0872a4,#07577d)
        !important;

    color: white !important;

    border-left:
        1px solid #1689bb !important;
}

#content > table > tbody > tr > td:last-child .listingtable th:last-child::before {

    content: "● ";

    color: #57e6a5;
}

/* =========================================================
   FLAGS / ICONS
   ========================================================= */

.listingtable img {

    vertical-align: middle;
}

.listingtable img[alt="Listening on"] {

    opacity: .9;
}

/* =========================================================
   FOOTER
   ========================================================= */

#content > div {

    color: #7892a5 !important;
}

#content > div a {

    color: #8fb1c7 !important;

    text-decoration: none !important;
}

#content > div a:hover {

    color: #50c7ff !important;
}

/* =========================================================
   DESKTOP LARGE SCREEN
   ========================================================= */

@media (min-width: 1500px) {

    #content {

        width: calc(100% - 80px) !important;
    }

    #content > table > tbody > tr > td:first-child {

        width: 75% !important;
    }

    #content > table > tbody > tr > td:last-child {

        width: 25% !important;
    }

    .listingtable td {

        font-size: 15px !important;
    }
}

/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 1050px) {

    #content {

        width: calc(100% - 24px) !important;
    }

    #content > table {

        border-spacing: 0 !important;
    }

    #content > table > tbody > tr {

        display: block !important;
    }

    #content > table > tbody > tr > td {

        display: block !important;

        width: 100% !important;

        min-width: 0 !important;

        padding: 0 !important;
    }

    #content > table > tbody > tr > td:last-child {

        margin-top: 22px !important;
    }
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 700px) {

    #top {

        padding: 16px !important;
    }

    #top img {

        max-width: 300px !important;
    }

    #menubar {

        padding: 8px !important;

        overflow-x: auto;
    }

    #menu table {

        white-space: nowrap;
    }

    .menulink,
    .menulinkactive {

        padding: 8px 10px !important;

        font-size: 12px !important;
    }

    #content {

        width: calc(100% - 12px) !important;

        overflow-x: auto;
    }

    .listingtable {

        min-width: 650px;
    }

    #content > table > tbody > tr > td:last-child .listingtable {

        min-width: 300px !important;
    }
}
