:root {
    --bg: #071018;
    --panel: rgba(16, 30, 43, .86);
    --panel-2: #101e2b;
    --line: rgba(255,255,255,.09);
    --text: #edf5fb;
    --muted: #8fa5b6;
    --accent: #43c6ac;
    --accent-2: #2ea4d7;
    --danger: #ff6b72;
    --warning: #f7c66b;
    --shadow: 0 20px 60px rgba(0,0,0,.28);
}

* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;
    color: var(--text);
    background:
        radial-gradient(circle at 85% 10%, rgba(46,164,215,.13), transparent 32%),
        radial-gradient(circle at 10% 90%, rgba(67,198,172,.11), transparent 35%),
        var(--bg);
}

a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }

.app-shell { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; }
.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 26px 20px;
    background: rgba(5, 13, 20, .9);
    border-right: 1px solid var(--line);
    backdrop-filter: blur(16px);
    display: flex;
    flex-direction: column;
}
.brand { display: flex; align-items: center; gap: 12px; margin-bottom: 34px; }
.brand-mark {
    width: 42px; height: 42px; display: grid; place-items: center;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #031015; font-weight: 900; font-size: 20px;
    box-shadow: 0 8px 28px rgba(67,198,172,.22);
}
.brand strong { display: block; letter-spacing: .16em; }
.brand small { color: var(--muted); }

nav { display: grid; gap: 7px; }
nav a {
    padding: 12px 14px;
    border-radius: 12px;
    color: var(--muted);
    transition: .18s ease;
}
nav a:hover, nav a.active {
    color: var(--text);
    background: rgba(255,255,255,.07);
}
nav a.active { box-shadow: inset 3px 0 0 var(--accent); }

.sidebar-footer { margin-top: auto; border-top: 1px solid var(--line); padding-top: 18px; }
.user-card strong, .user-card small { display: block; }
.user-card small { color: var(--muted); margin-top: 3px; text-transform: capitalize; }
.logout-link { display: inline-block; margin-top: 14px; color: #ff9a9f; }

.main { min-width: 0; padding: 28px 34px 60px; }
.topbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }
.topbar h1 { margin: 0; font-size: clamp(1.7rem, 2vw, 2.35rem); }
.topbar p { margin: 6px 0 0; color: var(--muted); }

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

.card {
    background: linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.018)), var(--panel);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 20px;
}
.metric small { color: var(--muted); display: block; margin-bottom: 10px; }
.metric strong { font-size: 1.8rem; }
.metric em { display: block; margin-top: 9px; color: var(--accent); font-style: normal; font-size: .88rem; }

.section-header {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; margin: 28px 0 14px;
}
.section-header h2 { margin: 0; font-size: 1.15rem; }

.btn {
    border: 0; cursor: pointer; display: inline-flex; align-items: center; justify-content: center;
    gap: 8px; padding: 10px 14px; border-radius: 11px;
    background: linear-gradient(135deg, var(--accent), var(--accent-2));
    color: #041219; font-weight: 750;
}
.btn-secondary { background: rgba(255,255,255,.08); color: var(--text); border: 1px solid var(--line); }
.btn-danger { background: rgba(255,107,114,.13); color: #ff9ca1; border: 1px solid rgba(255,107,114,.28); }
.btn-small { padding: 7px 10px; font-size: .85rem; }

.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 12px; text-align: left; border-bottom: 1px solid var(--line); }
th { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
tbody tr:hover { background: rgba(255,255,255,.025); }

.badge {
    display: inline-flex; padding: 5px 9px; border-radius: 999px;
    font-size: .78rem; background: rgba(67,198,172,.12); color: #79e1cd;
    border: 1px solid rgba(67,198,172,.2);
}
.badge-maintenance { color: var(--warning); background: rgba(247,198,107,.1); border-color: rgba(247,198,107,.2); }

.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.field { display: grid; gap: 7px; }
.field-full { grid-column: 1 / -1; }
label { color: var(--muted); font-size: .88rem; }
input, select, textarea {
    width: 100%;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: rgba(3, 12, 18, .62);
    color: var(--text);
    padding: 11px 12px;
    outline: none;
}
input:focus, select:focus, textarea:focus { border-color: rgba(67,198,172,.6); box-shadow: 0 0 0 3px rgba(67,198,172,.08); }

.alert { padding: 12px 15px; border-radius: 12px; margin-bottom: 16px; }
.alert-success { background: rgba(67,198,172,.11); border: 1px solid rgba(67,198,172,.26); }
.alert-error { background: rgba(255,107,114,.11); border: 1px solid rgba(255,107,114,.26); }

.empty { color: var(--muted); padding: 28px 0; text-align: center; }

.login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.login-card { width: min(440px, 100%); }
.login-card .brand { justify-content: center; margin-bottom: 24px; }
.login-card h1 { text-align: center; margin: 0 0 6px; }
.login-card > p { text-align: center; color: var(--muted); margin: 0 0 24px; }
.login-card form { display: grid; gap: 15px; }

.route { font-weight: 800; letter-spacing: .04em; }
.muted { color: var(--muted); }
.actions { display: flex; gap: 8px; flex-wrap: wrap; }

@media (max-width: 1000px) {
    .grid-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 760px) {
    .app-shell { display: block; }
    .sidebar { position: static; width: 100%; height: auto; }
    .sidebar nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .sidebar-footer { margin-top: 20px; }
    .main { padding: 22px 16px 50px; }
    .grid-4, .grid-2, .form-grid { grid-template-columns: 1fr; }
    .field-full { grid-column: auto; }
}


.offer-card { display:grid; gap:14px; }
.offer-head { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; }
.offer-route { font-size:1.45rem; font-weight:900; letter-spacing:.06em; }
.offer-meta { display:flex; flex-wrap:wrap; gap:8px; }
.offer-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.offer-stat { padding:12px; border-radius:12px; background:rgba(255,255,255,.035); border:1px solid var(--line); }
.offer-stat small { display:block; color:var(--muted); margin-bottom:5px; }
.offer-stat strong { font-size:1.05rem; }
.range-ok { color:#79e1cd; }
.range-warning { color:var(--warning); }
.notice { padding:14px 16px; border-radius:12px; background:rgba(46,164,215,.09); border:1px solid rgba(46,164,215,.22); color:#bfe9fb; }
@media (max-width:760px) { .offer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }


.nav-label {
    margin: 20px 12px 5px;
    color: var(--muted);
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .12em;
}
.compact-table th, .compact-table td { padding: 9px 8px; white-space: nowrap; }
.compact-table td.wrap, .compact-table th.wrap { white-space: normal; min-width: 190px; }
.compact-table tbody tr { transition: background .15s ease; }
.compact-table tbody tr:hover { background: rgba(67,198,172,.045); }
.table-toolbar {
    display:flex; gap:12px; align-items:end; flex-wrap:wrap; margin-bottom:14px;
}
.table-toolbar .field { min-width:160px; flex:1; }
.role-pill {
    display:inline-flex; padding:4px 8px; border:1px solid var(--line);
    border-radius:999px; color:var(--muted); font-size:.76rem;
}
.status-offered { color:#bfe9fb; }
.status-accepted, .status-planned { color:#79e1cd; }
.status-active { color:var(--warning); }
.status-completed { color:#b7c1c9; }
.mini-form { display:flex; gap:6px; align-items:center; }
.mini-form select { min-width:135px; padding:7px 9px; }
details.card > summary { cursor:pointer; font-weight:750; }


.flight-actions {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
    min-width: max-content;
}
.flight-actions .btn,
.flight-actions button,
.flight-actions a {
    height: 42px;
    min-height: 42px;
    white-space: nowrap;
}
.callsign-input {
    display: grid;
    grid-template-columns: 74px 1fr;
    gap: 0;
}
.callsign-prefix {
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    border-right: 0;
    border-radius: 11px 0 0 11px;
    background: rgba(67,198,172,.13);
    color: #79e1cd;
    font-weight: 900;
    letter-spacing: .08em;
}
.callsign-input input {
    border-radius: 0 11px 11px 0;
}
.readonly-value {
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    padding: 0 12px;
    border: 1px solid var(--line);
    border-radius: 11px;
    background: rgba(3,12,18,.62);
    font-weight: 750;
}
.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: none;
    place-items: center;
    padding: 20px;
    background: rgba(0,0,0,.72);
    backdrop-filter: blur(8px);
}
.modal-backdrop.open { display: grid; }
.modal-panel {
    width: min(590px, 100%);
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    background: var(--panel-2);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: var(--shadow);
    padding: 22px;
}
.modal-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:18px;
}
.modal-head h2 { margin:0; }
.modal-close {
    border:0;
    background:transparent;
    color:var(--muted);
    cursor:pointer;
    font-size:1.5rem;
}
.modal-footer {
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}
.help-text { color: var(--muted); font-size:.8rem; line-height:1.45; }


.flight-create-top {
    display: grid;
    grid-template-columns: minmax(300px, 1.35fr) minmax(270px, .95fr) minmax(245px, .85fr);
    gap: 16px;
    align-items: start;
}
.flight-create-route {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 16px;
}
.flight-create-top .field,
.flight-create-route .field {
    min-width: 0;
}
.flight-create-top select,
.flight-create-top input,
.flight-create-route select {
    height: 52px;
}
.flight-create-top .callsign-prefix {
    height: 52px;
}
.flight-create-top .callsign-input input {
    height: 52px;
}
.flight-create-submit {
    margin-top: 18px;
}
.flight-create-submit .btn {
    width: 100%;
    min-height: 48px;
}
.vatsim-remark {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border-radius: 9px;
    border: 1px solid rgba(67,198,172,.24);
    background: rgba(67,198,172,.08);
    color: #9cebdc;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: .8rem;
}
@media (max-width: 1180px) {
    .flight-create-top {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .flight-create-top .departure-field {
        grid-column: 1 / -1;
    }
}
@media (max-width: 760px) {
    .flight-create-top,
    .flight-create-route {
        grid-template-columns: 1fr;
    }
    .flight-create-top .departure-field {
        grid-column: auto;
    }
}


/* AERIS 0.8 Dispatch UI */
.eyebrow {
    display:block;
    color:#7ea8c8;
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.15em;
    text-transform:uppercase;
}
.dispatch-builder { padding:0; overflow:hidden; }
.dispatch-builder-head {
    display:flex; align-items:flex-start; justify-content:space-between; gap:20px;
    padding:24px 26px 20px; border-bottom:1px solid var(--line);
    background:linear-gradient(135deg, rgba(67,198,172,.08), transparent 48%);
}
.dispatch-builder-head h2 { margin:5px 0 4px; font-size:1.45rem; }
.dispatch-builder-head p { margin:0; color:var(--muted); }
.dispatch-state {
    padding:8px 11px; border:1px solid rgba(67,198,172,.3); border-radius:999px;
    color:#91ead9; background:rgba(67,198,172,.08);
    font-size:.72rem; font-weight:900; letter-spacing:.12em;
}
.dispatch-form { padding:24px 26px 26px; }
.dispatch-row-primary {
    display:grid; grid-template-columns:minmax(340px,1.4fr) minmax(230px,.8fr) minmax(250px,.9fr);
    gap:16px; align-items:end;
}
.dispatch-field { min-width:0; }
.dispatch-field label {
    display:block; margin-bottom:8px; color:#8eb2ce; font-size:.78rem;
    font-weight:800; letter-spacing:.06em; text-transform:uppercase;
}
.dispatch-field select, .dispatch-field input { width:100%; height:54px; }
.dispatch-field .callsign-prefix { height:54px; }
.route-strip {
    display:grid; grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);
    align-items:end; gap:12px; margin-top:18px;
}
.route-arrow {
    height:54px; display:grid; place-items:center; color:#72dac7; font-size:1.55rem;
    border:1px solid var(--line); border-radius:12px; background:rgba(3,12,18,.42);
}
.dispatch-submit-row {
    display:flex; justify-content:space-between; align-items:center; gap:18px;
    margin-top:20px; padding-top:20px; border-top:1px solid var(--line);
}
.dispatch-hint { color:var(--muted); font-size:.84rem; }
.dispatch-hint strong { color:#78dfcb; }
.dispatch-generate { min-width:240px; min-height:48px; }
.flight-list-header { margin-top:28px; }
.flight-list-header h2 { margin:4px 0 0; }
.empty-flight-state {
    display:grid; place-items:center; gap:6px; min-height:140px; color:var(--muted);
}
.empty-flight-state strong { color:var(--text); font-size:1.05rem; }
.flight-ops-list { display:grid; gap:12px; }
.flight-ops-card {
    display:flex; align-items:stretch; border:1px solid var(--line); border-radius:17px;
    background:var(--panel); overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.flight-ops-main {
    flex:1; min-width:0; display:grid;
    grid-template-columns:minmax(150px,.85fr) minmax(190px,.8fr) minmax(330px,1.4fr) auto;
    align-items:center; gap:22px; padding:18px 20px; color:inherit; text-decoration:none;
}
.flight-ops-main:hover { background:rgba(67,198,172,.035); }
.flight-ident strong { display:block; margin:3px 0; font-size:1.2rem; }
.flight-ident small { color:var(--muted); }
.flight-route { display:flex; align-items:center; gap:12px; font-size:1.18rem; }
.flight-route span { color:#66d7c3; }
.flight-metrics {
    display:grid; grid-template-columns:repeat(4,minmax(64px,1fr)); gap:10px;
}
.flight-metrics div { padding:8px 10px; border-left:1px solid var(--line); }
.flight-metrics span { display:block; color:var(--muted); font-size:.68rem; font-weight:800; text-transform:uppercase; }
.flight-metrics strong { display:block; margin-top:3px; white-space:nowrap; }
.flight-ops-actions {
    display:flex; align-items:center; gap:8px; padding:14px;
    border-left:1px solid var(--line); background:rgba(3,12,18,.28);
}
.flight-ops-actions form { margin:0; }
.flight-ops-actions .btn { height:42px; white-space:nowrap; }

/* Flight briefing */
.briefing-hero {
    display:flex; justify-content:space-between; align-items:center; gap:24px;
    padding:26px; margin-bottom:18px; border:1px solid var(--line); border-radius:18px;
    background:linear-gradient(135deg, rgba(67,198,172,.12), rgba(32,115,180,.05) 55%, var(--panel));
}
.briefing-hero h2 { margin:5px 0; font-size:2rem; }
.briefing-hero h2 span { color:#66d7c3; margin:0 10px; }
.briefing-hero p { margin:0; color:var(--muted); }
.briefing-hero-actions { display:flex; align-items:center; gap:9px; }
.briefing-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:18px; }
.ops-card {
    padding:18px; border:1px solid var(--line); border-radius:16px; background:var(--panel);
}
.ops-label { display:block; color:var(--muted); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.08em; }
.ops-card strong { display:block; margin:7px 0 3px; font-size:1.25rem; }
.ops-card small { color:var(--muted); }
.briefing-columns { display:grid; grid-template-columns:1.15fr .85fr; gap:18px; margin-bottom:18px; }
.briefing-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; }
.briefing-data div { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.briefing-data span { color:var(--muted); }
.status-timeline { display:grid; gap:15px; }
.status-timeline > div { display:flex; align-items:center; gap:13px; opacity:.45; }
.status-timeline > div.done { opacity:1; }
.status-timeline > div > span {
    width:34px; height:34px; display:grid; place-items:center; flex:0 0 34px;
    border:1px solid var(--line); border-radius:50%; background:rgba(3,12,18,.5); font-weight:900;
}
.status-timeline .done > span { color:#07151b; background:#55d4bc; border-color:#55d4bc; }
.status-timeline strong, .status-timeline small { display:block; }
.status-timeline small { color:var(--muted); margin-top:2px; }
.item18-code {
    display:block; padding:14px 16px; border:1px solid rgba(67,198,172,.25); border-radius:11px;
    background:rgba(3,12,18,.6); color:#8ee6d5;
}

/* Fleet cards */
.fleet-card-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(315px,1fr)); gap:16px; }
.fleet-card {
    padding:20px; border:1px solid var(--line); border-radius:18px; background:var(--panel);
    box-shadow:0 12px 30px rgba(0,0,0,.12);
}
.fleet-card-head { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; }
.fleet-card h2 { margin:4px 0 2px; font-size:1.45rem; }
.fleet-card p { margin:0; color:var(--muted); }
.fleet-location {
    display:flex; justify-content:space-between; align-items:center; margin:18px 0;
    padding:13px 14px; border:1px solid var(--line); border-radius:12px; background:rgba(3,12,18,.38);
}
.fleet-location span { color:var(--muted); font-size:.78rem; }
.fleet-location strong { font-size:1.1rem; }
.fleet-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.fleet-stats div { padding:10px 7px; text-align:center; border-left:1px solid var(--line); }
.fleet-stats div:first-child { border-left:0; }
.fleet-stats span { display:block; color:var(--muted); font-size:.68rem; text-transform:uppercase; }
.fleet-stats strong { display:block; margin-top:4px; }
.health-row { margin-top:18px; }
.health-row > div:first-child { display:flex; justify-content:space-between; font-size:.8rem; color:var(--muted); }
.health-row strong { color:var(--text); }
.health-bar { height:7px; margin-top:8px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.06); }
.health-bar span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#43c6ac,#32a9da); }
.fleet-card-footer {
    display:flex; justify-content:space-between; gap:12px; margin-top:15px; padding-top:13px;
    border-top:1px solid var(--line); color:var(--muted); font-size:.76rem;
}

@media (max-width:1250px) {
    .dispatch-row-primary { grid-template-columns:1fr 1fr; }
    .dispatch-row-primary .aircraft-field { grid-column:1 / -1; }
    .flight-ops-card { display:block; }
    .flight-ops-main { grid-template-columns:1fr 1fr; }
    .flight-ops-actions { border-left:0; border-top:1px solid var(--line); justify-content:flex-end; }
}
@media (max-width:800px) {
    .dispatch-row-primary, .route-strip { grid-template-columns:1fr; }
    .route-arrow { display:none; }
    .dispatch-submit-row, .briefing-hero { align-items:stretch; flex-direction:column; }
    .dispatch-generate { width:100%; }
    .flight-ops-main { grid-template-columns:1fr; }
    .flight-metrics { grid-template-columns:repeat(2,1fr); }
    .flight-ops-actions { flex-wrap:wrap; }
    .briefing-grid { grid-template-columns:repeat(2,1fr); }
    .briefing-columns { grid-template-columns:1fr; }
}
@media (max-width:520px) {
    .briefing-grid, .briefing-data { grid-template-columns:1fr; }
    .fleet-stats { grid-template-columns:repeat(2,1fr); }
}


/* AERIS 0.9 status system */
.badge.status-cancelled,
.status-cancelled {
    color: #ff9aa5 !important;
    background: rgba(221, 67, 83, .15) !important;
    border-color: rgba(255, 102, 117, .38) !important;
}
.badge.status-completed,
.status-completed {
    color: #c3ccd4 !important;
    background: rgba(140, 153, 166, .13) !important;
    border-color: rgba(166, 177, 188, .28) !important;
}
.badge.status-planned,
.status-planned {
    color: #8fd2ff !important;
    background: rgba(50, 145, 214, .14) !important;
    border-color: rgba(89, 177, 239, .32) !important;
}
.badge.status-active,
.status-active {
    color: #8eebbd !important;
    background: rgba(43, 174, 105, .15) !important;
    border-color: rgba(76, 210, 138, .34) !important;
}
.badge.status-accepted,
.status-accepted {
    color: #8ee6d5 !important;
    background: rgba(67, 198, 172, .13) !important;
    border-color: rgba(67, 198, 172, .30) !important;
}
.callsign-input input {
    pointer-events: auto !important;
    cursor: text !important;
    user-select: text;
}
.callsign-input input:focus {
    position: relative;
    z-index: 2;
    outline: 2px solid rgba(92, 220, 195, .34);
    outline-offset: -2px;
}


/* AERIS 0.9.1 definitive archive status colors */
.compact-table .badge.status-cancelled,
.badge.status-cancelled,
span.status-cancelled {
    color: #ff9ca8 !important;
    background-color: rgba(193, 42, 61, .22) !important;
    border: 1px solid rgba(255, 91, 111, .48) !important;
}
.compact-table .badge.status-completed,
.badge.status-completed,
span.status-completed {
    color: #d0d6dc !important;
    background-color: rgba(119, 130, 142, .18) !important;
    border: 1px solid rgba(166, 177, 188, .34) !important;
}


/* AERIS 0.10 Multi-leg rotation planner */
.rotation-generator { padding:0; overflow:hidden; }
.rotation-generator-form { padding:24px 26px 26px; }
.rotation-distance-fields {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
}
.rotation-list { display:grid; gap:18px; }
.rotation-card { padding:0; overflow:hidden; }
.rotation-card-head {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:20px 22px;
    border-bottom:1px solid var(--line);
}
.rotation-card-head h2 { margin:4px 0; }
.rotation-card-head p { margin:0; color:var(--muted); }
.rotation-legs { display:grid; }
.rotation-leg {
    display:grid;
    grid-template-columns:44px minmax(200px,1fr) minmax(130px,.45fr) auto minmax(180px,.65fr);
    align-items:center;
    gap:18px;
    padding:17px 20px;
    border-bottom:1px solid var(--line);
}
.rotation-leg:last-child { border-bottom:0; }
.rotation-leg.planned { background:rgba(50,145,214,.035); }
.rotation-leg.completed { opacity:.72; }
.rotation-sequence {
    width:36px;
    height:36px;
    display:grid;
    place-items:center;
    border:1px solid var(--line);
    border-radius:50%;
    font-weight:900;
    background:rgba(3,12,18,.48);
}
.rotation-route {
    display:flex;
    align-items:center;
    gap:10px;
    font-size:1.1rem;
}
.rotation-route span { color:#62d7c2; }
.rotation-route small {
    margin-left:8px;
    color:var(--muted);
    font-size:.78rem;
}
.rotation-time span {
    display:block;
    color:var(--muted);
    font-size:.68rem;
    font-weight:800;
    text-transform:uppercase;
}
.rotation-time strong { display:block; margin-top:4px; }
.rotation-leg-action {
    display:flex;
    justify-content:flex-end;
    align-items:center;
}
.rotation-no-aircraft {
    color:#dca2a9;
    font-size:.78rem;
    text-align:right;
}
.badge.status-available {
    color:#8ee6d5;
    background:rgba(67,198,172,.13);
    border-color:rgba(67,198,172,.3);
}
@media (max-width:1000px) {
    .rotation-leg {
        grid-template-columns:44px 1fr auto;
    }
    .rotation-time { grid-column:2; }
    .rotation-leg-status { grid-column:3; grid-row:1; }
    .rotation-leg-action { grid-column:2 / -1; justify-content:flex-start; }
}
@media (max-width:650px) {
    .rotation-card-head { flex-direction:column; }
    .rotation-leg { grid-template-columns:40px 1fr; }
    .rotation-leg-status,
    .rotation-time,
    .rotation-leg-action {
        grid-column:2;
    }
    .rotation-leg-status { grid-row:auto; }
    .rotation-distance-fields { grid-template-columns:1fr; }
}


.live-flight-card{margin-top:24px}.live-flight-data{grid-template-columns:repeat(3,minmax(0,1fr))}.bridge-pairing{display:flex;align-items:center;gap:18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border)}.bridge-pairing .muted{margin:0}.bridge-code{display:flex;flex-direction:column;gap:4px}.bridge-code span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.bridge-code strong{font-size:1.8rem;letter-spacing:.16em}button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:800px){.live-flight-data{grid-template-columns:1fr 1fr}.bridge-pairing{align-items:flex-start;flex-direction:column}}


/* AERIS LiveMap */
.live-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;min-height:calc(100vh - 175px)}
.live-map-card{position:relative;padding:0;overflow:hidden;min-height:650px}
#aeris-live-map{height:100%;min-height:650px;background:#111b29}
.live-flight-panel{padding:0;overflow:hidden;min-height:650px}
.live-panel-head{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid rgba(148,163,184,.16)}
.live-panel-head div{display:flex;flex-direction:column;gap:4px}.live-panel-head small{color:var(--muted,#94a3b8)}
.live-flight-list{display:flex;flex-direction:column;max-height:calc(100vh - 245px);overflow:auto}
.live-flight-item{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:16px 18px;border:0;border-bottom:1px solid rgba(148,163,184,.12);background:transparent;color:inherit;text-align:left;cursor:pointer}
.live-flight-item:hover,.live-flight-item.selected{background:rgba(47,128,237,.11)}
.live-flight-main,.live-flight-data{display:flex;flex-direction:column;gap:3px}.live-flight-main small,.live-flight-data small{color:var(--muted,#94a3b8)}.live-flight-data{text-align:right}
.flight-live-state,.live-dot,.stale-dot{width:9px;height:9px;border-radius:50%;display:inline-block;background:#eab308}.flight-live-state.live,.live-dot{background:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.7)}.flight-live-state.stale,.stale-dot{background:#64748b}.flight-live-state.recent{background:#eab308}
.map-legend{position:absolute;z-index:500;left:12px;bottom:12px;background:rgba(9,14,22,.9);padding:8px 11px;border-radius:8px;font-size:12px;display:flex;gap:7px;align-items:center;color:#cbd5e1}
.aircraft-marker-wrap{background:transparent;border:0}.aircraft-marker{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:27px;color:#eab308;text-shadow:0 2px 8px #000;transition:transform .35s ease}.aircraft-marker.live{color:#22c55e}.aircraft-marker.stale{color:#64748b}
.flight-popup{line-height:1.55;min-width:175px;color:#0f172a}.flight-popup strong{font-size:15px}
.dispatch-live-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.dispatch-live-banner div{display:flex;flex-direction:column;gap:4px}.dispatch-live-banner span{color:var(--muted,#94a3b8)}
@media(max-width:1050px){.live-map-layout{grid-template-columns:1fr}.live-map-card,#aeris-live-map{min-height:520px}.live-flight-panel{min-height:0}.live-flight-list{max-height:420px}}
@media(max-width:650px){.dispatch-live-banner{align-items:flex-start;flex-direction:column}.live-map-card,#aeris-live-map{min-height:430px}}


/* AERIS LiveMap Hotfix 0.6.3: Blaues, größeres und heading-genaues Flugzeug */
.flight-live-state.live,
.live-dot {
    background:#2f80ed;
    box-shadow:0 0 12px rgba(47,128,237,.78);
}
.flight-live-state.recent {
    background:#60a5fa;
}
.aircraft-marker-wrap {
    width:50px !important;
    height:50px !important;
    background:transparent;
    border:0;
}
.aircraft-marker {
    width:50px;
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#60a5fa;
    filter:drop-shadow(0 3px 7px rgba(0,0,0,.75));
    transform-origin:50% 50%;
    transition:transform .35s ease;
}
.aircraft-marker.live {
    color:#2f80ed;
}
.aircraft-marker.recent {
    color:#60a5fa;
}
.aircraft-marker.stale {
    color:#64748b;
}
.aircraft-marker-svg {
    width:46px;
    height:46px;
    display:block;
    fill:currentColor;
    stroke:#eaf2ff;
    stroke-width:1.15;
    stroke-linejoin:round;
}

/* AERIS LiveMap Upgrade 0.6.4 */
.aircraft-marker-wrap{width:56px!important;height:56px!important}
.aircraft-marker{width:56px;height:56px}
.aircraft-marker-svg{width:52px;height:52px}
.aircraft-marker-svg .aircraft-detail{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;opacity:.95}
.aircraft-marker.aircraft-category-business .aircraft-marker-svg{width:48px;height:48px}
.aircraft-marker.aircraft-category-heavy .aircraft-marker-svg{width:56px;height:56px}
.aircraft-marker.aircraft-category-helicopter .aircraft-marker-svg{width:50px;height:50px}

.aeris-flight-popup .leaflet-popup-content-wrapper{padding:0;border-radius:16px;overflow:hidden;background:#0f1b2d;color:#fff;box-shadow:0 18px 45px rgba(2,8,23,.35)}
.aeris-flight-popup .leaflet-popup-content{margin:0;width:auto!important}
.aeris-flight-popup .leaflet-popup-tip{background:#0f1b2d}
.aeris-flight-popup .leaflet-popup-close-button{z-index:2;color:#94a3b8!important;font-size:22px!important;right:8px!important;top:7px!important}
.flight-popup-card{min-width:310px;color:#eaf2ff;font-family:inherit}
.flight-popup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px 11px;background:linear-gradient(135deg,#122542,#0e1a2b)}
.flight-popup-head>div{display:flex;flex-direction:column;gap:2px}
.flight-popup-kicker{font-size:.69rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;color:#60a5fa}
.flight-popup-callsign{font-size:1.48rem;line-height:1.1;color:#fff}
.flight-popup-live{margin-right:18px;padding:5px 8px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em;background:rgba(96,165,250,.15);color:#93c5fd;border:1px solid rgba(96,165,250,.28)}
.flight-popup-live.stale{background:rgba(100,116,139,.14);color:#94a3b8;border-color:rgba(100,116,139,.3)}
.flight-popup-live.recent{background:rgba(56,189,248,.12);color:#7dd3fc}
.flight-popup-pilot{padding:11px 20px 2px;color:#cbd5e1;font-size:.86rem;font-weight:600}
.flight-popup-route{display:flex;align-items:center;gap:11px;padding:6px 20px 14px;color:#fff;font-size:1.15rem}
.flight-popup-route span{color:#60a5fa;font-size:1.25rem}
.flight-popup-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(148,163,184,.13);border-top:1px solid rgba(148,163,184,.12);border-bottom:1px solid rgba(148,163,184,.12)}
.flight-popup-grid>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:#111f33}
.flight-popup-grid span{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:#7f93ad}
.flight-popup-grid strong{font-size:.82rem;color:#f8fafc;white-space:nowrap}
.flight-popup-aircraft{padding:10px 20px 12px;color:#8fa3bd;font-size:.75rem;text-align:right;background:#0c1727}

/* AERIS Web Update 0.7.3 */
.sidebar nav{display:flex;flex-direction:column;min-height:calc(100vh - 250px)}
.sidebar .nav-spacer{flex:1;min-height:28px}
.flight-popup-pilot-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px 2px}
.flight-popup-pilot-row .flight-popup-pilot{padding:0}
.vatsim-badge,.vatsim-inline{font-weight:800;text-transform:uppercase;letter-spacing:.055em}
.vatsim-badge{padding:5px 8px;border-radius:999px;font-size:.62rem;white-space:nowrap}
.vatsim-badge.online{color:#93c5fd;background:rgba(47,128,237,.16);border:1px solid rgba(96,165,250,.32)}
.vatsim-badge.offline{color:#cbd5e1;background:rgba(100,116,139,.16);border:1px solid rgba(148,163,184,.24)}
.vatsim-badge.unlinked{color:#d8b4fe;background:rgba(168,85,247,.12);border:1px solid rgba(192,132,252,.24)}
.vatsim-inline{font-size:.59rem!important;margin-top:3px}
.vatsim-inline.online{color:#60a5fa!important}.vatsim-inline.offline{color:#94a3b8!important}.vatsim-inline.unlinked{color:#c084fc!important}
.fleet-live-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:rgba(47,128,237,.12);color:#93c5fd;border:1px solid rgba(96,165,250,.22);font-size:.7rem;font-weight:800;text-transform:uppercase}
.fleet-live-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:14px;background:rgba(148,163,184,.12);border:1px solid rgba(148,163,184,.12);border-radius:10px;overflow:hidden}
.fleet-live-strip>div{padding:10px;background:rgba(13,25,41,.92)}
.fleet-live-strip span{display:block;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}
.fleet-live-strip strong{display:block;margin-top:3px;font-size:.85rem}
.user-vatsim-form{display:flex;align-items:center;gap:8px;min-width:210px}.user-vatsim-form input{width:110px;padding:8px 9px}
@media(max-width:700px){.fleet-live-strip{grid-template-columns:1fr 1fr}.flight-popup-pilot-row{align-items:flex-start;flex-direction:column}}

/* AERIS 0.7.4 – Persönliches Profil */
.profile-hero{display:flex;align-items:center;gap:22px;padding:26px 28px;margin-bottom:22px;background:linear-gradient(135deg,rgba(36,129,235,.13),rgba(21,31,45,.94) 55%)}
.profile-avatar{width:76px;height:76px;flex:0 0 76px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#3388ed,#1559a8);font-size:2rem;font-weight:900;color:#fff;box-shadow:0 14px 35px rgba(20,91,171,.28)}
.profile-identity{min-width:0}.profile-identity .eyebrow{display:block;margin-bottom:5px;color:#7db8ff;font-size:.72rem;font-weight:900;letter-spacing:.12em}.profile-identity h2{margin:0;font-size:1.8rem}.profile-identity p{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 0;color:var(--muted)}
.profile-vatsim{margin-left:auto;min-width:170px;padding:14px 17px;border:1px solid var(--line);border-radius:12px;background:rgba(6,13,22,.34)}.profile-vatsim small{display:block;color:var(--muted);font-size:.68rem;font-weight:900;letter-spacing:.1em}.profile-vatsim strong{display:block;margin-top:4px}.profile-vatsim.is-linked{border-color:rgba(49,132,237,.45);background:rgba(49,132,237,.1)}.profile-vatsim.is-linked strong{color:#7db8ff}
.profile-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:22px}.profile-metrics .metric{margin:0}
.profile-grid{align-items:start}.profile-side-stack{display:grid;gap:18px}.section-header.compact{margin-bottom:18px}.section-header.compact h2{margin-bottom:4px}.section-header.compact p{margin:0;color:var(--muted)}
.profile-facts dl{display:grid;margin:12px 0 0}.profile-facts dl>div{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.profile-facts dl>div:last-child{border-bottom:0}.profile-facts dt{color:var(--muted)}.profile-facts dd{margin:0;text-align:right;font-weight:700}.status-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%}.status-dot.online{background:#32c97d;box-shadow:0 0 0 4px rgba(50,201,125,.1)}
.compact-form{margin-top:14px}.field textarea{width:100%;resize:vertical}
@media(max-width:1100px){.profile-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-vatsim{width:100%;margin-left:0}.profile-metrics{grid-template-columns:1fr}.profile-facts dl>div{display:block}.profile-facts dd{text-align:left;margin-top:5px}}

/* AERIS 0.7.5 – rollenbasierte Navigation */
.sidebar{overflow:hidden}
.sidebar .brand{flex:0 0 auto}
.sidebar-nav{
    flex:1 1 auto;
    min-height:0!important;
    overflow-y:auto;
    overflow-x:hidden;
    padding-right:5px;
    scrollbar-width:thin;
    scrollbar-color:rgba(143,165,182,.35) transparent;
}
.sidebar-nav::-webkit-scrollbar{width:5px}
.sidebar-nav::-webkit-scrollbar-track{background:transparent}
.sidebar-nav::-webkit-scrollbar-thumb{background:rgba(143,165,182,.3);border-radius:999px}
.sidebar-nav .nav-label{
    margin:18px 14px 4px;
    padding-top:14px;
    border-top:1px solid var(--line);
}
.sidebar-nav>a:first-child{margin-bottom:3px}
.sidebar-footer{
    flex:0 0 auto;
    margin-top:16px!important;
    background:rgba(5,13,20,.96);
}
@media(max-width:900px){
    .sidebar{overflow:visible}
    .sidebar-nav{overflow:visible;max-height:none;padding-right:0}
}

/* AERIS 0.7.6 – compact desktop density */
@media (min-width: 761px) {
    html { font-size: 14px; }

    .app-shell { grid-template-columns: 224px 1fr; }

    .sidebar {
        padding: 18px 14px;
    }

    .brand {
        gap: 9px;
        margin-bottom: 20px;
    }

    .brand-mark {
        width: 36px;
        height: 36px;
        border-radius: 11px;
        font-size: 17px;
    }

    .brand strong { font-size: .94rem; }
    .brand small { font-size: .74rem; }

    nav { gap: 3px; }

    nav a {
        padding: 8px 10px;
        border-radius: 9px;
        font-size: .92rem;
    }

    .nav-label {
        margin: 13px 10px 4px;
        font-size: .61rem;
    }

    .sidebar-footer {
        padding-top: 12px;
    }

    .logout-link { margin-top: 9px; }

    .main {
        padding: 20px 24px 36px;
    }

    .topbar {
        margin-bottom: 16px;
    }

    .topbar h1 {
        font-size: clamp(1.45rem, 1.7vw, 1.95rem);
    }

    .topbar p {
        margin-top: 3px;
        font-size: .9rem;
    }

    .grid { gap: 12px; }

    .card {
        border-radius: 14px;
        padding: 14px;
    }

    .metric small { margin-bottom: 6px; }
    .metric strong { font-size: 1.45rem; }
    .metric em { margin-top: 5px; font-size: .81rem; }

    .section-header {
        gap: 10px;
        margin: 18px 0 9px;
    }

    .section-header h2 { font-size: 1.03rem; }

    .btn {
        gap: 6px;
        padding: 8px 11px;
        border-radius: 9px;
        font-size: .9rem;
    }

    .btn-small {
        padding: 5px 8px;
        font-size: .78rem;
    }

    th, td {
        padding: 9px 9px;
    }

    th { font-size: .7rem; }

    .compact-table th,
    .compact-table td {
        padding: 7px 7px;
    }

    .badge {
        padding: 4px 7px;
        font-size: .71rem;
    }

    .form-grid { gap: 11px; }
    .field { gap: 5px; }
    label { font-size: .81rem; }

    input,
    select,
    textarea {
        border-radius: 9px;
        padding: 8px 10px;
    }

    .alert {
        padding: 9px 12px;
        margin-bottom: 11px;
    }

    .empty { padding: 20px 0; }

    .offer-card { gap: 9px; }
    .offer-route { font-size: 1.2rem; }
    .offer-grid { gap: 8px; }
    .offer-stat { padding: 9px; }
    .notice { padding: 10px 12px; }

    .table-toolbar {
        gap: 8px;
        margin-bottom: 10px;
    }

    .table-toolbar .field { min-width: 135px; }

    .flight-actions .btn,
    .flight-actions button,
    .flight-actions a {
        height: 36px;
        min-height: 36px;
    }

    .readonly-value { min-height: 36px; }
}

/* Keep dense layouts readable on medium-size notebooks. */
@media (min-width: 761px) and (max-width: 1180px) {
    .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .main { padding-left: 18px; padding-right: 18px; }
}

/* AERIS 0.7.8 – balanced desktop design system
   Sidebar keeps the proven 0.7.6 dimensions. Main content sits exactly
   between the 0.7.6 and 0.7.7 density levels. */
@media (min-width: 761px) {
    html { font-size: 13.5px; }

    /* Keep sidebar at the preferred 0.7.6 size. */
    .app-shell { grid-template-columns: 224px 1fr; }
    .sidebar { padding: 18px 14px; }
    .brand { gap: 9px; margin-bottom: 20px; }
    .brand-mark {
        width: 36px;
        height: 36px;
        border-radius: 11px;
        font-size: 17px;
    }
    .brand strong { font-size: .94rem; }
    .brand small { font-size: .74rem; }
    nav { gap: 3px; }
    nav a {
        padding: 8px 10px;
        border-radius: 9px;
        font-size: .92rem;
    }
    .sidebar-nav .nav-label {
        margin: 13px 10px 4px;
        padding-top: 11px;
        font-size: .61rem;
    }
    .sidebar-footer { margin-top: 14px !important; padding-top: 11px; }

    /* Balanced main content. */
    .main { padding: 18px 22px 32px; }
    .topbar { margin-bottom: 14px; }
    .topbar h1 { font-size: clamp(1.38rem, 1.6vw, 1.82rem); }
    .topbar p { margin-top: 3px; font-size: .86rem; }

    .grid { gap: 11px; }
    .grid-2 { gap: 11px; }

    .card {
        border-radius: 13px;
        padding: 13px;
    }

    .metric small { margin-bottom: 5px; font-size: .78rem; }
    .metric strong { font-size: 1.36rem; }
    .metric em { margin-top: 4px; font-size: .79rem; }

    .section-header { gap: 9px; margin: 16px 0 8px; }
    .section-header h2 { font-size: 1rem; }

    .btn {
        gap: 6px;
        padding: 7.5px 10px;
        border-radius: 9px;
        font-size: .87rem;
    }
    .btn-small { padding: 4.5px 8px; font-size: .76rem; }

    th, td { padding: 8px; }
    th { font-size: .68rem; }
    .compact-table th,
    .compact-table td { padding: 6.5px; }

    .badge { padding: 3.5px 7px; font-size: .69rem; }

    .form-grid { gap: 10px; }
    .field { gap: 5px; }
    label { font-size: .79rem; }
    input,
    select,
    textarea {
        padding: 7.5px 9px;
        border-radius: 8px;
        font-size: .88rem;
    }

    .alert { padding: 8.5px 11px; margin-bottom: 10px; }
    .empty { padding: 18px 0; }
    .offer-card { gap: 9px; }
    .offer-route { font-size: 1.14rem; }
    .offer-grid { gap: 8px; }
    .offer-stat { padding: 8px; }
    .notice { padding: 9px 11px; }

    .table-toolbar { gap: 8px; margin-bottom: 9px; }
    .table-toolbar .field { min-width: 130px; }

    .profile-hero { gap: 18px; padding: 20px 22px; margin-bottom: 17px; }
    .profile-avatar {
        width: 66px;
        height: 66px;
        flex-basis: 66px;
        border-radius: 18px;
        font-size: 1.7rem;
    }
    .profile-identity h2 { font-size: 1.58rem; }
    .profile-vatsim { padding: 11px 14px; }
    .profile-metrics { gap: 12px; margin-bottom: 17px; }
    .profile-side-stack { gap: 14px; }

    .live-panel-head { padding: 14px; }
    .live-flight-item { padding: 11px 13px; gap: 10px; }
    .live-flight-list { max-height: calc(100vh - 205px); }

    .flight-popup-card { min-width: 270px; }
    .flight-popup-head { padding: 13px 17px 10px; }
    .flight-popup-route { padding: 9px 17px; }
    .flight-popup-grid { padding: 11px 17px 13px; }
}

@media (min-width: 761px) and (max-width: 1180px) {
    .main { padding-left: 20px; padding-right: 20px; }
}


/* AERIS 0.8.0 – balanced density + Flight Debrief */
:root { --accent:#4da3ff; --accent-2:#276bdb; --panel:rgba(15,28,45,.9); --panel-2:#122238; }
.app-shell { grid-template-columns: 260px 1fr; }
.sidebar { padding: 24px 19px; }
.main { padding: 26px 31px 56px; }
.card { padding: 19px; border-radius: 17px; }
.topbar { margin-bottom: 22px; }
th,td { padding: 11px 10px; }
.btn { padding: 9px 13px; }
input,select,textarea { padding: 10px 11px; }
.badge-success { color:#8bd9ff; background:rgba(77,163,255,.13); border-color:rgba(77,163,255,.3); }
.badge-warning { color:#ffd88a; background:rgba(247,198,107,.1); border-color:rgba(247,198,107,.25); }
.eyebrow { color:var(--accent); letter-spacing:.14em; font-size:.73rem; font-weight:800; }
.debrief-hero { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; overflow:hidden; position:relative; }
.debrief-hero::after { content:""; position:absolute; width:360px; height:360px; border:1px solid rgba(77,163,255,.14); border-radius:50%; right:-190px; top:-210px; box-shadow:0 0 0 48px rgba(77,163,255,.025),0 0 0 96px rgba(77,163,255,.018); }
.debrief-hero h2 { font-size:2.2rem; margin:.35rem 0 .15rem; }
.debrief-route { display:flex; align-items:center; gap:15px; font-size:1.35rem; font-weight:850; letter-spacing:.08em; }
.debrief-route span { color:var(--accent); }
.debrief-hero p { color:var(--muted); margin:.7rem 0 0; }
.report-state { position:relative; z-index:1; }
.debrief-metrics { margin-top:18px; }
.debrief-grid { margin-top:18px; }
.profile-chart { height:270px; border-radius:14px; overflow:hidden; background:linear-gradient(180deg,rgba(77,163,255,.08),rgba(255,255,255,.015)); border:1px solid var(--line); }
.profile-chart svg { width:100%; height:100%; display:block; }
.event-list { display:grid; gap:1px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.event-list>div { display:flex; justify-content:space-between; align-items:center; padding:15px 16px; background:rgba(255,255,255,.025); }
.event-list span { color:var(--muted); }
.report-submit { margin-top:18px; display:grid; grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr); gap:24px; align-items:start; }
.report-submit h2 { margin:0 0 6px; }
.report-submit p { margin:0; }
.report-submit form { display:grid; gap:10px; }
@media(max-width:1000px){.report-submit{grid-template-columns:1fr}.debrief-hero{display:grid}.debrief-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.debrief-metrics{grid-template-columns:1fr}.debrief-grid{grid-template-columns:1fr}}

/* AERIS 0.8.1 – Executive Operations design */
.brand-mark{position:relative;overflow:hidden;background:linear-gradient(145deg,#5bb8ff 0%,#4777ff 58%,#785cff 100%);box-shadow:0 12px 34px rgba(61,132,255,.32)}
.brand-mark:after{content:"";position:absolute;width:32px;height:8px;background:#07111f;transform:rotate(-37deg);right:-7px;bottom:7px;border-radius:10px}
.sidebar{background:linear-gradient(180deg,rgba(8,18,31,.98),rgba(7,15,27,.98));border-right-color:rgba(130,170,220,.13)}
.topbar h1{letter-spacing:-.035em}.eyebrow{letter-spacing:.16em}
.ops-hero{display:flex;align-items:center;justify-content:space-between;padding:25px 28px;margin-bottom:16px;background:radial-gradient(circle at 75% 30%,rgba(78,124,255,.17),transparent 35%),linear-gradient(135deg,rgba(17,37,61,.98),rgba(10,23,40,.98))}.ops-hero h2{font-size:1.85rem;margin:.2rem 0}.ops-clock{text-align:right;display:grid}.ops-clock span,.ops-clock small{font-size:.68rem;letter-spacing:.13em;color:var(--muted)}.ops-clock strong{font-size:2.15rem;line-height:1.05}.ops-kpis{margin-bottom:3px}.dashboard-columns{align-items:start}.ops-flight-stack{display:grid;gap:11px}.ops-flight-card{padding:16px 18px}.ops-flight-head{display:flex;justify-content:space-between;align-items:flex-start}.ops-flight-head h3{font-size:1.24rem;margin:.2rem 0 0}.ops-flight-head h3 span{color:var(--accent);padding:0 .45rem}.ops-flight-card p{font-size:.82rem;color:var(--muted);margin:.35rem 0 0}.ops-live-data{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:8px;margin-top:12px}.ops-live-data>*{padding:8px 9px;background:rgba(72,126,202,.08);border:1px solid rgba(115,163,224,.12);border-radius:9px;font-size:.78rem}.ops-live-data span{color:#7cc3ff}.ops-schedule{margin-top:10px;color:var(--muted);font-size:.78rem}.recent-flights{padding:5px 14px}.recent-flight{display:flex;align-items:center;justify-content:space-between;padding:12px 2px;border-bottom:1px solid rgba(130,170,220,.11);color:inherit;text-decoration:none}.recent-flight:last-child{border-bottom:0}.recent-flight>div{display:grid;gap:2px}.recent-flight>div:last-child{text-align:right}.recent-flight span,.recent-flight small{font-size:.76rem;color:var(--muted)}.recent-flight:hover strong{color:var(--accent)}.health-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.health-grid>div{display:grid;grid-template-columns:12px 1fr;column-gap:8px;align-items:center;padding:10px;border:1px solid rgba(130,170,220,.11);border-radius:10px}.health-grid small{grid-column:2;color:var(--muted);font-size:.7rem}.health-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 14px currentColor}.health-dot.good{color:#47d7a0;background:currentColor}.health-dot.neutral{color:#f1b85b;background:currentColor}
.route-profile{height:285px;position:relative;overflow:hidden;border-radius:13px;background:radial-gradient(circle at 30% 25%,rgba(66,127,216,.2),transparent 30%),linear-gradient(180deg,#0d1b2d,#091522);border:1px solid rgba(120,166,225,.12)}.route-profile:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(105,152,210,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(105,152,210,.055) 1px,transparent 1px);background-size:34px 34px}.route-profile svg{position:relative;width:100%;height:100%}.route-start{fill:#5bb8ff}.route-end{fill:#7f7cff}.route-label{position:absolute;bottom:15px;padding:5px 8px;border-radius:8px;background:rgba(6,16,28,.88);border:1px solid rgba(135,180,235,.18);font-size:.72rem;font-weight:800;letter-spacing:.1em}.route-label-start{left:15px}.route-label-end{right:15px}.summary-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.summary-stat-grid>div{padding:13px;background:rgba(73,126,198,.08);border:1px solid rgba(125,169,222,.12);border-radius:11px;display:grid;gap:4px}.summary-stat-grid span{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.summary-stat-grid strong{font-size:1.05rem}.phase-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.phase-chips span{display:flex;align-items:center;gap:7px;padding:6px 9px;border-radius:999px;background:rgba(75,137,219,.1);border:1px solid rgba(115,166,230,.14);font-size:.66rem;letter-spacing:.07em}.phase-chips small{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:rgba(85,157,255,.18);color:#9fd2ff}
.fleet-card{background:radial-gradient(circle at 90% 0,rgba(83,116,255,.12),transparent 28%),linear-gradient(145deg,rgba(17,35,57,.96),rgba(10,23,39,.97));border-color:rgba(130,171,225,.14);box-shadow:0 18px 44px rgba(0,0,0,.16)}
@media(max-width:900px){.ops-hero{align-items:flex-start}.ops-live-data{grid-template-columns:1fr 1fr}.health-grid{grid-template-columns:1fr}.route-profile{height:230px}}

/* AERIS 0.8.2 — wide, non-clickable recent-flight overview */
.dashboard-recent-wide { margin-top: 1.25rem; }
.recent-flights-wide { padding: .35rem 1.1rem; }
.recent-flight-static {
    cursor: default;
    display: grid;
    grid-template-columns: minmax(190px, 1fr) minmax(220px, 1.2fr) minmax(210px, .9fr);
    align-items: center;
    gap: 1.25rem;
    min-height: 72px;
}
.recent-flight-static:hover { transform: none; background: transparent; }
.recent-flight-static > div:nth-child(2) { text-align: left; }
.recent-flight-static > div:last-child { text-align: right; }
.recent-flight-aircraft span,
.recent-flight-aircraft small { display: block; }
@media (max-width: 900px) {
    .recent-flight-static { grid-template-columns: 1fr; gap: .35rem; }
    .recent-flight-static > div:last-child { text-align: left; }
}

/* AERIS 0.9.4.1 – Flight Progress */
.flight-progress{margin:14px 0 16px;padding:12px 13px;border:1px solid rgba(148,163,184,.16);border-radius:13px;background:rgba(10,18,32,.52)}
.flight-progress-route{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.78rem;color:#94a3b8;letter-spacing:.05em}
.flight-progress-route strong{color:#f3f6fa;font-size:.86rem}
.flight-progress-track{position:relative;height:7px;margin:11px 4px 10px;border-radius:999px;background:rgba(148,163,184,.18);overflow:visible}
.flight-progress-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f80ed,#4da3ff);box-shadow:0 0 16px rgba(77,163,255,.28)}
.flight-progress-track>i{position:absolute;top:50%;transform:translate(-50%,-53%) rotate(90deg);font-size:15px;color:#f3f6fa;font-style:normal;text-shadow:0 2px 8px #0b1220;transition:left .4s ease}
.flight-progress-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px;font-size:.72rem;color:#94a3b8}
.ops-flight-card .flight-progress{margin-top:12px;margin-bottom:0}
.ops-flight-card .flight-progress-meta{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:850px){.ops-flight-card .flight-progress-meta{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.flight-progress-meta{grid-template-columns:1fr}.ops-flight-card .flight-progress-meta{grid-template-columns:1fr}}

/* AERIS 0.9.4.2 – immersive LiveMap */
.live-map-stage{
    position:relative;
    height:calc(100vh - 165px);
    min-height:620px;
    overflow:hidden;
    border:1px solid rgba(130,170,220,.16);
    border-radius:18px;
    background:#0b1624;
    box-shadow:0 20px 55px rgba(2,8,23,.25);
}
.live-map-stage #aeris-live-map{
    width:100%;
    height:100%;
    min-height:0;
    background:#111b29;
}
.live-map-stage .leaflet-top.leaflet-left{top:72px;left:10px}
.glass-panel{
    background:rgba(8,18,31,.82);
    border:1px solid rgba(148,184,227,.2);
    box-shadow:0 16px 38px rgba(2,8,23,.26);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
}
.live-map-status{
    position:absolute;
    z-index:700;
    top:16px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    align-items:center;
    gap:22px;
    padding:10px 15px;
    border-radius:13px;
    color:#eaf2ff;
    pointer-events:none;
}
.live-map-status-title,.live-map-status-meta{display:flex;align-items:center;gap:8px}
.live-map-status-title strong{font-size:.86rem;letter-spacing:.01em}
.live-map-status-meta{color:#9fb1c8;font-size:.72rem}
.live-map-status-meta span+span{padding-left:10px;border-left:1px solid rgba(148,184,227,.18)}
.live-panel-toggle{
    position:absolute;
    z-index:720;
    top:16px;
    right:16px;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    padding:0 13px;
    border:1px solid rgba(148,184,227,.22);
    border-radius:12px;
    background:rgba(8,18,31,.86);
    color:#eaf2ff;
    box-shadow:0 14px 34px rgba(2,8,23,.28);
    backdrop-filter:blur(15px);
    cursor:pointer;
}
.live-panel-toggle:hover{background:rgba(17,37,61,.94);border-color:rgba(96,165,250,.42)}
.live-panel-toggle span{font-size:.76rem;font-weight:800}
.live-panel-toggle strong{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:rgba(77,163,255,.18);color:#8fc5ff;font-size:.72rem}
.live-flight-drawer{
    position:absolute;
    z-index:750;
    top:0;
    right:0;
    width:min(390px,92vw);
    height:100%;
    display:flex;
    flex-direction:column;
    transform:translateX(105%);
    transition:transform .28s ease;
    background:rgba(8,18,31,.95);
    border-left:1px solid rgba(148,184,227,.18);
    box-shadow:-24px 0 55px rgba(2,8,23,.38);
    backdrop-filter:blur(18px);
}
.live-flight-drawer.open{transform:translateX(0)}
.live-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:21px 20px 17px;border-bottom:1px solid rgba(148,184,227,.14)}
.live-drawer-head>div{display:grid;gap:3px}
.live-drawer-head .eyebrow{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#69adf5;font-weight:900}
.live-drawer-head strong{font-size:1.08rem}
.live-drawer-close{width:34px;height:34px;border:1px solid rgba(148,184,227,.16);border-radius:10px;background:rgba(255,255,255,.04);color:#dce9f8;font-size:1.4rem;line-height:1;cursor:pointer}
.live-drawer-close:hover{background:rgba(255,255,255,.08)}
.live-flight-drawer .live-flight-list{flex:1;max-height:none;overflow:auto}
.live-flight-drawer .live-flight-item{grid-template-columns:10px minmax(0,1fr);padding:15px 17px;gap:11px;border-bottom:1px solid rgba(148,184,227,.1)}
.live-flight-drawer .live-flight-data{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;margin-top:5px;text-align:left}
.live-flight-drawer .live-flight-data strong{grid-column:1/-1;color:#dce9f8}
.live-flight-drawer .live-flight-data small:last-child{color:#76b7ff}
.live-flight-drawer .empty{padding:42px 22px;text-align:center;color:#8fa3bd}
.live-map-stage .map-legend{left:16px;bottom:16px;z-index:650;background:rgba(8,18,31,.82);border:1px solid rgba(148,184,227,.16);backdrop-filter:blur(12px)}
.live-map-stage .aeris-flight-popup .leaflet-popup-content-wrapper{box-shadow:0 22px 55px rgba(2,8,23,.5)}
@media(max-width:900px){
    .live-map-stage{height:calc(100vh - 145px);min-height:520px;border-radius:14px}
    .live-map-status{left:14px;transform:none;right:auto;gap:11px}
    .live-map-status-meta span:last-child{display:none}
    .live-panel-toggle{right:12px;top:12px}
    .live-map-stage .leaflet-top.leaflet-left{top:68px;left:7px}
}
@media(max-width:560px){
    .live-map-stage{min-height:480px}
    .live-map-status{top:11px;padding:9px 11px}
    .live-map-status-title strong{font-size:.76rem}
    .live-map-status-meta{font-size:.68rem}
    .live-panel-toggle span{display:none}
    .live-panel-toggle{padding:0 9px}
    .live-map-stage .map-legend{display:none}
}

/* AERIS 0.9.4.3 – Financial Engine */
.revenue-breakdown-card{margin-top:18px;overflow:hidden}
.revenue-breakdown-card .section-header{align-items:flex-end}
.revenue-total{display:grid;gap:3px;text-align:right}
.revenue-total span{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:#91a4bc;font-weight:800}
.revenue-total strong{font-size:1.65rem;color:#8fc5ff}
.revenue-breakdown-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin:18px -20px -20px;background:rgba(148,184,227,.1);border-top:1px solid rgba(148,184,227,.1)}
.revenue-breakdown-grid>div{min-height:105px;padding:20px;background:rgba(9,20,34,.78);display:flex;flex-direction:column;gap:7px}
.revenue-breakdown-grid span{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:#91a4bc;font-weight:800}
.revenue-breakdown-grid strong{font-size:1.05rem;color:#e7f1fc}
.revenue-breakdown-grid small{font-size:.7rem;color:#758aa4}
.revenue-breakdown-grid .is-penalty strong{color:#f3a6ad}
@media(max-width:1050px){.revenue-breakdown-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.revenue-breakdown-card .section-header{align-items:flex-start}.revenue-total{text-align:left}.revenue-breakdown-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* AERIS 0.9.4.3a — restored Flight Debrief and Aircraft Detail component styles */
/* AERIS 0.9.2 — Flight Debrief & Replay */
.debrief-v2-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 27px;background:radial-gradient(circle at 82% 20%,rgba(77,163,255,.18),transparent 33%),linear-gradient(145deg,rgba(17,35,57,.98),rgba(8,20,35,.98));overflow:hidden}.debrief-v2-hero h2{margin:.25rem 0 .1rem;font-size:2.15rem;letter-spacing:-.04em}.debrief-v2-route{display:flex;align-items:center;gap:14px;font-size:1.35rem;letter-spacing:.08em}.debrief-v2-route span{color:var(--accent)}.debrief-v2-hero p{margin:.65rem 0 0;color:var(--muted)}.debrief-v2-state{display:grid;justify-items:end;gap:8px;position:relative;z-index:1}.debrief-v2-state small{color:var(--muted)}
.debrief-summary-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;margin-top:16px;border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--line)}.debrief-summary-strip>div{display:grid;gap:4px;padding:14px 15px;background:rgba(13,28,46,.98)}.debrief-summary-strip span{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.debrief-summary-strip strong{font-size:1.1rem}.debrief-summary-strip small{font-size:.69rem;color:var(--muted)}
.debrief-timeline-card{margin-top:16px}.flight-timeline{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));position:relative;margin-top:16px}.flight-timeline:before{content:"";position:absolute;left:5%;right:5%;top:17px;height:2px;background:linear-gradient(90deg,rgba(77,163,255,.75),rgba(77,163,255,.15));z-index:0}.flight-timeline-step{display:grid;justify-items:center;text-align:center;gap:4px;position:relative;z-index:1}.timeline-node{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid rgba(120,170,230,.28);background:#0d1c2f;color:var(--muted);font-weight:800}.flight-timeline-step.is-complete .timeline-node{background:var(--accent);color:#06111f;border-color:transparent;box-shadow:0 0 20px rgba(77,163,255,.3)}.flight-timeline-step strong{font-size:.78rem}.flight-timeline-step time,.flight-timeline-step small{font-size:.7rem;color:var(--muted)}
.debrief-v2-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.7fr);gap:16px;margin-top:16px}.debrief-v2-side{display:grid;gap:16px;align-content:start}.replay-card{min-width:0}#flight-replay-map{height:430px;border-radius:13px;overflow:hidden;border:1px solid var(--line);background:#091522;position:relative}.replay-empty{position:absolute;z-index:1000;inset:0;display:grid;place-items:center;color:var(--muted);background:rgba(7,17,30,.75)}.replay-controls{display:grid;grid-template-columns:auto 1fr 84px;gap:12px;align-items:center;margin-top:13px}.replay-controls input[type=range]{width:100%;accent-color:var(--accent)}.replay-controls select{padding:8px 9px}.replay-play{white-space:nowrap}.replay-telemetry{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.replay-telemetry>div{display:grid;gap:3px;padding:9px 10px;border:1px solid rgba(120,170,230,.13);border-radius:9px;background:rgba(75,135,210,.07)}.replay-telemetry span{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.replay-telemetry strong{font-size:.83rem}.replay-aircraft-icon{background:transparent!important;border:0!important}.replay-aircraft-icon span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#4da3ff;color:#06111f;font-size:19px;box-shadow:0 5px 20px rgba(0,0,0,.35),0 0 0 5px rgba(77,163,255,.15);transition:transform .18s linear}
.aircraft-summary-v2 h3{margin:.3rem 0 0;font-size:1.25rem}.aircraft-summary-v2>p{margin:.25rem 0 1rem;color:var(--accent);font-weight:750;letter-spacing:.08em}.aircraft-summary-v2 dl{display:grid;margin:0}.aircraft-summary-v2 dl>div{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid var(--line)}.aircraft-summary-v2 dl>div:last-child{border-bottom:0}.aircraft-summary-v2 dt{color:var(--muted)}.aircraft-summary-v2 dd{margin:0;font-weight:750}.profile-chart-v2{height:205px}.profile-chart-v2 canvas{display:block;width:100%;height:100%}.report-submit-v2{margin-top:16px}
.leaflet-container{font-family:inherit}.leaflet-control-attribution{font-size:9px!important}
@media(max-width:1250px){.debrief-summary-strip{grid-template-columns:repeat(3,1fr)}.flight-timeline{grid-template-columns:repeat(4,1fr);row-gap:22px}.flight-timeline:before{display:none}.debrief-v2-grid{grid-template-columns:1fr}.debrief-v2-side{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.debrief-v2-hero{display:grid}.debrief-v2-state{justify-items:start}.debrief-summary-strip{grid-template-columns:repeat(2,1fr)}.flight-timeline{grid-template-columns:repeat(2,1fr)}.debrief-v2-side{grid-template-columns:1fr}#flight-replay-map{height:340px}.replay-controls{grid-template-columns:1fr}.replay-telemetry{grid-template-columns:repeat(2,1fr)}}

/* v0.9.2b – clickable Fleet & Aircraft detail */
.fleet-card-link{cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.fleet-card-link:hover{transform:translateY(-2px);border-color:rgba(77,163,255,.32);box-shadow:0 22px 55px rgba(0,0,0,.23)}.fleet-details-link{margin-left:auto;color:var(--accent);text-decoration:none;font-weight:700}.aircraft-detail-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:28px 30px;margin-bottom:16px;border:1px solid rgba(125,169,222,.14);border-radius:18px;background:radial-gradient(circle at 82% 0,rgba(77,163,255,.18),transparent 32%),linear-gradient(145deg,#122238,#0a1728)}.aircraft-detail-hero h1{font-size:2.65rem;margin:.25rem 0 .2rem;letter-spacing:-.045em}.aircraft-detail-hero p{margin:0;color:var(--muted)}.aircraft-status-stack{text-align:right;display:grid;gap:4px;justify-items:end}.aircraft-status{padding:6px 10px;border-radius:999px;font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(148,163,184,.18)}.aircraft-status-available{color:#66e3b0;background:rgba(34,197,94,.1)}.aircraft-status-maintenance,.aircraft-status-grounded{color:#ffbf68;background:rgba(245,158,11,.1)}.aircraft-status-reserved{color:#83c7ff;background:rgba(47,128,237,.12)}.aircraft-status-stack>strong{font-size:1.65rem}.aircraft-status-stack small{color:var(--muted)}.aircraft-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}.aircraft-kpi-grid>div{padding:15px 16px;border-radius:13px;background:rgba(17,32,51,.8);border:1px solid rgba(125,169,222,.12);display:grid;gap:5px}.aircraft-kpi-grid span,.aircraft-live-grid span,.aircraft-spec-list span{font-size:.68rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.aircraft-kpi-grid strong{font-size:1.08rem}.aircraft-live-card{margin-bottom:16px}.aircraft-live-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.aircraft-live-grid>div{padding:13px;border-radius:11px;background:rgba(77,163,255,.065);border:1px solid rgba(77,163,255,.13);display:grid;gap:5px}.aircraft-detail-grid{grid-template-columns:1fr 1fr;margin-bottom:16px}.aircraft-spec-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.aircraft-spec-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(148,163,184,.1)}.condition-meter{display:grid;gap:17px}.condition-meter>div{display:grid;grid-template-columns:1fr auto;gap:7px}.condition-meter span{color:var(--muted);font-size:.78rem}.condition-meter i{grid-column:1/-1;height:6px;background:rgba(148,163,184,.1);border-radius:999px;overflow:hidden}.condition-meter b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2f80ed,#4da3ff)}.aircraft-history{padding-bottom:5px}.aircraft-flight-head,.aircraft-flight-row{display:grid;grid-template-columns:.7fr .9fr 1.2fr .8fr .75fr 1fr;gap:16px;align-items:center}.aircraft-flight-head{padding:9px 0;border-bottom:1px solid rgba(148,163,184,.14);font-size:.63rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.aircraft-flight-row{min-height:56px;border-bottom:1px solid rgba(148,163,184,.09);font-size:.78rem}.aircraft-flight-row:last-child{border-bottom:0}.aircraft-flight-row time{color:var(--muted)}@media(max-width:1100px){.aircraft-kpi-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.aircraft-detail-hero{align-items:flex-start;flex-direction:column}.aircraft-status-stack{text-align:left;justify-items:start}.aircraft-kpi-grid,.aircraft-live-grid,.aircraft-detail-grid{grid-template-columns:1fr 1fr}.aircraft-flight-head{display:none}.aircraft-flight-row{grid-template-columns:1fr 1fr;gap:7px 14px;padding:12px 0}}@media(max-width:520px){.aircraft-kpi-grid,.aircraft-live-grid,.aircraft-detail-grid,.aircraft-spec-list{grid-template-columns:1fr}}



/* Revenue card spacing after restored component styles */
.revenue-breakdown-card{margin-top:18px;overflow:hidden}
.revenue-breakdown-card .section-header{align-items:flex-end}

/* AERIS 0.9.4.4 — METAR */
.metar-section{margin-top:18px;overflow:hidden}
.weather-updated{font-size:.72rem;color:var(--muted)}
.metar-pair-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:17px}
.metar-card{border:1px solid rgba(120,170,230,.14);border-radius:13px;padding:17px;background:linear-gradient(145deg,rgba(13,29,48,.82),rgba(8,19,33,.78));min-width:0}
.metar-card.is-unavailable{opacity:.75}
.metar-card-head,.popup-metar-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.metar-card-head>div,.popup-metar-head>div{display:grid;gap:2px}
.metar-card-head span,.popup-metar-head span{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}
.metar-card-head strong{font-size:1.25rem;letter-spacing:.05em}
.flight-category{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:5px 8px;border-radius:999px;font-size:.65rem!important;letter-spacing:.06em!important;font-weight:900;background:rgba(148,163,184,.12);color:#cbd5e1!important;border:1px solid rgba(148,163,184,.18)}
.flight-category.category-vfr{background:rgba(35,199,126,.12);color:#7ce2b1!important;border-color:rgba(35,199,126,.25)}
.flight-category.category-mvfr{background:rgba(77,163,255,.13);color:#83bdff!important;border-color:rgba(77,163,255,.27)}
.flight-category.category-ifr{background:rgba(239,173,66,.13);color:#f7c56f!important;border-color:rgba(239,173,66,.26)}
.flight-category.category-lifr{background:rgba(239,91,104,.13);color:#ff9ba5!important;border-color:rgba(239,91,104,.26)}
.metar-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:15px}
.metar-values>div{display:grid;gap:4px;padding:10px;border:1px solid rgba(120,170,230,.11);border-radius:9px;background:rgba(66,120,190,.055)}
.metar-values span{font-size:.62rem;text-transform:uppercase;letter-spacing:.075em;color:var(--muted);font-weight:800}
.metar-values strong{font-size:.78rem;white-space:nowrap}
.metar-raw{display:block;margin-top:12px;padding:10px 11px;border-radius:9px;background:rgba(2,10,20,.52);color:#bcd4ee;font-size:.72rem;line-height:1.45;white-space:normal;overflow-wrap:anywhere;border:1px solid rgba(120,170,230,.09)}
.metar-foot{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:.65rem;color:var(--muted)}
.weather-stale{color:#f7c56f}
.metar-error{margin:16px 0 0;color:var(--muted)}
.popup-metar{display:grid;gap:7px;margin:12px 0;padding-top:11px;border-top:1px solid rgba(95,140,190,.16)}
.popup-metar-title{display:flex;align-items:center;justify-content:space-between;font-size:.72rem}.popup-metar-title span{color:#7f93aa;font-size:.62rem}
.popup-metar-station{padding:9px 10px;border-radius:9px;background:rgba(12,28,47,.82);border:1px solid rgba(103,153,210,.13)}
.popup-metar-station.is-unavailable{display:flex;justify-content:space-between;gap:8px;color:#8094ab}.popup-metar-station.is-unavailable>div{display:grid}.popup-metar-station.is-unavailable span{font-size:.6rem;text-transform:uppercase}.popup-metar-station.is-unavailable small{align-self:center;text-align:right}
.popup-metar-head strong{font-size:.82rem}
.popup-metar-values{display:flex;flex-wrap:wrap;gap:5px 11px;margin-top:7px;color:#cbd9e8;font-size:.67rem}
.popup-metar-station code{display:block;margin-top:7px;color:#8fa9c4;font-size:.59rem;line-height:1.35;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1050px){.metar-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.metar-pair-grid{grid-template-columns:1fr}.metar-values{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.metar-values{grid-template-columns:1fr}}


/* AERIS 0.9.4.5 — Company News */
.dashboard-news-card{padding:5px 20px;overflow:hidden}
.dashboard-news-item{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid rgba(148,163,184,.1)}
.dashboard-news-item:last-child{border-bottom:0}.dashboard-news-icon,.company-news-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:rgba(77,163,255,.1);border:1px solid rgba(77,163,255,.18);color:#8fc5ff;font-weight:900}
.dashboard-news-item strong{display:block;font-size:.82rem}.dashboard-news-item p{margin:4px 0 5px;color:var(--muted);font-size:.72rem;line-height:1.4}.dashboard-news-item time{font-size:.65rem;color:#6f849c}
.news-type-flight .dashboard-news-icon,.news-type-flight .company-news-icon{color:#7ce2b1;background:rgba(35,199,126,.1);border-color:rgba(35,199,126,.2)}
.news-type-finance .dashboard-news-icon,.news-type-finance .company-news-icon{color:#f7c56f;background:rgba(239,173,66,.1);border-color:rgba(239,173,66,.2)}
.news-type-announcement .dashboard-news-icon,.news-type-announcement .company-news-icon{color:#ff9ba5;background:rgba(239,91,104,.1);border-color:rgba(239,91,104,.2)}
.company-news-toolbar{padding:13px 15px;margin-bottom:16px}.news-filter-row{display:flex;flex-wrap:wrap;gap:7px}.news-filter{padding:7px 11px;border-radius:999px;text-decoration:none;color:var(--muted);font-size:.73rem;font-weight:750;border:1px solid rgba(148,163,184,.13)}.news-filter:hover,.news-filter.is-active{color:#dcecff;background:rgba(77,163,255,.12);border-color:rgba(77,163,255,.25)}
.company-news-compose{margin-bottom:16px}.news-compose-form{display:grid;grid-template-columns:170px 1fr auto;gap:10px}.news-compose-form textarea{grid-column:1/3;resize:vertical}.news-compose-form button{grid-column:3;grid-row:1/3;align-self:stretch}.company-news-page-list{display:grid;gap:12px}.company-news-item{display:grid;grid-template-columns:46px 1fr;gap:15px;padding:20px}.company-news-item .company-news-icon{width:42px;height:42px;border-radius:13px;font-size:1.05rem}.company-news-meta{display:flex;justify-content:space-between;gap:14px;margin-bottom:5px}.company-news-meta span{font-size:.63rem;letter-spacing:.09em;color:var(--accent);font-weight:850}.company-news-meta time{font-size:.68rem;color:var(--muted)}.company-news-copy h2{margin:0;font-size:1rem}.company-news-copy p{margin:7px 0 0;color:var(--muted);line-height:1.55;font-size:.82rem}
@media(max-width:760px){.news-compose-form{grid-template-columns:1fr}.news-compose-form textarea,.news-compose-form button{grid-column:1;grid-row:auto}.company-news-item{grid-template-columns:38px 1fr;padding:16px}.company-news-item .company-news-icon{width:36px;height:36px}.company-news-meta{display:grid;gap:3px}}

/* AERIS 0.9.4.6 — Pilot Logbook */
.logbook-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;margin-bottom:16px;background:radial-gradient(circle at 88% 15%,rgba(77,163,255,.16),transparent 32%),linear-gradient(145deg,#122238,#0a1728)}
.logbook-hero h2{font-size:1.8rem;margin:.25rem 0 .2rem}.logbook-hero p{margin:0;color:var(--muted);font-size:.82rem}
.logbook-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:16px}.logbook-kpis article{display:grid;gap:5px;padding:17px 18px}.logbook-kpis span{font-size:.65rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}.logbook-kpis strong{font-size:1.25rem}.logbook-kpis small{color:var(--muted);font-size:.67rem}
.logbook-filter-card{padding:15px 17px;margin-bottom:16px}.logbook-filter{display:grid;grid-template-columns:150px minmax(210px,1fr) minmax(220px,1.1fr) auto auto;gap:10px;align-items:end}.logbook-filter label{display:grid;gap:6px}.logbook-filter label>span{font-size:.64rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:800}.logbook-filter select,.logbook-filter input{width:100%}
.logbook-card{overflow:hidden}.logbook-table-wrap{overflow-x:auto}.logbook-table{width:100%;border-collapse:collapse;min-width:980px}.logbook-table th{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,.14);font-size:.61rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.logbook-table td{padding:13px 12px;border-bottom:1px solid rgba(148,163,184,.09);font-size:.76rem;vertical-align:middle}.logbook-table tbody tr{transition:background .16s ease}.logbook-table tbody tr:hover{background:rgba(77,163,255,.045)}.logbook-table tbody tr:last-child td{border-bottom:0}.logbook-table td small{display:block;margin-top:3px;color:var(--muted);font-size:.65rem}.logbook-table time{font-weight:750}.logbook-route{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.logbook-route i{font-style:normal;color:var(--accent)}.logbook-revenue{color:#7ce2b1;font-weight:800;white-space:nowrap}.logbook-open{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;text-decoration:none;background:rgba(77,163,255,.1);border:1px solid rgba(77,163,255,.18);font-size:1rem}.logbook-open:hover{background:rgba(77,163,255,.2)}
@media(max-width:1180px){.logbook-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.logbook-filter{grid-template-columns:1fr 1fr}.logbook-search{grid-column:1/-1}.logbook-filter .btn{justify-content:center}}
@media(max-width:700px){.logbook-hero{align-items:flex-start;flex-direction:column}.logbook-kpis{grid-template-columns:1fr 1fr}.logbook-filter{grid-template-columns:1fr}.logbook-search{grid-column:auto}}
@media(max-width:430px){.logbook-kpis{grid-template-columns:1fr}}

/* v0.9.4.7 Airport search */
.airport-search-field{position:relative;min-width:0}
.airport-search-input{text-transform:none}
.airport-search-results{position:absolute;z-index:1200;top:calc(100% + 8px);left:0;right:0;max-height:340px;overflow:auto;padding:6px;background:rgba(11,18,29,.98);border:1px solid rgba(148,163,184,.22);border-radius:14px;box-shadow:0 22px 60px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.airport-search-option{width:100%;display:grid;grid-template-columns:64px minmax(0,1fr);gap:3px 12px;align-items:center;padding:11px 12px;border:0;border-radius:10px;background:transparent;color:var(--text,#eef4fb);text-align:left;cursor:pointer}
.airport-search-option:hover,.airport-search-option.active{background:rgba(74,144,226,.13)}
.airport-search-option strong{grid-row:1/3;font-size:15px;letter-spacing:.08em;color:#fff}
.airport-search-option-main{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}
.airport-search-option small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted,#91a0b5);font-size:12px}
.airport-search-empty{padding:14px;color:var(--muted,#91a0b5);text-align:center}
@media(max-width:720px){.airport-search-results{position:fixed;left:14px;right:14px;top:auto;bottom:18px;max-height:48vh}}

/* AERIS 0.9.5.0 — Navigation Core */
.navigation-route-preview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}
.navigation-route-preview article{display:grid;gap:5px;padding:13px 15px;border:1px solid rgba(120,170,230,.12);border-radius:12px;background:rgba(35,78,125,.07)}
.navigation-route-preview span{font-size:.62rem;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:800}
.navigation-route-preview strong{font-size:.9rem}.navigation-route-preview .is-good{color:#7ce2b1}.navigation-route-preview .is-warning{color:#f7c56f}.navigation-route-preview .is-bad{color:#ff9ba5}
.airport-search-option small{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:850px){.navigation-route-preview{grid-template-columns:1fr 1fr}}
@media(max-width:470px){.navigation-route-preview{grid-template-columns:1fr}}


/* AERIS 0.9.5.1 — Navigation UX */
.airport-search-option{grid-template-columns:72px minmax(0,1fr);padding:13px 14px}
.airport-search-option strong{grid-row:auto;font-size:16px;align-self:start;padding-top:2px}
.airport-search-option-copy{display:grid;gap:3px;min-width:0}
.airport-search-option-main{font-size:.82rem;font-weight:750;color:#f5f9ff}
.airport-search-option-location{font-size:.7rem;color:#9db0c6}
.airport-search-option-facts{font-size:.67rem;color:#7188a2;white-space:normal!important;overflow:visible!important}
.airport-search-empty{display:grid;gap:5px;padding:18px;text-align:left}
.airport-search-empty strong{color:#e7f1fc;font-size:.82rem}
.airport-search-empty span{font-size:.7rem;color:var(--muted)}
.airport-selection-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;margin-top:10px;padding:13px 14px;border:1px solid rgba(77,163,255,.16);border-radius:12px;background:rgba(77,163,255,.055)}
.airport-selection-preview>div{display:grid;gap:2px}.airport-selection-preview>div strong{font-size:.95rem;letter-spacing:.08em}.airport-selection-preview>div span{font-size:.75rem;font-weight:700}.airport-selection-preview>div small{font-size:.66rem;color:var(--muted)}
.airport-selection-preview dl{display:grid;grid-template-columns:auto auto;gap:8px 15px;margin:0}.airport-selection-preview dl div{display:grid;gap:2px}.airport-selection-preview dt{font-size:.57rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.airport-selection-preview dd{margin:0;font-size:.7rem;font-weight:750;white-space:nowrap}
.rotation-generator-form .airport-search-field{min-width:310px}
.navigation-route-preview strong{line-height:1.35}
@media(max-width:760px){.airport-selection-preview{grid-template-columns:1fr}.airport-selection-preview dl{grid-template-columns:1fr 1fr}.rotation-generator-form .airport-search-field{min-width:0}}

/* AERIS 0.9.6 — Dispatch Advisor */
.advisor-score-tile{position:relative}.advisor-why{justify-self:start;padding:0;border:0;background:none;color:#78b8ff;font-size:.68rem;font-weight:800;cursor:pointer}.advisor-why:hover{text-decoration:underline}
.dispatch-advisor-panel{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:12px;margin-top:12px}.advisor-status-card,.advisor-recommendation{padding:16px 18px;border-radius:14px;border:1px solid rgba(120,170,230,.14);background:rgba(25,61,101,.08)}.advisor-status-card{display:grid;gap:5px}.advisor-status-card strong{font-size:1rem;letter-spacing:.05em}.advisor-status-card small,.advisor-recommendation p{color:var(--muted);font-size:.74rem;line-height:1.5}.advisor-recommendation p{margin:6px 0 0}.dispatch-advisor-panel[data-status="approved"] .advisor-status-card strong{color:#7ce2b1}.dispatch-advisor-panel[data-status="limited"] .advisor-status-card strong,.dispatch-advisor-panel[data-status="warning"] .advisor-status-card strong{color:#f7c56f}.dispatch-advisor-panel[data-status="blocked"] .advisor-status-card strong{color:#ff9ba5}
.advisor-modal[hidden]{display:none}.advisor-modal{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;padding:20px}.advisor-modal-backdrop{position:absolute;inset:0;background:rgba(2,8,16,.78);backdrop-filter:blur(8px)}.advisor-modal-card{position:relative;width:min(720px,100%);max-height:min(820px,92vh);overflow:auto;padding:22px;border-radius:20px;background:#0d1929;border:1px solid rgba(128,177,232,.2);box-shadow:0 30px 100px rgba(0,0,0,.6)}.advisor-modal-card>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.advisor-modal-card h2{margin:.25rem 0 0}.advisor-close{border:0;background:rgba(255,255,255,.06);color:#fff;width:36px;height:36px;border-radius:10px;font-size:1.5rem;cursor:pointer}.advisor-modal-score{display:flex;align-items:baseline;gap:12px;padding:20px 0 14px}.advisor-modal-score strong{font-size:2.2rem}.advisor-modal-score span{color:var(--muted);font-weight:800}.advisor-check-list{display:grid;gap:9px}.advisor-check{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border-radius:12px;background:rgba(255,255,255,.025);border:1px solid rgba(148,163,184,.1)}.advisor-check i{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-style:normal;font-weight:900}.advisor-check div{display:grid;gap:3px}.advisor-check span{font-size:.7rem;color:var(--muted)}.advisor-check b{font-size:.7rem;color:var(--muted)}.advisor-check.is-good i{color:#7ce2b1;background:rgba(35,199,126,.12)}.advisor-check.is-warning i{color:#f7c56f;background:rgba(239,173,66,.12)}.advisor-check.is-bad i{color:#ff9ba5;background:rgba(239,91,104,.12)}.advisor-modal-recommendation{margin-top:14px;padding:15px 16px;border-radius:12px;background:rgba(77,163,255,.07);border:1px solid rgba(77,163,255,.15)}.advisor-modal-recommendation span{font-size:.62rem;letter-spacing:.09em;color:var(--accent);font-weight:850}.advisor-modal-recommendation p{margin:6px 0 0;line-height:1.55}.modal-open{overflow:hidden}
@media(max-width:720px){.dispatch-advisor-panel{grid-template-columns:1fr}.advisor-check{grid-template-columns:30px 1fr}.advisor-check b{grid-column:2}}

/* AERIS 0.9.6c — Rotation Planner UX */
.airport-selection-preview[hidden],
.airport-search-results[hidden]{display:none!important}
.rotation-builder-form{padding:0}
.rotation-builder-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.85fr);gap:0}
.rotation-builder-main,.rotation-builder-settings{padding:26px 30px 28px}
.rotation-builder-main{border-right:1px solid var(--line)}
.rotation-builder-settings{background:rgba(7,18,31,.24)}
.rotation-step-head{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.rotation-step-head>div,.rotation-action-copy>div{display:grid;gap:3px}
.rotation-step-head strong,.rotation-action-copy strong{font-size:.82rem;color:#eef6ff}
.rotation-step-head small,.rotation-action-copy small{font-size:.69rem;color:var(--muted);line-height:1.4}
.rotation-step-number{display:grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:rgba(77,163,255,.12);border:1px solid rgba(77,163,255,.26);color:#91c8ff;font-size:.72rem;font-weight:900;letter-spacing:.04em}
.rotation-airport-search{min-width:0!important}
.rotation-airport-search .airport-search-input{height:64px;padding-left:18px;font-size:.92rem;font-weight:700}
.rotation-airport-preview{margin-top:14px;padding:17px 18px;background:linear-gradient(135deg,rgba(77,163,255,.085),rgba(73,210,187,.035));border-color:rgba(77,163,255,.22)}
.rotation-builder-settings>.dispatch-field{margin-bottom:18px}
.rotation-builder-settings input{height:54px}
.rotation-distance-fields{gap:14px}
.rotation-unit-input{position:relative}
.rotation-unit-input input{padding-right:52px}
.rotation-unit-input span{position:absolute;right:15px;top:50%;transform:translateY(-50%);color:#7f96af;font-size:.65rem;font-weight:900;letter-spacing:.08em;pointer-events:none}
.rotation-action-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:19px 30px;border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(77,163,255,.045),rgba(73,210,187,.025))}
.rotation-action-copy{display:flex;align-items:center;gap:12px}
.rotation-generate-button{min-width:250px;height:54px}
@media(max-width:1050px){.rotation-builder-grid{grid-template-columns:1fr}.rotation-builder-main{border-right:0;border-bottom:1px solid var(--line)}.rotation-builder-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 20px}.rotation-builder-settings .rotation-step-head{grid-column:1/-1}.rotation-builder-settings>.dispatch-field{margin-bottom:0}}
@media(max-width:720px){.rotation-builder-main,.rotation-builder-settings{padding:21px 18px}.rotation-builder-settings{grid-template-columns:1fr}.rotation-distance-fields{grid-template-columns:1fr 1fr}.rotation-action-bar{align-items:stretch;flex-direction:column;padding:18px}.rotation-generate-button{width:100%;min-width:0}.rotation-action-copy{align-items:flex-start}}
@media(max-width:460px){.rotation-distance-fields{grid-template-columns:1fr}}


/* AERIS 0.9.7 — Discord account connection */
.discord-card{position:relative;overflow:hidden;padding:0}
.discord-card:before{content:"";position:absolute;inset:-120px -90px auto auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(88,101,242,.18),transparent 68%);pointer-events:none}
.discord-card-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px 26px 20px;border-bottom:1px solid rgba(148,163,184,.1)}
.discord-card-head>div:first-child{min-width:0}
.discord-card-head .eyebrow{display:block;margin-bottom:6px;color:#8ea2bb;font-size:.61rem;font-weight:850;letter-spacing:.13em}
.discord-card-head h2{margin:0;font-size:1.08rem}
.discord-card-head p{max-width:580px;margin:8px 0 0;color:var(--muted);font-size:.72rem;line-height:1.55}
.discord-mark{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;border-radius:18px;color:#fff;background:linear-gradient(145deg,#5865f2,#7289da);border:1px solid rgba(255,255,255,.2);box-shadow:0 14px 34px rgba(88,101,242,.28)}
.discord-mark svg{width:32px;height:32px}
.discord-account{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:20px 26px 0;padding:16px 17px;border:1px solid rgba(148,163,184,.13);border-radius:14px;background:rgba(255,255,255,.025)}
.discord-account>div{display:grid;gap:4px;min-width:0}
.discord-account small{color:#8094ad;font-size:.58rem;font-weight:850;letter-spacing:.1em}
.discord-account strong{color:#f4f8ff;font-size:.88rem}
.discord-account span:not(.discord-status){color:var(--muted);font-size:.68rem;line-height:1.45}
.discord-account.is-linked{border-color:rgba(67,198,172,.22);background:rgba(67,198,172,.045)}
.discord-account.has-warning{border-color:rgba(247,198,107,.24);background:rgba(247,198,107,.045)}
.discord-status{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;padding:7px 10px;border-radius:999px;background:rgba(67,198,172,.09);border:1px solid rgba(67,198,172,.2);color:#8ce7d1;font-size:.62rem;font-weight:850;white-space:nowrap}
.discord-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#43c6ac;box-shadow:0 0 0 4px rgba(67,198,172,.1)}
.discord-status.is-offline{background:rgba(148,163,184,.07);border-color:rgba(148,163,184,.15);color:#a9b7c8}
.discord-status.is-offline:before{background:#71849a;box-shadow:0 0 0 4px rgba(113,132,154,.1)}
.discord-benefits{display:grid;gap:9px;margin:16px 26px 0;padding:15px 17px;list-style:none;border:1px solid rgba(88,101,242,.14);border-radius:14px;background:linear-gradient(135deg,rgba(88,101,242,.06),rgba(46,164,215,.025))}
.discord-benefits li{position:relative;padding-left:24px;color:#b5c3d2;font-size:.69rem;line-height:1.4}
.discord-benefits li:before{content:"✓";position:absolute;left:0;top:-1px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:rgba(88,101,242,.14);color:#aeb5ff;font-size:.61rem;font-weight:900}
.discord-actions{display:flex;flex-wrap:wrap;gap:10px;padding:18px 26px 24px}
.discord-actions form{display:contents}
.discord-actions .btn{min-height:42px;justify-content:center}
.discord-connect-btn{background:linear-gradient(135deg,#5865f2,#6674f4);border-color:rgba(255,255,255,.16);box-shadow:0 10px 24px rgba(88,101,242,.2)}
.discord-connect-btn:hover{transform:translateY(-1px);filter:brightness(1.06)}
.discord-meta{margin:-8px 26px 22px;color:#778ba3;font-size:.62rem}
@media(max-width:620px){.discord-card-head{padding:21px 18px 17px}.discord-mark{width:50px;height:50px;border-radius:15px}.discord-mark svg{width:28px;height:28px}.discord-account{align-items:flex-start;flex-direction:column;margin:16px 18px 0}.discord-benefits{margin:14px 18px 0}.discord-actions{padding:16px 18px 20px}.discord-actions .btn,.discord-actions form{width:100%}.discord-meta{margin:-6px 18px 20px}}


/* AERIS v0.9.9 — Corporate Branding */
.brand-logo {
    display: block;
    margin-bottom: 28px;
}
.brand-logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}
.sidebar .brand-logo {
    width: 205px;
    max-width: 100%;
    margin-left: 2px;
}
.login-card .login-brand {
    width: min(100%, 370px);
    margin: 0 auto 22px;
}
.login-card .login-brand img {
    filter: drop-shadow(0 14px 30px rgba(0, 122, 255, .15));
}
@media (max-width: 760px) {
    .sidebar .brand-logo { width: 174px; margin-bottom: 22px; }
    .login-card .login-brand { width: min(100%, 320px); }
}
