/* Retained operational components. Device, OS and app presentation use their named modules. */
:root{
    --bg: #030712;
    --screen: #061225;
    --screen-secondary: #091a34;

    --navy: #071a35;
    --navy-light: #102d59;
    --navy-glass: rgba(18, 43, 78, 0.62);

    --card: rgba(10, 31, 61, 0.78);
    --card-light: rgba(28, 58, 101, 0.76);

    --border: rgba(160, 190, 230, 0.18);
    --border-strong: rgba(170, 205, 255, 0.38);

    --text: #ffffff;
    --text-soft: #d4deed;
    --text-muted: #8fa0b8;

    --accent: #3478f6;
    --accent-light: #6ba6ff;

    --tk-red: #c8102e;
    --tk-red-light: #e31837;

    --green: #32d775;
    --yellow: #ffd34e;
    --red: #ff453a;

    --shadow: 0 35px 100px rgba(0, 0, 0, 0.72);
    --card-shadow: 0 18px 45px rgba(0, 0, 0, 0.25);

    --radius-large: 26px;
    --radius: 20px;
    --radius-small: 13px;
}

*{
    box-sizing: border-box;
}

button,
input{
    font: inherit;
}

button{
    color: inherit;
}

button:focus-visible{
    outline: 2px solid rgba(110, 170, 255, 0.9);
    outline-offset: 3px;
}

#connection-text{
    display: none;
}

.hidden{
    display: none !important;
}

.calendar-preview{
    margin-top: 10px;

    display: grid;

    gap: 7px;
}

.calendar-preview > div{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    font-size: 10px;
}

.calendar-preview span{
    overflow: hidden;

    text-overflow: ellipsis;
    white-space: nowrap;
}

.calendar-preview strong{
    color:
        rgba(255, 255, 255, 0.68);

    font-size: 9px;
    font-weight: 500;
}

.flight-symbol{
    background:
        linear-gradient(
            145deg,
            #e31937,
            #a80020
        );
}

.atis-symbol{
    background:
        radial-gradient(
            circle at center,
            #405984,
            #152947
        );

    font-size: 31px;
}

.vamsys-symbol{
    background:
        linear-gradient(
            145deg,
            #d91334,
            #93001a
        );

    font-size: 26px;
}

.profile-symbol{
    background:
        linear-gradient(
            145deg,
            #2d4c80,
            #14294b
        );

    font-size: 27px;
}

.document-symbol{
    background:
        linear-gradient(
            145deg,
            #42608f,
            #182c4c
        );

    font-size: 28px;
}

.calendar-symbol{
    color: #df1836;

    background:
        linear-gradient(
            180deg,
            #ffffff,
            #e8edf4
        );

    font-size: 23px;
}

.tkops-symbol{
    color: white;

    background:
        linear-gradient(
            145deg,
            #c8102e,
            #850018
        );

    font-size: 19px;
    letter-spacing: -1px;
}

.events-symbol{
    color: #ffd34e;

    background:
        linear-gradient(
            145deg,
            #345386,
            #142a4c
        );

    font-size: 31px;
}

.community-symbol{
    background:
        linear-gradient(
            145deg,
            #42608c,
            #1a304e
        );

    font-size: 25px;
}

.settings-symbol{
    background:
        linear-gradient(
            145deg,
            #657181,
            #2d3745
        );

    font-size: 27px;
}

.flight-hero{
    padding: 24px 28px;

    display: grid;

    grid-template-columns:
        200px
        1fr;

    gap: 30px;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius-large);

    background:
        linear-gradient(
            125deg,
            rgba(25, 54, 100, 0.9),
            rgba(8, 20, 41, 0.88)
        );

    box-shadow:
        var(--card-shadow);
}

.flight-number-area{
    display: flex;
    flex-direction: column;

    justify-content: center;

    padding-right: 25px;

    border-right:
        1px solid var(--border);
}

.flight-number-area strong{
    margin-top: 5px;

    font-size: 35px;
    font-weight: 500;
}

.flight-number-area > span:last-child{
    margin-top: 5px;

    color: var(--text-soft);

    font-size: 12px;
}

.route-display{
    display: grid;

    grid-template-columns:
        1fr
        1.5fr
        1fr;

    align-items: center;

    text-align: center;
}

.route-display > div:not(.route-arrow){
    display: flex;
    flex-direction: column;

    gap: 5px;
}

.route-display span{
    color: var(--text-muted);

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

    letter-spacing: 1.5px;
}

.route-display strong{
    font-size: 38px;
    font-weight: 400;
}

.route-display small{
    color: var(--text-soft);

    font-size: 10px;
}

.route-arrow{
    display: flex;
    align-items: center;

    gap: 10px;

    padding: 0 18px;
}

.route-arrow span{
    color: white;

    font-size: 20px;

    transform: rotate(90deg);
}

.route-line{
    flex: 1;

    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #6686b6,
            transparent
        );
}

.info-grid{
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 16px;

    margin-top: 18px;
}

.info-card,
.route-card,
.alternate-card{
    border:
        1px solid var(--border);

    border-radius:
        var(--radius);

    background:
        var(--card);

    box-shadow:
        var(--card-shadow);

    backdrop-filter:
        blur(16px);
}

.info-card{
    padding: 19px;
}

.card-title{
    display: block;

    margin-bottom: 14px;

    color: #8298b8;

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

    letter-spacing: 1.8px;
}

.data-row{
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 10px;

    padding: 9px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.05);
}

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

.data-row span{
    color: var(--text-muted);

    font-size: 11px;
}

.data-row strong{
    color: #eef4ff;

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

.route-card{
    margin-top: 17px;

    padding: 20px;
}

.route-card p{
    margin: 0;

    color: #d4dfef;

    font-family:
        "Courier New",
        monospace;

    font-size: 12px;

    line-height: 1.7;

    overflow-wrap: anywhere;
}

.alternate-card{
    margin-top: 17px;

    padding: 20px;

    display: flex;
    align-items: center;

    gap: 15px;
}

.alternate-card .card-title{
    margin:
        0
        auto
        0
        0;
}

.alternate-card strong{
    font-size: 19px;
}

.alternate-card > span:last-child{
    color: var(--text-soft);

    font-size: 11px;
}

.selector-button{
    padding: 10px 18px;

    border:
        1px solid var(--border);

    border-radius: 12px;

    color: var(--text-soft);

    background:
        rgba(255, 255, 255, 0.04);

    cursor: pointer;

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

    letter-spacing: 1px;
}

.selector-button.active{
    color: white;

    border-color:
        rgba(80, 145, 245, 0.55);

    background:
        rgba(55, 120, 220, 0.25);
}

.atis-list{
    display: grid;

    gap: 15px;
}

.atis-item{
    padding: 20px;

    border:
        1px solid var(--border);

    border-radius:
        var(--radius);

    background:
        var(--card);
}

.atis-item-header{
    display: flex;
    justify-content: space-between;

    gap: 15px;

    margin-bottom: 12px;
}

.atis-item-header strong{
    font-size: 15px;
}

.atis-item-header span{
    color: var(--green);

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

.atis-item p{
    margin: 0;

    color: #d3deed;

    font-family:
        "Courier New",
        monospace;

    font-size: 12px;

    line-height: 1.65;
}

.large-card{
    margin-bottom: 18px;
}

.vamsys-status{
    display: flex;
    align-items: center;

    gap: 10px;

    margin-bottom: 12px;
}

.vamsys-status strong{
    font-size: 15px;
}

#vamsys-status-description{
    margin: 0 0 15px;

    color: var(--text-soft);

    font-size: 12px;
}

.booking-item{
    display: grid;

    grid-template-columns:
        100px
        1fr
        auto;

    gap: 18px;

    align-items: center;

    padding: 13px 0;

    border-bottom:
        1px solid rgba(255, 255, 255, 0.06);
}

.booking-item:last-child{
    border-bottom: 0;
}

.booking-flight{
    font-size: 16px;
    font-weight: 700;
}

.booking-route{
    color: var(--text-soft);

    font-size: 12px;
}

.booking-status{
    color: var(--green);

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

.placeholder-content{
    height:
        calc(100% - 80px);

    display: flex;
    flex-direction: column;

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

    padding-bottom: 50px;
}

.placeholder-content img{
    width: min(300px, 50%);

    margin-bottom: 28px;

    opacity: 0.16;
}

.placeholder-content h3{
    margin: 0;

    font-size: 27px;
    font-weight: 400;
}

.placeholder-content p{
    margin: 10px 0 0;

    color: var(--text-muted);

    font-size: 13px;
}

.message{
    padding: 13px 16px;

    margin-bottom: 17px;

    border-radius: 12px;

    font-size: 12px;
}

.error-message{
    color: #ffd9dc;

    border:
        1px solid rgba(255, 91, 101, 0.3);

    background:
        rgba(255, 91, 101, 0.12);
}

.empty-state{
    padding: 30px;

    color: var(--text-muted);

    text-align: center;

    font-size: 12px;
}

.loading{
    opacity: 0.55;

    pointer-events: none;
}

@keyframes sync-pulse {

    from {
        opacity: 0.45;
    }

    to {
        opacity: 1;
    }
}

@keyframes lock-fade-in {

    from {
        opacity: 0;
        transform: scale(1.015);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes pin-fade-in {

    from {
        opacity: 0;
        transform: scale(1.015);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes home-fade-in {

    from {
        opacity: 0;
        transform: translateY(7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 1100px){.info-grid{
        grid-template-columns:
            repeat(2, 1fr);
    }

.flight-hero{
        grid-template-columns:
            160px
            1fr;
    }}

@media (max-width: 760px){.flight-hero{
        grid-template-columns:
            1fr;

        gap: 20px;
    }

.flight-number-area{
        padding:
            0
            0
            15px;

        border-right: 0;

        border-bottom:
            1px solid var(--border);

        text-align: center;
    }

.route-display{
        grid-template-columns:
            1fr
            0.9fr
            1fr;
    }

.route-display strong{
        font-size: 27px;
    }

.route-arrow{
        padding: 0 4px;
    }

.info-grid{
        grid-template-columns:
            1fr;
    }}

.calendar-preview > div{
    font-size: 13px !important;
}

.calendar-preview strong{
    font-size: 12px !important;
}

.vamsys-symbol,
.profile-symbol,
.document-symbol,
.settings-symbol{
    font-size: 35px !important;
}

.tkops-symbol{
    font-size: 26px !important;
}

.calendar-symbol{
    font-size: 30px !important;
}

#tkops-edesk .tkops-heading{ margin-bottom: 10px; }

#tkops-edesk .tkops-tabs{
    display: flex; align-items: center; gap: 6px; padding: 6px;
    border: 1px solid rgba(255,255,255,.08); border-radius: 14px;
    background: rgba(2,12,29,.55); box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}

#tkops-edesk .tkops-tabs button{
    min-height: 36px; padding: 0 16px; border: 0; border-radius: 10px;
    color: rgba(220,231,246,.68); background: transparent; cursor: pointer;
    font-size: 11px; font-weight: 750; letter-spacing: .2px; transition: .18s ease;
}

#tkops-edesk .tkops-tabs button:hover{ color: #fff; background: rgba(255,255,255,.06); }

#tkops-edesk .tkops-tabs button.active{
    color: #fff; background: linear-gradient(145deg,#d31635,#a70c27);
    box-shadow: 0 7px 20px rgba(200,16,46,.22), inset 0 1px 0 rgba(255,255,255,.16);
}

#tkops-edesk .tkops-desk-content{ margin-top: 10px; min-height: 0; }

.edesk-shell{
    height: 510px; display: grid; grid-template-columns: 330px minmax(0,1fr); overflow: hidden;
    border: 1px solid rgba(255,255,255,.09); border-radius: 17px;
    background: linear-gradient(145deg,rgba(8,28,56,.94),rgba(3,14,32,.96));
    box-shadow: 0 18px 48px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.04);
}

.edesk-list{ min-width: 0; border-right: 1px solid rgba(255,255,255,.08); background: rgba(4,17,38,.66); overflow: auto; }

.edesk-list-head{ position: sticky; top: 0; z-index: 2; padding: 17px 18px 12px; background: rgba(5,20,44,.94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(255,255,255,.07); }

.edesk-list-head small{ display:block; margin-bottom:4px; color:#e31837; font-size:9px; font-weight:850; letter-spacing:1.2px; }

.edesk-list-head strong{ color:#fff; font-size:18px; }

.edesk-item{ width:100%; padding:14px 17px; display:block; text-align:left; border:0; border-bottom:1px solid rgba(255,255,255,.06); color:#fff; background:transparent; cursor:pointer; }

.edesk-item:hover,.edesk-item.active{ background: linear-gradient(90deg,rgba(200,16,46,.18),rgba(45,103,177,.10)); }

.edesk-item.active{ box-shadow: inset 3px 0 0 #e31837; }

.edesk-item-top{ display:flex; justify-content:space-between; gap:10px; align-items:center; }

.edesk-item-top strong{ font-size:11px; font-weight:800; }

.edesk-item-top span{ color:rgba(183,201,226,.56); font-size:9px; white-space:nowrap; }

.edesk-item h4{ margin:6px 0 4px; font-size:12px; font-weight:750; }

.edesk-item p{ margin:0; color:rgba(190,207,230,.62); font-size:9.5px; line-height:1.45; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

.edesk-unread-dot{ display:inline-block; width:7px; height:7px; margin-right:7px; border-radius:50%; background:#e31837; box-shadow:0 0 9px rgba(227,24,55,.55); }

.edesk-detail{ min-width:0; overflow:auto; padding:28px 30px 34px; background: radial-gradient(circle at 90% 0,rgba(27,78,139,.20),transparent 36%); }

.edesk-detail-kicker{ color:#e31837; font-size:9px; font-weight:850; letter-spacing:1.4px; }

.edesk-detail h3{ margin:7px 0 7px; color:#fff; font-size:25px; font-weight:650; }

.edesk-meta{ display:flex; gap:14px; padding-bottom:17px; margin-bottom:19px; border-bottom:1px solid rgba(255,255,255,.08); color:rgba(188,205,228,.62); font-size:9px; }

.edesk-detail p{ color:rgba(220,231,245,.78); font-size:11px; line-height:1.7; }

.edesk-info-card{ margin-top:16px; padding:17px; border:1px solid rgba(255,255,255,.08); border-radius:14px; background:rgba(255,255,255,.035); }

.edesk-info-card strong{ color:#fff; font-size:12px; }

.edesk-info-card span{ display:block; margin-top:5px; color:rgba(190,207,230,.64); font-size:10px; line-height:1.5; }

.edesk-action{ margin-top:18px; min-height:38px; padding:0 16px; border:1px solid rgba(227,24,55,.35); border-radius:10px; color:#fff; background:linear-gradient(145deg,#d31635,#a70c27); cursor:pointer; font-size:10px; font-weight:800; }

.edesk-empty{ height:100%; display:grid; place-items:center; padding:35px; text-align:center; color:rgba(190,207,230,.6); }

.edesk-empty strong{ display:block; margin-bottom:7px; color:#fff; font-size:18px; }

.edesk-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }

.edesk-grid .edesk-info-card{ margin-top:0; }

@media (max-width:900px){.edesk-shell{grid-template-columns:280px minmax(0,1fr)}

#tkops-edesk .tkops-tabs button{padding:0 10px}}

#tkops-edesk .preflight-center{
    width: 100%;
    min-height: 100%;
    padding: 4px 2px 24px;
    color: #fff;
}

#tkops-edesk .preflight-header{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 14px;
    padding: 18px 20px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 16px;
    background:
        radial-gradient(circle at 90% 0, rgba(200,16,46,.18), transparent 34%),
        linear-gradient(145deg, rgba(8,28,56,.96), rgba(3,14,32,.98));
}

#tkops-edesk .preflight-header h2{
    margin: 4px 0 4px;
    font-size: 26px;
    font-weight: 700;
}

#tkops-edesk .preflight-header p,
#tkops-edesk .preflight-hint{
    margin: 0;
    color: rgba(210,224,243,.62);
    font-size: 10px;
    line-height: 1.5;
}

#tkops-edesk .preflight-kicker{
    color: #e31837;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.4px;
}

#tkops-edesk .preflight-status{
    flex: 0 0 auto;
    padding: 7px 10px;
    border: 1px solid rgba(50,215,117,.28);
    border-radius: 999px;
    color: #7fe6a7;
    background: rgba(50,215,117,.08);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .6px;
}

#tkops-edesk .preflight-status.completed{
    border-color: rgba(50,215,117,.48);
    background: rgba(50,215,117,.15);
}

#tkops-edesk .preflight-layout-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

#tkops-edesk .preflight-card{
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.085);
    border-radius: 15px;
    background:
        linear-gradient(145deg, rgba(9,31,61,.88), rgba(4,17,38,.92));
    box-shadow:
        0 12px 28px rgba(0,0,0,.16),
        inset 0 1px 0 rgba(255,255,255,.035);
}

#tkops-edesk .preflight-card-title{
    margin: 0 0 13px;
    color: #e31837;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: 1.2px;
}

#tkops-edesk .preflight-route-hero{
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 14px;
    margin-bottom: 15px;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(255,255,255,.035);
    text-align: center;
}

#tkops-edesk .preflight-route-hero strong{
    font-size: 24px;
    letter-spacing: 1px;
}

#tkops-edesk .preflight-route-hero span{
    color: #e31837;
    font-size: 18px;
}

#tkops-edesk .preflight-field-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

#tkops-edesk .preflight-field{
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
}

#tkops-edesk .preflight-field-label,
#tkops-edesk .preflight-field-sub{
    display: block;
    color: rgba(178,199,226,.52);
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .5px;
}

#tkops-edesk .preflight-field-value{
    display: block;
    margin-top: 4px;
    overflow: hidden;
    color: #fff;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#tkops-edesk .preflight-field-sub{
    margin-top: 4px;
    letter-spacing: 0;
}

#tkops-edesk .preflight-route-box{
    margin-top: 10px;
    padding: 11px 12px;
    border-left: 3px solid #e31837;
    border-radius: 9px;
    background: rgba(200,16,46,.07);
}

#tkops-edesk .preflight-route-box span{
    display: block;
    color: rgba(178,199,226,.52);
    font-size: 8px;
    font-weight: 800;
}

#tkops-edesk .preflight-route-box strong{
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 10px;
    line-height: 1.45;
    word-break: break-word;
}

#tkops-edesk .preflight-hint{
    margin-top: 10px;
}

#tkops-edesk .preflight-airport-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

#tkops-edesk .preflight-airport,
#tkops-edesk .preflight-weather-station{
    padding: 13px 11px;
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 11px;
    background: rgba(255,255,255,.025);
}

#tkops-edesk .preflight-airport small,
#tkops-edesk .preflight-weather-station small{
    display: block;
    color: #e31837;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .7px;
}

#tkops-edesk .preflight-airport strong,
#tkops-edesk .preflight-weather-station strong{
    display: block;
    margin-top: 5px;
    font-size: 17px;
}

#tkops-edesk .preflight-airport span,
#tkops-edesk .preflight-weather-station span{
    display: block;
    margin-top: 4px;
    color: rgba(188,205,228,.58);
    font-size: 8.5px;
    line-height: 1.4;
}

#tkops-edesk .preflight-weather-grid{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

#tkops-edesk .preflight-secondary-action{
    width: 100%;
    min-height: 34px;
    margin-top: 10px;
    border: 1px solid rgba(110,170,255,.25);
    border-radius: 9px;
    color: #dce9ff;
    background: rgba(52,120,246,.10);
    cursor: pointer;
    font-size: 9px;
    font-weight: 850;
}

#tkops-edesk .preflight-checklist{
    display: grid;
    gap: 8px;
}

#tkops-edesk .preflight-check-row{
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.065);
    border-radius: 10px;
    background: rgba(255,255,255,.025);
    cursor: pointer;
}

#tkops-edesk .preflight-check-row input{
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

#tkops-edesk .preflight-checkmark{
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 7px;
    color: transparent;
    background: rgba(0,0,0,.12);
    font-size: 12px;
    font-weight: 900;
}

#tkops-edesk .preflight-check-row input:checked + .preflight-checkmark{
    border-color: rgba(50,215,117,.45);
    color: #fff;
    background: rgba(50,215,117,.72);
}

#tkops-edesk .preflight-check-row strong{
    font-size: 10px;
    font-weight: 700;
}

#tkops-edesk .preflight-complete{
    width: 100%;
    min-height: 46px;
    margin-top: 12px;
    border: 0;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(145deg, #d31635, #a70c27);
    box-shadow: 0 10px 28px rgba(200,16,46,.24);
    cursor: pointer;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .8px;
}

#tkops-edesk .preflight-complete:disabled{
    cursor: not-allowed;
    filter: grayscale(.35);
    opacity: .42;
    box-shadow: none;
}

#tkops-edesk .preflight-complete.completed{
    background: linear-gradient(145deg, #248d50, #176a3b);
    opacity: 1;
}

#tkops-edesk .preflight-no-flight{
    display: grid;
    gap: 6px;
    min-height: 260px;
    place-content: center;
    padding: 30px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    color: rgba(195,211,232,.65);
    background: rgba(4,17,38,.66);
    text-align: center;
}

#tkops-edesk .preflight-no-flight strong{
    color: #fff;
    font-size: 18px;
}

@media (max-width: 980px){#tkops-edesk .preflight-layout-grid{
        grid-template-columns: 1fr;
    }}

#vatsim-app{
    color: #f7fbff;
    background:
        radial-gradient(circle at 76% 16%, rgba(61, 112, 205, .18), transparent 30%),
        radial-gradient(circle at 22% 84%, rgba(15, 76, 134, .15), transparent 34%),
        linear-gradient(145deg, #08162c 0%, #061225 48%, #030914 100%);
}

#vatsim-app.active{
    display: block;
}

#vatsim-app .vatsim-intro{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin-bottom: 22px;
    padding: 19px 21px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    background:
        linear-gradient(135deg, rgba(28, 67, 126, .54), rgba(10, 31, 63, .48));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 16px 34px rgba(0,0,0,.14);
}

#vatsim-app .vatsim-intro > div:first-child{
    display: grid;
    gap: 4px;
}

#vatsim-app .vatsim-kicker{
    color: rgba(161, 193, 235, .68);
    font-size: 9px;
    font-weight: 850;
    letter-spacing: 1.5px;
}

#vatsim-app .vatsim-intro strong{
    font-size: 18px;
    font-weight: 700;
}

#vatsim-app .vatsim-intro small{
    color: rgba(210, 225, 244, .72);
    font-size: 12px;
    line-height: 1.45;
}

#vatsim-app .vatsim-live-badge{
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 31px;
    padding: 0 12px;
    border: 1px solid rgba(76, 225, 143, .20);
    border-radius: 999px;
    color: #9bf2bd;
    background: rgba(36, 156, 91, .12);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
}

#vatsim-app .vatsim-live-badge span{
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #36d77b;
    box-shadow: 0 0 12px rgba(54, 215, 123, .78);
}

#vatsim-app .vatsim-selector{
    width: fit-content;
    margin-bottom: 22px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}

#vatsim-app .selector-button{
    min-height: 35px;
    padding: 0 17px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 850;
}

#vatsim-app .selector-button.active{
    color: #fff;
    background: linear-gradient(145deg, #2256a4, #183e79);
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.10),
        0 7px 18px rgba(0,0,0,.18);
}

#vatsim-app .atis-list{
    display: grid;
    gap: 14px;
}

#vatsim-app .atis-item{
    padding: 20px 22px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 18px;
    background:
        linear-gradient(145deg, rgba(24, 54, 98, .50), rgba(7, 25, 52, .48));
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.06),
        0 14px 30px rgba(0,0,0,.13);
}

#vatsim-app .atis-item-header strong{
    font-size: 17px;
}

#vatsim-app .atis-item-header span{
    font-size: 11px;
}

#vatsim-app .atis-item p{
    color: #e2ebf8;
    font-size: 14px;
    line-height: 1.7;
}

#vatsim-app .empty-state{
    min-height: 180px;
    display: grid;
    place-items: center;
    color: rgba(205, 220, 240, .68);
    font-size: 13px;
    text-align: center;
}

@media (max-width: 900px){#vatsim-app .vatsim-intro{
        align-items: flex-start;
        flex-direction: column;
    }}

:root{
  --tk-premium-surface: rgba(23, 42, 76, .64);
  --tk-premium-surface-strong: rgba(23, 46, 84, .82);
  --tk-premium-line: rgba(167, 199, 245, .19);
  --tk-premium-shadow: 0 16px 44px rgba(0, 3, 14, .28);
}

.tk-calendar-app{background:linear-gradient(150deg,#061124,#0b1c38 55%,#06101e);color:#f7faff}

.tk-cal-shell{position:absolute;top:105px;bottom:18px;left:30px;right:30px;overflow:auto;padding:8px 4px 24px}

.tk-cal-toolbar,.tk-cal-filters,.tk-cal-nav,.tk-cal-views{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

.tk-cal-toolbar{justify-content:space-between;margin-bottom:15px}

.tk-cal-nav strong{margin-left:12px;font-size:21px;text-transform:capitalize}

.tk-cal-toolbar button,.tk-cal-filters select,.tk-cal-filters input{border:1px solid #355078;border-radius:10px;background:#12294a;color:white;padding:10px 14px;cursor:pointer}

.tk-cal-views button.selected{background:#c8102e;border-color:#ef3850}

.tk-cal-filters{margin-bottom:18px}

.tk-cal-filters input{flex:1;min-width:160px;cursor:text}

.tk-cal-content{min-width:0}

.tk-cal-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #294363;border-radius:14px;overflow:hidden}

.tk-cal-weekday{background:#15345b;text-align:center;padding:12px 4px;font-weight:700;border:1px solid #294363}

.tk-cal-day{min-height:102px;padding:6px;border:1px solid #263b5a;background:#0b1d37;min-width:0;overflow:hidden}

.tk-cal-day.other-month{opacity:.42}

.tk-cal-day.today{background:#153153}

.tk-cal-day-number{background:transparent;border:0;color:white;font-weight:700;font-size:14px;cursor:pointer;padding:5px 8px}

.tk-cal-day.today .tk-cal-day-number{background:#d10e2c;border-radius:50%}

.tk-cal-event{display:block;width:100%;text-align:left;color:white;border:0;border-radius:6px;padding:5px 7px;margin:3px 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab}

.tk-cal-event:hover{filter:brightness(1.22);transform:translateY(-1px)}

.tk-cal-event.color-red{background:#b90d2c}

.tk-cal-event.color-blue{background:#205cc4}

.tk-cal-event.color-green{background:#167c63}

.tk-cal-event.color-purple{background:#7043a8}

.tk-cal-event.color-orange{background:#ad5b16}

.tk-cal-timetable{display:grid;grid-template-columns:70px repeat(var(--cal-cols),minmax(0,1fr));min-width:540px}

.tk-cal-hour{padding:12px 4px;color:#b6cbe7;background:#112846;border:1px solid #294363;font-size:12px}

.tk-cal-hour-cell{min-height:58px;border:1px solid #294363;padding:3px;background:#0b1d37;min-width:0}

.tk-cal-list{display:grid;gap:8px}

.tk-cal-list-row{display:grid;grid-template-columns:190px 1fr 110px;align-items:center;gap:12px;border:1px solid #294363;border-radius:12px;padding:9px 15px;background:#102743}

.tk-cal-list-date,.tk-cal-list-category{color:#c3d5ee}

.tk-cal-empty{color:#a9bdd8;padding:20px}

.tk-cal-dialog{width:min(560px,calc(100vw - 32px));max-height:88vh;overflow:auto;background:#0d2240;color:white;border:1px solid #55709a;border-radius:18px;padding:24px;box-shadow:0 25px 90px #000a}

.tk-cal-dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}

.tk-cal-form{display:grid;gap:14px}

.tk-cal-form h3{margin:0 0 5px}

.tk-cal-form label{display:grid;gap:6px;font-size:13px;color:#d7e4f6}

.tk-cal-form input,.tk-cal-form select,.tk-cal-form textarea{width:100%;border:1px solid #45628b;border-radius:9px;background:#132f54;color:white;padding:10px;font:inherit;color-scheme:dark}

.tk-cal-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.tk-cal-actions{display:flex;gap:9px}

.tk-cal-actions span{flex:1}

.tk-cal-actions button{border:1px solid #4a6282;border-radius:9px;background:#254365;color:white;padding:10px 14px;cursor:pointer}

.tk-cal-actions .tk-cal-save{background:#c8102e}

.tk-cal-actions .tk-cal-danger{background:#782339}

.tk-cal-actions .tk-cal-danger[hidden]{display:none}

#cal-error{color:#ff9eaa;margin:0}

@media (max-width:850px){.tk-cal-shell{left:12px;right:12px;top:95px}

.tk-cal-day{min-height:72px;padding:3px}

.tk-cal-event{font-size:10px;padding:3px}

.tk-cal-toolbar button{padding:7px}

.tk-cal-nav strong{font-size:16px}

.tk-cal-list-row{grid-template-columns:100px 1fr}

.tk-cal-list-category{display:none}

.tk-cal-form-grid{grid-template-columns:1fr}}

.tkops-manual-panel{margin:18px 0 10px;padding:16px;border:1px solid rgba(116,161,231,.27);border-radius:14px;background:rgba(15,32,62,.72);color:#f3f7ff}

.tkops-manual-panel h3{margin:0 0 7px;font-size:15px}

.tkops-manual-help{font-size:12px;line-height:1.5;color:#b7c7e1;margin:0 0 14px}

.tkops-manual-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}

.tkops-manual-field{display:flex;flex-direction:column;gap:6px;font-size:11px;color:#b7c7e1}

.tkops-manual-input{width:100%;min-width:0;padding:10px 12px;border-radius:9px;border:1px solid #455775;background:#26334e;color:#fff;font-size:15px}

.tkops-manual-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}

.tkops-manual-actions button{padding:10px 13px;border:0;border-radius:9px;font-size:12px;font-weight:700;cursor:pointer}

.tkops-manual-save{background:#344967;color:#fff}

.tkops-manual-submit{background:#1769c7;color:#fff}

.tkops-manual-actions button:disabled{opacity:.5;cursor:wait}

.tkops-manual-message{font-size:12px;color:#b6c8e4;margin:10px 0 0}

@media (max-width:520px){.tkops-manual-grid{grid-template-columns:1fr}}

#tkops-flight-modal .tkops-modal{
    max-height: min(86vh, 900px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#tkops-flight-modal .tkops-modal-body{
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #425d89 #111d35;
}

#tkops-flight-modal .tkops-modal-body::-webkit-scrollbar{ width: 7px; }

#tkops-flight-modal .tkops-modal-body::-webkit-scrollbar-track{ background: #111d35; }

#tkops-flight-modal .tkops-modal-body::-webkit-scrollbar-thumb{
    background: #425d89;
    border-radius: 8px;
}

#tkops-flight-modal .tkops-modal-header,
#tkops-flight-modal .tkops-modal-footer{ flex-shrink: 0; }

.tkpf-table .tkpf-delta{ font-weight: 800; font-variant-numeric: tabular-nums; }

.tkpf-table .tkpf-delta-late{ color: #ffb3a6; }

.tkpf-table .tkpf-delta-early{ color: #9ee5c0; }

.tkops-history-heading{margin:24px 0 12px;color:#dceaff;font-weight:800}

.tkops-history-card{display:block;width:100%;padding:18px;margin:10px 0;background:#162747;color:#f1f6ff;border:1px solid #355480;border-radius:14px;text-align:left;cursor:pointer}

.tkops-history-card:hover{background:#203c6d}

.icon-settings-app{overflow-y:auto !important;}

.icon-settings-content{max-width:1100px;margin:0 auto;padding:110px 35px 45px;color:#fff;}

.icon-settings-content h3{font-size:24px;margin:0 0 10px;}

.icon-settings-content p{color:#c3d3ed;font-size:14px;line-height:1.6;}

.icon-theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:17px;margin-top:24px;}

.icon-theme-option{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0;padding:19px;border:1px solid rgba(147,186,240,.28);border-radius:18px;background:rgba(12,31,61,.82);color:#fff;text-align:left;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;}

.icon-theme-option:hover{border-color:#7eb7ff;transform:translateY(-2px);}

.icon-theme-option.selected{border-color:#e31937;background:rgba(98,22,50,.4);box-shadow:0 0 0 1px rgba(227,25,55,.35);}

.icon-theme-option strong{font-size:16px;}

.icon-theme-preview{display:flex;gap:5px;width:100%;justify-content:space-between;}

.icon-theme-preview img{width:18%;aspect-ratio:1;object-fit:contain;border-radius:12px;}

.icon-theme-status{font-weight:700;color:#fff !important;margin-top:22px;}

@media (max-width:700px){.icon-settings-content{padding:90px 18px 30px;}

.icon-theme-options{grid-template-columns:1fr;}}

.tk-icon-apply-button{border:0;background:#c8102e;color:white;border-radius:12px;padding:13px 29px;font-size:15px;font-weight:700;cursor:pointer;min-width:125px;}

.tk-icon-apply-button:disabled{opacity:.42;cursor:default;}

.tk-icon-apply-button:not(:disabled):hover{background:#e31837;}

#tkops-app #tkops-edesk .tkops-desk-content{
    font-size: 14px;
    line-height: 1.5;
}

#tkops-app #tkops-edesk .edesk-list-head small,
#tkops-app #tkops-edesk .edesk-detail-kicker{ font-size: 11px !important; }

#tkops-app #tkops-edesk .edesk-list-head strong{ font-size: 20px !important; }

#tkops-app #tkops-edesk .edesk-item-top strong{ font-size: 12.5px !important; }

#tkops-app #tkops-edesk .edesk-item-top span{ font-size: 11px !important; }

#tkops-app #tkops-edesk .edesk-item h4{ font-size: 13.5px !important; }

#tkops-app #tkops-edesk .edesk-item p{
    font-size: 11.5px !important;
    line-height: 1.5 !important;
}

#tkops-app #tkops-edesk .edesk-detail h3{ font-size: 27px !important; }

#tkops-app #tkops-edesk .edesk-meta{ font-size: 11px !important; }

#tkops-app #tkops-edesk .edesk-detail p{
    font-size: 12.5px !important;
    line-height: 1.75 !important;
}

#tkops-app #tkops-edesk .edesk-info-card strong{ font-size: 13.5px !important; }

#tkops-app #tkops-edesk .edesk-info-card span{
    font-size: 11.5px !important;
    line-height: 1.6 !important;
}

#tkops-app #tkops-edesk .edesk-action{
    font-size: 12px !important;
    min-height: 40px;
}

#tkops-app #tkops-edesk .edesk-empty{ font-size: 13px !important; }

#tkops-app #tkops-edesk .edesk-empty strong{ font-size: 19px !important; }

#tkops-app #tkops-edesk .preflight-header p,
#tkops-app #tkops-edesk .preflight-hint{ font-size: 11.5px !important; line-height: 1.6 !important; }

#tkops-app #tkops-edesk .preflight-kicker,
#tkops-app #tkops-edesk .preflight-card-title,
#tkops-app #tkops-edesk .preflight-status{ font-size: 10.5px !important; }

#tkops-app #tkops-edesk .preflight-field-label,
#tkops-app #tkops-edesk .preflight-field-sub,
#tkops-app #tkops-edesk .preflight-route-box span,
#tkops-app #tkops-edesk .preflight-airport small,
#tkops-app #tkops-edesk .preflight-weather-station small{ font-size: 10px !important; }

#tkops-app #tkops-edesk .preflight-field-value{ font-size: 13.5px !important; }

#tkops-app #tkops-edesk .preflight-route-box strong,
#tkops-app #tkops-edesk .preflight-check-row strong{ font-size: 11.5px !important; }

#tkops-app #tkops-edesk .preflight-airport span,
#tkops-app #tkops-edesk .preflight-weather-station span{ font-size: 10.5px !important; line-height: 1.5 !important; }

#tkops-app #tkops-edesk .preflight-secondary-action,
#tkops-app #tkops-edesk .preflight-complete{ font-size: 11.5px !important; }