:root { --primary:#c91f49; --primary-hover:#a9183c; --secondary:#e8edf2; --secondary-hover:#d9e0e7; --text-main:#1f2f3d; --text-muted:#667788; --page-bg:#f6f7f8; --card-bg:#fff; --border:#dfe4e8; --page-background:var(--page-bg); --surface:var(--card-bg); --surface-muted:var(--secondary); --text-primary:var(--text-main); --text-secondary:var(--text-muted); --primary-soft:#fce8ee; --navy:#294457; --navy-hover:#3a5669; --focus-ring:#f4b7c7; --success:#1d6a4a; --success-background:#eaf6ef; --warning:#a76411; --warning-background:#fff6e7; --danger:#a62c3f; --danger-background:#fdf0f2; --shadow:0 1rem 2.5rem rgba(20,35,52,.08); font-family: Arial, Helvetica, sans-serif; color: var(--text-primary); background: var(--page-background); }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: linear-gradient(145deg, #e4f5f5, #f8fbfc 55%, #f5ead8); color: #102238; }
.welcome, .auth-shell { display: grid; min-height: 100vh; place-items: center; padding: 2rem; }
h1 { margin: 0 0 .6rem; font-size: clamp(2rem, 5vw, 3rem); }
.card { width: min(100%, 38rem); padding: clamp(1.5rem, 5vw, 3rem); background: rgba(255, 255, 255, .95); border: 1px solid #cddde0; border-radius: 1.25rem; box-shadow: 0 1.25rem 3.5rem rgba(22, 59, 72, .12); }
.eyebrow { margin: 0 0 .75rem; color: #0b7482; font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
form { display: grid; gap: 1rem; margin-top: 1.5rem; }
label { display: grid; gap: .4rem; font-size: .92rem; font-weight: 700; }
input { width: 100%; padding: .75rem .85rem; border: 1px solid #aebfc4; border-radius: .55rem; font: inherit; font-weight: 400; }
select, textarea { width: 100%; padding: .75rem .85rem; border: 1px solid #aebfc4; border-radius: .55rem; background: #fff; color: #102238; font: inherit; font-weight: 400; }textarea { resize: vertical; line-height: 1.5; }
input:focus { outline: 3px solid #9fdfdf; border-color: #087c87; }
button { padding: .8rem 1rem; border: 0; border-radius: .55rem; background: #087c87; color: white; cursor: pointer; font: inherit; font-weight: 700; }
button:hover { background: #06626c; }.secondary { background: #385665; }.secondary:hover { background: #263f4b; }
.form-row { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
small, .alert { color: #a22b30; }.alert { padding: .8rem; background: #fff0f0; border-radius: .5rem; }.muted, .handle { color: #58717c; font-weight: 400; }.footer-link { margin: 1.5rem 0 0; text-align: center; }.footer-link a { color: #087c87; font-weight: 700; }
.profile-heading { display: flex; gap: 1rem; align-items: center; }.avatar { width: 4.5rem; height: 4.5rem; border-radius: 50%; object-fit: cover; }.profile-details { display: grid; gap: 1rem; margin: 2rem 0; }.profile-details div { padding-bottom: 1rem; border-bottom: 1px solid #dce7e9; }.profile-details dt { color: #58717c; font-size: .82rem; font-weight: 700; text-transform: uppercase; }.profile-details dd { margin: .25rem 0 0; }
.success { padding: .8rem; color: #17623b; background: #ebf8ef; border-radius: .5rem; }.wide-card { width: min(100%, 76rem); }.table-wrap { overflow-x: auto; margin-top: 1.5rem; }table { width: 100%; border-collapse: collapse; font-size: .9rem; }th, td { padding: .75rem; border-bottom: 1px solid #dce7e9; text-align: left; white-space: nowrap; }th { color: #58717c; font-size: .75rem; text-transform: uppercase; }.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; margin: 1.5rem 0; }.stats div { padding: 1rem; border-radius: .6rem; background: #eef7f7; }.stats strong, .stats span { display: block; }.stats strong { font-size: 2rem; }.stats span { color: #58717c; }
@media (max-width: 34rem) { .auth-shell { padding: 1rem; }.card { padding: 1.5rem; }.form-row { grid-template-columns: 1fr; } }

.profile-page { width: min(100%, 74rem); margin: 0 auto; padding: 1.5rem clamp(1rem, 4vw, 3rem) 4rem; }.profile-page section { margin-top: 2.5rem; }.profile-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid rgba(115, 155, 165, .35); }.profile-nav > div { display: flex; align-items: center; gap: 1rem; }.profile-nav a, .brand { color: #0b7482; font-weight: 700; text-decoration: none; }.brand { color: #102238; letter-spacing: -.02em; }.text-button { padding: 0; background: transparent; color: #0b7482; font-size: .95rem; }.text-button:hover { background: transparent; color: #065e68; }.text-button:disabled { color: #78939a; cursor: not-allowed; }.logout-form { display: inline; margin: 0; }.profile-hero { display: flex; align-items: center; gap: 1.5rem; padding: clamp(1.5rem, 4vw, 3rem); background: linear-gradient(120deg, #083e50, #087c87 75%, #1a9aac); color: #fff; border-radius: 1.25rem; box-shadow: 0 1rem 2.5rem rgba(9, 69, 82, .2); }.profile-hero .eyebrow { color: #c1f0ed; }.profile-hero h1 { margin-bottom: .25rem; }.profile-avatar { width: 7rem; height: 7rem; flex: 0 0 auto; border: 4px solid rgba(255, 255, 255, .55); border-radius: 50%; object-fit: cover; background: #dceff0; }.avatar-placeholder { display: grid; place-items: center; color: #073c4b; font-size: 1.8rem; font-weight: 800; }.profile-handle, .country-line { margin: .35rem 0 0; }.profile-handle { color: #d2f5f1; }.country-line { color: #fff; }.profile-bio { max-width: 50rem; padding: 0 1rem; border-left: 3px solid #d6a65e; }.profile-bio h2, .section-heading h2 { margin: 0; font-size: 1.5rem; }.profile-bio p { line-height: 1.7; color: #395561; }.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }.section-heading .eyebrow { margin-bottom: .3rem; }.verified-state { padding: .4rem .65rem; border-radius: 99px; background: #eaf7ef; color: #17623b; font-size: .83rem; font-weight: 700; }.flight-stats { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1rem; margin-top: 1.25rem; }.flight-stats article { padding: 1.1rem; border: 1px solid #d5e4e6; border-radius: .85rem; background: rgba(255, 255, 255, .82); }.flight-stats span, .flight-stats strong { display: block; }.flight-stats span { color: #5a727b; font-size: .8rem; font-weight: 700; text-transform: uppercase; }.flight-stats strong { margin-top: .5rem; font-size: 1.25rem; }.flight-stats small { color: #58717c; font-size: .75rem; }.my-flights { padding-top: 2rem; }.upload-placeholder { background: #d39a40; }.upload-placeholder:hover { background: #bd852f; }.empty-flight-state { display: grid; place-items: center; padding: 3.5rem 1.5rem; margin-top: 1.25rem; border: 1px dashed #adc9ce; border-radius: 1rem; background: rgba(255, 255, 255, .55); text-align: center; }.empty-flight-state span { color: #d39a40; font-size: 2.5rem; }.empty-flight-state h3 { margin: .5rem 0 0; }.empty-flight-state p { max-width: 28rem; margin: .5rem 0 0; color: #58717c; }.flight-card-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 1.25rem; }.flight-card { padding: 1.25rem; border: 1px solid #d5e4e6; border-radius: .9rem; background: #fff; }.flight-card-top { display: flex; justify-content: space-between; gap: 1rem; }.flight-card h3, .flight-card p { margin: 0; }.flight-card p { margin-top: .4rem; color: #58717c; font-size: .9rem; }.flight-card-top > span { color: #087c87; font-weight: 800; white-space: nowrap; }.flight-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: .75rem; margin: 1.25rem 0; }.flight-card dt { color: #58717c; font-size: .72rem; font-weight: 700; text-transform: uppercase; }.flight-card dd { margin: .2rem 0 0; font-weight: 700; }.flight-actions { display: flex; gap: .75rem; }.flight-actions button { flex: 1; }.flight-actions button:disabled, .upload-placeholder[aria-disabled="true"] { cursor: not-allowed; opacity: .78; }.public-profile-page { padding-top: 1.5rem; }
@media (max-width: 52rem) { .flight-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }.flight-card-grid { grid-template-columns: 1fr; } }
@media (max-width: 34rem) { .profile-page { padding: 1rem 1rem 3rem; }.profile-nav, .profile-nav > div { align-items: flex-start; }.profile-nav { flex-direction: column; }.profile-hero { align-items: flex-start; flex-direction: column; }.flight-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }.flight-stats article:last-child { grid-column: span 2; }.section-heading { align-items: flex-start; flex-direction: column; }.profile-avatar { width: 5.5rem; height: 5.5rem; }.profile-page section { margin-top: 1.75rem; } }
.edit-profile-layout { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 6vw, 5rem); margin-top: 3rem; }.edit-intro { max-width: 22rem; color: #58717c; line-height: 1.6; }.edit-profile-form { margin: 0; padding: clamp(1.25rem, 4vw, 2rem); border: 1px solid #cddde0; border-radius: 1rem; background: rgba(255,255,255,.9); box-shadow: 0 1rem 2.5rem rgba(22, 59, 72, .08); }.photo-editor { display: flex; align-items: center; gap: 1rem; padding-bottom: 1.25rem; border-bottom: 1px solid #dce7e9; }.photo-editor > label { min-width: 0; flex: 1 1 auto; }.photo-editor .profile-avatar { width: 5rem; height: 5rem; }.edit-actions { display: flex; align-items: center; gap: 1rem; }.edit-actions a { color: #087c87; font-weight: 700; text-decoration: none; }.edit-profile-form input[readonly] { background: #eff4f5; color: #58717c; cursor: not-allowed; }
.profile-photo-status { display: flex; min-height: 1.9rem; align-items: center; gap: .5rem; margin-top: .35rem; padding: .45rem .6rem; border-radius: .45rem; font-size: .74rem; font-weight: 700; line-height: 1.25; }.profile-photo-status[hidden] { display: none; }.profile-photo-status.is-ready { background: var(--secondary); color: var(--text-primary); }.profile-photo-status.is-uploading { background: var(--primary-soft); color: var(--primary); }.profile-photo-status.is-error { background: var(--danger-background); color: var(--danger); }.profile-photo-progress { display: block; width: 3rem; height: .28rem; flex: 0 0 auto; overflow: hidden; border-radius: 99px; background: color-mix(in srgb, currentColor 22%, transparent); }.profile-photo-progress::after { display: block; width: 45%; height: 100%; border-radius: inherit; background: currentColor; content: ''; animation: profile-photo-progress 1.1s ease-in-out infinite; }.profile-photo-progress[hidden] { display: none; }@keyframes profile-photo-progress { 0% { transform: translateX(-125%); } 100% { transform: translateX(240%); } }
@media (max-width: 44rem) { .edit-profile-layout { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 1.75rem; } }
.upload-placeholder { display: inline-block; padding: .8rem 1rem; border-radius: .55rem; color: #fff; font-weight: 700; text-decoration: none; }.upload-igc-layout { display: grid; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 6vw, 5rem); margin-top: 3rem; }.upload-results { margin-top: 3rem; }.upload-summary { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }.upload-summary span, .result-status { padding: .35rem .6rem; border-radius: 99px; background: #eaf7ef; color: #17623b; font-size: .82rem; font-weight: 700; }.result-list { display: grid; gap: .75rem; }.result-list article { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid #d5e4e6; border-radius: .75rem; background: rgba(255,255,255,.85); }.result-list p { margin: .35rem 0 0; color: #58717c; }.result-status { align-self: start; background: #eef7f7; color: #087c87; white-space: nowrap; }
@media (max-width: 44rem) { .upload-igc-layout { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 1.75rem; }.result-list article { flex-direction: column; }.result-status { align-self: start; } }

/* Egypt Paragliders visual system: light surfaces, navy structure, raspberry action. */
body { background: var(--page-background); color: var(--text-primary); }
a, .footer-link a, .profile-nav a, .text-button, .edit-actions a { color: var(--primary); }
.card, .edit-profile-form, .flight-card, .flight-stats article, .result-list article { border-color: var(--border); background: var(--surface); box-shadow: var(--shadow); }
.eyebrow { color: var(--primary); }
input, select, textarea { border-color: var(--border); background: var(--surface); color: var(--text-primary); }
input:focus, select:focus, textarea:focus { outline-color: var(--focus-ring); border-color: var(--primary); }
button, .upload-placeholder { background: var(--primary); }
button:hover, .upload-placeholder:hover { background: var(--primary-hover); }
.secondary { background: var(--secondary); color: var(--text-primary); }.secondary:hover { background: var(--secondary-hover); color: var(--text-primary); }
.alert { border: 1px solid color-mix(in srgb, var(--danger) 20%, transparent); background: var(--danger-background); color: var(--danger); }.success { background: var(--success-background); color: var(--success); }
.muted, .handle, .profile-bio p, .flight-card p, .result-list p, .edit-intro, .empty-flight-state p, .profile-details dt, .stats span, th, .flight-stats span, .flight-card dt { color: var(--text-secondary); }
.profile-nav { border-color: var(--border); }.brand { color: var(--navy); }.text-button:hover { color: var(--primary-hover); }
.profile-hero { border-left: .3rem solid var(--primary); background: var(--navy); box-shadow: var(--shadow); }.profile-hero .eyebrow { color: #f6b8c8; }.profile-handle { color: #f1c2ce; }.avatar-placeholder { color: var(--navy); background: var(--surface-muted); }
.profile-bio { border-left-color: var(--primary); }.verified-state { background: var(--success-background); color: var(--success); }
.flight-stats article, .flight-card { box-shadow: 0 .4rem 1rem rgba(20,35,52,.03); }.flight-card-top > span { color: var(--primary); }.flight-stats small { color: var(--text-secondary); }
.empty-flight-state { border-color: var(--border); background: var(--surface); }.empty-flight-state span { color: var(--primary); }
.photo-editor, .profile-details div { border-color: var(--border); }.edit-profile-form input[readonly] { background: var(--surface-muted); color: var(--text-secondary); }
.upload-summary span, .result-status { background: var(--primary-soft); color: var(--primary); }.stats div { border: 1px solid var(--border); background: var(--surface-muted); }

.flight-view-link, .flight-replay-link { display: grid; flex: 1; place-items: center; padding: .8rem 1rem; border-radius: .55rem; font-weight: 700; text-decoration: none; }.flight-view-link { background: var(--primary); color: #fff; }.flight-view-link:hover { background: var(--primary-hover); }.flight-replay-link { background: var(--secondary); color: var(--text-primary); }.flight-replay-link:hover { background: var(--secondary-hover); color: var(--text-primary); }
.route-thumbnail-wrap, .route-thumbnail-empty { display: grid; min-height: 7rem; place-items: center; margin-top: 1rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface-muted); overflow: hidden; }.route-thumbnail { display: block; width: 100%; height: 7rem; }.route-thumbnail polyline { fill: none; stroke: var(--primary); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; }.route-thumbnail .route-start { fill: var(--surface); stroke: var(--navy); stroke-width: 2.5; }.route-thumbnail .route-end { fill: var(--primary); stroke: var(--primary); stroke-width: 2.5; }.route-thumbnail-empty { color: var(--text-secondary); font-size: .88rem; font-weight: 700; }
.flight-private-badge { display: inline-block; padding: .18rem .45rem; border-radius: 99px; background: var(--secondary); color: var(--text-secondary); font-size: .68rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; vertical-align: middle; }.flight-management { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .9rem; }.flight-management form { display: block; margin: 0; }.flight-management button { padding: .5rem .7rem; font-size: .82rem; }.flight-visibility-button { background: var(--secondary); color: var(--text-primary); }.flight-visibility-button:hover { background: var(--secondary-hover); }.flight-delete-button { background: var(--danger-background); color: var(--danger); }.flight-delete-button:hover { background: #f7dce2; color: var(--danger); }
.flight-detail-heading { padding: 2rem 0 .5rem; }.flight-detail-heading h1 { margin-bottom: .35rem; }.flight-detail-heading > p:last-child { margin: 0; color: var(--text-secondary); }
.flight-summary-card { display: grid; gap: 1rem; padding: clamp(1rem, 2.5vw, 1.35rem); border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--card-shadow); }.flight-summary-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }.flight-summary-heading .eyebrow { margin-bottom: .25rem; }.flight-summary-heading h1 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.15rem); letter-spacing: -.03em; line-height: 1.15; }.flight-summary-edit { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; gap: .42rem; min-height: 2.35rem; padding: .5rem .7rem; border: 1px solid var(--border); border-radius: .6rem; background: var(--surface-muted); color: var(--text-primary); font-size: .78rem; font-weight: 800; line-height: 1.2; text-decoration: none; }.flight-summary-edit:hover { border-color: var(--primary); background: var(--primary-soft); color: var(--primary); }.flight-summary-edit svg, .flight-summary-item > svg { width: 1rem; height: 1rem; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }.flight-summary-metadata { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1rem; padding-top: .9rem; border-top: 1px solid var(--border); }.flight-summary-item { display: flex; min-width: 0; align-items: flex-start; gap: .6rem; color: var(--primary); }.flight-summary-item > svg { width: 1.15rem; height: 1.15rem; margin-top: .12rem; }.flight-summary-item div { min-width: 0; }.flight-summary-item span, .flight-summary-item strong { display: block; }.flight-summary-item span { color: var(--text-secondary); font-size: .69rem; font-weight: 800; letter-spacing: .08em; line-height: 1.2; text-transform: uppercase; }.flight-summary-item strong { margin-top: .22rem; color: var(--text-primary); font-size: .92rem; line-height: 1.35; overflow-wrap: anywhere; }
@media (max-width: 34rem) { .flight-summary-card { gap: .85rem; padding: 1rem; }.flight-summary-heading { align-items: stretch; flex-direction: column; gap: .7rem; }.flight-summary-edit { width: 100%; min-height: 2.55rem; }.flight-summary-metadata { grid-template-columns: 1fr; gap: .7rem; padding-top: .8rem; } }
.flight-map-section { margin-top: 1.5rem; }.flight-map { width: 100%; height: clamp(20rem, 56vw, 34rem); border: 1px solid var(--border); border-radius: 1rem; background: var(--surface-muted); box-shadow: var(--shadow); overflow: hidden; }.flight-map-section > p { margin: .7rem 0 0; font-size: .88rem; }
.flight-details-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }.flight-details-grid article { padding: 1.1rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); box-shadow: 0 .4rem 1rem rgba(20,35,52,.03); }.flight-details-grid span, .flight-details-grid strong { display: block; }.flight-details-grid span { color: var(--text-secondary); font-size: .76rem; font-weight: 700; text-transform: uppercase; }.flight-details-grid strong { margin-top: .45rem; font-size: 1.1rem; }
.flight-details-download { display: flex; justify-content: flex-end; margin: .9rem 0 0; }
@media (max-width: 52rem) { .flight-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 34rem) { .flight-map { height: 20rem; }.flight-details-grid { gap: .75rem; }.flight-details-grid article { padding: .9rem; } }

.replay-panel { padding: 1.25rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface); box-shadow: var(--shadow); }.replay-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.25rem; }.replay-buttons, .replay-speeds { display: flex; flex-wrap: wrap; gap: .5rem; }.replay-buttons button, .replay-speeds button { padding: .6rem .8rem; }.replay-speeds button { background: var(--secondary); color: var(--text-primary); }.replay-speeds button:hover, .replay-speeds .replay-speed-active { background: var(--secondary-hover); color: var(--text-primary); }.follow-pilot { display: flex; align-items: center; gap: .45rem; font-weight: 700; }.follow-pilot input { width: auto; }.replay-timeline-label { display: grid; grid-template-columns: 5rem minmax(0, 1fr); align-items: center; gap: .75rem; margin-top: 1.25rem; }.replay-timeline-label input { padding: 0; accent-color: var(--primary); }.replay-values { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .75rem; margin-top: 1.25rem; }.replay-values article { min-width: 0; padding: .8rem; border-radius: .7rem; background: var(--surface-muted); }.replay-values span, .replay-values strong { display: block; }.replay-values span { color: var(--text-secondary); font-size: .7rem; font-weight: 700; text-transform: uppercase; }.replay-values strong { margin-top: .3rem; overflow: hidden; font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 52rem) { .replay-values { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 34rem) { .replay-panel { padding: 1rem; }.replay-timeline-label { grid-template-columns: 1fr; gap: .4rem; }.replay-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }.replay-values article { padding: .7rem; } }

/* Flights/profile hero and compact flight-card presentation. */
.profile-hero { position: relative; display: block; min-height: clamp(18rem, 35vw, 27rem); overflow: hidden; padding: clamp(1.5rem, 4vw, 3rem); border-left: 0; background: var(--navy); isolation: isolate; }
.profile-hero-media, .profile-hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; }
.profile-hero-media { z-index: -2; }.profile-hero-media img { object-fit: cover; object-position: center 42%; }
.profile-hero-overlay { position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg, rgba(20, 35, 52, .78), rgba(20, 35, 52, .42) 60%, rgba(20, 35, 52, .16)); }
.profile-hero-content { display: flex; align-items: center; gap: 1.5rem; min-height: inherit; }.profile-hero-content > div { max-width: 44rem; }
.flight-card-main { display: grid; grid-template-columns: minmax(13rem, .7fr) minmax(0, 1.3fr); gap: 1.25rem; align-items: stretch; margin-top: 1rem; }
.flight-card-main .route-thumbnail-wrap, .flight-card-main .route-thumbnail-empty { min-height: 10.5rem; height: 100%; margin-top: 0; }.flight-card-main .route-thumbnail { height: 100%; min-height: 10.5rem; }
.flight-card-stats { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; align-content: center; gap: .65rem !important; margin: 0 !important; }.flight-card-stats > div { padding: .55rem .65rem; border: 1px solid var(--border); border-radius: .6rem; background: var(--surface); }
.flight-notes { margin-top: .9rem; padding-top: .8rem; border-top: 1px solid var(--border); }.flight-notes summary { color: var(--text-secondary); cursor: pointer; font-size: .85rem; font-weight: 700; }.flight-notes form { gap: .6rem; margin-top: .75rem; }.flight-notes textarea { min-height: 5.5rem; }.flight-notes button { justify-self: start; padding: .55rem .8rem; font-size: .85rem; }
.flight-notes-readonly { padding: 1rem 1.15rem; border-left: 3px solid var(--primary); border-radius: .25rem .8rem .8rem .25rem; background: var(--surface); box-shadow: 0 .4rem 1rem rgba(20,35,52,.03); }.flight-notes-readonly h2 { margin: 0; font-size: 1.1rem; }.flight-notes-readonly p:last-child { margin: .55rem 0 0; color: var(--text-secondary); line-height: 1.6; }
@media (max-width: 52rem) { .flight-card-main { grid-template-columns: minmax(12rem, .75fr) minmax(0, 1.25fr); }.flight-card-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 40rem) { .profile-hero { min-height: 25rem; }.profile-hero-media img { object-position: center center; }.profile-hero-overlay { background: linear-gradient(0deg, rgba(20,35,52,.8), rgba(20,35,52,.18)); }.profile-hero-content { align-items: flex-start; flex-direction: column; justify-content: flex-end; gap: 1rem; }.flight-card-main { grid-template-columns: 1fr; }.flight-card-main .route-thumbnail-wrap, .flight-card-main .route-thumbnail-empty, .flight-card-main .route-thumbnail { min-height: 9rem; }.flight-card-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* Dense three-column flight cards: route preview, details, and actions. */
.flight-card { padding: 1rem; border-radius: 1rem; }
.flight-card-layout { display: grid; grid-template-columns: minmax(12.5rem, 31%) minmax(0, 1fr) 9.25rem; gap: 1rem; align-items: stretch; }
.flight-card-route { position: relative; min-width: 0; }.flight-card-route .route-thumbnail-wrap, .flight-card-route .route-thumbnail-empty { min-height: 0; height: 100%; margin: 0; border-radius: .75rem; background: #f0f3f6; }.flight-card-route .route-thumbnail { height: 100%; min-height: 11.75rem; }
.flight-visibility-badge { position: absolute; top: .7rem; left: .7rem; z-index: 1; padding: .28rem .52rem; border-radius: 99px; font-size: .7rem; font-weight: 800; box-shadow: 0 .15rem .5rem rgba(20,35,52,.08); }.flight-visibility-badge.is-private { background: var(--primary-soft); color: var(--primary); }.flight-visibility-badge.is-public { background: var(--success-background); color: var(--success); }
.flight-card-content { min-width: 0; }.flight-card-heading h3 { color: var(--text-primary); font-size: 1.08rem; line-height: 1.28; }.flight-card-heading p { margin-top: .28rem; font-size: .82rem; }.flight-note-indicator { display: inline-grid; width: 1.15rem; height: 1.15rem; place-items: center; margin-left: .18rem; border-radius: 50%; background: var(--primary-soft); color: var(--primary); font-size: .78rem; vertical-align: .06rem; }
.flight-card .flight-card-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: .5rem .75rem !important; margin: .85rem 0 0 !important; }.flight-card .flight-card-stats > div { padding: 0; border: 0; background: transparent; }.flight-card .flight-card-stats dt { font-size: .67rem; letter-spacing: .01em; text-transform: none; }.flight-card .flight-card-stats dd { margin-top: .1rem; font-size: .85rem; white-space: nowrap; }
.flight-notes { margin-top: .7rem; padding: 0; border: 0; }.flight-notes summary { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .55rem .65rem; border-radius: .6rem; background: var(--surface-muted); list-style: none; }.flight-notes summary::-webkit-details-marker { display: none; }.flight-notes.has-note summary { align-items: flex-start; }.flight-note-preview { display: grid; min-width: 0; gap: .12rem; }.flight-note-preview strong { color: var(--primary); font-size: .7rem; }.flight-note-preview > span { display: -webkit-box; overflow: hidden; color: var(--text-main); font-size: .75rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.flight-note-edit { flex: 0 0 auto; color: var(--primary); font-size: .9rem; }.flight-notes[open] summary { border-radius: .6rem .6rem 0 0; }.flight-notes form { padding: .65rem; margin: 0; border: 1px solid var(--border); border-top: 0; border-radius: 0 0 .6rem .6rem; background: var(--surface); }
.flight-card-actions { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }.flight-distance { margin-bottom: .12rem; color: var(--primary); font-size: 1rem; text-align: right; }.flight-card-actions a, .flight-card-actions button { width: 100%; min-height: 2.2rem; padding: .5rem .6rem; border-radius: .5rem; font-size: .78rem; }.flight-card-actions form { display: block; margin: 0; }.flight-card-actions .flight-view-link, .flight-card-actions .flight-replay-link { display: grid; place-items: center; }.flight-card-actions .flight-visibility-button { border: 1px solid var(--primary); background: var(--surface); color: var(--primary); }.flight-card-actions .flight-visibility-button:hover { background: var(--primary-soft); color: var(--primary-hover); }.flight-card-actions .flight-delete-button { border: 1px solid color-mix(in srgb, var(--danger) 65%, transparent); background: var(--surface); color: var(--danger); }.flight-card-actions .flight-delete-button:hover { background: var(--danger-background); color: var(--danger); }
@media (max-width: 62rem) { .flight-card-layout { direction: ltr; grid-template-areas: "content route" "actions actions"; grid-template-columns: minmax(0, 1fr) minmax(11rem, 32%); }.flight-card-route { grid-area: route; direction: ltr; }.flight-card-content { grid-area: content; }.flight-card-actions { display: grid; grid-area: actions; grid-column: auto; grid-template-columns: auto minmax(0, 1fr); align-items: center; }.flight-distance { margin: 0 .3rem 0 0; text-align: left; }.flight-card-actions form { display: contents; }.profile-page:not(.public-profile-page) > .my-flights .flight-card-actions.has-owner-controls { grid-template-columns: auto repeat(3, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .flight-card { padding: .85rem; }.flight-card-layout { grid-template-areas: "route" "content" "actions"; grid-template-columns: minmax(0, 1fr); gap: .8rem; }.flight-card-route { align-self: stretch; }.flight-card-route .route-thumbnail-wrap, .flight-card-route .route-thumbnail-empty { height: 9.5rem; min-height: 9.5rem; aspect-ratio: auto; }.flight-card-route .route-thumbnail, .profile-page > .my-flights .profile-route-map { min-height: 9.5rem; height: 100%; }.flight-card .flight-card-stats { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: .65rem !important; }.flight-card-actions, .profile-page:not(.public-profile-page) > .my-flights .flight-card-actions.has-owner-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }.flight-card-actions .flight-view-link { grid-column: 1 / -1; }.flight-distance { grid-column: 1 / -1; margin: 0; text-align: right; }.flight-card-actions form { display: block; min-width: 0; }.flight-card-actions .flight-visibility-button, .flight-card-actions .flight-delete-button { min-height: 2.5rem; }.flight-card-actions .flight-view-link, .flight-card-actions .flight-replay-link { min-height: 2.5rem; } }

/* Compact, premium overview cards and year filter. */
.flight-overview-heading { align-items: center; }.flight-overview-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .65rem; }.year-filter { display: flex; align-items: center; gap: .4rem; margin: 0; }.year-filter label { color: var(--text-secondary); font-size: .76rem; font-weight: 700; }.year-filter select { width: auto; min-width: 7.1rem; padding: .48rem 1.8rem .48rem .6rem; border-radius: .55rem; font-size: .82rem; font-weight: 700; }
.premium-flight-stats { gap: .75rem; }.premium-flight-stats article { position: relative; display: flex; align-items: center; gap: .65rem; min-height: 5.5rem; padding: .8rem .75rem; overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }.premium-flight-stats article::before { position: absolute; top: 0; right: .75rem; left: .75rem; height: 2px; content: ''; background: var(--stat-accent); opacity: .6; }.premium-flight-stats article:hover { box-shadow: 0 .65rem 1.25rem rgba(20,35,52,.08); transform: translateY(-2px); }.premium-flight-stats .stat-icon { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border-radius: .6rem; background: color-mix(in srgb, var(--stat-accent) 13%, white); color: var(--stat-accent); font-size: 1.05rem; font-weight: 800; }.premium-flight-stats article > div { min-width: 0; }.premium-flight-stats span:not(.stat-icon), .premium-flight-stats strong { display: block; }.premium-flight-stats span:not(.stat-icon) { color: var(--text-secondary); font-size: .66rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }.premium-flight-stats strong { margin-top: .22rem; color: var(--text-primary); font-size: clamp(1rem, 1.8vw, 1.28rem); line-height: 1.1; white-space: nowrap; }.premium-flight-stats small { color: var(--text-secondary); font-size: .68em; }.stat-flights { --stat-accent: var(--primary); }.stat-distance { --stat-accent: #3878a8; }.stat-airtime { --stat-accent: #238b86; }.stat-altitude { --stat-accent: #6d6ab0; }.stat-gain { --stat-accent: #b87823; }
@media (max-width: 52rem) { .premium-flight-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }.premium-flight-stats article { min-height: 5.15rem; } }
@media (max-width: 40rem) { .flight-overview-heading { align-items: flex-start; }.flight-overview-controls { justify-content: flex-start; }.premium-flight-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }.premium-flight-stats article { min-height: 5rem; padding: .72rem .65rem; }.premium-flight-stats article:last-child { grid-column: auto; }.premium-flight-stats .stat-icon { width: 1.8rem; height: 1.8rem; font-size: .95rem; }.premium-flight-stats strong { font-size: 1rem; } }

/* Per-stat public visibility controls remain compact within the overview cards. */
.premium-flight-stats article { padding-right: 3.35rem; }.premium-flight-stats .stat-visibility-form { position: absolute; top: .55rem; right: .55rem; display: flex; align-items: center; margin: 0; }.premium-flight-stats .stat-visibility-form button { display: inline-flex; width: 2.05rem; height: 1.15rem; align-items: center; justify-content: flex-start; padding: .12rem; border: 1px solid transparent; border-radius: 99px; line-height: 1; transition: background .18s ease, border-color .18s ease; }.premium-flight-stats .stat-visibility-form button.is-visible { border-color: color-mix(in srgb, #39FF14 65%, #16843b); background: #39FF14; }.premium-flight-stats .stat-visibility-form button.is-hidden { border-color: #3f4854; background: #4b5563; }.premium-flight-stats .stat-visibility-form button:hover { filter: brightness(.96); }.premium-flight-stats .stat-visibility-form button:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }.premium-flight-stats .stat-visibility-dot { display: block; width: .79rem; height: .79rem; flex: 0 0 auto; border-radius: 50%; background: #ffffff; box-shadow: 0 .05rem .15rem rgba(20,35,52,.28); transform: translateX(0); transition: transform .18s ease; }.premium-flight-stats .stat-visibility-form button.is-visible .stat-visibility-dot { transform: translateX(.88rem); }.async-form-message { max-width: 11rem; color: var(--danger); font-size: .68rem; line-height: 1.2; }.premium-flight-stats article.is-hidden-to-public { border-style: dashed; opacity: .72; }.premium-flight-stats article.is-hidden-to-public::before { opacity: .25; }.premium-flight-stats article.is-hidden-to-public .stat-icon { background: var(--secondary); color: var(--text-secondary); }
.flight-note-preview[hidden], [data-flight-note-empty][hidden], .flight-note-indicator[hidden] { display: none !important; }

/* Public pilot directory. */
.directory-header { max-width: 42rem; padding: 1.75rem 0 .5rem; }.directory-header h1 { color: var(--text-primary); }.directory-header p:last-child { margin: 0; color: var(--text-secondary); line-height: 1.6; }.directory-tools { margin-top: 1.5rem; padding: .85rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); box-shadow: 0 .4rem 1rem rgba(20,35,52,.03); }.directory-tools form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, .3fr) auto; align-items: end; gap: .7rem; margin: 0; }.directory-tools label { font-size: .76rem; }.directory-tools input, .directory-tools select { padding: .58rem .68rem; }.directory-tools button { min-height: 2.4rem; padding: .55rem .9rem; }.directory-count { margin: 1.25rem 0 0; color: var(--text-secondary); font-size: .85rem; font-weight: 700; }.pilot-directory-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-top: .8rem; }.pilot-directory-card { display: flex; flex-direction: column; min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); box-shadow: 0 .4rem 1rem rgba(20,35,52,.03); }.directory-pilot-heading { display: flex; align-items: center; gap: .75rem; min-width: 0; }.directory-avatar { width: 3.5rem; height: 3.5rem; flex: 0 0 auto; border: 2px solid var(--border); border-radius: 50%; object-fit: cover; }.directory-pilot-heading h2 { margin: 0; color: var(--text-primary); font-size: 1.02rem; line-height: 1.2; }.directory-pilot-heading p { overflow: hidden; margin: .2rem 0 0; color: var(--text-secondary); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }.directory-pilot-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin: 1rem 0; }.directory-pilot-stats div { min-width: 0; padding: .5rem .35rem; border-radius: .55rem; background: var(--surface-muted); text-align: center; }.directory-pilot-stats dt { color: var(--text-secondary); font-size: .62rem; font-weight: 700; text-transform: uppercase; }.directory-pilot-stats dd { overflow: hidden; margin: .2rem 0 0; color: var(--text-primary); font-size: .78rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.directory-view-profile { min-height: 2.25rem; margin-top: auto; font-size: .8rem; }.directory-pagination { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1.5rem; color: var(--text-secondary); font-size: .86rem; font-weight: 700; }.directory-pagination a { padding: .5rem .8rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); color: var(--primary); text-decoration: none; }.directory-pagination a:hover { background: var(--primary-soft); }
.directory-pilot-heading .directory-country { display: inline-flex; align-items: center; gap: .3rem; }.directory-pilot-heading .country-flag { display: inline-flex; width: 1rem; height: 1rem; flex: 0 0 auto; align-items: center; justify-content: center; font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; font-size: .9rem; line-height: 1; }
@media (max-width: 60rem) { .pilot-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .directory-tools form { grid-template-columns: 1fr; align-items: stretch; }.directory-tools button { min-height: 2.5rem; }.pilot-directory-grid { grid-template-columns: 1fr; }.directory-pilot-stats { max-width: 22rem; } }

/* Dense admin pilot-flight management. */
.admin-pilot-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); box-shadow: 0 .4rem 1rem rgba(20,35,52,.03); }.admin-pilot-summary .directory-pilot-heading h1 { margin: 0; font-size: 1.35rem; }.admin-pilot-summary .directory-pilot-heading .eyebrow { margin-bottom: .25rem; }.admin-summary-stats { display: flex; flex-wrap: wrap; gap: .6rem; }.admin-summary-stats span { display: grid; gap: .15rem; padding: .5rem .65rem; border-radius: .6rem; background: var(--surface-muted); color: var(--text-secondary); font-size: .72rem; }.admin-summary-stats strong { color: var(--text-primary); font-size: .9rem; }.admin-flight-tools { margin-top: 1.25rem; padding: .8rem; border: 1px solid var(--border); border-radius: .8rem; background: var(--surface); }.admin-flight-tools form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(9rem, .3fr) auto; align-items: end; gap: .65rem; margin: 0; }.admin-flight-tools label { font-size: .76rem; }.admin-flight-tools input, .admin-flight-tools select { padding: .55rem .65rem; }.admin-flight-tools button { min-height: 2.35rem; padding: .5rem .8rem; }.admin-flight-list { display: grid; gap: .75rem; margin-top: 1rem; }.admin-flight-row { display: grid; grid-template-columns: minmax(0, 1fr) 9.3rem; gap: 1rem; padding: .9rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); box-shadow: 0 .35rem .9rem rgba(20,35,52,.03); }.admin-flight-main { min-width: 0; }.admin-flight-main h2 { margin: 0; color: var(--text-primary); font-size: 1rem; }.admin-flight-main > div > p { margin: .28rem 0 0; color: var(--text-secondary); font-size: .8rem; }.admin-flight-main dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; margin: .7rem 0 0; }.admin-flight-main dt { color: var(--text-secondary); font-size: .65rem; font-weight: 700; text-transform: uppercase; }.admin-flight-main dd { margin: .14rem 0 0; color: var(--text-primary); font-size: .83rem; font-weight: 700; }.admin-note-preview { display: grid; gap: .12rem; max-width: 44rem; margin-top: .7rem; padding: .5rem .6rem; border-radius: .55rem; background: var(--surface-muted); }.admin-note-preview strong { color: var(--primary); font-size: .67rem; }.admin-note-preview span { display: -webkit-box; overflow: hidden; color: var(--text-main); font-size: .76rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }.admin-flight-actions { display: flex; flex-direction: column; gap: .45rem; }.admin-flight-actions form { display: block; margin: 0; }.admin-flight-actions a, .admin-flight-actions button { width: 100%; min-height: 2.18rem; padding: .5rem .55rem; font-size: .76rem; }.admin-flight-actions .flight-visibility-button { border: 1px solid var(--primary); background: var(--surface); color: var(--primary); }.admin-flight-actions .flight-visibility-button:hover { background: var(--primary-soft); color: var(--primary-hover); }.admin-flight-actions .flight-delete-button { border: 1px solid color-mix(in srgb, var(--danger) 65%, transparent); background: var(--surface); color: var(--danger); }.admin-flight-actions .flight-delete-button:hover { background: var(--danger-background); color: var(--danger); }
@media (max-width: 48rem) { .admin-flight-row { grid-template-columns: 1fr; }.admin-flight-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }.admin-pilot-summary { align-items: flex-start; flex-direction: column; }.admin-flight-tools form { grid-template-columns: 1fr; } }

/* Reusable password reveal controls for authentication forms. */
.password-field { position: relative; display: block; width: 100%; }.password-field input { padding-right: 3rem; }.password-toggle { position: absolute; top: 50%; right: .35rem; display: grid; width: 2.25rem; height: 2.25rem; place-items: center; padding: 0; border: 0; border-radius: .45rem; background: transparent; color: var(--text-secondary); transform: translateY(-50%); }.password-toggle:hover, .password-toggle:focus-visible { background: var(--secondary); color: var(--primary); }.password-toggle:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 1px; }.password-toggle svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }.password-toggle .eye-slash { display: none; }.password-toggle.is-visible .eye-slash { display: block; }
.auth-shell .card { position: relative; }.auth-language-switcher { position: absolute; top: 1rem; inset-inline-end: 1rem; display: inline-flex; align-items: center; gap: .35rem; direction: ltr; font-size: .75rem; font-weight: 800; white-space: nowrap; }.auth-language-switcher a { color: var(--text-secondary); text-decoration: none; }.auth-language-switcher a[aria-current="true"], .auth-language-switcher a:hover { color: var(--primary); }.auth-secondary-navigation { position: absolute; top: 1rem; inset-inline-start: 1rem; display: inline-flex; align-items: center; gap: .35rem; color: var(--text-secondary); font-size: .76rem; font-weight: 700; line-height: 1.3; white-space: nowrap; }.auth-secondary-navigation a { color: var(--text-secondary); text-decoration: none; }.auth-secondary-navigation a:hover, .auth-secondary-navigation a:focus-visible { color: var(--primary); }
html[lang="ar"] .auth-shell .card { font-family: "Tajawal", Tahoma, Arial, sans-serif; }html[lang="ar"] .auth-shell :is(input[dir="ltr"], .password-field input) { direction: ltr; font-family: Arial, Helvetica, sans-serif; text-align: left; }
@media (min-width: 40.01rem) {
    html[lang="ar"] .auth-shell .card {
        padding-top: 4.5rem;
    }

    html[lang="ar"] .auth-shell .auth-secondary-navigation {
        top: 1rem;
        inset-inline-start: 1rem;
        inset-inline-end: auto;
    }

    html[lang="ar"] .auth-shell .auth-language-switcher {
        top: 2.45rem;
        inset-inline-start: auto;
        inset-inline-end: 1rem;
    }
}

/* Flight Log Hero V3: locally reviewed composition, scoped to the homepage. */
.home-hero.home-hero-v3 { isolation: isolate; min-height: 30rem; }
.home-hero-v3 .home-hero-media { inset: 0; }
.home-hero-v3 .home-hero-media img { inset: 0; object-position: center 48%; }
.home-hero-v3 .home-hero-overlay { background: linear-gradient(90deg, rgba(9,34,58,.68), rgba(9,34,58,.2) 52%, rgba(9,34,58,.68)); }
.home-hero-v3-inner { position: relative; z-index: 1; display: grid; width: 100%; grid-template-columns: minmax(0,1.05fr) minmax(0,.63fr) minmax(0,.72fr); align-items: center; gap: .75rem; padding: 1.9rem 2.75rem; }
.home-hero-v3 .home-hero-content { max-width: 31rem; min-width: 0; padding: 0; }
.home-hero-v3 .home-hero-content .eyebrow { margin: 0 0 .75rem; color: #ffc2d2; font-size: .75rem; letter-spacing: .14em; }
.home-hero-v3 .home-hero-content h1 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.07; letter-spacing: -.045em; text-wrap: balance; }
.home-hero-v3 .hero-title-subline { display: inline-block; }
.home-hero-v3 .home-hero-content > p:not(.eyebrow) { max-width: 27rem; margin-top: 1rem; font-size: clamp(.94rem, 1.55vw, 1.125rem); }
.home-hero-v3 .home-hero-actions { gap: .625rem; margin-top: 1.5rem; }
.home-hero-v3-pilot { position: relative; z-index: 0; width: min(100%, 18rem); justify-self: center; opacity: .88; transform: translate(.125rem, 1.25rem) scale(.94); }
.home-hero-v3-pilot::before { position: absolute; z-index: -1; inset: 12% 0 3%; border-radius: 50%; background: radial-gradient(ellipse, rgba(233,167,99,.14), transparent 66%); content: ''; }
.home-hero-v3-pilot img { display: block; width: 100%; height: auto; filter: brightness(.84) contrast(1.05) saturate(.8) sepia(.08) drop-shadow(0 8px 11px rgba(4,23,41,.3)); }
.home-hero-v3-pilot::after { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, #123e65 5%, transparent 48%, #edb46d 100%); -webkit-mask: url('../images/home-hero-v3/pilot-real-photo-v7.webp') center / 100% 100% no-repeat; mask: url('../images/home-hero-v3/pilot-real-photo-v7.webp') center / 100% 100% no-repeat; mix-blend-mode: soft-light; opacity: .3; content: ''; }
.home-hero-v3-devices { position: relative; z-index: 2; width: min(100%, 22.2rem); height: 16.9rem; justify-self: end; transform: translateY(3rem); }
.home-hero-v3-laptop { position: absolute; top: 7%; left: 0; width: 94%; filter: drop-shadow(0 21px 18px rgba(6,22,36,.61)); transform: rotate(-3deg); }
.home-hero-v3-laptop-lid { position: relative; padding: 10px 10px 12px; border: 2px solid #aebdc6; border-bottom-color: #697984; border-radius: 14px 14px 5px 5px; background: linear-gradient(145deg,#2c4354,#0d1b2a 58%,#273d4a); box-shadow: inset 0 1px 0 #eff7ff72,inset 0 0 0 2px #081522; }
.home-hero-v3-laptop-lid::before { position: absolute; top: 4px; left: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: #7f9eb1; box-shadow: 0 0 0 1px #071522; content: ''; }
.home-hero-v3-laptop-screen { width: 100%; aspect-ratio: 1.49; overflow: hidden; border: 1px solid #536b79; border-radius: 2px; background: #e9edf1; }
.home-hero-v3-laptop-screen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.home-hero-v3-laptop-base { position: relative; width: 111%; height: 14px; margin-left: -5.5%; border-radius: 0 0 15px 15px; background: linear-gradient(#edf1f2 0%,#aab8c0 37%,#5e707c 100%); clip-path: polygon(5% 0,95% 0,100% 75%,98% 100%,2% 100%,0 75%); }
.home-hero-v3-laptop-base::after { position: absolute; top: 0; left: 37%; width: 26%; height: 3px; border-radius: 0 0 5px 5px; background: #7d929d; content: ''; }
.home-hero-v3-phone { position: absolute; right: -1%; bottom: -4%; width: 31%; max-width: 7.5rem; padding: 8px 6px 7px; border: 2px solid #aebdc5; border-left-color: #dbe4e8; border-right-color: #6c838f; border-radius: 20px; background: linear-gradient(145deg,#263d4c,#0b1825 65%,#2d4352); box-shadow: 0 24px 30px rgba(6,22,36,.75),inset 0 1px 0 #ffffff7a,inset 0 0 0 2px #071522; transform: rotate(7deg); }
.home-hero-v3-phone::before { position: absolute; z-index: 2; top: 4px; left: 40%; width: 20%; height: 3px; border-radius: 9px; background: #687f8e; content: ''; }
.home-hero-v3-phone::after { position: absolute; top: 23%; right: -4px; width: 2px; height: 17%; border-radius: 0 3px 3px 0; background: #9babb3; content: ''; }
.home-hero-v3-phone-screen { aspect-ratio: 9 / 19; overflow: hidden; border: 1px solid #334d5a; border-radius: 12px; background: #fff; }
.home-hero-v3-phone-screen img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
html[lang="ar"] .home-hero-v3 .home-hero-content h1 { font-size: clamp(1.82rem, 3.15vw, 2.7rem); line-height: 1.2; letter-spacing: 0; }
html[lang="ar"] .home-hero-v3-devices { justify-self: start; transform: scaleX(-1) translateY(3rem); }
html[lang="ar"] .home-hero-v3-devices img { transform: scaleX(-1); }
.home-hero-v3-flags { position: relative; margin-top: 1rem; padding: 1rem 1.25rem .75rem; overflow: hidden; border: 1px solid #31576b; border-radius: 1.125rem; background: radial-gradient(circle at 88% 0%,#4b84915c,transparent 38%),linear-gradient(135deg,#102d43 0%,#1c475b 64%,#12364d 100%); box-shadow: 0 15px 30px #102d432d,0 3px 9px #102d431a,inset 0 1px 0 #ffffff26; }
.home-hero-v3-flags::before { position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg,#c91f49,#e8af69 38%,#e8af6900 78%); content: ''; }
.home-hero-v3-flags-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; margin-bottom: .7rem; }
.home-hero-v3-flags-heading h2 { margin: 0; color: #f8fbfd; font-size: clamp(1rem,1.8vw,1.25rem); line-height: 1.3; }
.home-hero-v3-flags-heading h2::before { display: inline-block; width: 4px; height: 1.3rem; margin-inline-end: .625rem; border-radius: 3px; background: #e8af69; vertical-align: -4px; content: ''; }
.home-hero-v3-flags-heading p { max-width: 100%; margin: 0; padding: .32rem .6rem; border: 1px solid #ffffff30; border-radius: 99px; background: #ffffff12; color: #e4eff5; font-size: .67rem; font-weight: 700; line-height: 1.3; }
.home-hero-v3-flags-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; padding-bottom: 3px; scrollbar-width: thin; scrollbar-color: #90a8b5 transparent; }
.home-hero-v3-flags-grid { display: grid; width: 100%; min-width: 62rem; grid-template-columns: repeat(11,minmax(0,1fr)); grid-template-rows: repeat(2,auto); gap: .45rem; padding: 2px 2px 5px; }
.home-hero-v3-flag { display: flex; min-width: 0; min-height: 4.7rem; flex-direction: column; align-items: center; justify-content: center; gap: .35rem; padding: .4rem .25rem; border: 1px solid #edf2f6; border-radius: .65rem; background: linear-gradient(150deg,#fff,#f4f8fa); box-shadow: 0 3px 8px #061d2b24,inset 0 1px 0 #fff; text-align: center; }
.home-hero-v3-flag img { display: block; width: 46px; height: 30px; border: 1px solid #dce3e9; border-radius: 3px; background: #fff; object-fit: contain; box-shadow: 0 2px 5px #0d2a401a; }
.home-hero-v3-flag span { max-width: 100%; min-height: 0; color: #243d50; font-size: .62rem; font-weight: 800; line-height: 1.2; overflow-wrap: anywhere; text-wrap: balance; }
.home-hero-v3-features { margin-top: 2.125rem; }
.home-hero-v3-features h2 { margin: 0 0 .95rem; color: var(--primary); font-size: .82rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.home-hero-v3-feature-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: .75rem; }
.home-hero-v3-feature { display: flex; min-width: 0; align-items: center; gap: .8rem; padding: 1rem; border: 1px solid #e3e8ed; border-radius: .875rem; background: #fff; box-shadow: 0 8px 20px #18364c0b; }
.home-hero-v3-feature-icon { display: grid; width: 3.125rem; height: 3.125rem; flex: 0 0 3.125rem; place-items: center; border-radius: .875rem; background: #fff0f4; }
.home-hero-v3-feature-icon img { display: block; width: 2.125rem; height: 2.125rem; }
.home-hero-v3-feature strong { min-width: 0; font-size: .875rem; line-height: 1.3; overflow-wrap: anywhere; }
html[lang="ar"] .home-hero-v3-flags, html[lang="ar"] .home-hero-v3-features { font-family: "Tajawal",Tahoma,Arial,sans-serif; }
html[lang="ar"] .home-hero-v3-features h2 { letter-spacing: 0; }
@media (max-width: 56.25rem) {
    .home-hero-v3-inner { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 1.4rem 2rem; gap: .3rem 1.125rem; }
    .home-hero-v3 .home-hero-content { grid-column: 1 / -1; max-width: 42rem; }
    .home-hero-v3-pilot { grid-column: 1; width: min(100%,14.5rem); transform: translateY(.5rem) scale(.93); }
    .home-hero-v3-devices { grid-column: 2; width: min(100%,20.6rem); height: 13.5rem; transform: none; }
    html[lang="ar"] .home-hero-v3-devices { transform: scaleX(-1); }
    .home-hero-v3-feature-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 42.5rem) {
    .home-hero.home-hero-v3 { display: block; min-height: 0; }
    .home-hero-v3 .home-hero-overlay { background: linear-gradient(rgba(9,34,58,.66),rgba(9,34,58,.38) 54%,rgba(9,34,58,.72)); }
    .home-hero-v3-inner { display: grid; grid-template-columns: minmax(0,1fr); align-items: end; gap: .35rem; padding: 1.25rem 1.35rem 1rem; }
    .home-hero-v3 .home-hero-content { grid-column: 1; grid-row: 1; max-width: none; align-self: stretch; padding: 0; }
    .home-hero-v3 .home-hero-content h1 { font-size: clamp(1.75rem,8vw,2.5rem); }
    html[lang="ar"] .home-hero-v3 .home-hero-content h1 { font-size: clamp(1.68rem,7.5vw,2.3rem); }
    .home-hero-v3 .home-hero-content .eyebrow { margin-bottom: .45rem; }
    .home-hero-v3 .home-hero-content > p:not(.eyebrow) { font-size: .875rem; margin-top: .55rem; }
    .home-hero-v3 .home-hero-actions { margin-top: .7rem; }
    .home-hero-v3-pilot { grid-column: 1; grid-row: 2; width: min(55%,11rem); justify-self: start; align-self: end; opacity: .82; transform: translateY(.65rem) scale(.92); }
    .home-hero-v3-devices { grid-column: 1; grid-row: 2; width: min(68%,13rem); height: 11.1rem; justify-self: end; align-self: end; transform: translateY(.3rem); }
    html[lang="ar"] .home-hero-v3-devices { justify-self: end; align-self: end; transform: scaleX(-1) translateY(.3rem); }
    .home-hero-v3-laptop { top: 4%; width: 88%; }
    .home-hero-v3-phone { right: 0; bottom: 0; width: 30%; }
    .home-hero-v3-flags { margin-top: .65rem; padding: .75rem .75rem .55rem; border-radius: .95rem; }
    .home-hero-v3-flags-heading { display: block; margin-bottom: .5rem; }
    .home-hero-v3-flags-heading p { display: inline-block; margin-top: .35rem; border-radius: .7rem; }
    .home-hero-v3-feature-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .5rem; }
    .home-hero-v3-feature { gap: .45rem; padding: .625rem .5rem; }
    .home-hero-v3-feature-icon { width: 2.45rem; height: 2.45rem; flex-basis: 2.45rem; border-radius: .625rem; }
    .home-hero-v3-feature-icon img { width: 1.7rem; height: 1.7rem; }
    .home-hero-v3-feature strong { font-size: .72rem; }
}
@media (max-width: 40rem) {
    .auth-shell .auth-language-switcher {
        position: static;
        display: flex;
        width: 100%;
        justify-content: flex-end;
        margin: 0 0 .55rem;
        font-size: .72rem;
    }

    .auth-shell .auth-secondary-navigation {
        position: static;
        display: flex;
        width: 100%;
        flex-wrap: wrap;
        justify-content: flex-start;
        margin-bottom: 1rem;
        font-size: .73rem;
        white-space: normal;
    }

    html[lang="ar"] .auth-shell .footer-link {
        margin-top: 1.2rem;
        font-size: .75rem;
        line-height: 1.4;
        letter-spacing: normal;
        white-space: nowrap;
    }
}

/* Synchronized replay charts. */
.flight-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.flight-chart-card { padding: 1rem; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); box-shadow: 0 .4rem 1rem rgba(20,35,52,.03); }.flight-chart-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }.flight-chart-heading .eyebrow { margin-bottom: .25rem; font-size: .66rem; }.flight-chart-heading h2 { margin: 0; color: var(--text-primary); font-size: 1rem; }.flight-chart-heading > span { color: var(--text-secondary); font-size: .7rem; font-weight: 700; text-align: right; }.flight-chart-canvas { position: relative; margin-top: .7rem; }.flight-chart-canvas canvas { display: block; width: 100%; height: 10.5rem; cursor: crosshair; touch-action: manipulation; }.flight-chart-tooltip { min-height: 1.1rem; margin: .25rem 0 0; color: var(--text-secondary); font-size: .72rem; }
@media (max-width: 52rem) { .flight-charts { grid-template-columns: 1fr; } }
@media (max-width: 34rem) { .flight-chart-card { padding: .85rem; }.flight-chart-canvas canvas { height: 9.5rem; } }

/* Integrated map, chart, and control workspace. */
.replay-workspace { margin-top: 1.5rem; overflow: hidden; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface); box-shadow: var(--shadow); }.replay-workspace .replay-map-pane { background: var(--surface-muted); }.replay-workspace .flight-map { height: clamp(20rem, 52vw, 31rem); border: 0; border-radius: 0; box-shadow: none; }.replay-workspace .replay-map-pane > p { margin: 0; padding: .5rem 1rem; }.replay-chart-dock { padding: .85rem 1rem .5rem; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--surface); }.replay-chart-dock .flight-chart-canvas { margin-top: .45rem; }.replay-chart-dock .flight-chart-canvas canvas { height: 9.25rem; }.chart-series-selector { display: grid; min-width: 10.5rem; gap: .2rem; color: var(--text-secondary); font-size: .7rem; font-weight: 700; }.chart-series-selector select { width: 100%; padding: .42rem 1.6rem .42rem .55rem; border-radius: .5rem; font-size: .78rem; }.replay-workspace .replay-panel { margin: 0; padding: .9rem 1rem 1rem; border: 0; border-radius: 0; box-shadow: none; }.replay-workspace .replay-toolbar { gap: .55rem .85rem; }.replay-workspace .replay-values { margin-top: .85rem; }.replay-workspace .replay-values article { min-width: 0; }.replay-workspace .replay-values strong, .flight-detail-heading, .flight-detail-heading p, .flight-notes-readonly, .flight-notes-readonly p, .flight-note-preview, .admin-note-preview, .admin-note-preview span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; }.flight-notes-readonly { overflow: hidden; }.flight-notes-readonly p:last-child { overflow-wrap: anywhere; word-break: break-word; }.replay-workspace .replay-values strong { white-space: normal; }
.replay-workspace:fullscreen { display: grid; width: 100%; height: 100vh; height: 100svh; height: 100dvh; max-height: 100vh; max-height: 100svh; max-height: 100dvh; grid-template-rows: minmax(0, 2fr) minmax(6.5rem, .7fr) auto; overflow: hidden; border: 0; border-radius: 0; background: var(--page-bg); }.replay-workspace:fullscreen .replay-map-pane, .replay-workspace:fullscreen .replay-chart-dock, .replay-workspace:fullscreen .replay-panel { width: 100%; min-width: 0; min-height: 0; }.replay-workspace:fullscreen .replay-map-pane { height: auto; }.replay-workspace:fullscreen .flight-map { width: 100%; height: 100%; min-height: 0; }.replay-workspace:fullscreen .replay-chart-dock { display: grid; height: auto; grid-template-rows: auto minmax(0, 1fr); padding: .45rem 1rem .2rem; overflow: hidden; }.replay-workspace:fullscreen .replay-chart-dock .flight-chart-canvas { display: grid; min-height: 0; grid-template-rows: minmax(0, 1fr) auto; margin-top: .15rem; }.replay-workspace:fullscreen .replay-chart-dock .flight-chart-canvas canvas { width: 100%; height: 100%; min-height: 0; }.replay-workspace:fullscreen .replay-chart-dock .flight-chart-tooltip { min-height: .9rem; margin: .05rem 0 0; }.replay-workspace:fullscreen .replay-panel { height: auto; padding: .45rem 1rem .55rem; overflow: auto; }.replay-workspace:fullscreen .replay-toolbar { gap: .3rem .6rem; }.replay-workspace:fullscreen .replay-buttons button, .replay-workspace:fullscreen .replay-speeds button { padding: .42rem .62rem; }.replay-workspace:fullscreen .replay-timeline-label { margin-top: .35rem; }.replay-workspace:fullscreen .replay-values { gap: .4rem; margin-top: .35rem; }.replay-workspace:fullscreen .replay-values article { min-height: 0; padding: .4rem .5rem; }.replay-workspace .replay-fullscreen, .replay-workspace #replay-fullscreen { margin-left: auto; }
@media (max-width: 52rem) { .replay-workspace .flight-map { height: 22rem; }.replay-chart-dock { padding: .8rem .85rem .45rem; }.replay-workspace .replay-panel { padding: .85rem; } }
@media (max-width: 34rem) { .replay-workspace .flight-map { height: 18rem; }.replay-chart-dock .flight-chart-heading { align-items: flex-start; flex-direction: column; }.chart-series-selector { width: 100%; }.replay-workspace .replay-toolbar { align-items: stretch; }.replay-workspace #replay-fullscreen { margin-left: 0; }.replay-workspace .replay-chart-dock .flight-chart-canvas canvas { height: 8.5rem; } }
@media (max-width: 52rem) { .replay-workspace:fullscreen { grid-template-rows: minmax(0, 1.8fr) minmax(6.25rem, .75fr) auto; }.replay-workspace:fullscreen .replay-panel { overflow: auto; } }
@media (max-height: 750px) { .replay-workspace:fullscreen { grid-template-rows: minmax(0, 2fr) minmax(5.5rem, .55fr) auto; }.replay-workspace:fullscreen .replay-chart-dock { padding-top: .3rem; }.replay-workspace:fullscreen .flight-chart-heading .eyebrow, .replay-workspace:fullscreen .flight-chart-tooltip { display: none; }.replay-workspace:fullscreen .replay-panel { padding-top: .3rem; padding-bottom: .35rem; }.replay-workspace:fullscreen .replay-values { gap: .3rem; margin-top: .25rem; }.replay-workspace:fullscreen .replay-values article { padding: .3rem .4rem; }.replay-workspace:fullscreen .replay-values span { font-size: .62rem; }.replay-workspace:fullscreen .replay-values strong { font-size: .84rem; } }
@media (max-height: 600px) { .replay-workspace:fullscreen { grid-template-rows: minmax(0, 2.2fr) minmax(4.7rem, .45fr) auto; }.replay-workspace:fullscreen .replay-chart-dock { padding: .2rem .75rem .1rem; }.replay-workspace:fullscreen .flight-chart-heading h2 { font-size: .9rem; }.replay-workspace:fullscreen .chart-series-selector { min-width: 8.5rem; }.replay-workspace:fullscreen .chart-series-selector select { padding-top: .3rem; padding-bottom: .3rem; }.replay-workspace:fullscreen .replay-toolbar { gap: .2rem .4rem; }.replay-workspace:fullscreen .replay-buttons button, .replay-workspace:fullscreen .replay-speeds button { padding: .32rem .5rem; }.replay-workspace:fullscreen .replay-timeline-label { margin-top: .2rem; }.replay-workspace:fullscreen .replay-values { margin-top: .2rem; }.replay-workspace:fullscreen .replay-values article { padding: .25rem .35rem; } }

/* Public Flight Log landing page. */
.site-header { padding: .7rem clamp(1rem, 4vw, 3rem); border-bottom: 1px solid var(--border); background: color-mix(in srgb, var(--surface) 94%, transparent); }.site-header-inner, .site-footer-inner { display: flex; width: min(100%, 80rem); align-items: center; justify-content: space-between; gap: 1rem; margin: 0 auto; }.site-logo { color: var(--navy); font-size: .9rem; font-weight: 900; letter-spacing: -.03em; text-decoration: none; }.site-logo span { display: block; color: var(--primary); font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }.site-nav { display: flex; align-items: center; gap: 1rem; }.site-nav a, .site-footer a { color: var(--text-secondary); font-size: .78rem; font-weight: 800; text-decoration: none; }.site-nav a:hover, .site-nav a[aria-current="page"], .site-footer a:hover { color: var(--primary); }.site-main-link { padding: .45rem .65rem; border: 1px solid var(--border); border-radius: .5rem; color: var(--navy) !important; }.site-main-link:hover { border-color: var(--primary); color: var(--primary) !important; }.site-mobile-menu { display: none; position: relative; }.site-mobile-menu summary { list-style: none; padding: .45rem .65rem; border: 1px solid var(--border); border-radius: .5rem; color: var(--navy); cursor: pointer; font-size: .75rem; font-weight: 800; }.site-mobile-menu summary::-webkit-details-marker { display: none; }.site-mobile-menu nav { position: absolute; z-index: 20; top: calc(100% + .5rem); right: 0; display: grid; min-width: 12rem; padding: .4rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); box-shadow: var(--shadow); }.site-mobile-menu a { padding: .55rem .65rem; border-radius: .4rem; color: var(--navy); font-size: .8rem; font-weight: 800; text-decoration: none; }.site-mobile-menu a:hover { background: var(--secondary); color: var(--primary); }.site-footer { margin-top: 3rem; padding: 1.25rem clamp(1rem, 4vw, 3rem); border-top: 1px solid var(--border); background: var(--surface); }.site-footer-inner > div { display: grid; gap: .18rem; }.site-footer strong { color: var(--navy); font-size: .8rem; }.site-footer span { color: var(--text-secondary); font-size: .7rem; }.site-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .8rem; }
.page-back-link { margin: 1.25rem 0 -1rem; }.page-back-link a, .profile-context-links a { color: var(--primary); font-size: .82rem; font-weight: 800; text-decoration: none; }.profile-context-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .8rem; margin: 1rem 0 -1rem; }.profile-context-links .text-button { font-size: .82rem; }
.home-page { width: min(100%, 80rem); margin: 0 auto; padding: 1rem clamp(1rem, 4vw, 3rem) 4rem; }.home-nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.35rem; }.home-nav > div { display: flex; align-items: center; gap: 1rem; }.home-nav a { color: var(--text-secondary); font-size: .88rem; font-weight: 700; text-decoration: none; }.home-nav a:hover { color: var(--primary); }.home-nav .brand { color: var(--navy); font-size: 1rem; letter-spacing: -.03em; }
.home-hero { position: relative; display: flex; min-height: clamp(23rem, 41vw, 29rem); align-items: center; overflow: hidden; border-radius: 1.25rem; background: var(--navy); box-shadow: var(--shadow); }.home-hero-media, .home-hero-media img { position: absolute; width: 100%; height: 100%; }.home-hero-media img { object-fit: cover; object-position: center 48%; }.home-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(19,37,53,.84) 0%, rgba(19,37,53,.57) 42%, rgba(19,37,53,.12) 78%); }.home-hero-content { position: relative; z-index: 1; max-width: 38rem; padding: clamp(2rem, 6vw, 4.5rem); color: #fff; }.home-hero-content .eyebrow { margin-bottom: .55rem; color: #f7c5d3; }.home-hero-content h1 { margin: 0; font-size: clamp(2.05rem, 4.5vw, 3.6rem); line-height: .98; letter-spacing: -.055em; }.home-hero-content > p:not(.eyebrow) { max-width: 31rem; margin: 1rem 0 0; color: rgba(255,255,255,.92); font-size: clamp(1rem, 1.6vw, 1.18rem); line-height: 1.55; }.home-hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.5rem; }.home-button { display: inline-flex; min-height: 2.6rem; align-items: center; justify-content: center; padding: .65rem .95rem; border: 1px solid var(--primary); border-radius: .6rem; background: var(--primary); color: #fff; font-size: .84rem; font-weight: 800; text-decoration: none; transition: background .18s ease, border-color .18s ease, transform .18s ease; }.home-button:hover { border-color: var(--primary-hover); background: var(--primary-hover); color: #fff; transform: translateY(-1px); }.home-button-light { border-color: #fff; background: #fff; color: var(--navy); }.home-button-light:hover { border-color: var(--secondary); background: var(--secondary); color: var(--navy); }.home-button-ghost, .home-button-outline { border-color: rgba(255,255,255,.72); background: rgba(255,255,255,.08); color: #fff; }.home-button-ghost:hover, .home-button-outline:hover { border-color: #fff; background: rgba(255,255,255,.18); color: #fff; }
.home-platform-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: -1.75rem clamp(.5rem, 3.5vw, 3rem) 0; position: relative; z-index: 2; }.home-platform-stats article { min-width: 0; padding: .95rem 1rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--surface); box-shadow: 0 .55rem 1.35rem rgba(20,35,52,.09); }.home-platform-stats span { display: block; color: var(--text-secondary); font-size: .67rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }.home-platform-stats strong { display: block; margin-top: .35rem; color: var(--text-primary); font-size: clamp(1.05rem, 2vw, 1.45rem); letter-spacing: -.03em; white-space: nowrap; }.home-platform-stats small { color: var(--text-secondary); font-size: .64em; }
.home-live-preview { position: relative; margin-top: clamp(2rem, 4vw, 3rem); padding: clamp(1.2rem, 3vw, 1.75rem); overflow: hidden; border-radius: 1rem; background: linear-gradient(135deg, #162d3d 0%, #294457 66%, #1d5f68 100%); color: #fff; box-shadow: 0 .85rem 2.2rem rgba(20,35,52,.14); }.home-live-preview::after { position: absolute; width: 17rem; height: 17rem; top: -11rem; right: -7rem; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 2.6rem rgba(255,255,255,.025), 0 0 0 5.2rem rgba(255,255,255,.02); content: ''; pointer-events: none; }.home-live-heading { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; gap: 1.25rem; }.home-live-heading .eyebrow { display: flex; align-items: center; gap: .45rem; margin-bottom: .3rem; color: #ffc4d3; }.home-live-heading h2 { margin: 0; color: #fff; font-size: clamp(1.45rem, 2.8vw, 2rem); letter-spacing: -.035em; }.home-live-heading > div:first-child > p:last-child { max-width: 38rem; margin: .45rem 0 0; color: rgba(255,255,255,.74); font-size: .84rem; line-height: 1.55; }.home-live-pulse { display: inline-block; width: .55rem; height: .55rem; flex: 0 0 auto; border-radius: 50%; background: #ff3c66; box-shadow: 0 0 0 .28rem rgba(255,60,102,.15); }.home-live-summary { display: grid; min-width: 8.5rem; gap: .1rem; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.15); border-radius: .7rem; background: rgba(255,255,255,.08); text-align: center; backdrop-filter: blur(6px); }.home-live-summary strong { font-size: 1.35rem; line-height: 1; }.home-live-summary span { color: rgba(255,255,255,.7); font-size: .66rem; font-weight: 800; }.home-live-cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; margin-top: 1rem; }.home-live-cards[hidden] { display: none; }.home-live-card { display: grid; min-width: 0; grid-template-columns: auto minmax(0,1fr); gap: .65rem; align-items: center; padding: .75rem; border: 1px solid rgba(255,255,255,.13); border-radius: .75rem; background: rgba(255,255,255,.095); backdrop-filter: blur(7px); }.home-live-card-avatar { display: grid; width: 2.35rem; height: 2.35rem; place-items: center; border: 2px solid rgba(255,255,255,.35); border-radius: 50%; background: #fff; color: var(--navy); font-size: .7rem; font-weight: 900; }.home-live-card-copy { min-width: 0; }.home-live-card h3 { overflow: hidden; margin: 0; color: #fff; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }.home-live-card-meta { display: flex; flex-wrap: wrap; gap: .3rem .55rem; align-items: center; margin-top: .35rem; color: rgba(255,255,255,.72); font-size: .65rem; }.home-live-badge { display: inline-flex; padding: .18rem .4rem; border-radius: 99px; background: #daf8e8; color: #17623b; font-size: .57rem; font-weight: 900; letter-spacing: .045em; text-transform: uppercase; }.home-live-badge.is-stale { background: #fff0cf; color: #8a530b; }.home-live-empty { position: relative; z-index: 1; display: flex; align-items: center; gap: 1rem; max-width: 48rem; margin-top: 1rem; padding: .85rem; border: 1px solid rgba(255,255,255,.12); border-radius: .75rem; background: rgba(255,255,255,.075); }.home-live-empty[hidden] { display: none; }.home-live-empty h3 { margin: 0; color: #fff; font-size: .92rem; }.home-live-empty p { margin: .3rem 0 0; color: rgba(255,255,255,.7); font-size: .75rem; line-height: 1.5; }.home-live-visual { position: relative; display: grid; width: 3.25rem; height: 3.25rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; color: #ffc4d3; }.home-live-visual i { position: absolute; width: 1.9rem; height: .8rem; left: 2.35rem; bottom: .2rem; transform: rotate(-18deg); border-bottom: 2px dashed rgba(255,196,211,.45); border-radius: 50%; }.home-live-footer { position: relative; z-index: 1; display: flex; min-height: 2.6rem; align-items: center; justify-content: space-between; gap: 1rem; margin-top: .9rem; }.home-live-footer > span { color: rgba(255,255,255,.62); font-size: .69rem; }.home-live-cta { display: inline-flex; min-height: 2.5rem; align-items: center; justify-content: center; gap: .45rem; padding: .55rem .8rem; border: 1px solid rgba(255,255,255,.45); border-radius: .6rem; background: #fff; color: var(--navy); font-size: .76rem; font-weight: 900; text-decoration: none; }.home-live-cta:hover { border-color: #fff; background: var(--primary); color: #fff; }
.home-content-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(16rem, .85fr); gap: 1.25rem; margin-top: 3rem; }.home-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }.home-section-heading .eyebrow { margin-bottom: .2rem; font-size: .65rem; }.home-section-heading h2, .home-features h2, .home-final-cta h2 { margin: 0; color: var(--text-primary); font-size: clamp(1.45rem, 2.5vw, 2rem); letter-spacing: -.035em; }.home-section-heading > a { color: var(--primary); font-size: .8rem; font-weight: 800; text-decoration: none; }.home-latest-list, .home-pilot-list { display: grid; gap: .75rem; }.home-flight-card { display: grid; grid-template-columns: 10.5rem minmax(0, 1fr) auto; align-items: stretch; gap: .9rem; padding: .75rem; border: 1px solid var(--border); border-radius: .9rem; background: var(--surface); box-shadow: 0 .35rem 1rem rgba(20,35,52,.04); }.home-route-preview { display: grid; min-height: 7.4rem; place-items: center; overflow: hidden; border-radius: .65rem; background: #f2f5f7; color: var(--text-secondary); font-size: .7rem; }.home-route-preview .route-thumbnail { width: 100%; height: 100%; }.home-flight-main { min-width: 0; padding: .1rem 0; }.home-flight-heading { display: flex; justify-content: space-between; gap: .7rem; }.home-flight-heading h3 { margin: 0; color: var(--text-primary); font-size: .98rem; line-height: 1.25; }.home-flight-heading p { overflow: hidden; margin: .25rem 0 0; color: var(--text-secondary); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }.home-flight-heading > strong { color: var(--primary); font-size: .9rem; white-space: nowrap; }.home-pilot-line { display: flex; align-items: center; gap: .4rem; margin-top: .55rem; }.home-pilot-line img, .home-mini-avatar { width: 1.35rem; height: 1.35rem; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }.home-mini-avatar { display: grid; place-items: center; background: var(--secondary); color: var(--navy); font-size: .53rem; font-weight: 800; }.home-pilot-line a { overflow: hidden; color: var(--navy); font-size: .74rem; font-weight: 800; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }.home-flight-metrics { display: flex; gap: 1.15rem; margin: .65rem 0 0; }.home-flight-metrics dt { color: var(--text-secondary); font-size: .62rem; font-weight: 800; text-transform: uppercase; }.home-flight-metrics dd { margin: .12rem 0 0; color: var(--text-primary); font-size: .76rem; font-weight: 800; }.home-view-flight { align-self: center; min-width: 5.75rem; padding: .58rem .7rem; border-radius: .55rem; background: var(--primary); color: #fff; font-size: .73rem; font-weight: 800; text-align: center; text-decoration: none; }.home-view-flight:hover { background: var(--primary-hover); color: #fff; }
.home-pilots { min-width: 0; }.home-pilot-card { padding: .85rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); box-shadow: 0 .35rem 1rem rgba(20,35,52,.04); }.home-pilot-card-heading { display: flex; align-items: center; gap: .65rem; min-width: 0; }.home-pilot-card-heading img, .home-pilot-avatar { width: 3rem; height: 3rem; flex: 0 0 auto; border-radius: 50%; object-fit: cover; }.home-pilot-avatar { display: grid; place-items: center; background: var(--secondary); color: var(--navy); font-size: .78rem; font-weight: 800; }.home-pilot-card h3 { overflow: hidden; margin: 0; color: var(--text-primary); font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }.home-pilot-card p { overflow: hidden; margin: .15rem 0 0; color: var(--text-secondary); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }.home-pilot-stats { display: flex; flex-wrap: wrap; gap: .35rem .75rem; margin: .75rem 0; }.home-pilot-stats div { min-width: 0; }.home-pilot-stats dt { color: var(--text-secondary); font-size: .59rem; font-weight: 800; text-transform: uppercase; }.home-pilot-stats dd { margin: .08rem 0 0; color: var(--text-primary); font-size: .71rem; font-weight: 800; }.home-pilot-link { display: inline-flex; padding: .45rem 0; color: var(--primary); font-size: .73rem; font-weight: 800; text-decoration: none; }.home-empty-state { padding: 1.4rem; border: 1px dashed var(--border); border-radius: .8rem; background: var(--surface); }.home-empty-state h3 { margin: 0; color: var(--text-primary); font-size: .96rem; }.home-empty-state p { margin: .35rem 0 0; color: var(--text-secondary); font-size: .8rem; line-height: 1.45; }
.home-features { display: grid; grid-template-columns: minmax(14rem, .7fr) minmax(0, 1.3fr); gap: 2rem; align-items: center; margin-top: 3.75rem; padding: 2rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }.home-features h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.08; }.home-feature-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }.home-feature-grid article { min-width: 0; padding: .75rem .35rem; }.home-feature-grid span { color: var(--primary); font-size: 1.2rem; }.home-feature-grid h3 { margin: .4rem 0 0; color: var(--text-primary); font-size: .82rem; }.home-feature-grid p { margin: .35rem 0 0; color: var(--text-secondary); font-size: .69rem; line-height: 1.45; }.home-final-cta { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 3rem; padding: clamp(1.5rem, 4vw, 2.5rem); border-radius: 1rem; background: var(--navy); color: #fff; }.home-final-cta .eyebrow { margin-bottom: .35rem; color: #f7c5d3; }.home-final-cta h2 { color: #fff; }.home-final-cta p:not(.eyebrow) { max-width: 34rem; margin: .55rem 0 0; color: rgba(255,255,255,.75); line-height: 1.5; }.home-final-actions { display: flex; flex-wrap: wrap; gap: .6rem; flex: 0 0 auto; }
@media (max-width: 64rem) { .home-content-grid { grid-template-columns: minmax(0, 1.35fr) minmax(15rem, .8fr); }.home-flight-card { grid-template-columns: 8.5rem minmax(0, 1fr); }.home-view-flight { grid-column: 2; justify-self: start; align-self: end; }.home-route-preview { min-height: 8.5rem; grid-row: span 2; }.home-features { grid-template-columns: 1fr; gap: 1rem; }.home-feature-grid { max-width: 44rem; } }
@media (max-width: 48rem) { .home-platform-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-right: 1rem; margin-left: 1rem; }.home-content-grid { grid-template-columns: 1fr; }.home-pilot-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }.home-pilot-card-heading { align-items: flex-start; flex-direction: column; }.home-pilot-stats { gap: .3rem; }.home-final-cta { align-items: flex-start; flex-direction: column; }.home-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 48rem) { .home-live-preview { padding: 1.1rem; }.home-live-heading { align-items: stretch; flex-direction: column; gap: .75rem; }.home-live-summary { min-width: 0; grid-template-columns: auto 1fr; align-items: center; justify-content: start; text-align: start; }.home-live-cards { grid-template-columns: 1fr; }.home-live-card { padding: .7rem; }.home-live-footer { align-items: stretch; flex-direction: column; gap: .55rem; }.home-live-cta { width: 100%; }.home-live-empty { align-items: flex-start; }.home-live-visual { width: 2.75rem; height: 2.75rem; }.home-live-visual i { display: none; } }
@media (max-width: 34rem) { .home-page { padding: .7rem 1rem 2.5rem; }.home-nav > div { gap: .75rem; }.home-hero { min-height: 25rem; }.home-hero-media img { object-position: center; }.home-hero-overlay { background: linear-gradient(90deg, rgba(19,37,53,.82), rgba(19,37,53,.35)); }.home-hero-content { align-self: end; padding: 1.5rem; }.home-hero-content h1 { font-size: 2.05rem; }.home-hero-actions { margin-top: 1.1rem; }.home-button { min-height: 2.45rem; padding: .58rem .75rem; font-size: .78rem; }.home-platform-stats { gap: .55rem; margin-top: -1rem; }.home-platform-stats article { padding: .75rem; }.home-platform-stats strong { font-size: 1rem; }.home-content-grid { margin-top: 2.25rem; }.home-flight-card { grid-template-columns: 6.75rem minmax(0, 1fr); gap: .65rem; padding: .6rem; }.home-route-preview { min-height: 7.25rem; }.home-flight-heading { display: block; }.home-flight-heading > strong { display: block; margin-top: .35rem; }.home-flight-heading p { white-space: normal; }.home-flight-metrics { gap: .7rem; }.home-view-flight { min-width: 0; padding: .48rem .55rem; }.home-pilot-list { grid-template-columns: 1fr; }.home-pilot-card-heading { align-items: center; flex-direction: row; }.home-feature-grid { gap: .4rem; }.home-feature-grid article { padding: .55rem .25rem; }.home-final-cta { margin-top: 2rem; }.home-final-actions { width: 100%; }.home-final-actions .home-button { flex: 1; } }
@media (max-width: 42rem) { .site-nav, .site-language-switcher { display: none; }.site-mobile-menu { display: block; }.site-footer-inner { align-items: flex-start; flex-direction: column; }.site-footer nav { justify-content: flex-start; }html[lang="ar"] .site-mobile-menu > nav { position: absolute; right: auto; left: 0; max-width: calc(100vw - 2rem); } }

/* Production polish: shared rhythm and controls. The homepage hero is intentionally untouched. */
:root { --space-1: .4rem; --space-2: .65rem; --space-3: .9rem; --space-4: 1.2rem; --space-5: 1.65rem; --space-6: 2.35rem; --radius-sm: .6rem; --radius-md: .85rem; --radius-lg: 1rem; --card-shadow: 0 .45rem 1.15rem rgba(20, 35, 52, .045); }
body { line-height: 1.5; }.profile-page, .home-page { padding-bottom: clamp(2.75rem, 6vw, 4.5rem); }.profile-page h1, .directory-header h1, .flight-detail-heading h1 { letter-spacing: -.035em; line-height: 1.12; }.profile-page h2, .home-section-heading h2, .flight-chart-heading h2 { letter-spacing: -.02em; line-height: 1.2; }.profile-page h3, .home-page h3 { line-height: 1.28; }.eyebrow { margin-bottom: var(--space-2); font-size: .7rem; font-weight: 800; letter-spacing: .11em; }.muted, small, .handle, .edit-intro { line-height: 1.5; }
input, select, textarea { min-height: 2.65rem; border-radius: var(--radius-sm); line-height: 1.35; transition: border-color .16s ease, box-shadow .16s ease, background .16s ease; }textarea { min-height: 7rem; padding-top: .7rem; }input::placeholder, textarea::placeholder { color: color-mix(in srgb, var(--text-secondary) 78%, transparent); }input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 1px; box-shadow: 0 0 0 .15rem rgba(201, 31, 73, .08); }label { gap: var(--space-1); color: var(--text-primary); font-size: .84rem; }form { gap: var(--space-3); }
button, .flight-view-link, .flight-replay-link, .home-view-flight, .directory-pagination a { min-height: 2.55rem; border-radius: var(--radius-sm); font-size: .82rem; font-weight: 800; letter-spacing: .005em; transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease; }button:focus-visible, a:focus-visible, summary:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }button:active, .flight-view-link:active, .flight-replay-link:active, .home-view-flight:active, .directory-pagination a:active { transform: translateY(1px); }button:disabled, button[aria-disabled="true"] { cursor: not-allowed; opacity: .6; transform: none; }.flight-delete-button { border: 1px solid color-mix(in srgb, var(--danger) 48%, transparent); background: var(--surface); color: var(--danger); }.flight-delete-button:hover { background: var(--danger-background); color: var(--danger); }
.card, .edit-profile-form, .directory-tools, .pilot-directory-card, .home-platform-stats article, .home-flight-card, .home-pilot-card, .flight-card, .flight-details-grid article, .flight-chart-card, .admin-pilot-summary, .admin-flight-row, .admin-flight-tools { border-color: var(--border); border-radius: var(--radius-md); box-shadow: var(--card-shadow); }.card { padding: clamp(1.35rem, 4vw, 2.25rem); }.profile-page section { margin-top: clamp(1.8rem, 4vw, 2.7rem); }.section-heading, .home-section-heading { align-items: center; margin-bottom: var(--space-3); }.section-heading h2, .home-section-heading h2 { font-size: clamp(1.35rem, 2.4vw, 1.8rem); }.section-heading > a, .home-section-heading > a { padding: .32rem 0; font-size: .78rem; }.section-heading > a:hover, .home-section-heading > a:hover { color: var(--primary-hover); }
.site-header { padding-top: .6rem; padding-bottom: .6rem; background: color-mix(in srgb, var(--surface) 96%, transparent); }.site-header-inner, .site-footer-inner { gap: var(--space-4); }.site-logo { line-height: 1.05; }.site-nav { gap: .9rem; }.site-nav a { padding: .42rem 0; white-space: nowrap; }.site-nav a[aria-current="page"] { color: var(--primary); }.site-nav a[aria-current="page"]::after { display: block; width: 1.05rem; height: 2px; margin: .22rem auto -0.36rem; border-radius: 99px; background: var(--primary); content: ''; }.site-main-link { padding: .45rem .7rem !important; }.site-mobile-menu summary { display: grid; min-width: 2.75rem; min-height: 2.45rem; place-items: center; padding: .4rem .65rem; }.site-footer { margin-top: clamp(2.5rem, 5vw, 4rem); padding-top: 1.35rem; padding-bottom: 1.35rem; }.site-footer nav { gap: .55rem 1rem; }.site-footer a { padding: .18rem 0; }
.profile-context-links { gap: .55rem .9rem; margin-top: .9rem; }.profile-context-links a, .profile-context-links .text-button { min-height: 2rem; font-size: .79rem; }.profile-hero-content { gap: clamp(1rem, 3vw, 1.5rem); }.profile-hero-content h1 { line-height: 1.08; }.profile-handle, .country-line { margin-top: .25rem; }.flight-overview-controls { gap: var(--space-2); }.year-filter { padding: .2rem .25rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); }.year-filter select { min-height: 2.25rem; }.premium-flight-stats article, .flight-stats article { border-radius: var(--radius-md); box-shadow: var(--card-shadow); }.premium-flight-stats .stat-visibility-form { top: .6rem; right: .6rem; }
.site-language-switcher, .site-mobile-language-switcher { display: inline-flex; align-items: center; gap: .35rem; color: var(--text-secondary); direction: ltr; font-size: .75rem; font-weight: 800; white-space: nowrap; }.site-language-switcher a, .site-mobile-language-switcher a { color: var(--text-secondary); text-decoration: none; }.site-language-switcher a[aria-current="true"], .site-language-switcher a:hover, .site-mobile-language-switcher a:hover { color: var(--primary); }.site-mobile-language-switcher { margin-top: .2rem; }.leaflet-container, .flight-map, .profile-route-map, .home-route-map { direction: ltr; }
html[lang="ar"] :is(.site-header .site-nav a, .site-header .site-mobile-menu, .site-header .site-language-switcher, .site-footer span, .site-footer nav a, .home-hero-content .eyebrow, .home-hero-content > p, .home-hero-actions .home-button, .home-platform-stats span, .home-section-heading .eyebrow, .home-section-heading > a, .home-flight-heading p, .home-flight-metrics dt, .home-pilot-stats dt, .home-pilot-link, .home-view-flight, .home-empty-state h3, .home-empty-state p, .home-features .eyebrow, .home-feature-grid h3, .home-feature-grid p, .home-final-cta .eyebrow, .home-final-cta p, .home-final-actions .home-button, .directory-header .eyebrow, .directory-header > p, .directory-tools label, .directory-tools input, .directory-tools select, .directory-tools button, .directory-count, .directory-pilot-stats dt, .directory-view-profile, .directory-pagination) { font-family: "Tajawal", Tahoma, Arial, sans-serif; }
html[lang="ar"] .home-live-preview, html[lang="ar"] .home-live-preview :is(h2,h3,p,span,strong,a) { font-family: "Tajawal", Tahoma, Arial, sans-serif; }
html[lang="ar"] :is(.profile-page, .profile-page input:not([dir="ltr"]), .profile-page textarea, .profile-page select, .flight-overview, .profile-summary-actions, .edit-profile-layout) { font-family: "Tajawal", Tahoma, Arial, sans-serif; }
html[lang="ar"] .profile-page :is(input[dir="ltr"], [dir="ltr"]) { font-family: Arial, Helvetica, sans-serif; }
html[lang="ar"] .home-hero .hero-title-subline { display: inline-block; font-family: inherit; font-size: .84em; font-weight: inherit; }
.flight-card { padding: var(--space-4); }.flight-card-layout { gap: var(--space-4); }.flight-card-route .route-thumbnail-wrap, .flight-card-route .route-thumbnail-empty { margin-top: 0; border-radius: var(--radius-md); }.flight-card-stats > div { border-radius: var(--radius-sm); }.flight-distance { color: var(--primary); }.flight-card-actions { gap: var(--space-2); }.flight-card-actions .flight-view-link, .flight-card-actions .flight-replay-link, .flight-card-actions .flight-visibility-button, .flight-card-actions .flight-delete-button { min-height: 2.55rem; }.flight-notes summary { padding: .65rem .75rem; border-radius: var(--radius-sm); }.flight-notes form { padding: .75rem; }.flight-note-preview > span { line-height: 1.45; }
.directory-header { padding-top: 1.5rem; }.directory-tools { padding: var(--space-3); }.directory-tools form { gap: var(--space-3); }.directory-count { margin-top: var(--space-4); }.pilot-directory-grid { gap: var(--space-4); }.pilot-directory-card { padding: var(--space-4); }.directory-pilot-stats { gap: .55rem; margin: var(--space-4) 0; }.directory-pilot-stats div { padding: .58rem .4rem; border-radius: var(--radius-sm); }.directory-view-profile { margin-top: auto; }.directory-pagination { gap: .75rem; margin-top: var(--space-5); }.directory-pagination a { display: inline-flex; align-items: center; padding: .45rem .75rem; }
.home-platform-stats { gap: var(--space-3); }.home-platform-stats article { display: grid; align-content: center; min-height: 5.2rem; padding: .9rem 1rem; }.home-content-grid { gap: clamp(1rem, 2.5vw, 1.5rem); margin-top: clamp(2.5rem, 5vw, 3.5rem); }.home-latest-list, .home-pilot-list { gap: var(--space-3); }.home-flight-card { gap: var(--space-3); padding: var(--space-3); }.home-pilot-card { padding: var(--space-3); }.home-feature-grid { gap: var(--space-3); }.home-feature-grid article { padding: .75rem .45rem; }.home-final-cta { gap: var(--space-5); margin-top: clamp(2.5rem, 5vw, 3.5rem); }.home-final-actions { gap: var(--space-2); }
.flight-detail-heading { padding-top: clamp(1.5rem, 4vw, 2.3rem); padding-bottom: .75rem; }.flight-details-grid { gap: var(--space-3); }.flight-details-grid article { padding: 1rem; }.flight-map-section { margin-top: var(--space-5); }.replay-workspace { border-radius: var(--radius-lg); }.replay-chart-dock, .replay-workspace .replay-panel { padding-right: clamp(.85rem, 2vw, 1.1rem); padding-left: clamp(.85rem, 2vw, 1.1rem); }.replay-workspace .replay-toolbar { gap: .65rem .75rem; }.replay-timeline-label { gap: .65rem; }.replay-values { gap: var(--space-2); }.replay-values article { border-radius: var(--radius-sm); }.chart-series-selector select { min-height: 2.25rem; }
@media (max-width: 48rem) { .profile-page { padding-right: 1rem; padding-left: 1rem; }.site-header { padding-right: 1rem; padding-left: 1rem; }.site-logo { font-size: .84rem; }.home-platform-stats { margin-right: .5rem; margin-left: .5rem; }.home-section-heading { align-items: flex-end; }.home-pilot-list { gap: .65rem; }.home-feature-grid article { padding: .55rem .3rem; }.flight-card-layout { gap: .85rem; }.directory-tools form { gap: .65rem; }.replay-workspace .replay-toolbar { gap: .55rem; } }
@media (max-width: 34rem) { .profile-page section { margin-top: 1.65rem; }.profile-page h1, .directory-header h1, .flight-detail-heading h1 { font-size: clamp(1.8rem, 9vw, 2.35rem); }.section-heading h2, .home-section-heading h2 { font-size: 1.32rem; }.site-header-inner { gap: .7rem; }.site-logo span { font-size: .61rem; }.site-mobile-menu summary { min-height: 2.35rem; }.profile-context-links { justify-content: flex-start; }.profile-context-links a, .profile-context-links .text-button { min-height: 2.3rem; }.year-filter { width: 100%; justify-content: space-between; }.year-filter select { flex: 1; max-width: 13rem; }.flight-card { padding: .85rem; }.flight-card-actions { gap: .5rem; }.directory-tools, .pilot-directory-card { padding: .85rem; }.directory-pagination { flex-wrap: wrap; }.home-platform-stats article { min-height: 4.75rem; }.home-final-cta { padding: 1.35rem; }.home-final-actions .home-button { min-height: 2.6rem; }.flight-details-grid article { padding: .85rem; }.replay-workspace .replay-panel { padding-bottom: .85rem; } }

/* Profile action row: compact text actions with a shared baseline. */
.profile-context-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .45rem 1rem; }.profile-context-links > a, .profile-context-links > .logout-form, .profile-context-links .text-button { min-height: 2rem; font-size: .79rem; font-weight: 800; line-height: 1.2; white-space: nowrap; }.profile-context-links > a, .profile-context-links .text-button { display: inline-flex; align-items: center; color: var(--primary); text-decoration: none; }.profile-context-links > .logout-form { display: flex; align-items: center; margin: 0; }.profile-context-links .text-button { padding: 0; border: 0; background: transparent; }.profile-context-links > a:hover, .profile-context-links .text-button:hover { color: var(--primary-hover); background: transparent; }.profile-context-links > a:focus-visible, .profile-context-links .text-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
@media (max-width: 34rem) { .profile-context-links { justify-content: center; gap: .35rem .85rem; }.profile-context-links > a, .profile-context-links > .logout-form, .profile-context-links .text-button { min-height: 2.3rem; } }

/* Keep the My Flights upload action at normal button dimensions on wider layouts. */
@media (min-width: 40.0625rem) {
    .premium-flight-stats article {
        display: grid;
        grid-template-columns: 2rem minmax(0, 1fr) 2.55rem;
        column-gap: .85rem;
        align-items: center;
        padding: .8rem .75rem;
    }

    .premium-flight-stats article > div {
        min-width: 0;
    }

    .premium-flight-stats span:not(.stat-icon) {
        line-height: 1.18;
        letter-spacing: .015em;
    }

    .my-flights .section-heading .upload-placeholder {
        display: inline-flex;
        min-width: 8.75rem;
        min-height: 2.55rem;
        flex: 0 0 auto;
        align-items: center;
        justify-content: center;
        padding: .6rem 1rem;
        border-radius: var(--radius-sm);
        font-size: .82rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .premium-flight-stats .stat-visibility-form {
        position: relative;
        top: auto;
        right: auto;
        width: 2.55rem;
        min-width: 2.55rem;
        height: 1.4rem;
        justify-self: end;
        transform: none;
    }

    .premium-flight-stats .stat-visibility-form .async-form-message {
        position: absolute;
        top: calc(100% + .35rem);
        right: 0;
    }

    .premium-flight-stats .stat-visibility-form button {
        width: 2.55rem;
        min-height: 1.4rem;
        height: 1.4rem;
        padding: .16rem;
    }

    .premium-flight-stats .stat-visibility-dot {
        width: 1.05rem;
        height: 1.05rem;
    }

    .premium-flight-stats .stat-visibility-form button.is-visible .stat-visibility-dot {
        transform: translateX(1.18rem);
    }

}

/* Profile content and replay/map controls: scoped presentation polish. */
.profile-pilot-content { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 1fr); gap: clamp(1rem, 2.5vw, 1.5rem); align-items: start; margin-top: clamp(1.5rem, 3vw, 2.25rem); }.profile-pilot-content > .card { width: auto; min-width: 0; margin-top: 0; }.profile-pilot-content > .card:only-child { grid-column: 1 / -1; }.profile-pilot-content > .card .profile-details { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin: .85rem 0 0; }.profile-pilot-content > .card .profile-details > div { min-width: 0; padding: .65rem .7rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface-muted); }.profile-pilot-content > .card .profile-details dt { font-size: .66rem; letter-spacing: .055em; line-height: 1.25; }.profile-pilot-content > .card .profile-details dd { margin-top: .28rem; color: var(--text-primary); font-size: .84rem; font-weight: 800; line-height: 1.4; overflow-wrap: anywhere; }.profile-pilot-content > .card:first-child .pilot-activities { grid-column: 1 / -1; }.profile-pilot-content > .card h2 { margin-bottom: 0; }.profile-pilot-content .page-back-link { margin: .8rem 0 0; }.profile-summary-meta .profile-country { display: inline-flex; align-items: center; gap: .32rem; }.profile-summary-meta .country-flag { display: inline-flex; width: 1.05rem; height: 1.05rem; flex: 0 0 auto; align-items: center; justify-content: center; font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; font-size: .96rem; line-height: 1; }
@media (max-width: 62rem) { .profile-pilot-content { grid-template-columns: 1fr; }.profile-pilot-content > .card .profile-details { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 40rem) { .profile-pilot-content { gap: 1rem; margin-top: 1.4rem; }.profile-pilot-content > .card .profile-details { grid-template-columns: 1fr; gap: .55rem; }.profile-pilot-content > .card .profile-details > div { padding: .62rem .65rem; }.profile-pilot-content > .card:first-child .pilot-activities { grid-column: auto; }.profile-summary-meta .country-flag { width: 1rem; height: 1rem; font-size: .9rem; } }

.replay-workspace .replay-toolbar { gap: .5rem .65rem; }.replay-workspace .replay-buttons, .replay-workspace .replay-speeds { gap: .35rem; }.replay-workspace .replay-buttons button, .replay-workspace .replay-speeds button, .replay-workspace #replay-fullscreen { min-height: 2.15rem; padding: .45rem .65rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--secondary); color: var(--text-primary); font-size: .76rem; font-weight: 800; line-height: 1.15; }.replay-workspace .replay-buttons button:hover, .replay-workspace .replay-speeds button:hover, .replay-workspace #replay-fullscreen:hover { border-color: color-mix(in srgb, var(--primary) 35%, var(--border)); background: var(--secondary-hover); color: var(--text-primary); }.replay-workspace .replay-buttons button.replay-is-active, .replay-workspace .replay-speeds button.replay-speed-active { border-color: var(--primary); background: var(--primary); color: #fff; }.replay-workspace .follow-pilot { display: inline-flex; min-height: 2.15rem; align-items: center; gap: .55rem; margin: 0; color: var(--text-primary); font-size: .76rem; font-weight: 800; white-space: nowrap; }.replay-workspace .follow-pilot input { width: 2.2rem; height: 1.2rem; margin: 0; appearance: none; border: 1px solid #8794a0; border-radius: 99px; background: #697784; cursor: pointer; outline: none; transition: background .18s ease, border-color .18s ease; }.replay-workspace .follow-pilot input::after { display: block; width: .84rem; height: .84rem; margin: .1rem; border-radius: 50%; background: #fff; box-shadow: 0 .05rem .16rem rgba(20,35,52,.28); content: ''; transform: translateX(0); transition: transform .18s ease; }.replay-workspace .follow-pilot input:checked { border-color: var(--primary); background: var(--primary); }.replay-workspace .follow-pilot input:checked::after { transform: translateX(.96rem); }.replay-workspace .follow-pilot input:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }.replay-workspace #replay-fullscreen { margin-left: 0; }
.replay-workspace .leaflet-control-layers { overflow: hidden; border: 1px solid var(--border); border-radius: .5rem; background: rgba(255,255,255,.94); box-shadow: 0 .25rem .65rem rgba(20,35,52,.12); }.replay-workspace .leaflet-control-layers-toggle { width: 1.9rem; height: 1.9rem; background-size: 1rem 1rem; }.replay-workspace .leaflet-control-layers-expanded { padding: .35rem .45rem; }.replay-workspace .leaflet-control-layers label { display: flex; align-items: center; gap: .3rem; margin: .16rem 0; color: var(--text-primary); font-size: .7rem; font-weight: 700; line-height: 1.2; }.replay-workspace .leaflet-control-layers input { width: .76rem; height: .76rem; margin: 0; accent-color: var(--primary); }.replay-workspace .leaflet-control-layers-separator { margin: .28rem 0; border-top-color: var(--border); }
.replay-workspace .flight-heat-legend { display: flex; align-items: center; gap: .4rem; max-width: calc(100vw - 2rem); padding: .4rem .55rem; border: 1px solid var(--border); border-radius: .5rem; background: rgba(255,255,255,.94); box-shadow: 0 .25rem .65rem rgba(20,35,52,.12); color: var(--navy); font-size: .68rem; font-weight: 800; line-height: 1.1; direction: ltr; }.replay-workspace .flight-heat-ramp { display: block; width: clamp(5.5rem, 12vw, 8.5rem); height: .55rem; border-radius: 99px; background: linear-gradient(to right, #0D47A1, #1976D2, #42A5F5, #83919C, #FDD835, #FB8C00, #D32F2F); }
.replay-workspace .replay-map-pane { position: relative; }.replay-workspace .flight-map[hidden] { display: none !important; }.replay-workspace .flight-map-3d, .replay-workspace .maplibregl-map { direction: ltr; }.replay-map-mode { position: absolute; z-index: 1001; top: .65rem; left: 50%; display: inline-flex; overflow: hidden; border: 1px solid rgba(20,35,52,.24); border-radius: .55rem; background: rgba(255,255,255,.94); box-shadow: 0 .25rem .65rem rgba(20,35,52,.14); direction: ltr; transform: translateX(-50%); }.replay-map-mode button { min-width: 3rem; min-height: 2rem; padding: .35rem .65rem; border: 0; border-radius: 0; background: transparent; color: var(--text-primary); font-size: .72rem; font-weight: 900; }.replay-map-mode button + button { border-left: 1px solid rgba(20,35,52,.18); }.replay-map-mode button:hover { background: var(--secondary); color: var(--text-primary); }.replay-map-mode button.replay-map-mode-active { background: var(--primary); color: #fff; }.replay-map-mode button:disabled { cursor: wait; opacity: .68; }.replay-map-mode-status { position: absolute; z-index: 1001; right: .75rem; bottom: .65rem; left: .75rem; width: fit-content; max-width: calc(100% - 1.5rem); margin: 0 auto !important; padding: .4rem .6rem !important; border-radius: .45rem; background: rgba(20,35,52,.88); color: #fff; font-size: .72rem !important; font-weight: 700; text-align: center; pointer-events: none; }.replay-map-mode-status:empty { display: none; }.flight-3d-pilot-marker { display: block; width: 1rem; height: 1rem; box-sizing: border-box; border: 3px solid #fff; border-radius: 50%; background: #142334; box-shadow: 0 .1rem .3rem rgba(20,35,52,.5); }
.replay-workspace .maplibregl-ctrl-top-left { display: flex; gap: .35rem; align-items: flex-start; }
.flight-3d-camera-controls, .flight-3d-imagery-controls { display: flex; gap: .25rem; direction: ltr; margin: 0 !important; }
.flight-3d-imagery-controls { position: relative; }
.flight-3d-camera-controls button, .flight-3d-imagery-controls button { min-width: 2.15rem; min-height: 2.15rem; padding: .28rem .5rem; border: 1px solid rgba(20,35,52,.25); border-radius: .5rem; background: rgba(255,255,255,.95); color: #142334; box-shadow: 0 .2rem .5rem rgba(20,35,52,.16); font-size: .7rem; font-weight: 800; line-height: 1; cursor: pointer; }
.flight-3d-camera-controls button:hover, .flight-3d-imagery-controls button:hover { background: #eaf2f3; }
.flight-3d-camera-controls button.is-active, .flight-3d-imagery-controls button.is-active { background: var(--primary); border-color: var(--primary); color: #fff; }
.flight-3d-camera-controls .flight-3d-icon-button { display: inline-flex; width: 2.15rem; align-items: center; justify-content: center; padding: .35rem; }
.flight-3d-icon-button svg { width: 1.05rem; height: 1.05rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; }
.flight-3d-layers-toggle { min-width: 3.35rem !important; }
.flight-3d-layers-menu { position: absolute; top: calc(100% + .3rem); left: 0; display: grid; min-width: 7.4rem; padding: .22rem; border: 1px solid rgba(20,35,52,.2); border-radius: .5rem; background: rgba(255,255,255,.98); box-shadow: 0 .3rem .8rem rgba(20,35,52,.2); }
.flight-3d-layers-menu[hidden] { display: none; }
.flight-3d-layers-menu .flight-3d-layer-option { min-height: 1.9rem; border: 0; border-radius: .35rem; box-shadow: none; text-align: start; }
.flight-3d-layers-menu .flight-3d-layer-option.is-active { background: var(--primary); color: #fff; }
.flight-3d-layers-menu .flight-3d-layer-option:disabled { cursor: not-allowed; opacity: .58; }
@media (max-width: 40rem) { .replay-workspace .replay-toolbar { align-items: center; gap: .45rem .5rem; }.replay-workspace .replay-buttons { flex-basis: 100%; }.replay-workspace .replay-buttons button { flex: 1; }.replay-workspace .replay-speeds { flex-basis: 100%; }.replay-workspace .replay-speeds button { flex: 1; }.replay-workspace .follow-pilot { flex: 1 1 auto; justify-content: space-between; padding-right: .15rem; }.replay-workspace #replay-fullscreen { flex: 1 1 auto; }.replay-workspace .leaflet-control-layers-toggle { width: 1.7rem; height: 1.7rem; background-size: .9rem .9rem; }.replay-workspace .leaflet-control-layers-expanded { padding: .28rem .35rem; }.replay-workspace .leaflet-control-layers label { gap: .25rem; margin: .12rem 0; font-size: .66rem; }.replay-workspace .leaflet-control-layers input { width: .68rem; height: .68rem; }.replay-workspace .replay-map-mode { top: 3.15rem; } }

/* Flight Details refinement: compact title, balanced summary, and stable track switch. */
.flight-summary-card { gap: .85rem; padding: clamp(.95rem, 2vw, 1.2rem); border-color: color-mix(in srgb, var(--border) 86%, var(--navy)); box-shadow: 0 .55rem 1.35rem rgba(20,35,52,.06); }.flight-summary-heading { align-items: center; gap: .85rem; }.flight-summary-heading .eyebrow { margin-bottom: .2rem; font-size: .66rem; line-height: 1.2; }.flight-summary-heading h1 { font-size: clamp(1.35rem, 2.3vw, 1.72rem); line-height: 1.2; letter-spacing: -.025em; }.flight-summary-pilot { display: flex; align-items: baseline; gap: .38rem; margin: .3rem 0 0; color: var(--text-secondary); font-size: .82rem; font-weight: 700; line-height: 1.3; }.flight-summary-pilot strong { color: var(--text-primary); }.flight-summary-metadata { gap: .65rem .9rem; padding-top: .75rem; }.flight-summary-item { align-items: center; gap: .55rem; }.flight-summary-item > svg { margin-top: 0; }.flight-summary-item strong { font-size: .88rem; line-height: 1.3; }.flight-summary-edit { min-height: 2.2rem; padding: .45rem .65rem; font-size: .74rem; }
.replay-workspace .follow-pilot { flex: 0 0 auto; min-height: 2.1rem; padding: .35rem .45rem .35rem .6rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); line-height: 1.15; }.replay-workspace .follow-pilot input { width: 2.15rem; height: 1.15rem; flex: 0 0 auto; padding: 0; border-color: #788691; }.replay-workspace .follow-pilot input::after { width: .82rem; height: .82rem; margin: .08rem; }.replay-workspace .follow-pilot input:checked::after { transform: translateX(.99rem); }
@media (max-width: 34rem) { .flight-summary-card { padding: .9rem; }.flight-summary-heading { align-items: stretch; }.flight-summary-heading h1 { font-size: clamp(1.3rem, 6.4vw, 1.55rem); line-height: 1.22; }.flight-summary-edit { min-height: 2.45rem; }.replay-workspace .follow-pilot { flex: 1 1 100%; justify-content: space-between; min-height: 2.35rem; padding-inline: .65rem; } }

/* Keep the native follow checkbox accessible while presenting it as a compact switch. */
.replay-workspace .track-pilot-control { display: inline-flex; flex: 0 0 auto; align-items: center; gap: .55rem; min-height: 2.2rem; padding: .35rem .45rem .35rem .65rem; border: 1px solid var(--border); border-radius: .55rem; background: var(--surface); color: var(--text-primary); font-size: .76rem; font-weight: 800; line-height: 1.15; white-space: nowrap; }.replay-workspace .track-pilot-control input[type="checkbox"] { display: block; width: 2.75rem !important; min-width: 2.75rem; height: 1.4rem !important; min-height: 1.4rem; margin: 0 !important; padding: 0 !important; box-sizing: border-box; appearance: none; -webkit-appearance: none; border: 1px solid #7d8993; border-radius: 999px; background: #77838d; color: transparent; cursor: pointer; font: inherit; line-height: 0 !important; outline: none; transition: background .16s ease, border-color .16s ease; }.replay-workspace .track-pilot-control input[type="checkbox"]::after { display: block; width: 1.12rem; height: 1.12rem; margin: .08rem; border: 0; border-radius: 50%; background: #fff; box-shadow: 0 .05rem .16rem rgba(20,35,52,.28); content: ''; transform: translateX(0); transition: transform .16s ease; }.replay-workspace .track-pilot-control input[type="checkbox"]:checked { border-color: var(--primary); background: var(--primary); }.replay-workspace .track-pilot-control input[type="checkbox"]:checked::after { transform: translateX(1.35rem); }.replay-workspace .track-pilot-control input[type="checkbox"]:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }.replay-workspace .track-pilot-control input[type="checkbox"]:disabled { cursor: not-allowed; opacity: .62; }
html[lang="ar"] .replay-workspace .track-pilot-control input[type="checkbox"], html[lang="ar"] .replay-workspace .replay-timeline-label input[type="range"] { direction: ltr; }
@media (max-width: 40rem) { .replay-workspace .track-pilot-control { flex: 1 1 100%; justify-content: space-between; min-height: 2.35rem; padding-inline: .65rem; }.replay-workspace .track-pilot-control input[type="checkbox"] { width: 2.75rem !important; min-width: 2.75rem; height: 1.4rem !important; min-height: 1.4rem; } }

/* Pilot-flight and wing-management polish. */
.profile-route-map { width: 100%; height: 100%; min-height: 9rem; overflow: hidden; border-radius: var(--radius-md); }.profile-route-map .home-route-fallback { width: 100%; height: 100%; }.profile-route-map .leaflet-control-attribution { font-size: 6px; pointer-events: none; }.flight-sort label { display: inline-flex; align-items: center; gap: .4rem; color: var(--text-secondary); font-size: .76rem; font-weight: 700; }.flight-sort select { min-height: 2.35rem; padding: .35rem .55rem; }.profile-page fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .55rem; padding: .75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); }.profile-page fieldset label { display: flex; align-items: center; gap: .4rem; margin: 0; font-size: .84rem; }.profile-page fieldset input { width: auto; margin: 0; }
@media (max-width:40rem) { .profile-route-map { min-height: 9.5rem; }.flight-sort { order: 3; width: 100%; }.flight-sort label { justify-content: space-between; width: 100%; }.profile-page fieldset { grid-template-columns: 1fr; } }

/* Pilot activities and wing-management controls. */
.edit-profile-form label:has(input[type="checkbox"]) { display: inline-flex; align-items: flex-start; gap: .45rem; margin: .35rem .75rem .35rem 0; font-size: .84rem; }.edit-profile-form label:has(input[type="checkbox"]) input[type="checkbox"] { width: 1rem; height: 1rem; margin: .12rem 0 0; accent-color: var(--primary); }.edit-profile-form > button { width: auto; min-height: 2.55rem; padding-inline: 1rem; }.profile-page .card > h2 + .profile-details { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: .8rem 0 0; }.profile-page .card > h2 + .profile-details > div { min-height: 0; padding: .8rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); box-shadow: 0 .25rem .7rem rgba(20,35,52,.05); }.profile-page .profile-details form { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .65rem; }.profile-page .profile-details form a, .profile-page .profile-details form button { width: auto; min-height: 2.15rem; padding: .42rem .65rem; border-radius: .5rem; font-size: .74rem; }.profile-page .profile-details form a { display: inline-flex; align-items: center; border: 1px solid var(--border); color: var(--text-primary); text-decoration: none; }.profile-page .profile-details form .flight-delete-button { border: 1px solid var(--danger); background: transparent; color: var(--danger); }
@media (max-width:40rem) { .edit-profile-form > button { width: 100%; }.profile-page .card > h2 + .profile-details { grid-template-columns: 1fr; } }

.pilot-edit-hub { max-width: 52rem; }.pilot-edit-hub-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .75rem; margin-top: 1rem; }.pilot-edit-hub-grid a { display: grid; gap: .3rem; min-height: 7rem; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); color: var(--text-primary); text-decoration: none; box-shadow: 0 .25rem .7rem rgba(20,35,52,.04); }.pilot-edit-hub-grid a:hover { border-color: var(--primary); }.pilot-edit-hub-grid strong { color: var(--primary); font-size: .9rem; }.pilot-edit-hub-grid span { color: var(--text-secondary); font-size: .76rem; line-height: 1.4; }@media(max-width:40rem){.pilot-edit-hub-grid{grid-template-columns:1fr}.pilot-edit-hub-grid a{min-height:0}}

/* Desktop-only balance for the editorial platform feature strip. */
@media (min-width: 64.0625rem) {
    .home-features {
        grid-template-columns: minmax(13rem, .62fr) minmax(0, 1.38fr);
        gap: clamp(2.25rem, 5vw, 4rem);
        padding: 2.25rem 0;
    }

    .home-features h2 {
        max-width: none;
        font-size: clamp(1.5rem, 2.6vw, 2.1rem);
        line-height: 1.19;
        white-space: nowrap;
    }

    .home-feature-grid {
        gap: 1rem;
    }

    .home-feature-grid article {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: .85rem .5rem;
    }

    .home-feature-grid span {
        display: grid;
        width: 2.4rem;
        height: 2.4rem;
        place-items: center;
        border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--border));
        border-radius: .7rem;
        background: var(--primary-soft);
        color: var(--primary);
        font-size: 1.3rem;
        line-height: 1;
    }

    .home-feature-grid h3 {
        margin-top: .7rem;
        font-size: .9rem;
        line-height: 1.25;
    }

    .home-feature-grid p {
        margin-top: .4rem;
        font-size: .74rem;
        line-height: 1.5;
    }
}

/* Preserve mobile feature-copy width while giving the icons the same clear treatment. */
@media (max-width: 40rem) {
    .home-feature-grid article > span {
        display: grid;
        width: 2.3rem;
        height: 2.3rem;
        place-items: center;
        border: 1px solid color-mix(in srgb, var(--primary) 30%, var(--border));
        border-radius: .65rem;
        background: var(--primary-soft);
        color: var(--primary);
        font-size: 1.2rem;
        line-height: 1;
    }

    .home-feature-grid h3 {
        margin-top: .55rem;
    }

    .home-feature-grid p {
        margin-top: .32rem;
    }
}

.admin-danger-zone { margin-top: 1.75rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--danger) 38%, var(--border)); border-radius: var(--radius-md); background: var(--danger-background); }.admin-danger-zone .eyebrow { color: var(--danger); }.admin-danger-zone h2 { margin: 0; color: var(--text-primary); font-size: 1.1rem; }.admin-danger-zone p:not(.eyebrow) { margin: .4rem 0 .8rem; color: var(--text-secondary); line-height: 1.45; }.admin-danger-zone form { margin: 0; }
.account-danger-zone { margin-top: 1.5rem; padding: 1rem; border: 1px solid color-mix(in srgb, var(--danger) 38%, var(--border)); border-radius: var(--radius-md); background: var(--danger-background); }.account-danger-zone .eyebrow { color: var(--danger); }.account-danger-zone h2 { margin: 0; font-size: 1.1rem; }.account-danger-zone p:not(.eyebrow) { margin: .4rem 0 .8rem; color: var(--text-secondary); line-height: 1.45; }.account-danger-zone a { display: inline-flex; min-height: 2.35rem; align-items: center; padding: .55rem .8rem; border-radius: var(--radius-sm); text-decoration: none; }.account-deletion-private-page, .public-account-deletion-page { max-width: 54rem; }.account-deletion-card, .account-deletion-support { width: 100%; }.account-deletion-card h2, .account-deletion-support h2 { margin-top: 1.2rem; font-size: 1.15rem; }.account-deletion-card > p, .account-deletion-support p { line-height: 1.65; }.account-deletion-warning { padding: .8rem; border-inline-start: .25rem solid var(--danger); background: var(--danger-background); color: var(--danger); }.account-deletion-card form { max-width: 28rem; }.account-deletion-card form .flight-delete-button { width: auto; margin-top: .25rem; }.account-deletion-support { margin-top: 1rem; }.account-deletion-support a { color: var(--primary); font-weight: 800; }

.home-route-map { display: block; }.home-route-map .home-route-fallback { width: 100%; height: 100%; }.home-route-map .route-thumbnail { width: 100%; height: 100%; }.home-route-map .leaflet-control-attribution { padding: 1px 3px; background: rgba(255, 255, 255, .76); color: #334655; font-size: 6px; line-height: 1.15; pointer-events: none; }.home-route-map .leaflet-control-attribution a { color: #334655; }

/* Dashboard-style profile summary: intentionally separate from the homepage hero. */
.profile-page > .profile-summary-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(1rem, 3vw, 2rem); align-items: center; margin-top: clamp(1.25rem, 2.5vw, 2rem); padding: clamp(1.15rem, 3vw, 1.75rem); overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 55%, #eef3f8 100%); box-shadow: var(--card-shadow); }.profile-summary-card::before { position: absolute; inset-block: 1rem; inset-inline-start: 0; width: .18rem; border-radius: 0 99px 99px 0; background: var(--primary); content: ''; }.profile-summary-identity { display: flex; min-width: 0; align-items: center; gap: clamp(.9rem, 2.5vw, 1.35rem); }.profile-summary-card .profile-avatar { width: clamp(5rem, 9vw, 6.4rem); height: clamp(5rem, 9vw, 6.4rem); flex: 0 0 auto; border: 2px solid var(--surface); background: var(--surface-muted); box-shadow: 0 .3rem .85rem rgba(20, 35, 52, .08); }.profile-summary-details { min-width: 0; }.profile-summary-details .eyebrow { margin-bottom: .35rem; }.profile-summary-details h1 { margin: 0; color: var(--text-primary); font-size: clamp(1.65rem, 3vw, 2.35rem); line-height: 1.1; letter-spacing: -.04em; overflow-wrap: anywhere; }.profile-summary-meta { display: flex; flex-wrap: wrap; gap: .28rem .8rem; margin-top: .5rem; color: var(--text-secondary); font-size: .8rem; font-weight: 700; line-height: 1.4; }.profile-summary-meta span + span { padding-inline-start: .8rem; border-inline-start: 1px solid var(--border); }.profile-summary-bio { max-width: 46rem; margin: .7rem 0 0; color: var(--text-secondary); font-size: .9rem; line-height: 1.55; overflow-wrap: anywhere; }.profile-summary-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .45rem .95rem; min-width: 0; }.profile-summary-actions > a, .profile-summary-actions .text-button { display: inline-flex; min-height: 2rem; align-items: center; padding: 0; border: 0; background: transparent; color: var(--primary); font-size: .79rem; font-weight: 800; line-height: 1.2; text-decoration: none; white-space: nowrap; }.profile-summary-actions .logout-form { display: flex; align-items: center; margin: 0; }.profile-summary-actions > a:hover, .profile-summary-actions .text-button:hover { background: transparent; color: var(--primary-hover); }.profile-summary-actions > a:focus-visible, .profile-summary-actions .text-button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }.profile-summary-card ~ .flight-overview { margin-top: clamp(1.5rem, 3vw, 2.15rem); }
@media (max-width: 62rem) { .profile-page > .profile-summary-card { grid-template-columns: 1fr; }.profile-summary-actions { justify-content: flex-start; } }
@media (max-width: 40rem) { .profile-page > .profile-summary-card { gap: 1rem; padding: 1rem 1rem 1rem 1.15rem; }.profile-summary-card::before { inset-block: .8rem; }.profile-summary-identity { align-items: flex-start; gap: .9rem; }.profile-summary-card .profile-avatar { width: 4.8rem; height: 4.8rem; }.profile-summary-details h1 { font-size: clamp(1.55rem, 8vw, 2rem); }.profile-summary-meta { gap: .22rem .55rem; font-size: .75rem; }.profile-summary-meta span + span { padding-inline-start: .55rem; }.profile-summary-bio { margin-top: .6rem; font-size: .84rem; }.profile-summary-actions { gap: .35rem .75rem; }.profile-summary-actions > a, .profile-summary-actions .text-button { min-height: 2.35rem; } }

@media (max-width: 40rem) { .home-flight-card { grid-template-columns: clamp(8.75rem, 38vw, 9.25rem) minmax(0, 1fr); align-items: start; }.home-route-preview { align-self: start; grid-row: auto; min-height: 6.9rem; height: auto; aspect-ratio: 4 / 3; } }

/* Mobile profile overview: keep its controls compact without changing desktop. */
@media (max-width: 40rem) {
    .flight-overview-heading {
        flex-direction: column;
        align-items: center;
        gap: .55rem;
        margin-bottom: .75rem;
    }

    .flight-overview-heading > div:first-child {
        text-align: center;
    }

    .flight-overview-controls {
        width: auto;
        justify-content: center;
        gap: .4rem;
    }

    .verified-state {
        padding: .32rem .5rem;
        font-size: .74rem;
        line-height: 1.2;
    }

    .year-filter {
        width: auto;
        justify-content: flex-start;
        gap: .3rem;
        padding: .12rem .18rem;
    }

    .year-filter label {
        font-size: .72rem;
    }

    .year-filter select {
        min-width: 6.25rem;
        min-height: 2rem;
        padding-top: .36rem;
        padding-bottom: .36rem;
        font-size: .76rem;
    }

    .premium-flight-stats article {
        padding-right: 3.1rem;
    }

    .premium-flight-stats .stat-visibility-form {
        top: .55rem;
        right: .55rem;
        transform: none;
    }

    .premium-flight-stats .stat-visibility-form button {
        width: 2.25rem;
        min-height: 1.3rem;
        height: 1.3rem;
        padding: .15rem;
    }

    .premium-flight-stats .stat-visibility-dot {
        width: 1rem;
        height: 1rem;
    }

    .premium-flight-stats .stat-visibility-form button.is-visible .stat-visibility-dot {
        transform: translateX(.95rem);
    }

    .profile-page .my-flights {
        margin-top: 1.25rem;
        padding-top: 0;
    }

    .my-flights .section-heading {
        gap: .65rem;
        margin-bottom: .85rem;
    }

    .my-flights .section-heading .upload-placeholder {
        display: inline-flex;
        min-height: 2.55rem;
        align-items: center;
        justify-content: center;
        padding: .6rem .95rem;
        border-radius: var(--radius-sm);
        font-size: .82rem;
        line-height: 1.2;
        white-space: nowrap;
    }

    .my-flights-toolbar {
        display: contents;
    }
}

.my-flights-toolbar {
    display: flex;
    align-items: center;
    gap: 1rem;
}

@media (max-width: 40rem) {
    .my-flights-toolbar {
        display: contents;
    }
}

/* Flight History: keep the private list aligned with the public profile content column. */
@media (min-width: 62.0625rem) {
    .profile-page:not(.public-profile-page) > .my-flights {
        width: 100%;
        max-width: 68rem;
        margin-inline: auto;
    }

    .profile-page:not(.public-profile-page) > .my-flights .flight-card-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.15rem;
    }

    /* English follows the LTR composition: route preview, details, then actions. */
    .profile-page > .my-flights .flight-card-layout {
        direction: ltr;
        grid-template-areas: "route content actions";
        grid-template-columns: minmax(12.5rem, 31%) minmax(0, 1fr) 9.25rem;
        gap: 1rem;
    }

    .profile-page > .my-flights .flight-card-route {
        grid-area: route;
        grid-column: 1;
        grid-row: 1;
        direction: ltr;
    }

    .profile-page > .my-flights .flight-card-content {
        grid-area: content;
        grid-column: 2;
        grid-row: 1;
    }

    .profile-page > .my-flights .flight-card-actions {
        grid-area: actions;
        grid-column: 3;
        grid-row: 1;
        align-self: stretch;
    }

    .profile-page > .my-flights .flight-card-actions .flight-distance {
        display: block;
        width: 100%;
        position: static;
        float: none;
        clear: both;
    }

    .profile-page > .my-flights .flight-card-heading {
        min-width: 0;
    }

    /* Arabic keeps the approved physical mirror without depending on direction. */
    html[lang="ar"] .profile-page > .my-flights .flight-card-layout {
        grid-template-areas: "actions content route";
        grid-template-columns: 9.25rem minmax(0, 1fr) minmax(12.5rem, 31%);
    }

    html[lang="ar"] .profile-page > .my-flights .flight-card-route {
        grid-column: 3;
    }

    html[lang="ar"] .profile-page > .my-flights .flight-card-actions {
        grid-column: 1;
    }

    .profile-page:not(.public-profile-page) > .my-flights .flight-card-actions {
        gap: .4rem;
    }

    .profile-page:not(.public-profile-page) > .my-flights .flight-card-actions :is(.flight-view-link, .flight-replay-link, .flight-visibility-button, .flight-delete-button) {
        min-height: 2.25rem;
    }
}

/* Keep Arabic metric labels and their LTR values together within each existing grid cell. */
html[lang="ar"] .profile-page > .my-flights .flight-card-content {
    direction: rtl;
    text-align: right;
}

html[lang="ar"] .profile-page > .my-flights .flight-card-heading :is(h3, p) {
    text-align: right;
    overflow-wrap: anywhere;
}

html[lang="ar"] .profile-page > .my-flights .flight-card-stats > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    column-gap: .45rem;
}

html[lang="ar"] .profile-page > .my-flights .flight-card-stats dt {
    min-width: 0;
}

html[lang="ar"] .profile-page > .my-flights .flight-card-stats dd[dir="ltr"] {
    min-width: 0;
    margin-top: 0;
}

html[lang="ar"] .profile-page > .my-flights .flight-card-actions {
    direction: rtl;
    text-align: right;
}

html[lang="ar"] .profile-page > .my-flights .flight-card-actions .flight-distance {
    text-align: left;
}

/* Keep the visibility switch's physical thumb motion independent from Arabic text direction. */
html[lang="ar"] .premium-flight-stats .stat-visibility-form button {
    direction: ltr;
}

/* Narrow fullscreen viewports reserve chart space while keeping controls internally scrollable. */
@media (max-width: 40rem) {
    .replay-workspace:fullscreen {
        grid-template-rows: minmax(0, 1.7fr) minmax(7.75rem, .9fr) minmax(0, 13rem);
    }

    .replay-workspace:fullscreen .replay-panel {
        min-height: 0;
    }
}

@media (max-width: 40rem) and (max-height: 750px) {
    .replay-workspace:fullscreen {
        grid-template-rows: minmax(0, 1.35fr) minmax(7rem, 1fr) minmax(0, 11rem);
    }
}

@media (max-width: 40rem) and (max-height: 600px) {
    .replay-workspace:fullscreen {
        grid-template-rows: minmax(0, 1.2fr) minmax(6.5rem, 1fr) minmax(0, 9.5rem);
    }
}

/* Keep the signed-in mobile navigation action visually consistent with its links. */
.site-mobile-logout-form { margin: 0; }.site-mobile-menu .site-mobile-logout { display: block; width: 100%; min-height: 0; padding: .55rem .65rem; border: 0; border-radius: .4rem; background: transparent; color: var(--navy); cursor: pointer; font: inherit; font-size: .8rem; font-weight: 800; text-align: start; }.site-mobile-menu .site-mobile-logout:hover { background: var(--secondary); color: var(--primary); }

/* Homepage platform heading: retain editorial desktop lines and allow natural narrow-screen wrapping. */
.home-features-copy { min-width: 0; }.home-features-copy .eyebrow { margin-bottom: .45rem; }.home-features-title { max-width: 21rem; margin: 0; line-height: 1.16; text-wrap: balance; }.home-features-title > span { display: block; }html[lang="ar"] .home-features-title { max-width: 25rem; font-family: "Tajawal", Tahoma, Arial, sans-serif; line-height: 1.28; letter-spacing: 0; text-wrap: balance; white-space: normal; }html[lang="ar"] .home-features-title > span { display: inline; }html[lang="ar"] .home-features-title > span + span::before { content: ' '; white-space: pre; }
@media (max-width: 64rem) { .home-features-title { max-width: 32rem; line-height: 1.2; white-space: normal; }.home-features-title > span { display: inline; }.home-features-title > span + span::before { content: ' '; white-space: pre; } }
@media (max-width: 40rem) { .home-features-copy .eyebrow { margin-bottom: .35rem; }.home-features-title { max-width: 100%; font-size: clamp(1.55rem, 7.5vw, 1.95rem); line-height: 1.22; letter-spacing: -.025em; }html[lang="ar"] .home-features-title { font-size: clamp(1.65rem, 8vw, 2.05rem); line-height: 1.3; letter-spacing: 0; } }

/* Privacy and account legal links: readable long-form content without affecting other cards. */
.public-privacy-policy-page { width: min(100%, 72rem); max-width: 72rem; margin-inline: auto; padding-inline: clamp(1rem, 4vw, 2.5rem); }
.public-privacy-policy-page > .card { width: 100%; max-width: none; margin-inline: auto; padding: clamp(1.25rem, 3vw, 2.35rem); }
.public-privacy-policy-page > .card + .card { margin-top: clamp(.85rem, 2vw, 1.25rem); }
.public-privacy-policy-page .privacy-policy-intro h1 { max-width: 30ch; margin-bottom: .55rem; font-size: clamp(2rem, 3.6vw, 2.75rem); line-height: 1.1; text-wrap: balance; }
.public-privacy-policy-page .privacy-policy-intro > .muted { margin: 0 0 1.25rem; font-size: .82rem; }
.privacy-policy-preamble { margin: 0 0 1.6rem; padding: clamp(1rem, 2.5vw, 1.35rem); border-inline-start: .25rem solid var(--primary); border-radius: var(--radius-sm); background: var(--primary-soft); }
.privacy-policy-preamble p { margin: 0; }
.privacy-policy-preamble p + p { margin-top: .8rem; }
.public-privacy-policy-page h2 { margin: 0 0 .65rem; color: var(--navy); font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.3; }
.public-privacy-policy-page p { max-width: 78ch; margin: 0; color: var(--text-primary); font-size: clamp(.94rem, 1.25vw, 1.02rem); line-height: 1.75; }
.public-privacy-policy-page p + h2 { margin-top: 1.65rem; }
.public-privacy-policy-page p + p { margin-top: .85rem; }
.public-privacy-policy-page a { overflow-wrap: anywhere; }
.public-privacy-policy-page .home-button { display: inline-flex; min-height: 2.7rem; align-items: center; padding: .65rem .9rem; }
.account-deletion-legal-link { margin-top: 1rem; padding-top: .85rem; border-top: 1px solid var(--border); font-size: .84rem; }
.auth-secondary-navigation a:last-child { color: var(--primary); }
html[lang="ar"] .public-privacy-policy-page .privacy-policy-intro h1 { max-width: 30ch; letter-spacing: 0; line-height: 1.22; }
html[lang="ar"] .public-privacy-policy-page p { line-height: 1.9; }
@media (max-width: 48rem) {
    .public-privacy-policy-page { padding-inline: 1rem; }
    .public-privacy-policy-page .privacy-policy-intro h1 { max-width: 100%; font-size: clamp(1.8rem, 7vw, 2.45rem); }
}
@media (max-width: 34rem) {
    .public-privacy-policy-page { padding-top: .75rem; padding-inline: .85rem; }
    .public-privacy-policy-page > .card { padding: 1.1rem; border-radius: .8rem; }
    .public-privacy-policy-page .privacy-policy-intro h1 { font-size: clamp(1.65rem, 8vw, 2.1rem); line-height: 1.16; }
    html[lang="ar"] .public-privacy-policy-page .privacy-policy-intro h1 { line-height: 1.28; }
    .privacy-policy-preamble { margin-bottom: 1.25rem; padding: .9rem; }
    .public-privacy-policy-page p { font-size: .93rem; line-height: 1.7; }
    html[lang="ar"] .public-privacy-policy-page p { line-height: 1.85; }
    .public-privacy-policy-page .home-button { width: 100%; justify-content: center; }
}

/* Owner flight management: compact sections, independent of public profile cards. */
.profile-page:not(.public-profile-page) > .flight-upload-notice,
.profile-page:not(.public-profile-page) > .flight-download-card { width: 100%; max-width: 68rem; margin-inline: auto; }
.flight-upload-notice { padding: .85rem 1rem; border: 1px solid #efd9aa; border-inline-start: .25rem solid #b87823; border-radius: .8rem; background: #fffaf0; }
.flight-upload-notice h2 { margin: 0 0 .3rem; font-size: 1rem; color: #684314; }
.flight-upload-notice p { margin: .2rem 0; color: #5d4b34; font-size: .86rem; line-height: 1.45; }
.flight-download-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.2rem; align-items: end; padding: 1.1rem 1.2rem; border: 1px solid var(--border); border-radius: 1rem; background: var(--surface); box-shadow: var(--card-shadow); }
.flight-download-card h2 { margin: 0; font-size: 1.25rem; }.flight-download-card p:not(.eyebrow) { max-width: 37rem; margin: .35rem 0 0; color: var(--text-secondary); font-size: .83rem; line-height: 1.45; }
.flight-download-form { display: flex; flex-wrap: wrap; align-items: end; gap: .6rem; margin: 0; }.flight-download-form label { display: grid; min-width: 7rem; gap: .2rem; color: var(--text-secondary); font-size: .75rem; font-weight: 700; }.flight-download-form select { min-height: 2.6rem; padding: .45rem .7rem; }.flight-download-form button { min-height: 2.6rem; padding: .55rem .85rem; white-space: nowrap; }
.flight-status-legend, .flight-status-badges { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; }.flight-status-legend { margin-top: 1rem; }.flight-status-badges { margin-top: .55rem; }
.flight-status-legend > span { display: grid; gap: .3rem; min-width: min(100%, 12rem); max-width: 16rem; align-self: start; }.flight-status-legend small { color: var(--text-secondary); font-size: .72rem; line-height: 1.45; }.flight-track-status { display: flex; align-items: center; flex-wrap: wrap; gap: .35rem; margin-top: .35rem; }.flight-track-status small { color: var(--text-secondary); }
.flight-state { display: inline-flex; align-items: center; gap: .35rem; max-width: 100%; padding: .27rem .55rem; border-radius: 99px; font-size: .72rem; font-weight: 800; line-height: 1.25; white-space: normal; }.flight-state::before { width: .45rem; height: .45rem; flex: 0 0 auto; border-radius: 50%; background: currentColor; content: ''; }.flight-state.is-approved { background: #e9f6ed; color: #21683b; }.flight-state.is-review { background: #fff1d9; color: #8e570d; }.flight-state.is-non-flight { background: #fce8ec; color: #a71f3e; }.flight-state.is-full-track { background: #e8f1fb; color: #245c9a; }
.flight-state.is-not-reviewed, .flight-state.is-not_reviewed { background: #eef1f4; color: #394b59; }.flight-state.is-needs-review, .flight-state.is-needs_review { background: #fff1d9; color: #8e570d; }

/* Admin moderation workspace: scoped cards, no wide tables or extra map instances. */
.admin-dashboard-heading { padding: 1.5rem; }.admin-dashboard-overview { display: flex; flex-wrap: wrap; gap: .75rem; }.admin-dashboard-overview span { padding: .45rem .65rem; border-radius: .5rem; background: var(--surface-muted); }.admin-dashboard-overview strong { margin-inline-start: .3rem; }
.moderation-count-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; }.moderation-count-card { display: grid; gap: .3rem; min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); box-shadow: var(--card-shadow); color: var(--text-primary); text-decoration: none; }.moderation-count-card strong { font-size: 1.65rem; }.moderation-count-card span { overflow-wrap: anywhere; }.moderation-count-card.is-needs-review { border-block-start: 3px solid #ad6b12; }.moderation-count-card.is-approved { border-block-start: 3px solid #237747; }.moderation-count-card.is-non-flight { border-block-start: 3px solid #b42344; }.moderation-count-card.is-not-reviewed { border-block-start: 3px solid #647480; }
.admin-navigation { display: flex; flex-wrap: wrap; gap: .7rem; }.admin-navigation a, .moderation-tabs a, .moderation-workspace-links a, .moderation-pagination a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; padding: .55rem .8rem; border: 1px solid var(--border); border-radius: .6rem; background: var(--surface); color: var(--primary); font-weight: 700; text-decoration: none; }.admin-navigation a:focus-visible, .moderation-page a:focus-visible, .moderation-page button:focus-visible, .moderation-count-card:focus-visible { outline: 3px solid #d39a40; outline-offset: 2px; }
.moderation-page .profile-nav a { display: inline-flex; align-items: center; min-height: 2.75rem; }
.moderation-page, .moderation-page * { min-width: 0; }.moderation-page .moderation-heading { margin-top: 1.3rem; }.moderation-heading h1 { margin: 0; }.moderation-heading p { margin: .5rem 0 0; }.moderation-tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.15rem; }.moderation-tabs a { gap: .45rem; }.moderation-tabs a[aria-current="page"] { background: var(--navy); color: #fff; }.moderation-tabs strong { font-size: .8rem; }.moderation-queue-row { margin-top: .7rem; }.moderation-queue-row .admin-flight-main, .moderation-queue-row .admin-flight-actions { min-width: 0; }.moderation-queue-row p, .moderation-history p { overflow-wrap: anywhere; }.moderation-queue-row p { margin: .4rem 0; }.moderation-queue-row h3 { margin: 0; }.moderation-admin-reasons { color: var(--text-secondary); font-size: .8rem; overflow-wrap: anywhere; }.moderation-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .65rem; margin-top: 1rem; }
.moderation-workspace-head, .moderation-workspace-links, .moderation-decisions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .6rem; }.moderation-workspace-head h2 { margin: .2rem 0 .6rem; overflow-wrap: anywhere; }.moderation-workspace-body { display: grid; grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr); gap: 1rem; margin-top: 1rem; }.moderation-route { display: grid; place-items: center; min-height: 10rem; overflow: hidden; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface-muted); }.moderation-route .route-thumbnail { height: auto; max-height: 13rem; }.moderation-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0; }.moderation-facts > div { min-width: 0; padding: .5rem; border-radius: .45rem; background: var(--surface-muted); }.moderation-facts dt { color: var(--text-secondary); font-size: .73rem; }.moderation-facts dd { margin: .2rem 0 0; font-weight: 700; overflow-wrap: anywhere; }.moderation-decisions { justify-content: flex-start; margin-top: 1rem; }.moderation-decisions form, .moderation-delete { margin: 0; }.moderation-decisions button, .moderation-delete button { min-height: 2.75rem; }.moderation-delete { margin-top: 1rem; }.moderation-history p { padding-block: .55rem; border-bottom: 1px solid var(--border); }
@media (max-width: 48rem) { .moderation-count-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }.moderation-workspace-body { grid-template-columns: 1fr; }.moderation-route { min-height: 8rem; }.moderation-queue-row { display: grid; gap: .6rem; }.moderation-queue-row .admin-flight-actions { display: flex; }.moderation-queue-row .admin-flight-actions a { min-height: 2.75rem; } }
@media (max-width: 25rem) { .moderation-count-grid { gap: .45rem; }.moderation-count-card { padding: .7rem; }.moderation-tabs a { flex: 1 1 8rem; }.moderation-facts { grid-template-columns: 1fr; }.moderation-decisions form, .moderation-decisions button { width: 100%; }.moderation-workspace-links a { flex: 1 1 9rem; } }
.flight-nonflight-notice { margin: .65rem 0 0 !important; padding: .55rem .65rem; border-inline-start: .2rem solid #b42344; border-radius: .3rem .5rem .5rem .3rem; background: #fff1f3; color: #7e1932 !important; font-size: .76rem !important; line-height: 1.45; overflow-wrap: anywhere; }
#flight-bulk-form { display: grid; gap: .55rem; margin-top: .8rem; }.flight-bulk-select-row label, .flight-card-selection { display: inline-flex; align-items: center; gap: .5rem; min-height: 2.75rem; color: var(--text-primary); font-size: .82rem; font-weight: 700; cursor: pointer; }.flight-card-selection { max-width: 100%; margin-bottom: .5rem; }.flight-card-selection span { min-width: 0; overflow-wrap: anywhere; }.flight-bulk-select-row input, .flight-card-selection input { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; accent-color: var(--primary); }
.flight-bulk-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; padding: .7rem .8rem; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface-muted); }.flight-bulk-toolbar[hidden] { display: none; }.flight-bulk-toolbar strong { display: inline-grid; min-width: 2rem; min-height: 2rem; place-items: center; border-radius: 99px; background: var(--primary); color: #fff; font-size: .8rem; }.flight-bulk-actions { display: flex; flex-wrap: wrap; gap: .5rem; }.flight-bulk-actions button { min-height: 2.5rem; padding: .5rem .75rem; font-size: .8rem; }.flight-bulk-actions .flight-bulk-delete { background: #a71f3e; color: #fff; }
.profile-page:not(.public-profile-page) .flight-card.is-bulk-selected { border-color: var(--primary); box-shadow: 0 0 0 2px color-mix(in srgb, var(--primary) 16%, transparent); }
@media (max-width: 52rem) { .flight-download-card { grid-template-columns: 1fr; align-items: start; }.flight-download-form { justify-content: flex-start; } }
@media (max-width: 40rem) { .flight-upload-notice { padding: .75rem .8rem; }.flight-upload-notice p { font-size: .8rem; }.flight-download-card { padding: .9rem; gap: .8rem; }.flight-download-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; width: 100%; }.flight-download-form label, .flight-download-form select { min-width: 0; width: 100%; }.flight-download-form button { grid-column: 1 / -1; width: 100%; }.flight-bulk-toolbar { align-items: stretch; }.flight-bulk-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; }.flight-bulk-actions button { min-width: 0; white-space: normal; }.flight-bulk-actions .flight-bulk-delete { grid-column: 1 / -1; }.flight-card-selection { font-size: .78rem; } }

/* My Flights only: compact desktop cards without shrinking mobile touch controls. */
.profile-page:not(.public-profile-page) > .my-flights .flight-status-explanation { margin: .35rem 0 0; color: var(--text-secondary); font-size: .78rem; line-height: 1.4; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card { padding: .75rem; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-selection { min-height: 2.25rem; margin-bottom: .25rem; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-layout { gap: .75rem; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-route { height: 10rem; align-self: start; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-route :is(.route-thumbnail-wrap, .route-thumbnail-empty, .route-thumbnail, .profile-route-map) { height: 100%; min-height: 0; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card .flight-card-stats { gap: .35rem .55rem !important; margin-top: .55rem !important; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-stats dt { font-size: .7rem; line-height: 1.2; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-stats dd { margin-top: .08rem; font-size: .82rem; line-height: 1.2; }
.profile-page:not(.public-profile-page) > .my-flights .flight-notes { margin-top: .5rem; }
.profile-page:not(.public-profile-page) > .my-flights .flight-notes summary { min-height: 2rem; padding: .35rem .55rem; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-actions { gap: .3rem; }
.profile-page:not(.public-profile-page) > .my-flights .flight-card-actions :is(.flight-view-link, .flight-replay-link, .flight-visibility-button, .flight-delete-button) { min-height: 2rem; padding: .35rem .5rem; }
.profile-page:not(.public-profile-page) > .my-flights .flight-nonflight-notice { margin-top: .4rem !important; padding: .38rem .55rem; font-size: .78rem !important; line-height: 1.35; }

@media (max-width: 40rem) {
    .profile-page:not(.public-profile-page) > .my-flights .flight-card { padding: .8rem; }
    .profile-page:not(.public-profile-page) > .my-flights .flight-card-selection { min-height: 2.75rem; margin-bottom: .3rem; }
    .profile-page:not(.public-profile-page) > .my-flights .flight-card-layout { gap: .65rem; }
    .profile-page:not(.public-profile-page) > .my-flights .flight-card-route { height: 8rem; }
    .profile-page:not(.public-profile-page) > .my-flights .flight-card .flight-card-stats { gap: .45rem .55rem !important; }
    .profile-page:not(.public-profile-page) > .my-flights .flight-card-actions { gap: .5rem; }
    .profile-page:not(.public-profile-page) > .my-flights .flight-card-actions :is(.flight-view-link, .flight-replay-link, .flight-visibility-button, .flight-delete-button) { min-height: 2.75rem; padding: .55rem .65rem; }
    .profile-page:not(.public-profile-page) > .my-flights .flight-notes summary { min-height: 2.75rem; }
}

.admin-pilot-flights-page .admin-flight-row, .admin-pilot-flights-page .admin-flight-main, .admin-pilot-flights-page .admin-flight-actions { min-width: 0; }
.admin-pilot-flights-page .admin-flight-row :is(h2, p, dd, .admin-note-preview) { overflow-wrap: anywhere; }
.admin-pilot-flights-page .admin-flight-actions :is(a, button) { display: inline-flex; align-items: center; justify-content: center; min-height: 2.75rem; }
.admin-pilot-flights-page .admin-flight-actions form { min-width: 0; }
@media (max-width: 40rem) {
    .admin-pilot-flights-page .admin-flight-row { display: grid; gap: .65rem; }
    .admin-pilot-flights-page .admin-flight-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
    .admin-pilot-flights-page .admin-flight-actions form, .admin-pilot-flights-page .admin-flight-actions :is(a, button) { width: 100%; }
}
.site-bell { position: relative; flex: 0 0 auto; z-index: 40; }
.site-bell > summary { position: relative; display: grid; min-width: 2.6rem; min-height: 2.6rem; place-items: center; border: 1px solid var(--border); border-radius: .7rem; background: var(--surface); cursor: pointer; list-style: none; }
.site-bell > summary::-webkit-details-marker { display: none; }
.site-bell > summary:focus-visible, .site-bell-panel button:focus-visible, .communication-form button:focus-visible, .communication-thread-item button:focus-visible { outline: 3px solid var(--primary); outline-offset: 2px; }
.site-bell-count { position: absolute; inset-block-start: -.35rem; inset-inline-end: -.45rem; min-width: 1.15rem; padding: .1rem .25rem; border-radius: 99px; background: #bb1548; color: #fff; font-size: .62rem; font-weight: 900; text-align: center; }
.site-bell-panel { position: absolute; inset-block-start: calc(100% + .45rem); inset-inline-end: 0; box-sizing: border-box; width: min(22rem, calc(100vw - 24px)); max-width: calc(100vw - 24px); max-height: min(31rem, 75vh); overflow-x: hidden; overflow-y: auto; padding: .8rem; border: 1px solid var(--border); border-radius: .8rem; background: var(--surface); box-shadow: var(--shadow); }
.site-bell-panel h2 { margin: 0 0 .6rem; font-size: 1rem; }.site-bell-panel form { min-width: 0; margin: 0; }.site-bell-panel button { display: grid; width: 100%; min-width: 0; gap: .2rem; padding: .55rem; border: 0; border-bottom: 1px solid var(--border); background: transparent; color: var(--navy); cursor: pointer; text-align: start; }.site-bell-panel button.is-unread { background: #fff0f4; }.site-bell-panel button strong, .site-bell-panel button small { min-width: 0; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; white-space: normal; }.site-bell-panel button small { color: var(--text-secondary); }.site-bell-panel > a { display: block; margin-top: .6rem; color: var(--primary); font-weight: 800; text-align: center; }
.member-communication { max-width: 76rem; }.member-communication .card { min-width: 0; }.communication-grid { display: grid; grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.5fr); gap: 1rem; align-items: start; margin-top: 1rem; }.communication-grid > * { min-width: 0; }.communication-thread-item { margin: 0; border-bottom: 1px solid var(--border); }.communication-thread-item button { position: relative; display: grid; width: 100%; gap: .2rem; padding: .75rem .4rem; border: 0; background: transparent; color: var(--navy); cursor: pointer; text-align: start; }.communication-thread-item button:hover { background: var(--secondary); }.communication-thread-item strong, .communication-thread-item small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.communication-thread-item time, .communication-thread-item small { color: var(--text-secondary); font-size: .76rem; }.communication-unread { position: absolute; inset-inline-end: .3rem; inset-block-start: .6rem; padding: .15rem .4rem; border-radius: 99px; background: var(--primary); color: #fff; font-size: .7rem; }
.communication-message-list { display: grid; max-height: 32rem; gap: .7rem; overflow-y: auto; margin: 1rem 0; }.communication-message { max-width: 86%; padding: .8rem; border: 1px solid var(--border); border-radius: .75rem; background: var(--secondary); overflow-wrap: anywhere; }.communication-message.is-own { justify-self: end; background: #fcecf1; }.communication-message p { margin: .25rem 0 0; white-space: normal; }.communication-message-meta { color: var(--text-secondary); font-size: .72rem; }.communication-form { display: grid; gap: .55rem; max-width: 45rem; }.communication-form input:not([type="checkbox"]), .communication-form textarea { width: 100%; max-width: 100%; padding: .7rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); color: var(--navy); font: inherit; }.communication-form textarea { min-height: 7rem; resize: vertical; }.communication-form button, .communication-notification-actions button, .communication-update-row button { min-height: 2.6rem; padding: .55rem .9rem; border: 0; border-radius: .55rem; background: var(--primary); color: #fff; cursor: pointer; font: inherit; font-weight: 800; }.communication-checkbox { display: flex; align-items: center; gap: .55rem; }.communication-checkbox input { width: 1.1rem; height: 1.1rem; }.communication-notification, .communication-update-row { display: flex; min-width: 0; justify-content: space-between; gap: 1rem; padding: .85rem 0; border-bottom: 1px solid var(--border); }.communication-notification > div, .communication-update-row > div { min-width: 0; overflow-wrap: anywhere; }.communication-notification.is-unread { border-inline-start: .2rem solid var(--primary); padding-inline-start: .8rem; }.communication-notification h2 { margin: 0; font-size: 1rem; }.communication-notification p, .communication-update-row p { margin: .25rem 0; }.communication-notification time { color: var(--text-secondary); font-size: .72rem; }.communication-notification-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .4rem; }.communication-notification-actions form { margin: 0; }.communication-notification-actions .communication-secondary-button { border: 1px solid var(--border); background: transparent; color: var(--navy); }.communication-more { display: inline-block; margin-top: 1rem; }.home-latest-updates { margin-top: clamp(2rem, 4vw, 3rem); }.home-latest-updates-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .85rem; }.home-latest-updates-grid article { min-width: 0; padding: 1rem; border: 1px solid var(--border); border-radius: .85rem; background: var(--surface); box-shadow: 0 .3rem 1.2rem rgba(20,35,52,.06); }.home-latest-updates-grid time { color: var(--primary); font-size: .72rem; font-weight: 800; }.home-latest-updates-grid h3 { margin: .35rem 0; overflow-wrap: anywhere; }.home-latest-updates-grid p { display: -webkit-box; overflow: hidden; margin: 0; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-height: 1.5; overflow-wrap: anywhere; }
.home-latest-update-toggle { display: none; }
.member-contact-card { margin-top: 1rem; }.member-contact-card > h2 { margin-bottom: .25rem; }.member-contact-card > p { margin-top: 0; color: var(--text-secondary); }.member-contact-form { grid-template-columns: minmax(0,1.25fr) minmax(13rem,.75fr); max-width: none; gap: .65rem .8rem; }.member-contact-form label { display: grid; min-width: 0; gap: .3rem; font-weight: 700; }.member-contact-form select { width: 100%; max-width: 100%; padding: .7rem; border: 1px solid var(--border); border-radius: .5rem; background: var(--surface); color: var(--navy); font: inherit; }.member-contact-message, .member-contact-actions { grid-column: 1 / -1; }.member-contact-form textarea { min-height: 5.5rem; }.member-contact-actions { display: flex; justify-content: flex-end; }.member-contact-actions button { min-width: 11rem; }
@media (max-width: 64rem) { .site-nav a { font-size: .72rem; }.site-header-inner { gap: .65rem; }.home-latest-updates-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 48rem) { .communication-grid, .member-contact-form { grid-template-columns: minmax(0,1fr); }.member-contact-message, .member-contact-actions { grid-column: auto; }.member-contact-actions button { width: 100%; }.home-latest-updates-grid { grid-template-columns: minmax(0,1fr); }.home-latest-update-toggle:not([hidden]) { display: inline-block; margin-block-start: .45rem; padding: 0; border: 0; background: transparent; color: var(--primary); font: inherit; font-size: .85rem; font-weight: 800; text-decoration: underline; text-underline-offset: .16rem; cursor: pointer; }.home-latest-update-toggle:focus-visible { outline: .15rem solid var(--primary); outline-offset: .2rem; border-radius: .15rem; }.home-latest-updates-grid article.is-expanded p { display: block; overflow: visible; -webkit-line-clamp: unset; } }
@media (max-width: 40rem) { .communication-notification, .communication-update-row { flex-direction: column; }.communication-notification-actions { flex-wrap: wrap; }.communication-notification-actions button { min-height: 2.75rem; }.site-bell-panel { position: fixed; inset-block-start: calc(env(safe-area-inset-top, 0px) + 4.5rem); inset-inline: 12px; width: auto; max-width: none; max-height: calc(100dvh - 5.25rem - env(safe-area-inset-bottom, 0px)); }.communication-message { max-width: 94%; } }

/* Compact, wide admin workspace. Scoped so member/public cards retain their existing layout. */
.admin-ui-page {
  width: min(100%, 80rem);
  max-width: 80rem;
  padding: 1rem clamp(1rem, 2.5vw, 2rem) 3rem;
}
.admin-ui-page,
.admin-ui-page * {
  min-width: 0;
}
.admin-ui-page > .card,
.admin-ui-page .communication-grid > .card,
.admin-ui-page .moderation-workspace,
.admin-ui-page .moderation-history {
  width: 100%;
  max-width: none;
  padding: clamp(1rem, 1.8vw, 1.35rem);
  border-radius: .85rem;
  box-shadow: 0 .35rem 1.1rem rgba(20, 35, 52, .06);
}
.admin-ui-page > section,
.admin-ui-page > .admin-dashboard-section,
.admin-ui-page > .communication-grid {
  margin-top: 1rem;
}
.admin-ui-page h1 {
  margin: 0;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  line-height: 1.15;
}
.admin-ui-page h2 {
  margin: 0 0 .7rem;
  font-size: clamp(1.05rem, 1.7vw, 1.3rem);
}
.admin-page-heading,
.admin-dashboard-heading {
  padding: 1.1rem 1.25rem !important;
}
.admin-page-heading > p,
.admin-dashboard-heading > p {
  margin: .35rem 0 0;
  color: var(--text-secondary);
  line-height: 1.45;
}
.admin-page-heading .admin-page-back {
  margin: 0 0 .45rem;
  font-size: .78rem;
  font-weight: 800;
}
.admin-page-heading .admin-page-back a {
  color: var(--primary);
  text-decoration: none;
}
.admin-dashboard-overview {
  margin-top: .65rem;
  gap: .45rem;
}
.admin-dashboard-overview span {
  padding: .35rem .55rem;
  font-size: .78rem;
}
.admin-dashboard-page .moderation-count-grid {
  gap: .6rem;
}
.admin-dashboard-page .moderation-count-card {
  min-height: 5.25rem;
  align-content: center;
  padding: .75rem .85rem;
  border-radius: .7rem;
}
.admin-dashboard-page .moderation-count-card strong {
  font-size: 1.4rem;
}
.admin-dashboard-page .moderation-count-card span {
  font-size: .8rem;
  line-height: 1.3;
}
.admin-dashboard-page .admin-navigation {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
  margin-top: 1rem;
}
.admin-dashboard-page .admin-navigation a {
  min-height: 2.55rem;
  padding: .5rem .7rem;
  border-radius: .6rem;
  font-size: .8rem;
  text-align: center;
}
.admin-nav-badge {
  display: inline-grid;
  min-width: 1.35rem;
  min-height: 1.35rem;
  margin-inline-start: .4rem;
  place-items: center;
  padding-inline: .32rem;
  border-radius: 99px;
  background: var(--primary);
  color: #fff;
  font-size: .68rem;
  line-height: 1;
}

/* Messages: compact composer followed by a 34/66 administration workspace. */
.admin-messages-page .admin-compose-card {
  padding-block: 1rem;
}
.admin-messages-page .admin-compose-form {
  display: grid;
  grid-template-columns: minmax(10rem, .75fr) minmax(15rem, 1.4fr) minmax(9rem, .6fr);
  gap: .65rem .75rem;
  max-width: none;
}
.admin-field {
  display: grid;
  align-content: start;
  gap: .3rem;
}
.admin-field label {
  color: var(--text-secondary);
  font-size: .75rem;
  font-weight: 800;
}
.admin-member-picker {
  position: relative;
}
.admin-member-picker > small {
  color: var(--text-secondary);
  font-size: .68rem;
  line-height: 1.35;
}
.admin-member-search-results {
  position: absolute;
  z-index: 20;
  inset-block-start: 4.25rem;
  inset-inline: 0;
  max-height: 16rem;
  overflow-y: auto;
  padding: .3rem;
  border: 1px solid var(--border);
  border-radius: .6rem;
  background: var(--surface);
  box-shadow: 0 .75rem 1.8rem rgba(20, 35, 52, .16);
}
.admin-member-search-results[hidden] {
  display: none;
}
.admin-member-search-results button {
  display: block;
  width: 100%;
  min-height: 2.5rem;
  padding: .5rem .6rem;
  border: 0;
  border-radius: .4rem;
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  font-size: .8rem;
  text-align: start;
  cursor: pointer;
  overflow-wrap: anywhere;
}
.admin-member-search-results button:hover,
.admin-member-search-results button[aria-selected="true"] {
  background: var(--primary-soft);
  color: var(--primary-hover);
}
.admin-compose-form .admin-field-full,
.admin-compose-form .admin-form-actions {
  grid-column: 1 / -1;
}
.admin-compose-form textarea {
  min-height: 4.75rem;
}
.admin-form-actions {
  display: flex;
  justify-content: flex-end;
}
.admin-form-actions button {
  min-width: 8rem;
}
.admin-messages-page .communication-grid {
  grid-template-columns: minmax(16rem, 34fr) minmax(0, 66fr);
  gap: .85rem;
}
.communication-thread-list {
  max-height: 38rem;
  overflow: auto;
}
.admin-messages-page .communication-thread-item button {
  gap: .14rem;
  padding: .6rem .35rem;
}
.communication-thread-subject,
.communication-reply-alert {
  padding-inline-end: 1.8rem;
  color: var(--text-secondary);
  font-size: .72rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.communication-reply-alert {
  color: #9a2445;
  font-weight: 800;
}
.communication-last-sender {
  color: var(--text-primary);
  font-weight: 800;
}
.admin-messages-page .communication-conversation {
  align-self: start;
}
.communication-thread-meta {
  margin: -.3rem 0 .65rem;
  color: var(--text-secondary);
  font-size: .78rem;
}
.admin-messages-page .communication-message-list {
  max-height: 26rem;
  gap: .5rem;
  margin: .65rem 0;
  padding-inline-end: .2rem;
}
.admin-messages-page .communication-message {
  max-width: 78%;
  padding: .58rem .7rem;
  border-radius: .7rem;
  font-size: .86rem;
  line-height: 1.45;
}
.admin-messages-page .communication-message-meta {
  font-size: .67rem;
}
.communication-reply-form {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .55rem;
  max-width: none;
}
.communication-reply-form textarea {
  min-height: 4rem;
}
.communication-reply-form button {
  min-width: 7rem;
}
.admin-empty-state {
  margin: .5rem 0 0;
  padding: 1rem;
  border: 1px dashed var(--border);
  border-radius: .65rem;
  background: var(--surface-muted);
  color: var(--text-secondary);
  text-align: center;
}
.communication-empty-state {
  display: grid;
  min-height: 8rem;
  place-items: center;
}
.communication-empty-state p {
  margin: 0;
}

/* Site Updates: bilingual fields share the available desktop width. */
.admin-updates-page .admin-update-form {
  max-width: none;
}
.admin-update-localized-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .65rem .85rem;
}
.admin-update-localized-grid textarea {
  min-height: 6rem;
}
.admin-update-controls {
  display: grid;
  grid-template-columns: minmax(14rem, .65fr) minmax(19rem, 1.35fr) minmax(13rem, 1fr) auto;
  align-items: end;
  gap: .65rem .85rem;
  margin-top: .75rem;
}
.admin-update-checks {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .8rem;
  min-height: 2.6rem;
}
.admin-update-checks .communication-checkbox {
  min-height: 2.25rem;
  font-size: .78rem;
  font-weight: 700;
}
.admin-update-note {
  margin: 0;
  color: var(--text-secondary);
  font-size: .73rem;
  line-height: 1.4;
}
.admin-update-controls > button {
  min-width: 7.5rem;
}
.admin-update-list .communication-update-row {
  align-items: center;
  gap: .75rem;
  padding: .65rem 0;
}
.communication-update-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .55rem;
}
.communication-update-actions form {
  margin: 0;
}

/* Moderation queues and direct review keep their data, with denser presentation. */
.admin-ui-page.moderation-page .moderation-heading {
  margin-top: 1rem;
}
.admin-ui-page.moderation-page .moderation-tabs {
  margin-top: .8rem;
}
.admin-ui-page.moderation-page .moderation-tabs a,
.admin-ui-page.moderation-page .moderation-workspace-links a,
.admin-ui-page.moderation-page .moderation-pagination a {
  min-height: 2.4rem;
  padding: .42rem .68rem;
  font-size: .78rem;
}
.admin-ui-page .moderation-workspace-body {
  grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr);
  gap: .75rem;
  margin-top: .75rem;
}
.admin-ui-page .moderation-route {
  min-height: 8.5rem;
}
.admin-ui-page .moderation-facts {
  gap: .4rem;
}
.admin-ui-page .moderation-facts > div {
  padding: .4rem .5rem;
}
.admin-ui-page .moderation-decisions {
  margin-top: .7rem;
}
.admin-ui-page .moderation-decisions button,
.admin-ui-page .moderation-delete button {
  min-height: 2.45rem;
  padding: .45rem .7rem;
}
.admin-ui-page .moderation-history p {
  margin: 0;
  padding-block: .45rem;
  font-size: .8rem;
}
.admin-ui-page .moderation-queue-row {
  margin-top: .55rem;
  padding: .75rem;
}

@media (max-width: 64rem) {
  .admin-update-controls {
    grid-template-columns: minmax(13rem, .8fr) minmax(0, 1.2fr);
  }
  .admin-update-note,
  .admin-update-controls > button {
    justify-self: start;
  }
}
@media (max-width: 48rem) {
  .admin-ui-page {
    padding: .8rem 1rem 2.5rem;
  }
  .admin-ui-page > section,
  .admin-ui-page > .admin-dashboard-section,
  .admin-ui-page > .communication-grid {
    margin-top: .75rem;
  }
  .admin-dashboard-page .admin-navigation,
  .admin-messages-page .admin-compose-form,
  .admin-messages-page .communication-grid,
  .admin-update-localized-grid,
  .admin-update-controls,
  .admin-ui-page .moderation-workspace-body {
    grid-template-columns: minmax(0, 1fr);
  }
  .admin-compose-form .admin-field-full,
  .admin-compose-form .admin-form-actions {
    grid-column: auto;
  }
  .admin-form-actions,
  .admin-update-note,
  .admin-update-controls > button {
    width: 100%;
  }
  .admin-form-actions button,
  .admin-update-controls > button {
    width: 100%;
  }
  .communication-thread-list {
    max-height: 24rem;
  }
  .communication-reply-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .communication-reply-form button {
    width: 100%;
  }
  .admin-messages-page .communication-message {
    max-width: 92%;
  }
  .admin-update-checks,
  .communication-update-actions {
    align-items: stretch;
  }
  .communication-update-actions {
    flex-wrap: wrap;
  }
  .admin-ui-page :is(button, .admin-navigation a, .moderation-tabs a, .moderation-workspace-links a) {
    min-height: 2.75rem;
  }
}
@media (max-width: 25.75rem) {
  .admin-ui-page {
    padding-inline: .75rem;
  }
  .admin-ui-page > .card,
  .admin-ui-page .communication-grid > .card,
  .admin-ui-page .moderation-workspace,
  .admin-ui-page .moderation-history {
    padding: .85rem;
  }
  .admin-dashboard-page .moderation-count-grid {
    gap: .45rem;
  }
  .admin-dashboard-page .moderation-count-card {
    min-height: 4.75rem;
    padding: .65rem;
  }
}

/* Canonical My Wings selectors and compact saved-wing cards. */
.wing-management-page { max-width: 72rem; }
.canonical-wing-form { display: grid; gap: 1rem; }
.canonical-wing-form [hidden] { display: none !important; }
.canonical-wing-selectors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.canonical-wing-selectors label { min-width: 0; }
.canonical-wing-selectors :is(select, input) { width: 100%; min-width: 0; }
#canonical-wing-model-search { margin-bottom: .4rem; }
.canonical-wing-details { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0; }
.canonical-wing-details > div { display: inline-flex; align-items: center; min-width: 0; max-width: 100%; gap: .32rem; padding: .34rem .56rem; border: 1px solid var(--border); border-radius: 999px; background: var(--surface-muted); }
.canonical-wing-details dt { color: var(--text-secondary); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.canonical-wing-details dd { margin: 0; color: var(--text-primary); font-size: .76rem; font-weight: 800; overflow-wrap: anywhere; }
.wing-not-listed { margin: 0; color: var(--text-secondary); font-size: .86rem; }
.wing-not-listed a { color: var(--primary); font-weight: 800; }
.wing-missing-suggestion { margin: .15rem 0 0; }
.wing-missing-suggestion a { display: inline-flex; align-items: center; justify-content: center; min-height: 2.35rem; max-width: 100%; padding: .42rem .7rem; border: 1px solid color-mix(in srgb, var(--primary) 35%, var(--border)); border-radius: .55rem; background: color-mix(in srgb, var(--primary) 7%, var(--surface)); color: var(--primary); font-size: .78rem; font-weight: 800; line-height: 1.25; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
.wing-missing-suggestion a:focus-visible { outline: 3px solid color-mix(in srgb, var(--primary) 35%, transparent); outline-offset: 2px; }
.saved-wing-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: .7rem; margin-top: .8rem; }
.saved-wing-card { display: flex; flex-direction: column; min-width: 0; padding: .75rem; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--surface); box-shadow: 0 .25rem .7rem rgba(20,35,52,.05); }
.saved-wing-card h3 { margin: 0; font-size: 1rem; overflow-wrap: anywhere; }
.saved-wing-card > p { margin: .35rem 0 0; color: var(--text-secondary); font-size: .84rem; }
.saved-wing-meta { display: flex; flex-wrap: wrap; align-content: flex-start; gap: .28rem; margin-top: .5rem; }
.saved-wing-meta span { max-width: 100%; padding: .18rem .4rem; border-radius: 999px; background: var(--surface-muted); color: var(--text-secondary); font-size: .68rem; line-height: 1.25; font-weight: 800; overflow-wrap: anywhere; }
.saved-wing-meta b { color: var(--text-primary); }
.saved-wing-card > .wing-missing-suggestion { margin-top: .55rem; }
.saved-wing-card .saved-wing-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; margin-top: auto; padding-top: .65rem; }
.saved-wing-card .saved-wing-actions :is(a, button) { display: inline-flex; justify-content: center; align-items: center; width: 100%; min-width: 0; min-height: 2.5rem; margin: 0; padding: .4rem .5rem; font-size: .74rem; line-height: 1.2; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.saved-wing-card .saved-wing-actions a { border: 1px solid var(--border); border-radius: .5rem; color: var(--text-primary); text-decoration: none; }
.saved-wing-card .saved-wing-actions button:disabled { cursor: default; opacity: .68; }
@media (max-width: 48rem) {
  .saved-wing-grid { grid-template-columns: 1fr; }
}
@media (max-width: 40rem) {
  .canonical-wing-selectors { grid-template-columns: 1fr; }
  .canonical-wing-selectors select { min-height: 2.75rem; }
  .saved-wing-card { padding: .72rem; }
  .saved-wing-card .saved-wing-actions :is(a, button) { min-height: 2.75rem; }
  .wing-missing-suggestion a { min-height: 2.75rem; width: 100%; }
}
@media (max-width: 22.5rem) {
  .saved-wing-card .saved-wing-actions { grid-template-columns: 1fr; }
}
